Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Sat, Jan 10, 10:20 AM

in-portal

This file is larger than 256 KB, so syntax highlighting was skipped.
Index: trunk/admin/email/do_send.php
===================================================================
--- trunk/admin/email/do_send.php (revision 8900)
+++ trunk/admin/email/do_send.php (revision 8901)
@@ -1,270 +1,272 @@
<?php
##############################################################
##In-portal ##
##############################################################
## In-portal ##
## Intechnic Corporation ##
## All Rights Reserved, 1998-2002 ##
## ##
## No portion of this code may be copied, reproduced or ##
## otherwise redistributed without proper written ##
## consent of Intechnic Corporation. Violation will ##
## result in revocation of the license and support ##
## privileges along maximum prosecution allowed by law. ##
##############################################################
// new startup: begin
define('REL_PATH', 'admin/email');
$relation_level = count( explode('/', REL_PATH) );
define('FULL_PATH', realpath(dirname(__FILE__) . str_repeat('/..', $relation_level) ) );
require_once FULL_PATH.'/kernel/startup.php';
// new startup: end
$pathtolocal = $pathtoroot."kernel/";
require_once ($pathtoroot.$admin."/include/elements.php");
//require_once ($pathtoroot."kernel/admin/include/navmenu.php");
require_once ($pathtolocal."admin/include/navmenu.php");
require_once($pathtoroot.$admin."/browse/toolbar.php");
//Set Section
$section = 'in-portal:sendmail';
//Set Environment Variable
$envar = "env=" . BuildEnv();
$State = $_POST["EmailState"];
if(!strlen($State))
{
$State = $_GET["EmailState"];
}
$ado = &GetADODBConnection();
$table = "ses_".$objSession->GetSessionKey()."_sendmail";
$MessagesPerPage =2;
$SendQueue = new clsEmailQueue($table,$MessagesPerPage);
$FromUser = $objUsers->GetItem($objSession->Get("PortalUserId"));
$FromAddr = $FromUser->Get("Email");
$FromName = $FromUser->Get("FirstName")." ".$FromUser->Get("LastName");
if(!strlen(trim($FromAddr)))
{
$FromAddr = $objConfig->Get("Smtp_AdminMailFrom");
}
if(!strlen(trim($FromName)))
{
$FromName = strip_tags( $objConfig->Get('Site_Name') );
}
$TargetURL = $_SERVER["PHP_SELF"]."?".$envar.'&destform=popup';
$CancelURL = $TargetURL."&EmailState=email_user_cancel";
function getEmailFooter($is_html = true)
{
static $footer = Array('html' => null, 'plain' => null);
$footer_body =& $footer[$is_html ? 'html' : 'plain'];
if (is_null($footer_body)) {
$application =& kApplication::Instance();
$esender =& $application->recallObject('EmailSender');
/* @var $esender kEmailSendingHelper */
$sql = 'SELECT em.Template
FROM '.TABLE_PREFIX.'EmailMessage em
LEFT JOIN '.TABLE_PREFIX.'Events e ON e.EventId = em.EventId
WHERE em.LanguageId = '.$application->GetVar('m_lang').' AND e.Event = "COMMON.FOOTER"';
$footer_body = explode("\n\n", $application->Conn->GetOne($sql));
$footer_body = "\r\n".($is_html ? '<br/>'.$footer_body[1] : $esender->ConvertToText($footer_body[1]));
}
return $footer_body;
}
/*Initialize page*/
switch($State)
{
case "email_single_send": /*single user send */
$PageTitle = admin_language("la_Title_SendInit");
$Subject = $_POST["subject"];
$Html = $_POST["messageHTML"];
$Text = strip_tags($_POST["messageTEXT"]);
if(is_array($_FILES))
{
$attatch = $_FILES["attatchment"];
if(strlen($attatch["name"]) >0 && $attatch["size"]>0)
{
$FileName = $attatch["name"];
$FileLoc = $attatch["tmp_name"];
}
else
{
$FileName = NULL;
$FileLoc = NULL;
}
}
else
{
$FileName = NULL;
$FileLoc = NULL;
}
$charset = "";
$TargetURL .= "&EmailState=email_send_complete";
break;
case "email_multi_send": /*Init multiuser send*/
$UserList = explode(",",$_POST["sendaddrs"]);
//echo $_POST["sendaddrs"]."<br>\n";
$Subject = $_POST["subject"];
$Html = $_POST["messageHTML"];
$Text = strip_tags($_POST["messageTEXT"]);
if(is_array($_FILES))
{
$attatch = $_FILES["attatchment"];
if(strlen($attatch["name"]) >0 && $attatch["size"]>0)
{
$FileName = $attatch["name"];
$FileLoc = $attatch["tmp_name"];
}
else
{
$FileName = NULL;
$FileLoc = NULL;
}
}
else
{
$FileName = NULL;
$FileLoc = NULL;
}
$charset = "";
$PageTitle = admin_language("la_Title_SendMailInit");
$TargetURL .="&EmailState=email_send_progress&Start=0&Total=".count($UserList);
break;
case "email_send_progress":
$application =& kApplication::Instance();
$application->RemoveVar('email_queue_progress');
$application->Redirect('emails/send_queue', null, '', 'index.php');
/*$total = $_GET["Total"];
$start = $_GET["Start"];
if ($start < $total) {
$pct = (int)(($start/$total)*100);
$NewStart = $start+$MessagesPerPage;
$TargetURL .= "&EmailState=email_send_progress&Start=$NewStart&Total=$total";
$PageTitle = admin_language("la_Title_SendMailProgress")." - ".$pct."% ".admin_language("la_Text_Complete");
}
else {
$PageTitle = admin_language("la_Title_SendMailProgress");
$TargetURL .= "&EmailState=email_send_complete";
}*/
break;
case "email_send_complete":
$PageTitle = admin_language("la_Title_SendMailComplete");
$TargetURL="";
break;
case "email_user_cancel":
$PageTitle = admin_language("la_Title_SendMailCancel");
$TargetURL = "";
break;
}
int_header(NULL,NULL,admin_language("la_Title_PleaseWait"));
echo "\n";
/*do page functions */
// echo "Current State:". $State."<br>\n";
if ($Html) $Html .= getEmailFooter(true);
if ($Text) $Text .= getEmailFooter(false);
echo "<TABLE border=0 width=\"100%\" height=\"90%\"><TR><TD valign=\"top\" align=\"middle\">";
switch($State)
{
case "email_single_send": /*single user send */
$PageTitle = admin_language($Pagetitle);
$ToAddr = $_POST["sendaddrs"];
$SendQueue->SendMail($FromAddr,$FromName,$ToAddr,"",$Subject,$Text,$Html,$charset, "",$FileName,$FileLoc,0, NULL);
$o = "<TABLE CLASS=\"tableborder_full\" width=\"75%\">";
$o .= int_subsection_title_ret($PageTitle);
$o .= "<TD COLSPAN=2>".admin_language("la_prompt_EmailInitMessage")."</TD></TR>";
$o .= "<TD ALIGN=\"middle\" COLSPAN=2></TD></TR>";
$o .= "</TABLE><input type=button CLASS=\"button\" VALUE=\"".admin_language("la_Cancel")."\" ONCLICK=\"document.location='".$CancelURL."';\">";
echo $o."\n";
break;
case "email_multi_send": /*Init multiuser send*/
/*Create storage Table for Queue */
$o = "<TABLE CLASS=\"tableborder_full\" width=\"75%\">";
$o .= int_subsection_title_ret($PageTitle);
$o .= "<tr><TD COLSPAN=2>".admin_language("la_prompt_EmailInitMessage")."</TD></TR>";
$o .= "<TD ALIGN=\"middle\" COLSPAN=2></TD></TR>";
$o .= "</TABLE><input type=button CLASS=\"button\" VALUE=\"".admin_language("la_Cancel")."\" ONCLICK=\"document.location='".$CancelURL."';\">";
echo $o."\n";
+ set_time_limit(0);
+
for($i = 0; $i < count($UserList); $i++)
{
$ToAddr = $UserList[$i];
//$From,$FromName,$To,$ToName,$Subject,$Text,$Html,$charset,$AttmFiles,$QueueOnly=0
$SendQueue->SendMail($FromAddr,$FromName,$ToAddr,"",$Subject,$Text,$Html,$charset, "",$FileName,$FileLoc,1, NULL);
}
break;
case "email_send_progress":
$sql = "SELECT * FROM $table LIMIT $start,".$MessagesPerPage;
// echo $sql."<br>\n";
$rs = $ado->Execute($sql);
while($rs && !$rs->EOF)
{
$data = $rs->fields;
$SendQueue->DeliverMail($data["toaddr"],$data["fromaddr"],$data["Subject"],$data["message"],$data["headers"],1);
$rs->MoveNext();
}
$o = "<TABLE CLASS=\"tableborder_full\" width=\"75%\">";
$o .= int_subsection_title_ret($PageTitle);
$o .="<TR border=1><TD width=\"".$pct."%\" STYLE=\"background:url('".$adminURL."/images/progress_bar_segment.gif');\">&nbsp;</TD>";
$comp_pct = 100-$pct;
$o .= "<TD bgcolor=#FFFFFF width=\"".$comp_pct."%\"></TD></TR>";
$o .= "</TABLE>";
$o .= "<input type=button VALUE=\"".admin_language("la_Cancel")."\" CLASS=\"button\" ONCLICK=\"document.location='".$CancelURL."';\">";
echo $o."\n";
break;
case "email_send_complete":
$sql = "DROP TABLE IF EXISTS $table";
$ado->Execute($sql);
$o = "<TABLE CLASS=\"tableborder_full\" width=\"75%\">";
$o .= int_subsection_title_ret($PageTitle);
$o .= "<TR><TD COLSPAN=2>".admin_language("la_prompt_EmailCompleteMessage")."</TD></TR>";
$o .= "<TD ALIGN=\"middle\" COLSPAN=2></TD></TR>";
$o .= "</TABLE><input type=button VALUE=\"".admin_language("la_Close")."\" CLASS=\"button\" ONCLICK=\"window.close();\">";
echo $o."\n";
break;
case "email_user_cancel":
$o = "<TABLE CLASS=\"tableborder_full\" width=\"75%\">";
$o .= int_subsection_title_ret($PageTitle);
$o .= "<TR><TD COLSPAN=2>".admin_language("la_prompt_EmailCancelMessage")."</TD></TR>";
$o .= "</TABLE><input type=button VALUE=\"".admin_language("la_Close")."\" CLASS=\"button\" ONCLICK=\"window.close();\">";
echo $o."\n";
break;
}
echo "</TD></TR></TABLE>";
if(strlen($TargetURL))
{
?>
<SCRIPT LANGUAGE="JavaScript">
document.location = '<?php echo $TargetURL; ?>';
</SCRIPT>
<?php
}
?>
<?php int_footer(); ?>
Property changes on: trunk/admin/email/do_send.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.17
\ No newline at end of property
+1.18
\ No newline at end of property
Index: trunk/core/kernel/processors/tag_processor.php
===================================================================
--- trunk/core/kernel/processors/tag_processor.php (revision 8900)
+++ trunk/core/kernel/processors/tag_processor.php (revision 8901)
@@ -1,253 +1,228 @@
<?php
class TagProcessor extends kBase {
/**
* Processes tag
*
* @param Tag $tag
* @return string
* @access public
*/
function ProcessTag(&$tag)
{
return $this->ProcessParsedTag($tag->Tag, $tag->NP, $tag->getPrefixSpecial());
/*$Method=$tag->Tag;
if(method_exists($this, $Method))
{
//echo htmlspecialchars($tag->GetFullTag()).'<br>';
return $this->$Method($tag->NP);
}
else
{
if ($this->Application->hasObject('TagsAggregator')) {
$aggregator =& $this->Application->recallObject('TagsAggregator');
$tag_mapping = $aggregator->GetArrayValue($tag->Prefix, $Method);
if ($tag_mapping) {
$mapped_tag =& new Tag('', $this->Application->Parser);
$mapped_tag->CopyFrom($tag);
$mapped_tag->Processor = $tag_mapping[0];
$mapped_tag->Tag = $tag_mapping[1];
$mapped_tag->NP['PrefixSpecial'] = $tag->getPrefixSpecial();
$mapped_tag->RebuildTagData();
return $mapped_tag->DoProcessTag();
}
}
trigger_error('Tag '.$Method.' Undefined in '.get_class($this).'[Agregated Tag]:<br><b>'.$tag->RebuildTagData().'</b>',E_USER_WARNING);
return false;
}*/
}
function CheckTag($tag, $prefix)
{
$Method = $tag;
if(method_exists($this, $Method))
{
return true;
}
else {
if ($this->Application->hasObject('TagsAggregator')) {
$aggregator =& $this->Application->recallObject('TagsAggregator');
$tmp = $this->Application->processPrefix($prefix);
$tag_mapping = $aggregator->GetArrayValue($tmp['prefix'], $Method);
if ($tag_mapping) {
return true;
}
}
}
}
function ProcessParsedTag($tag, $params, $prefix, $file='unknown', $line=0)
{
$Method = $tag;
if(method_exists($this, $Method))
{
if ($this->Application->isDebugMode() && constOn('DBG_SHOW_TAGS')) {
$this->Application->Debugger->appendHTML('Processing PreParsed Tag '.$Method.' in '.$this->Prefix);
}
$backup_prefix = $this->Prefix;
$backup_special = $this->Special;
- // process all possible flags: begin
- $flags = Array('js_escape', 'result_to_var', 'pass_params', 'html_escape', 'strip_nl');
- $flag_values = Array();
-
- foreach ($flags as $flag_name) {
- $flag_values[$flag_name] = false;
- if (isset($params[$flag_name])) {
- $flag_values[$flag_name] = $params[$flag_name];
- unset($params[$flag_name]);
- }
- }
- // process all possible flags: end
+ $flag_values = $this->PreparePostProcess($params);
// pass_params for non ParseBlock tags :)
if ($flag_values['pass_params']) {
$params = array_merge_recursive2($this->Application->Parser->Params, $params);
}
$ret = $this->$Method($params);
$this->Prefix = $backup_prefix;
$this->Special = $backup_special;
- if ($flag_values['js_escape']) {
- $ret = addslashes($ret);
- $ret = str_replace(Array("\r", "\n"), Array('\r', '\n'), $ret);
- $ret = str_replace('</script>', "</'+'script>", $ret);
- }
- if ($flag_values['html_escape']) {
- $ret = htmlspecialchars($ret);
- }
- if ($flag_values['strip_nl']) {
- // 1 - strip \r,\n; 2 - strip tabs too
- $ret = preg_replace($flag_values['strip_nl'] == 2 ? "/[\r\n\t]/" : "/[\r\n]/", '', $ret);
- }
- if ($flag_values['result_to_var']) {
- $this->Application->Parser->SetParam($flag_values['result_to_var'], $ret);
- $ret = '';
- }
+ $ret = $this->PostProcess($ret, $flag_values);
+
return $ret;
}
else
{
if ($this->Application->hasObject('TagsAggregator')) {
$aggregator =& $this->Application->recallObject('TagsAggregator');
$tmp = $this->Application->processPrefix($prefix);
$tag_mapping = $aggregator->GetArrayValue($tmp['prefix'], $Method);
if ($tag_mapping) {
$tmp = $this->Application->processPrefix($tag_mapping[0]);
$__tag_processor = $tmp['prefix'].'_TagProcessor';
$processor =& $this->Application->recallObject($__tag_processor);
$processor->Prefix = $tmp['prefix'];
$processor->Special = getArrayValue($tag_mapping, 2) ? $tag_mapping[2] : $tmp['special'];
$params['original_tag'] = $Method; // allows to define same method for different aggregated tags in same tag processor
$params['PrefixSpecial'] = $this->getPrefixSpecial(); // $prefix;
$ret = $processor->ProcessParsedTag($tag_mapping[1], $params, $prefix);
if (isset($params['result_to_var'])) {
$this->Application->Parser->SetParam($params['result_to_var'], $ret);
$ret = '';
}
return $ret;
}
if ($this->Application->isDebugMode()) {
$this->Application->Debugger->appendTrace();
}
$this->Application->handleError(E_USER_ERROR, 'Tag <b>'.$Method.'</b> Undefined in '.get_class($this).'[Agregated Tag]:<br><b>'.$tag.'</b>', $file, $line);
}
$this->Application->handleError(E_USER_ERROR, 'Tag Undefined:<br><b>'.$prefix.':'.$tag.'</b>', $file, $line);
return false;
}
}
function PreparePostProcess(&$params)
{
$flags = Array('js_escape', 'result_to_var', 'pass_params', 'html_escape', 'strip_nl');
$flag_values = Array();
foreach ($flags as $flag_name) {
$flag_values[$flag_name] = false;
if (isset($params[$flag_name])) {
$flag_values[$flag_name] = $params[$flag_name];
unset($params[$flag_name]);
}
}
return $flag_values;
}
function PostProcess($ret, $flag_values)
{
if ($flag_values['js_escape']) {
$ret = addslashes($ret);
$ret = str_replace(Array("\r", "\n"), Array('\r', '\n'), $ret);
$ret = str_replace('</script>', "</'+'script>", $ret);
}
if ($flag_values['html_escape']) {
$ret = htmlspecialchars($ret);
}
if ($flag_values['strip_nl']) {
// 1 - strip \r,\n; 2 - strip tabs too
$ret = preg_replace($flag_values['strip_nl'] == 2 ? "/[\r\n\t]/" : "/[\r\n]/", '', $ret);
}
if ($flag_values['result_to_var']) {
$this->Application->Parser->SetParam($flag_values['result_to_var'], $ret);
$ret = '';
}
return $ret;
}
/**
* Not tag, method for parameter
* selection from list in this TagProcessor
*
* @param Array $params
* @param string $possible_names
* @return string
* @access public
*/
function SelectParam($params, $possible_names)
{
if (!is_array($params)) return;
if (!is_array($possible_names))
$possible_names = explode(',', $possible_names);
foreach ($possible_names as $name)
{
if( isset($params[$name]) ) return $params[$name];
}
return false;
}
}
/*class ProcessorsPool {
var $Processors = Array();
var $Application;
var $Prefixes = Array();
var $S;
function ProcessorsPool()
{
$this->Application =& KernelApplication::Instance();
$this->S =& $this->Application->Session;
}
function RegisterPrefix($prefix, $path, $class)
{
// echo " RegisterPrefix $prefix, $path, $class <br>";
$prefix_item = Array(
'path' => $path,
'class' => $class
);
$this->Prefixes[$prefix] = $prefix_item;
}
function CreateProcessor($prefix, &$tag)
{
// echo " prefix : $prefix <br>";
if (!isset($this->Prefixes[$prefix]))
$this->Application->ApplicationDie ("<b>Filepath and ClassName for prefix $prefix not defined while processing ".htmlspecialchars($tag->GetFullTag())."!</b>");
include_once($this->Prefixes[$prefix]['path']);
$ClassName = $this->Prefixes[$prefix]['class'];
$a_processor =& new $ClassName($prefix);
$this->SetProcessor($prefix, $a_processor);
}
function SetProcessor($prefix, &$a_processor)
{
$this->Processors[$prefix] =& $a_processor;
}
function &GetProcessor($prefix, &$tag)
{
if (!isset($this->Processors[$prefix]))
$this->CreateProcessor($prefix, $tag);
return $this->Processors[$prefix];
}
}*/
?>
\ No newline at end of file
Property changes on: trunk/core/kernel/processors/tag_processor.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.21
\ No newline at end of property
+1.22
\ No newline at end of property
Index: trunk/core/kernel/utility/http_query.php
===================================================================
--- trunk/core/kernel/utility/http_query.php (revision 8900)
+++ trunk/core/kernel/utility/http_query.php (revision 8901)
@@ -1,553 +1,558 @@
<?php
class kHTTPQuery extends Params {
/**
* $_POST vars
*
* @var Array
* @access private
*/
var $Post;
/**
* $_GET vars
*
* @var Array
* @access private
*/
var $Get;
/**
* $_COOKIE vars
*
* @var Array
* @access private
*/
var $Cookie;
/**
* $_SERVER vars
*
* @var Array
* @access private
*/
var $Server;
/**
* $_ENV vars
*
* @var Array
* @access private
*/
var $Env;
/**
* Order in what write
* all vars together in
* the same array
*
* @var string
*/
var $Order;
/**
* Uploaded files info
*
* @var Array
* @access private
*/
var $Files;
var $specialsToRemove = Array();
var $Admin = false;
/**
* Description
*
* @var kDBConnection
* @access public
*/
var $Conn;
/**
* Loads info from $_POST, $_GET and
* related arrays into common place
*
* @param string $order
* @return HTTPQuery
* @access public
*/
function kHTTPQuery($order = 'CGPF')
{
parent::Params();
$this->Conn =& $this->Application->GetADODBConnection();
$this->Order = $order;
$this->Admin = $this->Application->IsAdmin(); // better cache this value, not to calculate it each time in foreach
}
function Init($prefix, $special)
{
$this->AddAllVars();
$this->specialsToRemove = $this->Get('remove_specials');
if($this->specialsToRemove)
{
$this->_Params = $this->removeSpecials($this->_Params);
}
ini_set('magic_quotes_gpc', 0);
}
function removeSpecials($array)
{
$ret = Array();
$removed = false;
foreach($this->specialsToRemove as $prefix_special => $flag)
{
if($flag)
{
$removed = true;
list($prefix,$special) = explode('.',$prefix_special, 2);
foreach ($array as $key => $val) {
$new_key = preg_match("/^".$prefix."[._]{1}".$special."(.*)/", $key, $regs) ? $prefix.$regs[1] : $key;
$ret[$new_key] = is_array($val) ? $this->removeSpecials($val) : $val;
}
}
}
return $removed ? $ret : $array;
}
/**
* All all requested vars to
* common storage place
*
* @access private
*/
function AddAllVars()
{
for ($i=0; $i < strlen($this->Order); $i++)
{
$current = $this->Order[$i];
switch ($current) {
case 'G':
$this->Get = $this->AddVars($_GET);
$vars = $this->processQueryString( $this->Get(ENV_VAR_NAME) );
$this->AddParams($vars);
break;
case 'P':
$this->Post = $this->AddVars($_POST);
$this->convertPostEvents();
break;
case 'C':
$this->Cookie = $this->AddVars($_COOKIE);
break;
case 'E';
$this->Env = $this->AddVars($_ENV);
break;
case 'S';
$this->Server = $this->AddVars($_SERVER);
break;
case 'F';
$this->convertFiles();
$this->Files = $this->MergeVars($_FILES, false); //do not strip slashes!
break;
}
}
// $this->AfterInit();
}
function AfterInit()
{
// $vars = $this->processQueryString($this->Get(ENV_VAR_NAME));
// $this->AddParams($vars);
// $this->convertPostEvents();
// if ($this->Application->RewriteURLs()) {
if ($this->Application->RewriteURLs() || $this->Get('_mod_rw_url_')) {
if( $this->Application->isDebugMode() )
{
$this->Application->Debugger->profileStart('url_parsing');
$this->processRewriteURL();
$description = 'Parsing <b>MOD_REWRITE</b> url (template: <b>'.$this->Get('t').'</b>)';
$this->Application->Debugger->profileFinish('url_parsing', $description);
}
else
{
$this->processRewriteURL();
}
}
else {
$this->Application->VerifyLanguageId();
$this->Application->VerifyThemeId();
}
}
function convertFiles()
{
if (!$_FILES)
{
return false;
}
$file_keys = Array('error','name','size','tmp_name','type');
$tmp = Array();
foreach($_FILES as $file_name => $file_info)
{
if( is_array($file_info['error']) )
{
$tmp[$file_name] = $this->getArrayLevel( $file_info['error'], $file_name );
}
else
{
$normal_files[$file_name] = $file_info;
}
}
if(!$tmp) return false;
$files = $_FILES;
$_FILES = Array();
foreach($tmp as $prefix => $prefix_files)
{
$anchor =& $_FILES;
foreach($prefix_files['keys'] as $key)
{
$anchor =& $anchor[$key];
}
foreach($prefix_files['value'] as $field_name)
{
unset($inner_anchor);
unset($copy);
$work_copy = $prefix_files['keys'];
foreach($file_keys as $file_key)
{
$inner_anchor =& $files[$prefix][$file_key];
if (isset($copy))
{
$work_copy = $copy;
}
else
{
$copy = $work_copy;
}
array_shift($work_copy);
foreach($work_copy as $prefix_file_key)
{
$inner_anchor =& $inner_anchor[$prefix_file_key];
}
$anchor[$field_name][$file_key] = $inner_anchor[$field_name];
}
}
}
// keys: img_temp, 0, values: LocalPath, ThumbPath
}
function getArrayLevel(&$level, $prefix='')
{
$ret['keys'] = $prefix ? Array($prefix) : Array();
$ret['value'] = Array();
foreach($level as $level_key => $level_value)
{
if( is_array($level_value) )
{
$ret['keys'][] = $level_key;
$tmp = $this->getArrayLevel($level_value);
$ret['keys'] = array_merge($ret['keys'], $tmp['keys']);
$ret['value'] = array_merge($ret['value'], $tmp['value']);
}
else
{
$ret['value'][] = $level_key;
}
}
return $ret;
}
/**
* Owerwrites GET events with POST events in case if they are set and not empty
*
*/
function convertPostEvents()
{
$events = $this->Get('events');
if (is_array($events)) {
foreach ($events as $prefix_special => $event_name) {
if ($event_name) {
$this->Set($prefix_special.'_event', $event_name);
}
}
}
}
function finalizeParsing($passed = Array(), $module_params = Array() )
{
if ($passed) {
$event_manger =& $this->Application->recallObject('EventManager');
foreach ($passed as $passed_prefix) {
$event_manger->setQueryMap($passed_prefix);
}
$this->Set('passed', implode(',', array_keys($event_manger->queryMaps)));
}
// get joined version (env var + mod rewrite parsed)
$passed = $this->Application->GetVar('passed');
$env = $this->Application->BuildEnv( $this->Get('t'), $module_params, $passed, false, false );
$this->Set(ENV_VAR_NAME, $env);
$_REQUEST['env'] = $_GET['env'] = $env; // for capability with old in-portal code
}
function processRewriteURL()
{
$mod_rw_helper = $this->Application->recallObject('ModRewriteHelper');
$mod_rw_helper->processRewriteURL();
}
function getDefaultTemplate($t)
{
$t = $this->getTemplateName( trim($t, '/') );
if (!$t) $t = 'index';
return trim($t, '/');
}
function extractSIDAndTemplate(&$parts)
{
$vars = Array ();
if (defined('INPORTAL_ENV') && INPORTAL_ENV) { // SID-TEMPLATE
$sub_parts = array_shift($parts);
list($sid, $t) = explode('-', $sub_parts, 2);
// Save Session ID
if ($sid) {
$this->Set('sid', $sid);
$vars['sid'] = $sid;
}
}
else { // SID:TEMPLATE
// Save Session ID
$sid = array_shift($parts);
if ($sid) $vars['sid'] = $sid;
$t = array_shift($parts);
}
// Save Template Name
$vars['t'] = $this->getDefaultTemplate($t);
return $vars;
}
/**
* Process QueryString only, create
* events, ids, based on config
* set template name and sid in
* desired application variables.
*
* @param string $env_var enviroment string value
*
* @access public
*/
function processQueryString($env_var, $pass_name = 'passed')
{
// env=SID:TEMPLATE:m-1-1-1-1:l0-0-0:n-0-0-0:bb-0-0-1-1-1-0
$vars = Array ();
if ($env_var) {
$more_vars = strpos($env_var, '&');
if ($more_vars !== false) {
parse_str(substr($env_var, $more_vars + 1), $vars);
$env_var = substr($env_var, 0, $more_vars);
}
-
+
// replace escaped ":" symbol not to explode by it
$env_var = str_replace('\:','_&+$$+&_', $env_var); // replace escaped "=" with spec-chars :)
$parts = explode(':', $env_var);
if (!$this->Application->RewriteURLs() || ($this->Application->RewriteURLs() && $this->Get('rewrite') != 'on')) {
$vars = array_merge_recursive2($vars, $this->extractSIDAndTemplate($parts));
}
if ($parts) {
foreach ($parts as $mixed_part) {
$vars = array_merge_recursive2($vars, $this->parseEnvPart($mixed_part, $pass_name));
}
}
}
else {
$t = $this->getTemplateName('index');
$vars['t'] = $t;
}
return $vars;
}
function parseEnvPart($mixed_part, $pass_name = 'passed')
{
// In-portal old style env conversion - adds '-' between prefix and first var
$mixed_part = str_replace('_&+$$+&_', ':', $mixed_part);
$mixed_part = preg_replace("/^([a-zA-Z]+)([0-9]+)-(.*)/", "$1-$2-$3", $mixed_part);
// replace escaped "-" symbol not to explode by it
$escaped_part = str_replace('\-', '_&+$$+&_', $mixed_part);
$escaped_part = explode('-', $escaped_part);
$mixed_part = Array();
foreach ($escaped_part as $escaped_val) {
$mixed_part[] = str_replace('_&+$$+&_', '-', $escaped_val);
}
$prefix_special = array_shift($mixed_part); // l.pick, l
$query_map = $this->Application->EventManager->setQueryMap($prefix_special);
$vars = Array ();
$vars[$pass_name] = implode(',', array_keys($this->Application->EventManager->queryMaps));
// if config is not defined for prefix in QueryString, then don't process it
if ($query_map) {
foreach ($query_map as $index => $var_name) {
// l_id, l_page, l_bla-bla-bla
$val = $mixed_part[$index - 1];
if ($val == '') $val = false;
$vars[$prefix_special.'_'.$var_name] = $val;
}
}
return $vars;
}
/**
* Removes tpl part from template name + resolved template ID to name
*
* @param string $t
* @return string
* @access private
*/
function getTemplateName($t)
{
if (isset($this->Get['t']) && $this->Get['t']) {
// template name is passed directly in url (GET method)
$t = $this->Get['t'];
}
+ // if t was set through env, even in mod_rewrite mode!
+ if ($this->Get('env') && $this->Application->RewriteURLs() && $this->Get('t')) {
+ $t = $this->Get('t');
+ }
+
if (is_numeric($t)) {
$sql = 'SELECT CONCAT(FilePath, \'/\', FileName)
FROM '.TABLE_PREFIX.'ThemeFiles
WHERE FileId = '.$t;
$t = $this->Conn->GetOne($sql);
}
return preg_replace('/\.tpl$/', '', $t);
}
/**
* Saves variables from array specified
* into common variable storage place
*
* @param Array $array
* @return Array
* @access private
*/
function AddVars($array)
{
$array = $this->StripSlashes($array);
foreach($array as $key => $value)
{
$this->Set($key,$value);
}
return $array;
}
function MergeVars($array, $strip_slashes=true)
{
if ($strip_slashes) $array = $this->StripSlashes($array);
foreach($array as $key => $value)
{
$this->_Params = array_merge_recursive2($this->_Params, Array($key=>$value));
}
return $array;
}
function StripSlashes($array)
{
//if( !get_magic_quotes_gpc() ) return $array;
foreach($array as $key=>$value)
{
if( is_array($value) )
{
$array[$key] = $this->StripSlashes($value);
}
else
{
// $value = iconv('UTF-8', 'windows-1257', $value);
if( get_magic_quotes_gpc() ) $value = stripslashes($value);
if(!$this->Admin) $value = htmlspecialchars($value);
$array[$key] = $value;
}
//$array[$key]=is_array($value)?$this->StripSlashes($value):stripslashes($value);
}
return $array;
}
/**
* Returns all $_GET array excluding system parameters, that are not allowed to be passed through generated urls
*
* @return Array
*/
function getRedirectParams()
{
$unset_vars = Array(ENV_VAR_NAME, 'rewrite', '_mod_rw_url_', 'Action');
$ret = $this->Get;
foreach ($unset_vars as $var_name)
{
if( isset($ret[$var_name]) ) unset( $ret[$var_name] );
}
return $ret;
}
function writeRequestLog($filename)
{
$folder_path = dirname(FULL_PATH.'/'.$filename);
if (is_writable($folder_path)) {
$fp = fopen(FULL_PATH.'/'.$filename, 'a');
if ($fp) {
$session =& $this->Application->recallObject('Session');
$user_id = $session->GetField('PortalUserId');
$admin_mark = $this->Application->IsAdmin() ? 'ADMIN' : 'FRONT';
$data = '['.date('D M d H:i:s Y').'] '.$admin_mark.'; ip: '.$_SERVER['REMOTE_ADDR'].'; user_id: '.$user_id.'; sid: '.$this->Application->GetSID().'; request: '."\n";
if ($this->Get) {
$data .= "_GET:\n".print_r($this->Get, true);
}
if ($this->Post) {
$data .= "_POST:\n".print_r($this->Post, true);
}
if ($this->Cookie) {
$data .= "_COOKIE:\n".print_r($this->Cookie, true);
}
$data .= str_repeat('=', 100)."\n";
fwrite($fp, $data);
fclose($fp);
}
else {
trigger_error('Requrest Log directory not writable', E_USER_WARNING);
}
}
else {
trigger_error('Requrest Log directory not writable', E_USER_WARNING);
}
}
}
?>
\ No newline at end of file
Property changes on: trunk/core/kernel/utility/http_query.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.58
\ No newline at end of property
+1.59
\ No newline at end of property
Index: trunk/core/kernel/db/db_tag_processor.php
===================================================================
--- trunk/core/kernel/db/db_tag_processor.php (revision 8900)
+++ trunk/core/kernel/db/db_tag_processor.php (revision 8901)
@@ -1,1936 +1,1934 @@
<?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);
}
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']);
$std_params['pass_params']='true';
$std_params['PrefixSpecial']=$this->getPrefixSpecial();
$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;
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';
$field_options = $this->Application->getUnitOption($this->Prefix.'.'.$field, 'Fields');
if (isset($field_options['use_phrases'])) {
$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 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;
}
/**
* 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);
if ($requery) {
$this->Application->HandleEvent($an_event, $prefix_special.':OnListBuild', $params);
}
$list->Query($requery);
$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") {
$list->Records = $this->LinearToVertical($list->Records, $columns, $list->GetPerPage());
$list->SelectedCount=count($list->Records);
ksort($list->Records); // this is issued twice, maybe need to be removed
}
$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'] = 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) {
$this->Application->setCache('filenames', $this->Prefix.'_'.$list->GetDBField($id_field), $list->GetDBField('Filename'));
$this->Application->setCache('filenames', 'c_'.$list->GetDBField('CategoryId'), $list->GetDBField('CategoryFilename'));
}
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 (($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->Records[$this->CurrentIndex];
//
// $object->Records[$this->CurrentIndex] =& $fields_hash;
}
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;
}
else
{
if(preg_match("/_regional_(.*)/", $format, $regs))
{
$lang =& $this->Application->recallObject('lang.current');
$format = $lang->GetDBField($regs[1]);
}
}
$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 = strlen($value) > $first_chars;
$value = 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)
{
$field = $params['field'];
$object =& $this->getObject($params);
$value = $object->GetDBField($field);
$options = $object->GetFieldOptions($field);
if( $this->HasParam($params,'has_empty') )
{
$empty_value = getArrayValue($params, 'empty_value');
if($empty_value === false) $empty_value = '';
$options['options'] = array_merge_recursive2( Array($empty_value => ''), $options['options'] );
}
$block_params = $this->prepareTagParams($params);
$block_params['name'] = $this->SelectParam($params, 'render_as,block');
$block_params['field'] = $params['field'];
$block_params['pass_params'] = 'true';
$block_params['field_name'] = $this->InputName($params);
$block_params['PrefixSpecial'] = $this->getPrefixSpecial();
$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['options'],'') ) array_shift($options['options']);
if( strpos($value, '|') !== false )
{
// multiple selection checkboxes
$value = explode('|', substr($value, 1, -1) );
foreach ($options['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
foreach ($options['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 */
$field = $params['field'];
$saved_value = $object->Queried ? $object->GetDBField($field) : null;
$object->SetDBField($field, $this->SearchField($params));
$view_name = $this->Application->RecallVar($this->getPrefixSpecial().'_current_view');
$custom_filter = $this->Application->RecallPersistentVar($this->getPrefixSpecial().'_custom_filter.'.$view_name);
$ret = $this->PredefinedOptions($params);
$object->SetDBField($field, $saved_value);
return $ret;
}
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);
}
$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($list->GetOrderField($user_sorting_start+1) == $field)
{
return '2_'.strtolower($list->GetOrderDirection($user_sorting_start+1));
}
else
{
return 'no';
}
}
/**
* 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;
}
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) return str_replace('#preset_name#', $preset_name, $params['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);
}
}
}
// 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);
$cut_first = getArrayValue($params,'cut_first');
if( $cut_first && strlen($title) > $cut_first && !preg_match('/<a href="(.*)">(.*)<\/a>/',$title) ) $title = 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 min($object->Offset + $object->PerPage, $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');
$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);
reset($imatrix);
return $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);
$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.'_'.$params['type'].'_error';
$error_msg = $this->Application->RecallVar($error_var_name);
if($error_msg)
{
$this->Application->StoreVar($error_var_name, '');
}
$object =& $this->Application->recallObject($this->Prefix.'.'.$this->Special.'-item', null, Array('skip_autoload' => true));
return $object->ErrorMsgs[$error_msg];
}
/**
* 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 = 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');
}
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('in-portal/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 FCKEditor($params) {
$params['no_special'] = 1;
$value = $this->Field($params);
$name = $this->InputName($params);
$theme_path = $this->Application->BaseURL().substr($this->Application->GetFrontThemePath(), 1);
$bgcolor = $this->Application->GetVar('bgcolor');
if (!$bgcolor) $bgcolor = '#ffffff';
include_once(FULL_PATH.'/core/cmseditor/fckeditor.php');
$oFCKeditor = new FCKeditor($name);
$oFCKeditor->BasePath = BASE_PATH.'/core/cmseditor/';
$oFCKeditor->Width = $params['width'] ;
$oFCKeditor->Height = $params['height'] ;
$oFCKeditor->ToolbarSet = 'Advanced' ;
$oFCKeditor->Value = $value ;
$oFCKeditor->Config = Array(
//'UserFilesPath' => $pathtoroot.'kernel/user_files',
'ProjectPath' => BASE_PATH.'/',
'CustomConfigurationsPath' => $this->Application->BaseURL().'core/admin_templates/js/inp_fckconfig.js',
'StylesXmlPath' => $theme_path.'/inc/styles.xml',
'EditorAreaCSS' => $theme_path.'/inc/style.css',
'DefaultClass' => 'Default Text',
// 'Debug' => 1,
'Admin' => 1,
'K4' => 1,
'newBgColor' => $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);
$params['pass'] = 'm';
$params[$object->getPrefixSpecial().'_id'] = $object->GetID();
$m =& $this->Application->recallObject('m_TagProcessor');
return $m->t($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 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'];
}
}
?>
\ No newline at end of file
Property changes on: trunk/core/kernel/db/db_tag_processor.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.96
\ No newline at end of property
+1.97
\ No newline at end of property
Index: trunk/core/kernel/db/db_connection.php
===================================================================
--- trunk/core/kernel/db/db_connection.php (revision 8900)
+++ trunk/core/kernel/db/db_connection.php (revision 8901)
@@ -1,596 +1,596 @@
<?php
/**
* Multi database connection class
*
*/
class kDBConnection {
/**
* Current database type
*
* @var string
* @access private
*/
var $dbType = 'mysql';
/**
* Created connection handle
*
* @var resource
* @access private
*/
var $connectionID = null;
/**
* Handle of currenty processed recordset
*
* @var resource
* @access private
*/
var $queryID = null;
/**
* DB type specific function mappings
*
* @var Array
* @access private
*/
var $metaFunctions = Array();
/**
* Function to handle sql errors
*
* @var string
* @access private
*/
var $errorHandler = '';
/**
* Error code
*
* @var int
* @access private
*/
var $errorCode = 0;
/**
* Error message
*
* @var string
* @access private
*/
var $errorMessage = '';
/**
* Defines if database connection
* operations should generate debug
* information
*
* @var bool
*/
var $debugMode = false;
/**
* Last query to database
*
* @var string
*/
var $lastQuery = '';
/**
* Initializes connection class with
* db type to used in future
*
* @param string $dbType
* @return DBConnection
* @access public
*/
function kDBConnection($dbType, $errorHandler = '')
{
$this->dbType = $dbType;
// $this->initMetaFunctions();
if (!$errorHandler) {
$this->errorHandler = Array(&$this, 'handleError');
}
else {
$this->errorHandler = $errorHandler;
}
}
/**
* Set's custom error
*
* @param int $code
* @param string $msg
* @access public
*/
function setError($code, $msg)
{
$this->errorCode = $code;
$this->errorMessage = $msg;
}
/**
* Checks if previous query execution
* raised an error.
*
* @return bool
* @access public
*/
function hasError()
{
return !($this->errorCode == 0);
}
/**
* Caches function specific to requested
* db type
*
* @access private
*/
function initMetaFunctions()
{
$ret = Array();
switch ($this->dbType)
{
case 'mysql':
$ret = Array(); // only define functions, that name differs from "dbType_<meta_name>"
break;
}
$this->metaFunctions = $ret;
}
/**
* Get's function for specific db type
* based on it's meta name
*
* @param string $name
* @return string
* @access private
*/
function getMetaFunction($name)
{
/*if (!isset($this->metaFunctions[$name])) {
$this->metaFunctions[$name] = $name;
}*/
return $this->dbType.'_'.$name;
}
/**
* Try to connect to database server
* using specified parameters and set
* database to $db if connection made
*
* @param string $host
* @param string $user
* @param string $pass
* @param string $db
* @access public
*/
function Connect($host, $user, $pass, $db, $force_new = false)
{
$func = $this->getMetaFunction('connect');
$this->connectionID = $func($host, $user, $pass, $force_new) or trigger_error("Database connection failed, please check your connection settings", E_USER_ERROR);
if ($this->connectionID) {
if (defined('DBG_SQL_MODE')) {
$this->Query('SET sql_mode = \''.DBG_SQL_MODE.'\'');
}
if (defined('SQL_COLLATION') && defined('SQL_CHARSET')) {
$this->Query('SET NAMES \''.SQL_CHARSET.'\' COLLATE \''.SQL_COLLATION.'\'');
}
$this->setDB($db);
$this->showError();
}
}
function ReConnect($host, $user, $pass, $db, $force_new = false)
{
$func = $this->getMetaFunction('close');
$func($this->connectionID);
$this->Connect($host, $user, $pass, $db, $force_new);
}
/**
* Shows error message from previous operation
* if it failed
*
* @access private
*/
function showError($sql = '')
{
$this->setError(0, ''); // reset error
if ($this->connectionID) {
$func = $this->getMetaFunction('errno'); $this->errorCode = $func($this->connectionID);
if ($this->hasError()) {
$func = $this->getMetaFunction('error'); $this->errorMessage = $func($this->connectionID);
if (is_array($this->errorHandler)) {
$func = $this->errorHandler[1];
$ret = $this->errorHandler[0]->$func($this->errorCode, $this->errorMessage, $sql);
}
else {
$func = $this->errorHandler;
$ret = $func($this->errorCode,$this->errorMessage,$sql);
}
if (!$ret) exit;
}
}
}
/**
* Default error handler for sql errors
*
* @param int $code
* @param string $msg
* @param string $sql
* @return bool
* @access private
*/
function handleError($code, $msg, $sql)
{
echo '<b>Processing SQL</b>: '.$sql.'<br>';
echo '<b>Error ('.$code.'):</b> '.$msg.'<br>';
return false;
}
/**
* Set's database name for connection
* to $new_name
*
* @param string $new_name
* @return bool
* @access public
*/
function setDB($new_name)
{
if (!$this->connectionID) return false;
$func = $this->getMetaFunction('select_db');
return $func($new_name, $this->connectionID);
}
/**
* Returns first field of first line
* of recordset if query ok or false
* otherwise
*
* @param string $sql
* @param int $offset
* @return string
* @access public
*/
function GetOne($sql, $offset = 0)
{
$row = $this->GetRow($sql, $offset);
if(!$row) return false;
return array_shift($row);
}
/**
* Returns first row of recordset
* if query ok, false otherwise
*
* @param stirng $sql
* @param int $offset
* @return Array
* @access public
*/
function GetRow($sql, $offset = 0)
{
$sql .= ' '.$this->getLimitClause($offset, 1);
$ret = $this->Query($sql);
if(!$ret) return false;
return array_shift($ret);
}
/**
* Returns 1st column of recordset as
* one-dimensional array or false otherwise
* Optional parameter $key_field can be used
* to set field name to be used as resulting
* array key
*
* @param string $sql
* @param string $key_field
* @return Array
* @access public
*/
function GetCol($sql, $key_field = null)
{
$rows = $this->Query($sql);
if (!$rows) return $rows;
$i = 0; $row_count = count($rows);
$ret = Array();
if (isset($key_field)) {
while ($i < $row_count) {
$ret[$rows[$i][$key_field]] = array_shift($rows[$i]);
$i++;
}
}
else {
while ($i < $row_count) {
$ret[] = array_shift($rows[$i]);
$i++;
}
}
return $ret;
}
/**
* Queries db with $sql query supplied
* and returns rows selected if any, false
* otherwise. Optional parameter $key_field
* allows to set one of the query fields
* value as key in string array.
*
* @param string $sql
* @param string $key_field
* @return Array
*/
function Query($sql, $key_field = null)
{
$this->lastQuery = $sql;
if ($this->debugMode) return $this->debugQuery($sql,$key_field);
$query_func = $this->getMetaFunction('query');
$this->queryID = $query_func($sql,$this->connectionID);
if (is_resource($this->queryID)) {
$ret = Array();
$fetch_func = $this->getMetaFunction('fetch_assoc');
if (isset($key_field)) {
while (($row = $fetch_func($this->queryID))) {
$ret[$row[$key_field]] = $row;
}
}
else {
while (($row = $fetch_func($this->queryID))) {
$ret[] = $row;
}
}
$this->Destroy();
return $ret;
}
$this->showError($sql);
return false;
}
function ChangeQuery($sql)
{
$this->Query($sql);
return $this->errorCode == 0 ? true : false;
}
function debugQuery($sql, $key_field = null)
{
global $debugger;
$query_func = $this->getMetaFunction('query');
// set 1st checkpoint: begin
$profileSQLs = defined('DBG_SQL_PROFILE') && DBG_SQL_PROFILE;
if ($profileSQLs) {
$queryID = $debugger->generateID();
$debugger->profileStart('sql_'.$queryID, $debugger->formatSQL($sql));
}
// set 1st checkpoint: end
$this->queryID = $query_func($sql, $this->connectionID);
if( is_resource($this->queryID) )
{
$ret = Array();
$fetch_func = $this->getMetaFunction('fetch_assoc');
if( isset($key_field) )
{
while( ($row = $fetch_func($this->queryID)) )
{
$ret[$row[$key_field]] = $row;
}
}
else
{
while( ($row = $fetch_func($this->queryID)) )
{
$ret[] = $row;
}
}
// set 2nd checkpoint: begin
- $first_cell = count($ret) == 1 && count(current($ret)) == 1 ? current(current($ret)) : null;
+ $first_cell = count($ret) == 1 && count(current($ret)) == 1 ? current(current($ret)) : null;
- $debugger->profileFinish('sql_'.$queryID, null, null, $this->getAffectedRows(), $first_cell);
- $debugger->profilerAddTotal('sql', 'sql_'.$queryID);
+ $debugger->profileFinish('sql_'.$queryID, null, null, $this->getAffectedRows(), $first_cell);
+ $debugger->profilerAddTotal('sql', 'sql_'.$queryID);
$this->Destroy();
// set 2nd checkpoint: end
return $ret;
}
else {
// set 2nd checkpoint: begin
- $debugger->profileFinish('sql_'.$queryID, null, null, $this->getAffectedRows());
- $debugger->profilerAddTotal('sql', 'sql_'.$queryID);
+ $debugger->profileFinish('sql_'.$queryID, null, null, $this->getAffectedRows());
+ $debugger->profilerAddTotal('sql', 'sql_'.$queryID);
// set 2nd checkpoint: end
}
$this->showError($sql);
return false;
}
/**
* Free memory used to hold recordset handle
*
* @access private
*/
function Destroy()
{
if($this->queryID)
{
$free_func = $this->getMetaFunction('free_result');
$free_func($this->queryID);
$this->queryID = null;
}
}
/**
* Returns auto increment field value from
* insert like operation if any, zero otherwise
*
* @return int
* @access public
*/
function getInsertID()
{
$func = $this->getMetaFunction('insert_id');
return $func($this->connectionID);
}
/**
* Returns row count affected by last query
*
* @return int
* @access public
*/
function getAffectedRows()
{
$func = $this->getMetaFunction('affected_rows');
return $func($this->connectionID);
}
/**
* Returns LIMIT sql clause part for specific db
*
* @param int $offset
* @param int $rows
* @return string
* @access private
*/
function getLimitClause($offset, $rows)
{
if(!($rows > 0)) return '';
switch ($this->dbType) {
default:
return 'LIMIT '.$offset.','.$rows;
break;
}
}
/**
* Correctly quotes a string so that all strings are escaped. We prefix and append
* to the string single-quotes.
* An example is $db->qstr("Don't bother",magic_quotes_runtime());
*
* @param s the string to quote
* @param [magic_quotes] if $s is GET/POST var, set to get_magic_quotes_gpc().
* This undoes the stupidity of magic quotes for GPC.
*
* @return quoted string to be sent back to database
*/
function qstr($s,$magic_quotes=false)
{
$replaceQuote = "\\'";
if (!$magic_quotes)
{
if ($replaceQuote[0] == '\\')
{
// only since php 4.0.5
$s = str_replace(array('\\',"\0"),array('\\\\',"\\\0"),$s);
//$s = str_replace("\0","\\\0", str_replace('\\','\\\\',$s));
}
return "'".str_replace("'",$replaceQuote,$s)."'";
}
// undo magic quotes for "
$s = str_replace('\\"','"',$s);
if($replaceQuote == "\\'") // ' already quoted, no need to change anything
{
return "'$s'";
}
else // change \' to '' for sybase/mssql
{
$s = str_replace('\\\\','\\',$s);
return "'".str_replace("\\'",$replaceQuote,$s)."'";
}
}
/**
* Returns last error code occured
*
* @return int
*/
function getErrorCode()
{
return $this->errorCode;
}
/**
* Returns last error message
*
* @return string
* @access public
*/
function getErrorMsg()
{
return $this->errorMessage;
}
function doInsert($fields_hash, $table, $type = 'INSERT')
{
$fields_sql = '';
$values_sql = '';
foreach ($fields_hash as $field_name => $field_value) {
$fields_sql .= '`'.$field_name.'`,';
$values_sql .= $this->qstr($field_value).',';
}
$fields_sql = preg_replace('/(.*),$/', '\\1', $fields_sql);
$values_sql = preg_replace('/(.*),$/', '\\1', $values_sql);
$sql = strtoupper($type).' INTO `'.$table.'` ('.$fields_sql.') VALUES ('.$values_sql.')';
return $this->ChangeQuery($sql);
}
function doUpdate($fields_hash, $table, $key_clause)
{
if (!$fields_hash) return true;
$fields_sql = '';
foreach ($fields_hash as $field_name => $field_value) {
$fields_sql .= '`'.$field_name.'` = '.$this->qstr($field_value).',';
}
$fields_sql = preg_replace('/(.*),$/', '\\1', $fields_sql);
$sql = 'UPDATE `'.$table.'` SET '.$fields_sql.' WHERE '.$key_clause;
return $this->ChangeQuery($sql);
}
/**
* Allows to detect table's presense in database
*
* @param string $table_name
* @return bool
*/
function TableFound($table_name)
{
static $table_found = Array();
if (!preg_match('/^'.preg_quote(TABLE_PREFIX, '/').'(.*)/', $table_name)) {
$table_name = TABLE_PREFIX.$table_name;
}
if (!isset($table_found[$table_name])) {
$table_found[$table_name] = $this->Query('SHOW TABLES LIKE "'.$table_name.'"');
}
return $table_found[$table_name];
}
}
?>
\ No newline at end of file
Property changes on: trunk/core/kernel/db/db_connection.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.24
\ No newline at end of property
+1.25
\ No newline at end of property
Index: trunk/core/kernel/parser/tags.php
===================================================================
--- trunk/core/kernel/parser/tags.php (revision 8900)
+++ trunk/core/kernel/parser/tags.php (revision 8901)
@@ -1,457 +1,460 @@
<?php
define ('parse', 0);
define ('skip', 1);
define ('skip_tags', 2);
class MyTagHolder extends kBase {
var $_Tag;
function MyTagHolder()
{
}
function &GetTag($tag_data, &$parser, $inp_tag = 0)
{
if (!isset($this->_Tag)) {
$this->_Tag =& new Tag($tag_data, $parser, $inp_tag);
}
else {
// $this->_Tag->Parser =& $parser;
$this->_Tag->TagData = $tag_data;
if ($tag_data != '') $this->_Tag->ParseTagData($tag_data);
$this->_Tag->NP =& $this->_Tag->NamedParams;
}
return $this->_Tag;
}
}
class Tag extends kBase {
var $Processor;
var $Tag;
var $Params = Array();
var $NamedParams = Array();
var $NP;
/**
* Enter description here...
*
* @var TemplateParser
*/
var $Parser;
var $TagData = '';
function Tag($tag_data, &$parser, $inp_tag=0)
{
parent::kBase();
$this->Parser =& $parser;
$this->TagData = $tag_data;
if ($tag_data != '') $this->ParseTagData($tag_data);
$this->NP =& $this->NamedParams;
}
function CopyFrom(&$tag)
{
$this->Processor = $tag->Processor;
$this->Tag = $tag->Tag;
$this->TagData = $tag->TagData;
$this->Params = $tag->Params;
$this->NamedParams = $tag->NamedParams;
$this->Parser =& $tag->Parser;
}
function GetFullTag()
{
return '<%'.$this->TagData.'%>';
}
function RebuildTagData()
{
$res = $this->Processor.':'.$this->Tag.' ';
foreach ($this->NamedParams as $name => $value) {
$res .= "$name='$value' ";
}
return $res;
}
/**
* Escape chars in phrase translation, that could harm parser to process tag
*
* @param string $text
* @return string
* @access private
*/
function EscapeReservedChars($text)
{
$reserved = Array('"',"'"); // =
$replacement = Array('\"',"\'"); // \=
return str_replace($reserved,$replacement,$text);
}
function ReplaceParams($tag_data)
{
//print_pre($this->Parser->Pattern, $tag_data);
$values = $this->Parser->Values;
foreach($values as $param_name => $param_value)
{
$values[$param_name] = $this->EscapeReservedChars($param_value);
}
if (is_array($this->Parser->Params)) {
$tag_data = preg_replace($this->Parser->Pattern, $values, $tag_data);
}
//echo "got: $tag_data<br>";
return $tag_data;
}
function PreParseReplaceParams($tag_data)
{
//print_pre($this->Parser->Pattern, $tag_data);
$values = $this->Parser->Values;
foreach($values as $param_name => $param_value)
{
$values[$param_name] = $this->EscapeReservedChars($param_value);
}
/*$patterns = Array();
if ( is_array($this->Parser->Args) ) {
foreach ($this->Parser->Args as $arg) {
}
}*/
if ($this->Parser->SkipMode == parse) {
if (is_array($this->Parser->Params)) {
$tag_data = preg_replace($this->Parser->Pattern, $values, $tag_data);
}
}
//echo "got: $tag_data<br>";
return $tag_data;
}
function CmpParams($a, $b)
{
$a_len = strlen($a);
$b_len = strlen($b);
if ($a_len == $b_len) return 0;
return $a_len > $b_len ? -1 : 1;
}
/**
* Set's Prefix and Special for Tag object
* based on ones from tagname
*
* @param string $tag_data
* @access protected
*/
function ParseTagData($tag_data)
{
if (defined('EXPERIMENTAL_PRE_PARSE') ) {
$this->OriginalTagData = $tag_data;
$tag_data = $this->PreParseReplaceParams($tag_data) . ' ';
}
else {
$tag_data = $this->ReplaceParams($tag_data) . ' ';
// $tag_data = $this->Application->ReplaceLanguageTags($tag_data);
}
list ($key_data, $params) = split("[ \t\n]{1}", $tag_data, 2);
$key_data = trim($key_data);
$tmp=explode(':',$key_data);
$this->Tag=$tmp[1];
$tmp=$this->Application->processPrefix($tmp[0]);
$this->Prefix=$tmp['prefix'];
$this->Special=$tmp['special'];
$this->Processor=$this->Prefix;
if ($params != '') {
$this->ParseNamedParams($params);
}
else {
$this->NamedParams = array();
}
}
function ParseNamedParams($params_str)
{
$params =& new Params($params_str);
$this->NamedParams = $params->_Params;
}
function GetParam($param)
{
if (isset($this->NP[$param]))
return $this->NP[$param];
else
return false;
}
/**
* Process IF tags in specific way
*
*/
function Process()
{
$short_closing = false;
if (isset($this->NP['_short_closing_'])) {
unset($this->NP['_short_closing_']);
$this->TagData = str_replace(' _short_closing_="1"', '', $this->TagData);
$short_closing = true;
}
if ($this->Processor == 'm' || $this->Processor == 'm_TagProcessor') { //if we are procssing Main tags
if ($this->Tag == 'block' || $this->Tag == 'DefineElement' || ($this->Tag == 'RenderElement' && $short_closing)) {
$tag =& new BlockTag('', $this->Parser);
$tag->CopyFrom($this);
$tag->Process();
}
elseif($this->Tag == 'Capture') {
$tag =& new CaptureTag('', $this->Parser);
$tag->CopyFrom($this);
$tag->Process();
}
elseif ($this->Parser->SkipMode == skip_tags) {
return;
}
elseif (
$this->Tag == 'if' ||
$this->Tag == 'ifnot' ||
$this->Tag == 'else' ||
$this->Tag == 'elseif'
)
{
if ( defined('EXPERIMENTAL_PRE_PARSE') ) {
$this->Parser->AppendCompiledCode( $this->GetCode() );
}
$tag =& new ConstructTag('', $this->Parser);
$tag->CopyFrom($this);
$tag->Process();
}
else {
if ($this->Parser->SkipMode == skip) {
if ( defined('EXPERIMENTAL_PRE_PARSE') ) {
$this->Parser->AppendCompiledCode( $this->GetCode() );
}
return;
}
$this->ProcessTag();
if ( defined('EXPERIMENTAL_PRE_PARSE') ) {
$this->Parser->AppendCompiledCode( $this->GetCode() );
}
}
}
else { //normal tags - processors other than main
if ($this->Parser->SkipMode == skip) { // inside if - add statements inside if to compiled code
if ( defined('EXPERIMENTAL_PRE_PARSE') ) {
$this->Parser->AppendCompiledCode( $this->GetCode() );
}
return;
}
elseif ($this->Parser->SkipMode == skip_tags) return; //do not parse if we skipping tags
$this->ProcessTag();
if ( defined('EXPERIMENTAL_PRE_PARSE') ) {
$this->Parser->AppendCompiledCode( $this->GetCode() );
}
}
}
/**
* Set's Prefix and Special for TagProcessor
* based on tag beeing processed
*
* @return string
* @access protected
*/
function DoProcessTag()
{
// $tag->Prefix - l_TagProcessor
$tmp = $this->Application->processPrefix($this->Processor);
if (isset($this->NamedParams['_ignore_missing_'])) {
if (!$this->Application->prefixRegistred($tmp['prefix'])) return '';
}
$processor =& $this->Application->recallObject($tmp['prefix'].'_TagProcessor'); // $this->Processor
$tmp=explode('_',$tmp['prefix'],2);
$processor->Prefix=$tmp[0];
$processor->Special=$this->Special;
// pass_params for non ParseBlock tags :)
$parser_params = $this->Application->Parser->Params;
if( getArrayValue($this->NamedParams,'pass_params') )
{
unset( $this->NamedParams['pass_params'] );
$this->NamedParams = array_merge_recursive2($parser_params, $this->NamedParams);
}
return $processor->ProcessTag($this);
}
function ProcessTag()
{
$o = $this->DoProcessTag();
if ($o !== false)
{
$this->Parser->AppendOutput($o);
}
else
{
trigger_error('can\'t process tag '.$this->Tag.' in '.$this->Prefix,E_USER_WARNING);
}
}
function GetCode($echo=false)
{
$tmp_params = $this->NamedParams;
$splited = split("[ \t\n]{1}", $this->OriginalTagData, 2);
if (isset($splited[1]) && $splited[1]) {
$this->ParseNamedParams($splited[1]);
}
$pass_params = $this->NamedParams;
$this->NamedParams = $tmp_params;
$code = Array();
$to_pass = 'Array(';
foreach ($pass_params as $name => $val) {
$to_pass .= '"'.$name.'" => "'.str_replace('"', '\"', $val).'",';
}
$to_pass .= ')';
if ($echo) $code[] = '$o = '."'';\n";
switch ( strtolower($this->Tag) ) {
case 'defaultparam':
foreach ($this->NP as $key => $val) {
$code[] = 'if (!isset($'.$key.')) $application->Parser->SetParam(\''.$key.'\', \''.$val.'\');';
$code[] = '$'.$key.' = isset($'.$key.') ? $'.$key.' : \''.$val.'\';';
}
return $code;
case 'param':
+ case 'Param':
$code[] = 'if (isset($application->LateParsed["'.$this->NP['name'].'"])) {';
$code[] = '$__f = $application->PreParsedBlocks[\'capture_'.$this->NP['name'].'\'];';
$code[] = '$application->Parser->SetParam(\''.$this->NP['name'].'\', $__f(array())'.');';
$code[] = '$'.$this->NP['name'].' = $application->Parser->GetParam(\''.$this->NP['name'].'\');';
$code[] = '$params[\''.$this->NP['name'].'\'] = $'.$this->NP['name'].';';
$code[] = '}';
- $param_code = '$o .= $params["'.$this->NP['name'].'"]';
+ $code[] = '$p =& $application->recallObject(\'m_TagProcessor\');';
+ $code[] = '$tag_params = '.$to_pass.';';
+ $param_code = '$o .= $p->PostProcess($params["'.$this->NP['name'].'"], $p->PreparePostProcess($tag_params))';
if (isset($this->NP['plus'])) {
$param_code .= ' + '.$this->NP['plus'];
}
$code[] = $param_code.';';
return $code;
case 'if':
if (isset($this->NP['_closing_tag_'])) {
$code[] = ' }';
}
else {
$check = isset($pass_params['check']) && $pass_params['check'] ? $pass_params['check'] : false; // $this->GetParam('check');
if ($check) {
if (strpos($check, '_') !== false) {
list($prefix, $function) = explode('_', $check, 2);
}
else {
$function = $check;
$prefix = '$PrefixSpecial'; // $this->Parser->GetParam('PrefixSpecial');
}
}
else {
$prefix = $pass_params['prefix']; // $this->GetParam('prefix');
$function = $pass_params['function']; // $this->GetParam('function');
}
$code[] = '$tmp = $application->processPrefix("'.$prefix.'");'."\n";
$code[] = '$__tp = $tmp[\'prefix\'].\'_TagProcessor\';'."\n";
$code[] = '$p =& $application->recallObject($__tp);'."\n";
$code[] = '$p->Prefix = $tmp[\'prefix\'];'."\n";
$code[] = '$p->Special = $tmp[\'special\'];'."\n";
$code[] = '$if_result = $p->ProcessParsedTag(\''.$function.'\', '.$to_pass.', "'.$prefix.'");'."\n";
if (isset($pass_params['inverse'])) {
$code[] = 'if (!$if_result) {';
}
else {
$code[] = 'if ($if_result) {';
}
}
return $code;
case 'endif':
$code[] = ' }';
return $code;
case 'else':
$code[] = ' }';
$code[] = ' else {';
return $code;
}
/* $tmp_pref = $this->getPrefixSpecial();
$tmp = $this->Application->processPrefix($tmp_pref);
$tmp_processor = $tmp['prefix'].'_TagProcessor';
if (strpos($tmp['prefix'], '$') !== false) {
$processor_to_check = '{'.$tmp['prefix'].'}_TagProcessor';
}
else {
$processor_to_check = $tmp_processor;
} */
if (isset($this->NamedParams['_auto_prefix_'])) {
$prefix = '$PrefixSpecial';
}
else {
// use original prefix_special found in templates (parameter names in form $ParamName found in it will not be replaced with values)
list ($prefix, $tag) = explode(':', $splited[0], 2); //$prefix = $this->getPrefixSpecial();
if (isset($this->NamedParams['_ignore_missing_'])) {
if (!$this->Application->prefixRegistred($prefix)) return array();
}
}
$code[] = '$tmp = $application->processPrefix("'.$prefix.'");'."\n";
/*if (!isset($this->Application->CompilationCache[$this->getPrefixSpecial()])) {
$code[] = '$tmp = $application->processPrefix("'.$this->getPrefixSpecial().'");'."\n";
$code[] = '$__tp = $tmp[\'prefix\'].\'_TagProcessor\';'."\n";
$code[] = '$application->CachedProcessors["'.$this->getPrefixSpecial().'"] =& $application->recallObject($__tp);'."\n";
$this->Application->CompilationCache[$this->getPrefixSpecial()] = true;
if (strpos($tmp_pref, '$') === false) {
$this->Application->CachedProcessors[$this->getPrefixSpecial()] =& $this->Application->recallObject($tmp_processor);
}
}
$this->Parser->UsedProcessors[] = $tmp['prefix'];*/
$code[] = '$__tp = $tmp[\'prefix\'].\'_TagProcessor\';'."\n";
$code[] = '$p =& $application->recallObject($__tp);'."\n";
$code[] = '$p->Prefix = $tmp[\'prefix\'];'."\n";
$code[] = '$p->Special = $tmp[\'special\'];'."\n";
$tag_func = $this->Tag;
if ($tag_func == 'include') $tag_func = 'MyInclude';
// $code[] = '$o .= $application->CachedProcessors["'.$this->getPrefixSpecial().'"]->ProcessParsedTag(\''.$tag_func.'\', '.$to_pass.', "'.$this->Processor.'");'."\n";
$code[] = '$o .= $p->ProcessParsedTag(\''.$tag_func.'\', '.$to_pass.', "'.$prefix.'");'."\n"; // $this->Processor
/*$code = ' $processor =& $application->recallObject(\''.$this->Processor.'_TagProcessor\');
$o .= $processor->ProcessParsedTag(\''.$this->Tag.'\', unserialize(\''.serialize($this->NP).'\'));';*/
if (isset($pass_params['result_to_var'])) {
$code[] = '$'.$pass_params['result_to_var'].' = $application->Parser->GetParam(\''.$pass_params['result_to_var'].'\');';
$code[] = '$params[\''.$pass_params['result_to_var'].'\'] = $'.$pass_params['result_to_var'].';';
$echo = false;
}
if ($echo) $code[] = ' echo $o;'."\n";
return $code;
//return '$o .= \'tag:'. $this->Tag .'\'';
}
}
?>
\ No newline at end of file
Property changes on: trunk/core/kernel/parser/tags.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.19
\ No newline at end of property
+1.20
\ No newline at end of property
Index: trunk/core/units/admin/admin_tag_processor.php
===================================================================
--- trunk/core/units/admin/admin_tag_processor.php (revision 8900)
+++ trunk/core/units/admin/admin_tag_processor.php (revision 8901)
@@ -1,844 +1,852 @@
<?php
class AdminTagProcessor extends kDBTagProcessor {
function SetConst($params)
{
$name = $this->SelectParam($params, 'name,const');
safeDefine($name, $params['value']);
}
/**
* Allows to execute js script after the page is fully loaded
*
* @param Array $params
* @return string
*/
function AfterScript($params)
{
$after_script = $this->Application->GetVar('after_script');
if ($after_script) {
return '<script type="text/javascript">'.$after_script.'</script>';
}
return '';
}
/**
* Returns section title with #section# keyword replaced with current section
*
* @param Array $params
* @return string
*/
function GetSectionTitle($params)
{
$params['name'] = replaceModuleSection($params['phrase']);
$m =& $this->Application->recallObject('m_TagProcessor');
return $m->Phrase($params);
}
/**
* Returns section icon with #section# keyword replaced with current section
*
* @param Array $params
* @return string
*/
function GetSectionIcon($params)
{
return replaceModuleSection($params['icon']);
}
/**
* Allows to detect if current template is one of listed ones
*
* @param Array $params
* @return int
*/
function TemplateMatches($params)
{
$templates = explode(',' ,$params['templates']);
$t = $this->Application->GetVar('t');
return in_array($t, $templates) ? 1 : 0;
}
/**
* Save return script in cases, when old sections are opened from new sections
*
* @param Array $params
*/
function SaveReturnScript($params)
{
// admin/save_redirect.php?do=
$m =& $this->Application->recallObject('m_TagProcessor');
$url = str_replace($this->Application->BaseURL(), '', $m->Link($params) );
$url = explode('?', $url, 2);
$url = 'save_redirect.php?'.$url[1].'&do='.$url[0];
$this->Application->StoreVar('ReturnScript', $url);
}
/**
* Redirects to correct next import step template based on import script data
*
* @param Array $params
*/
function ImportRedirect($params)
{
$import_id = $this->Application->GetVar('import_id');
if ($import_id) {
// redirect forward to step3 (import parameters coosing)
$this->Application->StoreVar('ImportScriptID', $import_id);
$sql = 'SELECT *
FROM '.TABLE_PREFIX.'ImportScripts
WHERE is_id = '.$import_id;
$db =& $this->Application->GetADODBConnection();
$is_params = $db->GetRow($sql);
if ($is_params['is_type'] == 'db') {
$this->Application->Redirect('', null, '', 'import/step3.php');
}
elseif ($is_params['is_type'] == 'csv') {
$module = strtolower($is_params['is_Module']);
$template = $module.'/import';
$module_info = $this->Application->findModule('Name', $module);
$item_prefix = $module_info['Var'];
$pass_params = Array('m_opener' => 'd', $item_prefix.'.import_id' => 0, $item_prefix.'.import_event' => 'OnNew', 'pass' => 'm,'.$item_prefix.'.import', 'm_cat_id' => $module_info['RootCat']);
$this->Application->Redirect($template, $pass_params);
}
}
else {
// redirect back to step2 (import type choosing)
$this->Application->Redirect('', null, '', 'import/step2.php');
}
}
/**
* Returns version of module by name
*
* @param Array $params
* @return string
*/
function ModuleVersion($params)
{
return $this->Application->findModule('Name', $params['module'], 'Version');
}
/**
* Used in table form section drawing
*
* @param Array $params
* @return string
*/
function DrawTree($params)
{
static $deep_level = 0;
// when processings, then sort children by priority (key of children array)
$ret = '';
$section_name = $params['section_name'];
$params['name'] = $this->SelectParam($params, 'name,render_as,block');
$sections_helper =& $this->Application->recallObject('SectionsHelper');
$section_data =& $sections_helper->getSectionData($section_name);
$params['children_count'] = isset($section_data['children']) ? count($section_data['children']) : 0;
$params['deep_level'] = $deep_level++;
$template = $section_data['url']['t'];
unset($section_data['url']['t']);
$section_data['section_url'] = $this->Application->HREF($template, '', $section_data['url']);
$ret .= $this->Application->ParseBlock( array_merge_recursive2($params, $section_data) );
if (!isset($section_data['children'])) {
return $ret;
}
$debug_mode = $this->Application->isDebugMode();
$super_admin_mode = $this->Application->RecallVar('super_admin');
ksort($section_data['children'], SORT_NUMERIC);
foreach ($section_data['children'] as $section_name) {
$section_data =& $sections_helper->getSectionData($section_name);
if (isset($section_data['show_mode']) && is_numeric($section_data['show_mode'])) {
$show_mode = $section_data['show_mode'];
// if super admin section -> show in super admin mode & debug mode
$show_section = (($show_mode & smSUPER_ADMIN) == smSUPER_ADMIN) && ($super_admin_mode || $debug_mode);
if (!$show_section) {
// if section is in debug mode only && debug mode -> show
$show_section = (($show_mode & smDEBUG) == smDEBUG) && $debug_mode;
}
if (!$show_section) {
continue;
}
}
$params['section_name'] = $section_name;
$ret .= $this->DrawTree($params);
$deep_level--;
}
return $ret;
}
function SectionInfo($params)
{
$section = $params['section'];
if ($section == '#session#') {
$section = $this->Application->RecallVar('section');
}
$sections_helper =& $this->Application->recallObject('SectionsHelper');
/* @var $sections_helper kSectionsHelper */
$section_data =& $sections_helper->getSectionData($section);
if (isset($params['parent']) && $params['parent']) {
do {
$section_data =& $sections_helper->getSectionData($section_data['parent']);
} while (isset($section_data['use_parent_header']) && $section_data['use_parent_header']);
}
$info = $params['info'];
switch ($info) {
case 'module_path':
if (isset($params['module']) && $params['module']) {
$module = $params['module'];
}
elseif (isset($section_data['icon_module'])) {
$module = $section_data['icon_module'];
}
else {
$module = '#session#';
}
$res = $this->ModulePath(array('module' => $module));
break;
case 'perm_section':
if (isset($section_data['perm_prefix']) && $section_data['perm_prefix']) {
$res = $this->Application->getUnitOption($section_data['perm_prefix'].'.main', 'PermSection');
}
else {
$res = $section;
}
break;
default:
$res = $section_data[$info];
}
if ($info == 'label' || isset($params['as_label'])) {
$res = $this->Application->Phrase($res);
}
return $res;
}
function PrintSection($params)
{
$section_name = $params['section_name'];
if ($section_name == '#session#') {
$section_name = $this->Application->RecallVar('section');
}
$sections_helper =& $this->Application->recallObject('SectionsHelper');
/* @var $sections_helper kSectionsHelper */
$section_data =& $sections_helper->getSectionData($section_name);
$params['name'] = $this->SelectParam($params, 'name,render_as,block');
$params['section_name'] = $section_name;
$template = $section_data['url']['t'];
unset($section_data['url']['t']);
$section_data['section_url'] = $this->Application->HREF($template, '', $section_data['url']);
$ret = $this->Application->ParseBlock( array_merge_recursive2($params, $section_data) );
return $ret;
}
/**
* Used in XML drawing for tree
*
* @param Array $params
* @return string
*/
function PrintSections($params)
{
// when processings, then sort children by priority (key of children array)
$ret = '';
$section_name = $params['section_name'];
if ($section_name == '#session#') {
$section_name = $this->Application->RecallVar('section');
}
$sections_helper =& $this->Application->recallObject('SectionsHelper');
$section_data =& $sections_helper->getSectionData($section_name);
$params['name'] = $this->SelectParam($params, 'name,render_as,block');
if (!isset($section_data['children'])) {
return '';
}
$debug_mode = $this->Application->isDebugMode();
$super_admin_mode = $this->Application->RecallVar('super_admin');
ksort($section_data['children'], SORT_NUMERIC);
foreach ($section_data['children'] as $section_name) {
$params['section_name'] = $section_name;
$section_data =& $sections_helper->getSectionData($section_name);
if (isset($section_data['show_mode']) && is_numeric($section_data['show_mode'])) {
$show_mode = $section_data['show_mode'];
// if super admin section -> show in super admin mode & debug mode
$show_section = (($show_mode & smSUPER_ADMIN) == smSUPER_ADMIN) && ($super_admin_mode || $debug_mode);
if (!$show_section) {
// if section is in debug mode only && debug mode -> show
$show_section = (($show_mode & smDEBUG) == smDEBUG) && $debug_mode;
}
if (!$show_section) {
continue;
}
}
if (isset($section_data['tabs_only']) && $section_data['tabs_only']) {
$perm_status = false;
$folder_label = $section_data['label'];
ksort($section_data['children'], SORT_NUMERIC);
foreach ($section_data['children'] as $priority => $section_name) {
// if only tabs in this section & none of them have permission, then skip section too
$section_data =& $sections_helper->getSectionData($section_name);
if ($section_data && isset($section_data['perm_prefix'])) {
// this section uses other section permissions
$section_name = $this->Application->getUnitOption($section_data['perm_prefix'].'.main', 'PermSection');
}
$perm_status = $this->Application->CheckPermission($section_name.'.view', 1);
if ($perm_status) {
break;
}
}
if (!$perm_status) {
// no permission for all tabs -> don't display tree node either
continue;
}
$params['section_name'] = $section_name;
$section_data =& $sections_helper->getSectionData($section_name);
$section_data['label'] = $folder_label; // use folder label in tree
$section_data['is_tab'] = 1;
}
else {
if ($section_data && isset($section_data['perm_prefix'])) {
// this section uses other section permissions
$section_name = $this->Application->getUnitOption($section_data['perm_prefix'].'.main', 'PermSection');
}
if (!$this->Application->CheckPermission($section_name.'.view', 1)) continue;
}
$params['children_count'] = isset($section_data['children']) ? count($section_data['children']) : 0;
$template = $section_data['url']['t'];
unset($section_data['url']['t']);
$section_data['section_url'] = $this->Application->HREF($template, '', $section_data['url']);
$late_load = getArrayValue($section_data, 'late_load');
if ($late_load) {
$t = $late_load['t'];
unset($late_load['t']);
$section_data['late_load'] = $this->Application->HREF($t, '', $late_load);
$params['children_count'] = 99;
}
else {
$section_data['late_load'] = '';
}
$ret .= $this->Application->ParseBlock( array_merge_recursive2($params, $section_data) );
$params['section_name'] = $section_name;
}
return preg_replace("/\r\n|\n/", '', $ret);
}
function ListSectionPermissions($params)
{
$section_name = isset($params['section_name']) ? $params['section_name'] : $this->Application->GetVar('section_name');
$sections_helper =& $this->Application->recallObject('SectionsHelper');
$section_data =& $sections_helper->getSectionData($section_name);
$block_params = array_merge_recursive2($section_data, Array('name' => $params['render_as'], 'section_name' => $section_name));
$ret = '';
foreach ($section_data['permissions'] as $perm_name) {
if (preg_match('/^advanced:(.*)/', $perm_name) != $params['type']) continue;
$block_params['perm_name'] = $perm_name;
$ret .= $this->Application->ParseBlock($block_params);
}
return $ret;
}
function ModuleInclude($params)
{
foreach ($params as $param_name => $param_value) {
$params[$param_name] = replaceModuleSection($param_value);
}
$m =& $this->Application->recallObject('m_TagProcessor');
return $m->ModuleInclude($params);
}
function TodayDate($params)
{
return date($params['format']);
}
function TreeEditWarrning($params)
{
$ret = $this->Application->Phrase($params['label']);
$ret = str_replace(Array('&lt;', '&gt;', 'br/', 'br /', "\n", "\r"), Array('<', '>', 'br', 'br', '', ''), $ret);
if (getArrayValue($params, 'escape')) {
$ret = addslashes($ret);
}
$ret = str_replace('<br>', '\n', $ret);
return $ret;
}
/**
* Draws section tabs using block name passed
*
* @param Array $params
*/
function ListTabs($params)
{
$sections_helper =& $this->Application->recallObject('SectionsHelper');
$section_data =& $sections_helper->getSectionData($params['section_name']);
$ret = '';
$block_params = Array('name' => $params['render_as']);
ksort($section_data['children'], SORT_NUMERIC);
foreach ($section_data['children'] as $priority => $section_name) {
if (!$this->Application->CheckPermission($section_name.'.view', 1)) continue;
$tab_data =& $sections_helper->getSectionData($section_name);
$block_params['t'] = $tab_data['url']['t'];
$block_params['title'] = $tab_data['label'];
$block_params['main_prefix'] = $section_data['SectionPrefix'];
$ret .= $this->Application->ParseBlock($block_params);
}
return $ret;
}
/**
* Returns list of module item tabs that have view permission in current category
*
* @param Array $params
*/
function ListCatalogTabs($params)
{
$ret = '';
$special = isset($params['special']) ? $params['special'] : '';
$replace_main = isset($params['replace_m']) && $params['replace_m'];
$skip_prefixes = isset($params['skip_prefixes']) ? explode(',', $params['skip_prefixes']) : Array();
$block_params = Array('name' => $params['render_as']);
foreach ($this->Application->ModuleInfo as $module_name => $module_info) {
$prefix = $module_info['Var'];
if (in_array($prefix, $skip_prefixes) || !$this->Application->prefixRegistred($prefix) || !$this->Application->getUnitOption($prefix, 'CatalogItem')) continue;
if ($prefix == 'm' && $replace_main) $prefix = 'c';
$label = $this->Application->getUnitOption($prefix, $params['title_property']);
$block_params['title'] = $label;
$block_params['prefix'] = $prefix;
$ret .= $this->Application->ParseBlock($block_params);
}
return $ret;
}
function FCKEditor($params)
{
if (file_exists(FULL_PATH.'/core/cmseditor/fckeditor.php')) {
$editor_path = 'core/cmseditor/';
}
else {
$editor_path = 'admin/editor/cmseditor/';
}
include_once(FULL_PATH.'/'.$editor_path.'/fckeditor.php');
$oFCKeditor = new FCKeditor($params['name']);
$oFCKeditor->BasePath = BASE_PATH.'/'.$editor_path;
$oFCKeditor->Width = $params['width'] ;
$oFCKeditor->Height = $params['height'] ;
$oFCKeditor->ToolbarSet = 'Advanced' ;
$oFCKeditor->Value = '' ;
+
+ if ($this->Application->isModuleEnabled('In-Portal')) {
+ $config_path = $this->Application->BaseURL().'kernel/admin_templates/incs/inp_fckconfig.js';
+ }
+ else {
+ $config_path = $this->Application->BaseURL().'core/admin_templates/js/inp_fckconfig.js';
+ }
+
$oFCKeditor->Config = Array(
// 'UserFilesPath' => FULL_PATH.'/kernel/user_files',
'ProjectPath' => BASE_PATH.'/',
- 'CustomConfigurationsPath' => $this->Application->isModuleEnabled('In-Portal') ? $this->Application->BaseURL().'kernel/admin_templates/incs/inp_fckconfig.js' : $this->Application->BaseURL().$editor_path.'fckconfig.js',
+ 'CustomConfigurationsPath' => $config_path,
// 'EditorAreaCSS' => $this->Application->BaseURL().'/themes/inportal_site/inc/inportal.css', //GetThemeCSS(),
//'StylesXmlPath' => '../../inp_styles.xml',
// 'Debug' => 1,
'Admin' => 1,
'K4' => 1,
);
return $oFCKeditor->CreateHtml();
}
/**
* Allows to construct link for opening any type of catalog item selector
*
* @param Array $params
* @return string
*/
function SelectorLink($params)
{
$mode = 'catalog';
if (isset($params['mode'])) { // {catalog, advanced_view}
$mode = $params['mode'];
unset($params['mode']);
}
$params['t'] = 'in-portal/item_selector/item_selector_'.$mode;
$default_params = Array('no_amp' => 1, 'pass' => 'all,'.$params['prefix']);
unset($params['prefix']);
$pass_through = Array();
if (isset($params['tabs_dependant'])) { // {yes, no}
$pass_through['td'] = $params['tabs_dependant'];
unset($params['tabs_dependant']);
}
if (isset($params['selection_mode'])) { // {single, multi}
$pass_through['tm'] = $params['selection_mode'];
unset($params['selection_mode']);
}
if (isset($params['tab_prefixes'])) { // {all, none, <comma separated prefix list}
$pass_through['tp'] = $params['tab_prefixes'];
unset($params['tab_prefixes']);
}
if ($pass_through) {
// add pass_through to selector url if any
$params['pass_through'] = implode(',', array_keys($pass_through));
$params = array_merge_recursive2($params, $pass_through);
}
// user can override default parameters (except pass_through of course)
$params = array_merge_recursive2($default_params, $params);
$main_processor =& $this->Application->recallObject('m_TagProcessor');
return $main_processor->T($params);
}
function TimeFrame($params)
{
$w = adodb_date('w');
$m = adodb_date('m');
$y = adodb_date('Y');
//FirstDayOfWeek is 0 for Sunday and 1 for Monday
$fdow = $this->Application->ConfigValue('FirstDayOfWeek');
if ($fdow && $w == 0) $w = 7;
$today_start = adodb_mktime(0,0,0,adodb_date('m'),adodb_date('d'),$y);
$first_day_of_this_week = $today_start - ($w - $fdow)*86400;
$first_day_of_this_month = adodb_mktime(0,0,0,$m,1,$y);
$this_quater = ceil($m/3);
$this_quater_start = adodb_mktime(0,0,0,$this_quater*3-2,1,$y);
switch ($params['type']) {
case 'last_week_start':
$timestamp = $first_day_of_this_week - 86400*7;
break;
case 'last_week_end':
$timestamp = $first_day_of_this_week - 1;
break;
case 'last_month_start':
$timestamp = $m == 1 ? adodb_mktime(0,0,0,12,1,$y-1) : adodb_mktime(0,0,0,$m-1,1,$y);
break;
case 'last_month_end':
$timestamp = $first_day_of_this_month = adodb_mktime(0,0,0,$m,1,$y) - 1;
break;
case 'last_quater_start':
$timestamp = $this_quater == 1 ? adodb_mktime(0,0,0,10,1,$y-1) : adodb_mktime(0,0,0,($this_quater-1)*3-2,1,$y);
break;
case 'last_quater_end':
$timestamp = $this_quater_start - 1;
break;
case 'last_6_months_start':
$timestamp = $m <= 6 ? adodb_mktime(0,0,0,$m+6,1,$y-1) : adodb_mktime(0,0,0,$m-6,1,$y);
break;
case 'last_year_start':
$timestamp = adodb_mktime(0,0,0,1,1,$y-1);
break;
case 'last_year_end':
$timestamp = adodb_mktime(23,59,59,12,31,$y-1);
break;
}
if (isset($params['format'])) {
$format = $params['format'];
if(preg_match("/_regional_(.*)/", $format, $regs))
{
$lang =& $this->Application->recallObject('lang.current');
$format = $lang->GetDBField($regs[1]);
}
return adodb_date($format, $timestamp);
}
return $timestamp;
}
function CheckPermCache($params)
{
if ($this->Conn->GetOne('SELECT Data FROM '.TABLE_PREFIX.'Cache WHERE VarName = \'ForcePermCacheUpdate\'')) {
$this->Application->Redirect($params['cache_update_t'], array('continue' => 1));
}
}
/**
* Checks if current protocol is SSL
*
* @param Array $params
* @return int
*/
function IsSSL($params)
{
return (PROTOCOL == 'https://')? 1 : 0;
}
function PrintColumns($params)
{
$picker_helper =& $this->Application->RecallObject('ColumnPickerHelper');
$picker_helper->SetGridName($this->Application->GetLinkedVar('grid_name'));
/* @var $picker_helper kColumnPickerHelper */
$main_prefix = $this->Application->RecallVar('main_prefix');
$cols = $picker_helper->LoadColumns($main_prefix);
$o = '';
if (isset($params['hidden']) && $params['hidden']) {
foreach ($cols['hidden_fields'] as $col) {
$title = $this->Application->Phrase($cols['titles'][$col]);
$o .= "<option value='$col'>".$title;
}
}
else {
foreach ($cols['order'] as $col) {
if (in_array($col, $cols['hidden_fields'])) continue;
$title = $this->Application->Phrase($cols['titles'][$col]);
$o .= "<option value='$col'>".$title;
}
}
return $o;
}
/**
* Allows to set popup size (key - current template name)
*
* @param Array $params
*/
function SetPopupSize($params)
{
if (!$this->UsePopups($params)) return ;
$width = $params['width'];
$height = $params['height'];
if ($this->Application->GetVar('ajax') == 'yes') {
// during AJAX request just output size
die($width.'x'.$height);
}
$t = $this->Application->GetVar('t');
$sql = 'SELECT *
FROM '.TABLE_PREFIX.'PopupSizes
WHERE TemplateName = '.$this->Conn->qstr($t);
$popup_info = $this->Conn->GetRow($sql);
if (!$popup_info) {
// create new popup size record
$fields_hash = Array (
'TemplateName' => $t,
'PopupWidth' => $width,
'PopupHeight' => $height,
);
$this->Conn->doInsert($fields_hash, TABLE_PREFIX.'PopupSizes');
}
elseif ($popup_info['PopupWidth'] != $width || $popup_info['PopupHeight'] != $height) {
// popup found and size in tag differs from one in db -> update in db
$fields_hash = Array (
'PopupWidth' => $width,
'PopupHeight' => $height,
);
$this->Conn->doUpdate($fields_hash, TABLE_PREFIX.'PopupSizes', 'PopupId = '.$popup_info['PopupId']);
}
}
/**
* Returns popup size (by template), if not cached, then parse template to get value
*
* @param Array $params
* @return string
*/
function GetPopupSize($params)
{
$t = $this->Application->GetVar('template_name');
$sql = 'SELECT *
FROM '.TABLE_PREFIX.'PopupSizes
WHERE TemplateName = '.$this->Conn->qstr($t);
$popup_info = $this->Conn->GetRow($sql);
if (!$popup_info) {
$this->Application->InitParser();
$this->Application->ParseBlock(array('name' => $t)); // dies when SetPopupSize tag found & in ajax requrest
return '750x400'; // tag SetPopupSize not found in template -> use default size
}
return $popup_info['PopupWidth'].'x'.$popup_info['PopupHeight'];
}
function UsePopups($params)
{
return (int)$this->Application->ConfigValue('UsePopups');
}
function UseToolbarLabels($params)
{
return (int)$this->Application->ConfigValue('UseToolbarLabels');
}
/**
* Checks if debug mode enabled (optionally) and specified constant is on
*
* @param Array $params
* @return bool
*/
function ConstOn($params)
{
$constant_name = $this->SelectParam($params, 'name,const');
$debug_mode = isset($params['debug_mode']) && $params['debug_mode'] ? $this->Application->isDebugMode() : true;
return $debug_mode && constOn($constant_name);
}
/**
* Builds link to last template in main frame of admin
*
* @param Array $params
* @return string
*/
function MainFrameLink($params)
{
$persistent = isset($params['persistent']) && $params['persistent'];
if ($persistent) {
// check last_template in persistent session
$last_template = $this->Application->RecallPersistentVar('last_template_popup');
}
else {
// check last_template in session
$last_template = $this->Application->RecallVar('last_template_popup'); // because of m_opener=s there
}
if (!$last_template) {
$params['persistent'] = 1;
return $persistent ? false : $this->MainFrameLink($params);
}
list($index_file, $env) = explode('|', $last_template);
$vars = $this->Application->HttpQuery->processQueryString($env, 'pass');
$recursion_templates = Array ('login', 'index', 'no_permission');
if (isset($vars['admin']) && $vars['admin'] == 1) {
// index template doesn't begin recursion on front-end (in admin frame)
$vars['m_theme'] = '';
if (isset($params['m_opener']) && $params['m_opener'] == 'r') {
// front-end link for highlighting purposes
$vars['t'] = 'index';
$vars['m_cat_id'] = $this->Application->findModule('Name', 'Proj-CMS', 'RootCat');
}
unset($recursion_templates[ array_search('index', $recursion_templates)]);
}
if (in_array($vars['t'], $recursion_templates)) {
// prevents redirect recursion OR old in-portal pages
$params['persistent'] = 1;
return $persistent ? false : $this->MainFrameLink($params);
}
$vars = array_merge_recursive2($vars, $params);
$t = $vars['t'];
unset($vars['t'], $vars['persistent']);
return $this->Application->HREF($t, '', $vars, $index_file);
}
function AdminSkin($params)
{
static $style;
if (!isset($style)) {
$style = $this->Conn->GetRow('SELECT * FROM '.TABLE_PREFIX.'Skins WHERE IsPrimary = 1');
}
$css_path = WRITEABLE.'/user_files';
$css_url = $this->Application->BaseURL(WRITEBALE_BASE).'user_files/';
if (isset($params['type']) && $params['type'] == 'logo') {
return $style['Logo'] ? $css_url.$style['Logo'] : '';
}
$last_compiled = $style['LastCompiled'];
$style_name = strtolower( $style['Name'] );
if( file_exists($css_path.'/'.'admin-'.$style_name.'-'.$last_compiled.'.css') )
{
$ret = $css_url.'admin-'.$style_name.'-'.$last_compiled.'.css';
}
else
{
// search for previously compiled stylesheet
$last_compiled = 0;
if( $dh = opendir($css_path) )
{
while( ($file = readdir($dh)) !== false )
{
if( preg_match('/admin-(.*)-([\d]+).css/', $file, $rets) )
{
if( $rets[1] == $style_name && $rets[2] > $last_compiled ) $last_compiled = $rets[2];
}
}
closedir($dh);
}
if ($last_compiled) {
// found
$ret = $css_url.'admin-'.$style_name.'-'.$last_compiled.'.css';
}
else {
// not found (try to compile on the fly)
$object =& $this->Application->recallObject('skin.-item', null, Array ('skip_autoload' => true));
/* @var $object kDBItem */
$skin_eh =& $this->Application->recallObject('skin_EventHandler');
/* @var $skin_eh SkinEventHandler */
$object->Load(1, 'IsPrimary');
$skin_eh->Compile($object);
$ret = $css_url.'admin-'.$style_name.'-'.adodb_mktime().'.css';
}
}
if (isset($params['file_only'])) return $ret;
return '<link rel="stylesheet" rev="stylesheet" href="'.$ret.'" type="text/css" media="screen" />';
}
}
?>
\ No newline at end of file
Property changes on: trunk/core/units/admin/admin_tag_processor.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.42
\ No newline at end of property
+1.43
\ No newline at end of property
Index: trunk/core/units/languages/languages_config.php
===================================================================
--- trunk/core/units/languages/languages_config.php (revision 8900)
+++ trunk/core/units/languages/languages_config.php (revision 8901)
@@ -1,180 +1,179 @@
<?php
$config = Array(
'Prefix' => 'lang',
'ItemClass' => Array('class'=>'LanguagesItem','file'=>'languages_item.php','build_event'=>'OnItemBuild'),
'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
'EventHandlerClass' => Array('class'=>'LanguagesEventHandler','file'=>'languages_event_handler.php','build_event'=>'OnBuild'),
'TagProcessorClass' => Array('class'=>'LanguagesTagProcessor','file'=>'languages_tag_processor.php','build_event'=>'OnBuild'),
'RegisterClasses' => Array(
Array('pseudo'=>'LangXML','class'=>'LangXML_Parser','file'=>'import_xml.php'),
),
'AutoLoad' => true,
'Hooks' => Array(
Array(
'Mode' => hAFTER,
'Conditional' => false,
'HookToPrefix' => 'lang',
'HookToSpecial' => '',
'HookToEvent' => Array('OnSave'),
'DoPrefix' => '',
'DoSpecial' => '',
'DoEvent' => 'OnReflectMultiLingualFields',
),
Array(
'Mode' => hAFTER,
'Conditional' => false,
'HookToPrefix' => 'lang',
'HookToSpecial' => '',
'HookToEvent' => Array('OnPreSave'),
'DoPrefix' => '',
'DoSpecial' => '',
'DoEvent' => 'OnCopyLabels',
),
Array(
'Mode' => hAFTER,
'Conditional' => false,
'HookToPrefix' => 'lang',
'HookToSpecial' => '*',
'HookToEvent' => Array('OnSave'),
'DoPrefix' => '',
'DoSpecial' => '',
'DoEvent' => 'OnUpdatePrimary',
),
Array(
'Mode' => hAFTER,
'Conditional' => false,
'HookToPrefix' => 'lang',
'HookToSpecial' => '*',
'HookToEvent' => Array('OnSave','OnMassDelete'),
'DoPrefix' => '',
'DoSpecial' => '',
'DoEvent' => 'OnScheduleTopFrameReload',
),
),
'QueryString' => Array(
1 => 'id',
2 => 'page',
3 => 'event',
4 => 'mode',
),
'IDField' => 'LanguageId',
'StatusField' => Array('Enabled','PrimaryLang'), // field, that is affected by Approve/Decline events
'TitleField' => 'PackName', // field, used in bluebar when editing existing item
'TitlePresets' => Array(
'default' => Array( 'new_status_labels' => Array('lang'=>'!la_title_Adding_Language!'),
'edit_status_labels' => Array('lang'=>'!la_title_Editing_Language!'),
'new_titlefield' => Array('lang'=>''),
),
'languages_list' => Array( 'prefixes' => Array('lang_List'), 'format' => "!la_title_Configuration! - !la_title_LanguagePacks! (#lang_recordcount#)"),
'languages_edit_general' => Array( 'prefixes' => Array('lang'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_General!"),
'phrases_list' => Array( 'prefixes' => Array('lang','phrases_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_Labels! (#phrases_recordcount#)"),
'import_language' => Array( 'prefixes' => Array('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep1!"),
'import_language_step2' => Array( 'prefixes' => Array('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep2!"),
'export_language' => Array( 'prefixes' => Array('phrases.export'), 'format' => "!la_title_ExportLanguagePackStep1!"),
'export_language_results' => Array( 'prefixes' => Array('phrases.export'), 'format' => "!la_title_ExportLanguagePackResults!"),
'events_list' => Array( 'prefixes' => Array('lang','emailevents_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_EmailEvents! (#emailevents_recordcount#)"),
'event_edit' => Array( 'prefixes' => Array('emailevents'),
'edit_status_labels' => Array('emailevents' => '!la_title_Editing_EmailEvent!'),
'format' => '#emailevents_status# - #emailevents_titlefield#'),
'email_messages_edit' => Array( 'prefixes' => Array('lang','emailmessages'),
'new_titlefield' => Array('emailmessages' => ''),
'format' => "#lang_status# '#lang_titlefield#' - !la_title_EditingEmailEvent! '#emailmessages_titlefield#'"),
),
'PermSection' => Array('main' => 'in-portal:configure_lang'),
- 'Sections' => Array(
- 'in-portal:configure_lang' => Array(
- 'parent' => 'in-portal:system',
- 'icon' => 'conf_regional',
- 'label' => 'la_tab_Regional',
- 'url' => Array('t' => 'regional/languages_list', 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete', 'advanced:set_primary', 'advanced:import', 'advanced:export'),
- 'priority' => 2,
- 'type' => stTREE,
- ),
-
- ),
+ 'Sections' => Array (
+ 'in-portal:configure_lang' => Array (
+ 'parent' => 'in-portal:system',
+ 'icon' => 'conf_regional',
+ 'label' => 'la_tab_Regional',
+ 'url' => Array('t' => 'regional/languages_list', 'pass' => 'm'),
+ 'permissions' => Array('view', 'add', 'edit', 'delete', 'advanced:set_primary', 'advanced:import', 'advanced:export'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
+ ),
'TableName' => TABLE_PREFIX.'Language',
'SubItems' => Array('phrases','emailmessages'),
'FilterMenu' => Array(
'Groups' => Array(
Array('mode' => 'AND', 'filters' => Array(0,1), 'type' => WHERE_FILTER),
),
'Filters' => Array(
0 => Array('label' =>'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 1' ),
1 => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 0' ),
)
),
'AutoDelete' => true,
'AutoClone' => true,
'ListSQLs' => Array( ''=>'SELECT * FROM %s',
), // key - special, value - list select sql
'ItemSQLs' => Array( ''=>'SELECT * FROM %s',
),
'ListSortings' => Array(
'' => Array(
'Sorting' => Array('PackName' => 'asc'),
)
),
'Fields' => Array(
'LanguageId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0),
'PackName' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
'LocalName' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
'Enabled' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(0 => 'la_Disabled', 1 => 'la_Enabled'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 1),
'PrimaryLang' => Array('type' => 'int', 'not_null' => 1, 'default' => 0),
'IconURL' => Array('type' => 'string','default' => null),
'DateFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
'TimeFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
'InputDateFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('m/d/Y' => 'm/d/Y', 'd/m/Y' => 'd/m/Y'), 'not_null' => '1','default' => 'm/d/Y', 'required' => 1),
'InputTimeFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('g:i:s A' => 'g:i:s A', 'g:i A' => 'g:i A', 'H:i:s' => 'H:i:s', 'H:i' => 'H:i' ), 'not_null' => '1','default' => 'g:i:s A', 'required' => 1),
'DecimalPoint' => Array('type' => 'string','not_null' => 1, 'default' => ''),
'ThousandSep' => Array('type' => 'string','not_null' => 1, 'default' => ''),
'Charset' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
'UnitSystem' => Array('type' => 'int','not_null' => 1, 'default' => 1, 'formatter' => 'kOptionsFormatter','options' => Array(1 => 'la_Metric', 2 => 'la_US_UK'),'use_phrases' => 1),
),
'VirtualFields' => Array(
'CopyLabels' => Array('type' => 'int', 'default' => 0),
'CopyFromLanguage' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName', 'option_title_field' => 'PackName', 'option_key_field' => 'LanguageId'),
),
'Grids' => Array(
'Default' => Array(
'Icons' => Array('default'=>'icon16_custom.gif','0_0'=>'icon16_language_disabled.gif','1_0'=>'icon16_language.gif','0_1'=>'icon16_language_disabled.gif','1_1'=>'icon16_language_primary.gif'),
'Fields' => Array(
'PackName' => Array( 'title'=>'la_col_PackName', 'data_block' => 'grid_checkbox_td'),
'LocalName' => Array( 'title'=>'la_col_LocalName' ),
'Enabled' => Array( 'title'=>'la_col_Status', 'filter_block' => 'grid_options_filter'),
),
),
),
);
?>
\ No newline at end of file
Property changes on: trunk/core/units/languages/languages_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.26
\ No newline at end of property
+1.27
\ No newline at end of property
Index: trunk/core/units/general/helpers/mod_rewrite_helper.php
===================================================================
--- trunk/core/units/general/helpers/mod_rewrite_helper.php (revision 8900)
+++ trunk/core/units/general/helpers/mod_rewrite_helper.php (revision 8901)
@@ -1,544 +1,554 @@
<?php
class kModRewriteHelper extends kHelper {
/**
* Holds a refererence to httpquery
*
* @var kHttpQuery
*/
var $HTTPQuery = null;
-
+
function kModRewriteHelper()
{
parent::kHelper();
$this->HTTPQuery =& $this->Application->recallObject('HTTPQuery');
}
function SetDefaultValues(&$vars)
{
$defaults = Array('m_cat_id' => 0, 'm_cat_page' => 1, 'm_opener' => 's');
foreach ($defaults as $default_key => $default_value)
{
if ($this->HTTPQuery->Get($default_key) == null) {
$vars[$default_key] = $default_value;
}
}
}
function ProcessLanguage(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
$res = false;
$url_part = array_shift($url_parts);
$sql = 'SELECT LanguageId FROM '.TABLE_PREFIX.'Language WHERE LOWER(PackName) = '.$this->Conn->qstr($url_part).' AND Enabled = 1';
$language_id = $this->Conn->GetOne($sql);
$this->Application->Phrases = new PhrasesCache();
if($language_id)
{
$vars['m_lang'] = $language_id;
$res = true;
}
// $this->Application->VerifyLanguageId();
if (!$res) {
array_unshift($url_parts, $url_part);
}
return $res;
}
function ProcessTheme(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
$res = false;
$url_part = array_shift($url_parts);
$sql = 'SELECT ThemeId FROM '.TABLE_PREFIX.'Theme WHERE LOWER(Name) = '.$this->Conn->qstr($url_part).' AND Enabled = 1';
$theme_id = $this->Conn->GetOne($sql);
if($theme_id)
{
$vars['m_theme'] = $theme_id;
$res = true;
}
// $this->Application->VerifyThemeId(); // verify anyway - will set default if not found!!!
if (!$res) {
array_unshift($url_parts, $url_part);
}
return $res;
}
function ProcessCategory(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
$res = false;
$url_part = array_shift($url_parts);
$category_id = 0;
$last_category_id = 0;
$category_path = '';
do
{
$category_path = trim($category_path.'/'.$url_part, '/');
if( !preg_match('/^bb_[\d]+/', $url_part) && preg_match('/(.*)_([\d]+)$/', $category_path, $rets) )
{
$category_path = $rets[1];
$vars['m_cat_page'] = $rets[2];
}
$category_id = $this->Conn->GetOne(
'SELECT CategoryId
FROM '.TABLE_PREFIX.'Category
WHERE Status = 1 AND NamedParentPath = '.$this->Conn->qstr($category_path));
if ($category_id !== false) {
$last_category_id = $category_id;
$url_part = array_shift($url_parts);
$res = true;
}
} while ($category_id !== false && $url_part);
$vars['m_cat_id'] = $last_category_id;
if ($url_part) {
array_unshift($url_parts, $url_part);
}
return $res;
}
function ProcessPage(&$url_parts, &$vars)
{
if (!is_numeric($url_parts[0]) || count($url_parts) > 1) return false;
// set module pages for all modules, since we don't know which module will need it
foreach ($this->Application->ModuleInfo as $module_name => $module_data)
{
$vars[ $module_data['Var'].'_id'] = 0;
$vars[ $module_data['Var'].'_Page'] = $url_parts[0];
$vars[ $module_data['Var'].'_Reviews_Page'] = 0;
}
return true;
}
function ProcessModuleIndex(&$url_parts, &$vars)
{
if ( count($url_parts) > 1) return false; // if no more parts or only 1 part left
if ( $url_parts && $url_parts[0] == 'index') { // treat index same as no parts
array_shift($url_parts);
}
if( $url_parts ) { // if parts are left, it can only be module page
if (!is_numeric($url_parts[0])) return false;
$this->ProcessPage($url_parts, $vars);
}
// try to find CMS index page of the category
if ($this->Application->isModuleEnabled('In-CMS')) {
$sql = 'SELECT p.Path, ci.CategoryId FROM '.TABLE_PREFIX.'Pages AS p
LEFT JOIN '.TABLE_PREFIX.'CategoryItems AS ci
ON ci.ItemResourceId = p.ResourceId
WHERE
p.IsIndex = 1
AND
p.Status = 1
AND
CategoryId = '.$vars['m_cat_id'].'
AND
ci.PrimaryCat = 1';
$template_found = $this->Conn->GetRow($sql);
if ($template_found !== false) {
$vars['t'] = $template_found['Path'];
return true;
}
}
$sql = 'SELECT CachedCategoryTemplate
FROM '.TABLE_PREFIX.'Category
WHERE CategoryId = '.$vars['m_cat_id'];
$vars['t'] = $this->Conn->GetOne($sql);
if (!$vars['t']) $vars['t'] = 'index';
return true;
}
function ProcessModuleItem(&$url_parts, &$vars, $set_t=true)
{
if (preg_match('/^bb_.*/', $url_parts[0])) {
$cat_item = $this->Conn->GetRow('
SELECT c.ParentPath, c.CategoryId FROM '.TABLE_PREFIX.'Category AS c
WHERE
c.CategoryId = '.$vars['m_cat_id']);
if ($set_t) {
$item_template = $this->GetItemTemplate($cat_item, 'bb');
$vars['t'] = $item_template;
}
$this->Application->HandleEvent($bb_event, 'bb:ParseEnv', Array('url_parts' => $url_parts, 'vars' => $vars));
$vars = $bb_event->getEventParam('vars');
return 'bb';
}
if (!isset($url_parts[0])) return false;
if ( count($url_parts) != 1 ) return false;
$url_part = array_shift($url_parts);
// match module reviews page
$page = 1;
if( preg_match('/(.*)_([\d]+)$/', $url_part, $rets) )
{
$url_part = $rets[1];
$page = $rets[2];
}
// locating the item in CategoryItems by filename to detect its ItemPrefix and its category ParentPath
$cat_item = $this->Conn->GetRow('
SELECT ci.ItemResourceId, ci.ItemPrefix, c.ParentPath, ci.CategoryId FROM '.TABLE_PREFIX.'CategoryItems AS ci
LEFT JOIN '.TABLE_PREFIX.'Category AS c
ON c.CategoryId = ci.CategoryId
WHERE
ci.CategoryId = '.$vars['m_cat_id'].'
AND
ci.Filename = '.$this->Conn->qstr($url_part));
if ($cat_item !== false) { // item found
$module_prefix = $cat_item['ItemPrefix'];
$item_template = $this->GetItemTemplate($cat_item, $module_prefix);
// converting ResourceId to correpsonding Item id
$module_config = $this->Application->getUnitOptions($module_prefix);
$item_id = $this->Conn->GetOne(
'SELECT '.$module_config['IDField'].' FROM '.$module_config['TableName'].'
WHERE ResourceId = '.$cat_item['ItemResourceId']
);
if ((!$set_t || $item_template) && $item_id) {
if ($set_t) {
$vars['t'] = $item_template;
}
$vars[ $module_prefix.'_id' ] = $item_id;
$vars[ $module_prefix.'_Reviews_Page' ] = $page;
return $module_prefix;
}
}
array_unshift($url_parts, $url_part);
return false;
}
function GetItemTemplate($category, $module_prefix)
{
if (!is_array($category)) {
$category = $this->Conn->GetRow('
SELECT c.ParentPath, c.CategoryId FROM '.TABLE_PREFIX.'Category AS c
WHERE
c.CategoryId = '.$category);
}
$parent_path = implode(',',explode('|', substr($category['ParentPath'], 1, -1)));
// item template is stored in module' system custom field - need to get that field Id
$item_template_field_id = $this->Conn->GetOne(
'SELECT CustomFieldId
FROM '.TABLE_PREFIX.'CustomField
WHERE FieldName = '.$this->Conn->qstr($module_prefix.'_ItemTemplate'));
// looking for item template through cats hierarchy sorted by parent path
$query = 'SELECT ccd.l1_cust_'.$item_template_field_id.',
FIND_IN_SET(c.CategoryId, '.$this->Conn->qstr($parent_path).') AS Ord1,
c.CategoryId, c.Name, ccd.l1_cust_'.$item_template_field_id.'
FROM '.TABLE_PREFIX.'Category AS c
LEFT JOIN '.TABLE_PREFIX.'CategoryCustomData AS ccd
ON ccd.ResourceId = c.ResourceId
WHERE c.CategoryId IN ('.$parent_path.') AND ccd.l1_cust_'.$item_template_field_id.' != \'\'
ORDER BY FIND_IN_SET(c.CategoryId, '.$this->Conn->qstr($parent_path).') DESC';
$item_template = $this->Conn->GetOne($query);
return $item_template;
}
function ProcessPhisycalTemplate(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
$remaining = array();
do
{
$template_path = implode('/', $url_parts);
$t_parts['path'] = dirname($template_path) == '.' ? '' : '/'.dirname($template_path);
$t_parts['file'] = basename($template_path);
$sql = 'SELECT FileId
FROM '.TABLE_PREFIX.'ThemeFiles
WHERE (FilePath = '.$this->Conn->qstr($t_parts['path']).') AND (FileName = '.$this->Conn->qstr($t_parts['file'].'.tpl').')';
// $sql = 'SELECT FileId FROM '.TABLE_PREFIX.'ThemeFiles WHERE CONCAT(FilePath, "/", FileName) = '.$this->Conn->qstr('/'.$template_path.'.tpl');
$template_found = $this->Conn->GetOne($sql);
if(!$template_found)
{
array_unshift($remaining, array_pop($url_parts));
}
} while (!$template_found && $url_parts);
$url_parts = $remaining;
if ($template_found) {
$vars['t'] = $template_path;
return true;
}
return false;
}
/**
* Checks if whole url_parts matches a whole In-CMS page
*
* @param array $url_parts
* @return boolean
*/
function ProcessVirtualTemplate(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
if ($this->Application->isModuleEnabled('Proj-CMS')) {
$friendly = $this->Conn->GetRow(
' SELECT CategoryId, NamedParentPath FROM '.TABLE_PREFIX.'Category
WHERE FriendlyURL = '.$this->Conn->qstr(implode('/', $url_parts)));
if ($friendly) {
$vars['m_cat_id'] = $friendly['CategoryId'];
$vars['t'] = preg_replace('/^content\//i', '', $friendly['NamedParentPath']);
return true;
}
$template_path = 'content/'.implode('/', $url_parts);
- $sql = 'SELECT CategoryId FROM '.TABLE_PREFIX.'Category
+ $sql = 'SELECT CategoryId, IsIndex, NamedParentPath FROM '.TABLE_PREFIX.'Category
WHERE
LOWER(NamedParentPath) = '.$this->Conn->qstr($template_path).'
AND
Status IN (1,4) ';
$template_found = $this->Conn->GetRow($sql);
if ($template_found) {
+ // IsIndex = 2 is a Container-only page, meaning it should go to index-page child
+ if ($template_found['IsIndex'] == 2) {
+ $template_found = $this->Conn->GetRow('
+ SELECT CategoryId, NamedParentPath FROM '.TABLE_PREFIX.'Category
+ WHERE ParentId = '.$template_found['CategoryId'].' AND IsIndex = 1
+ ');
+ $vars['t'] = preg_replace('/^content\//i', '', $template_found['NamedParentPath']);
+ }
+ else {
+ $vars['t'] = implode('/', $url_parts);
+ }
$vars['m_cat_id'] = $template_found['CategoryId'];
- $vars['t'] = implode('/', $url_parts);
$vars['is_virtual'] = true; // for template from POST
return true;
}
}
if ($this->Application->isModuleEnabled('In-Edit')) {
$template_path = implode('/', $url_parts);
$sql = 'SELECT p.PageId, ci.CategoryId FROM '.TABLE_PREFIX.'Pages AS p
LEFT JOIN '.TABLE_PREFIX.'CategoryItems AS ci
ON ci.ItemResourceId = p.ResourceId
WHERE
Path = '.$this->Conn->qstr($template_path).'
AND
ci.PrimaryCat = 1
AND
p.Status = 1';
$template_found = $this->Conn->GetRow($sql);
if ($template_found) {
$vars['m_cat_id'] = $template_found['CategoryId'];
$vars['t'] = $template_path;
return true;
}
}
return false;
}
function processRewriteURL()
{
$passed = array();
$url = $this->HTTPQuery->Get('_mod_rw_url_');
if( substr($url, -5) == '.html' ) $url = substr($url, 0, strlen($url) - 5 );
$restored = false;
$cache = $this->Conn->GetRow('SELECT Data, Cached FROM '.TABLE_PREFIX.'Cache WHERE VarName = "mod_rw_'.md5($url).'"');
if (false && $cache && $cache['Cached'] > 0) {
$cache = unserialize($cache['Data']);
$vars = $cache['vars'];
$passed = $cache['passed'];
$restored = true;
}
else {
$passed = array();
$vars = $this->parseRewriteURL($url,$passed);
$cache = array('vars'=>$vars,'passed'=>$passed);
$this->Conn->Query('REPLACE '.TABLE_PREFIX.'Cache (VarName, Data, Cached) VALUES ("mod_rw_'.md5($url).'", '.$this->Conn->qstr(serialize($cache)).', '.adodb_mktime().')');
-
+
if (isset($this->HTTPQuery->Post['t']) && $this->HTTPQuery->Post['t']) {
// template from POST overrides template from URL.
$vars['t'] = $this->HTTPQuery->Post['t'];
if (isset($vars['is_virtual']) && $vars['is_virtual']) {
$vars['m_cat_id'] = 0; // this is virtual template category (for Proj-CMS)
}
}
unset($vars['is_virtual']);
}
foreach ($vars as $name => $value)
{
$this->HTTPQuery->Set($name,$value);
}
// if ($restored) {
$this->InitAll();
// }
$this->HTTPQuery->finalizeParsing($passed);
}
function InitAll()
{
// $this->Application->Phrases = new PhrasesCache();
$this->Application->VerifyLanguageId();
$this->Application->Phrases->Init('phrases');
$this->Application->VerifyThemeId();
}
function parseRewriteURL($url, &$passed)
{
$vars = $this->Conn->GetRow('SELECT Data, Cached FROM '.TABLE_PREFIX.'Cache WHERE VarName = "mod_rw_'.md5($url).'"');
if (false && $vars && $vars['Cached'] > 0) {
$vars = unserialize($menu['Data']);
return $vars;
}
$vars = array();
$url_parts = $url ? explode('/', trim($url, '/')) : Array();
$process_module = true;
if($this->HTTPQuery->Get('rewrite') == 'on' || !$url_parts)
{
$this->SetDefaultValues($vars);
}
if(!$url_parts)
{
$this->InitAll();
$vars['t'] = $this->HTTPQuery->getDefaultTemplate('');
$passed[] = 'm';
return $vars;
}
else
{
$vars['t'] = '';
}
$passed = Array('m');
$this->ProcessLanguage($url_parts, $vars);
$this->ProcessTheme($url_parts, $vars);
if ( $this->ProcessVirtualTemplate($url_parts, $vars) ) {
return $vars;
}
$this->ProcessCategory($url_parts, $vars);
if ( $this->ProcessModuleIndex($url_parts, $vars) ) {
foreach ($this->Application->ModuleInfo as $module_name => $info) {
$passed[] = $info['Var'];
}
return $vars;
}
if ( $module_prefix = $this->ProcessModuleItem($url_parts, $vars) ) {
$passed[] = $module_prefix;
return $vars;
}
/*// match module
$next_template = $this->HTTPQuery->Get('next_template');
if($url_part || $next_template)
{
if($next_template)
{
$next_template_parts = explode('/', $next_template);
$module_folder = array_shift($next_template_parts);
}
else
{
$module_folder = $url_part;
}
foreach ($this->Application->ModuleInfo as $module_name => $module_data)
{
if( trim($module_data['TemplatePath'], '/') == $module_folder )
{
$module_prefix = $module_data['Var'];
break;
}
}
}*/
if ( $this->ProcessPhisycalTemplate($url_parts, $vars) ) {
if (!$url_parts) {
return $vars;
}
}
if ( $this->ProcessPage($url_parts, $vars) ) {
if (count($passed) == 1) {// passed contains only 1 value which is 'm'
// this may be search results page, so we need to find out the module, especially for old in-portal
foreach ($this->Application->ModuleInfo as $module_name => $module_data)
{
if (!$module_data['TemplatePath']) continue;
if( preg_match('/^'.preg_quote($module_data['TemplatePath'], '/').'/i', $vars['t']) )
{
$module_prefix = $module_data['Var'];
break;
}
}
$passed[] = $module_prefix;
}
return $vars;
}
if ( $module_prefix = $this->ProcessModuleItem($url_parts, $vars, false) ) {
$passed[] = $module_prefix;
return $vars;
}
if ( $this->Application->isModuleEnabled('In-Edit') && $this->Application->GetVar('admin') == 1) {
$adm_ses =& $this->Application->recallObject('Session.admin');
$user = $adm_ses->RecallVar('user_id');
$perm_helper =& $this->Application->recallObject('PermissionsHelper');
if ($perm_helper->CheckUserPermission($user, 'PAGE.ADD', 0)) {
$vars['t'] = implode('/', $url_parts);
return $vars;
}
}
$not_found = $this->Application->ConfigValue('ErrorTemplate');
$vars['t'] = $not_found ? $not_found : 'error_notfound';
header('HTTP/1.0 404 Not Found');
return $vars;
// $this->HTTPQuery->finalizeParsing($passed, $module_params);
// pass params left to module
/*$this->Application->Phrases->Init('phrases');
$passed = Array('m');
$module_params = Array();
if ( isset($module_prefix) ) {
$passed[] = $module_prefix;
$module_event = new kEvent($module_prefix.':ParseEnv', Array('url_parts' => $url_parts) );
if ($process_module) {
$this->Application->HandleEvent($module_event);
}
$item_id = $this->HTTPQuery->Get($module_prefix.'_id');
$module_params = Array($module_prefix.'_id' => $item_id ? $item_id : '0' );
if ($module_event->status == erFAIL) {
$not_found = $this->Application->ConfigValue('ErrorTemplate');
$this->HTTPQuery->Set('t', $not_found ? $not_found : 'error_notfound' );
}
}
$this->HTTPQuery->finalizeParsing($passed, $module_params);*/
}
}
?>
\ No newline at end of file
Property changes on: trunk/core/units/general/helpers/mod_rewrite_helper.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.10
\ No newline at end of property
+1.11
\ No newline at end of property
Index: trunk/core/admin_templates/skins/skin_edit.tpl
===================================================================
--- trunk/core/admin_templates/skins/skin_edit.tpl (revision 8900)
+++ trunk/core/admin_templates/skins/skin_edit.tpl (revision 8901)
@@ -1,285 +1,285 @@
<inp2:adm_SetPopupSize width="750" height="570"/>
<inp2:m_include t="incs/header" body_properties="" />
<inp2:m_RenderElement name="combined_header" section="in-portal:skins" prefix="skin" title_preset="skin_edit" pagination="0"/>
<!-- 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('skin','<inp2:skin_SaveEvent/>');
}
));
a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
cancel_edit('skin','OnCancelEdit','<inp2:skin_SaveEvent/>','<inp2:m_Phrase label="la_FormCancelConfirmation" escape="1"/>');
}
));
a_toolbar.AddButton( new ToolBarButton('reset_edit', '<inp2:m_phrase label="la_ToolTip_Reset" escape="1"/>', function() {
reset_form('skin', 'OnReset', '<inp2:m_Phrase label="la_FormResetConfirmation" escape="1"/>');
}
));
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('skin', '<inp2:skin_PrevId/>');
}
));
a_toolbar.AddButton( new ToolBarButton('next', '<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>', function() {
go_to_id('skin', '<inp2:skin_NextId/>');
}
));
a_toolbar.Render();
<inp2:m_if check="skin_IsSingle" >
a_toolbar.HideButton('prev');
a_toolbar.HideButton('next');
a_toolbar.HideButton('sep1');
<inp2:m_else/>
<inp2:m_if check="skin_IsLast" >
a_toolbar.DisableButton('next');
</inp2:m_if>
<inp2:m_if check="skin_IsFirst" >
a_toolbar.DisableButton('prev');
</inp2:m_if>
</inp2:m_if>
</script>
<script src="js/swfobject.js" type="text/javascript"></script>
<script type="text/javascript" src="js/uploader.js"></script>
</td>
<!--<inp2:m_RenderElement name="ml_selector" prefix="skin"/>-->
</tr>
</tbody>
</table>
<inp2:m_DefineElement name="replacement_item" subfield="" class="" is_last="" maxlength="" onblur="" 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="$Description" 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"/>[<inp2:m_Param name="key"/>][Value]" id="<inp2:{$prefix}_InputName field="$field" subfield="$subfield"/>[<inp2:m_Param name="key"/>]" value="<inp2:m_Param name="Value"/>">
</td>
</tr>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_serialized" subfield="" class="" is_last="" maxlength="" onblur="" size="" onkeyup="" style="width: 100%">
<inp2:PrintSerializedFields pass_params="1" field="$field" render_as="$item_render_as"/>
</inp2:m_DefineElement>
<inp2:skin_SaveWarning name="grid_save_warning"/>
<inp2:skin_ErrorWarning name="form_error_warning"/>
<div id="scroll_container">
<table width="100%" border="0" cellspacing="0" cellpadding="4" class="tableborder" style="border-collapse: separate;">
<inp2:m_RenderElement name="inp_id_label" prefix="skin" field="SkinId" title="!la_fld_Id!"/>
<inp2:m_RenderElement name="inp_edit_box_ml" prefix="skin" field="Name" title="!la_fld_SkinName!" style="width: 100px"/>
<inp2:m_RenderElement name="inp_edit_swf_upload" prefix="skin" field="Logo" title="!la_fld_Logo!"/>
<style type="text/css">
.skin-table td {width: 90px};
</style>
<tr class="<inp2:m_odd_even odd="edit-form-odd" even="edit-form-even"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="skin" field="Options" title="la_HeadFrame"/>
<td class="control-cell">
<table class="skin-table">
<tr>
<td>Font Color (HeadColor)</td>
<td>Background (HeadBgColor)</td>
<td>Bar Text Color (HeadBarColor)</td>
<td>Bar Background (HeadBarBgColor)</td>
</tr>
<tr>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[HeadColor][Value]"
value="<inp2:skin_Field name="Options" format="HeadColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[HeadBgColor][Value]"
value="<inp2:skin_Field name="Options" format="HeadBgColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[HeadBarColor][Value]"
value="<inp2:skin_Field name="Options" format="HeadBarColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[HeadBarBgColor][Value]"
value="<inp2:skin_Field name="Options" format="HeadBarBgColor.Value"/>">
</td>
</tr>
</table>
</td>
</tr>
</tr>
<tr class="<inp2:m_odd_even odd="edit-form-odd" even="edit-form-even"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="skin" field="Options" title="la_GeneralSections"/>
<td class="control-cell">
<table class="skin-table">
<tr>
<td>Section Title Color (SectionColor)</td>
<td>Section Background (SectionBgColor)</td>
<td>Titlebar Font Color (TitleBarColor)</td>
<td>Titlebar Background (TitleBarBgColor)</td>
</tr>
<tr>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[SectionColor][Value]"
value="<inp2:skin_Field name="Options" format="SectionColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[SectionBgColor][Value]"
value="<inp2:skin_Field name="Options" format="SectionBgColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[TitleBarColor][Value]"
value="<inp2:skin_Field name="Options" format="TitleBarColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[TitleBarBgColor][Value]"
value="<inp2:skin_Field name="Options" format="TitleBarBgColor.Value"/>">
</td>
</tr>
</table>
</td>
</tr>
</tr>
<tr class="<inp2:m_odd_even odd="edit-form-odd" even="edit-form-even"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="skin" field="Options" title="la_DataGrid1"/>
<td class="control-cell">
<table class="skin-table">
<tr>
<td>Toolbar Backgroun (ToolbarBgColor)</td>
<td>Filter Row Background (FiltersBgColor)</td>
<td>Column Titles Color (ColumnTitlesColor)</td>
<td>Column Titles Background (ColumnTitlesBgColor)</td>
</tr>
<tr>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[ToolbarBgColor][Value]"
value="<inp2:skin_Field name="Options" format="ToolbarBgColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[FiltersBgColor][Value]"
value="<inp2:skin_Field name="Options" format="FiltersBgColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[ColumnTitlesColor][Value]"
value="<inp2:skin_Field name="Options" format="ColumnTitlesColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[ColumnTitlesBgColor][Value]"
value="<inp2:skin_Field name="Options" format="ColumnTitlesBgColor.Value"/>">
</td>
</tr>
</table>
</td>
</tr>
</tr>
<tr class="<inp2:m_odd_even odd="edit-form-odd" even="edit-form-even"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="skin" field="Options" title="la_DataGrid2"/>
<td class="control-cell">
<table class="skin-table">
<tr>
<td>Grid Odd Row Color (OddColor)</td>
<td>Grid Odd Row Background Color (OddBgColor)</td>
<td>Grid Even Row Color (EvenColor)</td>
<td>Grid Even Row Background Color (EvenBgColor)</td>
</tr>
<tr>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[OddColor][Value]"
value="<inp2:skin_Field name="Options" format="OddColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[OddBgColor][Value]"
value="<inp2:skin_Field name="Options" format="OddBgColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[EvenColor][Value]"
value="<inp2:skin_Field name="Options" format="EvenColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[EvenBgColor][Value]"
value="<inp2:skin_Field name="Options" format="EvenBgColor.Value"/>">
</td>
</tr>
</table>
</td>
</tr>
</tr>
<tr class="<inp2:m_odd_even odd="edit-form-odd" even="edit-form-even"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="skin" field="Options" title="la_Trees"/>
<td class="control-cell">
<table class="skin-table">
<tr>
<td>Tree Color (TreeColor)</td>
<td>Tree Background Color (TreeBgColor)</td>
<td>Tree Highlighted Color (TreeHighColor)</td>
<td>Tree Highlighted Background Color (TreeHighBgColor)</td>
</tr>
<tr>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[TreeColor][Value]"
value="<inp2:skin_Field name="Options" format="TreeColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[TreeBgColor][Value]"
value="<inp2:skin_Field name="Options" format="TreeBgColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[TreeHighColor][Value]"
value="<inp2:skin_Field name="Options" format="TreeHighColor.Value"/>">
</td>
<td>
<input style="width: 80px" type="text"
name="<inp2:skin_InputName field="Options"/>[TreeHighBgColor][Value]"
value="<inp2:skin_Field name="Options" format="TreeHighBgColor.Value"/>">
</td>
</tr>
</table>
</td>
</tr>
</tr>
<!-- <inp2:m_RenderElement name="inp_edit_serialized" prefix="skin" field="Options" title="!la_fld_Options!" style="width: 100px" item_render_as="replacement_item"/>-->
- <inp2:m_RenderElement name="inp_edit_textarea" prefix="skin" field="CSS" title="!la_fld_CSS!"/>
+ <inp2:m_RenderElement name="inp_edit_textarea" prefix="skin" field="CSS" title="!la_fld_CSS!" control_options="{min_height: 300}"/>
</table>
</div>
<inp2:m_include t="incs/footer"/>
Property changes on: trunk/core/admin_templates/skins/skin_edit.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.3
\ No newline at end of property
+1.4
\ No newline at end of property
Index: trunk/core/admin_templates/tree.tpl
===================================================================
--- trunk/core/admin_templates/tree.tpl (revision 8900)
+++ trunk/core/admin_templates/tree.tpl (revision 8901)
@@ -1,125 +1,125 @@
<inp2:m_Set skip_last_template="1"/>
<inp2:m_include t="incs/header" nobody="yes" noform="yes"/>
<inp2:m_NoDebug/>
<body style="margin: 0px; height: 100%" bgcolor="#DCEBF6">
<inp2:m_RenderElement name="kernel_form"/>
<script type="text/javascript">
function credits(url)
{
var width = 200;
var height = 200;
var screen_x = (screen.availWidth-width)/2;
var screen_y = (screen.availHeight-height)/2;
window.open(url, 'credits', 'width=280,height=520,left='+screen_x+',top='+screen_y);
}
</script>
<script src="js/ajax.js"></script>
<script src="js/tree.js"></script>
<style type="text/css">
.tree_head.td, .tree_head, .tree_head:hover {
font-weight: bold;
font-size: 10px;
color: #FFFFFF;
font-family: Verdana, Arial;
text-decoration: none;
}
.tree {
padding: 0px;
border: none;
border-collapse: collapse;
}
.tree tr td {
padding: 0px;
margin: 0px;
font-family: helvetica, arial, verdana,;
font-size: 11px;
white-space: nowrap;
}
.tree tr td a {
font-size: 11px;
color: #000000;
font-family: Helvetica, Arial, Verdana;
text-decoration: none;
}
.tree tr td a:hover {
color: #009FF0;
}
</style>
<table style="height: 100%; width: 100%; border-collapse: collapse;" border="0">
<tr style="background: #5291DE url(img/menu_bar.gif) repeat-x left bottom;" class="tree_head">
<td align="left" width="80%" height="21">
&nbsp;<a class="tree_head" href="javascript:credits('<inp2:m_Link index_file="help/credits.php" destform="popup"/>');">In-Portal v <inp2:adm_ModuleVersion module="In-Portal"/></a>
</td>
<td align="right" width="20%">
<select name="language" style="width: 62px; border: 0px; background-color: #FFFFFF; font-size: 9px; color: black;" onchange="submit_event('lang', 'OnChangeLanguage', 'index');">
<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="PackName"/></option>
</inp2:m_DefineElement>
<inp2:lang_ListLanguages render_as="lang_elem" row_start_render_as="html:" row_end_render_as="html:"/>
</select>
</td>
</tr>
<tr>
<td colspan="2" style="vertical-align: top; padding: 5px;">
<inp2:m_DefineElement name="xml_node" icon_module="">
<inp2:m_if check="m_ParamEquals" param="children_count" value="0">
- <item href="<inp2:m_param name="section_url"/>" priority="<inp2:m_param name="priority"/>" onclick="<inp2:m_param name="onclick"/>" icon="<inp2:$SectionPrefix_ModulePath module="$icon_module"/>img/icons/icon24_<inp2:m_param name="icon"/>.gif"><inp2:m_phrase name="$label" escape="1"/></item>
+ <item href="<inp2:m_param name="section_url" js_escape="1"/>" priority="<inp2:m_param name="priority"/>" onclick="<inp2:m_param name="onclick" js_escape="1"/>" icon="<inp2:$SectionPrefix_ModulePath module="$icon_module"/>img/icons/icon24_<inp2:m_param name="icon"/>.gif"><inp2:m_phrase name="$label" escape="1"/></item>
<inp2:m_else/>
- <folder href="<inp2:m_param name="section_url"/>" priority="<inp2:m_param name="priority"/>" onclick="<inp2:m_param name="onclick"/>" name="<inp2:m_phrase name="$label" escape="1"/>" icon="<inp2:$SectionPrefix_ModulePath module="$icon_module"/>img/icons/icon24_<inp2:m_param name="icon"/>.gif" load_url="<inp2:m_param name="late_load"/>"><inp2:adm_PrintSections render_as="xml_node" section_name="$section_name"/></folder>
+ <folder href="<inp2:m_param name="section_url" js_escape="1"/>" priority="<inp2:m_param name="priority"/>" onclick="<inp2:m_param name="onclick" js_escape="1"/>" name="<inp2:m_phrase name="$label" escape="1"/>" icon="<inp2:$SectionPrefix_ModulePath module="$icon_module"/>img/icons/icon24_<inp2:m_param name="icon"/>.gif" load_url="<inp2:m_param name="late_load" js_escape="1"/>"><inp2:adm_PrintSections render_as="xml_node" section_name="$section_name"/></folder>
</inp2:m_if>
</inp2:m_DefineElement>
<table class="tree">
<tbody id="tree">
</tbody>
</table>
<script type="text/javascript">
var TREE_ICONS_PATH = 'img/tree';
var TREE_SHOW_PRIORITY = <inp2:m_if check="adm_ConstOn" name="DBG_SHOW_TREE_PRIORITY" debug_mode="1">1<inp2:m_else/>0</inp2:m_if>;
<inp2:m_DefineElement name="root_node">
var the_tree = new TreeFolder('tree', '<inp2:m_param name="label"/>', '<inp2:m_param name="section_url"/>', '<inp2:$SectionPrefix_ModulePath module="$icon_module"/>img/icons/icon24_<inp2:m_param name="icon"/>.gif', null, null, '<inp2:m_param name="priority"/>');
</inp2:m_DefineElement>
<inp2:adm_PrintSection render_as="root_node" section_name="in-portal:root"/>
the_tree.AddFromXML('<tree><inp2:adm_PrintSections render_as="xml_node" section_name="in-portal:root"/></tree>');
</script>
</td>
</tr>
</table>
<inp2:m_include t="incs/footer"/>
<script type="text/javascript">
// when changing language submit is made to frameset, not the current frame
var $kf = document.getElementById($form_name);
$kf.target = 'main_frame';
function checkCatalog($cat_id) {
var $ret = checkEditMode();
var $right_frame = getFrame('main');
if ($ret && $right_frame.$is_catalog) {
$right_frame.$Catalog.go_to_cat($cat_id);
return 1; // this opens folder, but disables click
}
return $ret;
}
function checkEditMode()
{
var $phrase = "<inp2:adm_TreeEditWarrning label="la_EditingInProgress" escape="1"/>";
if (getFrame('main').$edit_mode) {
return confirm($phrase) ? true : false;
}
return true;
}
</script>
\ No newline at end of file
Property changes on: trunk/core/admin_templates/tree.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.6
\ No newline at end of property
+1.7
\ No newline at end of property
Index: trunk/core/admin_templates/js/forms.js
===================================================================
--- trunk/core/admin_templates/js/forms.js (revision 8900)
+++ trunk/core/admin_templates/js/forms.js (revision 8901)
@@ -1,132 +1,246 @@
var last_shown_error = false;
var errors = new Object();
var first_error = new Object();
var fields = new Object();
function show_form_error(prefix, field, sticky)
{
if (isset(errors[prefix]) && isset(errors[prefix][field])) {
span = document.getElementById('error_msg_'+prefix);
span.innerHTML = fields[prefix][field] + ' - ' + errors[prefix][field];
if (sticky) last_shown_error = field;
}
}
function hide_form_error(prefix)
{
span = document.getElementById('error_msg_'+prefix);
if (!span) return;
span.innerHTML = '<br/>';
if (typeof(last_shown_error) != 'undefined' && last_shown_error) {
show_form_error(prefix, last_shown_error);
}
}
function add_form_error(prefix, field, element, error_msg) {
if (error_msg != '') {
if (typeof(errors[prefix]) == 'undefined') {
errors[prefix] = new Object();
}
errors[prefix][field] = error_msg;
addEvent(document.getElementById(element), 'focus', function() {
show_form_error(prefix, field, true)
} );
addEvent(document.getElementById(element), 'blur', function() {last_shown_error = false} )
if (typeof(first_error[prefix]) == 'undefined' || first_error[prefix] == false) {
first_error[prefix] = [field, element];
}
}
}
function Form() {}
Form = new Form();
Form.Controls = new Array();
Form.Div = false;
Form.MinControlsHeight = 0;
-Form.Coeffs = new Object();
+Form.Options = new Object();
+Form.FlexibleCount = 0;
Form.ScrollerW = 17;
Form.ScrollerH = 17;
Form.Wrap = true;
Form.Init = function(id)
{
this.Div = document.getElementById(id);
for (var i in this.Controls) {
dim = getDimensions(document.getElementById(this.Controls[i]));
- this.MinControlsHeight += dim.innerHeight;
-// alert('adding element '+this.Controls[i]+' height: '+dim.innerHeight+' total: '+this.MinControlsHeight)
+ options = this.Options[this.Controls[i]];
+ if (options.height) { // fixed height
+ options.min_height = options.height;
+ options.max_height = options.height;
+ }
+ if (!options.min_height) options.min_height = dim.innerHeight;
+ this.MinControlsHeight += options.min_height;
+ if (dim.innerHeight < options.min_height) {
+ document.getElementById(this.Controls[i]).style.height = options.min_height+'px';
+ }
+// alert('adding element '+this.Controls[i]+' height: '+options.min_height+' total: '+this.MinControlsHeight)
}
+ /*alert('one more time');
document.body.style.height = '100%';
document.body.style.overflow = 'hidden';
document.body.scroll = 'no'
+ alert('done');*/
var a_div = document.createElement('DIV');
a_div.style.position = 'relative';
a_div.style.overflow = 'auto';
a_div.style.width = '100%';
- a_div.style.height = '100%';
+// a_div.style.height = '100%';
+// a_div.style.backgroundColor = 'yellow';
a_div.appendChild(el.parentNode.replaceChild(a_div, el))
this.Table = this.Div.getElementsByTagName('table')[0];
this.Table.style.height = 'auto';
+ this.Table.style.width = 'auto';
this.MinHeight = this.Table.offsetHeight;
this.MinWidth = this.Table.offsetWidth;
+// alert('Measuring min width now')
+
addEvent(window, 'resize', function() {Form.Resize()})
this.Resize()
if (isset(first_error)) {
for (var i in first_error) {
if (first_error[i] != false) {
document.getElementById(first_error[i][1]).focus();
show_form_error(i, first_error[i][0], true);
// alert('focused on '+first_error[i][1])
}
}
}
}
-Form.addControl = function(id, coeff) {
+Form.addControl = function(id, options) {
this.Controls.push(id);
- this.Coeffs[id] = coeff ? coeff : 1; // for future use
+ if (!options) {
+ options = {coeff: 1, max_height: 0, min_height: 0};
+ }
+ else {
+ if (typeof(options['coeff']) == 'undefined') options['coeff'] = 1;
+ if (typeof(options['max_height']) == 'undefined') options['max_height'] = 0;
+ if (typeof(options['min_height']) == 'undefined') options['min_height'] = 0;
+ }
+ options['real_height'] = 0;
+ this.Options[id] = options; // for future use
+// print_pre(this.Options[id]);
}
Form.Resize = function()
{
var h = (document.all ? window.document.body.offsetHeight : window.innerHeight);
var pos = findPos(el);
var dim = getDimensions(this.Div);
h -= pos[1] + dim.padding[0] + dim.padding[2] + dim.borders[0] + dim.borders[2];
+// alert('h after correction is '+h);
var w = (document.all ? window.document.body.offsetWidth : window.innerWidth);
w -= pos[0] + dim.padding[1] + dim.padding[3] + dim.borders[1] + dim.borders[3];
- scroller_height = this.MinWidth >= w ? this.ScrollerH : 0;
- scroller_width = this.MinHeight >= h - scroller_height ? this.ScrollerW : 0;
- scroller_height = this.MinWidth >= w - scroller_width ? this.ScrollerH : 0;
+ scroller_height = this.MinWidth > w ? this.ScrollerH : 0;
+ scroller_width = this.MinHeight > h - scroller_height ? this.ScrollerW : 0;
+ scroller_height = this.MinWidth > w - scroller_width ? this.ScrollerH : 0;
+
+ var st = document.getElementById('width_status');
+ if (st) st.innerHTML = 'minWdith: '+this.MinWidth+' minHeight: '+this.MinHeight+' w: '+w+' h: '+h+' scroll_w: '+scroller_width+' scroll_h: '+scroller_height;
+
+// alert('scroller W x H = '+scroller_width+' x '+scroller_height);
// alert('resize: '+w+'x'+h)
+// h -= 100;
+
this.Table.style.width = (w-scroller_width) + 'px';
- this.Div.style.width = (w)+'px';
+ this.Div.style.width = (w-scroller_width)+'px';
this.Div.style.height = (h)+'px';
var count = this.Controls.length;
// -count here is adjustment - 1px for each control
- var split = h - count - this.MinHeight + this.MinControlsHeight;
+ var split = h - count*2 - this.MinHeight + this.MinControlsHeight;
if (split < this.MinControlsHeight) split = this.MinControlsHeight;
- var new_height = Math.round(split / count) -2;
+
+ this.ResetHeights();
+ var used = this.SetMinHeights();
+ split -= used;
+
+ var cur_diff = 0;
+ var iterations = 0;
+ do {
+ var prev_diff = cur_diff;
+ var cur_diff = this.SplitExtra(split);
+ split = cur_diff;
+ iterations++;
+ } while (cur_diff != 0 && cur_diff != prev_diff && iterations < 10);
+
+ for (var i in this.Controls) {
+ document.getElementById(this.Controls[i]).style.height = this.Options[this.Controls[i]]['real_height'] + 'px';
+// document.getElementById(this.Controls[i]).value = this.Options[this.Controls[i]]['real_height'];
+ }
// alert('h is: '+h+' min height is '+this.MinHeight+' MinControlsHeight is '+this.MinControlsHeight+' -> '+split+' to split between '+count+' new height is '+new_height);
// print_pre(this.Controls)
+}
+
+Form.ResetHeights = function()
+{
+ for (var i in this.Controls) {
+ var options = this.Options[this.Controls[i]]
+ options['real_height'] = 0;
+ options.fixed = false;
+ }
+ this.FlexibleCount = this.Controls.length;
+}
+
+
+// Enlarge heights when possible
+// Return any not split pixels number
+Form.SplitExtra = function(split)
+{
+ var number = 0;
+
+ for (var i in this.Controls) {
+ var options = this.Options[this.Controls[i]]
+ if (options['max_height'] ==0 || options['real_height'] < options.max_height) {
+ number++;
+ }
+ }
+
+ if (number == 0) return 0;
+
+ var delta = Math.floor(split / number);
+// alert('splitting '+split+' between '+number+' delta is '+delta)
+ var added = 0;
for (var i in this.Controls) {
- document.getElementById(this.Controls[i]).style.height = new_height + 'px';
+ var options = this.Options[this.Controls[i]];
+ var to_add;
+ if (options['max_height'] != 0 && options['real_height']+delta > options['max_height']) {
+ to_add = options['max_height']-options['real_height'];
+ }
+ else {
+ to_add = delta;
+ }
+// alert('delta: '+delta+' current real: '+options['real_height']+' min: '+options['min_height']+' max:'+options['max_height']+' to_add: '+to_add)
+ options['real_height'] = options['real_height']+to_add;
+ added += to_add;
}
+// alert('added total '+added)
+
+ // removing extra added from the last (any) control
+ if (added > split) {
+ extra = added-split;
+ options['real_height'] -= extra;
+ added -= extra;
+ }
+ return split - added;
}
+
+Form.SetMinHeights = function()
+{
+ var used = 0;
+ for (var i in this.Controls) {
+ var options = this.Options[this.Controls[i]]
+ if (options['real_height'] < options['min_height']) {
+ options['real_height'] = options.min_height;
+ used += options.min_height;
+ }
+ }
+ return used;
+}
\ No newline at end of file
Property changes on: trunk/core/admin_templates/js/forms.js
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.3
\ No newline at end of property
+1.4
\ No newline at end of property
Index: trunk/core/install/utf.php
===================================================================
--- trunk/core/install/utf.php (nonexistent)
+++ trunk/core/install/utf.php (revision 8901)
@@ -0,0 +1,131 @@
+<?php
+
+// comment out this line to run the script
+die(' Should be enabled by the administrator! ');
+
+$start = getmicrotime();
+
+define('FULL_PATH', realpath(dirname(__FILE__)).'/../../');
+define('REL_PATH', '/core/install');
+include_once(FULL_PATH.'/core/kernel/startup.php');
+
+$application =& kApplication::Instance();
+$application->Init();
+
+header('Content-type: text/html; charset: utf-8');
+
+if (!defined('DEBUG_MODE') || !DEBUG_MODE) exit;
+
+$target_charset = 'utf8';
+$target_collation = 'utf8_general_ci';
+
+//$target_charset = 'latin1';
+//$target_collation = 'latin1_swedish_ci';
+
+ini_set('max_execution_time', 0);
+
+// Convert language translation
+$langs = $application->Conn->Query('SELECT * FROM '.TABLE_PREFIX.'Language', 'LanguageId');
+foreach ($langs as $lang_id => $a_lang) {
+ switch ( strtoupper($a_lang['Charset']) ) {
+ case 'WINDOWS-1251':
+ $langs[$lang_id]['mysql_charset'] = 'cp1251';
+ break;
+ default:
+ $langs[$lang_id]['mysql_charset'] = 'latin1';
+ }
+}
+
+print_pre($langs);
+
+//die();
+
+$query = 'ALTER DATABASE `'.SQL_DB.'` DEFAULT CHARACTER SET '.$target_charset.' COLLATE '.$target_collation;
+//$application->Conn->Query($query);
+
+$query = 'SHOW TABLE STATUS';
+$tables = $application->Conn->Query($query);
+
+foreach ($tables as $table_status)
+{
+ $table = $table_status['Name'];
+
+ if ($table_status['Collation'] != $target_collation) {
+ $sql = 'ALTER TABLE '.$table.' COLLATE '.$application->Conn->qstr($target_collation);
+ echo "$sql<br>\n";
+ $application->Conn->Query($sql);
+ }
+
+ echo "scanning $table<br>";
+
+ $columns = $application->Conn->Query('SHOW FULL COLUMNS FROM '.$table);
+ foreach ($columns as $a_column) {
+ if ($a_column['Collation'] != 'NULL') {
+ if ($a_column['Collation'] == $target_collation) {
+ echo "skipping ".$a_column['Field'].'<br>';
+ continue;
+ }
+
+ echo 'processing column '.$a_column['Field'].' ('.$a_column['Collation'].')<br>';
+
+// ALTER TABLE `inp_Addresses` ADD `utf_To` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `To` ;
+
+ // adding temporary UTF column
+ $new_def = $a_column['Type'].' CHARACTER SET '.$target_charset.' COLLATE '.$target_collation.' '.($a_column['Null'] == 'YES' ? 'NULL':'NOT NULL');
+ $q = 'ALTER TABLE `'.$table.'` ADD `utf_'.$a_column['Field'].'` '.$new_def.' AFTER `'.$a_column['Field'].'`;';
+ echo "$q<br>";
+ $application->Conn->Query($q);
+
+ // copying value to utf
+ if ($table == TABLE_PREFIX.'Phrase' && $a_column['Field'] == 'Translation') {
+ foreach ($langs as $lang_id => $a_lang) {
+ $cast = $a_lang['mysql_charset'];
+ if (!$cast) $cast = 'latin1';
+ $copy_def = 'CONVERT( CAST(BINARY('.$a_column['Field'].') AS CHAR CHARACTER SET '.$cast.') USING '.$target_charset.')';
+ $q = 'UPDATE `'.$table.'` SET `utf_'.$a_column['Field'].'` = '.$copy_def.' WHERE LanguageId = '.$lang_id;
+ echo "$q<br>";
+ $application->Conn->Query($q);
+ }
+ }
+ elseif (preg_match('/l([0-9]+)_.*/', $a_column['Field'], $matches)) {
+ $cast = $langs[$matches[1]]['mysql_charset'];
+ if (!$cast) $cast = 'latin1';
+ $copy_def = 'CONVERT( CAST(BINARY('.$a_column['Field'].') AS CHAR CHARACTER SET '.$cast.') USING '.$target_charset.')';
+ $q = 'UPDATE `'.$table.'` SET `utf_'.$a_column['Field'].'` = '.$copy_def;
+ echo "$q<br>";
+ $application->Conn->Query($q);
+ }
+ else {
+ $copy_def = 'BINARY(`'.$a_column['Field'].'`);';
+ $q = 'UPDATE `'.$table.'` SET `utf_'.$a_column['Field'].'` = '.$copy_def;
+ echo "$q<br>";
+ $application->Conn->Query($q);
+ }
+
+ // altering orignal field to utf
+ $q = 'ALTER TABLE `'.$table.'` CHANGE `'.$a_column['Field'].'` `'.$a_column['Field'].'` '.$new_def.';';
+ echo "$q<br>";
+ $application->Conn->Query($q);
+
+ // copying utf value back
+ $q = 'UPDATE `'.$table.'` SET `'.$a_column['Field'].'` = `utf_'.$a_column['Field'].'`;';
+ echo "$q<br>";
+ $application->Conn->Query($q);
+
+ // removing temporary UTF column
+ $q = 'ALTER TABLE `'.$table.'` DROP `utf_'.$a_column['Field'].'`;';
+ echo "$q<br>";
+ $application->Conn->Query($q);
+
+ }
+ }
+}
+
+$application->Conn->Query('UPDATE '.TABLE_PREFIX.'Language SET Charset = \''.$target_charset.'\'');
+
+function getmicrotime()
+{
+ list($usec, $sec) = explode(" ", microtime());
+ return ((float)$usec + (float)$sec);
+}
+?>
\ No newline at end of file
Property changes on: trunk/core/install/utf.php
___________________________________________________________________
Added: cvs2svn:cvs-rev
## -0,0 +1 ##
+1.2
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: trunk/core/install/upgrades.sql
===================================================================
--- trunk/core/install/upgrades.sql (revision 8900)
+++ trunk/core/install/upgrades.sql (revision 8901)
@@ -1,117 +1,117 @@
# ===== 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_1.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 (`VariableId` , `VariableName` , `VariableValue` , `ModuleOwner` , `Section` ) VALUES (DEFAULT, 'CategoriesRebuildSerial', '0', 'In-Portal', '');
\ No newline at end of file
+INSERT INTO ConfigurationValues (`VariableId` , `VariableName` , `VariableValue` , `ModuleOwner` , `Section` ) VALUES (DEFAULT, 'CategoriesRebuildSerial', '0', 'In-Portal', '');
Property changes on: trunk/core/install/upgrades.sql
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.17
\ No newline at end of property
+1.18
\ No newline at end of property
Index: trunk/core/install/english.lang
===================================================================
--- trunk/core/install/english.lang (revision 8900)
+++ trunk/core/install/english.lang (revision 8901)
@@ -1,2365 +1,4 @@
<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>iso-8859-1</CHARSET><UNITSYSTEM>2</UNITSYSTEM>
- <PHRASES>
- <PHRASE Label=" lu_resetpw_confirm_text" Module="Proj-Base" Type="0">WW91ciBwYXNzd29yZCBoYXMgYmVlbiByZXNldC4gWW91IHdpbGwgcmVjZWl2ZSB5b3VyIG5ldyBwYXNzd29yZCBpbiB0aGUgZW1haWwgc2hvcnRseS4=</PHRASE>
- <PHRASE Label="la_Active" Module="Proj-Base" Type="1">QWN0aXZl</PHRASE>
- <PHRASE Label="la_added" Module="Proj-Base" Type="1">QWRkZWQ=</PHRASE>
- <PHRASE Label="la_AddTo" Module="Proj-Base" Type="1">QWRkIFRv</PHRASE>
- <PHRASE Label="la_Always" Module="Proj-Base" Type="1">QWx3YXlz</PHRASE>
- <PHRASE Label="la_and" Module="Proj-Base" Type="1">YW5k</PHRASE>
- <PHRASE Label="la_approve_description" Module="Proj-Base" Type="1">QWN0aXZl</PHRASE>
- <PHRASE Label="la_Article_Author" Module="Proj-Base" Type="1">QXV0aG9y</PHRASE>
- <PHRASE Label="la_Article_Date" Module="Proj-Base" Type="1">RGF0ZQ==</PHRASE>
- <PHRASE Label="la_Article_Excerpt" Module="Proj-Base" Type="1">QXJ0aWNsZSBFeGNlcnB0</PHRASE>
- <PHRASE Label="la_Article_Hits" Module="Proj-Base" Type="1">SGl0cw==</PHRASE>
- <PHRASE Label="la_Article_Rating" Module="Proj-Base" Type="1">UmF0aW5n</PHRASE>
- <PHRASE Label="la_article_reviewed" Module="Proj-Base" Type="1">QXJ0aWNsZSByZXZpZXdlZA==</PHRASE>
- <PHRASE Label="la_Article_Title" Module="Proj-Base" Type="1">QXJ0aWNsZSBUaXRsZQ==</PHRASE>
- <PHRASE Label="la_Auto" Module="Proj-Base" Type="1">QXV0bw==</PHRASE>
- <PHRASE Label="la_Automatic" Module="Proj-Base" Type="1">QXV0b21hdGlj</PHRASE>
- <PHRASE Label="la_Background" Module="Proj-Base" Type="1">QmFja2dyb3VuZA==</PHRASE>
- <PHRASE Label="la_ban_email" Module="Proj-Base" Type="1">QmFuIGVtYWlsIGFkZHJlc3M=</PHRASE>
- <PHRASE Label="la_ban_ip" Module="Proj-Base" Type="1">QmFuIElQIGFkZHJlc3M=</PHRASE>
- <PHRASE Label="la_ban_login" Module="Proj-Base" Type="1">QmFuIHVzZXIgbmFtZQ==</PHRASE>
- <PHRASE Label="la_bb" Module="Proj-Base" Type="1">SW1wb3J0ZWQ=</PHRASE>
- <PHRASE Label="la_Borders" Module="Proj-Base" Type="1">Qm9yZGVycw==</PHRASE>
- <PHRASE Label="la_btn_Change" Module="Proj-Base" Type="1">Q2hhbmdl</PHRASE>
- <PHRASE Label="la_btn_Down" Module="Proj-Base" Type="1">RG93bg==</PHRASE>
- <PHRASE Label="la_btn_Up" Module="Proj-Base" Type="1">VXA=</PHRASE>
- <PHRASE Label="la_button_ok" Module="Proj-Base" Type="1">T0s=</PHRASE>
- <PHRASE Label="la_bytes" Module="Proj-Base" Type="1">Ynl0ZXM=</PHRASE>
- <PHRASE Label="la_by_theme" Module="Proj-Base" Type="1">QnkgdGhlbWU=</PHRASE>
- <PHRASE Label="la_Cancel" Module="Proj-Base" Type="1">Q2FuY2Vs</PHRASE>
- <PHRASE Label="la_category" Module="Proj-Base" Type="1">Q2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_Category_Date" Module="Proj-Base" Type="1">RGF0ZQ==</PHRASE>
- <PHRASE Label="la_category_daysnew_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGRheXMgZm9yIGEgY2F0LiB0byBiZSBORVc=</PHRASE>
- <PHRASE Label="la_Category_Description" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgRGVzY3JpcHRpb24=</PHRASE>
- <PHRASE Label="la_category_metadesc" Module="Proj-Base" Type="1">RGVmYXVsdCBNRVRBIGRlc2NyaXB0aW9u</PHRASE>
- <PHRASE Label="la_category_metakey" Module="Proj-Base" Type="1">RGVmYXVsdCBNRVRBIEtleXdvcmRz</PHRASE>
- <PHRASE Label="la_Category_Name" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgTmFtZQ==</PHRASE>
- <PHRASE Label="la_category_perpage_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGNhdGVnb3JpZXMgcGVyIHBhZ2U=</PHRASE>
- <PHRASE Label="la_category_perpage__short_prompt" Module="Proj-Base" Type="1">Q2F0ZWdvcmllcyBQZXIgUGFnZSAoU2hvcnRsaXN0KQ==</PHRASE>
- <PHRASE Label="la_Category_Pick" Module="Proj-Base" Type="1">UGljaw==</PHRASE>
- <PHRASE Label="la_Category_Pop" Module="Proj-Base" Type="1">UG9wdWxhcml0eQ==</PHRASE>
- <PHRASE Label="la_category_showpick_prompt" Module="Proj-Base" Type="1">RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBjYXRlZ29yaWVz</PHRASE>
- <PHRASE Label="la_category_sortfield2_prompt" Module="Proj-Base" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_category_sortfield_prompt" Module="Proj-Base" Type="1">T3JkZXIgY2F0ZWdvcmllcyBieQ==</PHRASE>
- <PHRASE Label="la_Close" Module="Proj-Base" Type="1">Q2xvc2U=</PHRASE>
- <PHRASE Label="la_ColHeader_AltValue" Module="Proj-Base" Type="1">QWx0IFZhbHVl</PHRASE>
- <PHRASE Label="la_ColHeader_BadWord" Module="Proj-Base" Type="1">Q2Vuc29yZWQgV29yZA==</PHRASE>
- <PHRASE Label="la_ColHeader_CreatedOn" Module="Proj-Base" Type="2">Q3JlYXRlZCBPbg==</PHRASE>
- <PHRASE Label="la_ColHeader_Date" Module="Proj-Base" Type="1">RGF0ZS9UaW1l</PHRASE>
- <PHRASE Label="la_ColHeader_Enabled" Module="Proj-Base" Type="1">U3RhdHVz</PHRASE>
- <PHRASE Label="la_ColHeader_FieldLabel" Module="Proj-Base" Type="1">TGFiZWw=</PHRASE>
- <PHRASE Label="la_ColHeader_FieldName" Module="Proj-Base" Type="1">RmllbGQgTmFtZQ==</PHRASE>
- <PHRASE Label="la_Colheader_GroupType" Module="Proj-Base" Type="1">VHlwZQ==</PHRASE>
- <PHRASE Label="la_ColHeader_Image" Module="Proj-Base" Type="1">SW1hZ2U=</PHRASE>
- <PHRASE Label="la_ColHeader_InheritFrom" Module="Proj-Base" Type="1">SW5oZXJpdGVkIEZyb20=</PHRASE>
- <PHRASE Label="la_ColHeader_Item" Module="Proj-Base" Type="1">SXRlbQ==</PHRASE>
- <PHRASE Label="la_Colheader_ItemField" Module="Proj-Base" Type="1">SXRlbSBGaWVsZA==</PHRASE>
- <PHRASE Label="la_ColHeader_ItemType" Module="Proj-Base" Type="1">SXRlbSBUeXBl</PHRASE>
- <PHRASE Label="la_Colheader_ItemValue" Module="Proj-Base" Type="1">SXRlbSBWYWx1ZQ==</PHRASE>
- <PHRASE Label="la_ColHeader_ItemVerb" Module="Proj-Base" Type="1">Q29tcGFyaXNvbiBPcGVyYXRvcg==</PHRASE>
- <PHRASE Label="la_ColHeader_Name" Module="Proj-Base" Type="2">TGluayBOYW1l</PHRASE>
- <PHRASE Label="la_ColHeader_PermAccess" Module="Proj-Base" Type="1">QWNjZXNz</PHRASE>
- <PHRASE Label="la_ColHeader_PermInherited" Module="Proj-Base" Type="1">SW5oZXJpdGVk</PHRASE>
- <PHRASE Label="la_ColHeader_Poster" Module="Proj-Base" Type="1">UG9zdGVy</PHRASE>
- <PHRASE Label="la_ColHeader_Preview" Module="Proj-Base" Type="1">UHJldmlldw==</PHRASE>
- <PHRASE Label="la_ColHeader_Replacement" Module="Proj-Base" Type="1">UmVwbGFjZW1lbnQ=</PHRASE>
- <PHRASE Label="la_ColHeader_Reply" Module="Proj-Base" Type="1">UmVwbGllcw==</PHRASE>
- <PHRASE Label="la_ColHeader_RuleType" Module="Proj-Base" Type="1">UnVsZSBUeXBl</PHRASE>
- <PHRASE Label="la_ColHeader_Status" Module="Proj-Base" Type="1">U3RhdHVz</PHRASE>
- <PHRASE Label="la_ColHeader_Topic" Module="Proj-Base" Type="1">VG9waWM=</PHRASE>
- <PHRASE Label="la_ColHeader_Url" Module="Proj-Base" Type="1">VVJM</PHRASE>
- <PHRASE Label="la_ColHeader_ValidationStatus" Module="Proj-Base" Type="2">U3RhdHVz</PHRASE>
- <PHRASE Label="la_ColHeader_ValidationTime" Module="Proj-Base" Type="2">VmFsaWRhdGVkIE9u</PHRASE>
- <PHRASE Label="la_ColHeader_Value" Module="Proj-Base" Type="1">VmFsdWU=</PHRASE>
- <PHRASE Label="la_ColHeader_Views" Module="Proj-Base" Type="1">Vmlld3M=</PHRASE>
- <PHRASE Label="la_col_Access" Module="Proj-Base" Type="1">QWNjZXNz</PHRASE>
- <PHRASE Label="la_col_AdditionalPermissions" Module="Proj-Base" Type="1">QWRkaXRpb25hbA==</PHRASE>
- <PHRASE Label="la_col_Basedon" Module="Proj-Base" Type="1">QmFzZWQgT24=</PHRASE>
- <PHRASE Label="la_col_Category" Module="Proj-Base" Type="1">Q2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_col_CategoryName" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgTmFtZQ==</PHRASE>
- <PHRASE Label="la_col_CreatedOn" Module="Proj-Base" Type="1">Q3JlYXRlZCBPbg==</PHRASE>
- <PHRASE Label="la_col_Description" Module="Proj-Base" Type="1">RGVzY3JpcHRpb24=</PHRASE>
- <PHRASE Label="la_col_Duration" Module="Proj-Base" Type="1">RHVyYXRpb24=</PHRASE>
- <PHRASE Label="la_col_DurationType" Module="Proj-Base" Type="1">RHVyYXRpb24gVHlwZQ==</PHRASE>
- <PHRASE Label="la_col_Effective" Module="Proj-Base" Type="1">RWZmZWN0aXZl</PHRASE>
- <PHRASE Label="la_col_Email" Module="Proj-Base" Type="1">RW1haWw=</PHRASE>
- <PHRASE Label="la_col_Event" Module="Proj-Base" Type="1">RXZlbnQ=</PHRASE>
- <PHRASE Label="la_col_FieldName" Module="Proj-Base" Type="1">RmllbGQgTmFtZQ==</PHRASE>
- <PHRASE Label="la_col_FirstName" Module="Proj-Base" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
- <PHRASE Label="la_col_GroupName" Module="Proj-Base" Type="1">R3JvdXAgTmFtZQ==</PHRASE>
- <PHRASE Label="la_col_Id" Module="Proj-Base" Type="1">SUQ=</PHRASE>
- <PHRASE Label="la_col_ImageEnabled" Module="Proj-Base" Type="1">U3RhdHVz</PHRASE>
- <PHRASE Label="la_col_ImageName" Module="Proj-Base" Type="1">SW1hZ2U=</PHRASE>
- <PHRASE Label="la_col_ImageUrl" Module="Proj-Base" Type="1">VVJM</PHRASE>
- <PHRASE Label="la_col_Inherited" Module="Proj-Base" Type="1">SW5oZXJpdGVk</PHRASE>
- <PHRASE Label="la_col_InheritedFrom" Module="Proj-Base" Type="1">SW5oZXJpdGVkIEZyb20=</PHRASE>
- <PHRASE Label="la_col_IsPrimary" Module="Proj-Base" Type="1">UHJpbWFyeQ==</PHRASE>
- <PHRASE Label="la_col_IsSystem" Module="Proj-Base" Type="1">U3lzdGVt</PHRASE>
- <PHRASE Label="la_col_Label" Module="Proj-Base" Type="1">TGFiZWw=</PHRASE>
- <PHRASE Label="la_col_LastChanged" Module="Proj-Base" Type="1">TGFzdCBDaGFuZ2Vk</PHRASE>
- <PHRASE Label="la_col_LastCompiled" Module="Proj-Base" Type="1">TGFzdCBDb21waWxlZA==</PHRASE>
- <PHRASE Label="la_col_LastName" Module="Proj-Base" Type="1">TGFzdCBOYW1l</PHRASE>
- <PHRASE Label="la_col_LinkUrl" Module="Proj-Base" Type="1">TGluayBVUkw=</PHRASE>
- <PHRASE Label="la_col_LocalName" Module="Proj-Base" Type="1">TmFtZQ==</PHRASE>
- <PHRASE Label="la_col_Module" Module="Proj-Base" Type="1">TW9kdWxl</PHRASE>
- <PHRASE Label="la_col_Name" Module="Proj-Base" Type="1">TmFtZQ==</PHRASE>
- <PHRASE Label="la_col_PackName" Module="Proj-Base" Type="1">UGFjayBOYW1l</PHRASE>
- <PHRASE Label="la_col_PermAdd" Module="Proj-Base" Type="1">QWRk</PHRASE>
- <PHRASE Label="la_col_PermDelete" Module="Proj-Base" Type="1">RGVsZXRl</PHRASE>
- <PHRASE Label="la_col_PermEdit" Module="Proj-Base" Type="1">RWRpdA==</PHRASE>
- <PHRASE Label="la_col_PermissionName" Module="Proj-Base" Type="1">UGVybWlzc2lvbiBOYW1l</PHRASE>
- <PHRASE Label="la_col_PermissionValue" Module="Proj-Base" Type="1">QWNjZXNz</PHRASE>
- <PHRASE Label="la_col_PermView" Module="Proj-Base" Type="1">Vmlldw==</PHRASE>
- <PHRASE Label="la_col_PhraseType" Module="Proj-Base" Type="1">VHlwZQ==</PHRASE>
- <PHRASE Label="la_col_Preview" Module="Proj-Base" Type="1">UHJldmlldw==</PHRASE>
- <PHRASE Label="la_col_PrimaryGroup" Module="Proj-Base" Type="1">UHJpbWFyeSBHcm91cA==</PHRASE>
- <PHRASE Label="la_col_PrimaryValue" Module="Proj-Base" Type="1">UHJpbWFyeSBWYWx1ZQ==</PHRASE>
- <PHRASE Label="la_col_Prompt" Module="Proj-Base" Type="1">RmllbGQgUHJvbXB0</PHRASE>
- <PHRASE Label="la_col_RelationshipType" Module="Proj-Base" Type="1">UmVsYXRpb24gVHlwZQ==</PHRASE>
- <PHRASE Label="la_col_ReviewedBy" Module="Proj-Base" Type="1">UmV2aWV3ZWQgQnk=</PHRASE>
- <PHRASE Label="la_col_ReviewText" Module="Proj-Base" Type="1">UmV2aWV3IFRleHQ=</PHRASE>
- <PHRASE Label="la_col_SelectorName" Module="Proj-Base" Type="1">U2VsZWN0b3I=</PHRASE>
- <PHRASE Label="la_col_SkinName" Module="Proj-Base" Type="1">TmFtZQ==</PHRASE>
- <PHRASE Label="la_col_Status" Module="Proj-Base" Type="1">U3RhdHVz</PHRASE>
- <PHRASE Label="la_col_TargetId" Module="Proj-Base" Type="1">SXRlbQ==</PHRASE>
- <PHRASE Label="la_col_TargetType" Module="Proj-Base" Type="1">SXRlbSBUeXBl</PHRASE>
- <PHRASE Label="la_col_Title" Module="Proj-Base" Type="1">VGl0bGU=</PHRASE>
- <PHRASE Label="la_col_Translation" Module="Proj-Base" Type="1">VmFsdWU=</PHRASE>
- <PHRASE Label="la_col_Type" Module="Proj-Base" Type="1">VHlwZQ==</PHRASE>
- <PHRASE Label="la_col_UserCount" Module="Proj-Base" Type="1">VXNlciBDb3VudA==</PHRASE>
- <PHRASE Label="la_col_Value" Module="Proj-Base" Type="1">RmllbGQgVmFsdWU=</PHRASE>
- <PHRASE Label="la_col_VisitDate" Module="Proj-Base" Type="1">VmlzaXQgRGF0ZQ==</PHRASE>
- <PHRASE Label="la_common_ascending" Module="Proj-Base" Type="1">QXNjZW5kaW5n</PHRASE>
- <PHRASE Label="la_common_CreatedOn" Module="Proj-Base" Type="1">RGF0ZQ==</PHRASE>
- <PHRASE Label="la_common_descending" Module="Proj-Base" Type="1">RGVzY2VuZGluZw==</PHRASE>
- <PHRASE Label="la_common_ReviewText" Module="Proj-Base" Type="1">UmV2aWV3IFRleHQ=</PHRASE>
- <PHRASE Label="la_configerror_review" Module="Proj-Base" Type="1">UmV2aWV3IG5vdCBhZGRlZCBkdWUgdG8gYSBzeXN0ZW0gZXJyb3I=</PHRASE>
- <PHRASE Label="la_config_backup_path" Module="Proj-Base" Type="1">QmFja3VwIFBhdGg=</PHRASE>
- <PHRASE Label="la_config_company" Module="Proj-Base" Type="1">Q29tcGFueQ==</PHRASE>
- <PHRASE Label="la_config_error_template" Module="Proj-Base" Type="1">RmlsZSBub3QgZm91bmQgKDQwNCkgdGVtcGxhdGU=</PHRASE>
- <PHRASE Label="la_config_first_day_of_week" Module="Proj-Base" Type="1">Rmlyc3QgRGF5IE9mIFdlZWs=</PHRASE>
- <PHRASE Label="la_config_force_http" Module="Proj-Base" Type="1">UmVkaXJlY3QgdG8gSFRUUCB3aGVuIFNTTCBpcyBub3QgcmVxdWlyZWQ=</PHRASE>
- <PHRASE Label="la_config_MailFunctionHeaderSeparator" Module="Proj-Base" Type="1">TWFpbCBGdW5jdGlvbiBIZWFkZXIgU2VwYXJhdG9y</PHRASE>
- <PHRASE Label="la_config_name" Module="Proj-Base" Type="1">TmFtZQ==</PHRASE>
- <PHRASE Label="la_config_nopermission_template" Module="Proj-Base" Type="1">SW5zdWZmaWNlbnQgcGVybWlzc2lvbnMgdGVtcGxhdGU=</PHRASE>
- <PHRASE Label="la_config_OutputCompressionLevel" Module="Proj-Base" Type="1">R1pJUCBjb21wcmVzc2lvbiBsZXZlbCAwLTk=</PHRASE>
- <PHRASE Label="la_config_PerpageReviews" Module="Proj-Base" Type="1">UmV2aWV3cyBwZXIgcGFnZQ==</PHRASE>
- <PHRASE Label="la_config_reg_number" Module="Proj-Base" Type="1">UmVnaXN0cmF0aW9uIE51bWJlcg==</PHRASE>
- <PHRASE Label="la_config_RequireSSLAdmin" Module="Proj-Base" Type="1">UmVxdWlyZSBTU0wgZm9yIEFkbWluaXN0cmF0aXZlIENvbnNvbGU=</PHRASE>
- <PHRASE Label="la_config_require_ssl" Module="Proj-Base" Type="1">UmVxdWlyZSBTU0wgZm9yIGxvZ2luICYgY2hlY2tvdXQ=</PHRASE>
- <PHRASE Label="la_config_server_name" Module="Proj-Base" Type="1">U2VydmVyIE5hbWU=</PHRASE>
- <PHRASE Label="la_config_server_path" Module="Proj-Base" Type="1">U2VydmVyIFBhdGg=</PHRASE>
- <PHRASE Label="la_config_site_zone" Module="Proj-Base" Type="1">VGltZSB6b25lIG9mIHRoZSBzaXRl</PHRASE>
- <PHRASE Label="la_config_ssl_url" Module="Proj-Base" Type="1">U1NMIEZ1bGwgVVJMIChodHRwczovL3d3dy5kb21haW4uY29tL3BhdGgp</PHRASE>
- <PHRASE Label="la_config_time_server" Module="Proj-Base" Type="1">VGltZSB6b25lIG9mIHRoZSBzZXJ2ZXI=</PHRASE>
- <PHRASE Label="la_config_UseDoubleSorting" Module="Proj-Base" Type="1">VXNlIERvdWJsZSBTb3J0aW5n</PHRASE>
- <PHRASE Label="la_config_UseOutputCompression" Module="Proj-Base" Type="1">RW5hYmxlIEhUTUwgR1pJUCBjb21wcmVzc2lvbg==</PHRASE>
- <PHRASE Label="la_config_UseToolbarLabels" Module="Proj-Base" Type="1">VXNlIFRvb2xiYXIgTGFiZWxz</PHRASE>
- <PHRASE Label="la_config_use_js_redirect" Module="Proj-Base" Type="1">VXNlIEphdmFTY3JpcHQgcmVkaXJlY3Rpb24gYWZ0ZXIgbG9naW4vbG9nb3V0IChmb3IgSUlTKQ==</PHRASE>
- <PHRASE Label="la_config_use_modrewrite" Module="Proj-Base" Type="1">VXNlIE1PRCBSRVdSSVRF</PHRASE>
- <PHRASE Label="la_config_use_modrewrite_with_ssl" Module="Proj-Base" Type="1">RW5hYmxlIE1PRF9SRVdSSVRFIGZvciBTU0w=</PHRASE>
- <PHRASE Label="la_config_website_address" Module="Proj-Base" Type="1">V2Vic2l0ZSBhZGRyZXNz</PHRASE>
- <PHRASE Label="la_config_website_name" Module="Proj-Base" Type="1">V2Vic2l0ZSBuYW1l</PHRASE>
- <PHRASE Label="la_config_web_address" Module="Proj-Base" Type="1">V2ViIGFkZHJlc3M=</PHRASE>
- <PHRASE Label="la_confirm_maintenance" Module="Proj-Base" Type="1">VGhlIGNhdGVnb3J5IHRyZWUgbXVzdCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGxhdGVzdCBjaGFuZ2Vz</PHRASE>
- <PHRASE Label="la_Continue" Module="Proj-Base" Type="1">Q29udGludWU=</PHRASE>
- <PHRASE Label="la_CreatedOn" Module="Proj-Base" Type="1">Q3JlYXRlZCBPbg==</PHRASE>
- <PHRASE Label="la_Credits_Title" Module="Proj-Base" Type="1">Q3JlZGl0cw==</PHRASE>
- <PHRASE Label="la_DataGrid1" Module="Proj-Base" Type="1">RGF0YSBHcmlkcw==</PHRASE>
- <PHRASE Label="la_days" Module="Proj-Base" Type="1">ZGF5cw==</PHRASE>
- <PHRASE Label="la_Delete_Confirm" Module="Proj-Base" Type="1">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGUgaXRlbShzKT8gVGhpcyBhY3Rpb24gY2Fubm90IGJlIHVuZG9uZS4=</PHRASE>
- <PHRASE Label="la_Description_in-bulletin" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tQnVsbGV0aW4gc2V0dGluZ3M=</PHRASE>
- <PHRASE Label="la_Description_in-bulletin:configuration_censorship" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgY2Vuc29yZWQgd29yZHMgYW5kIHRoZWlyIHJlcGxhY2VtZW50cw==</PHRASE>
- <PHRASE Label="la_Description_in-bulletin:configuration_custom" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgY3VzdG9tIGZpZWxkcw==</PHRASE>
- <PHRASE Label="la_Description_in-bulletin:configuration_email" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tYnVsbHRlaW4gZW1haWwgc2V0dGluZ3M=</PHRASE>
- <PHRASE Label="la_Description_in-bulletin:configuration_emoticon" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2Ugc2ltbGV5cw==</PHRASE>
- <PHRASE Label="la_Description_in-bulletin:configuration_output" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tYnVsbHRlaW4gb3V0cHV0IHNldHRpbmdz</PHRASE>
- <PHRASE Label="la_Description_in-bulletin:configuration_search" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tYnVsbHRlaW4gZGVmYXVsdCBzZWFyY2ggc2V0dGluZ3M=</PHRASE>
- <PHRASE Label="la_Description_in-bulletin:inbulletin_general" Module="Proj-Base" Type="2">SW4tYnVsbGV0aW4gZ2VuZXJhbCBjb25maWd1cmF0aW9uIG9wdGlvbnM=</PHRASE>
- <PHRASE Label="la_Description_in-link" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbGluayBzZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_Description_in-link:configuration_custom" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgY3VzdG9tIGZpZWxkcw==</PHRASE>
- <PHRASE Label="la_Description_in-link:configuration_email" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgZW1haWwgZXZlbnRz</PHRASE>
- <PHRASE Label="la_Description_in-link:configuration_output" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbGluayBvdXRwdXQgc2V0dGluZ3M=</PHRASE>
- <PHRASE Label="la_Description_in-link:configuration_search" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2Ugc2VhcmNoIHNldHRpbmdzIGFuZCBmaWVsZHM=</PHRASE>
- <PHRASE Label="la_Description_in-link:inlink_general" Module="Proj-Base" Type="2">SW4tTGluayBHZW5lcmFsIENvbmZpZ3VyYXRpb24gT3B0aW9ucw==</PHRASE>
- <PHRASE Label="la_Description_in-link:validation_list" Module="Proj-Base" Type="2">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBydW4gdmFsaWRhdGlvbiBvbiB0aGUgbGlua3M=</PHRASE>
- <PHRASE Label="la_Description_in-news" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBzZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_Description_in-news:configuration_custom" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBjdXN0b20gZmllbGRz</PHRASE>
- <PHRASE Label="la_Description_in-news:configuration_email" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBlbWFpbCBjb25maWd1cmF0aW9u</PHRASE>
- <PHRASE Label="la_Description_in-news:configuration_output" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBvdXRwdXQgc2V0dGluZ3M=</PHRASE>
- <PHRASE Label="la_Description_in-news:configuration_search" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBkZWZhdWx0IHNlYXJjaCBjb25maWd1cmF0aW9u</PHRASE>
- <PHRASE Label="la_Description_in-news:innews_general" Module="Proj-Base" Type="2">SW4tTmV3eiBnZW5lcmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9ucw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:addmodule" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBpbnN0YWxsIG5ldyBtb2R1bGVz</PHRASE>
- <PHRASE Label="la_Description_in-portal:advanced_view" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gbWFuYWdlIGNhdGVnb3JpZXMgYW5kIGl0ZW1zIGFjcm9zcyBhbGwgY2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:backup" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIHN5c3RlbSBiYWNrdXBz</PHRASE>
- <PHRASE Label="la_Description_in-portal:browse" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gYnJvd3NlIHRoZSBjYXRhbG9nIGFuZCBtYW5hZ2UgY2F0ZWdvcmllcyBhbmQgaXRlbXM=</PHRASE>
- <PHRASE Label="la_Description_in-portal:configuration_custom" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIGNhdGVnb3J5IGN1c3RvbSBmaWVsZHM=</PHRASE>
- <PHRASE Label="la_Description_in-portal:configuration_email" Module="Proj-Base" Type="2">Q29uZmlndXJlIENhdGVnb3J5IEVtYWlsIEV2ZW50cw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:configuration_search" Module="Proj-Base" Type="2">Q29uZmlndXJlIENhdGVnb3J5IHNlYXJjaCBvcHRpb25z</PHRASE>
- <PHRASE Label="la_Description_in-portal:configure_categories" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIGdlbmVyYWwgY2F0ZWdvcnkgc2V0dGluZ3M=</PHRASE>
- <PHRASE Label="la_Description_in-portal:configure_general" Module="Proj-Base" Type="1">VGhpcyBpcyBhIGdlbmVyYWwgY29uZmd1cmF0aW9uIHNlY3Rpb24=</PHRASE>
- <PHRASE Label="la_Description_in-portal:configure_lang" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgcmVnaW9uYWwgc2V0dGluZ3MsIG1hbmFnZSBhbmQgZWRpdCBsYW5ndWFnZXM=</PHRASE>
- <PHRASE Label="la_Description_in-portal:configure_styles" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgQ1NTIHN0eWxlc2hlZXRzIGZvciB0aGVtZXMu</PHRASE>
- <PHRASE Label="la_Description_in-portal:configure_themes" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgdGhlbWVzIGFuZCBlZGl0IHRoZSBpbmRpdmlkdWFsIHRlbXBsYXRlcw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:configure_users" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIGdlbmVyYWwgdXNlciBzZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:emaillog" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIGFsbCBlLW1haWxzIHNlbnQgYnkgSW4tUG9ydGFs</PHRASE>
- <PHRASE Label="la_Description_in-portal:export" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBleHBvcnQgSW4tcG9ydGFsIGRhdGE=</PHRASE>
- <PHRASE Label="la_Description_in-portal:help" Module="Proj-Base" Type="1">SGVscCBzZWN0aW9uIGZvciBJbi1wb3J0YWwgYW5kIGFsbCBvZiBpdHMgbW9kdWxlcy4gQWxzbyBhY2Nlc3NpYmxlIHZpYSB0aGUgc2VjdGlvbi1zcGVjaWZpYyBpbnRlcmFjdGl2ZSBoZWxwIGZlYXR1cmUu</PHRASE>
- <PHRASE Label="la_Description_in-portal:inlink_inport" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBpbXBvcnQgZGF0YSBmcm9tIG90aGVyIHByb2dyYW1zIGludG8gSW4tcG9ydGFs</PHRASE>
- <PHRASE Label="la_Description_in-portal:log_summary" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIHN1bW1hcnkgc3RhdGlzdGljcw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:main_import" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIGRhdGEgaW1wb3J0IGZyb20gb3RoZXIgc3lzdGVtcw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:modules" Module="Proj-Base" Type="1">TWFuYWdlIHN0YXR1cyBvZiBhbGwgbW9kdWxlcyB3aGljaCBhcmUgaW5zdGFsbGVkIG9uIHlvdXIgSW4tcG9ydGFsIHN5c3RlbS4=</PHRASE>
- <PHRASE Label="la_Description_in-portal:mod_status" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBlbmFibGVkIGFuZCBkaXNhYmxlIG1vZHVsZXM=</PHRASE>
- <PHRASE Label="la_Description_in-portal:reports" Module="Proj-Base" Type="1">VmlldyBzeXN0ZW0gc3RhdGlzdGljcywgbG9ncyBhbmQgcmVwb3J0cw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:restore" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIGRhdGFiYXNlIHJlc3RvcmVz</PHRASE>
- <PHRASE Label="la_Description_in-portal:reviews" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGRpc3BsYXlzIGEgbGlzdCBvZiBhbGwgcmV2aWV3cyBpbiB0aGUgc3lzdGVtLg==</PHRASE>
- <PHRASE Label="la_Description_in-portal:searchlog" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIHRoZSBzZWFyY2ggbG9nIGFuZCBhbGxvd3MgdG8gbWFuYWdlIGl0</PHRASE>
- <PHRASE Label="la_Description_in-portal:server_info" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byB2aWV3IFBIUCBjb25maWd1cmF0aW9u</PHRASE>
- <PHRASE Label="la_Description_in-portal:sessionlog" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIGFsbCBhY3RpdmUgc2Vzc2lvbnMgYW5kIGFsbG93cyB0byBtYW5hZ2UgdGhlbQ==</PHRASE>
- <PHRASE Label="la_Description_in-portal:site" Module="Proj-Base" Type="1">TWFuYWdlIHRoZSBzdHJ1Y3R1cmUgb2YgeW91ciBzaXRlLCBpbmNsdWRpbmcgY2F0ZWdvcmllcywgaXRlbXMgYW5kIGNhdGVnb3J5IHNldHRpbmdzLg==</PHRASE>
- <PHRASE Label="la_Description_in-portal:sql_query" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIGRpcmVjdCBTUUwgcXVlcmllcyBvbiBJbi1wb3J0YWwgZGF0YWJhc2U=</PHRASE>
- <PHRASE Label="la_Description_in-portal:system" Module="Proj-Base" Type="1">TWFuYWdlIHN5c3RlbS13aWRlIHNldHRpbmdzLCBlZGl0IHRoZW1lcyBhbmQgbGFuZ3VhZ2Vz</PHRASE>
- <PHRASE Label="la_Description_in-portal:tag_library" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIGF2YWlsYWJsZSB0YWdzIGZvciB1c2luZyBpbiB0ZW1wbGF0ZXM=</PHRASE>
- <PHRASE Label="la_Description_in-portal:tools" Module="Proj-Base" Type="1">VXNlIHZhcmlvdXMgSW4tcG9ydGFsIGRhdGEgbWFuYWdlbWVudCB0b29scywgaW5jbHVkaW5nIGJhY2t1cCwgcmVzdG9yZSwgaW1wb3J0IGFuZCBleHBvcnQ=</PHRASE>
- <PHRASE Label="la_Description_in-portal:users" Module="Proj-Base" Type="1">TWFuYWdlIHVzZXJzIGFuZCBncm91cHMsIHNldCB1c2VyICYgZ3JvdXAgcGVybWlzc2lvbnMgYW5kIGRlZmluZSB1c2VyIHNldHRpbmdzLg==</PHRASE>
- <PHRASE Label="la_Description_in-portal:user_banlist" Module="Proj-Base" Type="2">TWFuYWdlIFVzZXIgQmFuIFJ1bGVz</PHRASE>
- <PHRASE Label="la_Description_in-portal:user_custom" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIHVzZXIgY3VzdG9tIGZpZWxkcw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:user_email" Module="Proj-Base" Type="2">Q29uZmlndXJlIFVzZXIgZW1haWwgZXZlbnRz</PHRASE>
- <PHRASE Label="la_Description_in-portal:user_groups" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYWdhbmUgZ3JvdXBzLCBhc3NpZ24gdXNlcnMgdG8gZ3JvdXBzIGFuZCBwZXJmb3JtIG1hc3MgZW1haWwgc2VuZGluZw==</PHRASE>
- <PHRASE Label="la_Description_in-portal:user_list" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9ucyBhbGxvd3MgdG8gbWFuYWdlIHVzZXJzLCB0aGVpciBwZXJtaXNzaW9ucyBhbmQgcGVyZm9ybSBtYXNzIGVtYWls</PHRASE>
- <PHRASE Label="la_Description_in-portal:visits" Module="Proj-Base" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIHRoZSBzaXRlIHZpc2l0b3JzIGxvZw==</PHRASE>
- <PHRASE Label="la_Disabled" Module="Proj-Base" Type="1">RGlzYWJsZWQ=</PHRASE>
- <PHRASE Label="la_DownloadExportFile" Module="Proj-Base" Type="1">RG93bmxvYWQgRXhwb3J0IEZpbGU=</PHRASE>
- <PHRASE Label="la_DownloadLanguageExport" Module="Proj-Base" Type="1">RG93bmxvYWQgTGFuZ3VhZ2UgRXhwb3J0</PHRASE>
- <PHRASE Label="la_EditingInProgress" Module="Proj-Base" Type="1">WW91IGhhdmUgbm90IHNhdmVkIGNoYW5nZXMgdG8gdGhlIGl0ZW0geW91IGFyZSBlZGl0aW5nITxiciAvPkNsaWNrIE9LIHRvIGxvb3NlIGNoYW5nZXMgYW5kIGdvIHRvIHRoZSBzZWxlY3RlZCBzZWN0aW9uPGJyIC8+b3IgQ2FuY2VsIHRvIHN0YXkgaW4gdGhlIGN1cnJlbnQgc2VjdGlvbi4=</PHRASE>
- <PHRASE Label="la_EmptyFile" Module="Proj-Base" Type="1">RmlsZSBpcyBlbXB0eQ==</PHRASE>
- <PHRASE Label="la_EmptyValue" Module="Proj-Base" Type="1">IA==</PHRASE>
- <PHRASE Label="la_Enabled" Module="Proj-Base" Type="1">RW5hYmxlZA==</PHRASE>
- <PHRASE Label="la_error_cant_save_file" Module="Proj-Base" Type="1">Q2FuJ3Qgc2F2ZSBhIGZpbGU=</PHRASE>
- <PHRASE Label="la_error_copy_subcategory" Module="Proj-Base" Type="1">RXJyb3IgY29weWluZyBzdWJjYXRlZ29yaWVz</PHRASE>
- <PHRASE Label="la_error_CustomExists" Module="Proj-Base" Type="1">Q3VzdG9tIGZpZWxkIHdpdGggaWRlbnRpY2FsIG5hbWUgYWxyZWFkeSBleGlzdHM=</PHRASE>
- <PHRASE Label="la_error_duplicate_username" Module="Proj-Base" Type="1">VXNlcm5hbWUgeW91IGhhdmUgZW50ZXJlZCBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgc3lzdGVtLCBwbGVhc2UgY2hvb3NlIGFub3RoZXIgdXNlcm5hbWUu</PHRASE>
- <PHRASE Label="la_error_FileTooLarge" Module="Proj-Base" Type="1">RmlsZSBpcyB0b28gbGFyZ2U=</PHRASE>
- <PHRASE Label="la_error_InvalidFileFormat" Module="Proj-Base" Type="1">SW52YWxpZCBGaWxlIEZvcm1hdA==</PHRASE>
- <PHRASE Label="la_error_move_subcategory" Module="Proj-Base" Type="1">RXJyb3IgbW92aW5nIHN1YmNhdGVnb3J5</PHRASE>
- <PHRASE Label="la_error_PasswordMatch" Module="Proj-Base" Type="1">UGFzc3dvcmRzIGRvIG5vdCBtYXRjaCE=</PHRASE>
- <PHRASE Label="la_error_RequiredColumnsMissing" Module="Proj-Base" Type="1">cmVxdWlyZWQgY29sdW1ucyBtaXNzaW5n</PHRASE>
- <PHRASE Label="la_error_unique_category_field" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgZmllbGQgbm90IHVuaXF1ZQ==</PHRASE>
- <PHRASE Label="la_error_unknown_category" Module="Proj-Base" Type="1">VW5rbm93biBjYXRlZ29yeQ==</PHRASE>
- <PHRASE Label="la_err_bad_date_format" Module="Proj-Base" Type="1">SW5jb3JyZWN0IGRhdGUgZm9ybWF0LCBwbGVhc2UgdXNlICglcykgZXguICglcyk=</PHRASE>
- <PHRASE Label="la_err_bad_type" Module="Proj-Base" Type="1">SW5jb3JyZWN0IGRhdGEgZm9ybWF0LCBwbGVhc2UgdXNlICVz</PHRASE>
- <PHRASE Label="la_err_invalid_format" Module="Proj-Base" Type="1">SW52YWxpZCBGb3JtYXQ=</PHRASE>
- <PHRASE Label="la_err_length_out_of_range" Module="Proj-Base" Type="1">RmllbGQgaXMgb3V0IG9mIHJhbmdl</PHRASE>
- <PHRASE Label="la_err_required" Module="Proj-Base" Type="1">RmllbGQgaXMgcmVxdWlyZWQ=</PHRASE>
- <PHRASE Label="la_err_unique" Module="Proj-Base" Type="1">RmllbGQgdmFsdWUgbXVzdCBiZSB1bmlxdWU=</PHRASE>
- <PHRASE Label="la_err_value_out_of_range" Module="Proj-Base" Type="1">RmllbGQgaXMgb3V0IG9mIHJhbmdlLCBwb3NzaWJsZSB2YWx1ZXMgZnJvbSAlcyB0byAlcw==</PHRASE>
- <PHRASE Label="la_event_article.add" Module="Proj-Base" Type="1">QWRkIEFydGljbGU=</PHRASE>
- <PHRASE Label="la_event_article.approve" Module="Proj-Base" Type="1">QXBwcm92ZSBBcnRpY2xl</PHRASE>
- <PHRASE Label="la_event_article.deny" Module="Proj-Base" Type="1">RGVjbGluZSBBcnRpY2xl</PHRASE>
- <PHRASE Label="la_event_article.modify" Module="Proj-Base" Type="1">TW9kaWZ5IEFydGljbGU=</PHRASE>
- <PHRASE Label="la_event_article.modify.approve" Module="Proj-Base" Type="1">QXBwcm92ZSBBcnRpY2xlIE1vZGlmaWNhdGlvbg==</PHRASE>
- <PHRASE Label="la_event_article.modify.deny" Module="Proj-Base" Type="1">RGVjbGluZSBBcnRpY2xlIE1vZGlmaWNhdGlvbg==</PHRASE>
- <PHRASE Label="la_event_article.review.add" Module="Proj-Base" Type="1">QXJ0aWNsZSBSZXZpZXcgQWRkZWQ=</PHRASE>
- <PHRASE Label="la_event_article.review.add.pending" Module="Proj-Base" Type="1">UGVuZGluZyBBcnRpY2xlIFJldmlldyBBZGRlZA==</PHRASE>
- <PHRASE Label="la_event_article.review.approve" Module="Proj-Base" Type="1">QXBwcm92ZSBBcnRpY2xlIFJldmlldw==</PHRASE>
- <PHRASE Label="la_event_article.review.deny" Module="Proj-Base" Type="1">RGVjbGluZSBBcnRpY2xlIFJldmlldw==</PHRASE>
- <PHRASE Label="la_event_category.add" Module="Proj-Base" Type="1">QWRkIENhdGVnb3J5</PHRASE>
- <PHRASE Label="la_event_category.add.pending" Module="Proj-Base" Type="1">QWRkIFBlbmRpbmcgQ2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_event_category.approve" Module="Proj-Base" Type="1">QXBwcm92ZSBDYXRlZ29yeQ==</PHRASE>
- <PHRASE Label="la_event_category.deny" Module="Proj-Base" Type="1">RGVueSBDYXRlZ29yeQ==</PHRASE>
- <PHRASE Label="la_event_category.modify" Module="Proj-Base" Type="1">TW9kaWZ5IENhdGVnb3J5</PHRASE>
- <PHRASE Label="la_event_category_delete" Module="Proj-Base" Type="1">RGVsZXRlIENhdGVnb3J5</PHRASE>
- <PHRASE Label="la_event_common.footer" Module="Proj-Base" Type="1">Q29tbW9uIEZvb3RlciBUZW1wbGF0ZQ==</PHRASE>
- <PHRASE Label="la_event_import_progress" Module="Proj-Base" Type="1">RW1haWwgZXZlbnRzIGltcG9ydCBwcm9ncmVzcw==</PHRASE>
- <PHRASE Label="la_event_link.add" Module="Proj-Base" Type="1">QWRkIExpbms=</PHRASE>
- <PHRASE Label="la_event_link.add.pending" Module="Proj-Base" Type="1">QWRkIFBlbmRpbmcgTGluaw==</PHRASE>
- <PHRASE Label="la_event_link.approve" Module="Proj-Base" Type="1">QXBwcm92ZSBQZW5kaW5nIExpbms=</PHRASE>
- <PHRASE Label="la_event_link.deny" Module="Proj-Base" Type="1">RGVueSBMaW5r</PHRASE>
- <PHRASE Label="la_event_link.modify" Module="Proj-Base" Type="1">TW9kaWZ5IExpbms=</PHRASE>
- <PHRASE Label="la_event_link.modify.approve" Module="Proj-Base" Type="1">QXBwcm92ZSBMaW5rIE1vZGlmaWNhdGlvbg==</PHRASE>
- <PHRASE Label="la_event_link.modify.deny" Module="Proj-Base" Type="1">RGVjbGluZSBsaW5rIG1vZGlmaWNhdGlvbg==</PHRASE>
- <PHRASE Label="la_event_link.modify.pending" Module="Proj-Base" Type="1">TGluayBNb2RpZmljYXRpb24gUGVuZGluZw==</PHRASE>
- <PHRASE Label="la_event_link.review.add" Module="Proj-Base" Type="1">TGluayBSZXZpZXcgQWRkZWQ=</PHRASE>
- <PHRASE Label="la_event_link.review.add.pending" Module="Proj-Base" Type="1">UGVuZGluZyBSZXZpZXcgQWRkZWQ=</PHRASE>
- <PHRASE Label="la_event_link.review.approve" Module="Proj-Base" Type="1">QXBwcm92ZSBMaW5rIFJldmlldw==</PHRASE>
- <PHRASE Label="la_event_link.review.deny" Module="Proj-Base" Type="1">RGVjbGluZSBMaW5rIFJldmlldw==</PHRASE>
- <PHRASE Label="la_event_pm.add" Module="Proj-Base" Type="1">TmV3IFByaXZhdGUgTWVzc2FnZQ==</PHRASE>
- <PHRASE Label="la_event_post.add" Module="Proj-Base" Type="1">UG9zdCBBZGRlZA==</PHRASE>
- <PHRASE Label="la_event_post.modify" Module="Proj-Base" Type="1">UG9zdCBNb2RpZmllZA==</PHRASE>
- <PHRASE Label="la_event_topic.add" Module="Proj-Base" Type="1">VG9waWMgQWRkZWQ=</PHRASE>
- <PHRASE Label="la_event_user.add" Module="Proj-Base" Type="1">QWRkIFVzZXI=</PHRASE>
- <PHRASE Label="la_event_user.add.pending" Module="Proj-Base" Type="1">QWRkIFBlbmRpbmcgVXNlcg==</PHRASE>
- <PHRASE Label="la_event_user.approve" Module="Proj-Base" Type="1">QXBwcm92ZSBVc2Vy</PHRASE>
- <PHRASE Label="la_event_user.deny" Module="Proj-Base" Type="1">RGVueSBVc2Vy</PHRASE>
- <PHRASE Label="la_event_user.forgotpw" Module="Proj-Base" Type="1">Rm9yZ290IFBhc3N3b3Jk</PHRASE>
- <PHRASE Label="la_event_user.membership_expiration_notice" Module="Proj-Base" Type="1">TWVtYmVyc2hpcCBleHBpcmF0aW9uIG5vdGljZQ==</PHRASE>
- <PHRASE Label="la_event_user.membership_expired" Module="Proj-Base" Type="1">TWVtYmVyc2hpcCBleHBpcmVk</PHRASE>
- <PHRASE Label="la_event_user.pswd_confirm" Module="Proj-Base" Type="1">UGFzc3dvcmQgQ29uZmlybWF0aW9u</PHRASE>
- <PHRASE Label="la_event_user.subscribe" Module="Proj-Base" Type="1">VXNlciBzdWJzY3JpYmVk</PHRASE>
- <PHRASE Label="la_event_user.suggest" Module="Proj-Base" Type="1">U3VnZ2VzdCB0byBhIGZyaWVuZA==</PHRASE>
- <PHRASE Label="la_event_user.unsubscribe" Module="Proj-Base" Type="1">VXNlciB1bnN1YnNjcmliZWQ=</PHRASE>
- <PHRASE Label="la_event_user.validate" Module="Proj-Base" Type="1">VmFsaWRhdGUgVXNlcg==</PHRASE>
- <PHRASE Label="la_Field" Module="Proj-Base" Type="1">RmllbGQ=</PHRASE>
- <PHRASE Label="la_field_displayorder" Module="Proj-Base" Type="1">RGlzcGxheSBPcmRlcg==</PHRASE>
- <PHRASE Label="la_fld_AddressLine" Module="Proj-Base" Type="1">QWRkcmVzcyBMaW5l</PHRASE>
- <PHRASE Label="la_fld_AdvancedCSS" Module="Proj-Base" Type="1">QWR2YW5jZWQgQ1NT</PHRASE>
- <PHRASE Label="la_fld_AltValue" Module="Proj-Base" Type="1">QWx0IFZhbHVl</PHRASE>
- <PHRASE Label="la_fld_AutomaticFilename" Module="Proj-Base" Type="1">QXV0b21hdGljIEZpbGVuYW1l</PHRASE>
- <PHRASE Label="la_fld_AvailableColumns" Module="Proj-Base" Type="1">QXZhaWxhYmxlIENvbHVtbnM=</PHRASE>
- <PHRASE Label="la_fld_Background" Module="Proj-Base" Type="1">QmFja2dyb3VuZA==</PHRASE>
- <PHRASE Label="la_fld_BackgroundAttachment" Module="Proj-Base" Type="1">QmFja2dyb3VuZCBBdHRhY2htZW50</PHRASE>
- <PHRASE Label="la_fld_BackgroundColor" Module="Proj-Base" Type="1">QmFja2dyb3VuZCBDb2xvcg==</PHRASE>
- <PHRASE Label="la_fld_BackgroundImage" Module="Proj-Base" Type="1">QmFja2dyb3VuZCBJbWFnZQ==</PHRASE>
- <PHRASE Label="la_fld_BackgroundPosition" Module="Proj-Base" Type="1">QmFja2dyb3VuZCBQb3NpdGlvbg==</PHRASE>
- <PHRASE Label="la_fld_BackgroundRepeat" Module="Proj-Base" Type="1">QmFja2dyb3VuZCBSZXBlYXQ=</PHRASE>
- <PHRASE Label="la_fld_BorderBottom" Module="Proj-Base" Type="1">Qm9yZGVyIEJvdHRvbQ==</PHRASE>
- <PHRASE Label="la_fld_BorderLeft" Module="Proj-Base" Type="1">Qm9yZGVyIExlZnQ=</PHRASE>
- <PHRASE Label="la_fld_BorderRight" Module="Proj-Base" Type="1">Qm9yZGVyIFJpZ2h0</PHRASE>
- <PHRASE Label="la_fld_Borders" Module="Proj-Base" Type="1">Qm9yZGVycw==</PHRASE>
- <PHRASE Label="la_fld_BorderTop" Module="Proj-Base" Type="1">Qm9yZGVyIFRvcA==</PHRASE>
- <PHRASE Label="la_fld_Category" Module="Proj-Base" Type="1">Q2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_fld_CategoryAutomaticFilename" Module="Proj-Base" Type="1">QXV0b21hdGljIERpcmVjdG9yeSBOYW1l</PHRASE>
- <PHRASE Label="la_fld_CategoryFilename" Module="Proj-Base" Type="1">RGlyZWN0b3J5IE5hbWU=</PHRASE>
- <PHRASE Label="la_fld_CategoryFormat" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgRm9ybWF0</PHRASE>
- <PHRASE Label="la_fld_CategoryId" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgSUQ=</PHRASE>
- <PHRASE Label="la_fld_CategorySeparator" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgc2VwYXJhdG9y</PHRASE>
- <PHRASE Label="la_fld_CategoryTemplate" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgVGVtcGxhdGU=</PHRASE>
- <PHRASE Label="la_fld_Charset" Module="Proj-Base" Type="1">Q2hhcnNldA==</PHRASE>
- <PHRASE Label="la_fld_CheckDuplicatesMethod" Module="Proj-Base" Type="1">Q2hlY2sgRHVwbGljYXRlcyBieQ==</PHRASE>
- <PHRASE Label="la_fld_Company" Module="Proj-Base" Type="1">Q29tcGFueQ==</PHRASE>
- <PHRASE Label="la_fld_CopyLabels" Module="Proj-Base" Type="1">Q29weSBMYWJlbHMgZnJvbSB0aGlzIExhbmd1YWdl</PHRASE>
- <PHRASE Label="la_fld_CreatedById" Module="Proj-Base" Type="1">Q3JlYXRlZCBCeQ==</PHRASE>
- <PHRASE Label="la_fld_CreatedOn" Module="Proj-Base" Type="1">Q3JlYXRlZCBPbg==</PHRASE>
- <PHRASE Label="la_fld_CSS" Module="Proj-Base" Type="1">Q1NTIFRlbXBsYXRl</PHRASE>
- <PHRASE Label="la_fld_Cursor" Module="Proj-Base" Type="1">Q3Vyc29y</PHRASE>
- <PHRASE Label="la_fld_DateFormat" Module="Proj-Base" Type="1">RGF0ZSBGb3JtYXQ=</PHRASE>
- <PHRASE Label="la_fld_DecimalPoint" Module="Proj-Base" Type="1">RGVjaW1hbCBQb2ludA==</PHRASE>
- <PHRASE Label="la_fld_Description" Module="Proj-Base" Type="1">RGVzY3JpcHRpb24=</PHRASE>
- <PHRASE Label="la_fld_Display" Module="Proj-Base" Type="1">RGlzcGxheQ==</PHRASE>
- <PHRASE Label="la_fld_DoNotEncode" Module="Proj-Base" Type="1">QXMgUGxhaW4gVGV4dA==</PHRASE>
- <PHRASE Label="la_fld_Duration" Module="Proj-Base" Type="1">RHVyYXRpb24=</PHRASE>
- <PHRASE Label="la_fld_EditorsPick" Module="Proj-Base" Type="1">RWRpdG9ycyBQaWNr</PHRASE>
- <PHRASE Label="la_fld_ElapsedTime" Module="Proj-Base" Type="1">RWxhcHNlZCBUaW1l</PHRASE>
- <PHRASE Label="la_fld_Enabled" Module="Proj-Base" Type="1">RW5hYmxlZA==</PHRASE>
- <PHRASE Label="la_fld_EstimatedTime" Module="Proj-Base" Type="1">RXN0aW1hdGVkIFRpbWU=</PHRASE>
- <PHRASE Label="la_fld_Expire" Module="Proj-Base" Type="1">RXhwaXJl</PHRASE>
- <PHRASE Label="la_fld_ExportColumns" Module="Proj-Base" Type="1">RXhwb3J0IGNvbHVtbnM=</PHRASE>
- <PHRASE Label="la_fld_ExportFileName" Module="Proj-Base" Type="1">RXhwb3J0IEZpbGVuYW1l</PHRASE>
- <PHRASE Label="la_fld_ExportFormat" Module="Proj-Base" Type="1">RXhwb3J0IGZvcm1hdA==</PHRASE>
- <PHRASE Label="la_fld_ExportModules" Module="Proj-Base" Type="1">RXhwb3J0IE1vZHVsZXM=</PHRASE>
- <PHRASE Label="la_fld_ExportPhraseTypes" Module="Proj-Base" Type="1">RXhwb3J0IFBocmFzZSBUeXBlcw==</PHRASE>
- <PHRASE Label="la_fld_ExtraHeaders" Module="Proj-Base" Type="1">RXh0cmEgSGVhZGVycw==</PHRASE>
- <PHRASE Label="la_fld_Fax" Module="Proj-Base" Type="1">RmF4</PHRASE>
- <PHRASE Label="la_fld_FieldsEnclosedBy" Module="Proj-Base" Type="1">RmllbGRzIGVuY2xvc2VkIGJ5</PHRASE>
- <PHRASE Label="la_fld_FieldsSeparatedBy" Module="Proj-Base" Type="1">RmllbGRzIHNlcGFyYXRlZCBieQ==</PHRASE>
- <PHRASE Label="la_fld_FieldTitles" Module="Proj-Base" Type="1">RmllbGQgVGl0bGVz</PHRASE>
- <PHRASE Label="la_fld_Filename" Module="Proj-Base" Type="1">RmlsZW5hbWU=</PHRASE>
- <PHRASE Label="la_fld_Font" Module="Proj-Base" Type="1">Rm9udA==</PHRASE>
- <PHRASE Label="la_fld_FontColor" Module="Proj-Base" Type="1">Rm9udCBDb2xvcg==</PHRASE>
- <PHRASE Label="la_fld_FontFamily" Module="Proj-Base" Type="1">Rm9udCBGYW1pbHk=</PHRASE>
- <PHRASE Label="la_fld_FontSize" Module="Proj-Base" Type="1">Rm9udCBTaXpl</PHRASE>
- <PHRASE Label="la_fld_FontStyle" Module="Proj-Base" Type="1">Rm9udCBTdHlsZQ==</PHRASE>
- <PHRASE Label="la_fld_FontWeight" Module="Proj-Base" Type="1">Rm9udCBXZWlnaHQ=</PHRASE>
- <PHRASE Label="la_fld_GroupId" Module="Proj-Base" Type="1">SUQ=</PHRASE>
- <PHRASE Label="la_fld_GroupName" Module="Proj-Base" Type="1">R3JvdXAgTmFtZQ==</PHRASE>
- <PHRASE Label="la_fld_Height" Module="Proj-Base" Type="1">SGVpZ2h0</PHRASE>
- <PHRASE Label="la_fld_Hits" Module="Proj-Base" Type="1">SGl0cw==</PHRASE>
- <PHRASE Label="la_fld_Hot" Module="Proj-Base" Type="1">SG90</PHRASE>
- <PHRASE Label="la_fld_IconURL" Module="Proj-Base" Type="1">SWNvbiBVUkw=</PHRASE>
- <PHRASE Label="la_fld_Id" Module="Proj-Base" Type="1">SUQ=</PHRASE>
- <PHRASE Label="la_fld_ImageId" Module="Proj-Base" Type="1">SW1hZ2UgSUQ=</PHRASE>
- <PHRASE Label="la_fld_ImportCategory" Module="Proj-Base" Type="1">SW1wb3J0IENhdGVnb3J5</PHRASE>
- <PHRASE Label="la_fld_ImportFilename" Module="Proj-Base" Type="1">SW1wb3J0IEZpbGVuYW1l</PHRASE>
- <PHRASE Label="la_fld_IncludeFieldTitles" Module="Proj-Base" Type="1">SW5jbHVkZSBmaWVsZCB0aXRsZXM=</PHRASE>
- <PHRASE Label="la_fld_InputDateFormat" Module="Proj-Base" Type="1">SW5wdXQgRGF0ZSBGb3JtYXQ=</PHRASE>
- <PHRASE Label="la_fld_InputTimeFormat" Module="Proj-Base" Type="1">SW5wdXQgVGltZSBGb3JtYXQ=</PHRASE>
- <PHRASE Label="la_fld_InstallModules" Module="Proj-Base" Type="1">SW5zdGFsbCBNb2R1bGVz</PHRASE>
- <PHRASE Label="la_fld_InstallPhraseTypes" Module="Proj-Base" Type="1">SW5zdGFsbCBQaHJhc2UgVHlwZXM=</PHRASE>
- <PHRASE Label="la_fld_IsBaseCategory" Module="Proj-Base" Type="1">VXNlIGN1cnJlbnQgY2F0ZWdvcnkgYXMgcm9vdCBmb3IgdGhlIGV4cG9ydA==</PHRASE>
- <PHRASE Label="la_fld_IsPrimary" Module="Proj-Base" Type="1">UHJpbWFyeQ==</PHRASE>
- <PHRASE Label="la_fld_IsSystem" Module="Proj-Base" Type="1">SXMgU3lzdGVt</PHRASE>
- <PHRASE Label="la_fld_ItemTemplate" Module="Proj-Base" Type="1">SXRlbSBUZW1wbGF0ZQ==</PHRASE>
- <PHRASE Label="la_fld_LanguageFile" Module="Proj-Base" Type="1">TGFuZ3VhZ2UgRmlsZQ==</PHRASE>
- <PHRASE Label="la_fld_LanguageId" Module="Proj-Base" Type="1">TGFuZ3VhZ2UgSUQ=</PHRASE>
- <PHRASE Label="la_fld_Left" Module="Proj-Base" Type="1">TGVmdA==</PHRASE>
- <PHRASE Label="la_fld_LineEndings" Module="Proj-Base" Type="1">TGluZSBlbmRpbmdz</PHRASE>
- <PHRASE Label="la_fld_LineEndingsInside" Module="Proj-Base" Type="1">TGluZSBFbmRpbmdzIEluc2lkZSBGaWVsZHM=</PHRASE>
- <PHRASE Label="la_fld_LocalName" Module="Proj-Base" Type="1">TG9jYWwgTmFtZQ==</PHRASE>
- <PHRASE Label="la_fld_Location" Module="Proj-Base" Type="1">TG9jYXRpb24=</PHRASE>
- <PHRASE Label="la_fld_Logo" Module="Proj-Base" Type="1">TG9nbyBpbWFnZQ==</PHRASE>
- <PHRASE Label="la_fld_MarginBottom" Module="Proj-Base" Type="1">TWFyZ2luIEJvdHRvbQ==</PHRASE>
- <PHRASE Label="la_fld_MarginLeft" Module="Proj-Base" Type="1">TWFyZ2luIExlZnQ=</PHRASE>
- <PHRASE Label="la_fld_MarginRight" Module="Proj-Base" Type="1">TWFyZ2luIFJpZ2h0</PHRASE>
- <PHRASE Label="la_fld_Margins" Module="Proj-Base" Type="1">TWFyZ2lucw==</PHRASE>
- <PHRASE Label="la_fld_MarginTop" Module="Proj-Base" Type="1">TWFyZ2luIFRvcA==</PHRASE>
- <PHRASE Label="la_fld_MessageBody" Module="Proj-Base" Type="1">TWVzc2FnZSBCb2R5</PHRASE>
- <PHRASE Label="la_fld_MessageType" Module="Proj-Base" Type="1">TWVzc2FnZSBUeXBl</PHRASE>
- <PHRASE Label="la_fld_MetaDescription" Module="Proj-Base" Type="1">TWV0YSBEZXNjcmlwdGlvbg==</PHRASE>
- <PHRASE Label="la_fld_MetaKeywords" Module="Proj-Base" Type="1">TWV0YSBLZXl3b3Jkcw==</PHRASE>
- <PHRASE Label="la_fld_Modified" Module="Proj-Base" Type="1">TW9kaWZpZWQ=</PHRASE>
- <PHRASE Label="la_fld_Module" Module="Proj-Base" Type="1">TW9kdWxl</PHRASE>
- <PHRASE Label="la_fld_Name" Module="Proj-Base" Type="1">TmFtZQ==</PHRASE>
- <PHRASE Label="la_fld_New" Module="Proj-Base" Type="1">TmV3</PHRASE>
- <PHRASE Label="la_fld_PackName" Module="Proj-Base" Type="1">UGFjayBOYW1l</PHRASE>
- <PHRASE Label="la_fld_PaddingBottom" Module="Proj-Base" Type="1">UGFkZGluZyBCb3R0b20=</PHRASE>
- <PHRASE Label="la_fld_PaddingLeft" Module="Proj-Base" Type="1">UGFkZGluZyBMZWZ0</PHRASE>
- <PHRASE Label="la_fld_PaddingRight" Module="Proj-Base" Type="1">UGFkZGluZyBSaWdodA==</PHRASE>
- <PHRASE Label="la_fld_Paddings" Module="Proj-Base" Type="1">UGFkZGluZ3M=</PHRASE>
- <PHRASE Label="la_fld_PaddingTop" Module="Proj-Base" Type="1">UGFkZGluZyBUb3A=</PHRASE>
- <PHRASE Label="la_fld_PercentsCompleted" Module="Proj-Base" Type="1">UGVyY2VudHMgQ29tcGxldGVk</PHRASE>
- <PHRASE Label="la_fld_Phrase" Module="Proj-Base" Type="1">TGFiZWw=</PHRASE>
- <PHRASE Label="la_fld_PhraseType" Module="Proj-Base" Type="1">UGhyYXNlIFR5cGU=</PHRASE>
- <PHRASE Label="la_fld_Pop" Module="Proj-Base" Type="1">UG9w</PHRASE>
- <PHRASE Label="la_fld_Position" Module="Proj-Base" Type="1">UG9zaXRpb24=</PHRASE>
- <PHRASE Label="la_fld_Primary" Module="Proj-Base" Type="1">UHJpbWFyeQ==</PHRASE>
- <PHRASE Label="la_fld_PrimaryLang" Module="Proj-Base" Type="1">UHJpbWFyeQ==</PHRASE>
- <PHRASE Label="la_fld_PrimaryTranslation" Module="Proj-Base" Type="1">UHJpbWFyeSBUcmFuc2xhdGlvbg==</PHRASE>
- <PHRASE Label="la_fld_Priority" Module="Proj-Base" Type="1">UHJpb3JpdHk=</PHRASE>
- <PHRASE Label="la_fld_Rating" Module="Proj-Base" Type="1">UmF0aW5n</PHRASE>
- <PHRASE Label="la_fld_RelationshipId" Module="Proj-Base" Type="1">UmVsYXRpb24gSUQ=</PHRASE>
- <PHRASE Label="la_fld_RelationshipType" Module="Proj-Base" Type="1">VHlwZQ==</PHRASE>
- <PHRASE Label="la_fld_RemoteUrl" Module="Proj-Base" Type="1">UmVtb3RlIFVSTA==</PHRASE>
- <PHRASE Label="la_fld_ReplaceDuplicates" Module="Proj-Base" Type="1">UmVwbGFjZSBEdXBsaWNhdGVz</PHRASE>
- <PHRASE Label="la_fld_ReviewId" Module="Proj-Base" Type="0">UmV2aWV3IElE</PHRASE>
- <PHRASE Label="la_fld_ReviewText" Module="Proj-Base" Type="1">UmV2aWV3IFRleHQ=</PHRASE>
- <PHRASE Label="la_fld_SameAsThumb" Module="Proj-Base" Type="1">U2FtZSBBcyBUaHVtYg==</PHRASE>
- <PHRASE Label="la_fld_SelectorBase" Module="Proj-Base" Type="1">QmFzZWQgT24=</PHRASE>
- <PHRASE Label="la_fld_SelectorData" Module="Proj-Base" Type="1">U3R5bGU=</PHRASE>
- <PHRASE Label="la_fld_SelectorId" Module="Proj-Base" Type="1">U2VsZWN0b3IgSUQ=</PHRASE>
- <PHRASE Label="la_fld_SelectorName" Module="Proj-Base" Type="1">U2VsZWN0b3IgTmFtZQ==</PHRASE>
- <PHRASE Label="la_fld_SkinName" Module="Proj-Base" Type="1">TmFtZQ==</PHRASE>
- <PHRASE Label="la_fld_SkipFirstRow" Module="Proj-Base" Type="1">U2tpcCBGaXJzdCBSb3c=</PHRASE>
- <PHRASE Label="la_fld_Status" Module="Proj-Base" Type="1">U3RhdHVz</PHRASE>
- <PHRASE Label="la_fld_StylesheetId" Module="Proj-Base" Type="1">U3R5bGVzaGVldCBJRA==</PHRASE>
- <PHRASE Label="la_fld_Subject" Module="Proj-Base" Type="1">U3ViamVjdA==</PHRASE>
- <PHRASE Label="la_fld_TargetId" Module="Proj-Base" Type="1">SXRlbQ==</PHRASE>
- <PHRASE Label="la_fld_TextAlign" Module="Proj-Base" Type="1">VGV4dCBBbGlnbg==</PHRASE>
- <PHRASE Label="la_fld_TextDecoration" Module="Proj-Base" Type="1">VGV4dCBEZWNvcmF0aW9u</PHRASE>
- <PHRASE Label="la_fld_ThousandSep" Module="Proj-Base" Type="1">VGhvdXNhbmRzIFNlcGFyYXRvcg==</PHRASE>
- <PHRASE Label="la_fld_TimeFormat" Module="Proj-Base" Type="1">VGltZSBGb3JtYXQ=</PHRASE>
- <PHRASE Label="la_fld_Title" Module="Proj-Base" Type="1">VGl0bGU=</PHRASE>
- <PHRASE Label="la_fld_Top" Module="Proj-Base" Type="1">VG9w</PHRASE>
- <PHRASE Label="la_fld_Translation" Module="Proj-Base" Type="1">VmFsdWU=</PHRASE>
- <PHRASE Label="la_fld_UnitSystem" Module="Proj-Base" Type="1">TWVhc3VyZXMgU3lzdGVt</PHRASE>
- <PHRASE Label="la_fld_Upload" Module="Proj-Base" Type="1">VXBsb2FkIEZpbGUgRnJvbSBMb2NhbCBQQw==</PHRASE>
- <PHRASE Label="la_fld_URL" Module="Proj-Base" Type="1">VVJM</PHRASE>
- <PHRASE Label="la_fld_Visibility" Module="Proj-Base" Type="1">VmlzaWJpbGl0eQ==</PHRASE>
- <PHRASE Label="la_fld_Votes" Module="Proj-Base" Type="1">Vm90ZXM=</PHRASE>
- <PHRASE Label="la_fld_Width" Module="Proj-Base" Type="1">V2lkdGg=</PHRASE>
- <PHRASE Label="la_fld_Z-Index" Module="Proj-Base" Type="1">Wi1JbmRleA==</PHRASE>
- <PHRASE Label="la_Font" Module="Proj-Base" Type="1">Rm9udCBQcm9wZXJ0aWVz</PHRASE>
- <PHRASE Label="la_from_date" Module="Proj-Base" Type="1">RnJvbSBEYXRl</PHRASE>
- <PHRASE Label="la_front_end" Module="Proj-Base" Type="1">RnJvbnQgZW5k</PHRASE>
- <PHRASE Label="la_GeneralSections" Module="Proj-Base" Type="1">R2VuZXJhbCBTZWN0aW9ucw==</PHRASE>
- <PHRASE Label="la_gigabytes" Module="Proj-Base" Type="1">Z2lnYWJ5dGUocyk=</PHRASE>
- <PHRASE Label="la_HeadFgBgColor" Module="Proj-Base" Type="1">SGVhZCBmcmFtZSBjb2xvcnM8YnIvPg0KTWFpbiAvIE1haW4gQmFja2dyb3VuZCwgQmFyIC8gQmFyIEJhY2tncm91bmQg</PHRASE>
- <PHRASE Label="la_HeadFrame" Module="Proj-Base" Type="1">SGVhZCBGcmFtZQ==</PHRASE>
- <PHRASE Label="la_help_in_progress" Module="Proj-Base" Type="1">VGhpcyBoZWxwIHNlY3Rpb24gZG9lcyBub3QgeWV0IGV4aXN0LCBpdCdzIGNvbWluZyBzb29uIQ==</PHRASE>
- <PHRASE Label="la_Html" Module="Proj-Base" Type="1">aHRtbA==</PHRASE>
- <PHRASE Label="la_IDField" Module="Proj-Base" Type="1">SUQgRmllbGQ=</PHRASE>
- <PHRASE Label="la_ImportingEmailEvents" Module="Proj-Base" Type="1">SW1wb3J0aW5nIEVtYWlsIEV2ZW50cyAuLi4=</PHRASE>
- <PHRASE Label="la_ImportingLanguages" Module="Proj-Base" Type="1">SW1wb3J0aW5nIExhbmd1YWdlcyAuLi4=</PHRASE>
- <PHRASE Label="la_ImportingPhrases" Module="Proj-Base" Type="1">SW1wb3J0aW5nIFBocmFzZXMgLi4u</PHRASE>
- <PHRASE Label="la_importlang_phrasewarning" Module="Proj-Base" Type="2">RW5hYmxpbmcgdGhpcyBvcHRpb24gd2lsbCB1bmRvIGFueSBjaGFuZ2VzIHlvdSBoYXZlIG1hZGUgdG8gZXhpc3RpbmcgcGhyYXNlcw==</PHRASE>
- <PHRASE Label="la_importPhrases" Module="Proj-Base" Type="1">SW1wb3J0aW5nIFBocmFzZXM=</PHRASE>
- <PHRASE Label="la_inlink" Module="Proj-Base" Type="1">SW4tbGluaw==</PHRASE>
- <PHRASE Label="la_invalid_integer" Module="Proj-Base" Type="1">SW5jb3JyZWN0IGRhdGEgZm9ybWF0LCBwbGVhc2UgdXNlIGludGVnZXI=</PHRASE>
- <PHRASE Label="la_invalid_license" Module="Proj-Base" Type="1">TWlzc2luZyBvciBpbnZhbGlkIEluLVBvcnRhbCBMaWNlbnNl</PHRASE>
- <PHRASE Label="la_invalid_state" Module="Proj-Base" Type="0">SW52YWxpZCBzdGF0ZQ==</PHRASE>
- <PHRASE Label="la_ItemTab_Categories" Module="Proj-Base" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_ItemTab_Links" Module="Proj-Base" Type="1">TGlua3M=</PHRASE>
- <PHRASE Label="la_ItemTab_News" Module="Proj-Base" Type="1">QXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="la_ItemTab_Topics" Module="Proj-Base" Type="1">VG9waWNz</PHRASE>
- <PHRASE Label="la_K4_AdvancedView" Module="Proj-Base" Type="1">SzQgQWR2YW5jZWQgVmlldw==</PHRASE>
- <PHRASE Label="la_K4_Catalog" Module="Proj-Base" Type="1">SzQgQ2F0YWxvZw==</PHRASE>
- <PHRASE Label="la_kilobytes" Module="Proj-Base" Type="1">S0I=</PHRASE>
- <PHRASE Label="la_language" Module="Proj-Base" Type="1">TGFuZ3VhZ2U=</PHRASE>
- <PHRASE Label="la_lang_import_progress" Module="Proj-Base" Type="1">SW1wb3J0IHByb2dyZXNz</PHRASE>
- <PHRASE Label="la_LastUpdate" Module="Proj-Base" Type="1">TGFzdCBVcGRhdGVk</PHRASE>
- <PHRASE Label="la_Link_Date" Module="Proj-Base" Type="1">RGF0ZQ==</PHRASE>
- <PHRASE Label="la_Link_Description" Module="Proj-Base" Type="1">TGluayBEZXNjcmlwdGlvbg==</PHRASE>
- <PHRASE Label="la_link_editorspick_prompt" Module="Proj-Base" Type="1">RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBsaW5rcw==</PHRASE>
- <PHRASE Label="la_Link_Hits" Module="Proj-Base" Type="1">SGl0cw==</PHRASE>
- <PHRASE Label="la_Link_Name" Module="Proj-Base" Type="1">TGluayBOYW1l</PHRASE>
- <PHRASE Label="la_link_newdays_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGRheXMgZm9yIGEgbGluayB0byBiZSBORVc=</PHRASE>
- <PHRASE Label="la_link_perpage_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGxpbmtzIHBlciBwYWdl</PHRASE>
- <PHRASE Label="la_link_perpage_short_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGxpbmtzIHBlciBwYWdlIG9uIGEgc2hvcnQgbGlzdGluZw==</PHRASE>
- <PHRASE Label="la_Link_Rating" Module="Proj-Base" Type="1">UmF0aW5n</PHRASE>
- <PHRASE Label="la_link_reviewed" Module="Proj-Base" Type="1">TGluayByZXZpZXdlZA==</PHRASE>
- <PHRASE Label="la_link_sortfield2_prompt" Module="Proj-Base" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_link_sortfield_prompt" Module="Proj-Base" Type="1">T3JkZXIgbGlua3MgYnk=</PHRASE>
- <PHRASE Label="la_link_sortreviews2_prompt" Module="Proj-Base" Type="1">YW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_link_sortreviews_prompt" Module="Proj-Base" Type="1">U29ydCByZXZpZXdzIGJ5</PHRASE>
- <PHRASE Label="la_Link_URL" Module="Proj-Base" Type="1">VVJM</PHRASE>
- <PHRASE Label="la_link_urlstatus_prompt" Module="Proj-Base" Type="1">RGlzcGxheSBsaW5rIFVSTCBpbiBzdGF0dXMgYmFy</PHRASE>
- <PHRASE Label="la_Linux" Module="Proj-Base" Type="1">TGludXg=</PHRASE>
- <PHRASE Label="la_LocalImage" Module="Proj-Base" Type="1">TG9jYWwgSW1hZ2U=</PHRASE>
- <PHRASE Label="la_Logged_in_as" Module="Proj-Base" Type="1">TG9nZ2VkIGluIGFz</PHRASE>
- <PHRASE Label="la_login" Module="Proj-Base" Type="1">TG9naW4=</PHRASE>
- <PHRASE Label="la_m0" Module="Proj-Base" Type="1">KEdNVCk=</PHRASE>
- <PHRASE Label="la_m1" Module="Proj-Base" Type="1">KEdNVCAtMDE6MDAp</PHRASE>
- <PHRASE Label="la_m10" Module="Proj-Base" Type="1">KEdNVCAtMTA6MDAp</PHRASE>
- <PHRASE Label="la_m11" Module="Proj-Base" Type="1">KEdNVCAtMTE6MDAp</PHRASE>
- <PHRASE Label="la_m12" Module="Proj-Base" Type="1">KEdNVCAtMTI6MDAp</PHRASE>
- <PHRASE Label="la_m2" Module="Proj-Base" Type="1">KEdNVCAtMDI6MDAp</PHRASE>
- <PHRASE Label="la_m3" Module="Proj-Base" Type="1">KEdNVCAtMDM6MDAp</PHRASE>
- <PHRASE Label="la_m4" Module="Proj-Base" Type="1">KEdNVCAtMDQ6MDAp</PHRASE>
- <PHRASE Label="la_m5" Module="Proj-Base" Type="1">KEdNVCAtMDU6MDAp</PHRASE>
- <PHRASE Label="la_m6" Module="Proj-Base" Type="1">KEdNVCAtMDY6MDAp</PHRASE>
- <PHRASE Label="la_m7" Module="Proj-Base" Type="1">KEdNVCAtMDc6MDAp</PHRASE>
- <PHRASE Label="la_m8" Module="Proj-Base" Type="1">KEdNVCAtMDg6MDAp</PHRASE>
- <PHRASE Label="la_m9" Module="Proj-Base" Type="1">KEdNVCAtMDk6MDAp</PHRASE>
- <PHRASE Label="la_Margins" Module="Proj-Base" Type="1">TWFyZ2lucw==</PHRASE>
- <PHRASE Label="la_megabytes" Module="Proj-Base" Type="1">TUI=</PHRASE>
- <PHRASE Label="la_MembershipExpirationReminder" Module="Proj-Base" Type="1">R3JvdXAgTWVtYmVyc2hpcCBFeHBpcmF0aW9uIFJlbWluZGVyIChkYXlzKQ==</PHRASE>
- <PHRASE Label="la_MenuTreeTitle" Module="Proj-Base" Type="1">TWFpbiBNZW51</PHRASE>
- <PHRASE Label="la_Metric" Module="Proj-Base" Type="1">TWV0cmlj</PHRASE>
- <PHRASE Label="la_missing_theme" Module="Proj-Base" Type="1">TWlzc2luZyBJbiBUaGVtZQ==</PHRASE>
- <PHRASE Label="la_MixedCategoryPath" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgcGF0aCBpbiBvbmUgZmllbGQ=</PHRASE>
- <PHRASE Label="la_module_not_licensed" Module="Proj-Base" Type="1">TW9kdWxlIG5vdCBsaWNlbnNlZA==</PHRASE>
- <PHRASE Label="la_monday" Module="Proj-Base" Type="1">TW9uZGF5</PHRASE>
- <PHRASE Label="la_Never" Module="Proj-Base" Type="1">TmV2ZXI=</PHRASE>
- <PHRASE Label="la_NeverExpires" Module="Proj-Base" Type="1">TmV2ZXIgRXhwaXJlcw==</PHRASE>
- <PHRASE Label="la_New" Module="Proj-Base" Type="1">TmV3</PHRASE>
- <PHRASE Label="la_news_daysarchive_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGRheXMgdG8gYXJjaGl2ZSBhcnRpY2xlcyBhdXRvbWF0aWNhbGx5</PHRASE>
- <PHRASE Label="la_news_editorpicksabove_prompt" Module="Proj-Base" Type="1">RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBhcnRpY2xlcw==</PHRASE>
- <PHRASE Label="la_news_newdays_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGRheXMgZm9yIGEgYXJ0aWNsZSB0byBiZSBORVc=</PHRASE>
- <PHRASE Label="la_news_perpage_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGFydGljbGVzIHBlciBwYWdl</PHRASE>
- <PHRASE Label="la_news_perpage_short_prompt" Module="Proj-Base" Type="1">QXJ0aWNsZXMgUGVyIFBhZ2UgKFNob3J0bGlzdCk=</PHRASE>
- <PHRASE Label="la_news_sortfield2_pompt" Module="Proj-Base" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_news_sortfield_pompt" Module="Proj-Base" Type="1">T3JkZXIgYXJ0aWNsZXMgYnk=</PHRASE>
- <PHRASE Label="la_news_sortreviews2_prompt" Module="Proj-Base" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_news_sortreviews_prompt" Module="Proj-Base" Type="1">U29ydCByZXZpZXdzIGJ5</PHRASE>
- <PHRASE Label="la_nextcategory" Module="Proj-Base" Type="1">TmV4dCBjYXRlZ29yeQ==</PHRASE>
- <PHRASE Label="la_nextgroup" Module="Proj-Base" Type="1">TmV4dCBncm91cA==</PHRASE>
- <PHRASE Label="la_NextUser" Module="Proj-Base" Type="1">TmV4dCBVc2Vy</PHRASE>
- <PHRASE Label="la_No" Module="Proj-Base" Type="1">Tm8=</PHRASE>
- <PHRASE Label="la_none" Module="Proj-Base" Type="1">Tm9uZQ==</PHRASE>
- <PHRASE Label="la_NoSubject" Module="Proj-Base" Type="1">Tm8gU3ViamVjdA==</PHRASE>
- <PHRASE Label="la_no_topics" Module="Proj-Base" Type="1">Tm8gdG9waWNz</PHRASE>
- <PHRASE Label="la_Number_of_Posts" Module="Proj-Base" Type="1">TnVtYmVyIG9mIFBvc3Rz</PHRASE>
- <PHRASE Label="la_of" Module="Proj-Base" Type="1">b2Y=</PHRASE>
- <PHRASE Label="la_Off" Module="Proj-Base" Type="1">T2Zm</PHRASE>
- <PHRASE Label="la_On" Module="Proj-Base" Type="1">T24=</PHRASE>
- <PHRASE Label="la_OneWay" Module="Proj-Base" Type="1">T25lIFdheQ==</PHRASE>
- <PHRASE Label="la_opt_day" Module="Proj-Base" Type="1">ZGF5KHMp</PHRASE>
- <PHRASE Label="la_opt_hour" Module="Proj-Base" Type="1">aG91cihzKQ==</PHRASE>
- <PHRASE Label="la_opt_min" Module="Proj-Base" Type="1">bWludXRlKHMp</PHRASE>
- <PHRASE Label="la_opt_month" Module="Proj-Base" Type="1">bW9udGgocyk=</PHRASE>
- <PHRASE Label="la_opt_sec" Module="Proj-Base" Type="1">c2Vjb25kKHMp</PHRASE>
- <PHRASE Label="la_opt_week" Module="Proj-Base" Type="1">d2VlayhzKQ==</PHRASE>
- <PHRASE Label="la_opt_year" Module="Proj-Base" Type="1">eWVhcihzKQ==</PHRASE>
- <PHRASE Label="la_original_values" Module="Proj-Base" Type="1">T3JpZ2luYWwgVmFsdWVz</PHRASE>
- <PHRASE Label="la_origional_value" Module="Proj-Base" Type="1">T3JpZ2luYWwgVmFsdWU=</PHRASE>
- <PHRASE Label="la_origional_values" Module="Proj-Base" Type="1">T3JpZ2luYWwgVmFsdWVz</PHRASE>
- <PHRASE Label="la_OtherFields" Module="Proj-Base" Type="1">T3RoZXIgRmllbGRz</PHRASE>
- <PHRASE Label="la_p1" Module="Proj-Base" Type="1">KEdNVCArMDE6MDAp</PHRASE>
- <PHRASE Label="la_p10" Module="Proj-Base" Type="1">KEdNVCArMTA6MDAp</PHRASE>
- <PHRASE Label="la_p11" Module="Proj-Base" Type="1">KEdNVCArMTE6MDAp</PHRASE>
- <PHRASE Label="la_p12" Module="Proj-Base" Type="1">KEdNVCArMTI6MDAp</PHRASE>
- <PHRASE Label="la_p13" Module="Proj-Base" Type="1">KEdNVCArMTM6MDAp</PHRASE>
- <PHRASE Label="la_p2" Module="Proj-Base" Type="1">KEdNVCArMDI6MDAp</PHRASE>
- <PHRASE Label="la_p3" Module="Proj-Base" Type="1">KEdNVCArMDM6MDAp</PHRASE>
- <PHRASE Label="la_p4" Module="Proj-Base" Type="1">KEdNVCArMDQ6MDAp</PHRASE>
- <PHRASE Label="la_p5" Module="Proj-Base" Type="1">KEdNVCArMDU6MDAp</PHRASE>
- <PHRASE Label="la_p6" Module="Proj-Base" Type="1">KEdNVCArMDY6MDAp</PHRASE>
- <PHRASE Label="la_p7" Module="Proj-Base" Type="1">KEdNVCArMDc6MDAp</PHRASE>
- <PHRASE Label="la_p8" Module="Proj-Base" Type="1">KEdNVCArMDg6MDAp</PHRASE>
- <PHRASE Label="la_p9" Module="Proj-Base" Type="1">KEdNVCArMDk6MDAp</PHRASE>
- <PHRASE Label="la_Paddings" Module="Proj-Base" Type="1">UGFkZGluZ3M=</PHRASE>
- <PHRASE Label="la_Page" Module="Proj-Base" Type="1">UGFnZQ==</PHRASE>
- <PHRASE Label="la_password_info" Module="Proj-Base" Type="2">VG8gY2hhbmdlIHRoZSBwYXNzd29yZCwgZW50ZXIgdGhlIHBhc3N3b3JkIGhlcmUgYW5kIGluIHRoZSBib3ggYmVsb3c=</PHRASE>
- <PHRASE Label="la_Pending" Module="Proj-Base" Type="0">UGVuZGluZw==</PHRASE>
- <PHRASE Label="la_performing_backup" Module="Proj-Base" Type="1">UGVyZm9ybWluZyBCYWNrdXA=</PHRASE>
- <PHRASE Label="la_performing_export" Module="Proj-Base" Type="1">UGVyZm9ybWluZyBFeHBvcnQ=</PHRASE>
- <PHRASE Label="la_performing_import" Module="Proj-Base" Type="1">UGVyZm9ybWluZyBJbXBvcnQ=</PHRASE>
- <PHRASE Label="la_performing_restore" Module="Proj-Base" Type="1">UGVyZm9ybWluZyBSZXN0b3Jl</PHRASE>
- <PHRASE Label="la_PermName_Admin_desc" Module="Proj-Base" Type="1">QWxsb3dzIGFjY2VzcyB0byB0aGUgQWRtaW5pc3RyYXRpb24gdXRpbGl0eQ==</PHRASE>
- <PHRASE Label="la_PermName_SystemAccess.ReadOnly_desc" Module="Proj-Base" Type="1">UmVhZC1Pbmx5IEFjY2VzcyBUbyBEYXRhYmFzZQ==</PHRASE>
- <PHRASE Label="la_PermTab_category" Module="Proj-Base" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_PermTab_link" Module="Proj-Base" Type="1">TGlua3M=</PHRASE>
- <PHRASE Label="la_PermTab_news" Module="Proj-Base" Type="1">QXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="la_PermTab_topic" Module="Proj-Base" Type="1">VG9waWNz</PHRASE>
- <PHRASE Label="la_PermType_Admin" Module="Proj-Base" Type="1">UGVybWlzc2lvbiBUeXBlIEFkbWlu</PHRASE>
- <PHRASE Label="la_PermType_AdminSection" Module="Proj-Base" Type="1">QWRtaW5pc3RyYXRpb24=</PHRASE>
- <PHRASE Label="la_PermType_Front" Module="Proj-Base" Type="1">UGVybWlzc2lvbiBUeXBlIEZyb250IEVuZA==</PHRASE>
- <PHRASE Label="la_PermType_FrontEnd" Module="Proj-Base" Type="1">RnJvbnQgRW5k</PHRASE>
- <PHRASE Label="la_PhraseNotTranslated" Module="Proj-Base" Type="1">Tm90IFRyYW5zbGF0ZWQ=</PHRASE>
- <PHRASE Label="la_PhraseTranslated" Module="Proj-Base" Type="1">VHJhbnNsYXRlZA==</PHRASE>
- <PHRASE Label="la_PhraseType_Admin" Module="Proj-Base" Type="1">QWRtaW4=</PHRASE>
- <PHRASE Label="la_PhraseType_Both" Module="Proj-Base" Type="2">Qm90aA==</PHRASE>
- <PHRASE Label="la_PhraseType_Front" Module="Proj-Base" Type="1">RnJvbnQ=</PHRASE>
- <PHRASE Label="la_Pick" Module="Proj-Base" Type="1">RWRpdG9yJ3MgcGljaw==</PHRASE>
- <PHRASE Label="la_Pop" Module="Proj-Base" Type="1">UG9w</PHRASE>
- <PHRASE Label="la_PositionAndVisibility" Module="Proj-Base" Type="1">UG9zaXRpb24gQW5kIFZpc2liaWxpdHk=</PHRASE>
- <PHRASE Label="la_posts_newdays_prompt" Module="Proj-Base" Type="1">TmV3IHBvc3RzIChkYXlzKQ==</PHRASE>
- <PHRASE Label="la_posts_perpage_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIHBvc3RzIHBlciBwYWdl</PHRASE>
- <PHRASE Label="la_posts_subheading" Module="Proj-Base" Type="1">UG9zdHM=</PHRASE>
- <PHRASE Label="la_prevcategory" Module="Proj-Base" Type="1">UHJldmlvdXMgY2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_prevgroup" Module="Proj-Base" Type="1">UHJldmlvdXMgZ3JvdXA=</PHRASE>
- <PHRASE Label="la_PrevUser" Module="Proj-Base" Type="1">UHJldmlvdXMgVXNlcg==</PHRASE>
- <PHRASE Label="la_PrimaryCategory" Module="Proj-Base" Type="1">UHJpbWFyeQ==</PHRASE>
- <PHRASE Label="la_prompt_ActiveArticles" Module="Proj-Base" Type="1">QWN0aXZlIEFydGljbGVz</PHRASE>
- <PHRASE Label="la_prompt_ActiveCategories" Module="Proj-Base" Type="1">QWN0aXZlIENhdGVnb3JpZXM=</PHRASE>
- <PHRASE Label="la_prompt_ActiveLinks" Module="Proj-Base" Type="1">QWN0aXZlIExpbmtz</PHRASE>
- <PHRASE Label="la_prompt_ActiveTopics" Module="Proj-Base" Type="1">QWN0aXZlIFRvcGljcw==</PHRASE>
- <PHRASE Label="la_prompt_ActiveUsers" Module="Proj-Base" Type="1">QWN0aXZlIFVzZXJz</PHRASE>
- <PHRASE Label="la_prompt_addmodule" Module="Proj-Base" Type="1">QWRkIE1vZHVsZQ==</PHRASE>
- <PHRASE Label="la_prompt_AddressTo" Module="Proj-Base" Type="1">U2VudCBUbw==</PHRASE>
- <PHRASE Label="la_prompt_AdminId" Module="Proj-Base" Type="1">QWRtaW4gZ3JvdXA=</PHRASE>
- <PHRASE Label="la_prompt_AdminMailFrom" Module="Proj-Base" Type="1">TWVzc2FnZXMgZnJvbSBTaXRlIEFkbWluIGFyZSBmcm9t</PHRASE>
- <PHRASE Label="la_prompt_AdvancedSearch" Module="Proj-Base" Type="1">QWR2YW5jZWQgU2VhcmNo</PHRASE>
- <PHRASE Label="la_prompt_allow_reset" Module="Proj-Base" Type="1">QWxsb3cgcGFzc3dvcmQgcmVzZXQgYWZ0ZXI=</PHRASE>
- <PHRASE Label="la_prompt_all_templates" Module="Proj-Base" Type="1">QWxsIHRlbXBsYXRlcw==</PHRASE>
- <PHRASE Label="la_prompt_AltName" Module="Proj-Base" Type="1">QWx0IHZhbHVl</PHRASE>
- <PHRASE Label="la_prompt_applyingbanlist" Module="Proj-Base" Type="2">QXBwbHlpbmcgQmFuIExpc3QgdG8gRXhpc3RpbmcgVXNlcnMuLg==</PHRASE>
- <PHRASE Label="la_prompt_approve_warning" Module="Proj-Base" Type="1">Q29udGludWUgdG8gcmVzdG9yZSBhdCBteSBvd24gcmlzaz8=</PHRASE>
- <PHRASE Label="la_prompt_Archived" Module="Proj-Base" Type="1">QXJjaGl2ZWQ=</PHRASE>
- <PHRASE Label="la_prompt_ArchiveDate" Module="Proj-Base" Type="1">QXJjaGl2YXRpb24gRGF0ZQ==</PHRASE>
- <PHRASE Label="la_prompt_ArticleAverageRating" Module="Proj-Base" Type="1">QXZlcmFnZSBSYXRpbmcgb2YgQXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="la_prompt_ArticleBody" Module="Proj-Base" Type="1">QXJ0aWNsZSBCb2R5</PHRASE>
- <PHRASE Label="la_prompt_ArticleExcerpt" Module="Proj-Base" Type="1">QXJ0aWNsZSBFeGNlcnB0</PHRASE>
- <PHRASE Label="la_prompt_ArticleExcerpt!" Module="Proj-Base" Type="1">QXJ0aWNsZSBFeGNlcnB0</PHRASE>
- <PHRASE Label="la_prompt_ArticleReviews" Module="Proj-Base" Type="1">VG90YWwgQXJ0aWNsZSBSZXZpZXdz</PHRASE>
- <PHRASE Label="la_prompt_ArticlesActive" Module="Proj-Base" Type="1">QWN0aXZlIEFydGljbGVz</PHRASE>
- <PHRASE Label="la_prompt_ArticlesArchived" Module="Proj-Base" Type="1">QXJjaGl2ZWQgQXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="la_prompt_ArticlesPending" Module="Proj-Base" Type="1">UGVuZGluZyBBcnRpY2xlcw==</PHRASE>
- <PHRASE Label="la_prompt_ArticlesTotal" Module="Proj-Base" Type="1">VG90YWwgQXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="la_prompt_Attatchment" Module="Proj-Base" Type="1">QXR0YWNobWVudA==</PHRASE>
- <PHRASE Label="la_Prompt_Attention" Module="Proj-Base" Type="1">QXR0ZW50aW9uIQ==</PHRASE>
- <PHRASE Label="la_prompt_Author" Module="Proj-Base" Type="1">QXV0aG9y</PHRASE>
- <PHRASE Label="la_prompt_AutoGen_Excerpt" Module="Proj-Base" Type="1">R2VuZXJhdGUgZnJvbSB0aGUgYXJ0aWNsZSBib2R5</PHRASE>
- <PHRASE Label="la_prompt_AutomaticDirectoryName" Module="Proj-Base" Type="1">QXV0b21hdGljIERpcmVjdG9yeSBOYW1l</PHRASE>
- <PHRASE Label="la_prompt_AutomaticFilename" Module="Proj-Base" Type="1">QXV0b21hdGljIEZpbGVuYW1l</PHRASE>
- <PHRASE Label="la_prompt_Available_Modules" Module="Proj-Base" Type="1">TW9kdWxlcw==</PHRASE>
- <PHRASE Label="la_Prompt_Backup_Date" Module="Proj-Base" Type="1">QmFjayBVcCBEYXRl</PHRASE>
- <PHRASE Label="la_prompt_Backup_Path" Module="Proj-Base" Type="1">QmFja3VwIFBhdGg=</PHRASE>
- <PHRASE Label="la_Prompt_Backup_Status" Module="Proj-Base" Type="1">QmFja3VwIHN0YXR1cw==</PHRASE>
- <PHRASE Label="la_prompt_BannedUsers" Module="Proj-Base" Type="1">QmFubmVkIFVzZXJz</PHRASE>
- <PHRASE Label="la_prompt_birthday" Module="Proj-Base" Type="1">RGF0ZSBvZiBCaXJ0aA==</PHRASE>
- <PHRASE Label="la_prompt_CacheTimeout" Module="Proj-Base" Type="1">Q2FjaGUgVGltZW91dCAoc2Vjb25kcyk=</PHRASE>
- <PHRASE Label="la_prompt_CategoryEditorsPick" Module="Proj-Base" Type="1">RWRpdG9yJ3MgUGljayBDYXRlZ29yaWVz</PHRASE>
- <PHRASE Label="la_prompt_CategoryId" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgSUQ=</PHRASE>
- <PHRASE Label="la_prompt_CategoryLeadStoryArticles" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgTGVhZCBTdG9yeSBBcnRpY2xlcw==</PHRASE>
- <PHRASE Label="la_Prompt_CategoryPermissions" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgUGVybWlzc2lvbnM=</PHRASE>
- <PHRASE Label="la_prompt_CatLead" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgTGVhZCBTdG9yeQ==</PHRASE>
- <PHRASE Label="la_prompt_CensorhipId" Module="Proj-Base" Type="1">Q2Vuc29yc2hpcCBJZA==</PHRASE>
- <PHRASE Label="la_prompt_CensorWord" Module="Proj-Base" Type="1">Q2Vuc29yc2hpcCBXb3Jk</PHRASE>
- <PHRASE Label="la_prompt_charset" Module="Proj-Base" Type="1">Q2hhcnNldA==</PHRASE>
- <PHRASE Label="la_prompt_City" Module="Proj-Base" Type="1">Q2l0eQ==</PHRASE>
- <PHRASE Label="la_prompt_Comments" Module="Proj-Base" Type="1">Q29tbWVudHM=</PHRASE>
- <PHRASE Label="la_prompt_continue" Module="Proj-Base" Type="1">Q29udGludWU=</PHRASE>
- <PHRASE Label="la_prompt_CopyLabels" Module="Proj-Base" Type="1">Q29weSBMYWJlbHMgZnJvbSB0aGlzIExhbmd1YWdl</PHRASE>
- <PHRASE Label="la_prompt_Country" Module="Proj-Base" Type="1">Q291bnRyeQ==</PHRASE>
- <PHRASE Label="la_prompt_CreatedBy" Module="Proj-Base" Type="1">Q3JlYXRlZCBieQ==</PHRASE>
- <PHRASE Label="la_prompt_CreatedOn" Module="Proj-Base" Type="1">Q3JlYXRlZCBvbg==</PHRASE>
- <PHRASE Label="la_prompt_CreatedOn_Time" Module="Proj-Base" Type="1">Q3JlYXRlZCBhdA==</PHRASE>
- <PHRASE Label="la_prompt_CurrentSessions" Module="Proj-Base" Type="1">Q3VycmVudCBTZXNzaW9ucw==</PHRASE>
- <PHRASE Label="la_prompt_CustomFilename" Module="Proj-Base" Type="1">Q3VzdG9tIEZpbGVuYW1l</PHRASE>
- <PHRASE Label="la_prompt_DatabaseSettings" Module="Proj-Base" Type="1">RGF0YWJhc2UgU2V0dGluZ3M=</PHRASE>
- <PHRASE Label="la_prompt_DataSize" Module="Proj-Base" Type="1">VG90YWwgU2l6ZSBvZiB0aGUgRGF0YWJhc2U=</PHRASE>
- <PHRASE Label="la_prompt_DateFormat" Module="Proj-Base" Type="1">KG1tLWRkLXl5eXkp</PHRASE>
- <PHRASE Label="la_prompt_DbName" Module="Proj-Base" Type="1">U2VydmVyIERhdGFiYXNl</PHRASE>
- <PHRASE Label="la_prompt_DbPass" Module="Proj-Base" Type="1">U2VydmVyIFBhc3N3b3Jk</PHRASE>
- <PHRASE Label="la_prompt_DbUsername" Module="Proj-Base" Type="1">RGF0YWJhc2UgVXNlciBOYW1l</PHRASE>
- <PHRASE Label="la_prompt_decimal" Module="Proj-Base" Type="2">RGVjaW1hbCBQb2ludA==</PHRASE>
- <PHRASE Label="la_prompt_Default" Module="Proj-Base" Type="1">RGVmYXVsdA==</PHRASE>
- <PHRASE Label="la_prompt_delete" Module="Proj-Base" Type="1">RGVsZXRl</PHRASE>
- <PHRASE Label="la_prompt_Description" Module="Proj-Base" Type="1">RGVzY3JpcHRpb24=</PHRASE>
- <PHRASE Label="la_prompt_DirectoryName" Module="Proj-Base" Type="1">RGlyZWN0b3J5IE5hbWU=</PHRASE>
- <PHRASE Label="la_prompt_DisabledArticles" Module="Proj-Base" Type="1">RGlzYWJsZWQgQXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="la_prompt_DisabledCategories" Module="Proj-Base" Type="1">RGlzYWJsZWQgQ2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_prompt_DisabledLinks" Module="Proj-Base" Type="1">RGlzYWJsZWQgTGlua3M=</PHRASE>
- <PHRASE Label="la_prompt_DisplayOrder" Module="Proj-Base" Type="1">RGlzcGxheSBPcmRlcg==</PHRASE>
- <PHRASE Label="la_prompt_download_export" Module="Proj-Base" Type="2">RG93bmxvYWQgTGFuZ3VhZ2UgRXhwb3J0Og==</PHRASE>
- <PHRASE Label="la_prompt_DupRating" Module="Proj-Base" Type="2">QWxsb3cgRHVwbGljYXRlIFJhdGluZyBWb3Rlcw==</PHRASE>
- <PHRASE Label="la_prompt_DupReviews" Module="Proj-Base" Type="2">QWxsb3cgRHVwbGljYXRlIFJldmlld3M=</PHRASE>
- <PHRASE Label="la_prompt_edit" Module="Proj-Base" Type="1">RWRpdA==</PHRASE>
- <PHRASE Label="la_prompt_EditorsPick" Module="Proj-Base" Type="1">RWRpdG9yJ3MgUGljaw==</PHRASE>
- <PHRASE Label="la_prompt_EditorsPickArticles" Module="Proj-Base" Type="1">RWRpdG9yJ3MgUGljayBBcnRpY2xlcw==</PHRASE>
- <PHRASE Label="la_prompt_EditorsPickLinks" Module="Proj-Base" Type="1">RWRpdG9yJ3MgUGljayBMaW5rcw==</PHRASE>
- <PHRASE Label="la_prompt_EditorsPickTopics" Module="Proj-Base" Type="1">RWRpdG9yIFBpY2sgVG9waWNz</PHRASE>
- <PHRASE Label="la_prompt_edit_query" Module="Proj-Base" Type="1">RWRpdCBRdWVyeQ==</PHRASE>
- <PHRASE Label="la_prompt_Email" Module="Proj-Base" Type="1">RW1haWw=</PHRASE>
- <PHRASE Label="la_prompt_EmailBody" Module="Proj-Base" Type="1">RW1haWwgQm9keQ==</PHRASE>
- <PHRASE Label="la_prompt_EmailCancelMessage" Module="Proj-Base" Type="1">RW1haWwgZGVsaXZlcnkgYWJvcnRlZA==</PHRASE>
- <PHRASE Label="la_prompt_EmailCompleteMessage" Module="Proj-Base" Type="1">VGhlIEVtYWlsIE1lc3NhZ2UgaGFzIGJlZW4gc2VudA==</PHRASE>
- <PHRASE Label="la_prompt_EmailInitMessage" Module="Proj-Base" Type="1">UGxlYXNlIFdhaXQgd2hpbGUgSW4tUG9ydGFsIHByZXBhcmVzIHRvIHNlbmQgdGhlIG1lc3NhZ2UuLg==</PHRASE>
- <PHRASE Label="la_prompt_EmailSubject" Module="Proj-Base" Type="1">RW1haWwgU3ViamVjdA==</PHRASE>
- <PHRASE Label="la_prompt_EmoticonId" Module="Proj-Base" Type="1">RW1vdGlvbiBJZA==</PHRASE>
- <PHRASE Label="la_prompt_EnableCache" Module="Proj-Base" Type="1">RW5hYmxlIFRlbXBsYXRlIENhY2hpbmc=</PHRASE>
- <PHRASE Label="la_prompt_Enabled" Module="Proj-Base" Type="1">RW5hYmxlZA==</PHRASE>
- <PHRASE Label="la_prompt_Enable_HTML" Module="Proj-Base" Type="1">RW5hYmxlIEhUTUw/</PHRASE>
- <PHRASE Label="la_prompt_ErrorTag" Module="Proj-Base" Type="2">RXJyb3IgVGFn</PHRASE>
- <PHRASE Label="la_prompt_Event" Module="Proj-Base" Type="1">RXZlbnQ=</PHRASE>
- <PHRASE Label="la_prompt_Expired" Module="Proj-Base" Type="0">RXhwaXJhdGlvbiBEYXRl</PHRASE>
- <PHRASE Label="la_prompt_ExportFileName" Module="Proj-Base" Type="2">RXhwb3J0IEZpbGVuYW1l</PHRASE>
- <PHRASE Label="la_prompt_export_error" Module="Proj-Base" Type="1">R2VuZXJhbCBlcnJvcjogdW5hYmxlIHRvIGV4cG9ydA==</PHRASE>
- <PHRASE Label="la_prompt_FieldId" Module="Proj-Base" Type="1">RmllbGQgSWQ=</PHRASE>
- <PHRASE Label="la_prompt_FieldLabel" Module="Proj-Base" Type="1">RmllbGQgTGFiZWw=</PHRASE>
- <PHRASE Label="la_prompt_FieldName" Module="Proj-Base" Type="1">RmllbGQgTmFtZQ==</PHRASE>
- <PHRASE Label="la_prompt_FieldPrompt" Module="Proj-Base" Type="1">RmllbGQgUHJvbXB0</PHRASE>
- <PHRASE Label="la_prompt_FileId" Module="Proj-Base" Type="1">RmlsZSBJZA==</PHRASE>
- <PHRASE Label="la_prompt_FileName" Module="Proj-Base" Type="1">RmlsZSBuYW1l</PHRASE>
- <PHRASE Label="la_prompt_FirstName" Module="Proj-Base" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
- <PHRASE Label="la_prompt_First_Name" Module="Proj-Base" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
- <PHRASE Label="la_prompt_Frequency" Module="Proj-Base" Type="1">RnJlcXVlbmN5</PHRASE>
- <PHRASE Label="la_prompt_FromUser" Module="Proj-Base" Type="1">RnJvbS9UbyBVc2Vy</PHRASE>
- <PHRASE Label="la_prompt_FromUsername" Module="Proj-Base" Type="1">RnJvbQ==</PHRASE>
- <PHRASE Label="la_prompt_FrontLead" Module="Proj-Base" Type="1">RnJvbnQgcGFnZSBsZWFkIGFydGljbGU=</PHRASE>
- <PHRASE Label="la_Prompt_GeneralPermissions" Module="Proj-Base" Type="1">R2VuZXJhbCBQZXJtaXNzaW9ucw==</PHRASE>
- <PHRASE Label="la_prompt_GroupName" Module="Proj-Base" Type="1">R3JvdXAgTmFtZQ==</PHRASE>
- <PHRASE Label="la_prompt_headers" Module="Proj-Base" Type="1">RXh0cmEgTWFpbCBIZWFkZXJz</PHRASE>
- <PHRASE Label="la_prompt_heading" Module="Proj-Base" Type="1">SGVhZGluZw==</PHRASE>
- <PHRASE Label="la_prompt_HitLimits" Module="Proj-Base" Type="1">KE1pbmltdW0gNCk=</PHRASE>
- <PHRASE Label="la_prompt_Hits" Module="Proj-Base" Type="1">SGl0cw==</PHRASE>
- <PHRASE Label="la_prompt_Hot" Module="Proj-Base" Type="1">SG90</PHRASE>
- <PHRASE Label="la_prompt_HotArticles" Module="Proj-Base" Type="1">SG90IEFydGljbGVz</PHRASE>
- <PHRASE Label="la_prompt_HotLinks" Module="Proj-Base" Type="1">SG90IExpbmtz</PHRASE>
- <PHRASE Label="la_prompt_HotTopics" Module="Proj-Base" Type="1">SG90IFRvcGljcw==</PHRASE>
- <PHRASE Label="la_prompt_html" Module="Proj-Base" Type="1">SFRNTA==</PHRASE>
- <PHRASE Label="la_prompt_html_version" Module="Proj-Base" Type="1">SFRNTCBWZXJzaW9u</PHRASE>
- <PHRASE Label="la_prompt_icon_url" Module="Proj-Base" Type="1">SWNvbiBVUkw=</PHRASE>
- <PHRASE Label="la_prompt_Image" Module="Proj-Base" Type="1">SW1hZ2U=</PHRASE>
- <PHRASE Label="la_prompt_ImageId" Module="Proj-Base" Type="1">SW1hZ2UgSUQ=</PHRASE>
- <PHRASE Label="la_prompt_import_error" Module="Proj-Base" Type="1">SW1wb3J0IGVuY291bnRlcmVkIGFuIGVycm9yIGFuZCBkaWQgbm90IGNvbXBsZXRlLg==</PHRASE>
- <PHRASE Label="la_prompt_Import_ImageName" Module="Proj-Base" Type="1">TGluayBJbWFnZSBOYW1l</PHRASE>
- <PHRASE Label="la_prompt_Import_Prefix" Module="Proj-Base" Type="1">VGFibGUgTmFtZSBQcmVmaXg=</PHRASE>
- <PHRASE Label="la_prompt_InitImportCat" Module="Proj-Base" Type="1">SW5pdGlhbCBJbXBvcnQgQ2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_prompt_InlinkDbName" Module="Proj-Base" Type="1">SW4tTGluayBEYXRhYmFzZSBOYW1l</PHRASE>
- <PHRASE Label="la_prompt_InlinkDbPass" Module="Proj-Base" Type="1">SW4tTGluayBEYXRhYmFzZSBQYXNzd29yZA==</PHRASE>
- <PHRASE Label="la_prompt_InlinkDbUsername" Module="Proj-Base" Type="1">SW4tTGluayBEYXRhYmFzZSBVc2VybmFtZQ==</PHRASE>
- <PHRASE Label="la_prompt_InlinkServer" Module="Proj-Base" Type="1">SW4tTGluayBTZXJ2ZXIgTmFtZQ==</PHRASE>
- <PHRASE Label="la_prompt_InlinkSqlType" Module="Proj-Base" Type="1">SW4tTGluayBTUUwgVHlwZQ==</PHRASE>
- <PHRASE Label="la_prompt_InputType" Module="Proj-Base" Type="1">SW5wdXQgVHlwZQ==</PHRASE>
- <PHRASE Label="la_prompt_Install_Status" Module="Proj-Base" Type="1">SW5zdGFsbGF0aW9uIFN0YXR1cw==</PHRASE>
- <PHRASE Label="la_prompt_ip" Module="Proj-Base" Type="1">SVAgQWRkcmVzcw==</PHRASE>
- <PHRASE Label="la_prompt_IPAddress" Module="Proj-Base" Type="1">SVAgQWRkcmVzcw==</PHRASE>
- <PHRASE Label="la_prompt_Item" Module="Proj-Base" Type="1">SXRlbQ==</PHRASE>
- <PHRASE Label="la_prompt_ItemField" Module="Proj-Base" Type="2">SXRlbSBGaWVsZA==</PHRASE>
- <PHRASE Label="la_prompt_ItemValue" Module="Proj-Base" Type="2">RmllbGQgVmFsdWU=</PHRASE>
- <PHRASE Label="la_prompt_ItemVerb" Module="Proj-Base" Type="2">RmllbGQgQ29tcGFyaXNvbg==</PHRASE>
- <PHRASE Label="la_prompt_KeyStroke" Module="Proj-Base" Type="1">S2V5IFN0cm9rZQ==</PHRASE>
- <PHRASE Label="la_prompt_Keyword" Module="Proj-Base" Type="1">S2V5d29yZA==</PHRASE>
- <PHRASE Label="la_prompt_Label" Module="Proj-Base" Type="1">TGFiZWw=</PHRASE>
- <PHRASE Label="la_prompt_LanguageFile" Module="Proj-Base" Type="1">TGFuZ3VhZ2UgRmlsZQ==</PHRASE>
- <PHRASE Label="la_prompt_LanguageId" Module="Proj-Base" Type="1">TGFuZ3VhZ2UgSWQ=</PHRASE>
- <PHRASE Label="la_prompt_lang_cache_timeout" Module="Proj-Base" Type="1">TGFuZ3VhZ2UgQ2FjaGUgVGltZW91dA==</PHRASE>
- <PHRASE Label="la_prompt_lang_dateformat" Module="Proj-Base" Type="2">RGF0ZSBGb3JtYXQ=</PHRASE>
- <PHRASE Label="la_prompt_lang_timeformat" Module="Proj-Base" Type="0">VGltZSBGb3JtYXQ=</PHRASE>
- <PHRASE Label="la_prompt_LastArticleUpdate" Module="Proj-Base" Type="1">TGFzdCBVcGRhdGVkIEFydGljbGU=</PHRASE>
- <PHRASE Label="la_prompt_LastCategoryUpdate" Module="Proj-Base" Type="1">TGFzdCBDYXRlZ29yeSBVcGRhdGU=</PHRASE>
- <PHRASE Label="la_prompt_LastLinkUpdate" Module="Proj-Base" Type="1">TGFzdCBVcGRhdGVkIExpbms=</PHRASE>
- <PHRASE Label="la_prompt_LastName" Module="Proj-Base" Type="1">TGFzdCBOYW1l</PHRASE>
- <PHRASE Label="la_prompt_LastUpdatedPostDate" Module="Proj-Base" Type="1">TGFzdCBVcGRhdGVkIFBvc3QgRGF0ZQ==</PHRASE>
- <PHRASE Label="la_prompt_LastUpdatedPostTime" Module="Proj-Base" Type="1">TGFzdCBVcGRhdGVkIFBvc3QgVGltZQ==</PHRASE>
- <PHRASE Label="la_prompt_LastUpdatedTopicDate" Module="Proj-Base" Type="1">TGFzdCBVcGRhdGVkIFRvcGljIERhdGU=</PHRASE>
- <PHRASE Label="la_prompt_LastUpdatedTopicTime" Module="Proj-Base" Type="1">TGFzdCBVcGRhdGVkIFRvcGljIFRpbWU=</PHRASE>
- <PHRASE Label="la_prompt_Last_Name" Module="Proj-Base" Type="1">TGFzdCBOYW1l</PHRASE>
- <PHRASE Label="la_prompt_LeadArticle" Module="Proj-Base" Type="1">U2l0ZSBMZWFkIFN0b3J5</PHRASE>
- <PHRASE Label="la_prompt_LeadCat" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgbGVhZCBhcnRpY2xl</PHRASE>
- <PHRASE Label="la_prompt_LeadStoryArticles" Module="Proj-Base" Type="1">TGVhZCBTdG9yeSBBcnRpY2xlcw==</PHRASE>
- <PHRASE Label="la_prompt_LinkId" Module="Proj-Base" Type="1">TGluayBJZA==</PHRASE>
- <PHRASE Label="la_prompt_LinkReviews" Module="Proj-Base" Type="1">VG90YWwgTGluayBSZXZpZXdz</PHRASE>
- <PHRASE Label="la_prompt_LinksAverageRating" Module="Proj-Base" Type="1">QXZlcmFnZSBSYXRpbmcgb2YgTGlua3M=</PHRASE>
- <PHRASE Label="la_prompt_link_owner" Module="Proj-Base" Type="1">TGluayBPd25lcg==</PHRASE>
- <PHRASE Label="la_prompt_LoadLangTypes" Module="Proj-Base" Type="1">SW5zdGFsbCBQaHJhc2UgVHlwZXM6</PHRASE>
- <PHRASE Label="la_prompt_LocalName" Module="Proj-Base" Type="1">TG9jYWwgTmFtZQ==</PHRASE>
- <PHRASE Label="la_prompt_Location" Module="Proj-Base" Type="1">TG9jYXRpb24=</PHRASE>
- <PHRASE Label="la_prompt_mailauthenticate" Module="Proj-Base" Type="1">U2VydmVyIFJlcXVpcmVzIEF1dGhlbnRpY2F0aW9u</PHRASE>
- <PHRASE Label="la_prompt_mailhtml" Module="Proj-Base" Type="1">U2VuZCBIVE1MIGVtYWls</PHRASE>
- <PHRASE Label="la_prompt_mailport" Module="Proj-Base" Type="1">UG9ydCAoZS5nLiBwb3J0IDI1KQ==</PHRASE>
- <PHRASE Label="la_prompt_mailserver" Module="Proj-Base" Type="1">TWFpbCBTZXJ2ZXIgQWRkcmVzcw==</PHRASE>
- <PHRASE Label="la_prompt_MaxHitsArticles" Module="Proj-Base" Type="1">TWF4aW11bSBIaXRzIG9mIGFuIEFydGljbGU=</PHRASE>
- <PHRASE Label="la_prompt_MaxLinksHits" Module="Proj-Base" Type="1">TWF4aW11bSBIaXRzIG9mIGEgTGluaw==</PHRASE>
- <PHRASE Label="la_prompt_MaxLinksVotes" Module="Proj-Base" Type="1">TWF4aW11bSBWb3RlcyBvZiBhIExpbms=</PHRASE>
- <PHRASE Label="la_prompt_MaxTopicHits" Module="Proj-Base" Type="1">VG9waWMgTWF4aW11bSBIaXRz</PHRASE>
- <PHRASE Label="la_prompt_MaxTopicVotes" Module="Proj-Base" Type="1">VG9waWMgTWF4aW11bSBWb3Rlcw==</PHRASE>
- <PHRASE Label="la_prompt_MaxVotesArticles" Module="Proj-Base" Type="1">TWF4aW11bSBWb3RlcyBvZiBhbiBBcnRpY2xl</PHRASE>
- <PHRASE Label="la_prompt_max_import_category_levels" Module="Proj-Base" Type="1">TWF4aW1hbCBpbXBvcnRlZCBjYXRlZ29yeSBsZXZlbA==</PHRASE>
- <PHRASE Label="la_prompt_MembershipExpires" Module="Proj-Base" Type="1">TWVtYmVyc2hpcCBFeHBpcmVz</PHRASE>
- <PHRASE Label="la_prompt_MessageType" Module="Proj-Base" Type="1">Rm9ybWF0</PHRASE>
- <PHRASE Label="la_prompt_MetaDescription" Module="Proj-Base" Type="1">TWV0YSBEZXNjcmlwdGlvbg==</PHRASE>
- <PHRASE Label="la_prompt_MetaKeywords" Module="Proj-Base" Type="1">TWV0YSBLZXl3b3Jkcw==</PHRASE>
- <PHRASE Label="la_prompt_minkeywordlength" Module="Proj-Base" Type="1">TWluaW11bSBrZXl3b3JkIGxlbmd0aA==</PHRASE>
- <PHRASE Label="la_prompt_ModifedOn" Module="Proj-Base" Type="1">TW9kaWZpZWQgT24=</PHRASE>
- <PHRASE Label="la_prompt_ModifedOn_Time" Module="Proj-Base" Type="1">TW9kaWZpZWQgYXQ=</PHRASE>
- <PHRASE Label="la_prompt_Module" Module="Proj-Base" Type="1">TW9kdWxl</PHRASE>
- <PHRASE Label="la_prompt_movedown" Module="Proj-Base" Type="1">TW92ZSBkb3du</PHRASE>
- <PHRASE Label="la_prompt_moveup" Module="Proj-Base" Type="1">TW92ZSB1cA==</PHRASE>
- <PHRASE Label="la_prompt_multipleshow" Module="Proj-Base" Type="1">U2hvdyBtdWx0aXBsZQ==</PHRASE>
- <PHRASE Label="la_prompt_Name" Module="Proj-Base" Type="1">TmFtZQ==</PHRASE>
- <PHRASE Label="la_prompt_New" Module="Proj-Base" Type="1">TmV3</PHRASE>
- <PHRASE Label="la_prompt_NewArticles" Module="Proj-Base" Type="1">TmV3IEFydGljbGVz</PHRASE>
- <PHRASE Label="la_prompt_NewCategories" Module="Proj-Base" Type="1">TmV3IENhdGVnb3JpZXM=</PHRASE>
- <PHRASE Label="la_prompt_NewestArticleDate" Module="Proj-Base" Type="1">TmV3ZXN0IEFydGljbGUgRGF0ZQ==</PHRASE>
- <PHRASE Label="la_prompt_NewestCategoryDate" Module="Proj-Base" Type="1">TmV3ZXN0IENhdGVnb3J5IERhdGU=</PHRASE>
- <PHRASE Label="la_prompt_NewestLinkDate" Module="Proj-Base" Type="1">TmV3ZXN0IExpbmsgRGF0ZQ==</PHRASE>
- <PHRASE Label="la_prompt_NewestPostDate" Module="Proj-Base" Type="1">TmV3ZXN0IFBvc3QgRGF0ZQ==</PHRASE>
- <PHRASE Label="la_prompt_NewestPostTime" Module="Proj-Base" Type="1">TmV3ZXN0IFBvc3QgVGltZQ==</PHRASE>
- <PHRASE Label="la_prompt_NewestTopicDate" Module="Proj-Base" Type="1">TmV3ZXN0IFRvcGljIERhdGU=</PHRASE>
- <PHRASE Label="la_prompt_NewestTopicTime" Module="Proj-Base" Type="1">TmV3ZXN0IFRvcGljIFRpbWU=</PHRASE>
- <PHRASE Label="la_prompt_NewestUserDate" Module="Proj-Base" Type="1">TmV3ZXN0IFVzZXIgRGF0ZQ==</PHRASE>
- <PHRASE Label="la_prompt_NewLinks" Module="Proj-Base" Type="1">TmV3IExpbmtz</PHRASE>
- <PHRASE Label="la_prompt_NewsId" Module="Proj-Base" Type="1">TmV3cyBBcnRpY2xlIElE</PHRASE>
- <PHRASE Label="la_prompt_NewTopics" Module="Proj-Base" Type="1">TmV3IFRvcGljcw==</PHRASE>
- <PHRASE Label="la_prompt_NonExpiredSessions" Module="Proj-Base" Type="1">Q3VycmVudGx5IEFjdGl2ZSBVc2VyIFNlc3Npb25z</PHRASE>
- <PHRASE Label="la_prompt_NotifyOwner" Module="Proj-Base" Type="1">Tm90aWZ5IE93bmVy</PHRASE>
- <PHRASE Label="la_prompt_NotRegUsers" Module="Proj-Base" Type="1">TGluayBwZXJtaXNzaW9uIElEIGZvciBhbGwgdW5yZWdpc3RlcmVkIHVzZXJzIHRvIHZpZXcgaXQ=</PHRASE>
- <PHRASE Label="la_prompt_overwritephrases" Module="Proj-Base" Type="2">T3ZlcndyaXRlIEV4aXN0aW5nIFBocmFzZXM=</PHRASE>
- <PHRASE Label="la_prompt_PackName" Module="Proj-Base" Type="1">UGFjayBOYW1l</PHRASE>
- <PHRASE Label="la_prompt_Parameter" Module="Proj-Base" Type="1">UGFyYW1ldGVy</PHRASE>
- <PHRASE Label="la_prompt_parent_templates" Module="Proj-Base" Type="1">UGFyZW50IHRlbXBsYXRlcw==</PHRASE>
- <PHRASE Label="la_prompt_Password" Module="Proj-Base" Type="1">UGFzc3dvcmQ=</PHRASE>
- <PHRASE Label="la_prompt_PasswordRepeat" Module="Proj-Base" Type="1">UmVwZWF0IFBhc3N3b3Jk</PHRASE>
- <PHRASE Label="la_prompt_Pending" Module="Proj-Base" Type="1">UGVuZGluZw==</PHRASE>
- <PHRASE Label="la_prompt_PendingCategories" Module="Proj-Base" Type="1">UGVuZGluZyBDYXRlZ29yaWVz</PHRASE>
- <PHRASE Label="la_prompt_PendingItems" Module="Proj-Base" Type="1">UGVuZGluZyBJdGVtcw==</PHRASE>
- <PHRASE Label="la_prompt_PendingLinks" Module="Proj-Base" Type="1">UGVuZGluZyBMaW5rcw==</PHRASE>
- <PHRASE Label="la_prompt_perform_now" Module="Proj-Base" Type="1">UGVyZm9ybSB0aGlzIG9wZXJhdGlvbiBub3c/</PHRASE>
- <PHRASE Label="la_prompt_PerPage" Module="Proj-Base" Type="1">UGVyIFBhZ2U=</PHRASE>
- <PHRASE Label="la_prompt_PersonalInfo" Module="Proj-Base" Type="1">UGVyc29uYWwgSW5mb3JtYXRpb24=</PHRASE>
- <PHRASE Label="la_prompt_Phone" Module="Proj-Base" Type="1">UGhvbmU=</PHRASE>
- <PHRASE Label="la_prompt_PhraseId" Module="Proj-Base" Type="1">UGhyYXNlIElk</PHRASE>
- <PHRASE Label="la_prompt_Phrases" Module="Proj-Base" Type="1">UGhyYXNlcw==</PHRASE>
- <PHRASE Label="la_prompt_PhraseType" Module="Proj-Base" Type="1">UGhyYXNlIFR5cGU=</PHRASE>
- <PHRASE Label="la_prompt_plaintext" Module="Proj-Base" Type="1">UGxhaW4gVGV4dA==</PHRASE>
- <PHRASE Label="la_prompt_Pop" Module="Proj-Base" Type="1">UG9wdWxhcml0eQ==</PHRASE>
- <PHRASE Label="la_prompt_PopularArticles" Module="Proj-Base" Type="1">UG9wdWxhciBBcnRpY2xlcw==</PHRASE>
- <PHRASE Label="la_prompt_PopularLinks" Module="Proj-Base" Type="1">UG9wdWxhciBMaW5rcw==</PHRASE>
- <PHRASE Label="la_prompt_PopularTopics" Module="Proj-Base" Type="1">UG9wdWxhciBUb3BpY3M=</PHRASE>
- <PHRASE Label="la_prompt_PostedBy" Module="Proj-Base" Type="1">UG9zdGVkIGJ5</PHRASE>
- <PHRASE Label="la_prompt_PostsToLock" Module="Proj-Base" Type="1">UG9zdHMgdG8gbG9jaw==</PHRASE>
- <PHRASE Label="la_prompt_PostsTotal" Module="Proj-Base" Type="1">VG90YWwgUG9zdHM=</PHRASE>
- <PHRASE Label="la_prompt_Primary" Module="Proj-Base" Type="1">UHJpbWFyeQ==</PHRASE>
- <PHRASE Label="la_prompt_PrimaryGroup" Module="Proj-Base" Type="1">UHJpbWFyeSBHcm91cA==</PHRASE>
- <PHRASE Label="la_prompt_PrimaryValue" Module="Proj-Base" Type="1">UHJpbWFyeSBWYWx1ZQ==</PHRASE>
- <PHRASE Label="la_prompt_Priority" Module="Proj-Base" Type="1">UHJpb3JpdHk=</PHRASE>
- <PHRASE Label="la_prompt_Properties" Module="Proj-Base" Type="1">UHJvcGVydGllcw==</PHRASE>
- <PHRASE Label="la_prompt_Rating" Module="Proj-Base" Type="1">UmF0aW5n</PHRASE>
- <PHRASE Label="la_prompt_RatingLimits" Module="Proj-Base" Type="1">KE1pbmltdW0gMCwgTWF4aW11bSA1KQ==</PHRASE>
- <PHRASE Label="la_prompt_RecordsCount" Module="Proj-Base" Type="1">TnVtYmVyIG9mIERhdGFiYXNlIFJlY29yZHM=</PHRASE>
- <PHRASE Label="la_prompt_RegionsCount" Module="Proj-Base" Type="1">TnVtYmVyIG9mIFJlZ2lvbiBQYWNrcw==</PHRASE>
- <PHRASE Label="la_prompt_RegUserId" Module="Proj-Base" Type="1">UmVndWxhciBVc2VyIEdyb3Vw</PHRASE>
- <PHRASE Label="la_prompt_RegUsers" Module="Proj-Base" Type="1">TGluayBwZXJtaXNzaW9uIElEIGZvciBhbGwgcmVnaXN0ZXJlZCB1c2VycyB0byB2aWV3IGl0</PHRASE>
- <PHRASE Label="la_prompt_RelationId" Module="Proj-Base" Type="1">UmVsYXRpb24gSUQ=</PHRASE>
- <PHRASE Label="la_prompt_RelationType" Module="Proj-Base" Type="1">UmVsYXRpb24gVHlwZQ==</PHRASE>
- <PHRASE Label="la_prompt_relevence_percent" Module="Proj-Base" Type="1">U2VhcmNoIFJlbGV2YW5jZSBkZXBlbmRzIG9u</PHRASE>
- <PHRASE Label="la_prompt_relevence_settings" Module="Proj-Base" Type="1">U2VhcmNoIFJlbGV2ZW5jZSBTZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_prompt_remote_url" Module="Proj-Base" Type="1">VXNlIHJlbW90ZSBpbWFnZSAoVVJMKQ==</PHRASE>
- <PHRASE Label="la_prompt_ReplacementWord" Module="Proj-Base" Type="1">UmVwbGFjZW1lbnQgV29yZA==</PHRASE>
- <PHRASE Label="la_prompt_required_field_increase" Module="Proj-Base" Type="1">SW5jcmVhc2UgaW1wb3J0YW5jZSBpZiBmaWVsZCBjb250YWlucyBhIHJlcXVpcmVkIGtleXdvcmQgYnk=</PHRASE>
- <PHRASE Label="la_Prompt_Restore_Failed" Module="Proj-Base" Type="1">UmVzdG9yZSBoYXMgZmFpbGVkIGFuIGVycm9yIG9jY3VyZWQ6</PHRASE>
- <PHRASE Label="la_Prompt_Restore_Filechoose" Module="Proj-Base" Type="1">Q2hvb3NlIG9uZSBvZiB0aGUgZm9sbG93aW5nIGJhY2t1cCBkYXRlcyB0byByZXN0b3JlIG9yIGRlbGV0ZQ==</PHRASE>
- <PHRASE Label="la_Prompt_Restore_Status" Module="Proj-Base" Type="1">UmVzdG9yZSBTdGF0dXM=</PHRASE>
- <PHRASE Label="la_Prompt_Restore_Success" Module="Proj-Base" Type="1">UmVzdG9yZSBoYXMgYmVlbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5</PHRASE>
- <PHRASE Label="la_Prompt_ReviewedBy" Module="Proj-Base" Type="1">UmV2aWV3ZWQgQnk=</PHRASE>
- <PHRASE Label="la_prompt_ReviewId" Module="Proj-Base" Type="1">UmV2aWV3IElE</PHRASE>
- <PHRASE Label="la_prompt_ReviewText" Module="Proj-Base" Type="1">UmV2aWV3IFRleHQ=</PHRASE>
- <PHRASE Label="la_prompt_RootCategory" Module="Proj-Base" Type="1">U2VsZWN0IE1vZHVsZSBSb290IENhdGVnb3J5Og==</PHRASE>
- <PHRASE Label="la_prompt_root_name" Module="Proj-Base" Type="1">Um9vdCBjYXRlZ29yeSBuYW1lIChsYW5ndWFnZSB2YXJpYWJsZSk=</PHRASE>
- <PHRASE Label="la_prompt_root_pass" Module="Proj-Base" Type="1">Um9vdCBQYXNzd29yZA==</PHRASE>
- <PHRASE Label="la_prompt_Root_Password" Module="Proj-Base" Type="1">UGxlYXNlIGVudGVyIHRoZSBSb290IHBhc3N3b3Jk</PHRASE>
- <PHRASE Label="la_prompt_root_pass_verify" Module="Proj-Base" Type="1">VmVyaWZ5IFJvb3QgUGFzc3dvcmQ=</PHRASE>
- <PHRASE Label="la_prompt_RuleType" Module="Proj-Base" Type="2">UnVsZSBUeXBl</PHRASE>
- <PHRASE Label="la_prompt_runlink_validation" Module="Proj-Base" Type="2">VmFsaWRhdGlvbiBQcm9ncmVzcw==</PHRASE>
- <PHRASE Label="la_prompt_Search" Module="Proj-Base" Type="1">U2VhcmNo</PHRASE>
- <PHRASE Label="la_prompt_SearchType" Module="Proj-Base" Type="1">U2VhcmNoIFR5cGU=</PHRASE>
- <PHRASE Label="la_prompt_Select_Source" Module="Proj-Base" Type="1">U2VsZWN0IFNvdXJjZSBMYW5ndWFnZQ==</PHRASE>
- <PHRASE Label="la_prompt_sendmethod" Module="Proj-Base" Type="1">U2VuZCBFbWFpbCBBcw==</PHRASE>
- <PHRASE Label="la_prompt_SentOn" Module="Proj-Base" Type="1">U2VudCBPbg==</PHRASE>
- <PHRASE Label="la_prompt_Server" Module="Proj-Base" Type="1">U2VydmVyIEhvc3RuYW1l</PHRASE>
- <PHRASE Label="la_prompt_SessionKey" Module="Proj-Base" Type="1">U0lE</PHRASE>
- <PHRASE Label="la_prompt_session_cookie_name" Module="Proj-Base" Type="1">U2Vzc2lvbiBDb29raWUgTmFtZQ==</PHRASE>
- <PHRASE Label="la_prompt_session_management" Module="Proj-Base" Type="1">U2Vzc2lvbiBNYW5hZ2VtZW50IE1ldGhvZA==</PHRASE>
- <PHRASE Label="la_prompt_session_timeout" Module="Proj-Base" Type="1">U2Vzc2lvbiBJbmFjdGl2aXR5IFRpbWVvdXQgKHNlY29uZHMp</PHRASE>
- <PHRASE Label="la_prompt_showgeneraltab" Module="Proj-Base" Type="1">U2hvdyBvbiB0aGUgZ2VuZXJhbCB0YWI=</PHRASE>
- <PHRASE Label="la_prompt_SimpleSearch" Module="Proj-Base" Type="1">U2ltcGxlIFNlYXJjaA==</PHRASE>
- <PHRASE Label="la_prompt_smtpheaders" Module="Proj-Base" Type="1">QWRkaXRpb25hbCBNZXNzYWdlIEhlYWRlcnM=</PHRASE>
- <PHRASE Label="la_prompt_smtp_pass" Module="Proj-Base" Type="1">TWFpbCBTZXJ2ZXIgUGFzc3dvcmQ=</PHRASE>
- <PHRASE Label="la_prompt_smtp_user" Module="Proj-Base" Type="1">TWFpbCBTZXJ2ZXIgVXNlcm5hbWU=</PHRASE>
- <PHRASE Label="la_prompt_socket_blocking_mode" Module="Proj-Base" Type="1">VXNlIG5vbi1ibG9ja2luZyBzb2NrZXQgbW9kZQ==</PHRASE>
- <PHRASE Label="la_prompt_sqlquery" Module="Proj-Base" Type="1">U1FMIFF1ZXJ5Og==</PHRASE>
- <PHRASE Label="la_prompt_sqlquery_error" Module="Proj-Base" Type="1">QW4gU1FMIGVycm9yIGhhcyBvY2N1cmVk</PHRASE>
- <PHRASE Label="la_prompt_sqlquery_header" Module="Proj-Base" Type="1">UGVyZm9ybSBTUUwgUXVlcnk=</PHRASE>
- <PHRASE Label="la_prompt_sqlquery_result" Module="Proj-Base" Type="1">U1FMIFF1ZXJ5IFJlc3VsdHM=</PHRASE>
- <PHRASE Label="la_prompt_SqlType" Module="Proj-Base" Type="1">U2VydmVyIFR5cGU=</PHRASE>
- <PHRASE Label="la_prompt_StartDate" Module="Proj-Base" Type="1">U3RhcnQgRGF0ZQ==</PHRASE>
- <PHRASE Label="la_prompt_State" Module="Proj-Base" Type="1">U3RhdGU=</PHRASE>
- <PHRASE Label="la_prompt_Status" Module="Proj-Base" Type="1">U3RhdHVz</PHRASE>
- <PHRASE Label="la_Prompt_Step_One" Module="Proj-Base" Type="1">U3RlcCBPbmU=</PHRASE>
- <PHRASE Label="la_prompt_Street" Module="Proj-Base" Type="1">U3RyZWV0</PHRASE>
- <PHRASE Label="la_prompt_Stylesheet" Module="Proj-Base" Type="1">U3R5bGVzaGVldA==</PHRASE>
- <PHRASE Label="la_prompt_Subject" Module="Proj-Base" Type="1">U3ViamVjdA==</PHRASE>
- <PHRASE Label="la_prompt_SubSearch" Module="Proj-Base" Type="1">U3ViIFNlYXJjaA==</PHRASE>
- <PHRASE Label="la_prompt_syscache_enable" Module="Proj-Base" Type="1">RW5hYmxlIFRhZyBDYWNoaW5n</PHRASE>
- <PHRASE Label="la_prompt_SystemFileSize" Module="Proj-Base" Type="1">VG90YWwgU2l6ZSBvZiBTeXN0ZW0gRmlsZXM=</PHRASE>
- <PHRASE Label="la_Prompt_SystemPermissions" Module="Proj-Base" Type="1">U3lzdGVtIHByZW1pc3Npb25z</PHRASE>
- <PHRASE Label="la_prompt_TablesCount" Module="Proj-Base" Type="1">TnVtYmVyIG9mIERhdGFiYXNlIFRhYmxlcw==</PHRASE>
- <PHRASE Label="la_prompt_Template" Module="Proj-Base" Type="1">VGVtcGxhdGU=</PHRASE>
- <PHRASE Label="la_prompt_text_version" Module="Proj-Base" Type="1">VGV4dCBWZXJzaW9u</PHRASE>
- <PHRASE Label="la_prompt_Theme" Module="Proj-Base" Type="1">VGhlbWU=</PHRASE>
- <PHRASE Label="la_prompt_ThemeCount" Module="Proj-Base" Type="1">TnVtYmVyIG9mIFRoZW1lcw==</PHRASE>
- <PHRASE Label="la_prompt_ThemeId" Module="Proj-Base" Type="1">VGhlbWUgSWQ=</PHRASE>
- <PHRASE Label="la_prompt_thousand" Module="Proj-Base" Type="2">VGhvdXNhbmRzIFNlcGFyYXRvcg==</PHRASE>
- <PHRASE Label="la_prompt_ThumbURL" Module="Proj-Base" Type="1">UmVtb3RlIFVSTA==</PHRASE>
- <PHRASE Label="la_prompt_TimeFormat" Module="Proj-Base" Type="1">KGhoOm1tOnNzKQ==</PHRASE>
- <PHRASE Label="la_Prompt_Title" Module="Proj-Base" Type="1">VGl0bGU=</PHRASE>
- <PHRASE Label="la_prompt_To" Module="Proj-Base" Type="1">VG8=</PHRASE>
- <PHRASE Label="la_prompt_TopicAverageRating" Module="Proj-Base" Type="1">VG9waWNzIEF2ZXJhZ2UgUmF0aW5n</PHRASE>
- <PHRASE Label="la_prompt_TopicId" Module="Proj-Base" Type="1">VG9waWMgSUQ=</PHRASE>
- <PHRASE Label="la_prompt_TopicLocked" Module="Proj-Base" Type="1">VG9waWMgTG9ja2Vk</PHRASE>
- <PHRASE Label="la_prompt_TopicReviews" Module="Proj-Base" Type="1">VG90YWwgVG9waWMgUmV2aWV3cw==</PHRASE>
- <PHRASE Label="la_prompt_TopicsActive" Module="Proj-Base" Type="1">QWN0aXZlIFRvcGljcw==</PHRASE>
- <PHRASE Label="la_prompt_TopicsDisabled" Module="Proj-Base" Type="1">RGlzYWJsZWQgVG9waWNz</PHRASE>
- <PHRASE Label="la_prompt_TopicsPending" Module="Proj-Base" Type="1">UGVuZGluZyBUb3BpY3M=</PHRASE>
- <PHRASE Label="la_prompt_TopicsTotal" Module="Proj-Base" Type="1">VG90YWwgVG9waWNz</PHRASE>
- <PHRASE Label="la_prompt_TopicsUsers" Module="Proj-Base" Type="1">VG90YWwgVXNlcnMgd2l0aCBUb3BpY3M=</PHRASE>
- <PHRASE Label="la_prompt_TotalCategories" Module="Proj-Base" Type="1">VG90YWwgQ2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_prompt_TotalLinks" Module="Proj-Base" Type="1">VG90YWwgTGlua3M=</PHRASE>
- <PHRASE Label="la_prompt_TotalUserGroups" Module="Proj-Base" Type="1">VG90YWwgVXNlciBHcm91cHM=</PHRASE>
- <PHRASE Label="la_prompt_Type" Module="Proj-Base" Type="1">VHlwZQ==</PHRASE>
- <PHRASE Label="la_prompt_updating" Module="Proj-Base" Type="1">VXBkYXRpbmc=</PHRASE>
- <PHRASE Label="la_prompt_upload" Module="Proj-Base" Type="1">VXBsb2FkIGltYWdlIGZyb20gbG9jYWwgUEM=</PHRASE>
- <PHRASE Label="la_prompt_URL" Module="Proj-Base" Type="1">VVJM</PHRASE>
- <PHRASE Label="la_prompt_UserCount" Module="Proj-Base" Type="1">VXNlciBDb3VudA==</PHRASE>
- <PHRASE Label="la_prompt_Usermame" Module="Proj-Base" Type="1">VXNlcm5hbWU=</PHRASE>
- <PHRASE Label="la_prompt_Username" Module="Proj-Base" Type="1">VXNlcm5hbWU=</PHRASE>
- <PHRASE Label="la_prompt_UsersActive" Module="Proj-Base" Type="1">QWN0aXZlIFVzZXJz</PHRASE>
- <PHRASE Label="la_prompt_UsersDisabled" Module="Proj-Base" Type="1">RGlzYWJsZWQgVXNlcnM=</PHRASE>
- <PHRASE Label="la_prompt_UsersPending" Module="Proj-Base" Type="1">UGVuZGluZyBVc2Vycw==</PHRASE>
- <PHRASE Label="la_prompt_UsersUniqueCountries" Module="Proj-Base" Type="1">TnVtYmVyIG9mIFVuaXF1ZSBDb3VudHJpZXMgb2YgVXNlcnM=</PHRASE>
- <PHRASE Label="la_prompt_UsersUniqueStates" Module="Proj-Base" Type="1">TnVtYmVyIG9mIFVuaXF1ZSBTdGF0ZXMgb2YgVXNlcnM=</PHRASE>
- <PHRASE Label="la_prompt_Value" Module="Proj-Base" Type="1">VmFsdWU=</PHRASE>
- <PHRASE Label="la_prompt_valuelist" Module="Proj-Base" Type="1">TGlzdCBvZiBWYWx1ZXM=</PHRASE>
- <PHRASE Label="la_prompt_Views" Module="Proj-Base" Type="1">Vmlld3M=</PHRASE>
- <PHRASE Label="la_prompt_Visible" Module="Proj-Base" Type="1">VmlzaWJsZQ==</PHRASE>
- <PHRASE Label="la_prompt_VoteLimits" Module="Proj-Base" Type="1">KE1pbmltdW0gMSk=</PHRASE>
- <PHRASE Label="la_prompt_Votes" Module="Proj-Base" Type="1">Vm90ZXM=</PHRASE>
- <PHRASE Label="la_Prompt_Warning" Module="Proj-Base" Type="1">V2FybmluZyE=</PHRASE>
- <PHRASE Label="la_prompt_weight" Module="Proj-Base" Type="1">V2VpZ2h0</PHRASE>
- <PHRASE Label="la_prompt_Zip" Module="Proj-Base" Type="1">Wmlw</PHRASE>
- <PHRASE Label="la_promt_ReferrerCheck" Module="Proj-Base" Type="1">U2Vzc2lvbiBSZWZlcnJlciBDaGVja2luZw==</PHRASE>
- <PHRASE Label="la_Rating" Module="Proj-Base" Type="1">bGFfUmF0aW5n</PHRASE>
- <PHRASE Label="la_rating_alreadyvoted" Module="Proj-Base" Type="1">QWxyZWFkeSB2b3RlZA==</PHRASE>
- <PHRASE Label="la_Reciprocal" Module="Proj-Base" Type="1">UmVjaXByb2NhbA==</PHRASE>
- <PHRASE Label="la_RemoveFrom" Module="Proj-Base" Type="1">UmVtb3ZlIEZyb20=</PHRASE>
- <PHRASE Label="la_RequiredWarning" Module="Proj-Base" Type="1">Tm90IGFsbCByZXF1aXJlZCBmaWVsZHMgYXJlIGZpbGxlZC4gUGxlYXNlIGZpbGwgdGhlbSBmaXJzdC4=</PHRASE>
- <PHRASE Label="la_restore_access_denied" Module="Proj-Base" Type="1">QWNjZXNzIGRlbmllZA==</PHRASE>
- <PHRASE Label="la_restore_file_error" Module="Proj-Base" Type="1">RmlsZSBlcnJvcg==</PHRASE>
- <PHRASE Label="la_restore_file_not_found" Module="Proj-Base" Type="1">RmlsZSBub3QgZm91bmQ=</PHRASE>
- <PHRASE Label="la_restore_read_error" Module="Proj-Base" Type="1">VW5hYmxlIHRvIHJlYWQgZnJvbSBmaWxl</PHRASE>
- <PHRASE Label="la_restore_unknown_error" Module="Proj-Base" Type="1">QW4gdW5kZWZpbmVkIGVycm9yIGhhcyBvY2N1cmVk</PHRASE>
- <PHRASE Label="la_reviewer" Module="Proj-Base" Type="1">UmV2aWV3ZXI=</PHRASE>
- <PHRASE Label="la_review_added" Module="Proj-Base" Type="1">UmV2aWV3IGFkZGVkIHN1Y2Nlc3NmdWxseQ==</PHRASE>
- <PHRASE Label="la_review_alreadyreviewed" Module="Proj-Base" Type="1">VGhpcyBpdGVtIGhhcyBhbHJlYWR5IGJlZW4gcmV2aWV3ZWQ=</PHRASE>
- <PHRASE Label="la_review_error" Module="Proj-Base" Type="1">RXJyb3IgYWRkaW5nIHJldmlldw==</PHRASE>
- <PHRASE Label="la_review_perpage_prompt" Module="Proj-Base" Type="1">UmV2aWV3cyBQZXIgUGFnZQ==</PHRASE>
- <PHRASE Label="la_review_perpage_short_prompt" Module="Proj-Base" Type="1">UmV2aWV3cyBQZXIgUGFnZSAoU2hvcnRsaXN0KQ==</PHRASE>
- <PHRASE Label="la_rootpass_verify_error" Module="Proj-Base" Type="1">RXJyb3IgdmVyaWZ5aW5nIHBhc3N3b3Jk</PHRASE>
- <PHRASE Label="la_running_query" Module="Proj-Base" Type="1">UnVubmluZyBRdWVyeQ==</PHRASE>
- <PHRASE Label="la_SampleText" Module="Proj-Base" Type="1">U2FtcGxlIFRleHQ=</PHRASE>
- <PHRASE Label="la_Save" Module="Proj-Base" Type="1">U2F2ZQ==</PHRASE>
- <PHRASE Label="la_Search" Module="Proj-Base" Type="1">U2VhcmNo</PHRASE>
- <PHRASE Label="la_SearchLabel" Module="Proj-Base" Type="1">U2VhcmNo</PHRASE>
- <PHRASE Label="la_SearchLabel_Categories" Module="Proj-Base" Type="1">U2VhcmNoIENhdGVnb3JpZXM=</PHRASE>
- <PHRASE Label="la_SearchLabel_Links" Module="Proj-Base" Type="1">U2VhcmNoIExpbmtz</PHRASE>
- <PHRASE Label="la_SearchLabel_News" Module="Proj-Base" Type="1">U2VhcmNoIEFydGljbGVz</PHRASE>
- <PHRASE Label="la_SearchLabel_Topics" Module="Proj-Base" Type="1">U2VhcmNoIFRvcGljcw==</PHRASE>
- <PHRASE Label="la_SearchMenu_Categories" Module="Proj-Base" Type="1">Q2F0ZWdvcmllczE=</PHRASE>
- <PHRASE Label="la_SearchMenu_Clear" Module="Proj-Base" Type="1">Q2xlYXIgU2VhcmNo</PHRASE>
- <PHRASE Label="la_SearchMenu_New" Module="Proj-Base" Type="1">TmV3IFNlYXJjaA==</PHRASE>
- <PHRASE Label="la_Sectionheader_MetaInformation" Module="Proj-Base" Type="1">TUVUQSBJbmZvcm1hdGlvbg==</PHRASE>
- <PHRASE Label="la_section_Category" Module="Proj-Base" Type="1">Q2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_section_Configs" Module="Proj-Base" Type="1">Q29uZmlnIEZpbGVz</PHRASE>
- <PHRASE Label="la_section_Counters" Module="Proj-Base" Type="1">Q291bnRlcnM=</PHRASE>
- <PHRASE Label="la_section_CustomFields" Module="Proj-Base" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
- <PHRASE Label="la_section_FullSizeImage" Module="Proj-Base" Type="1">RnVsbCBTaXplIEltYWdl</PHRASE>
- <PHRASE Label="la_section_General" Module="Proj-Base" Type="1">R2VuZXJhbA==</PHRASE>
- <PHRASE Label="la_section_Image" Module="Proj-Base" Type="1">SW1hZ2U=</PHRASE>
- <PHRASE Label="la_section_Message" Module="Proj-Base" Type="1">TWVzc2FnZQ==</PHRASE>
- <PHRASE Label="la_section_overview" Module="Proj-Base" Type="1">U2VjdGlvbiBPdmVydmlldw==</PHRASE>
- <PHRASE Label="la_section_Properties" Module="Proj-Base" Type="1">UHJvcGVydGllcw==</PHRASE>
- <PHRASE Label="la_section_QuickLinks" Module="Proj-Base" Type="1">UXVpY2sgTGlua3M=</PHRASE>
- <PHRASE Label="la_section_Relation" Module="Proj-Base" Type="1">UmVsYXRpb24=</PHRASE>
- <PHRASE Label="la_section_Templates" Module="Proj-Base" Type="1">VGVtcGxhdGVz</PHRASE>
- <PHRASE Label="la_section_ThumbnailImage" Module="Proj-Base" Type="1">VGh1bWJuYWlsIEltYWdl</PHRASE>
- <PHRASE Label="la_section_Translation" Module="Proj-Base" Type="1">VHJhbnNsYXRpb24=</PHRASE>
- <PHRASE Label="la_section_UsersSearch" Module="Proj-Base" Type="1">U2VhcmNoIFVzZXJz</PHRASE>
- <PHRASE Label="la_selecting_categories" Module="Proj-Base" Type="1">U2VsZWN0aW5nIENhdGVnb3JpZXM=</PHRASE>
- <PHRASE Label="la_Selection_Empty" Module="Proj-Base" Type="1">RW1wdHkgc2VsZWN0aW9u</PHRASE>
- <PHRASE Label="la_SeparatedCategoryPath" Module="Proj-Base" Type="1">T25lIGZpZWxkIGZvciBlYWNoIGNhdGVnb3J5IGxldmVs</PHRASE>
- <PHRASE Label="la_ShortToolTip_Clone" Module="Proj-Base" Type="1">Q2xvbmU=</PHRASE>
- <PHRASE Label="la_Showing_Logs" Module="Proj-Base" Type="1">U2hvd2luZyBMb2dz</PHRASE>
- <PHRASE Label="la_Showing_Stats" Module="Proj-Base" Type="1">U2hvd2luZyBTdGF0aXN0aWNz</PHRASE>
- <PHRASE Label="la_Show_EmailLog" Module="Proj-Base" Type="1">U2hvdyBFbWFpbCBMb2c=</PHRASE>
- <PHRASE Label="la_Show_Log" Module="Proj-Base" Type="1">U2hvd2luZyBMb2dz</PHRASE>
- <PHRASE Label="la_sortfield2_prompt" Module="Proj-Base" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_step" Module="Proj-Base" Type="1">U3RlcA==</PHRASE>
- <PHRASE Label="la_StyleDefinition" Module="Proj-Base" Type="1">RGVmaW5pdGlvbg==</PHRASE>
- <PHRASE Label="la_StylePreview" Module="Proj-Base" Type="1">UHJldmlldw==</PHRASE>
- <PHRASE Label="la_sunday" Module="Proj-Base" Type="1">U3VuZGF5</PHRASE>
- <PHRASE Label="la_tab_AdminUI" Module="Proj-Base" Type="1">QWRtaW5pc3RyYXRpb24gUGFuZWwgVUk=</PHRASE>
- <PHRASE Label="la_tab_AdvancedView" Module="Proj-Base" Type="1">QWR2YW5jZWQgVmlldw==</PHRASE>
- <PHRASE Label="la_tab_Backup" Module="Proj-Base" Type="1">QmFja3Vw</PHRASE>
- <PHRASE Label="la_tab_BanList" Module="Proj-Base" Type="1">VXNlciBCYW4gTGlzdA==</PHRASE>
- <PHRASE Label="la_tab_BaseStyles" Module="Proj-Base" Type="1">QmFzZSBTdHlsZXM=</PHRASE>
- <PHRASE Label="la_tab_BlockStyles" Module="Proj-Base" Type="1">QmxvY2sgU3R5bGVz</PHRASE>
- <PHRASE Label="la_tab_Browse" Module="Proj-Base" Type="1">Q2F0YWxvZw==</PHRASE>
- <PHRASE Label="la_tab_Categories" Module="Proj-Base" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_tab_Category_RelationSelect" Module="Proj-Base" Type="1">U2VsZWN0IEl0ZW0=</PHRASE>
- <PHRASE Label="la_tab_Category_Select" Module="Proj-Base" Type="1">Q2F0ZWdvcnkgU2VsZWN0</PHRASE>
- <PHRASE Label="la_tab_Censorship" Module="Proj-Base" Type="1">Q2Vuc29yc2hpcA==</PHRASE>
- <PHRASE Label="la_tab_Community" Module="Proj-Base" Type="1">Q29tbXVuaXR5</PHRASE>
- <PHRASE Label="la_tab_ConfigCategories" Module="Proj-Base" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_tab_ConfigCensorship" Module="Proj-Base" Type="1">Q2Vuc29yc2hpcA==</PHRASE>
- <PHRASE Label="la_tab_ConfigCustom" Module="Proj-Base" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
- <PHRASE Label="la_tab_ConfigE-mail" Module="Proj-Base" Type="1">RS1tYWlsIFNldHRpbmdz</PHRASE>
- <PHRASE Label="la_tab_ConfigGeneral" Module="Proj-Base" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_tab_ConfigOutput" Module="Proj-Base" Type="1">T3V0cHV0IFNldHRpbmdz</PHRASE>
- <PHRASE Label="la_tab_ConfigSearch" Module="Proj-Base" Type="1">U2VhcmNoIFNldHRpbmdz</PHRASE>
- <PHRASE Label="la_tab_ConfigSettings" Module="Proj-Base" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_tab_ConfigSmileys" Module="Proj-Base" Type="1">U21pbGV5cw==</PHRASE>
- <PHRASE Label="la_tab_ConfigUsers" Module="Proj-Base" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_tab_Custom" Module="Proj-Base" Type="1">Q3VzdG9t</PHRASE>
- <PHRASE Label="la_tab_Editing_Review" Module="Proj-Base" Type="1">RWRpdGluZyBSZXZpZXc=</PHRASE>
- <PHRASE Label="la_tab_EmailEvents" Module="Proj-Base" Type="1">RW1haWwgRXZlbnRz</PHRASE>
- <PHRASE Label="la_tab_EmailLog" Module="Proj-Base" Type="1">RW1haWwgTG9n</PHRASE>
- <PHRASE Label="la_tab_EmailMessage" Module="Proj-Base" Type="1">RW1haWwgTWVzc2FnZQ==</PHRASE>
- <PHRASE Label="la_tab_ExportData" Module="Proj-Base" Type="1">RXhwb3J0IERhdGE=</PHRASE>
- <PHRASE Label="la_tab_ExportLang" Module="Proj-Base" Type="1">RXhwb3J0IExhbmd1YWdlIFBhY2s=</PHRASE>
- <PHRASE Label="la_tab_Files" Module="Proj-Base" Type="1">RmlsZXM=</PHRASE>
- <PHRASE Label="la_tab_General" Module="Proj-Base" Type="1">R2VuZXJhbA==</PHRASE>
- <PHRASE Label="la_tab_GeneralSettings" Module="Proj-Base" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_tab_Group" Module="Proj-Base" Type="1">R3JvdXA=</PHRASE>
- <PHRASE Label="la_tab_Groups" Module="Proj-Base" Type="1">R3JvdXBz</PHRASE>
- <PHRASE Label="la_tab_GroupSelect" Module="Proj-Base" Type="1">U2VsZWN0IEdyb3Vw</PHRASE>
- <PHRASE Label="la_tab_Help" Module="Proj-Base" Type="1">SGVscA==</PHRASE>
- <PHRASE Label="la_tab_Images" Module="Proj-Base" Type="1">SW1hZ2Vz</PHRASE>
- <PHRASE Label="la_tab_ImportData" Module="Proj-Base" Type="1">SW1wb3J0IERhdGE=</PHRASE>
- <PHRASE Label="la_tab_ImportLang" Module="Proj-Base" Type="1">SW1wb3J0IExhbmd1YWdlIFBhY2s=</PHRASE>
- <PHRASE Label="la_tab_inlinkimport" Module="Proj-Base" Type="1">SW4tbGluayBpbXBvcnQ=</PHRASE>
- <PHRASE Label="la_tab_Install" Module="Proj-Base" Type="1">SW5zdGFsbA==</PHRASE>
- <PHRASE Label="la_tab_ItemList" Module="Proj-Base" Type="1">SXRlbSBMaXN0</PHRASE>
- <PHRASE Label="la_tab_Items" Module="Proj-Base" Type="1">SXRlbXM=</PHRASE>
- <PHRASE Label="la_tab_label" Module="Proj-Base" Type="1">TGFiZWw=</PHRASE>
- <PHRASE Label="la_tab_Labels" Module="Proj-Base" Type="1">TGFiZWxz</PHRASE>
- <PHRASE Label="la_tab_LinkValidation" Module="Proj-Base" Type="2">TGluayBWYWxpZGF0aW9u</PHRASE>
- <PHRASE Label="la_tab_Mail_List" Module="Proj-Base" Type="1">TWFpbCBMaXN0</PHRASE>
- <PHRASE Label="la_tab_Message" Module="Proj-Base" Type="1">TWVzc2FnZQ==</PHRASE>
- <PHRASE Label="la_tab_MissingLabels" Module="Proj-Base" Type="1">TWlzc2luZyBMYWJlbHM=</PHRASE>
- <PHRASE Label="la_tab_modules" Module="Proj-Base" Type="1">TW9kdWxlcw==</PHRASE>
- <PHRASE Label="la_tab_ModulesManagement" Module="Proj-Base" Type="1">TW9kdWxlcyBNYW5hZ2VtZW50</PHRASE>
- <PHRASE Label="la_tab_ModulesSettings" Module="Proj-Base" Type="1">TW9kdWxlcyAmIFNldHRpbmdz</PHRASE>
- <PHRASE Label="la_tab_Overview" Module="Proj-Base" Type="1">T3ZlcnZpZXc=</PHRASE>
- <PHRASE Label="la_tab_PackageContent" Module="Proj-Base" Type="1">UGFja2FnZSBDb250ZW50</PHRASE>
- <PHRASE Label="la_tab_Permissions" Module="Proj-Base" Type="1">UGVybWlzc2lvbnM=</PHRASE>
- <PHRASE Label="la_tab_phpbbimport" Module="Proj-Base" Type="1">cGhwQkIgSW1wb3J0</PHRASE>
- <PHRASE Label="la_tab_Properties" Module="Proj-Base" Type="1">UHJvcGVydGllcw==</PHRASE>
- <PHRASE Label="la_tab_QueryDB" Module="Proj-Base" Type="1">UXVlcnkgRGF0YWJhc2U=</PHRASE>
- <PHRASE Label="la_tab_Regional" Module="Proj-Base" Type="1">UmVnaW9uYWw=</PHRASE>
- <PHRASE Label="la_tab_Relations" Module="Proj-Base" Type="1">UmVsYXRpb25z</PHRASE>
- <PHRASE Label="la_tab_Reports" Module="Proj-Base" Type="1">U3VtbWFyeSAmIExvZ3M=</PHRASE>
- <PHRASE Label="la_tab_Restore" Module="Proj-Base" Type="1">UmVzdG9yZQ==</PHRASE>
- <PHRASE Label="la_tab_Review" Module="Proj-Base" Type="1">UmV2aWV3</PHRASE>
- <PHRASE Label="la_tab_Reviews" Module="Proj-Base" Type="1">UmV2aWV3cw==</PHRASE>
- <PHRASE Label="la_tab_Rule" Module="Proj-Base" Type="2">UnVsZSBQcm9wZXJ0aWVz</PHRASE>
- <PHRASE Label="la_Tab_Search" Module="Proj-Base" Type="1">U2VhcmNo</PHRASE>
- <PHRASE Label="la_tab_SearchLog" Module="Proj-Base" Type="1">U2VhcmNoIExvZw==</PHRASE>
- <PHRASE Label="la_tab_Search_Groups" Module="Proj-Base" Type="1">U2VhcmNoIEdyb3Vwcw==</PHRASE>
- <PHRASE Label="la_tab_Search_Users" Module="Proj-Base" Type="1">U2VhcmNoIFVzZXJz</PHRASE>
- <PHRASE Label="la_tab_SendMail" Module="Proj-Base" Type="1">U2VuZCBlLW1haWw=</PHRASE>
- <PHRASE Label="la_tab_ServerInfo" Module="Proj-Base" Type="1">U2VydmVyIEluZm9ybWF0aW9u</PHRASE>
- <PHRASE Label="la_tab_SessionLog" Module="Proj-Base" Type="1">U2Vzc2lvbiBMb2c=</PHRASE>
- <PHRASE Label="la_tab_Settings" Module="Proj-Base" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
- <PHRASE Label="la_tab_Site_Structure" Module="Proj-Base" Type="1">U3RydWN0dXJlICYgRGF0YQ==</PHRASE>
- <PHRASE Label="la_tab_Skins" Module="Proj-Base" Type="1">U2tpbnM=</PHRASE>
- <PHRASE Label="la_tab_Stats" Module="Proj-Base" Type="1">U3RhdGlzdGljcw==</PHRASE>
- <PHRASE Label="la_tab_Stylesheets" Module="Proj-Base" Type="1">U3R5bGVzaGVldHM=</PHRASE>
- <PHRASE Label="la_tab_Summary" Module="Proj-Base" Type="1">U3VtbWFyeQ==</PHRASE>
- <PHRASE Label="la_tab_Sys_Config" Module="Proj-Base" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
- <PHRASE Label="la_tab_taglibrary" Module="Proj-Base" Type="1">VGFnIGxpYnJhcnk=</PHRASE>
- <PHRASE Label="la_tab_Template" Module="Proj-Base" Type="1">VGVtcGxhdGU=</PHRASE>
- <PHRASE Label="la_tab_Templates" Module="Proj-Base" Type="1">VGVtcGxhdGVz</PHRASE>
- <PHRASE Label="la_tab_Themes" Module="Proj-Base" Type="1">VGhlbWVz</PHRASE>
- <PHRASE Label="la_tab_Tools" Module="Proj-Base" Type="1">VG9vbHM=</PHRASE>
- <PHRASE Label="la_tab_upgrade_license" Module="Proj-Base" Type="1">VXBkYXRlIExpY2Vuc2U=</PHRASE>
- <PHRASE Label="la_tab_userban" Module="Proj-Base" Type="1">QmFuIHVzZXI=</PHRASE>
- <PHRASE Label="la_tab_UserBanList" Module="Proj-Base" Type="1">VXNlciBCYW4gTGlzdA==</PHRASE>
- <PHRASE Label="la_tab_Users" Module="Proj-Base" Type="1">VXNlcnM=</PHRASE>
- <PHRASE Label="la_tab_UserSelect" Module="Proj-Base" Type="1">VXNlciBTZWxlY3Q=</PHRASE>
- <PHRASE Label="la_tab_User_Groups" Module="Proj-Base" Type="1">R3JvdXBz</PHRASE>
- <PHRASE Label="la_tab_User_List" Module="Proj-Base" Type="1">VXNlcnM=</PHRASE>
- <PHRASE Label="la_tab_Visits" Module="Proj-Base" Type="1">VmlzaXRz</PHRASE>
- <PHRASE Label="la_taglib_link" Module="Proj-Base" Type="1">VGFnIExpYnJhcnk=</PHRASE>
- <PHRASE Label="la_tag_library" Module="Proj-Base" Type="1">VGFnIExpYnJhcnk=</PHRASE>
- <PHRASE Label="la_terabytes" Module="Proj-Base" Type="1">dGVyYWJ5dGUocyk=</PHRASE>
- <PHRASE Label="la_Text" Module="Proj-Base" Type="1">dGV4dA==</PHRASE>
- <PHRASE Label="la_Text_Access_Denied" Module="Proj-Base" Type="1">SW52YWxpZCB1c2VyIG5hbWUgb3IgcGFzc3dvcmQ=</PHRASE>
- <PHRASE Label="la_Text_Active" Module="Proj-Base" Type="1">QWN0aXZl</PHRASE>
- <PHRASE Label="la_Text_Adding" Module="Proj-Base" Type="1">QWRkaW5n</PHRASE>
- <PHRASE Label="la_Text_Address" Module="Proj-Base" Type="1">QWRkcmVzcw==</PHRASE>
- <PHRASE Label="la_text_address_denied" Module="Proj-Base" Type="1">TG9naW4gbm90IGFsbG93ZWQgZnJvbSB0aGlzIGFkZHJlc3M=</PHRASE>
- <PHRASE Label="la_Text_Admin" Module="Proj-Base" Type="1">QWRtaW4=</PHRASE>
- <PHRASE Label="la_Text_AdminEmail" Module="Proj-Base" Type="1">QWRtaW5pc3RyYXRvciBSZWNlaXZlIE5vdGljZXMgV2hlbg==</PHRASE>
- <PHRASE Label="la_text_advanced" Module="Proj-Base" Type="1">QWR2YW5jZWQ=</PHRASE>
- <PHRASE Label="la_Text_All" Module="Proj-Base" Type="1">QWxs</PHRASE>
- <PHRASE Label="la_Text_Allow" Module="Proj-Base" Type="1">QWxsb3c=</PHRASE>
- <PHRASE Label="la_Text_Any" Module="Proj-Base" Type="1">QW55</PHRASE>
- <PHRASE Label="la_Text_Archived" Module="Proj-Base" Type="1">QXJjaGl2ZWQ=</PHRASE>
- <PHRASE Label="la_Text_Article" Module="Proj-Base" Type="1">QXJ0aWNsZQ==</PHRASE>
- <PHRASE Label="la_Text_Articles" Module="Proj-Base" Type="1">QXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="la_text_As" Module="Proj-Base" Type="1">YXM=</PHRASE>
- <PHRASE Label="la_Text_backing_up" Module="Proj-Base" Type="1">QmFja2luZyB1cA==</PHRASE>
- <PHRASE Label="la_Text_BackupComplete" Module="Proj-Base" Type="1">QmFjayB1cCBoYXMgYmVlbiBjb21wbGV0ZWQuIFRoZSBiYWNrdXAgZmlsZSBpczo=</PHRASE>
- <PHRASE Label="la_Text_BackupPath" Module="Proj-Base" Type="1">QmFja3VwIFBhdGg=</PHRASE>
- <PHRASE Label="la_Text_backup_access" Module="Proj-Base" Type="2">SW4tUG9ydGFsIGRvZXMgbm90IGhhdmUgYWNjZXNzIHRvIHdyaXRlIHRvIHRoaXMgZGlyZWN0b3J5</PHRASE>
- <PHRASE Label="la_Text_Backup_Info" Module="Proj-Base" Type="1">VGhpcyB1dGlsaXR5IGFsbG93cyB5b3UgdG8gYmFja3VwIHlvdXIgY3VycmVudCBkYXRhIGZyb20gSW4tUG9ydGFsIGRhdGFiYXNlLg==</PHRASE>
- <PHRASE Label="la_text_Backup_in_progress" Module="Proj-Base" Type="1">QmFja3VwIGluIHByb2dyZXNz</PHRASE>
- <PHRASE Label="la_Text_Ban" Module="Proj-Base" Type="1">QmFu</PHRASE>
- <PHRASE Label="la_Text_BanRules" Module="Proj-Base" Type="2">VXNlciBCYW4gUnVsZXM=</PHRASE>
- <PHRASE Label="la_Text_BanUserFields" Module="Proj-Base" Type="1">QmFuIFVzZXIgSW5mb3JtYXRpb24=</PHRASE>
- <PHRASE Label="la_Text_Blank_Field" Module="Proj-Base" Type="1">QmxhbmsgdXNlcm5hbWUgb3IgcGFzc3dvcmQ=</PHRASE>
- <PHRASE Label="la_Text_Both" Module="Proj-Base" Type="1">Qm90aA==</PHRASE>
- <PHRASE Label="la_Text_BuiltIn" Module="Proj-Base" Type="1">QnVpbHQgSW4=</PHRASE>
- <PHRASE Label="la_text_Bytes" Module="Proj-Base" Type="1">Ynl0ZXM=</PHRASE>
- <PHRASE Label="la_Text_Catalog" Module="Proj-Base" Type="1">Q2F0YWxvZw==</PHRASE>
- <PHRASE Label="la_Text_Categories" Module="Proj-Base" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_Text_Category" Module="Proj-Base" Type="1">Q2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_Text_Censorship" Module="Proj-Base" Type="1">Q2Vuc29yc2hpcA==</PHRASE>
- <PHRASE Label="la_Text_City" Module="Proj-Base" Type="1">Q2l0eQ==</PHRASE>
- <PHRASE Label="la_text_ClearClipboardWarning" Module="Proj-Base" Type="1">WW91IGFyZSBhYm91dCB0byBjbGVhciBjbGlwYm9hcmQgY29udGVudCENClByZXNzIE9LIHRvIGNvbnRpbnVlIG9yIENhbmNlbCB0byByZXR1cm4gdG8gcHJldmlvdXMgc2NyZWVuLg==</PHRASE>
- <PHRASE Label="la_Text_ComingSoon" Module="Proj-Base" Type="1">U2VjdGlvbiBDb21pbmcgU29vbg==</PHRASE>
- <PHRASE Label="la_Text_Complete" Module="Proj-Base" Type="1">Q29tcGxldGU=</PHRASE>
- <PHRASE Label="la_Text_Configuration" Module="Proj-Base" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
- <PHRASE Label="la_text_Contains" Module="Proj-Base" Type="1">Q29udGFpbnM=</PHRASE>
- <PHRASE Label="la_Text_Counters" Module="Proj-Base" Type="1">Q291bnRlcnM=</PHRASE>
- <PHRASE Label="la_Text_Current" Module="Proj-Base" Type="1">Q3VycmVudA==</PHRASE>
- <PHRASE Label="la_text_custom" Module="Proj-Base" Type="1">Q3VzdG9t</PHRASE>
- <PHRASE Label="la_Text_CustomField" Module="Proj-Base" Type="1">Q3VzdG9tIEZpZWxk</PHRASE>
- <PHRASE Label="la_Text_CustomFields" Module="Proj-Base" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
- <PHRASE Label="la_Text_DatabaseSettings" Module="Proj-Base" Type="1">RGF0YWJhc2UgU2V0dGluZ3MgLSBJbnRlY2huaWMgSW4tTGluayAyLng=</PHRASE>
- <PHRASE Label="la_Text_DataType_1" Module="Proj-Base" Type="1">Y2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_Text_DataType_2" Module="Proj-Base" Type="1">RGF0YSBUeXBlIDI=</PHRASE>
- <PHRASE Label="la_Text_DataType_3" Module="Proj-Base" Type="1">cG9zdA==</PHRASE>
- <PHRASE Label="la_Text_DataType_4" Module="Proj-Base" Type="1">bGlua3M=</PHRASE>
- <PHRASE Label="la_Text_DataType_6" Module="Proj-Base" Type="1">dXNlcnM=</PHRASE>
- <PHRASE Label="la_Text_Date_Time_Settings" Module="Proj-Base" Type="1">RGF0ZS9UaW1lIFNldHRpbmdz</PHRASE>
- <PHRASE Label="la_Text_Day" Module="Proj-Base" Type="1">RGF5</PHRASE>
- <PHRASE Label="la_text_db_warning" Module="Proj-Base" Type="1">UnVubmluZyB0aGlzIHV0aWxpdHkgd2lsbCBhZmZlY3QgeW91ciBkYXRhYmFzZS4gIFBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgeW91IGNhbiB1c2UgdGhpcyB1dGlsaXR5IGF0IHlvdXIgb3duIHJpc2suICBJbnRlY2huaWMgQ29ycG9yYXRpb24gY2FuIG5vdCBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGNvcnJ1cHQgZGF0YSBvciBkYXRhIGxvc3Mu</PHRASE>
- <PHRASE Label="la_Text_Default" Module="Proj-Base" Type="1">RGVmYXVsdA==</PHRASE>
- <PHRASE Label="la_Text_Delete" Module="Proj-Base" Type="1">RGVsZXRl</PHRASE>
- <PHRASE Label="la_text_denied" Module="Proj-Base" Type="1">RGVuaWVk</PHRASE>
- <PHRASE Label="la_Text_Deny" Module="Proj-Base" Type="1">RGVueQ==</PHRASE>
- <PHRASE Label="la_Text_Disable" Module="Proj-Base" Type="1">RGlzYWJsZQ==</PHRASE>
- <PHRASE Label="la_Text_Disabled" Module="Proj-Base" Type="1">RGlzYWJsZWQ=</PHRASE>
- <PHRASE Label="la_text_disclaimer_part1" Module="Proj-Base" Type="1">UnVubmluZyB0aGlzIHV0aWxpdHkgd2lsbCBhZmZlY3QgeW91ciBkYXRhYmFzZS4gUGxlYXNlIGJlIGFkdmlzZWQgdGhhdCB5b3UgY2FuIHVzZSB0aGlzIHV0aWxpdHkgYXQgeW91ciBvd24gcmlzay4gSW50ZWNobmljIENvcnBvcmF0aW9uIGNhbiBub3QgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBjb3JydXB0IGRhdGEgb3IgZGF0YSBsb3NzLg==</PHRASE>
- <PHRASE Label="la_text_disclaimer_part2" Module="Proj-Base" Type="1">UGxlYXNlIG1ha2Ugc3VyZSB0byBiYWNrIHVwIHlvdXIgZGF0YWJhc2UocykgYmVmb3JlIHJ1bm5pbmcgdGhpcyB1dGlsaXR5Lg==</PHRASE>
- <PHRASE Label="la_Text_Edit" Module="Proj-Base" Type="1">RWRpdA==</PHRASE>
- <PHRASE Label="la_Text_Editing" Module="Proj-Base" Type="1">RWRpdGluZw==</PHRASE>
- <PHRASE Label="la_Text_Editor" Module="Proj-Base" Type="1">RWRpdG9y</PHRASE>
- <PHRASE Label="la_Text_Email" Module="Proj-Base" Type="1">RW1haWw=</PHRASE>
- <PHRASE Label="la_Text_Emoticons" Module="Proj-Base" Type="1">RW1vdGlvbiBJY29ucw==</PHRASE>
- <PHRASE Label="la_Text_Enable" Module="Proj-Base" Type="1">RW5hYmxl</PHRASE>
- <PHRASE Label="la_Text_Enabled" Module="Proj-Base" Type="1">RW5hYmxlZA==</PHRASE>
- <PHRASE Label="la_Text_Events" Module="Proj-Base" Type="1">RXZlbnRz</PHRASE>
- <PHRASE Label="la_Text_example" Module="Proj-Base" Type="2">RXhhbXBsZQ==</PHRASE>
- <PHRASE Label="la_Text_Exists" Module="Proj-Base" Type="1">RXhpc3Rz</PHRASE>
- <PHRASE Label="la_Text_Expired" Module="Proj-Base" Type="1">RXhwaXJlZA==</PHRASE>
- <PHRASE Label="la_Text_Export" Module="Proj-Base" Type="2">RXhwb3J0</PHRASE>
- <PHRASE Label="la_Text_Fields" Module="Proj-Base" Type="1">RmllbGRz</PHRASE>
- <PHRASE Label="la_Text_Filter" Module="Proj-Base" Type="1">RmlsdGVy</PHRASE>
- <PHRASE Label="la_Text_FirstName" Module="Proj-Base" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
- <PHRASE Label="la_text_for" Module="Proj-Base" Type="1">Zm9y</PHRASE>
- <PHRASE Label="la_Text_Front" Module="Proj-Base" Type="1">RnJvbnQ=</PHRASE>
- <PHRASE Label="la_Text_FrontEnd" Module="Proj-Base" Type="1">RnJvbnQgRW5k</PHRASE>
- <PHRASE Label="la_Text_FrontOnly" Module="Proj-Base" Type="1">RnJvbnQtZW5kIE9ubHk=</PHRASE>
- <PHRASE Label="la_Text_Full" Module="Proj-Base" Type="1">RnVsbA==</PHRASE>
- <PHRASE Label="la_Text_Full_Size_Image" Module="Proj-Base" Type="1">RnVsbCBTaXplIEltYWdl</PHRASE>
- <PHRASE Label="la_Text_General" Module="Proj-Base" Type="1">R2VuZXJhbA==</PHRASE>
- <PHRASE Label="la_Text_GreaterThan" Module="Proj-Base" Type="1">R3JlYXRlciBUaGFu</PHRASE>
- <PHRASE Label="la_Text_Group" Module="Proj-Base" Type="1">R3JvdXA=</PHRASE>
- <PHRASE Label="la_Text_Groups" Module="Proj-Base" Type="1">R3JvdXBz</PHRASE>
- <PHRASE Label="la_Text_Group_Name" Module="Proj-Base" Type="1">R3JvdXAgTmFtZQ==</PHRASE>
- <PHRASE Label="la_Text_Guest" Module="Proj-Base" Type="1">R3Vlc3Q=</PHRASE>
- <PHRASE Label="la_Text_GuestUsers" Module="Proj-Base" Type="1">R3Vlc3QgVXNlcnM=</PHRASE>
- <PHRASE Label="la_Text_Hot" Module="Proj-Base" Type="1">SG90</PHRASE>
- <PHRASE Label="la_Text_Hour" Module="Proj-Base" Type="1">SG91cg==</PHRASE>
- <PHRASE Label="la_Text_IAgree" Module="Proj-Base" Type="1">SSBhZ3JlZSB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnM=</PHRASE>
- <PHRASE Label="la_Text_Image" Module="Proj-Base" Type="1">SW1hZ2U=</PHRASE>
- <PHRASE Label="la_Text_Images" Module="Proj-Base" Type="1">SW1hZ2Vz</PHRASE>
- <PHRASE Label="la_Text_Inactive" Module="Proj-Base" Type="1">SW5hY3RpdmU=</PHRASE>
- <PHRASE Label="la_Text_InDevelopment" Module="Proj-Base" Type="1">SW4gRGV2ZWxvcG1lbnQ=</PHRASE>
- <PHRASE Label="la_Text_Install" Module="Proj-Base" Type="1">SW5zdGFsbA==</PHRASE>
- <PHRASE Label="la_Text_Installed" Module="Proj-Base" Type="1">SW5zdGFsbGVk</PHRASE>
- <PHRASE Label="la_Text_Invalid" Module="Proj-Base" Type="2">SW52YWxpZA==</PHRASE>
- <PHRASE Label="la_Text_Invert" Module="Proj-Base" Type="1">SW52ZXJ0</PHRASE>
- <PHRASE Label="la_Text_IPAddress" Module="Proj-Base" Type="1">SVAgQWRkcmVzcw==</PHRASE>
- <PHRASE Label="la_Text_Is" Module="Proj-Base" Type="1">SXM=</PHRASE>
- <PHRASE Label="la_Text_IsNot" Module="Proj-Base" Type="1">SXMgTm90</PHRASE>
- <PHRASE Label="la_Text_Items" Module="Proj-Base" Type="1">SXRlbXM=</PHRASE>
- <PHRASE Label="la_text_keyword" Module="Proj-Base" Type="1">S2V5d29yZA==</PHRASE>
- <PHRASE Label="la_Text_Label" Module="Proj-Base" Type="1">TGFiZWw=</PHRASE>
- <PHRASE Label="la_Text_LangImport" Module="Proj-Base" Type="1">TGFuZ3VhZ2UgSW1wb3J0</PHRASE>
- <PHRASE Label="la_Text_Languages" Module="Proj-Base" Type="2">TGFuZ3VhZ2U=</PHRASE>
- <PHRASE Label="la_Text_LastName" Module="Proj-Base" Type="1">TGFzdCBOYW1l</PHRASE>
- <PHRASE Label="la_text_leading" Module="Proj-Base" Type="1">TGVhZGluZw==</PHRASE>
- <PHRASE Label="la_Text_LessThan" Module="Proj-Base" Type="1">TGVzcyBUaGFu</PHRASE>
- <PHRASE Label="la_Text_Licence" Module="Proj-Base" Type="1">TGljZW5zZQ==</PHRASE>
- <PHRASE Label="la_Text_Link" Module="Proj-Base" Type="1">TGluaw==</PHRASE>
- <PHRASE Label="la_Text_Links" Module="Proj-Base" Type="1">TGlua3M=</PHRASE>
- <PHRASE Label="la_Text_Link_Validation" Module="Proj-Base" Type="2">VmFsaWRhdGluZyBMaW5rcw==</PHRASE>
- <PHRASE Label="la_Text_Local" Module="Proj-Base" Type="1">TG9jYWw=</PHRASE>
- <PHRASE Label="la_Text_Locked" Module="Proj-Base" Type="1">TG9ja2Vk</PHRASE>
- <PHRASE Label="la_Text_Login" Module="Proj-Base" Type="1">VXNlcm5hbWU=</PHRASE>
- <PHRASE Label="la_Text_MailEvent" Module="Proj-Base" Type="1">RW1haWwgRXZlbnQ=</PHRASE>
- <PHRASE Label="la_Text_MetaInfo" Module="Proj-Base" Type="1">RGVmYXVsdCBNRVRBIGtleXdvcmRz</PHRASE>
- <PHRASE Label="la_text_minkeywordlength" Module="Proj-Base" Type="1">TWluaW11bSBrZXl3b3JkIGxlbmd0aA==</PHRASE>
- <PHRASE Label="la_Text_Minute" Module="Proj-Base" Type="1">TWludXRl</PHRASE>
- <PHRASE Label="la_text_min_password" Module="Proj-Base" Type="1">TWluaW11bSBwYXNzd29yZCBsZW5ndGg=</PHRASE>
- <PHRASE Label="la_text_min_username" Module="Proj-Base" Type="1">TWluaW11bSB1c2VyIG5hbWUgbGVuZ3Ro</PHRASE>
- <PHRASE Label="la_Text_Missing_Password" Module="Proj-Base" Type="1">QmxhbmsgcGFzc3dvcmRzIGFyZSBub3QgYWxsb3dlZA==</PHRASE>
- <PHRASE Label="la_Text_Missing_Username" Module="Proj-Base" Type="1">QmxhbmsgdXNlciBuYW1l</PHRASE>
- <PHRASE Label="la_Text_Modules" Module="Proj-Base" Type="1">TW9kdWxlcw==</PHRASE>
- <PHRASE Label="la_Text_Month" Module="Proj-Base" Type="1">TW9udGhz</PHRASE>
- <PHRASE Label="la_text_multipleshow" Module="Proj-Base" Type="1">U2hvdyBtdWx0aXBsZQ==</PHRASE>
- <PHRASE Label="la_Text_New" Module="Proj-Base" Type="1">TmV3</PHRASE>
- <PHRASE Label="la_Text_NewCensorWord" Module="Proj-Base" Type="1">TmV3IENlbnNvciBXb3Jk</PHRASE>
- <PHRASE Label="la_Text_NewField" Module="Proj-Base" Type="1">TmV3IEZpZWxk</PHRASE>
- <PHRASE Label="la_Text_NewTheme" Module="Proj-Base" Type="1">TmV3IFRoZW1l</PHRASE>
- <PHRASE Label="la_text_NoCategories" Module="Proj-Base" Type="1">Tm8gQ2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_Text_None" Module="Proj-Base" Type="1">Tm9uZQ==</PHRASE>
- <PHRASE Label="la_text_nopermissions" Module="Proj-Base" Type="1">Tm8gcGVybWlzc2lvbnM=</PHRASE>
- <PHRASE Label="la_Text_NotContains" Module="Proj-Base" Type="1">RG9lcyBOb3QgQ29udGFpbg==</PHRASE>
- <PHRASE Label="la_Text_Not_Validated" Module="Proj-Base" Type="2">Tm90IFZhbGlkYXRlZA==</PHRASE>
- <PHRASE Label="la_Text_No_permissions" Module="Proj-Base" Type="1">Tm8gcGVybWlzc2lvbnM=</PHRASE>
- <PHRASE Label="la_Text_OneWay" Module="Proj-Base" Type="1">T25lIFdheQ==</PHRASE>
- <PHRASE Label="la_Text_Pack" Module="Proj-Base" Type="1">UGFjaw==</PHRASE>
- <PHRASE Label="la_Text_Pending" Module="Proj-Base" Type="1">UGVuZGluZw==</PHRASE>
- <PHRASE Label="la_text_Permission" Module="Proj-Base" Type="1">UGVybWlzc2lvbg==</PHRASE>
- <PHRASE Label="la_Text_Phone" Module="Proj-Base" Type="1">UGhvbmU=</PHRASE>
- <PHRASE Label="la_Text_Pop" Module="Proj-Base" Type="1">UG9wdWxhcg==</PHRASE>
- <PHRASE Label="la_text_popularity" Module="Proj-Base" Type="1">UG9wdWxhcml0eQ==</PHRASE>
- <PHRASE Label="la_Text_PostBody" Module="Proj-Base" Type="1">UG9zdCBCb2R5</PHRASE>
- <PHRASE Label="la_Text_Posts" Module="Proj-Base" Type="1">UG9zdHM=</PHRASE>
- <PHRASE Label="la_text_prerequisit_not_passed" Module="Proj-Base" Type="1">UHJlcmVxdWlzaXRlIG5vdCBmdWxmaWxsZWQsIGluc3RhbGxhdGlvbiBjYW5ub3QgY29udGludWUh</PHRASE>
- <PHRASE Label="la_Text_Primary" Module="Proj-Base" Type="1">UHJpbWFyeQ==</PHRASE>
- <PHRASE Label="la_text_quicklinks" Module="Proj-Base" Type="1">UXVpY2sgbGlua3M=</PHRASE>
- <PHRASE Label="la_text_ReadOnly" Module="Proj-Base" Type="1">UmVhZCBPbmx5</PHRASE>
- <PHRASE Label="la_text_ready_to_install" Module="Proj-Base" Type="1">UmVhZHkgdG8gSW5zdGFsbA==</PHRASE>
- <PHRASE Label="la_Text_Reciprocal" Module="Proj-Base" Type="1">UmVjaXByb2NhbA==</PHRASE>
- <PHRASE Label="la_Text_Relation" Module="Proj-Base" Type="1">UmVsYXRpb24=</PHRASE>
- <PHRASE Label="la_Text_Relations" Module="Proj-Base" Type="1">UmVsYXRpb25z</PHRASE>
- <PHRASE Label="la_Text_Replies" Module="Proj-Base" Type="1">UmVwbGllcw==</PHRASE>
- <PHRASE Label="la_text_restore warning" Module="Proj-Base" Type="1">VGhlIHZlcnNpb25zIG9mIHRoZSBiYWNrdXAgYW5kIHlvdXIgY29kZSBkb24ndCBtYXRjaC4gWW91ciBpbnN0YWxsYXRpb24gd2lsbCBwcm9iYWJseSBiZSBub24gb3BlcmF0aW9uYWwu</PHRASE>
- <PHRASE Label="la_Text_Restore_Heading" Module="Proj-Base" Type="1">SGVyZSB5b3UgY2FuIHJlc3RvcmUgeW91ciBkYXRhYmFzZSBmcm9tIGEgcHJldmlvdXNseSBiYWNrZWQgdXAgc25hcHNob3QuIFJlc3RvcmluZyB5b3VyIGRhdGFiYXNlIHdpbGwgZGVsZXRlIGFsbCBvZiB5b3VyIGN1cnJlbnQgZGF0YSBhbmQgbG9nIHlvdSBvdXQgb2YgdGhlIHN5c3RlbS4=</PHRASE>
- <PHRASE Label="la_text_Restore_in_progress" Module="Proj-Base" Type="1">UmVzdG9yZSBpcyBpbiBwcm9ncmVzcw==</PHRASE>
- <PHRASE Label="la_Text_Restore_Warning" Module="Proj-Base" Type="1">IFJ1bm5pbmcgdGhpcyB1dGlsaXR5IHdpbGwgYWZmZWN0IHlvdXIgZGF0YWJhc2UuICBQbGVhc2UgYmUgYWR2aXNlZCB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgdXRpbGl0eSBhdCB5b3VyIG93biByaXNrLiAgSW50ZWNobmljIGNvcnBvcmF0aW9uIGNhbiBub3QgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBjb3JydXB0IGRhdGEgb3IgZGF0YSBsb3NzLiAgUGxlYXNlIG1ha2Ugc3VyZSB0byBiYWNrIHVwIHlvdXIgZGF0YWJhc2UocykgYmVmb3JlIHJ1bm5p</PHRASE>
- <PHRASE Label="la_Text_Restrictions" Module="Proj-Base" Type="1">UmVzdHJpY3Rpb25z</PHRASE>
- <PHRASE Label="la_Text_Results" Module="Proj-Base" Type="2">UmVzdWx0cw==</PHRASE>
- <PHRASE Label="la_text_review" Module="Proj-Base" Type="1">UmV2aWV3</PHRASE>
- <PHRASE Label="la_Text_Reviews" Module="Proj-Base" Type="1">UmV2aWV3cw==</PHRASE>
- <PHRASE Label="la_Text_Root" Module="Proj-Base" Type="1">Um9vdA==</PHRASE>
- <PHRASE Label="la_Text_RootCategory" Module="Proj-Base" Type="1">TW9kdWxlIFJvb3QgQ2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_text_Rows" Module="Proj-Base" Type="1">cm93KHMp</PHRASE>
- <PHRASE Label="la_Text_Rule" Module="Proj-Base" Type="2">UnVsZQ==</PHRASE>
- <PHRASE Label="la_text_Same" Module="Proj-Base" Type="1">U2FtZQ==</PHRASE>
- <PHRASE Label="la_text_Same_As_Thumbnail" Module="Proj-Base" Type="1">U2FtZSBhcyB0aHVtYm5haWw=</PHRASE>
- <PHRASE Label="la_text_Save" Module="Proj-Base" Type="1">U2F2ZQ==</PHRASE>
- <PHRASE Label="la_Text_Scanning" Module="Proj-Base" Type="1">U2Nhbm5pbmc=</PHRASE>
- <PHRASE Label="la_Text_Search_Results" Module="Proj-Base" Type="1">U2VhcmNoIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="la_Text_Second" Module="Proj-Base" Type="1">U2Vjb25kcw==</PHRASE>
- <PHRASE Label="la_Text_Select" Module="Proj-Base" Type="1">U2VsZWN0</PHRASE>
- <PHRASE Label="la_Text_Send" Module="Proj-Base" Type="1">U2VuZA==</PHRASE>
- <PHRASE Label="la_Text_Sessions" Module="Proj-Base" Type="1">U2Vzc2lvbnM=</PHRASE>
- <PHRASE Label="la_text_sess_expired" Module="Proj-Base" Type="0">U2Vzc2lvbiBFeHBpcmVk</PHRASE>
- <PHRASE Label="la_Text_Settings" Module="Proj-Base" Type="1">U2V0dGluZ3M=</PHRASE>
- <PHRASE Label="la_Text_ShowingGroups" Module="Proj-Base" Type="1">U2hvd2luZyBHcm91cHM=</PHRASE>
- <PHRASE Label="la_Text_ShowingUsers" Module="Proj-Base" Type="1">U2hvd2luZyBVc2Vycw==</PHRASE>
- <PHRASE Label="la_Text_Simple" Module="Proj-Base" Type="1">U2ltcGxl</PHRASE>
- <PHRASE Label="la_Text_Size" Module="Proj-Base" Type="1">U2l6ZQ==</PHRASE>
- <PHRASE Label="la_Text_Smiley" Module="Proj-Base" Type="1">U21pbGV5</PHRASE>
- <PHRASE Label="la_Text_smtp_server" Module="Proj-Base" Type="1">U01UUCAobWFpbCkgU2VydmVy</PHRASE>
- <PHRASE Label="la_Text_Sort" Module="Proj-Base" Type="1">U29ydA==</PHRASE>
- <PHRASE Label="la_Text_State" Module="Proj-Base" Type="1">U3RhdGU=</PHRASE>
- <PHRASE Label="la_Text_Step" Module="Proj-Base" Type="1">U3RlcA==</PHRASE>
- <PHRASE Label="la_Text_SubCats" Module="Proj-Base" Type="1">U3ViQ2F0cw==</PHRASE>
- <PHRASE Label="la_Text_Subitems" Module="Proj-Base" Type="1">U3ViSXRlbXM=</PHRASE>
- <PHRASE Label="la_Text_Table" Module="Proj-Base" Type="1">VGFibGU=</PHRASE>
- <PHRASE Label="la_Text_Template" Module="Proj-Base" Type="1">VGVtcGxhdGU=</PHRASE>
- <PHRASE Label="la_Text_Templates" Module="Proj-Base" Type="1">VGVtcGxhdGVz</PHRASE>
- <PHRASE Label="la_Text_Theme" Module="Proj-Base" Type="1">VGhlbWU=</PHRASE>
- <PHRASE Label="la_text_Thumbnail" Module="Proj-Base" Type="1">VGh1bWJuYWls</PHRASE>
- <PHRASE Label="la_text_Thumbnail_Image" Module="Proj-Base" Type="1">VGh1bWJuYWlsIEltYWdl</PHRASE>
- <PHRASE Label="la_Text_to" Module="Proj-Base" Type="1">dG8=</PHRASE>
- <PHRASE Label="la_Text_Topic" Module="Proj-Base" Type="1">VG9waWM=</PHRASE>
- <PHRASE Label="la_Text_Topics" Module="Proj-Base" Type="1">VG9waWNz</PHRASE>
- <PHRASE Label="la_Text_Type" Module="Proj-Base" Type="1">VHlwZQ==</PHRASE>
- <PHRASE Label="la_text_types" Module="Proj-Base" Type="1">dHlwZXM=</PHRASE>
- <PHRASE Label="la_Text_Unique" Module="Proj-Base" Type="1">SXMgVW5pcXVl</PHRASE>
- <PHRASE Label="la_Text_Unselect" Module="Proj-Base" Type="1">VW5zZWxlY3Q=</PHRASE>
- <PHRASE Label="la_Text_Update_Licence" Module="Proj-Base" Type="1">VXBkYXRlIExpY2Vuc2U=</PHRASE>
- <PHRASE Label="la_text_upgrade_disclaimer" Module="Proj-Base" Type="1">WW91ciBkYXRhIHdpbGwgYmUgbW9kaWZpZWQgZHVyaW5nIHRoZSB1cGdyYWRlLiBXZSBzdHJvbmdseSByZWNvbW1lbmQgdGhhdCB5b3UgbWFrZSBhIGJhY2t1cCBvZiB5b3VyIGRhdGFiYXNlLiBQcm9jZWVkIHdpdGggdGhlIHVwZ3JhZGU/</PHRASE>
- <PHRASE Label="la_Text_Upload" Module="Proj-Base" Type="1">VXBsb2Fk</PHRASE>
- <PHRASE Label="la_Text_User" Module="Proj-Base" Type="1">VXNlcg==</PHRASE>
- <PHRASE Label="la_Text_UserEmail" Module="Proj-Base" Type="1">VXNlciBSZWNlaXZlcyBOb3RpY2VzIFdoZW4=</PHRASE>
- <PHRASE Label="la_Text_Users" Module="Proj-Base" Type="1">VXNlcnM=</PHRASE>
- <PHRASE Label="la_Text_User_Count" Module="Proj-Base" Type="1">VXNlciBDb3VudA==</PHRASE>
- <PHRASE Label="la_Text_Valid" Module="Proj-Base" Type="1">VmFsaWQ=</PHRASE>
- <PHRASE Label="la_Text_Version" Module="Proj-Base" Type="1">VmVyc2lvbg==</PHRASE>
- <PHRASE Label="la_Text_View" Module="Proj-Base" Type="1">Vmlldw==</PHRASE>
- <PHRASE Label="la_Text_Views" Module="Proj-Base" Type="1">Vmlld3M=</PHRASE>
- <PHRASE Label="la_Text_Website" Module="Proj-Base" Type="1">V2Vic2l0ZQ==</PHRASE>
- <PHRASE Label="la_Text_Week" Module="Proj-Base" Type="1">V2Vla3M=</PHRASE>
- <PHRASE Label="la_Text_Within" Module="Proj-Base" Type="1">V2l0aGlu</PHRASE>
- <PHRASE Label="la_Text_Year" Module="Proj-Base" Type="1">WWVhcnM=</PHRASE>
- <PHRASE Label="la_Text_Zip" Module="Proj-Base" Type="1">Wmlw</PHRASE>
- <PHRASE Label="la_title_addingCustom" Module="Proj-Base" Type="1">QWRkaW5nIEN1c3RvbSBGaWVsZA==</PHRASE>
- <PHRASE Label="la_title_AddingSkin" Module="Proj-Base" Type="1">QWRkaW5nIFNraW4=</PHRASE>
- <PHRASE Label="la_title_Adding_BaseStyle" Module="Proj-Base" Type="1">QWRkaW5nIEJhc2UgU3R5bGU=</PHRASE>
- <PHRASE Label="la_title_Adding_BlockStyle" Module="Proj-Base" Type="1">QWRkaW5nIEJsb2NrIFN0eWxl</PHRASE>
- <PHRASE Label="la_title_Adding_Category" Module="Proj-Base" Type="1">QWRkaW5nIENhdGVnb3J5</PHRASE>
- <PHRASE Label="la_title_Adding_Group" Module="Proj-Base" Type="1">QWRkaW5nIEdyb3Vw</PHRASE>
- <PHRASE Label="la_title_Adding_Image" Module="Proj-Base" Type="1">QWRkaW5nIEltYWdl</PHRASE>
- <PHRASE Label="la_title_Adding_Language" Module="Proj-Base" Type="1">QWRkaW5nIExhbmd1YWdl</PHRASE>
- <PHRASE Label="la_title_Adding_Phrase" Module="Proj-Base" Type="1">QWRkaW5nIFBocmFzZQ==</PHRASE>
- <PHRASE Label="la_title_Adding_Relationship" Module="Proj-Base" Type="1">QWRkaW5nIFJlbGF0aW9uc2hpcA==</PHRASE>
- <PHRASE Label="la_title_Adding_Review" Module="Proj-Base" Type="1">QWRkaW5nIFJldmlldw==</PHRASE>
- <PHRASE Label="la_title_Adding_Stylesheet" Module="Proj-Base" Type="1">QWRkaW5nIFN0eWxlc2hlZXQ=</PHRASE>
- <PHRASE Label="la_title_AdditionalPermissions" Module="Proj-Base" Type="1">QWRkaXRpb25hbCBQZXJtaXNzaW9ucw==</PHRASE>
- <PHRASE Label="la_title_Add_Module" Module="Proj-Base" Type="1">QWRkIE1vZHVsZQ==</PHRASE>
- <PHRASE Label="la_title_AdvancedView" Module="Proj-Base" Type="1">QWR2YW5jZWQgVmlldw==</PHRASE>
- <PHRASE Label="la_title_Backup" Module="Proj-Base" Type="1">QmFja3Vw</PHRASE>
- <PHRASE Label="la_title_BaseStyles" Module="Proj-Base" Type="1">QmFzZSBTdHlsZXM=</PHRASE>
- <PHRASE Label="la_title_BlockStyles" Module="Proj-Base" Type="1">QmxvY2sgU3R5bGVz</PHRASE>
- <PHRASE Label="la_title_Browse" Module="Proj-Base" Type="1">Q2F0YWxvZw==</PHRASE>
- <PHRASE Label="la_title_Categories" Module="Proj-Base" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_title_category_relationselect" Module="Proj-Base" Type="1">U2VsZWN0IHJlbGF0aW9u</PHRASE>
- <PHRASE Label="la_title_category_select" Module="Proj-Base" Type="1">U2VsZWN0IGNhdGVnb3J5</PHRASE>
- <PHRASE Label="la_title_Censorship" Module="Proj-Base" Type="1">Q2Vuc29yc2hpcA==</PHRASE>
- <PHRASE Label="la_title_Community" Module="Proj-Base" Type="1">Q29tbXVuaXR5</PHRASE>
- <PHRASE Label="la_title_Configuration" Module="Proj-Base" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
- <PHRASE Label="la_title_Custom" Module="Proj-Base" Type="1">Q3VzdG9t</PHRASE>
- <PHRASE Label="la_title_CustomFields" Module="Proj-Base" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
- <PHRASE Label="la_title_Done" Module="Proj-Base" Type="1">RG9uZQ==</PHRASE>
- <PHRASE Label="la_title_EditingEmailEvent" Module="Proj-Base" Type="1">RWRpdGluZyBFbWFpbCBFdmVudA==</PHRASE>
- <PHRASE Label="la_title_EditingGroup" Module="Proj-Base" Type="1">RWRpdGluZyBHcm91cA==</PHRASE>
- <PHRASE Label="la_title_EditingSkin" Module="Proj-Base" Type="1">RWRpdGluZyBTa2lu</PHRASE>
- <PHRASE Label="la_title_EditingStyle" Module="Proj-Base" Type="1">RWRpdGluZyBTdHlsZQ==</PHRASE>
- <PHRASE Label="la_title_EditingTranslation" Module="Proj-Base" Type="1">RWRpdGluZyBUcmFuc2xhdGlvbg==</PHRASE>
- <PHRASE Label="la_title_Editing_BaseStyle" Module="Proj-Base" Type="1">RWRpdGluZyBCYXNlIFN0eWxl</PHRASE>
- <PHRASE Label="la_title_Editing_BlockStyle" Module="Proj-Base" Type="1">RWRpdGluZyBCbG9jayBTdHlsZQ==</PHRASE>
- <PHRASE Label="la_title_Editing_Category" Module="Proj-Base" Type="1">RWRpdGluZyBDYXRlZ29yeQ==</PHRASE>
- <PHRASE Label="la_title_Editing_CustomField" Module="Proj-Base" Type="1">RWRpdGluZyBDdXN0b20gRmllbGQ=</PHRASE>
- <PHRASE Label="la_title_Editing_Group" Module="Proj-Base" Type="1">RWRpdGluZyBHcm91cA==</PHRASE>
- <PHRASE Label="la_title_Editing_Image" Module="Proj-Base" Type="1">RWRpdGluZyBJbWFnZQ==</PHRASE>
- <PHRASE Label="la_title_Editing_Language" Module="Proj-Base" Type="1">RWRpdGluZyBMYW5ndWFnZQ==</PHRASE>
- <PHRASE Label="la_title_Editing_Phrase" Module="Proj-Base" Type="1">RWRpdGluZyBQaHJhc2U=</PHRASE>
- <PHRASE Label="la_title_Editing_Relationship" Module="Proj-Base" Type="1">RWRpdGluZyBSZWxhdGlvbnNoaXA=</PHRASE>
- <PHRASE Label="la_title_Editing_Review" Module="Proj-Base" Type="1">RWRpdGluZyBSZXZpZXc=</PHRASE>
- <PHRASE Label="la_title_Editing_Stylesheet" Module="Proj-Base" Type="1">RWRpdGluZyBTdHlsZXNoZWV0</PHRASE>
- <PHRASE Label="la_title_Edit_Article" Module="Proj-Base" Type="1">U2l0ZSBTdHJ1Y3R1cmU=</PHRASE>
- <PHRASE Label="la_title_edit_category" Module="Proj-Base" Type="1">RWRpdCBDYXRlZ29yeQ==</PHRASE>
- <PHRASE Label="la_title_Edit_Group" Module="Proj-Base" Type="1">RWRpdCBHcm91cA==</PHRASE>
- <PHRASE Label="la_title_Edit_Link" Module="Proj-Base" Type="1">U2l0ZSBTdHJ1Y3R1cmU=</PHRASE>
- <PHRASE Label="la_title_Edit_Topic" Module="Proj-Base" Type="1">U2l0ZSBTdHJ1Y3R1cmU=</PHRASE>
- <PHRASE Label="la_title_Edit_User" Module="Proj-Base" Type="1">RWRpdCBVc2Vy</PHRASE>
- <PHRASE Label="la_title_EmailEvents" Module="Proj-Base" Type="1">RS1tYWlsIEV2ZW50cw==</PHRASE>
- <PHRASE Label="la_title_EmailSettings" Module="Proj-Base" Type="1">RS1tYWlsIFNldHRpbmdz</PHRASE>
- <PHRASE Label="la_title_ExportData" Module="Proj-Base" Type="1">RXhwb3J0IERhdGE=</PHRASE>
- <PHRASE Label="la_title_ExportLanguagePack" Module="Proj-Base" Type="1">RXhwb3J0IExhbmd1YWdlIFBhY2s=</PHRASE>
- <PHRASE Label="la_title_ExportLanguagePackResults" Module="Proj-Base" Type="1">RXhwb3J0IExhbmd1YWdlIFBhY2sgLSBSZXN1bHRz</PHRASE>
- <PHRASE Label="la_title_ExportLanguagePackStep1" Module="Proj-Base" Type="1">RXhwb3J0IExhbmd1YWdlIFBhY2sgLSBTdGVwMQ==</PHRASE>
- <PHRASE Label="la_title_General" Module="Proj-Base" Type="1">R2VuZXJhbA==</PHRASE>
- <PHRASE Label="la_title_General_Configuration" Module="Proj-Base" Type="1">R2VuZXJhbCBDb25maWd1cmF0aW9u</PHRASE>
- <PHRASE Label="la_title_Groups" Module="Proj-Base" Type="1">R3JvdXBz</PHRASE>
- <PHRASE Label="la_title_groupselect" Module="Proj-Base" Type="1">U2VsZWN0IGdyb3Vw</PHRASE>
- <PHRASE Label="la_title_Help" Module="Proj-Base" Type="1">SGVscA==</PHRASE>
- <PHRASE Label="la_title_Images" Module="Proj-Base" Type="1">SW1hZ2Vz</PHRASE>
- <PHRASE Label="la_title_ImportData" Module="Proj-Base" Type="1">SW1wb3J0IERhdGE=</PHRASE>
- <PHRASE Label="la_title_ImportLanguagePack" Module="Proj-Base" Type="1">SW1wb3J0IExhbmd1YWdlIFBhY2s=</PHRASE>
- <PHRASE Label="la_title_In-Bulletin" Module="Proj-Base" Type="1">SW4tYnVsbGV0aW4=</PHRASE>
- <PHRASE Label="la_title_In-Link" Module="Proj-Base" Type="1">SW4tbGluaw==</PHRASE>
- <PHRASE Label="la_title_In-News" Module="Proj-Base" Type="1">SW4tbmV3eg==</PHRASE>
- <PHRASE Label="la_title_Install" Module="Proj-Base" Type="1">SW5zdGFsbGF0aW9uIEhlbHA=</PHRASE>
- <PHRASE Label="la_title_InstallLanguagePackStep1" Module="Proj-Base" Type="1">SW5zdGFsbCBMYW5ndWFnZSBQYWNrIC0gU3RlcCAx</PHRASE>
- <PHRASE Label="la_title_InstallLanguagePackStep2" Module="Proj-Base" Type="1">SW5zdGFsbCBMYW5ndWFnZSBQYWNrIC0gU3RlcCAy</PHRASE>
- <PHRASE Label="la_title_Items" Module="Proj-Base" Type="1">SXRlbXM=</PHRASE>
- <PHRASE Label="la_title_label" Module="Proj-Base" Type="1">TGFiZWw=</PHRASE>
- <PHRASE Label="la_title_Labels" Module="Proj-Base" Type="1">TGFiZWxz</PHRASE>
- <PHRASE Label="la_Title_LanguageImport" Module="Proj-Base" Type="1">SW5zdGFsbCBMYW5ndWFnZSBQYWNr</PHRASE>
- <PHRASE Label="la_title_LanguagePacks" Module="Proj-Base" Type="1">TGFuZ3VhZ2UgUGFja3M=</PHRASE>
- <PHRASE Label="la_title_Loading" Module="Proj-Base" Type="1">TG9hZGluZyAuLi4=</PHRASE>
- <PHRASE Label="la_title_Module_Status" Module="Proj-Base" Type="1">TW9kdWxlIFN0YXR1cw==</PHRASE>
- <PHRASE Label="la_title_NewCustomField" Module="Proj-Base" Type="1">TmV3IEN1c3RvbSBGaWVsZA==</PHRASE>
- <PHRASE Label="la_title_New_BaseStyle" Module="Proj-Base" Type="1">TmV3IEJhc2UgU3R5bGU=</PHRASE>
- <PHRASE Label="la_title_New_BlockStyle" Module="Proj-Base" Type="1">TmV3IEJsb2NrIFN0eWxl</PHRASE>
- <PHRASE Label="la_title_New_Category" Module="Proj-Base" Type="1">TmV3IENhdGVnb3J5</PHRASE>
- <PHRASE Label="la_title_New_Group" Module="Proj-Base" Type="1">TmV3IEdyb3Vw</PHRASE>
- <PHRASE Label="la_title_New_Image" Module="Proj-Base" Type="1">TmV3IEltYWdl</PHRASE>
- <PHRASE Label="la_title_New_Language" Module="Proj-Base" Type="1">TmV3IExhbmd1YWdl</PHRASE>
- <PHRASE Label="la_title_New_Phrase" Module="Proj-Base" Type="1">TmV3IFBocmFzZQ==</PHRASE>
- <PHRASE Label="la_title_New_Relationship" Module="Proj-Base" Type="1">TmV3IFJlbGF0aW9uc2hpcA==</PHRASE>
- <PHRASE Label="la_title_New_Review" Module="Proj-Base" Type="1">TmV3IFJldmlldw==</PHRASE>
- <PHRASE Label="la_title_New_Stylesheet" Module="Proj-Base" Type="1">TmV3IFN0eWxlc2hlZXQ=</PHRASE>
- <PHRASE Label="la_title_NoPermissions" Module="Proj-Base" Type="1">Tm8gUGVybWlzc2lvbnM=</PHRASE>
- <PHRASE Label="la_title_Permissions" Module="Proj-Base" Type="1">UGVybWlzc2lvbnM=</PHRASE>
- <PHRASE Label="la_Title_PleaseWait" Module="Proj-Base" Type="1">UGxlYXNlIFdhaXQ=</PHRASE>
- <PHRASE Label="la_title_Properties" Module="Proj-Base" Type="1">UHJvcGVydGllcw==</PHRASE>
- <PHRASE Label="la_title_Regional" Module="Proj-Base" Type="1">UmVnaW9uYWw=</PHRASE>
- <PHRASE Label="la_title_RegionalSettings" Module="Proj-Base" Type="1">UmVnaW9uYWwgU2V0dGluZ3M=</PHRASE>
- <PHRASE Label="la_title_Relations" Module="Proj-Base" Type="1">UmVsYXRpb25z</PHRASE>
- <PHRASE Label="la_title_Reports" Module="Proj-Base" Type="1">U3VtbWFyeSAmIExvZ3M=</PHRASE>
- <PHRASE Label="la_title_Restore" Module="Proj-Base" Type="1">UmVzdG9yZQ==</PHRASE>
- <PHRASE Label="la_title_reviews" Module="Proj-Base" Type="1">UmV2aWV3cw==</PHRASE>
- <PHRASE Label="la_title_SearchLog" Module="Proj-Base" Type="1">U2VhcmNoIExvZw==</PHRASE>
- <PHRASE Label="la_title_searchresults" Module="Proj-Base" Type="1">U2VhcmNoIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="la_title_SelectUser" Module="Proj-Base" Type="1">U2VsZWN0IFVzZXI=</PHRASE>
- <PHRASE Label="la_title_select_item" Module="Proj-Base" Type="1">U2VsZWN0IGl0ZW0=</PHRASE>
- <PHRASE Label="la_title_select_target_item" Module="Proj-Base" Type="1">U2VsZWN0IGl0ZW0=</PHRASE>
- <PHRASE Label="la_Title_SendInit" Module="Proj-Base" Type="1">UHJlcGFyaW5nIHRvIFNlbmQgTWFpbA==</PHRASE>
- <PHRASE Label="la_title_sendmail" Module="Proj-Base" Type="1">U2VuZCBlbWFpbA==</PHRASE>
- <PHRASE Label="la_title_sendmailcancel" Module="Proj-Base" Type="1">Q2FuY2VsIHNlbmRpbmcgbWFpbA==</PHRASE>
- <PHRASE Label="la_Title_SendMailComplete" Module="Proj-Base" Type="1">TWFpbCBoYXMgYmVlbiBzZW50IFN1Y2Nlc3NmdWxseQ==</PHRASE>
- <PHRASE Label="la_Title_SendMailInit" Module="Proj-Base" Type="1">UHJlcGFyaW5nIHRvIFNlbmQgTWVzc2FnZXM=</PHRASE>
- <PHRASE Label="la_Title_SendMailProgress" Module="Proj-Base" Type="1">U2VuZGluZyBNZXNzYWdlLi4=</PHRASE>
- <PHRASE Label="la_title_SessionLog" Module="Proj-Base" Type="1">U2Vzc2lvbiBMb2c=</PHRASE>
- <PHRASE Label="la_title_Settings" Module="Proj-Base" Type="1">TW9kdWxlcyAmIFNldHRpbmdz</PHRASE>
- <PHRASE Label="la_title_Site_Structure" Module="Proj-Base" Type="1">U3RydWN0dXJlICYgRGF0YQ==</PHRASE>
- <PHRASE Label="la_title_Stylesheets" Module="Proj-Base" Type="1">U3R5bGVzaGVldHM=</PHRASE>
- <PHRASE Label="la_title_Summary" Module="Proj-Base" Type="1">U3VtbWFyeQ==</PHRASE>
- <PHRASE Label="la_title_Sys_Config" Module="Proj-Base" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
- <PHRASE Label="la_title_Themes" Module="Proj-Base" Type="1">VGhlbWVz</PHRASE>
- <PHRASE Label="la_title_Tools" Module="Proj-Base" Type="1">VG9vbHM=</PHRASE>
- <PHRASE Label="la_title_UpdatingCategories" Module="Proj-Base" Type="1">VXBkYXRpbmcgQ2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="la_title_Users" Module="Proj-Base" Type="1">VXNlcnM=</PHRASE>
- <PHRASE Label="la_title_userselect" Module="Proj-Base" Type="1">U2VsZWN0IHVzZXI=</PHRASE>
- <PHRASE Label="la_title_Visits" Module="Proj-Base" Type="1">VmlzaXRz</PHRASE>
- <PHRASE Label="la_to" Module="Proj-Base" Type="1">dG8=</PHRASE>
- <PHRASE Label="la_ToolTip_AddToGroup" Module="Proj-Base" Type="1">QWRkIFVzZXIgdG8gR3JvdXA=</PHRASE>
- <PHRASE Label="la_ToolTip_AddUserToGroup" Module="Proj-Base" Type="1">QWRkIFVzZXIgVG8gR3JvdXA=</PHRASE>
- <PHRASE Label="la_ToolTip_Apply_Rules" Module="Proj-Base" Type="1">QXBwbHkgUnVsZXM=</PHRASE>
- <PHRASE Label="la_ToolTip_Approve" Module="Proj-Base" Type="1">QXBwcm92ZQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Back" Module="Proj-Base" Type="1">QmFjaw==</PHRASE>
- <PHRASE Label="la_ToolTip_Ban" Module="Proj-Base" Type="1">QmFu</PHRASE>
- <PHRASE Label="la_tooltip_cancel" Module="Proj-Base" Type="1">Q2FuY2Vs</PHRASE>
- <PHRASE Label="la_ToolTip_ClearClipboard" Module="Proj-Base" Type="1">Q2xlYXIgQ2xpcGJvYXJk</PHRASE>
- <PHRASE Label="la_ToolTip_Clone" Module="Proj-Base" Type="1">Q2xvbmU=</PHRASE>
- <PHRASE Label="la_tooltip_close" Module="Proj-Base" Type="1">Q2xvc2U=</PHRASE>
- <PHRASE Label="la_ToolTip_ContinueValidation" Module="Proj-Base" Type="1">Q29udGludWUgTGluayBWYWxpZGF0aW9u</PHRASE>
- <PHRASE Label="la_ToolTip_Copy" Module="Proj-Base" Type="1">Q29weQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Cut" Module="Proj-Base" Type="1">Q3V0</PHRASE>
- <PHRASE Label="la_ToolTip_Decline" Module="Proj-Base" Type="1">RGVjbGluZQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Delete" Module="Proj-Base" Type="1">RGVsZXRl</PHRASE>
- <PHRASE Label="la_ToolTip_DeleteAll" Module="Proj-Base" Type="1">RGVsZXRlIEFsbA==</PHRASE>
- <PHRASE Label="la_ToolTip_DeleteFromGroup" Module="Proj-Base" Type="1">RGVsZXRlIFVzZXIgRnJvbSBHcm91cA==</PHRASE>
- <PHRASE Label="la_ToolTip_Deny" Module="Proj-Base" Type="1">RGVueQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Disable" Module="Proj-Base" Type="1">RGlzYWJsZQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Edit" Module="Proj-Base" Type="1">RWRpdA==</PHRASE>
- <PHRASE Label="la_ToolTip_Edit_Current_Category" Module="Proj-Base" Type="1">RWRpdCBDdXJyZW50IENhdGVnb3J5</PHRASE>
- <PHRASE Label="la_ToolTip_Email_Disable" Module="Proj-Base" Type="1">RGlzYWJsZQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Email_Enable" Module="Proj-Base" Type="1">RW5hYmxl</PHRASE>
- <PHRASE Label="la_ToolTip_Email_FrontOnly" Module="Proj-Base" Type="1">RnJvbnQgT25seQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Email_UserSelect" Module="Proj-Base" Type="1">U2VsZWN0IFVzZXI=</PHRASE>
- <PHRASE Label="la_ToolTip_Enable" Module="Proj-Base" Type="1">RW5hYmxl</PHRASE>
- <PHRASE Label="la_ToolTip_Export" Module="Proj-Base" Type="0">RXhwb3J0</PHRASE>
- <PHRASE Label="la_tooltip_ExportLanguage" Module="Proj-Base" Type="1">RXhwb3J0IExhbmd1YWdl</PHRASE>
- <PHRASE Label="la_ToolTip_Home" Module="Proj-Base" Type="1">SG9tZQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Import" Module="Proj-Base" Type="1">SW1wb3J0</PHRASE>
- <PHRASE Label="la_tooltip_ImportLanguage" Module="Proj-Base" Type="1">SW1wb3J0IExhbmd1YWdl</PHRASE>
- <PHRASE Label="la_ToolTip_Import_Langpack" Module="Proj-Base" Type="1">SW1wb3J0IGEgTGFnbnVhZ2UgUGFja2FnZQ==</PHRASE>
- <PHRASE Label="la_tooltip_movedown" Module="Proj-Base" Type="0">TW92ZSBEb3du</PHRASE>
- <PHRASE Label="la_tooltip_moveup" Module="Proj-Base" Type="0">TW92ZSBVcA==</PHRASE>
- <PHRASE Label="la_ToolTip_Move_Down" Module="Proj-Base" Type="1">TW92ZSBEb3du</PHRASE>
- <PHRASE Label="la_ToolTip_Move_Up" Module="Proj-Base" Type="1">TW92ZSBVcA==</PHRASE>
- <PHRASE Label="la_tooltip_NewBaseStyle" Module="Proj-Base" Type="1">TmV3IEJhc2UgU3R5bGU=</PHRASE>
- <PHRASE Label="la_tooltip_NewBlockStyle" Module="Proj-Base" Type="1">TmV3IEJsb2NrIFN0eWxl</PHRASE>
- <PHRASE Label="la_ToolTip_NewGroup" Module="Proj-Base" Type="1">TmV3IEdyb3Vw</PHRASE>
- <PHRASE Label="la_tooltip_newlabel" Module="Proj-Base" Type="1">TmV3IGxhYmVs</PHRASE>
- <PHRASE Label="la_tooltip_NewLanguage" Module="Proj-Base" Type="1">TmV3IExhbmd1YWdl</PHRASE>
- <PHRASE Label="la_tooltip_NewReview" Module="Proj-Base" Type="1">TmV3IFJldmlldw==</PHRASE>
- <PHRASE Label="la_tooltip_newstylesheet" Module="Proj-Base" Type="1">TmV3IFN0eWxlc2hlZXQ=</PHRASE>
- <PHRASE Label="la_ToolTip_NewValidation" Module="Proj-Base" Type="1">U3RhcnQgTmV3IFZhbGlkYXRpb24=</PHRASE>
- <PHRASE Label="la_ToolTip_New_Category" Module="Proj-Base" Type="1">TmV3IENhdGVnb3J5</PHRASE>
- <PHRASE Label="la_ToolTip_New_CensorWord" Module="Proj-Base" Type="1">TmV3IENlbnNvciBXb3Jk</PHRASE>
- <PHRASE Label="la_tooltip_New_Coupon" Module="Proj-Base" Type="0">TmV3IENvdXBvbg==</PHRASE>
- <PHRASE Label="la_ToolTip_New_CustomField" Module="Proj-Base" Type="1">TmV3IEN1c3RvbSBGaWVsZA==</PHRASE>
- <PHRASE Label="la_tooltip_New_Discount" Module="Proj-Base" Type="0">TmV3IERpc2NvdW50</PHRASE>
- <PHRASE Label="la_ToolTip_New_Emoticon" Module="Proj-Base" Type="1">TmV3IEVtb3Rpb24gSWNvbg==</PHRASE>
- <PHRASE Label="la_ToolTip_New_Image" Module="Proj-Base" Type="1">TmV3IEltYWdl</PHRASE>
- <PHRASE Label="la_tooltip_new_images" Module="Proj-Base" Type="1">TmV3IEltYWdlcw==</PHRASE>
- <PHRASE Label="la_ToolTip_New_label" Module="Proj-Base" Type="1">QWRkIG5ldyBsYWJlbA==</PHRASE>
- <PHRASE Label="la_ToolTip_New_LangPack" Module="Proj-Base" Type="1">TmV3IExhbmd1YWdlIFBhY2s=</PHRASE>
- <PHRASE Label="la_ToolTip_New_Permission" Module="Proj-Base" Type="1">TmV3IFBlcm1pc3Npb24=</PHRASE>
- <PHRASE Label="la_ToolTip_New_Relation" Module="Proj-Base" Type="1">TmV3IFJlbGF0aW9u</PHRASE>
- <PHRASE Label="la_ToolTip_New_Review" Module="Proj-Base" Type="1">TmV3IFJldmlldw==</PHRASE>
- <PHRASE Label="la_ToolTip_New_Rule" Module="Proj-Base" Type="1">TmV3IFJ1bGU=</PHRASE>
- <PHRASE Label="la_ToolTip_New_Template" Module="Proj-Base" Type="1">TmV3IFRlbXBsYXRl</PHRASE>
- <PHRASE Label="la_ToolTip_New_Theme" Module="Proj-Base" Type="1">TmV3IFRoZW1l</PHRASE>
- <PHRASE Label="la_ToolTip_New_User" Module="Proj-Base" Type="1">TmV3IFVzZXI=</PHRASE>
- <PHRASE Label="la_ToolTip_Next" Module="Proj-Base" Type="1">TmV4dA==</PHRASE>
- <PHRASE Label="la_tooltip_nextstep" Module="Proj-Base" Type="1">TmV4dCBzdGVw</PHRASE>
- <PHRASE Label="la_ToolTip_Paste" Module="Proj-Base" Type="1">UGFzdGU=</PHRASE>
- <PHRASE Label="la_ToolTip_Preview" Module="Proj-Base" Type="1">UHJldmlldw==</PHRASE>
- <PHRASE Label="la_ToolTip_Previous" Module="Proj-Base" Type="1">UHJldmlvdXM=</PHRASE>
- <PHRASE Label="la_tooltip_previousstep" Module="Proj-Base" Type="1">UHJldmlvdXMgc3RlcA==</PHRASE>
- <PHRASE Label="la_ToolTip_Primary" Module="Proj-Base" Type="1">U2V0IFByaW1hcnkgVGhlbWU=</PHRASE>
- <PHRASE Label="la_ToolTip_PrimaryGroup" Module="Proj-Base" Type="1">U2V0IFByaW1hcnkgR3JvdXA=</PHRASE>
- <PHRASE Label="la_ToolTip_Print" Module="Proj-Base" Type="1">UHJpbnQ=</PHRASE>
- <PHRASE Label="la_ToolTip_RebuildCategoryCache" Module="Proj-Base" Type="1">UmVidWlsZCBDYXRlZ29yeSBDYWNoZQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Refresh" Module="Proj-Base" Type="1">UmVmcmVzaA==</PHRASE>
- <PHRASE Label="la_ToolTip_RemoveUserFromGroup" Module="Proj-Base" Type="1">RGVsZXRlIFVzZXIgRnJvbSBHcm91cA==</PHRASE>
- <PHRASE Label="la_ToolTip_RescanThemes" Module="Proj-Base" Type="1">UmVzY2FuIFRoZW1lcw==</PHRASE>
- <PHRASE Label="la_ToolTip_Reset" Module="Proj-Base" Type="1">UmVzZXQ=</PHRASE>
- <PHRASE Label="la_ToolTip_ResetToBase" Module="Proj-Base" Type="1">UmVzZXQgVG8gQmFzZQ==</PHRASE>
- <PHRASE Label="la_ToolTip_ResetValidationStatus" Module="Proj-Base" Type="1">UmVzZXQgVmFsaWRhdGlvbiBTdGF0dXM=</PHRASE>
- <PHRASE Label="la_ToolTip_Restore" Module="Proj-Base" Type="1">UmVzdG9yZQ==</PHRASE>
- <PHRASE Label="la_tooltip_save" Module="Proj-Base" Type="1">U2F2ZQ==</PHRASE>
- <PHRASE Label="la_ToolTip_Search" Module="Proj-Base" Type="1">U2VhcmNo</PHRASE>
- <PHRASE Label="la_ToolTip_SearchReset" Module="Proj-Base" Type="1">UmVzZXQ=</PHRASE>
- <PHRASE Label="la_ToolTip_Select" Module="Proj-Base" Type="1">U2VsZWN0</PHRASE>
- <PHRASE Label="la_tooltip_SelectUser" Module="Proj-Base" Type="1">U2VsZWN0IFVzZXI=</PHRASE>
- <PHRASE Label="la_ToolTip_SendEmail" Module="Proj-Base" Type="1">U2VuZCBFLW1haWw=</PHRASE>
- <PHRASE Label="la_ToolTip_SendMail" Module="Proj-Base" Type="1">U2VuZCBFLW1haWw=</PHRASE>
- <PHRASE Label="la_tooltip_setPrimary" Module="Proj-Base" Type="1">U2V0IFByaW1hcnk=</PHRASE>
- <PHRASE Label="la_tooltip_setprimarycategory" Module="Proj-Base" Type="1">U2V0IFByaW1hcnkgQ2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="la_ToolTip_SetPrimaryLanguage" Module="Proj-Base" Type="1">U2V0IFByaW1hcnkgTGFuZ3VhZ2U=</PHRASE>
- <PHRASE Label="la_ToolTip_Stop" Module="Proj-Base" Type="1">Q2FuY2Vs</PHRASE>
- <PHRASE Label="la_ToolTip_Up" Module="Proj-Base" Type="1">VXAgYSBDYXRlZ29yeQ==</PHRASE>
- <PHRASE Label="la_ToolTip_ValidateSelected" Module="Proj-Base" Type="1">VmFsaWRhdGU=</PHRASE>
- <PHRASE Label="la_ToolTip_View" Module="Proj-Base" Type="1">Vmlldw==</PHRASE>
- <PHRASE Label="la_topic_editorpicksabove_prompt" Module="Proj-Base" Type="1">RGlzcGxheSBlZGl0b3IgcGlja3MgYWJvdmUgcmVndWxhciB0b3BpY3M=</PHRASE>
- <PHRASE Label="la_topic_newdays_prompt" Module="Proj-Base" Type="1">TmV3IFRvcGljcyAoRGF5cyk=</PHRASE>
- <PHRASE Label="la_topic_perpage_prompt" Module="Proj-Base" Type="1">TnVtYmVyIG9mIHRvcGljcyBwZXIgcGFnZQ==</PHRASE>
- <PHRASE Label="la_topic_perpage_short_prompt" Module="Proj-Base" Type="1">VG9waWNzIFBlciBQYWdlIChTaG9ydGxpc3Qp</PHRASE>
- <PHRASE Label="la_Topic_Pick" Module="Proj-Base" Type="1">UGljaw==</PHRASE>
- <PHRASE Label="la_topic_reviewed" Module="Proj-Base" Type="1">VG9waWMgcmV2aWV3ZWQ=</PHRASE>
- <PHRASE Label="la_topic_sortfield2_pompt" Module="Proj-Base" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_topic_sortfield2_prompt" Module="Proj-Base" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_topic_sortfield2_prompt!" Module="Proj-Base" Type="1">YW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_topic_sortfield_pompt" Module="Proj-Base" Type="1">T3JkZXIgVG9waWNzIEJ5</PHRASE>
- <PHRASE Label="la_topic_sortfield_prompt" Module="Proj-Base" Type="1">U29ydCB0b3BpY3MgYnk=</PHRASE>
- <PHRASE Label="la_topic_sortoder2_prompt" Module="Proj-Base" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
- <PHRASE Label="la_topic_sortoder_prompt" Module="Proj-Base" Type="1">T3JkZXIgdG9waWNzIGJ5</PHRASE>
- <PHRASE Label="la_Topic_Text" Module="Proj-Base" Type="1">VG9waWMgVGV4dA==</PHRASE>
- <PHRASE Label="la_Topic_Views" Module="Proj-Base" Type="1">Vmlld3M=</PHRASE>
- <PHRASE Label="la_to_date" Module="Proj-Base" Type="1">VG8gRGF0ZQ==</PHRASE>
- <PHRASE Label="la_translate" Module="Proj-Base" Type="1">VHJhbnNsYXRl</PHRASE>
- <PHRASE Label="la_Trees" Module="Proj-Base" Type="1">VHJlZQ==</PHRASE>
- <PHRASE Label="la_type_checkbox" Module="Proj-Base" Type="1">Q2hlY2tib3hlcw==</PHRASE>
- <PHRASE Label="la_type_date" Module="Proj-Base" Type="1">RGF0ZQ==</PHRASE>
- <PHRASE Label="la_type_datetime" Module="Proj-Base" Type="1">RGF0ZSAmIFRpbWU=</PHRASE>
- <PHRASE Label="la_type_label" Module="Proj-Base" Type="1">TGFiZWw=</PHRASE>
- <PHRASE Label="la_type_password" Module="Proj-Base" Type="1">UGFzc3dvcmQgZmllbGQ=</PHRASE>
- <PHRASE Label="la_type_radio" Module="Proj-Base" Type="1">UmFkaW8gYnV0dG9ucw==</PHRASE>
- <PHRASE Label="la_type_select" Module="Proj-Base" Type="1">RHJvcCBkb3duIGZpZWxk</PHRASE>
- <PHRASE Label="la_type_SingleCheckbox" Module="Proj-Base" Type="1">Q2hlY2tib3g=</PHRASE>
- <PHRASE Label="la_type_text" Module="Proj-Base" Type="1">VGV4dCBmaWVsZA==</PHRASE>
- <PHRASE Label="la_type_textarea" Module="Proj-Base" Type="1">VGV4dCBhcmVh</PHRASE>
- <PHRASE Label="la_Unchanged" Module="Proj-Base" Type="1">VW5jaGFuZ2Vk</PHRASE>
- <PHRASE Label="la_updating_config" Module="Proj-Base" Type="1">VXBkYXRpbmcgQ29uZmlndXJhdGlvbg==</PHRASE>
- <PHRASE Label="la_updating_rules" Module="Proj-Base" Type="1">VXBkYXRpbmcgUnVsZXM=</PHRASE>
- <PHRASE Label="la_UseCronForRegularEvent" Module="Proj-Base" Type="1">VXNlIENyb24gZm9yIFJ1bm5pbmcgUmVndWxhciBFdmVudHM=</PHRASE>
- <PHRASE Label="la_users_allow_new" Module="Proj-Base" Type="1">QWxsb3cgbmV3IHVzZXIgcmVnaXN0cmF0aW9u</PHRASE>
- <PHRASE Label="la_users_assign_all_to" Module="Proj-Base" Type="1">QXNzaWduIEFsbCBVc2VycyBUbyBHcm91cA==</PHRASE>
- <PHRASE Label="la_users_email_validate" Module="Proj-Base" Type="1">VmFsaWRhdGUgZS1tYWlsIGFkZHJlc3M=</PHRASE>
- <PHRASE Label="la_users_guest_group" Module="Proj-Base" Type="1">QXNzaWduIHVzZXJzIG5vdCBsb2dnZWQgaW4gdG8gZ3JvdXA=</PHRASE>
- <PHRASE Label="la_users_new_group" Module="Proj-Base" Type="1">QXNzaWduIHJlZ2lzdGVyZWQgdXNlcnMgdG8gZ3JvdXA=</PHRASE>
- <PHRASE Label="la_users_password_auto" Module="Proj-Base" Type="1">QXNzaWduIHBhc3N3b3JkIGF1dG9tYXRpY2FsbHk=</PHRASE>
- <PHRASE Label="la_users_review_deny" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGRheXMgdG8gZGVueSBtdWx0aXBsZSByZXZpZXdzIGZyb20gdGhlIHNhbWUgdXNlcg==</PHRASE>
- <PHRASE Label="la_users_subscriber_group" Module="Proj-Base" Type="2">QXNzaWduIG1haWxpbmcgbGlzdCBzdWJzY3JpYmVycyB0byBncm91cA==</PHRASE>
- <PHRASE Label="la_users_votes_deny" Module="Proj-Base" Type="1">TnVtYmVyIG9mIGRheXMgdG8gZGVueSBtdWx0aXBsZSB2b3RlcyBmcm9tIHRoZSBzYW1lIHVzZXI=</PHRASE>
- <PHRASE Label="la_User_Instant" Module="Proj-Base" Type="1">SW5zdGFudA==</PHRASE>
- <PHRASE Label="la_User_Not_Allowed" Module="Proj-Base" Type="1">Tm90IEFsbG93ZWQ=</PHRASE>
- <PHRASE Label="la_User_Upon_Approval" Module="Proj-Base" Type="1">VXBvbiBBcHByb3ZhbA==</PHRASE>
- <PHRASE Label="la_use_emails_as_login" Module="Proj-Base" Type="1">VXNlIEVtYWlscyBBcyBMb2dpbg==</PHRASE>
- <PHRASE Label="la_US_UK" Module="Proj-Base" Type="1">VVMvVUs=</PHRASE>
- <PHRASE Label="la_validation_AlertMsg" Module="Proj-Base" Type="1">UGxlYXNlIGNoZWNrIHRoZSByZXF1aXJlZCBmaWVsZHMgYW5kIHRyeSBhZ2FpbiE=</PHRASE>
- <PHRASE Label="la_Value" Module="Proj-Base" Type="1">VmFsdWU=</PHRASE>
- <PHRASE Label="la_valuelist_help" Module="Proj-Base" Type="1">RW50ZXIgbGlzdCBvZiB2YWx1ZXMgYW5kIHRoZWlyIGRlc2NyaXB0aW9ucywgbGlrZSAxPU9uZSwgMj1Ud28=</PHRASE>
- <PHRASE Label="la_val_Active" Module="Proj-Base" Type="1">QWN0aXZl</PHRASE>
- <PHRASE Label="la_val_Always" Module="Proj-Base" Type="1">QWx3YXlz</PHRASE>
- <PHRASE Label="la_val_Auto" Module="Proj-Base" Type="1">QXV0bw==</PHRASE>
- <PHRASE Label="la_val_Disabled" Module="Proj-Base" Type="1">RGlzYWJsZWQ=</PHRASE>
- <PHRASE Label="la_val_Enabled" Module="Proj-Base" Type="1">RW5hYmxlZA==</PHRASE>
- <PHRASE Label="la_val_Never" Module="Proj-Base" Type="1">TmV2ZXI=</PHRASE>
- <PHRASE Label="la_val_Password" Module="Proj-Base" Type="1">SW52YWxpZCBQYXNzd29yZA==</PHRASE>
- <PHRASE Label="la_val_Pending" Module="Proj-Base" Type="1">UGVuZGluZw==</PHRASE>
- <PHRASE Label="la_val_RequiredField" Module="Proj-Base" Type="1">UmVxdWlyZWQgRmllbGQ=</PHRASE>
- <PHRASE Label="la_val_Username" Module="Proj-Base" Type="1">SW52YWxpZCBVc2VybmFtZQ==</PHRASE>
- <PHRASE Label="la_visit_DirectReferer" Module="Proj-Base" Type="1">RGlyZWN0IGFjY2VzcyBvciBib29rbWFyaw==</PHRASE>
- <PHRASE Label="la_vote_added" Module="Proj-Base" Type="1">Vm90ZSBzdWJtaXR0ZWQgc3VjY2Vzc2Z1bGx5</PHRASE>
- <PHRASE Label="la_Warning_Enable_HTML" Module="Proj-Base" Type="1">V2FybmluZzogRW5hYmxpbmcgSFRNTCBpcyBhIHNlY3VyaXR5IHJpc2sgYW5kIGNvdWxkIGRhbWFnZSB0aGUgc3lzdGVtIGlmIHVzZWQgaW1wcm9wZXJseSE=</PHRASE>
- <PHRASE Label="la_Warning_Filter" Module="Proj-Base" Type="1">QSBzZWFyY2ggb3IgYSBmaWx0ZXIgaXMgaW4gZWZmZWN0LiBZb3UgbWF5IG5vdCBiZSBzZWVpbmcgYWxsIG9mIHRoZSBkYXRhLg==</PHRASE>
- <PHRASE Label="la_Warning_NewFormError" Module="Proj-Base" Type="1">T25lIG9yIG1vcmUgZmllbGRzIG9uIHRoaXMgZm9ybSBoYXMgYW4gZXJyb3IuPGJyLz4NCjxzbWFsbD5QbGVhc2UgbW92ZSB5b3VyIG1vdXNlIG92ZXIgdGhlIGZpZWxkcyBtYXJrZWQgd2l0aCByZWQgdG8gc2VlIHRoZSBlcnJvciBkZXRhaWxzLjwvc21hbGw+</PHRASE>
- <PHRASE Label="la_warning_primary_delete" Module="Proj-Base" Type="1">WW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIHByaW1hcnkgdGhlbWUuIENvbnRpbnVlPw==</PHRASE>
- <PHRASE Label="la_Warning_Save_Item" Module="Proj-Base" Type="1">TW9kaWZpY2F0aW9ucyB3aWxsIG5vdCB0YWtlIGVmZmVjdCB1bnRpbCB5b3UgY2xpY2sgdGhlIFNhdmUgYnV0dG9uIQ==</PHRASE>
- <PHRASE Label="la_week" Module="Proj-Base" Type="1">d2Vlaw==</PHRASE>
- <PHRASE Label="la_Windows" Module="Proj-Base" Type="1">V2luZG93cw==</PHRASE>
- <PHRASE Label="la_year" Module="Proj-Base" Type="1">eWVhcg==</PHRASE>
- <PHRASE Label="la_Yes" Module="Proj-Base" Type="1">WWVz</PHRASE>
- <PHRASE Label="lu_access_denied" Module="Proj-Base" Type="0">WW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9u</PHRASE>
- <PHRASE Label="lu_account_info" Module="Proj-Base" Type="0">QWNjb3VudCBJbmZvcm1hdGlvbg==</PHRASE>
- <PHRASE Label="lu_action" Module="Proj-Base" Type="0">QWN0aW9u</PHRASE>
- <PHRASE Label="lu_action_box_title" Module="Proj-Base" Type="0">QWN0aW9uIEJveA==</PHRASE>
- <PHRASE Label="lu_action_prompt" Module="Proj-Base" Type="0">SGVyZSBZb3UgQ2FuOg==</PHRASE>
- <PHRASE Label="lu_add" Module="Proj-Base" Type="0">QWRk</PHRASE>
- <PHRASE Label="lu_addcat_confirm" Module="Proj-Base" Type="0">U3VnZ2VzdCBDYXRlZ29yeSBSZXN1bHRz</PHRASE>
- <PHRASE Label="lu_addcat_confirm_pending" Module="Proj-Base" Type="0">Q2F0ZWdvcnkgQWRkZWQgUGVuZGluZyBBcHByb3ZhbA==</PHRASE>
- <PHRASE Label="lu_addcat_confirm_pending_text" Module="Proj-Base" Type="0">WW91ciBjYXRlZ29yeSBzdWdnZXN0aW9uIGhhcyBiZWVuIGFjY2VwdGVkIGFuZCBpcyBwZW5kaW5nIGFkbWluaXN0cmF0aXZlIGFwcHJvdmFsLg==</PHRASE>
- <PHRASE Label="lu_addcat_confirm_text" Module="Proj-Base" Type="0">VGhlIENhdGVnb3J5IHlvdSBzdWdnZXN0ZWQgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIHN5c3RlbS4=</PHRASE>
- <PHRASE Label="lu_added" Module="Proj-Base" Type="0">QWRkZWQ=</PHRASE>
- <PHRASE Label="lu_added_today" Module="Proj-Base" Type="0">QWRkZWQgVG9kYXk=</PHRASE>
- <PHRASE Label="lu_additional_cats" Module="Proj-Base" Type="0">QWRkaXRpb25hbCBjYXRlZ29yaWVz</PHRASE>
- <PHRASE Label="lu_addlink_confirm" Module="Proj-Base" Type="0">QWRkIExpbmsgUmVzdWx0cw==</PHRASE>
- <PHRASE Label="lu_addlink_confirm_pending" Module="Proj-Base" Type="0">QWRkIFBlbmRpbmcgTGluayBSZXN1bHRz</PHRASE>
- <PHRASE Label="lu_addlink_confirm_pending_text" Module="Proj-Base" Type="0">WW91ciBsaW5rIGhhcyBiZWVuIGFkZGVkIHBlbmRpbmcgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWwu</PHRASE>
- <PHRASE Label="lu_addlink_confirm_text" Module="Proj-Base" Type="0">VGhlIGxpbmsgeW91IGhhdmUgc3VnZ2VzdGVkIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBkYXRhYmFzZS4=</PHRASE>
- <PHRASE Label="lu_address" Module="Proj-Base" Type="0">QWRkcmVzcw==</PHRASE>
- <PHRASE Label="lu_address_line" Module="Proj-Base" Type="0">QWRkcmVzcyBMaW5l</PHRASE>
- <PHRASE Label="lu_Address_Line1" Module="Proj-Base" Type="0">QWRkcmVzcyBMaW5lIDE=</PHRASE>
- <PHRASE Label="lu_Address_Line2" Module="Proj-Base" Type="0">QWRkcmVzcyBMaW5lIDI=</PHRASE>
- <PHRASE Label="lu_add_friend" Module="Proj-Base" Type="0">QWRkIEZyaWVuZA==</PHRASE>
- <PHRASE Label="lu_add_link" Module="Proj-Base" Type="0">QWRkIExpbms=</PHRASE>
- <PHRASE Label="lu_add_pm" Module="Proj-Base" Type="0">U2VuZCBQcml2YXRlIE1lc3NhZ2U=</PHRASE>
- <PHRASE Label="lu_add_review" Module="Proj-Base" Type="0">QWRkIFJldmlldw==</PHRASE>
- <PHRASE Label="lu_add_topic" Module="Proj-Base" Type="0">QWRkIFRvcGlj</PHRASE>
- <PHRASE Label="lu_add_to_favorites" Module="Proj-Base" Type="0">QWRkIHRvIEZhdm9yaXRlcw==</PHRASE>
- <PHRASE Label="lu_AdvancedSearch" Module="Proj-Base" Type="0">QWR2YW5jZWQgU2VhcmNo</PHRASE>
- <PHRASE Label="lu_advanced_search" Module="Proj-Base" Type="0">QWR2YW5jZWQgU2VhcmNo</PHRASE>
- <PHRASE Label="lu_advanced_search_link" Module="Proj-Base" Type="0">QWR2YW5jZWQ=</PHRASE>
- <PHRASE Label="lu_advsearch_any" Module="Proj-Base" Type="0">QW55</PHRASE>
- <PHRASE Label="lu_advsearch_contains" Module="Proj-Base" Type="0">Q29udGFpbnM=</PHRASE>
- <PHRASE Label="lu_advsearch_is" Module="Proj-Base" Type="0">SXMgRXF1YWwgVG8=</PHRASE>
- <PHRASE Label="lu_advsearch_isnot" Module="Proj-Base" Type="0">SXMgTm90IEVxdWFsIFRv</PHRASE>
- <PHRASE Label="lu_advsearch_notcontains" Module="Proj-Base" Type="0">RG9lcyBOb3QgQ29udGFpbg==</PHRASE>
- <PHRASE Label="lu_AllRightsReserved" Module="Proj-Base" Type="0">QWxsIHJpZ2h0cyByZXNlcnZlZC4=</PHRASE>
- <PHRASE Label="lu_already_suggested" Module="Proj-Base" Type="0">IGhhcyBhbHJlYWR5IGJlZW4gc3VnZ2VzdGVkIHRvIHRoaXMgc2l0ZSBvbg==</PHRASE>
- <PHRASE Label="lu_and" Module="Proj-Base" Type="0">QW5k</PHRASE>
- <PHRASE Label="lu_aol_im" Module="Proj-Base" Type="0">QU9MIElN</PHRASE>
- <PHRASE Label="lu_Apr" Module="Proj-Base" Type="0">QXBy</PHRASE>
- <PHRASE Label="lu_AProblemInForm" Module="Proj-Base" Type="0">VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3cu</PHRASE>
- <PHRASE Label="lu_AProblemWithForm" Module="Proj-Base" Type="0">VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3c=</PHRASE>
- <PHRASE Label="lu_articles" Module="Proj-Base" Type="0">QXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="lu_article_details" Module="Proj-Base" Type="0">QXJ0aWNsZSBEZXRhaWxz</PHRASE>
- <PHRASE Label="lu_article_name" Module="Proj-Base" Type="0">QXJ0aWNsZSBuYW1l</PHRASE>
- <PHRASE Label="lu_article_reviews" Module="Proj-Base" Type="0">QXJ0aWNsZSBSZXZpZXdz</PHRASE>
- <PHRASE Label="lu_ascending" Module="Proj-Base" Type="0">QXNjZW5kaW5n</PHRASE>
- <PHRASE Label="lu_Aug" Module="Proj-Base" Type="0">QXVn</PHRASE>
- <PHRASE Label="lu_author" Module="Proj-Base" Type="0">QXV0aG9y</PHRASE>
- <PHRASE Label="lu_auto" Module="Proj-Base" Type="1">QXV0b21hdGlj</PHRASE>
- <PHRASE Label="lu_avatar_disabled" Module="Proj-Base" Type="0">RGlzYWJsZWQgYXZhdGFy</PHRASE>
- <PHRASE Label="lu_back" Module="Proj-Base" Type="0">QmFjaw==</PHRASE>
- <PHRASE Label="lu_bbcode" Module="Proj-Base" Type="0">QkJDb2Rl</PHRASE>
- <PHRASE Label="lu_birth_date" Module="Proj-Base" Type="0">QmlydGggRGF0ZQ==</PHRASE>
- <PHRASE Label="lu_blank_password" Module="Proj-Base" Type="0">QmxhbmsgcGFzc3dvcmQ=</PHRASE>
- <PHRASE Label="lu_box" Module="Proj-Base" Type="0">Ym94</PHRASE>
- <PHRASE Label="lu_btn_NewLink" Module="Proj-Base" Type="0">TmV3IExpbms=</PHRASE>
- <PHRASE Label="lu_btn_newtopic" Module="Proj-Base" Type="0">TmV3IHRvcGlj</PHRASE>
- <PHRASE Label="lu_button_forgotpw" Module="Proj-Base" Type="0">U2VuZCBQYXNzd29yZA==</PHRASE>
- <PHRASE Label="lu_button_go" Module="Proj-Base" Type="0">R28=</PHRASE>
- <PHRASE Label="lu_button_join" Module="Proj-Base" Type="0">Sm9pbg==</PHRASE>
- <PHRASE Label="lu_button_mailinglist" Module="Proj-Base" Type="0">U3Vic2NyaWJl</PHRASE>
- <PHRASE Label="lu_button_no" Module="Proj-Base" Type="0">Tm8=</PHRASE>
- <PHRASE Label="lu_button_ok" Module="Proj-Base" Type="0">T2s=</PHRASE>
- <PHRASE Label="lu_button_rate" Module="Proj-Base" Type="0">UmF0ZQ==</PHRASE>
- <PHRASE Label="lu_button_search" Module="Proj-Base" Type="0">U2VhcmNo</PHRASE>
- <PHRASE Label="lu_button_unsubscribe" Module="Proj-Base" Type="0">VW5zdWJzY3JpYmU=</PHRASE>
- <PHRASE Label="lu_button_yes" Module="Proj-Base" Type="0">WWVz</PHRASE>
- <PHRASE Label="lu_by" Module="Proj-Base" Type="0">Ynk=</PHRASE>
- <PHRASE Label="lu_cancel" Module="Proj-Base" Type="0">Q2FuY2Vs</PHRASE>
- <PHRASE Label="lu_cat" Module="Proj-Base" Type="0">Q2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="lu_categories" Module="Proj-Base" Type="0">Q2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="lu_categories_updated" Module="Proj-Base" Type="0">Y2F0ZWdvcmllcyB1cGRhdGVk</PHRASE>
- <PHRASE Label="lu_category" Module="Proj-Base" Type="0">Q2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="lu_category_information" Module="Proj-Base" Type="0">Q2F0ZWdvcnkgSW5mb3JtYXRpb24=</PHRASE>
- <PHRASE Label="lu_category_search_results" Module="Proj-Base" Type="0">Q2F0ZWdvcnkgU2VhcmNoIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="lu_CatLead_Story" Module="Proj-Base" Type="0">Q2F0ZWdvcnkgTGVhZCBTdG9yeQ==</PHRASE>
- <PHRASE Label="lu_cats" Module="Proj-Base" Type="0">Q2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="lu_city" Module="Proj-Base" Type="0">Q2l0eQ==</PHRASE>
- <PHRASE Label="lu_ClickHere" Module="Proj-Base" Type="0">Y2xpY2sgaGVyZQ==</PHRASE>
- <PHRASE Label="lu_close" Module="Proj-Base" Type="0">Q2xvc2U=</PHRASE>
- <PHRASE Label="lu_close_window" Module="Proj-Base" Type="0">Q2xvc2UgV2luZG93</PHRASE>
- <PHRASE Label="lu_code_expired" Module="Proj-Base" Type="0">UGFzc3dvcmQgcmVzZXQgaGFzIGNvZGUgZXhwaXJlZA==</PHRASE>
- <PHRASE Label="lu_code_is_not_valid" Module="Proj-Base" Type="0">UGFzc3dvcmQgcmVzZXQgY29kZSBpcyBub3QgdmFsaWQ=</PHRASE>
- <PHRASE Label="lu_comm_CartChangedAfterLogin" Module="Proj-Base" Type="0">UHJpY2VzIG9mIG9uZSBvciBtb3JlIGl0ZW1zIGluIHlvdXIgc2hvcHBpbmcgY2FydCBoYXZlIGJlZW4gY2hhbmdlZCBkdWUgdG8geW91ciBsb2dpbiwgcGxlYXNlIHJldmlldyBjaGFuZ2VzLg==</PHRASE>
- <PHRASE Label="lu_comm_EmailAddress" Module="Proj-Base" Type="0">RW1haWxBZGRyZXNz</PHRASE>
- <PHRASE Label="lu_comm_Images" Module="Proj-Base" Type="0">QWRkaXRpb25hbCBJbWFnZXM=</PHRASE>
- <PHRASE Label="lu_comm_ImagesHeader" Module="Proj-Base" Type="0">QURESVRJT05BTCBJTUFHRVM=</PHRASE>
- <PHRASE Label="lu_comm_NoPermissions" Module="Proj-Base" Type="0">Tm8gUGVybWlzc2lvbnM=</PHRASE>
- <PHRASE Label="lu_comm_ProductDescription" Module="Proj-Base" Type="0">UHJvZHVjdCBEZXNjcmlwdGlvbg==</PHRASE>
- <PHRASE Label="lu_company" Module="Proj-Base" Type="0">Q29tcGFueQ==</PHRASE>
- <PHRASE Label="lu_confirm" Module="Proj-Base" Type="0">Y29uZmlybQ==</PHRASE>
- <PHRASE Label="lu_confirmation_title" Module="Proj-Base" Type="0">Q29uZmlybWF0aW9uIFRpdGxl</PHRASE>
- <PHRASE Label="lu_confirm_link_delete_subtitle" Module="Proj-Base" Type="0">WW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIGxpbmsgYmVsb3cu</PHRASE>
- <PHRASE Label="lu_confirm_subtitle" Module="Proj-Base" Type="0">Q29uZmlybWF0aW9uIFN1YnRpdGxl</PHRASE>
- <PHRASE Label="lu_confirm_text" Module="Proj-Base" Type="0">Q29uZmlybWF0aW9uIHRleHQ=</PHRASE>
- <PHRASE Label="lu_ContactUs" Module="Proj-Base" Type="0">Q29udGFjdCBVcw==</PHRASE>
- <PHRASE Label="lu_contact_information" Module="Proj-Base" Type="0">Q29udGFjdCBJbmZvcm1hdGlvbg==</PHRASE>
- <PHRASE Label="lu_continue" Module="Proj-Base" Type="0">Q29udGludWU=</PHRASE>
- <PHRASE Label="lu_cookies" Module="Proj-Base" Type="1">Q29va2llcw==</PHRASE>
- <PHRASE Label="lu_cookies_error" Module="Proj-Base" Type="0">UGxlYXNlIGVuYWJsZSBjb29raWVzIHRvIGxvZ2luIQ==</PHRASE>
- <PHRASE Label="lu_country" Module="Proj-Base" Type="0">Q291bnRyeQ==</PHRASE>
- <PHRASE Label="lu_created" Module="Proj-Base" Type="0">Y3JlYXRlZA==</PHRASE>
- <PHRASE Label="lu_create_password" Module="Proj-Base" Type="0">Q3JlYXRlIFBhc3N3b3Jk</PHRASE>
- <PHRASE Label="lu_CreditCards" Module="Proj-Base" Type="0">Q3JlZGl0IENhcmRz</PHRASE>
- <PHRASE Label="lu_current_value" Module="Proj-Base" Type="0">Q3VycmVudCBWYWx1ZQ==</PHRASE>
- <PHRASE Label="lu_date" Module="Proj-Base" Type="0">RGF0ZQ==</PHRASE>
- <PHRASE Label="lu_date_created" Module="Proj-Base" Type="0">RGF0ZSBjcmVhdGVk</PHRASE>
- <PHRASE Label="lu_Dec" Module="Proj-Base" Type="0">RGVj</PHRASE>
- <PHRASE Label="lu_default_bbcode" Module="Proj-Base" Type="0">RW5hYmxlIEJCQ29kZQ==</PHRASE>
- <PHRASE Label="lu_default_notify_owner" Module="Proj-Base" Type="0">Tm90aWZ5IG1lIG9uIGNoYW5nZXMgdG8gdG9waWNzIEkgY3JlYXRl</PHRASE>
- <PHRASE Label="lu_default_notify_pm" Module="Proj-Base" Type="0">UmVjZWl2ZSBQcml2YXRlIE1lc3NhZ2UgTm90aWZpY2F0aW9ucw==</PHRASE>
- <PHRASE Label="lu_default_signature" Module="Proj-Base" Type="0">QXR0YXRjaCBNeSBTaWduYXR1cmUgdG8gUG9zdHM=</PHRASE>
- <PHRASE Label="lu_default_smileys" Module="Proj-Base" Type="0">U2ltbGllcyBvbiBieSBkZWZhdWx0</PHRASE>
- <PHRASE Label="lu_default_user_signatures" Module="Proj-Base" Type="0">U2lnbmF0dXJlcyBvbiBieSBkZWZhdWx0</PHRASE>
- <PHRASE Label="lu_delete" Module="Proj-Base" Type="0">RGVsZXRl</PHRASE>
- <PHRASE Label="lu_delete_confirm_title" Module="Proj-Base" Type="0">Q29uZmlybSBEZWxldGU=</PHRASE>
- <PHRASE Label="lu_delete_friend" Module="Proj-Base" Type="0">RGVsZXRlIEZyaWVuZA==</PHRASE>
- <PHRASE Label="lu_delete_link_question" Module="Proj-Base" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGxpbms/</PHRASE>
- <PHRASE Label="lu_del_favorites" Module="Proj-Base" Type="0">VGhlIGxpbmsgd2FzIHN1Y2Nlc3NmdWxseSByZW1vdmVkIGZyb20gIEZhdm9yaXRlcy4=</PHRASE>
- <PHRASE Label="lu_descending" Module="Proj-Base" Type="0">RGVzY2VuZGluZw==</PHRASE>
- <PHRASE Label="lu_details" Module="Proj-Base" Type="0">RGV0YWlscw==</PHRASE>
- <PHRASE Label="lu_details_updated" Module="Proj-Base" Type="0">ZGV0YWlscyB1cGRhdGVk</PHRASE>
- <PHRASE Label="lu_directory" Module="Proj-Base" Type="0">RGlyZWN0b3J5</PHRASE>
- <PHRASE Label="lu_disable" Module="Proj-Base" Type="0">RGlzYWJsZQ==</PHRASE>
- <PHRASE Label="lu_edit" Module="Proj-Base" Type="0">TW9kaWZ5</PHRASE>
- <PHRASE Label="lu_editedby" Module="Proj-Base" Type="0">RWRpdGVkIEJ5</PHRASE>
- <PHRASE Label="lu_editors_pick" Module="Proj-Base" Type="0">RWRpdG9ycyBQaWNr</PHRASE>
- <PHRASE Label="lu_editors_picks" Module="Proj-Base" Type="0">RWRpdG9yJ3MgUGlja3M=</PHRASE>
- <PHRASE Label="lu_edittopic_confirm" Module="Proj-Base" Type="0">RWRpdCBUb3BpYyBSZXN1bHRz</PHRASE>
- <PHRASE Label="lu_edittopic_confirm_pending" Module="Proj-Base" Type="0">VG9waWMgbW9kaWZpZWQ=</PHRASE>
- <PHRASE Label="lu_edittopic_confirm_pending_text" Module="Proj-Base" Type="0">VG9waWMgaGFzIGJlZW4gbW9kaWZpZWQgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbA==</PHRASE>
- <PHRASE Label="lu_edittopic_confirm_text" Module="Proj-Base" Type="0">Q2hhbmdlcyBtYWRlIHRvIHRoZSB0b3BpYyBoYXZlIGJlZW4gc2F2ZWQu</PHRASE>
- <PHRASE Label="lu_edit_post" Module="Proj-Base" Type="0">TW9kaWZ5IFBvc3Q=</PHRASE>
- <PHRASE Label="lu_edit_topic" Module="Proj-Base" Type="0">TW9kaWZ5IFRvcGlj</PHRASE>
- <PHRASE Label="LU_EMAIL" Module="Proj-Base" Type="0">RS1NYWls</PHRASE>
- <PHRASE Label="lu_email_already_exist" Module="Proj-Base" Type="0">QSB1c2VyIHdpdGggc3VjaCBlLW1haWwgYWxyZWFkeSBleGlzdHMu</PHRASE>
- <PHRASE Label="lu_email_send_error" Module="Proj-Base" Type="0">TWFpbCBzZW5kaW5nIGZhaWxlZA==</PHRASE>
- <PHRASE Label="lu_enabled" Module="Proj-Base" Type="0">RW5hYmxlZA==</PHRASE>
- <PHRASE Label="lu_end_on" Module="Proj-Base" Type="0">RW5kIE9u</PHRASE>
- <PHRASE Label="lu_enlarge_picture" Module="Proj-Base" Type="0">Wm9vbSBpbg==</PHRASE>
- <PHRASE Label="lu_enter" Module="Proj-Base" Type="0">RW50ZXI=</PHRASE>
- <PHRASE Label="lu_EnterEmailToRecommend" Module="Proj-Base" Type="0">RW50ZXIgeW91ciBmcmllbmQgZS1tYWlsIGFkZHJlc3MgdG8gcmVjb21tZW5kIHRoaXMgc2l0ZQ==</PHRASE>
- <PHRASE Label="lu_EnterEmailToSubscribe" Module="Proj-Base" Type="0">RW50ZXIgeW91ciBlLW1haWwgYWRkcmVzcyB0byBzdWJzY3JpYmUgdG8gdGhlIG1haWxpbmcgbGlzdC4=</PHRASE>
- <PHRASE Label="lu_EnterForgotUserEmail" Module="Proj-Base" Type="0">RW50ZXIgeW91ciBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg==</PHRASE>
- <PHRASE Label="lu_errors_on_form" Module="Proj-Base" Type="0">TWlzc2luZyBvciBpbnZhbGlkIHZhbHVlcy4gUGxlYXNlIGNoZWNrIGFsbCB0aGUgZmllbGRzIGFuZCB0cnkgYWdhaW4u</PHRASE>
- <PHRASE Label="lu_error_404_description" Module="Proj-Base" Type="0">U29ycnksIHRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gb3VyIHNlcnZlci4=</PHRASE>
- <PHRASE Label="lu_error_404_title" Module="Proj-Base" Type="0">RXJyb3IgNDA0IC0gTm90IEZvdW5k</PHRASE>
- <PHRASE Label="lu_error_subtitle" Module="Proj-Base" Type="0">RXJyb3I=</PHRASE>
- <PHRASE Label="lu_error_title" Module="Proj-Base" Type="0">RXJyb3I=</PHRASE>
- <PHRASE Label="lu_existing_users" Module="Proj-Base" Type="0">RXhpc3RpbmcgVXNlcnM=</PHRASE>
- <PHRASE Label="lu_expires" Module="Proj-Base" Type="0">RXhwaXJlcw==</PHRASE>
- <PHRASE Label="lu_false" Module="Proj-Base" Type="0">RmFsc2U=</PHRASE>
- <PHRASE Label="lu_favorite" Module="Proj-Base" Type="0">RmF2b3JpdGU=</PHRASE>
- <PHRASE Label="lu_favorite_denied" Module="Proj-Base" Type="0">VW5hYmxlIHRvIGFkZCBmYXZvcml0ZSwgYWNjZXNzIGRlbmllZA==</PHRASE>
- <PHRASE Label="lu_Feb" Module="Proj-Base" Type="0">RmVi</PHRASE>
- <PHRASE Label="lu_ferror_forgotpw_nodata" Module="Proj-Base" Type="1">WW91IG11c3QgZW50ZXIgYSBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIHRvIHJldHJpdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9u</PHRASE>
- <PHRASE Label="lu_ferror_loginboth" Module="Proj-Base" Type="1">Qm90aCBhIFVzZXJuYW1lIGFuZCBQYXNzd29yZCBpcyByZXF1aXJlZA==</PHRASE>
- <PHRASE Label="lu_ferror_login_login_password" Module="Proj-Base" Type="1">UGxlYXNlIGVudGVyIHlvdXIgcGFzc3dvcmQgYW5kIHRyeSBhZ2Fpbg==</PHRASE>
- <PHRASE Label="lu_ferror_login_login_user" Module="Proj-Base" Type="1">WW91IGRpZCBub3QgZW50ZXIgeW91ciBVc2VybmFtZQ==</PHRASE>
- <PHRASE Label="lu_ferror_m_acctinfo_dob" Module="Proj-Base" Type="0">RGF0ZSBvZiBiaXJ0aCBpcyByZXF1aXJlZA==</PHRASE>
- <PHRASE Label="lu_ferror_m_acctinfo_firstname" Module="Proj-Base" Type="0">TWlzc2luZyBmaXJzdCBuYW1l</PHRASE>
- <PHRASE Label="lu_ferror_m_profile_userid" Module="Proj-Base" Type="0">TWlzc2luZyB1c2Vy</PHRASE>
- <PHRASE Label="lu_ferror_m_register_dob" Module="Proj-Base" Type="0">RGF0ZSBvZiBiaXJ0aCBpcyByZXF1aXJlZA==</PHRASE>
- <PHRASE Label="lu_ferror_m_register_email" Module="Proj-Base" Type="0">RW1haWwgaXMgcmVxdWlyZWQ=</PHRASE>
- <PHRASE Label="lu_ferror_m_register_firstname" Module="Proj-Base" Type="0">Rmlyc3QgbmFtZSBpcyByZXF1aXJlZA==</PHRASE>
- <PHRASE Label="lu_ferror_m_register_password" Module="Proj-Base" Type="0">UGFzc3dvcmQgcmVxdWlyZWQ=</PHRASE>
- <PHRASE Label="lu_ferror_no_access" Module="Proj-Base" Type="0">QWNjZXNzIGRlbmllZA==</PHRASE>
- <PHRASE Label="lu_ferror_pswd_mismatch" Module="Proj-Base" Type="0">UGFzc3dvcmRzIGRvIG5vdCBtYXRjaA==</PHRASE>
- <PHRASE Label="lu_ferror_pswd_toolong" Module="Proj-Base" Type="0">VGhlIHBhc3N3b3JkIGlzIHRvbyBsb25n</PHRASE>
- <PHRASE Label="lu_ferror_pswd_tooshort" Module="Proj-Base" Type="0">UGFzc3dvcmQgaXMgdG9vIHNob3J0</PHRASE>
- <PHRASE Label="lu_ferror_reset_denied" Module="Proj-Base" Type="0">Tm90IHJlc2V0</PHRASE>
- <PHRASE Label="lu_ferror_review_duplicate" Module="Proj-Base" Type="0">WW91IGhhdmUgYWxyZWFkeSByZXZpZXdlZCB0aGlzIGl0ZW0u</PHRASE>
- <PHRASE Label="lu_ferror_toolarge" Module="Proj-Base" Type="0">RmlsZSBpcyB0b28gbGFyZ2U=</PHRASE>
- <PHRASE Label="lu_ferror_unknown_email" Module="Proj-Base" Type="1">VXNlciBhY2NvdW50IHdpdGggZ2l2ZW4gRS1tYWlsIG5vdCBmb3VuZA==</PHRASE>
- <PHRASE Label="lu_ferror_unknown_username" Module="Proj-Base" Type="1">VXNlciBhY2NvdW50IHdpdGggZ2l2ZW4gVXNlcm5hbWUgbm90IGZvdW5k</PHRASE>
- <PHRASE Label="lu_ferror_username_tooshort" Module="Proj-Base" Type="0">VXNlciBuYW1lIGlzIHRvbyBzaG9ydA==</PHRASE>
- <PHRASE Label="lu_ferror_wrongtype" Module="Proj-Base" Type="0">V3JvbmcgZmlsZSB0eXBl</PHRASE>
- <PHRASE Label="lu_fieldcustom__cc1" Module="Proj-Base" Type="2">Y2Mx</PHRASE>
- <PHRASE Label="lu_fieldcustom__cc2" Module="Proj-Base" Type="2">Y2My</PHRASE>
- <PHRASE Label="lu_fieldcustom__cc3" Module="Proj-Base" Type="2">Y2Mz</PHRASE>
- <PHRASE Label="lu_fieldcustom__cc4" Module="Proj-Base" Type="2">Y2M0</PHRASE>
- <PHRASE Label="lu_fieldcustom__cc5" Module="Proj-Base" Type="2">Y2M1</PHRASE>
- <PHRASE Label="lu_fieldcustom__cc6" Module="Proj-Base" Type="2">Y2M2</PHRASE>
- <PHRASE Label="lu_fieldcustom__lc1" Module="Proj-Base" Type="2">bGMx</PHRASE>
- <PHRASE Label="lu_fieldcustom__lc2" Module="Proj-Base" Type="2">bGMy</PHRASE>
- <PHRASE Label="lu_fieldcustom__lc3" Module="Proj-Base" Type="2">bGMz</PHRASE>
- <PHRASE Label="lu_fieldcustom__lc4" Module="Proj-Base" Type="2">bGM0</PHRASE>
- <PHRASE Label="lu_fieldcustom__lc5" Module="Proj-Base" Type="2">bGM1</PHRASE>
- <PHRASE Label="lu_fieldcustom__lc6" Module="Proj-Base" Type="2">bGM2</PHRASE>
- <PHRASE Label="lu_fieldcustom__uc1" Module="Proj-Base" Type="2">dWMx</PHRASE>
- <PHRASE Label="lu_fieldcustom__uc2" Module="Proj-Base" Type="2">dWMy</PHRASE>
- <PHRASE Label="lu_fieldcustom__uc3" Module="Proj-Base" Type="2">dWMz</PHRASE>
- <PHRASE Label="lu_fieldcustom__uc4" Module="Proj-Base" Type="2">dWM0</PHRASE>
- <PHRASE Label="lu_fieldcustom__uc5" Module="Proj-Base" Type="2">dWM1</PHRASE>
- <PHRASE Label="lu_fieldcustom__uc6" Module="Proj-Base" Type="2">dWM2</PHRASE>
- <PHRASE Label="lu_field_archived" Module="Proj-Base" Type="0">QXJjaGl2ZSBEYXRl</PHRASE>
- <PHRASE Label="lu_field_author" Module="Proj-Base" Type="0">QXJ0aWNsZSBBdXRob3I=</PHRASE>
- <PHRASE Label="lu_field_body" Module="Proj-Base" Type="0">QXJ0aWNsZSBCb2R5</PHRASE>
- <PHRASE Label="lu_field_cacheddescendantcatsqty" Module="Proj-Base" Type="0">TnVtYmVyIG9mIERlc2NlbmRhbnRz</PHRASE>
- <PHRASE Label="lu_field_cachednavbar" Module="Proj-Base" Type="0">Q2F0ZWdvcnkgUGF0aA==</PHRASE>
- <PHRASE Label="lu_field_cachedrating" Module="Proj-Base" Type="2">UmF0aW5n</PHRASE>
- <PHRASE Label="lu_field_cachedreviewsqty" Module="Proj-Base" Type="2">TnVtYmVyIG9mIFJldmlld3M=</PHRASE>
- <PHRASE Label="lu_field_cachedvotesqty" Module="Proj-Base" Type="2">TnVtYmVyIG9mIFJhdGluZyBWb3Rlcw==</PHRASE>
- <PHRASE Label="lu_field_categoryid" Module="Proj-Base" Type="0">Q2F0ZWdvcnkgSWQ=</PHRASE>
- <PHRASE Label="lu_field_city" Module="Proj-Base" Type="0">Q2l0eQ==</PHRASE>
- <PHRASE Label="lu_field_country" Module="Proj-Base" Type="0">Q291bnRyeQ==</PHRASE>
- <PHRASE Label="lu_field_createdbyid" Module="Proj-Base" Type="2">Q3JlYXRlZCBCeSBVc2VyIElE</PHRASE>
- <PHRASE Label="lu_field_createdon" Module="Proj-Base" Type="2">RGF0ZSBDcmVhdGVk</PHRASE>
- <PHRASE Label="lu_field_description" Module="Proj-Base" Type="2">RGVzY3JpcHRpb24=</PHRASE>
- <PHRASE Label="lu_field_dob" Module="Proj-Base" Type="0">RGF0ZSBvZiBCaXJ0aA==</PHRASE>
- <PHRASE Label="lu_field_editorspick" Module="Proj-Base" Type="0">RWRpdG9yJ3MgcGljaw==</PHRASE>
- <PHRASE Label="lu_field_email" Module="Proj-Base" Type="0">RS1tYWls</PHRASE>
- <PHRASE Label="lu_field_endon" Module="Proj-Base" Type="0">RW5kcyBPbg==</PHRASE>
- <PHRASE Label="lu_field_excerpt" Module="Proj-Base" Type="0">QXJ0aWNsZSBFeGNlcnB0</PHRASE>
- <PHRASE Label="lu_field_firstname" Module="Proj-Base" Type="0">Rmlyc3QgTmFtZQ==</PHRASE>
- <PHRASE Label="lu_field_hits" Module="Proj-Base" Type="2">SGl0cw==</PHRASE>
- <PHRASE Label="lu_field_hotitem" Module="Proj-Base" Type="2">SXRlbSBJcyBIb3Q=</PHRASE>
- <PHRASE Label="lu_field_lastname" Module="Proj-Base" Type="0">TGFzdCBOYW1l</PHRASE>
- <PHRASE Label="lu_field_lastpostid" Module="Proj-Base" Type="2">TGFzdCBQb3N0IElE</PHRASE>
- <PHRASE Label="lu_field_leadcatstory" Module="Proj-Base" Type="0">Q2F0ZWdvcnkgTGVhZCBTdG9yeT8=</PHRASE>
- <PHRASE Label="lu_field_leadstory" Module="Proj-Base" Type="0">TGVhZCBTdG9yeT8=</PHRASE>
- <PHRASE Label="lu_field_linkid" Module="Proj-Base" Type="2">TGluayBJRA==</PHRASE>
- <PHRASE Label="lu_field_login" Module="Proj-Base" Type="0">TG9naW4gKFVzZXIgbmFtZSk=</PHRASE>
- <PHRASE Label="lu_field_metadescription" Module="Proj-Base" Type="0">TWV0YSBEZXNjcmlwdGlvbg==</PHRASE>
- <PHRASE Label="lu_field_metakeywords" Module="Proj-Base" Type="0">TWV0YSBLZXl3b3Jkcw==</PHRASE>
- <PHRASE Label="lu_field_modified" Module="Proj-Base" Type="2">TGFzdCBNb2RpZmllZCBEYXRl</PHRASE>
- <PHRASE Label="lu_field_modifiedbyid" Module="Proj-Base" Type="2">TW9kaWZpZWQgQnkgVXNlciBJRA==</PHRASE>
- <PHRASE Label="lu_field_name" Module="Proj-Base" Type="2">TmFtZQ==</PHRASE>
- <PHRASE Label="lu_field_newitem" Module="Proj-Base" Type="2">SXRlbSBJcyBOZXc=</PHRASE>
- <PHRASE Label="lu_field_newsid" Module="Proj-Base" Type="0">QXJ0aWNsZSBJRA==</PHRASE>
- <PHRASE Label="lu_field_notifyowneronchanges" Module="Proj-Base" Type="2">Tm90aWZ5IE93bmVyIG9mIENoYW5nZXM=</PHRASE>
- <PHRASE Label="lu_field_orgid" Module="Proj-Base" Type="2">T3JpZ2luYWwgSXRlbSBJRA==</PHRASE>
- <PHRASE Label="lu_field_ownerid" Module="Proj-Base" Type="2">T3duZXIgVXNlciBJRA==</PHRASE>
- <PHRASE Label="lu_field_parentid" Module="Proj-Base" Type="0">UGFyZW50IElk</PHRASE>
- <PHRASE Label="lu_field_parentpath" Module="Proj-Base" Type="0">UGFyZW50IENhdGVnb3J5IFBhdGg=</PHRASE>
- <PHRASE Label="lu_field_password" Module="Proj-Base" Type="0">UGFzc3dvcmQ=</PHRASE>
- <PHRASE Label="lu_field_phone" Module="Proj-Base" Type="0">VGVsZXBob25l</PHRASE>
- <PHRASE Label="lu_field_popitem" Module="Proj-Base" Type="2">SXRlbSBJcyBQb3B1bGFy</PHRASE>
- <PHRASE Label="lu_field_portaluserid" Module="Proj-Base" Type="0">VXNlciBJRA==</PHRASE>
- <PHRASE Label="lu_field_postedby" Module="Proj-Base" Type="2">UG9zdGVkIEJ5</PHRASE>
- <PHRASE Label="lu_field_posts" Module="Proj-Base" Type="0">VG9waWMgUG9zdHM=</PHRASE>
- <PHRASE Label="lu_field_priority" Module="Proj-Base" Type="2">UHJpb3JpdHk=</PHRASE>
- <PHRASE Label="lu_field_qtysold" Module="Proj-Base" Type="1">UXR5IFNvbGQ=</PHRASE>
- <PHRASE Label="lu_field_resourceid" Module="Proj-Base" Type="2">UmVzb3VyY2UgSUQ=</PHRASE>
- <PHRASE Label="lu_field_startdate" Module="Proj-Base" Type="0">U3RhcnQgRGF0ZQ==</PHRASE>
- <PHRASE Label="lu_field_state" Module="Proj-Base" Type="0">U3RhdGU=</PHRASE>
- <PHRASE Label="lu_field_status" Module="Proj-Base" Type="2">U3RhdHVz</PHRASE>
- <PHRASE Label="lu_field_street" Module="Proj-Base" Type="0">U3RyZWV0IEFkZHJlc3M=</PHRASE>
- <PHRASE Label="lu_field_textformat" Module="Proj-Base" Type="0">QXJ0aWNsZSBUZXh0</PHRASE>
- <PHRASE Label="lu_field_title" Module="Proj-Base" Type="0">QXJ0aWNsZSBUaXRsZQ==</PHRASE>
- <PHRASE Label="lu_field_topicid" Module="Proj-Base" Type="2">VG9waWMgSUQ=</PHRASE>
- <PHRASE Label="lu_field_topictext" Module="Proj-Base" Type="2">VG9waWMgVGV4dA==</PHRASE>
- <PHRASE Label="lu_field_topictype" Module="Proj-Base" Type="0">VG9waWMgVHlwZQ==</PHRASE>
- <PHRASE Label="lu_field_topseller" Module="Proj-Base" Type="1">SXRlbSBJcyBhIFRvcCBTZWxsZXI=</PHRASE>
- <PHRASE Label="lu_field_tz" Module="Proj-Base" Type="0">VGltZSBab25l</PHRASE>
- <PHRASE Label="lu_field_url" Module="Proj-Base" Type="2">VVJM</PHRASE>
- <PHRASE Label="lu_field_views" Module="Proj-Base" Type="0">Vmlld3M=</PHRASE>
- <PHRASE Label="lu_field_zip" Module="Proj-Base" Type="0">WmlwIChQb3N0YWwpIENvZGU=</PHRASE>
- <PHRASE Label="lu_first_name" Module="Proj-Base" Type="0">Rmlyc3QgTmFtZQ==</PHRASE>
- <PHRASE Label="lu_fld_module" Module="Proj-Base" Type="0">TW9kdWxl</PHRASE>
- <PHRASE Label="lu_fld_phrase" Module="Proj-Base" Type="0">UGhyYXNl</PHRASE>
- <PHRASE Label="lu_fld_primary_translation" Module="Proj-Base" Type="0">UHJpbWFyeSBUcmFuc2xhdGlvbg==</PHRASE>
- <PHRASE Label="lu_fld_translation" Module="Proj-Base" Type="0">VHJhbnNsYXRpb24=</PHRASE>
- <PHRASE Label="lu_ForgotPassword" Module="Proj-Base" Type="0">Rm9yZ290IHBhc3N3b3Jk</PHRASE>
- <PHRASE Label="lu_forgotpw_confirm" Module="Proj-Base" Type="0">UGFzc3dvcmQgUmVxdWVzdCBDb25maXJtYXRpb24=</PHRASE>
- <PHRASE Label="lu_forgotpw_confirm_reset" Module="Proj-Base" Type="0">Q29uZmlybSBwYXNzd29yZCByZXNldA==</PHRASE>
- <PHRASE Label="lu_forgotpw_confirm_text" Module="Proj-Base" Type="0">WW91IGhhdmUgY2hvc2VkIHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQuIEEgbmV3IHBhc3N3b3JkIGhhcyBiZWVuIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHRoZSBzeXN0ZW0uIEl0IGhhcyBiZWVuIGVtYWlsZWQgdG8geW91ciBhZGRyZXNzIG9uIGZpbGUu</PHRASE>
- <PHRASE Label="lu_forgotpw_confirm_text_reset" Module="Proj-Base" Type="0">UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg==</PHRASE>
- <PHRASE Label="lu_forgot_password" Module="Proj-Base" Type="0">Rm9yZ290IFBhc3N3b3Jk</PHRASE>
- <PHRASE Label="lu_forgot_password_link" Module="Proj-Base" Type="0">Rm9yZ290IFBhc3N3b3Jk</PHRASE>
- <PHRASE Label="lu_forgot_pw_description" Module="Proj-Base" Type="1">RW50ZXIgeW91ciBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg==</PHRASE>
- <PHRASE Label="lu_forums" Module="Proj-Base" Type="0">Rm9ydW1z</PHRASE>
- <PHRASE Label="lu_forum_hdrtext" Module="Proj-Base" Type="0">V2VsY29tZSB0byBJbi1wb3J0YWwgZm9ydW1zIQ==</PHRASE>
- <PHRASE Label="lu_forum_hdrwelcometext" Module="Proj-Base" Type="0">V2VsY29tZSB0byBJbi1idWxsZXRpbiBGb3J1bXMh</PHRASE>
- <PHRASE Label="lu_forum_locked_for_posting" Module="Proj-Base" Type="0">Rm9ydW0gaXMgbG9ja2VkIGZvciBwb3N0aW5n</PHRASE>
- <PHRASE Label="lu_found" Module="Proj-Base" Type="0">Rm91bmQ6</PHRASE>
- <PHRASE Label="lu_from" Module="Proj-Base" Type="0">RnJvbQ==</PHRASE>
- <PHRASE Label="lu_full_story" Module="Proj-Base" Type="0">RnVsbCBTdG9yeQ==</PHRASE>
- <PHRASE Label="lu_getting_rated" Module="Proj-Base" Type="0">R2V0dGluZyBSYXRlZA==</PHRASE>
- <PHRASE Label="lu_getting_rated_text" Module="Proj-Base" Type="0">WW91IG1heSBwbGFjZSB0aGUgZm9sbG93aW5nIEhUTUwgY29kZSBvbiB5b3VyIHdlYiBzaXRlIHRvIGFsbG93IHlvdXIgc2l0ZSB2aXNpdG9ycyB0byB2b3RlIGZvciB0aGlzIHJlc291cmNl</PHRASE>
- <PHRASE Label="lu_guest" Module="Proj-Base" Type="0">R3Vlc3Q=</PHRASE>
- <PHRASE Label="lu_help" Module="Proj-Base" Type="0">SGVscA==</PHRASE>
- <PHRASE Label="lu_Here" Module="Proj-Base" Type="0">SGVyZQ==</PHRASE>
- <PHRASE Label="lu_hits" Module="Proj-Base" Type="0">SGl0cw==</PHRASE>
- <PHRASE Label="lu_home" Module="Proj-Base" Type="0">SG9tZQ==</PHRASE>
- <PHRASE Label="lu_hot" Module="Proj-Base" Type="0">SG90</PHRASE>
- <PHRASE Label="lu_hot_links" Module="Proj-Base" Type="0">SG90IExpbmtz</PHRASE>
- <PHRASE Label="lu_in" Module="Proj-Base" Type="0">aW4=</PHRASE>
- <PHRASE Label="lu_inbox" Module="Proj-Base" Type="0">SW5ib3g=</PHRASE>
- <PHRASE Label="lu_incorrect_login" Module="Proj-Base" Type="0">VXNlcm5hbWUvUGFzc3dvcmQgSW5jb3JyZWN0</PHRASE>
- <PHRASE Label="lu_IndicatesRequired" Module="Proj-Base" Type="0">SW5kaWNhdGVzIFJlcXVpcmVkIGZpZWxkcw==</PHRASE>
- <PHRASE Label="lu_InvalidEmail" Module="Proj-Base" Type="0">SW52YWxpZCBlLW1haWwgYWRkcmVzcw==</PHRASE>
- <PHRASE Label="lu_invalid_emailaddress" Module="Proj-Base" Type="0">RS1tYWlsIGFkZHJlc3MgbWlzc2luZyBvciBpbnZhbGlk</PHRASE>
- <PHRASE Label="lu_invalid_password" Module="Proj-Base" Type="0">SW52YWxpZCBQYXNzd29yZA==</PHRASE>
- <PHRASE Label="lu_in_this_message" Module="Proj-Base" Type="0">SW4gdGhpcyBtZXNzYWdl</PHRASE>
- <PHRASE Label="lu_items_since_last" Module="Proj-Base" Type="0">SXRlbXMgc2luY2UgbGFzdCBsb2dpbg==</PHRASE>
- <PHRASE Label="lu_Jan" Module="Proj-Base" Type="0">SmFu</PHRASE>
- <PHRASE Label="lu_joined" Module="Proj-Base" Type="0">Sm9pbmVk</PHRASE>
- <PHRASE Label="lu_Jul" Module="Proj-Base" Type="0">SnVs</PHRASE>
- <PHRASE Label="lu_Jun" Module="Proj-Base" Type="0">SnVu</PHRASE>
- <PHRASE Label="lu_keywords_tooshort" Module="Proj-Base" Type="0">S2V5d29yZCBpcyB0b28gc2hvcnQ=</PHRASE>
- <PHRASE Label="lu_lastpost" Module="Proj-Base" Type="0">TGFzdCBQb3N0</PHRASE>
- <PHRASE Label="lu_lastposter" Module="Proj-Base" Type="0">TGFzdCBQb3N0IEJ5</PHRASE>
- <PHRASE Label="lu_lastupdate" Module="Proj-Base" Type="0">TGFzdCBVcGRhdGU=</PHRASE>
- <PHRASE Label="lu_last_name" Module="Proj-Base" Type="0">TGFzdCBOYW1l</PHRASE>
- <PHRASE Label="lu_legend" Module="Proj-Base" Type="0">TGVnZW5k</PHRASE>
- <PHRASE Label="lu_links" Module="Proj-Base" Type="0">TGlua3M=</PHRASE>
- <PHRASE Label="lu_links_updated" Module="Proj-Base" Type="0">bGlua3MgdXBkYXRlZA==</PHRASE>
- <PHRASE Label="lu_link_addreview_confirm_pending_text" Module="Proj-Base" Type="0">WW91ciByZXZpZXcgaGFzIGJlZW4gYWRkZWQgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbA==</PHRASE>
- <PHRASE Label="lu_link_addreview_confirm_text" Module="Proj-Base" Type="0">WW91ciByZXZpZXcgaGFzIGJlZW4gYWRkZWQ=</PHRASE>
- <PHRASE Label="lu_link_details" Module="Proj-Base" Type="0">TGluayBEZXRhaWxz</PHRASE>
- <PHRASE Label="lu_link_information" Module="Proj-Base" Type="0">TGluayBJbmZvcm1hdGlvbg==</PHRASE>
- <PHRASE Label="lu_link_name" Module="Proj-Base" Type="0">TGluayBOYW1l</PHRASE>
- <PHRASE Label="lu_link_rate_confirm" Module="Proj-Base" Type="0">TGluayBSYXRpbmcgUmVzdWx0cw==</PHRASE>
- <PHRASE Label="lu_link_rate_confirm_duplicate_text" Module="Proj-Base" Type="0">WW91IGhhdmUgYWxyZWFkeSByYXRlZCB0aGlzIGxpbmsu</PHRASE>
- <PHRASE Label="lu_link_rate_confirm_text" Module="Proj-Base" Type="0">VGhhbmsgZm9yIHJhdGluZyB0aGlzIGxpbmsuICBZb3VyIGlucHV0IGhhcyBiZWVuIHJlY29yZGVkLg==</PHRASE>
- <PHRASE Label="lu_link_reviews" Module="Proj-Base" Type="0">TGluayBSZXZpZXdz</PHRASE>
- <PHRASE Label="lu_link_review_confirm" Module="Proj-Base" Type="0">TGluayBSZXZpZXcgUmVzdWx0cw==</PHRASE>
- <PHRASE Label="lu_link_review_confirm_pending" Module="Proj-Base" Type="0">TGluayBSZXZpZXcgUGVuZGluZw==</PHRASE>
- <PHRASE Label="lu_link_search_results" Module="Proj-Base" Type="0">TGluayBTZWFyY2ggUmVzdWx0cw==</PHRASE>
- <PHRASE Label="lu_location" Module="Proj-Base" Type="0">TG9jYXRpb24=</PHRASE>
- <PHRASE Label="lu_locked_topic" Module="Proj-Base" Type="0">TG9ja2VkIHRvcGlj</PHRASE>
- <PHRASE Label="lu_lock_unlock" Module="Proj-Base" Type="0">TG9jay9VbmxvY2s=</PHRASE>
- <PHRASE Label="lu_login" Module="Proj-Base" Type="0">TG9naW4=</PHRASE>
- <PHRASE Label="lu_login_information" Module="Proj-Base" Type="0">TG9naW4gSW5mb3JtYXRpb24=</PHRASE>
- <PHRASE Label="lu_login_name" Module="Proj-Base" Type="0">TG9naW4gTmFtZQ==</PHRASE>
- <PHRASE Label="lu_login_title" Module="Proj-Base" Type="0">TG9naW4=</PHRASE>
- <PHRASE Label="lu_logout" Module="Proj-Base" Type="0">TG9nIE91dA==</PHRASE>
- <PHRASE Label="lu_LogoutText" Module="Proj-Base" Type="0">TG9nb3V0IG9mIHlvdXIgYWNjb3VudA==</PHRASE>
- <PHRASE Label="lu_logout_description" Module="Proj-Base" Type="0">TG9nIG91dCBvZiB0aGUgc3lzdGVt</PHRASE>
- <PHRASE Label="lu_mailinglist" Module="Proj-Base" Type="0">TWFpbGluZyBMaXN0</PHRASE>
- <PHRASE Label="lu_Mar" Module="Proj-Base" Type="0">TWFy</PHRASE>
- <PHRASE Label="lu_May" Module="Proj-Base" Type="0">TWF5</PHRASE>
- <PHRASE Label="lu_message" Module="Proj-Base" Type="0">TWVzc2FnZQ==</PHRASE>
- <PHRASE Label="lu_message_body" Module="Proj-Base" Type="0">TWVzc2FnZSBCb2R5</PHRASE>
- <PHRASE Label="lu_min_pw_reset_interval" Module="Proj-Base" Type="0">UGFzc3dvcmQgcmVzZXQgaW50ZXJ2YWw=</PHRASE>
- <PHRASE Label="lu_missing_error" Module="Proj-Base" Type="0">TWlzc2luZyBUZW1wbGF0ZQ==</PHRASE>
- <PHRASE Label="lu_modified" Module="Proj-Base" Type="0">TW9kaWZpZWQ=</PHRASE>
- <PHRASE Label="lu_modifylink_confirm" Module="Proj-Base" Type="0">TGluayBNb2RpZmljYXRpb24gQ29uZmlybWF0aW9u</PHRASE>
- <PHRASE Label="lu_modifylink_confirm_text" Module="Proj-Base" Type="0">WW91ciBsaW5rIGhhcyBiZWVuIG1vZGlmaWVkLg==</PHRASE>
- <PHRASE Label="lu_modifylink_pending_confirm" Module="Proj-Base" Type="0">TGluayBtb2RpZmljYXRpb24gY29tcGxldGU=</PHRASE>
- <PHRASE Label="lu_modifylink_pending_confirm_text" Module="Proj-Base" Type="0">WW91ciBsaW5rIG1vZGlmaWNhdGlvbiBoYXMgYmVlbiBzdWJtaXR0ZWQgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbA==</PHRASE>
- <PHRASE Label="lu_modify_link" Module="Proj-Base" Type="0">TW9kaWZ5IExpbms=</PHRASE>
- <PHRASE Label="lu_more" Module="Proj-Base" Type="0">TW9yZQ==</PHRASE>
- <PHRASE Label="lu_MoreDetails" Module="Proj-Base" Type="0">TW9yZSBkZXRhaWxz</PHRASE>
- <PHRASE Label="lu_more_info" Module="Proj-Base" Type="0">TW9yZSBJbmZv</PHRASE>
- <PHRASE Label="lu_msg_welcome" Module="Proj-Base" Type="0">V2VsY29tZQ==</PHRASE>
- <PHRASE Label="lu_myaccount" Module="Proj-Base" Type="0">TXkgQWNjb3VudA==</PHRASE>
- <PHRASE Label="lu_my_articles" Module="Proj-Base" Type="0">TXkgQXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="lu_my_articles_description" Module="Proj-Base" Type="0">TmV3cyBBcnRpY2xlcyB5b3UgaGF2ZSB3cml0dGVu</PHRASE>
- <PHRASE Label="lu_my_favorites" Module="Proj-Base" Type="0">TXkgRmF2b3JpdGVz</PHRASE>
- <PHRASE Label="lu_my_favorites_description" Module="Proj-Base" Type="0">SXRlbXMgeW91IGhhdmUgbWFya2VkIGFzIGZhdm9yaXRl</PHRASE>
- <PHRASE Label="lu_my_friends" Module="Proj-Base" Type="0">TXkgRnJpZW5kcw==</PHRASE>
- <PHRASE Label="lu_my_friends_description" Module="Proj-Base" Type="0">VmlldyB5b3VyIGxpc3Qgb2YgZnJpZW5kcw==</PHRASE>
- <PHRASE Label="lu_my_info" Module="Proj-Base" Type="0">TXkgUHJvZmlsZQ==</PHRASE>
- <PHRASE Label="lu_my_info_description" Module="Proj-Base" Type="0">WW91ciBBY2NvdW50IEluZm9ybWF0aW9u</PHRASE>
- <PHRASE Label="lu_my_items_title" Module="Proj-Base" Type="0">TXkgSXRlbXM=</PHRASE>
- <PHRASE Label="lu_my_links" Module="Proj-Base" Type="0">TXkgTGlua3M=</PHRASE>
- <PHRASE Label="lu_my_links_description" Module="Proj-Base" Type="0">TGlua3MgeW91IGhhdmUgYWRkZWQgdG8gdGhlIHN5c3RlbQ==</PHRASE>
- <PHRASE Label="lu_my_link_favorites" Module="Proj-Base" Type="0">TXkgRmF2b3JpdGVz</PHRASE>
- <PHRASE Label="lu_my_news" Module="Proj-Base" Type="0">TXkgTmV3cw==</PHRASE>
- <PHRASE Label="lu_my_news_favorites" Module="Proj-Base" Type="0">RmF2b3JpdGUgQXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="lu_my_preferences" Module="Proj-Base" Type="0">TXkgUHJlZmVyZW5jZXM=</PHRASE>
- <PHRASE Label="lu_my_preferences_description" Module="Proj-Base" Type="0">RWRpdCB5b3VyIEluLVBvcnRhbCBQcmVmZXJlbmNlcw==</PHRASE>
- <PHRASE Label="lu_my_profile" Module="Proj-Base" Type="0">TXkgUHJvZmlsZQ==</PHRASE>
- <PHRASE Label="lu_my_topics" Module="Proj-Base" Type="0">TXkgVG9waWNz</PHRASE>
- <PHRASE Label="lu_my_topics_description" Module="Proj-Base" Type="0">RGlzY3Vzc2lvbnMgeW91IGhhdmUgY3JlYXRlZA==</PHRASE>
- <PHRASE Label="lu_my_topic_favorites" Module="Proj-Base" Type="0">TXkgVG9waWNz</PHRASE>
- <PHRASE Label="lu_Name" Module="Proj-Base" Type="0">TmFtZQ==</PHRASE>
- <PHRASE Label="lu_nav_addlink" Module="Proj-Base" Type="0">QWRkIExpbms=</PHRASE>
- <PHRASE Label="lu_new" Module="Proj-Base" Type="0">TmV3</PHRASE>
- <PHRASE Label="lu_NewCustomers" Module="Proj-Base" Type="0">TmV3IEN1c3RvbWVycw==</PHRASE>
- <PHRASE Label="lu_newpm_confirm" Module="Proj-Base" Type="0">TmV3IFByaXZhdGUgTWVzc2FnZSBDb25maXJtYXRpb24=</PHRASE>
- <PHRASE Label="lu_newpm_confirm_text" Module="Proj-Base" Type="0">WW91ciBwcml2YXRlIG1lc3NhZ2UgaGFzIGJlZW4gc2VudC4=</PHRASE>
- <PHRASE Label="lu_news" Module="Proj-Base" Type="0">TmV3cw==</PHRASE>
- <PHRASE Label="lu_news_addreview_confirm_text" Module="Proj-Base" Type="0">VGhlIGFydGljbGUgcmV2aWV3IGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBkYXRhYmFzZS4=</PHRASE>
- <PHRASE Label="lu_news_addreview_confirm__pending_text" Module="Proj-Base" Type="0">QXJ0aWNsZSByZXZpZXcgaGFzIGJlZW4gc3VibWl0dGVkIHBlbmRpbmcgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWw=</PHRASE>
- <PHRASE Label="lu_news_details" Module="Proj-Base" Type="0">TmV3cyBEZXRhaWxz</PHRASE>
- <PHRASE Label="lu_news_rate_confirm" Module="Proj-Base" Type="0">UmF0ZSBBcnRpY2xlIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="lu_news_rate_confirm_duplicate_text" Module="Proj-Base" Type="0">WW91IGhhdmUgYWxyZWFkeSByYXRlZCB0aGlzIGFydGljbGU=</PHRASE>
- <PHRASE Label="lu_news_rate_confirm_text" Module="Proj-Base" Type="0">VGhhbmsgeW91IGZvciByYXRpbmcgdGhpcyBhcnRpY2xlLiBZb3VyIHZvdGUgaGFzIGJlZW4gcmVjb3JkZWQu</PHRASE>
- <PHRASE Label="lu_news_review_confirm" Module="Proj-Base" Type="0">VGhlIHJldmlldyBoYXMgYmVlbiBhZGRlZA==</PHRASE>
- <PHRASE Label="lu_news_review_confirm_pending" Module="Proj-Base" Type="0">QXJ0aWNsZSByZXZpZXcgc3VibWl0dGVk</PHRASE>
- <PHRASE Label="lu_news_search_results" Module="Proj-Base" Type="0">U2VhcmNoIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="lu_news_updated" Module="Proj-Base" Type="0">bmV3cyB1cGRhdGVk</PHRASE>
- <PHRASE Label="lu_newtopic_confirm" Module="Proj-Base" Type="0">QWRkIFRvcGljIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="lu_newtopic_confirm_pending" Module="Proj-Base" Type="0">WW91ciB0b3BpYyBoYXMgYmVlbiBhZGRlZA==</PHRASE>
- <PHRASE Label="lu_newtopic_confirm_pending_text" Module="Proj-Base" Type="0">VGhlIHN5c3RlbSBhZG1pbmlzdHJhdG9yIG11c3QgYXBwcm92ZSB5b3VyIHRvcGljIGJlZm9yZSBpdCBpcyBwdWJsaWNseSBhdmFpbGFibGUu</PHRASE>
- <PHRASE Label="lu_newtopic_confirm_text" Module="Proj-Base" Type="0">VGhlIFRvcGljIHlvdSBoYXZlIGNyZWF0ZWQgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIHN5c3RlbQ==</PHRASE>
- <PHRASE Label="lu_new_articles" Module="Proj-Base" Type="0">TmV3IGFydGljbGVz</PHRASE>
- <PHRASE Label="lu_new_links" Module="Proj-Base" Type="0">TmV3IExpbmtz</PHRASE>
- <PHRASE Label="lu_new_news" Module="Proj-Base" Type="0">TmV3IGFydGljbGVz</PHRASE>
- <PHRASE Label="lu_new_pm" Module="Proj-Base" Type="0">TmV3IFByaXZhdGUgTWVzc2FnZQ==</PHRASE>
- <PHRASE Label="lu_new_posts" Module="Proj-Base" Type="0">Rm9ydW0gaGFzIG5ldyBwb3N0cw==</PHRASE>
- <PHRASE Label="lu_new_private_message" Module="Proj-Base" Type="0">TmV3IHByaXZhdGUgbWVzc2FnZQ==</PHRASE>
- <PHRASE Label="lu_new_since_links" Module="Proj-Base" Type="0">TmV3IGxpbmtz</PHRASE>
- <PHRASE Label="lu_new_since_news" Module="Proj-Base" Type="0">TmV3IGFydGljbGVz</PHRASE>
- <PHRASE Label="lu_new_since_topics" Module="Proj-Base" Type="0">TmV3IHRvcGljcw==</PHRASE>
- <PHRASE Label="lu_new_topic" Module="Proj-Base" Type="0">TmV3IFRvcGlj</PHRASE>
- <PHRASE Label="lu_new_users" Module="Proj-Base" Type="0">TmV3IFVzZXJz</PHRASE>
- <PHRASE Label="lu_no" Module="Proj-Base" Type="0">Tm8=</PHRASE>
- <PHRASE Label="lu_NoAccess" Module="Proj-Base" Type="0">U29ycnksIHlvdSBoYXZlIG5vIGFjY2VzcyB0byB0aGlzIHBhZ2Uh</PHRASE>
- <PHRASE Label="lu_none" Module="Proj-Base" Type="0">Tm9uZQ==</PHRASE>
- <PHRASE Label="lu_notify_owner" Module="Proj-Base" Type="0">Tm90aWZ5IG1lIHdoZW4gcG9zdHMgYXJlIG1hZGUgaW4gdGhpcyB0b3BpYw==</PHRASE>
- <PHRASE Label="lu_not_logged_in" Module="Proj-Base" Type="0">Tm90IGxvZ2dlZCBpbg==</PHRASE>
- <PHRASE Label="lu_Nov" Module="Proj-Base" Type="0">Tm92</PHRASE>
- <PHRASE Label="lu_no_articles" Module="Proj-Base" Type="0">Tm8gQXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="lu_no_categories" Module="Proj-Base" Type="0">Tm8gQ2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="lu_no_expiration" Module="Proj-Base" Type="0">Tm8gZXhwaXJhdGlvbg==</PHRASE>
- <PHRASE Label="lu_no_favorites" Module="Proj-Base" Type="0">Tm8gZmF2b3JpdGVz</PHRASE>
- <PHRASE Label="lu_no_items" Module="Proj-Base" Type="0">Tm8gSXRlbXM=</PHRASE>
- <PHRASE Label="lu_no_keyword" Module="Proj-Base" Type="0">S2V5d29yZCBtaXNzaW5n</PHRASE>
- <PHRASE Label="lu_no_links" Module="Proj-Base" Type="0">Tm8gTGlua3M=</PHRASE>
- <PHRASE Label="lu_no_new_posts" Module="Proj-Base" Type="0">Rm9ydW0gaGFzIG5vIG5ldyBwb3N0cw==</PHRASE>
- <PHRASE Label="lu_no_permissions" Module="Proj-Base" Type="0">Tm8gUGVybWlzc2lvbnM=</PHRASE>
- <PHRASE Label="lu_no_related_categories" Module="Proj-Base" Type="0">Tm8gUmVsYXRlZCBDYXRlZ29yaWVz</PHRASE>
- <PHRASE Label="lu_no_session_error" Module="Proj-Base" Type="0">RXJyb3I6IG5vIHNlc3Npb24=</PHRASE>
- <PHRASE Label="lu_no_template_error" Module="Proj-Base" Type="0">TWlzc2luZyB0ZW1wbGF0ZQ==</PHRASE>
- <PHRASE Label="lu_no_topics" Module="Proj-Base" Type="0">Tm8gVG9waWNz</PHRASE>
- <PHRASE Label="lu_Oct" Module="Proj-Base" Type="0">T2N0</PHRASE>
- <PHRASE Label="lu_of" Module="Proj-Base" Type="2">b2Y=</PHRASE>
- <PHRASE Label="lu_offline" Module="Proj-Base" Type="0">T2ZmbGluZQ==</PHRASE>
- <PHRASE Label="lu_ok" Module="Proj-Base" Type="0">T2s=</PHRASE>
- <PHRASE Label="lu_on" Module="Proj-Base" Type="0">b24=</PHRASE>
- <PHRASE Label="lu_online" Module="Proj-Base" Type="0">T25saW5l</PHRASE>
- <PHRASE Label="lu_on_this_post" Module="Proj-Base" Type="0">b24gdGhpcyBwb3N0</PHRASE>
- <PHRASE Label="lu_operation_notallowed" Module="Proj-Base" Type="0">WW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9u</PHRASE>
- <PHRASE Label="lu_optional" Module="Proj-Base" Type="0">T3B0aW9uYWw=</PHRASE>
- <PHRASE Label="lu_options" Module="Proj-Base" Type="0">T3B0aW9ucw==</PHRASE>
- <PHRASE Label="lu_or" Module="Proj-Base" Type="0">b3I=</PHRASE>
- <PHRASE Label="lu_page" Module="Proj-Base" Type="0">UGFnZQ==</PHRASE>
- <PHRASE Label="lu_page_label" Module="Proj-Base" Type="0">UGFnZTo=</PHRASE>
- <PHRASE Label="lu_password" Module="Proj-Base" Type="0">UGFzc3dvcmQ=</PHRASE>
- <PHRASE Label="lu_passwords_do_not_match" Module="Proj-Base" Type="0">UGFzc3dvcmRzIGRvIG5vdCBtYXRjaA==</PHRASE>
- <PHRASE Label="lu_passwords_too_short" Module="Proj-Base" Type="0">UGFzc3dvcmQgaXMgdG9vIHNob3J0LCBwbGVhc2UgZW50ZXIgYXQgbGVhc3QgJXMgY2hhcmFjdGVycw==</PHRASE>
- <PHRASE Label="lu_password_again" Module="Proj-Base" Type="0">UGFzc3dvcmQgQWdhaW4=</PHRASE>
- <PHRASE Label="lu_PermName_Admin_desc" Module="Proj-Base" Type="1">QWRtaW4gTG9naW4=</PHRASE>
- <PHRASE Label="lu_PermName_Category.AddPending_desc" Module="Proj-Base" Type="0">QWRkIFBlbmRpbmcgQ2F0ZWdvcnk=</PHRASE>
- <PHRASE Label="lu_PermName_Category.Add_desc" Module="Proj-Base" Type="0">QWRkIENhdGVnb3J5</PHRASE>
- <PHRASE Label="lu_PermName_Category.Delete_desc" Module="Proj-Base" Type="0">RGVsZXRlIENhdGVnb3J5</PHRASE>
- <PHRASE Label="lu_PermName_Category.Modify_desc" Module="Proj-Base" Type="0">TW9kaWZ5IENhdGVnb3J5</PHRASE>
- <PHRASE Label="lu_PermName_Category.View_desc" Module="Proj-Base" Type="0">VmlldyBDYXRlZ29yeQ==</PHRASE>
- <PHRASE Label="lu_PermName_Debug.Info_desc" Module="Proj-Base" Type="1">QXBwZW5kIHBocGluZm8gdG8gYWxsIHBhZ2VzIChEZWJ1Zyk=</PHRASE>
- <PHRASE Label="lu_PermName_Debug.Item_desc" Module="Proj-Base" Type="1">RGlzcGxheSBJdGVtIFF1ZXJpZXMgKERlYnVnKQ==</PHRASE>
- <PHRASE Label="lu_PermName_Debug.List_desc" Module="Proj-Base" Type="1">RGlzcGxheSBJdGVtIExpc3QgUXVlcmllcyAoRGVidWcp</PHRASE>
- <PHRASE Label="lu_PermName_favorites_desc" Module="Proj-Base" Type="2">QWxsb3cgZmF2b3JpdGVz</PHRASE>
- <PHRASE Label="lu_PermName_Link.Add.Pending_desc" Module="Proj-Base" Type="0">UGVuZGluZyBMaW5r</PHRASE>
- <PHRASE Label="lu_PermName_Link.Add_desc" Module="Proj-Base" Type="0">QWRkIExpbms=</PHRASE>
- <PHRASE Label="lu_PermName_Link.Delete_desc" Module="Proj-Base" Type="0">RGVsZXRlIExpbms=</PHRASE>
- <PHRASE Label="lu_PermName_Link.Modify.Pending_desc" Module="Proj-Base" Type="2">TW9kaWZ5IExpbmsgUGVuZGluZw==</PHRASE>
- <PHRASE Label="lu_PermName_Link.Modify_desc" Module="Proj-Base" Type="0">TW9kaWZ5IExpbms=</PHRASE>
- <PHRASE Label="lu_PermName_Link.Owner.Delete_desc" Module="Proj-Base" Type="2">TGluayBEZWxldGUgYnkgT3duZXI=</PHRASE>
- <PHRASE Label="lu_PermName_Link.Owner.Modify.Pending_desc" Module="Proj-Base" Type="2">TGluayBNb2RpZnkgUGVuZGluZyBieSBPd25lcg==</PHRASE>
- <PHRASE Label="lu_PermName_Link.Owner.Modify_desc" Module="Proj-Base" Type="2">TGluayBNb2RpZnkgYnkgT3duZXI=</PHRASE>
- <PHRASE Label="lu_PermName_Link.Rate_desc" Module="Proj-Base" Type="0">UmF0ZSBMaW5r</PHRASE>
- <PHRASE Label="lu_PermName_Link.Review_desc" Module="Proj-Base" Type="0">UmV2aWV3IExpbms=</PHRASE>
- <PHRASE Label="lu_PermName_Link.Review_Pending_desc" Module="Proj-Base" Type="2">UmV2aWV3IExpbmsgUGVuZGluZw==</PHRASE>
- <PHRASE Label="lu_PermName_Link.View_desc" Module="Proj-Base" Type="0">VmlldyBMaW5r</PHRASE>
- <PHRASE Label="lu_PermName_Login_desc" Module="Proj-Base" Type="1">QWxsb3cgTG9naW4=</PHRASE>
- <PHRASE Label="lu_PermName_News.Add.Pending_desc" Module="Proj-Base" Type="0">QWRkIFBlbmRpbmcgTmV3cw==</PHRASE>
- <PHRASE Label="lu_PermName_News.Add_desc" Module="Proj-Base" Type="0">QWRkIE5ld3M=</PHRASE>
- <PHRASE Label="lu_PermName_News.Delete_desc" Module="Proj-Base" Type="0">RGVsZXRlIE5ld3M=</PHRASE>
- <PHRASE Label="lu_PermName_News.Modify_desc" Module="Proj-Base" Type="0">TW9kaWZ5IE5ld3M=</PHRASE>
- <PHRASE Label="lu_PermName_News.Rate_desc" Module="Proj-Base" Type="0">UmF0ZSBOZXdz</PHRASE>
- <PHRASE Label="lu_PermName_News.Review.Pending_desc" Module="Proj-Base" Type="2">UmV2aWV3IE5ld3MgUGVuZGluZw==</PHRASE>
- <PHRASE Label="lu_PermName_News.Review_desc" Module="Proj-Base" Type="0">UmV2aWV3IE5ld3M=</PHRASE>
- <PHRASE Label="lu_PermName_News.View_desc" Module="Proj-Base" Type="0">VmlldyBOZXdz</PHRASE>
- <PHRASE Label="lu_PermName_Profile.Modify_desc" Module="Proj-Base" Type="1">Q2hhbmdlIFVzZXIgUHJvZmlsZXM=</PHRASE>
- <PHRASE Label="lu_PermName_ShowLang_desc" Module="Proj-Base" Type="1">U2hvdyBMYW5ndWFnZSBUYWdz</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Add.Pending_desc" Module="Proj-Base" Type="0">QWRkIFBlbmRpbmcgVG9waWM=</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Add_desc" Module="Proj-Base" Type="0">QWRkIFRvcGlj</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Delete_desc" Module="Proj-Base" Type="0">RGVsZXRlIFRvcGlj</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Lock_desc" Module="Proj-Base" Type="1">TG9jay9VbmxvY2sgVG9waWNz</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Modify.Pending_desc" Module="Proj-Base" Type="1">TW9kaWZ5IFRvcGljIFBlbmRpbmc=</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Modify_desc" Module="Proj-Base" Type="0">TW9kaWZ5IFRvcGlj</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Owner.Delete_desc" Module="Proj-Base" Type="1">VG9waWMgT3duZXIgRGVsZXRl</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Owner.Modify.Pending_desc" Module="Proj-Base" Type="1">T3duZXIgTW9kaWZ5IFRvcGljIFBlbmRpbmc=</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Owner.Modify_desc" Module="Proj-Base" Type="1">VG9waWMgT3duZXIgTW9kaWZ5</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Rate_desc" Module="Proj-Base" Type="0">UmF0ZSBUb3BpYw==</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Reply.Add_desc" Module="Proj-Base" Type="0">QWRkIFRvcGljIFJlcGx5</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Reply.Delete_desc" Module="Proj-Base" Type="0">RGVsZXRlIFRvcGlj</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Reply.Modify_desc" Module="Proj-Base" Type="0">UmVwbHkgVG9waWMgTW9kaWZ5</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Reply.Owner.Delete_desc" Module="Proj-Base" Type="1">UG9zdCBPd25lciBEZWxldGU=</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Reply.Owner.Modify_desc" Module="Proj-Base" Type="1">UG9zdCBPd25lciBNb2RpZnk=</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Reply.View_desc" Module="Proj-Base" Type="0">VmlldyBUb3BpYyBSZXBseQ==</PHRASE>
- <PHRASE Label="lu_PermName_Topic.Review_desc" Module="Proj-Base" Type="0">UmV2aWV3IFRvcGlj</PHRASE>
- <PHRASE Label="lu_PermName_Topic.View_desc" Module="Proj-Base" Type="0">VmlldyBUb3BpYw==</PHRASE>
- <PHRASE Label="lu_phone" Module="Proj-Base" Type="0">UGhvbmU=</PHRASE>
- <PHRASE Label="lu_pick" Module="Proj-Base" Type="0">UGljaw==</PHRASE>
- <PHRASE Label="lu_pick_links" Module="Proj-Base" Type="0">RWRpdG9yJ3MgUGljayBMaW5rcw==</PHRASE>
- <PHRASE Label="lu_pick_news" Module="Proj-Base" Type="0">RWRpdG9yJ3MgUGljayBBcnRpY2xlcw==</PHRASE>
- <PHRASE Label="lu_pick_topics" Module="Proj-Base" Type="0">RWRpdG9yJ3MgcGljayB0b3BpY3M=</PHRASE>
- <PHRASE Label="lu_PleaseRegister" Module="Proj-Base" Type="0">UGxlYXNlIFJlZ2lzdGVy</PHRASE>
- <PHRASE Label="lu_pm_delete_confirm" Module="Proj-Base" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHByaXZhdGUgbWVzc2FnZT8=</PHRASE>
- <PHRASE Label="lu_pm_list" Module="Proj-Base" Type="0">UHJpdmF0ZSBNZXNzYWdlcw==</PHRASE>
- <PHRASE Label="lu_pm_list_description" Module="Proj-Base" Type="0">UHJpdmF0ZSBNZXNzYWdlcw==</PHRASE>
- <PHRASE Label="lu_Pop" Module="Proj-Base" Type="0">UG9wdWxhcg==</PHRASE>
- <PHRASE Label="lu_pop_links" Module="Proj-Base" Type="0">TW9zdCBQb3B1bGFyIExpbmtz</PHRASE>
- <PHRASE Label="lu_post" Module="Proj-Base" Type="0">UG9zdA==</PHRASE>
- <PHRASE Label="lu_posted" Module="Proj-Base" Type="0">UG9zdGVk</PHRASE>
- <PHRASE Label="lu_poster" Module="Proj-Base" Type="0">UG9zdGVy</PHRASE>
- <PHRASE Label="lu_posts" Module="Proj-Base" Type="0">cG9zdHM=</PHRASE>
- <PHRASE Label="lu_posts_updated" Module="Proj-Base" Type="0">cG9zdHMgdXBkYXRlZA==</PHRASE>
- <PHRASE Label="lu_PoweredBy" Module="Proj-Base" Type="0">UG93ZXJlZCBieQ==</PHRASE>
- <PHRASE Label="lu_pp_city" Module="Proj-Base" Type="0">Q2l0eQ==</PHRASE>
- <PHRASE Label="lu_pp_company" Module="Proj-Base" Type="0">Q29tcGFueQ==</PHRASE>
- <PHRASE Label="lu_pp_country" Module="Proj-Base" Type="0">Q291bnRyeQ==</PHRASE>
- <PHRASE Label="lu_pp_dob" Module="Proj-Base" Type="0">QmlydGhkYXRl</PHRASE>
- <PHRASE Label="lu_pp_email" Module="Proj-Base" Type="0">RS1tYWls</PHRASE>
- <PHRASE Label="lu_pp_fax" Module="Proj-Base" Type="0">RmF4</PHRASE>
- <PHRASE Label="lu_pp_firstname" Module="Proj-Base" Type="0">Rmlyc3QgTmFtZQ==</PHRASE>
- <PHRASE Label="lu_pp_lastname" Module="Proj-Base" Type="0">TGFzdCBOYW1l</PHRASE>
- <PHRASE Label="lu_pp_phone" Module="Proj-Base" Type="0">UGhvbmU=</PHRASE>
- <PHRASE Label="lu_pp_state" Module="Proj-Base" Type="0">U3RhdGU=</PHRASE>
- <PHRASE Label="lu_pp_street" Module="Proj-Base" Type="0">U3RyZWV0</PHRASE>
- <PHRASE Label="lu_pp_street2" Module="Proj-Base" Type="0">U3RyZWV0IDI=</PHRASE>
- <PHRASE Label="lu_pp_zip" Module="Proj-Base" Type="0">Wmlw</PHRASE>
- <PHRASE Label="lu_privacy" Module="Proj-Base" Type="0">UHJpdmFjeQ==</PHRASE>
- <PHRASE Label="lu_privatemessages_updated" Module="Proj-Base" Type="0">UHJpdmF0ZSBtZXNzYWdlcyB1cGRhdGVk</PHRASE>
- <PHRASE Label="lu_private_messages" Module="Proj-Base" Type="0">UHJpdmF0ZSBNZXNzYWdlcw==</PHRASE>
- <PHRASE Label="lu_profile" Module="Proj-Base" Type="0">UHJvZmlsZQ==</PHRASE>
- <PHRASE Label="lu_profile_field" Module="Proj-Base" Type="0">UHJvZmlsZQ==</PHRASE>
- <PHRASE Label="lu_profile_updated" Module="Proj-Base" Type="0">cHJvZmlsZSB1cGRhdGVk</PHRASE>
- <PHRASE Label="lu_prompt_avatar" Module="Proj-Base" Type="0">QXZhdGFyIEltYWdl</PHRASE>
- <PHRASE Label="lu_prompt_catdesc" Module="Proj-Base" Type="0">RGVzY3JpcHRpb24=</PHRASE>
- <PHRASE Label="lu_prompt_catname" Module="Proj-Base" Type="0">Q2F0ZWdvcnkgTmFtZQ==</PHRASE>
- <PHRASE Label="lu_prompt_email" Module="Proj-Base" Type="0">RW1haWw=</PHRASE>
- <PHRASE Label="lu_prompt_fullimage" Module="Proj-Base" Type="0">RnVsbC1TaXplIEltYWdlOg==</PHRASE>
- <PHRASE Label="lu_prompt_linkdesc" Module="Proj-Base" Type="0">RGVzY3JpcHRpb24=</PHRASE>
- <PHRASE Label="lu_prompt_linkname" Module="Proj-Base" Type="0">TGluayBOYW1l</PHRASE>
- <PHRASE Label="lu_prompt_linkurl" Module="Proj-Base" Type="0">VVJM</PHRASE>
- <PHRASE Label="lu_prompt_metadesc" Module="Proj-Base" Type="0">TWV0YSBUYWcgRGVzY3JpcHRpb24=</PHRASE>
- <PHRASE Label="lu_prompt_metakeywords" Module="Proj-Base" Type="0">TWV0YSBUYWcgS2V5d29yZHM=</PHRASE>
- <PHRASE Label="lu_prompt_password" Module="Proj-Base" Type="0">UGFzc3dvcmQ=</PHRASE>
- <PHRASE Label="lu_prompt_perpage_posts" Module="Proj-Base" Type="0">UG9zdHMgUGVyIFBhZ2U=</PHRASE>
- <PHRASE Label="lu_prompt_perpage_topics" Module="Proj-Base" Type="0">VG9waWNzIFBlciBQYWdl</PHRASE>
- <PHRASE Label="lu_prompt_post_subject" Module="Proj-Base" Type="0">UG9zdCBTdWJqZWN0</PHRASE>
- <PHRASE Label="lu_prompt_recommend" Module="Proj-Base" Type="0">UmVjb21tZW5kIHRoaXMgc2l0ZSB0byBhIGZyaWVuZA==</PHRASE>
- <PHRASE Label="lu_prompt_review" Module="Proj-Base" Type="0">UmV2aWV3Og==</PHRASE>
- <PHRASE Label="lu_prompt_signature" Module="Proj-Base" Type="0">U2lnbmF0dXJl</PHRASE>
- <PHRASE Label="lu_prompt_subscribe" Module="Proj-Base" Type="0">RW50ZXIgeW91ciBlLW1haWwgYWRkcmVzcyB0byBzdWJzY3JpYmUgdG8gdGhlIG1haWxpbmcgbGlzdC4=</PHRASE>
- <PHRASE Label="lu_prompt_thumbnail" Module="Proj-Base" Type="0">VGh1bWJuYWlsIEltYWdlOg==</PHRASE>
- <PHRASE Label="lu_prompt_username" Module="Proj-Base" Type="0">VXNlcm5hbWU=</PHRASE>
- <PHRASE Label="lu_public_display" Module="Proj-Base" Type="0">RGlzcGxheSB0byBQdWJsaWM=</PHRASE>
- <PHRASE Label="lu_query_string" Module="Proj-Base" Type="1">UXVlcnkgU3RyaW5n</PHRASE>
- <PHRASE Label="lu_QuickSearch" Module="Proj-Base" Type="0">UXVpY2sgU2VhcmNo</PHRASE>
- <PHRASE Label="lu_quick_links" Module="Proj-Base" Type="0">UXVpY2sgTGlua3M=</PHRASE>
- <PHRASE Label="lu_quote_reply" Module="Proj-Base" Type="0">UmVwbHkgUXVvdGVk</PHRASE>
- <PHRASE Label="lu_rateit" Module="Proj-Base" Type="0">UmF0ZSBUaGlzIExpbms=</PHRASE>
- <PHRASE Label="lu_rate_access_denied" Module="Proj-Base" Type="0">VW5hYmxlIHRvIHJhdGUsIGFjY2VzcyBkZW5pZWQ=</PHRASE>
- <PHRASE Label="lu_rate_article" Module="Proj-Base" Type="0">UmF0ZSB0aGlzIGFydGljbGU=</PHRASE>
- <PHRASE Label="lu_rate_link" Module="Proj-Base" Type="0">UmF0ZSBMaW5r</PHRASE>
- <PHRASE Label="lu_rate_news" Module="Proj-Base" Type="0">UmF0ZSBBcnRpY2xl</PHRASE>
- <PHRASE Label="lu_rate_this_article" Module="Proj-Base" Type="0">UmF0ZSB0aGlzIGFydGljbGU=</PHRASE>
- <PHRASE Label="lu_rate_topic" Module="Proj-Base" Type="0">UmF0ZSBUb3BpYw==</PHRASE>
- <PHRASE Label="lu_rating" Module="Proj-Base" Type="0">UmF0aW5n</PHRASE>
- <PHRASE Label="lu_rating_0" Module="Proj-Base" Type="0">UG9vcg==</PHRASE>
- <PHRASE Label="lu_rating_1" Module="Proj-Base" Type="0">RmFpcg==</PHRASE>
- <PHRASE Label="lu_rating_2" Module="Proj-Base" Type="0">QXZlcmFnZQ==</PHRASE>
- <PHRASE Label="lu_rating_3" Module="Proj-Base" Type="0">R29vZA==</PHRASE>
- <PHRASE Label="lu_rating_4" Module="Proj-Base" Type="0">VmVyeSBHb29k</PHRASE>
- <PHRASE Label="lu_rating_5" Module="Proj-Base" Type="0">RXhjZWxsZW50</PHRASE>
- <PHRASE Label="lu_rating_alreadyvoted" Module="Proj-Base" Type="0">QWxyZWFkeSB2b3RlZA==</PHRASE>
- <PHRASE Label="lu_read_error" Module="Proj-Base" Type="0">VW5hYmxlIHRvIHJlYWQgZnJvbSBmaWxl</PHRASE>
- <PHRASE Label="lu_recipent_required" Module="Proj-Base" Type="0">VGhlIHJlY2lwaWVudCBpcyByZXF1aXJlZA==</PHRASE>
- <PHRASE Label="lu_recipient_doesnt_exist" Module="Proj-Base" Type="0">VXNlciBkb2VzIG5vdCBleGlzdA==</PHRASE>
- <PHRASE Label="lu_recipient_doesnt_exit" Module="Proj-Base" Type="0">VGhlIHJlY2lwaWVudCBkb2VzIG5vdCBleGlzdA==</PHRASE>
- <PHRASE Label="lu_recommend" Module="Proj-Base" Type="0">UmVjb21tZW5k</PHRASE>
- <PHRASE Label="lu_RecommendToFriend" Module="Proj-Base" Type="0">UmVjb21tZW5kIHRvIGEgRnJpZW5k</PHRASE>
- <PHRASE Label="lu_recommend_confirm" Module="Proj-Base" Type="0">UmVjb21tZW5kYXRpb24gQ29uZmlybWF0aW9u</PHRASE>
- <PHRASE Label="lu_recommend_confirm_text" Module="Proj-Base" Type="0">VGhhbmtzIGZvciByZWNvbW1lbmRpbmcgb3VyIHNpdGUgdG8geW91ciBmcmllbmQuIFRoZSBlbWFpbCBoYXMgYmVlbiBzZW50IG91dC4=</PHRASE>
- <PHRASE Label="lu_recommend_title" Module="Proj-Base" Type="0">UmVjb21tZW5kIHRvIGEgZnJpZW5k</PHRASE>
- <PHRASE Label="lu_redirecting_text" Module="Proj-Base" Type="0">Q2xpY2sgaGVyZSBpZiB5b3VyIGJyb3dzZXIgZG9lcyBub3QgYXV0b21hdGljYWxseSByZWRpcmVjdCB5b3Uu</PHRASE>
- <PHRASE Label="lu_redirecting_title" Module="Proj-Base" Type="0">UmVkaXJlY3RpbmcgLi4u</PHRASE>
- <PHRASE Label="lu_register" Module="Proj-Base" Type="0">UmVnaXN0ZXI=</PHRASE>
- <PHRASE Label="lu_RegisterConfirm" Module="Proj-Base" Type="0">UmVnaXN0cmF0aW9uIENvbmZpcm1hdGlvbg==</PHRASE>
- <PHRASE Label="lu_register_confirm" Module="Proj-Base" Type="0">UmVnaXN0cmF0aW9uIENvbXBsZXRl</PHRASE>
- <PHRASE Label="lu_register_confirm_text" Module="Proj-Base" Type="0">VGhhbmsgeW91IGZvciBSZWdpc3RlcmluZyEgIFBsZWFzZSBlbnRlciB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBiZWxvdw==</PHRASE>
- <PHRASE Label="lu_register_text" Module="Proj-Base" Type="2">UmVnaXN0ZXIgd2l0aCBJbi1Qb3J0YWwgZm9yIGNvbnZlbmllbnQgYWNjZXNzIHRvIHVzZXIgYWNjb3VudCBzZXR0aW5ncyBhbmQgcHJlZmVyZW5jZXMu</PHRASE>
- <PHRASE Label="lu_RegistrationCompleted" Module="Proj-Base" Type="0">VGhhbmsgWW91LiBSZWdpc3RyYXRpb24gY29tcGxldGVkLg==</PHRASE>
- <PHRASE Label="lu_related_articles" Module="Proj-Base" Type="0">UmVsYXRlZCBhcnRpY2xlcw==</PHRASE>
- <PHRASE Label="lu_related_categories" Module="Proj-Base" Type="0">UmVsYXRlZCBDYXRlZ29yaWVz</PHRASE>
- <PHRASE Label="lu_related_cats" Module="Proj-Base" Type="0">UmVsYXRlZCBDYXRlZ29yaWVz</PHRASE>
- <PHRASE Label="lu_related_links" Module="Proj-Base" Type="0">UmVsYXRlZCBMaW5rcw==</PHRASE>
- <PHRASE Label="lu_related_news" Module="Proj-Base" Type="0">UmVsYXRlZCBOZXdz</PHRASE>
- <PHRASE Label="lu_remember_login" Module="Proj-Base" Type="0">UmVtZW1iZXIgTG9naW4=</PHRASE>
- <PHRASE Label="lu_remove" Module="Proj-Base" Type="0">UmVtb3Zl</PHRASE>
- <PHRASE Label="lu_remove_from_favorites" Module="Proj-Base" Type="0">UmVtb3ZlIEZyb20gRmF2b3JpdGVz</PHRASE>
- <PHRASE Label="lu_repeat_password" Module="Proj-Base" Type="0">UmVwZWF0IFBhc3N3b3Jk</PHRASE>
- <PHRASE Label="lu_replies" Module="Proj-Base" Type="0">UmVwbGllcw==</PHRASE>
- <PHRASE Label="lu_reply" Module="Proj-Base" Type="0">UmVwbHk=</PHRASE>
- <PHRASE Label="lu_required_field" Module="Proj-Base" Type="0">UmVxdWlyZWQgRmllbGQ=</PHRASE>
- <PHRASE Label="lu_reset" Module="Proj-Base" Type="0">UmVzZXQ=</PHRASE>
- <PHRASE Label="lu_resetpw_confirm_text" Module="Proj-Base" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IHRoZSBwYXNzd29yZD8=</PHRASE>
- <PHRASE Label="lu_reset_confirm_text" Module="Proj-Base" Type="0">UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg==</PHRASE>
- <PHRASE Label="lu_reviews" Module="Proj-Base" Type="0">UmV2aWV3cw==</PHRASE>
- <PHRASE Label="lu_reviews_updated" Module="Proj-Base" Type="0">cmV2aWV3cyB1cGRhdGVk</PHRASE>
- <PHRASE Label="lu_review_access_denied" Module="Proj-Base" Type="0">VW5hYmxlIHRvIHJldmlldywgYWNjZXNzIGRlbmllZA==</PHRASE>
- <PHRASE Label="lu_review_article" Module="Proj-Base" Type="0">UmV2aWV3IGFydGljbGU=</PHRASE>
- <PHRASE Label="lu_review_link" Module="Proj-Base" Type="0">UmV2aWV3IExpbms=</PHRASE>
- <PHRASE Label="lu_review_news" Module="Proj-Base" Type="0">UmV2aWV3IG5ld3MgYXJ0aWNsZQ==</PHRASE>
- <PHRASE Label="lu_review_this_article" Module="Proj-Base" Type="0">UmV2aWV3IHRoaXMgYXJ0aWNsZQ==</PHRASE>
- <PHRASE Label="lu_rootcategory_name" Module="Proj-Base" Type="0">SG9tZQ==</PHRASE>
- <PHRASE Label="lu_search" Module="Proj-Base" Type="0">U2VhcmNo</PHRASE>
- <PHRASE Label="lu_searched_for" Module="Proj-Base" Type="0">U2VhcmNoZWQgRm9yOg==</PHRASE>
- <PHRASE Label="lu_SearchProducts" Module="Proj-Base" Type="0">U2VhcmNoIFByb2R1Y3Rz</PHRASE>
- <PHRASE Label="lu_searchtitle_article" Module="Proj-Base" Type="0">U2VhcmNoIEFydGljbGVz</PHRASE>
- <PHRASE Label="lu_searchtitle_category" Module="Proj-Base" Type="0">U2VhcmNoIENhdGVnb3JpZXM=</PHRASE>
- <PHRASE Label="lu_searchtitle_link" Module="Proj-Base" Type="0">U2VhcmNoIExpbmtz</PHRASE>
- <PHRASE Label="lu_searchtitle_topic" Module="Proj-Base" Type="0">U2VhcmNoIFRvcGljcw==</PHRASE>
- <PHRASE Label="lu_search_again" Module="Proj-Base" Type="0">U2VhcmNoIEFnYWlu</PHRASE>
- <PHRASE Label="lu_search_error" Module="Proj-Base" Type="0">Rm9ybSBFcnJvcg==</PHRASE>
- <PHRASE Label="lu_search_results" Module="Proj-Base" Type="0">U2VhcmNoIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="lu_search_tips_link" Module="Proj-Base" Type="0">U2VhcmNoIFRpcHM=</PHRASE>
- <PHRASE Label="lu_search_type" Module="Proj-Base" Type="0">U2VhcmNoIFR5cGU=</PHRASE>
- <PHRASE Label="lu_search_within" Module="Proj-Base" Type="0">U2VhcmNoIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="lu_see_also" Module="Proj-Base" Type="0">U2VlIEFsc28=</PHRASE>
- <PHRASE Label="lu_select_language" Module="Proj-Base" Type="0">U2VsZWN0IExhbmd1YWdl</PHRASE>
- <PHRASE Label="lu_select_theme" Module="Proj-Base" Type="0">U2VsZWN0IFRoZW1l</PHRASE>
- <PHRASE Label="lu_select_username" Module="Proj-Base" Type="0">U2VsZWN0IFVzZXJuYW1l</PHRASE>
- <PHRASE Label="lu_send" Module="Proj-Base" Type="0">U2VuZA==</PHRASE>
- <PHRASE Label="lu_send_pm" Module="Proj-Base" Type="0">U2VuZCBQcml2YXRlIE1lc3NhZ2U=</PHRASE>
- <PHRASE Label="lu_sent" Module="Proj-Base" Type="0">U2VudA==</PHRASE>
- <PHRASE Label="lu_Sep" Module="Proj-Base" Type="0">U2Vw</PHRASE>
- <PHRASE Label="lu_ShoppingCart" Module="Proj-Base" Type="0">U2hvcHBpbmcgQ2FydA==</PHRASE>
- <PHRASE Label="lu_show" Module="Proj-Base" Type="0">U2hvdw==</PHRASE>
- <PHRASE Label="lu_show_signature" Module="Proj-Base" Type="0">U2hvdyBTaWduYXR1cmU=</PHRASE>
- <PHRASE Label="lu_show_user_signatures" Module="Proj-Base" Type="0">U2hvdyBNeSBTaWduYXR1cmU=</PHRASE>
- <PHRASE Label="lu_SiteLead_Story" Module="Proj-Base" Type="0">U2l0ZSBMZWFkIFN0b3J5</PHRASE>
- <PHRASE Label="lu_site_map" Module="Proj-Base" Type="0">U2l0ZSBNYXA=</PHRASE>
- <PHRASE Label="lu_smileys" Module="Proj-Base" Type="0">U21pbGV5cw==</PHRASE>
- <PHRASE Label="lu_sorted_list" Module="Proj-Base" Type="0">U29ydGVkIGxpc3Q=</PHRASE>
- <PHRASE Label="lu_sort_by" Module="Proj-Base" Type="0">U29ydA==</PHRASE>
- <PHRASE Label="lu_state" Module="Proj-Base" Type="0">U3RhdGU=</PHRASE>
- <PHRASE Label="lu_street" Module="Proj-Base" Type="0">U3RyZWV0</PHRASE>
- <PHRASE Label="lu_street2" Module="Proj-Base" Type="0">U3RyZWV0IDI=</PHRASE>
- <PHRASE Label="lu_subaction_prompt" Module="Proj-Base" Type="0">QWxzbyBZb3UgQ2FuOg==</PHRASE>
- <PHRASE Label="lu_subcats" Module="Proj-Base" Type="0">U3ViY2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="lu_subject" Module="Proj-Base" Type="0">U3ViamVjdA==</PHRASE>
- <PHRASE Label="lu_submitting_to" Module="Proj-Base" Type="0">U3VibWl0dGluZyB0bw==</PHRASE>
- <PHRASE Label="lu_subscribe_banned" Module="Proj-Base" Type="0">U3Vic2NyaXB0aW9uIGRlbmllZA==</PHRASE>
- <PHRASE Label="lu_subscribe_confirm" Module="Proj-Base" Type="0">U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg==</PHRASE>
- <PHRASE Label="lu_subscribe_confirm_prompt" Module="Proj-Base" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBvdXIgbWFpbGluZyBsaXN0PyAoWW91IGNhbiB1bnN1YnNjcmliZSBhbnkgdGltZSBieSBlbnRlcmluZyB5b3VyIGVtYWlsIG9uIHRoZSBmcm9udCBwYWdlKS4=</PHRASE>
- <PHRASE Label="lu_subscribe_confirm_text" Module="Proj-Base" Type="0">VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0IQ==</PHRASE>
- <PHRASE Label="lu_subscribe_error" Module="Proj-Base" Type="0">Rm9ybSBFcnJvcg==</PHRASE>
- <PHRASE Label="lu_subscribe_missing_address" Module="Proj-Base" Type="0">TWlzc2luZyBlbWFpbCBhZGRyZXNz</PHRASE>
- <PHRASE Label="lu_subscribe_no_address" Module="Proj-Base" Type="0">RS1tYWlsIGFkZHJlc3MgbWlzc2luZyBvciBpbnZhbGlk</PHRASE>
- <PHRASE Label="lu_subscribe_success" Module="Proj-Base" Type="0">U3Vic2NyaXB0aW9uIHN1Y2Nlc3NmdWw=</PHRASE>
- <PHRASE Label="lu_subscribe_title" Module="Proj-Base" Type="0">U3Vic2NyaWJlZA==</PHRASE>
- <PHRASE Label="lu_subscribe_unknown_error" Module="Proj-Base" Type="0">VW5kZWZpbmVkIGVycm9yIG9jY3VycmVkLCBzdWJzY3JpcHRpb24gbm90IGNvbXBsZXRlZA==</PHRASE>
- <PHRASE Label="lu_suggest_category" Module="Proj-Base" Type="0">U3VnZ2VzdCBDYXRlZ29yeQ==</PHRASE>
- <PHRASE Label="lu_suggest_category_pending" Module="Proj-Base" Type="0">Q2F0ZWdvcnkgU3VnZ2VzdGVkIChQZW5kaW5nIEFwcHJvdmFsKQ==</PHRASE>
- <PHRASE Label="lu_suggest_error" Module="Proj-Base" Type="0">Rm9ybSBFcnJvcg==</PHRASE>
- <PHRASE Label="lu_suggest_link" Module="Proj-Base" Type="0">U3VnZ2VzdCBMaW5r</PHRASE>
- <PHRASE Label="lu_suggest_no_address" Module="Proj-Base" Type="0">RS1tYWlsIGFkZHJlc3MgbWlzc2luZyBvciBpbnZhbGlk</PHRASE>
- <PHRASE Label="lu_suggest_success" Module="Proj-Base" Type="0">VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIG91ciBzaXRlIHRv</PHRASE>
- <PHRASE Label="lu_template_error" Module="Proj-Base" Type="0">VGVtcGxhdGUgRXJyb3I=</PHRASE>
- <PHRASE Label="lu_TextUnsubscribe" Module="Proj-Base" Type="0">IFdlIGFyZSBzb3JyeSB5b3UgaGF2ZSB1bnN1YnNjcmliZWQgZnJvbSBvdXIgbWFpbGluZyBsaXN0</PHRASE>
- <PHRASE Label="lu_text_keyword" Module="Proj-Base" Type="0">S2V5d29yZA==</PHRASE>
- <PHRASE Label="lu_text_PasswordRequestConfirm" Module="Proj-Base" Type="0">UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg==</PHRASE>
- <PHRASE Label="lu_ThankForSubscribing" Module="Proj-Base" Type="0">VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0</PHRASE>
- <PHRASE Label="lu_title_confirm" Module="Proj-Base" Type="0">Q29uZmlybWF0aW9u</PHRASE>
- <PHRASE Label="lu_title_mailinglist" Module="Proj-Base" Type="0">TWFpbGluZyBMaXN0</PHRASE>
- <PHRASE Label="lu_title_PasswordRequestConfirm" Module="Proj-Base" Type="0">UGFzc3dvcmQgUmVxdWVzdCBDb25maXJtYXRpb24=</PHRASE>
- <PHRASE Label="lu_to" Module="Proj-Base" Type="0">VG8=</PHRASE>
- <PHRASE Label="lu_top" Module="Proj-Base" Type="0">VG9wIFJhdGVk</PHRASE>
- <PHRASE Label="lu_topics" Module="Proj-Base" Type="0">VG9waWNz</PHRASE>
- <PHRASE Label="lu_topics_updated" Module="Proj-Base" Type="0">VG9waWNzIFVwZGF0ZWQ=</PHRASE>
- <PHRASE Label="lu_topic_rate_confirm" Module="Proj-Base" Type="0">VG9waWMgUmF0aW5nIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="lu_topic_rate_confirm_duplicate_text" Module="Proj-Base" Type="0">WW91IGhhdmUgYWxyZWFkeSByYXRlZCB0aGlzIHRvcGlj</PHRASE>
- <PHRASE Label="lu_topic_rate_confirm_text" Module="Proj-Base" Type="0">VGhhbmsgeW91IGZvciB2b3RpbmchICBZb3VyIGlucHV0IGhhcyBiZWVuIHJlY29yZGVkLg==</PHRASE>
- <PHRASE Label="lu_topic_reply" Module="Proj-Base" Type="0">UG9zdCBSZXBseQ==</PHRASE>
- <PHRASE Label="lu_topic_search_results" Module="Proj-Base" Type="0">VG9waWMgU2VhcmNoIFJlc3VsdHM=</PHRASE>
- <PHRASE Label="lu_topic_updated" Module="Proj-Base" Type="0">VG9waWMgVXBkYXRlZA==</PHRASE>
- <PHRASE Label="lu_top_rated" Module="Proj-Base" Type="0">VG9wIFJhdGVkIExpbmtz</PHRASE>
- <PHRASE Label="lu_total_categories" Module="Proj-Base" Type="0">VG90YWwgQ2F0ZWdvcmllcw==</PHRASE>
- <PHRASE Label="lu_total_links" Module="Proj-Base" Type="0">VG90YWwgbGlua3MgaW4gdGhlIGRhdGFiYXNl</PHRASE>
- <PHRASE Label="lu_total_news" Module="Proj-Base" Type="0">VG90YWwgQXJ0aWNsZXM=</PHRASE>
- <PHRASE Label="lu_total_topics" Module="Proj-Base" Type="0">VG90YWwgVG9waWNz</PHRASE>
- <PHRASE Label="lu_true" Module="Proj-Base" Type="0">VHJ1ZQ==</PHRASE>
- <PHRASE Label="lu_unknown_error" Module="Proj-Base" Type="0">U3lzdGVtIGVycm9yIGhhcyBvY2N1cmVk</PHRASE>
- <PHRASE Label="lu_unsorted_list" Module="Proj-Base" Type="0">VW5zb3J0ZWQgbGlzdA==</PHRASE>
- <PHRASE Label="lu_unsubscribe_confirm" Module="Proj-Base" Type="0">VW5zdWJzY3JpcHRpb24gQ29uZmlybWF0aW9u</PHRASE>
- <PHRASE Label="lu_unsubscribe_confirm_prompt" Module="Proj-Base" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuc3Vic2NyaWJlIGZyb20gb3VyIG1haWxpbmcgbGlzdD8gKFlvdSBjYW4gYWx3YXlzIHN1YnNjcmliZSBhZ2FpbiBieSBlbnRlcmluZyB5b3VyIGVtYWlsIGF0IHRoZSBob21lIHBhZ2Up</PHRASE>
- <PHRASE Label="lu_unsubscribe_confirm_text" Module="Proj-Base" Type="0">V2UgYXJlIHNvcnJ5IHlvdSBoYXZlIHVuc3Vic2NyaWJlZCBmcm9tIG91ciBtYWlsaW5nIGxpc3Q=</PHRASE>
- <PHRASE Label="lu_unsubscribe_title" Module="Proj-Base" Type="0">VW5zdWJzY3JpYmU=</PHRASE>
- <PHRASE Label="lu_update" Module="Proj-Base" Type="0">VXBkYXRl</PHRASE>
- <PHRASE Label="lu_username" Module="Proj-Base" Type="0">VXNlcm5hbWU=</PHRASE>
- <PHRASE Label="lu_users_online" Module="Proj-Base" Type="0">VXNlcnMgT25saW5l</PHRASE>
- <PHRASE Label="lu_user_already_exist" Module="Proj-Base" Type="0">QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cy4=</PHRASE>
- <PHRASE Label="lu_user_and_email_already_exist" Module="Proj-Base" Type="0">QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZS9lLW1haWwgYWxyZWFkeSBleGlzdHMu</PHRASE>
- <PHRASE Label="lu_user_exists" Module="Proj-Base" Type="0">VXNlciBhbHJlYWR5IGV4aXN0cw==</PHRASE>
- <PHRASE Label="lu_user_pending_aproval" Module="Proj-Base" Type="0">UGVuZGluZyBSZWdpc3RyYXRpb24gQ29tcGxldGU=</PHRASE>
- <PHRASE Label="lu_user_pending_aproval_text" Module="Proj-Base" Type="0">VGhhbmsgeW91IGZvciByZWdpc3RlcmluZy4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4=</PHRASE>
- <PHRASE Label="lu_VerifyPassword" Module="Proj-Base" Type="0">VmVyaWZ5IHBhc3N3b3Jk</PHRASE>
- <PHRASE Label="lu_views" Module="Proj-Base" Type="0">Vmlld3M=</PHRASE>
- <PHRASE Label="lu_view_flat" Module="Proj-Base" Type="0">VmlldyBGbGF0</PHRASE>
- <PHRASE Label="lu_view_pm" Module="Proj-Base" Type="0">VmlldyBQTQ==</PHRASE>
- <PHRASE Label="lu_view_profile" Module="Proj-Base" Type="0">VmlldyBVc2VyIFByb2ZpbGU=</PHRASE>
- <PHRASE Label="lu_view_threaded" Module="Proj-Base" Type="0">VmlldyBUaHJlYWRlZA==</PHRASE>
- <PHRASE Label="lu_view_your_profile" Module="Proj-Base" Type="0">VmlldyBZb3VyIFByb2ZpbGU=</PHRASE>
- <PHRASE Label="lu_visit_DirectReferer" Module="Proj-Base" Type="0">RGlyZWN0IGFjY2VzcyBvciBib29rbWFyaw==</PHRASE>
- <PHRASE Label="lu_votes" Module="Proj-Base" Type="0">Vm90ZXM=</PHRASE>
- <PHRASE Label="lu_Warning" Module="Proj-Base" Type="0">V2FybmluZw==</PHRASE>
- <PHRASE Label="lu_WeAcceptCards" Module="Proj-Base" Type="0">V2UgYWNjZXB0IGNyZWRpdCBjYXJkcw==</PHRASE>
- <PHRASE Label="lu_wrote" Module="Proj-Base" Type="0">d3JvdGU=</PHRASE>
- <PHRASE Label="lu_yes" Module="Proj-Base" Type="0">WWVz</PHRASE>
- <PHRASE Label="lu_YourAccount" Module="Proj-Base" Type="0">WW91ciBBY2NvdW50</PHRASE>
- <PHRASE Label="lu_YourCart" Module="Proj-Base" Type="0">U2hvcHBpbmcgQ2FydA==</PHRASE>
- <PHRASE Label="lu_YourCurrency" Module="Proj-Base" Type="0">WW91ciBjdXJyZW5jeQ==</PHRASE>
- <PHRASE Label="lu_YourLanguage" Module="Proj-Base" Type="0">WW91ciBMYW5ndWFnZQ==</PHRASE>
- <PHRASE Label="lu_YourWishList" Module="Proj-Base" Type="0">WW91ciBXaXNoIExpc3Q=</PHRASE>
- <PHRASE Label="lu_zip" Module="Proj-Base" Type="0">Wmlw</PHRASE>
- <PHRASE Label="lu_ZipCode" Module="Proj-Base" Type="0">WklQIENvZGU=</PHRASE>
- <PHRASE Label="lu_zip_code" Module="Proj-Base" Type="0">WklQIENvZGU=</PHRASE>
- <PHRASE Label="lu_zoom" Module="Proj-Base" Type="0">Wm9vbQ==</PHRASE>
- <PHRASE Label="my_account_title" Module="Proj-Base" Type="0">TXkgU2V0dGluZ3M=</PHRASE>
- <PHRASE Label="Next Theme" Module="Proj-Base" Type="0">TmV4dCBUaGVtZQ==</PHRASE>
- <PHRASE Label="Previous Theme" Module="Proj-Base" Type="0">UHJldmlvdXMgVGhlbWU=</PHRASE>
- <PHRASE Label="test 1" Module="Proj-Base" Type="0">dGVzdCAy</PHRASE>
- </PHRASES>
- <EVENTS>
- <EVENT MessageType="text" Event="CATEGORY.ADD" Type="0">U3ViamVjdDogQ2F0ZWdvcnkgYWRkZWQKCllvdXIgc3VnZ2VzdGVkIGNhdGVnb3J5ICI8aW5wOm1fY2F0ZWdvcnlfZmllbGQgX0ZpZWxkPSJOYW1lIiBfU3RyaXBIVE1MPSIxIi8+IiBoYXMgYmVlbiBhZGRlZC4=</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.ADD" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBhZGRlZAoKQSBjYXRlZ29yeSAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gYWRkZWQu</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.ADD.PENDING" Type="0"></EVENT>
- <EVENT MessageType="text" Event="CATEGORY.ADD.PENDING" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQ2F0ZWdvcnkgYWRkZWQgKHBlbmRpbmcpCgpBIGNhdGVnb3J5ICI8aW5wOm1fY2F0ZWdvcnlfZmllbGQgX0ZpZWxkPSJOYW1lIiBfU3RyaXBIVE1MPSIxIi8+IiBoYXMgYmVlbiBhZGRlZCwgcGVuZGluZyB5b3VyIGNvbmZpcm1hdGlvbi4gIFBsZWFzZSByZXZpZXcgdGhlIGNhdGVnb3J5IGFuZCBhcHByb3ZlIG9yIGRlbnkgaXQu</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.APPROVE" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBhcHByb3ZlZAoKWW91ciBzdWdnZXN0ZWQgY2F0ZWdvcnkgIjxpbnA6bV9jYXRlZ29yeV9maWVsZCBfRmllbGQ9Ik5hbWUiIF9TdHJpcEhUTUw9IjEiLz4iIGhhcyBiZWVuIGFwcHJvdmVkLg==</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.APPROVE" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBhcHByb3ZlZAoKQSBjYXRlZ29yeSAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gYXBwcm92ZWQu</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.DELETE" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBkZWxldGVkCgpBIGNhdGVnb3J5ICI8aW5wOm1fY2F0ZWdvcnlfZmllbGQgX0ZpZWxkPSJOYW1lIiBfU3RyaXBIVE1MPSIxIi8+IiBoYXMgYmVlbiBkZWxldGVkLg==</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.DELETE" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gZGVsZXRlZAoKQSBjYXRlZ29yeSAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gZGVsZXRlZC4=</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.DENY" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBkZW5pZWQKCllvdXIgY2F0ZWdvcnkgc3VnZ2VzdGlvbiAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gZGVuaWVkLg==</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.DENY" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBkZW5pZWQKCkEgY2F0ZWdvcnkgIjxpbnA6bV9jYXRlZ29yeV9maWVsZCBfRmllbGQ9Ik5hbWUiIF9TdHJpcEhUTUw9IjEiLz4iIGhhcyBiZWVuIGRlbmllZC4=</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.MODIFY" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBtb2RpZmllZAoKWW91ciBzdWdnZXN0ZWQgY2F0ZWdvcnkgIjxpbnA6bV9jYXRlZ29yeV9maWVsZCBfRmllbGQ9Ik5hbWUiIF9TdHJpcEhUTUw9IjEiLz4iIGhhcyBiZWVuIG1vZGlmaWVkLg==</EVENT>
- <EVENT MessageType="text" Event="CATEGORY.MODIFY" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSBjYXRlZ29yeSBoYXMgYmVlbiBtb2RpZmllZAoKQSBjYXRlZ29yeSAiPGlucDptX2NhdGVnb3J5X2ZpZWxkIF9GaWVsZD0iTmFtZSIgX1N0cmlwSFRNTD0iMSIvPiIgaGFzIGJlZW4gbW9kaWZpZWQu</EVENT>
- <EVENT MessageType="html" Event="COMMON.FOOTER" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IENvbW1vbiBGb290ZXIgVGVtcGxhdGUKCg==</EVENT>
- <EVENT MessageType="text" Event="USER.ADD" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogSW4tcG9ydGFsIHJlZ2lzdHJhdGlvbgoKRGVhciA8aW5wOnRvdXNlciBfRmllbGQ9IkZpcnN0TmFtZSIgLz4gPGlucDp0b3VzZXIgX0ZpZWxkPSJMYXN0TmFtZSIgLz4sDQoNClRoYW5rIHlvdSBmb3IgcmVnaXN0ZXJpbmcgb24gPGlucDptX3BhZ2VfdGl0bGUgLz4uIFlvdXIgcmVnaXN0cmF0aW9uIGlzIG5vdyBhY3RpdmUu</EVENT>
- <EVENT MessageType="text" Event="USER.ADD" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE5ldyB1c2VyIGhhcyBiZWVuIGFkZGVkCgpBIG5ldyB1c2VyICI8aW5wOnRvdXNlciBfRmllbGQ9IkxvZ2luIiAvPiIgaGFzIGJlZW4gYWRkZWQu</EVENT>
- <EVENT MessageType="text" Event="USER.ADD.PENDING" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEluLVBvcnRhbCBSZWdpc3RyYXRpb24KCkRlYXIgPGlucDp0b3VzZXIgX0ZpZWxkPSJGaXJzdE5hbWUiIC8+IDxpbnA6dG91c2VyIF9GaWVsZD0iTGFzdE5hbWUiIC8+LA0KDQpUaGFuayB5b3UgZm9yIHJlZ2lzdGVyaW5nIG9uIDxpbnA6bV9wYWdlX3RpdGxlIC8+LiBZb3VyIHJlZ2lzdHJhdGlvbiB3aWxsIGJlIGFjdGl2ZSBhZnRlciBhcHByb3ZhbC4=</EVENT>
- <EVENT MessageType="text" Event="USER.ADD.PENDING" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFVzZXIgcmVnaXN0ZXJlZAoKQSBuZXcgdXNlciAiPGlucDp0b3VzZXIgX0ZpZWxkPSJMb2dpbiIgLz4iIGhhcyByZWdpc3RlcmVkIGFuZCBpcyBwZW5kaW5nIGFkbWluaXN0cmF0aXZlIGFwcHJvdmFsLg==</EVENT>
- <EVENT MessageType="text" Event="USER.APPROVE" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogWW91IGhhdmUgYmVlbiBhcHByb3ZlZAoKV2VsY29tZSB0byBJbi1wb3J0YWwhDQpZb3VyIHVzZXIgcmVnaXN0cmF0aW9uIGhhcyBiZWVuIGFwcHJvdmVkLiBZb3VyIHVzZXIgbmFtZSBpcyAiPGlucDp0b3VzZXIgX0ZpZWxkPSJVc2VyTmFtZSIgLz4iLg==</EVENT>
- <EVENT MessageType="text" Event="USER.APPROVE" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVXNlciBhcHByb3ZlZAoKVXNlciAiPGlucDp0b3VzZXIgX0ZpZWxkPSJVc2VyTmFtZSIgLz4iIGhhcyBiZWVuIGFwcHJvdmVkLg==</EVENT>
- <EVENT MessageType="text" Event="USER.DENY" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQWNjZXNzIGRlbmllZAoKWW91ciByZWdpc3RyYXRpb24gdG8gPGlucDptX3BhZ2VfdGl0bGUgLz4gaGFzIGJlZW4gZGVuaWVkLg==</EVENT>
- <EVENT MessageType="text" Event="USER.DENY" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVXNlciBkZW5pZWQKClVzZXIgIjxpbnA6dG91c2VyIF9GaWVsZD0iVXNlck5hbWUiIC8+IiBoYXMgYmVlbiBkZW5pZWQu</EVENT>
- <EVENT MessageType="text" Event="USER.MEMBERSHIP.EXPIRATION.NOTICE" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2UKCk1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2U=</EVENT>
- <EVENT MessageType="text" Event="USER.MEMBERSHIP.EXPIRATION.NOTICE" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2UKCk1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2U=</EVENT>
- <EVENT MessageType="text" Event="USER.MEMBERSHIP.EXPIRED" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJlZAoKTWVtYmVyc2hpcCBleHBpcmVk</EVENT>
- <EVENT MessageType="text" Event="USER.MEMBERSHIP.EXPIRED" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJlZAoKTWVtYmVyc2hpcCBleHBpcmVk</EVENT>
- <EVENT MessageType="text" Event="USER.PSWD" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogTG9zdCBwYXNzd29yZAoKWW91ciBsb3N0IHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiBZb3VyIG5ldyBwYXNzd29yZCBpczogIjxpbnA6dG91c2VyIF9GaWVsZD0iUGFzc3dvcmQiIC8+Ii4=</EVENT>
- <EVENT MessageType="text" Event="USER.PSWD" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogTG9zdCBwYXNzd29yZAoKWW91ciBsb3N0IHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiBZb3VyIG5ldyBwYXNzd29yZCBpczogIjxpbnA6dG91c2VyIF9GaWVsZD0iUGFzc3dvcmQiIC8+Ii4=</EVENT>
- <EVENT MessageType="text" Event="USER.PSWDC" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogUGFzc3dvcmQgcmVzZXQgY29uZmlybWF0aW9uCgpIZWxsbywNCg0KSXQgc2VlbXMgdGhhdCB5b3UgaGF2ZSByZXF1ZXN0ZWQgYSBwYXNzd29yZCByZXNldCBmb3IgeW91ciBJbi1wb3J0YWwgYWNjb3VudC4gSWYgeW91IHdvdWxkIGxpa2UgdG8gcHJvY2VlZCBhbmQgY2hhbmdlIHRoZSBwYXNzd29yZCwgcGxlYXNlIGNsaWNrIG9uIHRoZSBsaW5rIGJlbG93Og0KPGlucDptX2NvbmZpcm1fcGFzc3dvcmRfbGluayAvPg0KDQpZb3Ugd2lsbCByZWNlaXZlIGEgc2Vjb25kIGVtYWlsIHdpdGggeW91ciBuZXcgcGFzc3dvcmQgc2hvcnRseS4NCg0KSWYgeW91IGJlbGlldmUgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlbWFpbCBpbiBlcnJvciwgcGxlYXNlIGlnbm9yZSB0aGlzIGVtYWlsLiBZb3VyIHBhc3N3b3JkIHdpbGwgbm90IGJlIGNoYW5nZWQgdW5sZXNzIHlvdSBoYXZlIGNsaWNrZWQgb24gdGhlIGFib3ZlIGxpbmsuDQo=</EVENT>
- <EVENT MessageType="text" Event="USER.SUBSCRIBE" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogU3Vic2NyaXB0aW9uIGNvbmZpcm1hdGlvbgoKWW91IGhhdmUgc3Vic2NyaWJlZCB0byA8aW5wOm1fcGFnZV90aXRsZSAvPiBtYWlsaW5nIGxpc3Qu</EVENT>
- <EVENT MessageType="text" Event="USER.SUBSCRIBE" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQSB1c2VyIGhhcyBzdWJzY3JpYmVkCgpBIHVzZXIgaGFzIHN1YnNjcmliZWQgdG8gPGlucDptX3BhZ2VfdGl0bGUgLz4gbWFpbGluZyBsaXN0Lg==</EVENT>
- <EVENT MessageType="html" Event="USER.SUGGEST" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogQ2hlY2sgb3V0IHRoaXMgc2l0ZQoKSGksDQoNClRoaXMgbWVzc2FnZSBoYXMgYmVlbiBzZW50IHRvIHlvdSBmcm9tIG9uZSBvZiB5b3VyIGZyaWVuZHMuDQpDaGVjayBvdXQgdGhpcyBzaXRlOiA8YSBocmVmPSI8aW5wOm1fdGhlbWVfdXJsIF9wYWdlPSJjdXJyZW50Ii8+Ij48aW5wOm1fcGFnZV90aXRsZSAvPjwvYT4h</EVENT>
- <EVENT MessageType="text" Event="USER.SUGGEST" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVGhlIHNpdGUgaGFzIGJlZW4gc3VnZ2VzdGVkCgpBIHZpc2l0b3Igc3VnZ2VzdGVkIHlvdXIgc2l0ZSB0byBhIGZyaWVuZC4=</EVENT>
- <EVENT MessageType="text" Event="USER.UNSUBSCRIBE" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogWW91IGhhdmUgYmVlbiB1bnN1YnNjcmliZWQKCllvdSBoYXZlIHN1Y2Nlc3NmdWxseSB1bnN1YnNyaWJlZCBmcm9tIDxpbnA6bV9wYWdlX3RpdGxlIC8+IG1haWxpbmcgbGlzdC4=</EVENT>
- <EVENT MessageType="text" Event="USER.UNSUBSCRIBE" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVXNlciB1bnN1YnNyaWJlZAoKQSB1c2VyIGhhcyB1bnN1YnNjcmliZWQu</EVENT>
- <EVENT MessageType="text" Event="USER.VALIDATE" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogSW4tcG9ydGFsIHJlZ2lzdHJhdGlvbgoKV2VsY29tZSB0byBJbi1wb3J0YWwhDQpZb3VyIHVzZXIgcmVnaXN0cmF0aW9uIGhhcyBiZWVuIGFwcHJvdmVkLiBZb3VyIHVzZXIgbmFtZSBpcyAiPGlucDp0b3VzZXIgX0ZpZWxkPSJVc2VyTmFtZSIgLz4iIGFuZCB5b3VyIHBhc3N3b3JkIGlzICI8aW5wOnRvdXNlciBfRmllbGQ9InBhc3N3b3JkIiAvPiIuDQo=</EVENT>
- <EVENT MessageType="text" Event="USER.VALIDATE" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogVXNlciB2YWxpZGF0ZWQKClVzZXIgIjxpbnA6dG91c2VyIF9GaWVsZD0iVXNlck5hbWUiIC8+IiBoYXMgYmVlbiB2YWxpZGF0ZWQu</EVENT>
- </EVENTS>
</LANGUAGE>
</LANGUAGES>
\ No newline at end of file
Property changes on: trunk/core/install/english.lang
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.3
\ No newline at end of property
+1.4
\ No newline at end of property
Index: trunk/core/install/install_data.sql
===================================================================
--- trunk/core/install/install_data.sql (revision 8900)
+++ trunk/core/install/install_data.sql (revision 8901)
@@ -1,586 +1,586 @@
INSERT INTO ConfigurationAdmin VALUES ('Site_Name', 'la_Text_Website', 'la_config_website_name', 'text', '', '', 10.02, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Site_Path', 'la_Text_Website', 'la_config_web_address', 'text', '', '', 10.01, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Backup_Path', 'la_Text_BackupPath', 'la_config_backup_path', 'text', '', '', 40.01, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Domain_Detect', 'la_Text_Website', 'la_config_detect_domain', 'text', '', '', 8, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Category_Sortfield', 'la_Text_General', 'la_category_sortfield_prompt', 'select', '', 'Name=la_Category_Name,Description=la_Category_Description,CreatedOn=la_Category_Date,EditorsPick=la_Category_Pick,<SQL>SELECT Prompt AS OptionName, CONCAT("cust_", FieldName) AS OptionValue FROM <PREFIX>CustomField WHERE (Type = 1) AND (IsSystem = 0)</SQL>', 10.01, 1, 1);
INSERT INTO ConfigurationAdmin VALUES ('Category_Sortorder', 'la_Text_General', 'la_category_sortfield_prompt', 'select', '', 'asc=la_common_ascending,desc=la_common_descending', 10.01, 2, 1);
INSERT INTO ConfigurationAdmin VALUES ('Category_Sortfield2', 'la_Text_General', 'la_category_sortfield2_prompt', 'select', '', 'Name=la_Category_Name,Description=la_Category_Description,CreatedOn=la_Category_Date,EditorsPick=la_Category_Pick,<SQL>SELECT Prompt AS OptionName, CONCAT("cust_", FieldName) AS OptionValue FROM <PREFIX>CustomField WHERE (Type = 1) AND (IsSystem = 0)</SQL>', 10.02, 1, 1);
INSERT INTO ConfigurationAdmin VALUES ('Category_Sortorder2', 'la_Text_General', 'la_category_sortfield2_prompt', 'select', '', 'asc=la_common_ascending,desc=la_common_descending', 10.02, 2, 1);
INSERT INTO ConfigurationAdmin VALUES ('Perpage_Category', 'la_Text_General', 'la_category_perpage_prompt', 'text', '', '', 10.03, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Category_DaysNew', 'la_Text_General', 'la_category_daysnew_prompt', 'text', '', '', 10.05, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Category_ShowPick', 'la_Text_General', 'la_category_showpick_prompt', 'checkbox', '', '', 10.06, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Category_MetaKey', 'la_Text_MetaInfo', 'la_category_metakey', 'text', '', '', 20.01, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Category_MetaDesc', 'la_Text_MetaInfo', 'la_category_metadesc', 'text', '', '', 20.02, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('User_NewGroup', 'la_Text_General', 'la_users_new_group', 'select', NULL, '0=lu_none,<SQL+>SELECT GroupId as OptionValue, Name as OptionName FROM <PREFIX>PortalGroup WHERE Enabled=1 AND Personal=0</SQL>', 10.08, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('User_GuestGroup', 'la_Text_General', 'la_users_guest_group', 'select', NULL, '0=lu_none,<SQL+>SELECT GroupId as OptionValue, Name as OptionName FROM <PREFIX>PortalGroup WHERE Enabled=1 AND Personal=0</SQL>', 10.1, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('RootPass', 'la_Text_General', 'la_prompt_root_pass', 'password', NULL, NULL, 10.12, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('Users_AllowReset', 'la_Text_General', 'la_prompt_allow_reset', 'text', NULL, NULL, 10.05, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('User_Allow_New', 'la_Text_General', 'la_users_allow_new', 'radio', '', '1=la_User_Instant,2=la_User_Not_Allowed,3=la_User_Upon_Approval', 10.01, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('User_Password_Auto', 'la_Text_General', 'la_users_password_auto', 'checkbox', '', '', 10.06, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('User_Votes_Deny', 'la_Text_Restrictions', 'la_users_votes_deny', 'text', '', '', 20.01, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('User_MembershipExpirationReminder', 'la_Text_General', 'la_MembershipExpirationReminder', 'text', NULL, '', 10.07, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('User_Review_Deny', 'la_Text_Restrictions', 'la_users_review_deny', 'text', '', '', 20.02, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Server_Name', 'la_Text_Website', 'la_config_server_name', 'text', '', '', 4, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('Config_Server_Time', 'la_Text_Date_Time_Settings', 'la_config_time_server', 'select', '', '1=la_m12,2=la_m11,3=la_m10,5=la_m9,6=la_m8,7=la_m7,8=la_m6,9=la_m5,10=la_m4,11=la_m3,12=la_m2,13=la_m1,14=la_m0,15=la_p1,16=la_p2,17=la_p3,18=la_p4,19=la_p5,20=la_p6,21=la_p7,22=la_p8,23=la_p9,24=la_p10,25=la_p11,26=la_p12,27=la_p13', 20.01, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Config_Site_Time', 'la_Text_Date_Time_Settings', 'la_config_site_zone', 'select', '', '1=la_m12,2=la_m11,3=la_m10,5=la_m9,6=la_m8,7=la_m7,8=la_m6,9=la_m5,10=la_m4,11=la_m3,12=la_m2,13=la_m1,14=la_m0,15=la_p1,16=la_p2,17=la_p3,18=la_p4,19=la_p5,20=la_p6,21=la_p7,22=la_p8,23=la_p9,24=la_p10,25=la_p11,26=la_p12,27=la_p13', 20.02, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Smtp_Server', 'la_Text_smtp_server', 'la_prompt_mailserver', 'text', NULL, NULL, 30.01, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Smtp_Port', 'la_Text_smtp_server', 'la_prompt_mailport', 'text', NULL, NULL, 30.02, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Smtp_Authenticate', 'la_Text_smtp_server', 'la_prompt_mailauthenticate', 'checkbox', NULL, NULL, 30.03, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Smtp_User', 'la_Text_smtp_server', 'la_prompt_smtp_user', 'text', NULL, NULL, 30.04, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Smtp_Pass', 'la_Text_smtp_server', 'la_prompt_smtp_pass', 'text', NULL, NULL, 30.05, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Smtp_DefaultHeaders', 'la_Text_smtp_server', 'la_prompt_smtpheaders', 'textarea', NULL, 'COLS=40 ROWS=5', 30.06, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('Smtp_AdminMailFrom', 'la_Text_smtp_server', 'la_prompt_AdminMailFrom', 'text', NULL, NULL, 30.07, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Perpage_Category_Short', 'la_Text_General', 'la_category_perpage__short_prompt', 'text', '', '', 10.04, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('CookieSessions', 'la_Text_Website', 'la_prompt_session_management', 'select', NULL, '0=lu_query_string,1=lu_cookies,2=lu_auto', 10.03, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Keyword_category', 'la_config_SearchRel_DefaultKeyword', 'la_text_keyword', 'text', NULL, NULL, 0, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Pop_category', 'la_config_DefaultPop', 'la_text_popularity', 'text', NULL, NULL, 0, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Rating_category', 'la_config_DefaultRating', 'la_prompt_Rating', 'text', NULL, NULL, 0, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Increase_category', 'la_config_DefaultIncreaseImportance', 'la_text_increase_importance', 'text', NULL, NULL, 0, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SessionTimeout', 'la_Text_Website', 'la_prompt_session_timeout', 'text', '', '', 10.05, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SystemTagCache', 'la_Text_Website', 'la_prompt_syscache_enable', 'checkbox', NULL, NULL, 10.07, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('User_SubscriberGroup', 'la_Text_General', 'la_users_subscriber_group', 'select', NULL, '0=lu_none,<SQL+>SELECT GroupId as OptionValue, Name as OptionName FROM <PREFIX>PortalGroup WHERE Enabled=1 AND Personal=0</SQL>', 10.11, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Root_Name', 'la_Text_General', 'la_prompt_root_name', 'text', '', '', 10.07, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SocketBlockingMode', 'la_Text_Website', 'la_prompt_socket_blocking_mode', 'checkbox', NULL, NULL, 10.08, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('Min_UserName', 'la_Text_General', 'la_text_min_username', 'text', '', '', 10.03, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('Min_Password', 'la_Text_General', 'la_text_min_password', 'text', '', '', 10.04, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('Email_As_Login', 'la_Text_General', 'la_use_emails_as_login', 'checkbox', NULL, NULL, 10.02, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('RegistrationCaptcha', 'la_Text_General', 'la_registration_captcha', 'checkbox', NULL, NULL, 10.025, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('User_LoggedInGroup', 'la_Text_General', 'la_users_assign_all_to', 'select', NULL, '0=lu_none,<SQL+>SELECT GroupId as OptionValue, Name as OptionName FROM <PREFIX>PortalGroup WHERE Enabled=1 AND Personal=0</SQL>', 10.09, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('FirstDayOfWeek', 'la_Text_Date_Time_Settings', 'la_config_first_day_of_week', 'select', '', '0=la_sunday,1=la_monday', 20.03, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SSL_URL', 'la_Text_Website', 'la_config_ssl_url', 'text', '', '', 10.09, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Require_SSL', 'la_Text_Website', 'la_config_require_ssl', 'checkbox', '', '', 10.1, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('Force_HTTP_When_SSL_Not_Required', 'la_Text_Website', 'la_config_force_http', 'checkbox', '', '', 10.11, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SessionCookieName', 'la_Text_Website', 'la_prompt_session_cookie_name', 'text', '', '', 10.04, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('SessionReferrerCheck', 'la_Text_Website', 'la_promt_ReferrerCheck', 'checkbox', NULL, NULL, 10.06, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('UseModRewrite', 'la_Text_Website', 'la_config_use_modrewrite', 'checkbox', '', '', 10.12, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('UseModRewriteWithSSL', 'la_Text_Website', 'la_config_use_modrewrite_with_ssl', 'checkbox', '', '', 10.13, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('ErrorTemplate', 'la_Text_Website', 'la_config_error_template', 'text', '', '', 10.16, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('UseJSRedirect', 'la_Text_Website', 'la_config_use_js_redirect', 'checkbox', '', '', 10.14, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('MaxImportCategoryLevels', 'la_Text_General', 'la_prompt_max_import_category_levels', 'text', '', '', 10.08, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('UseCronForRegularEvent', 'la_Text_Website', 'la_UseCronForRegularEvent', 'checkbox', NULL, NULL, 10.15, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('NoPermissionTemplate', 'la_Text_Website', 'la_config_nopermission_template', 'text', '', '', 10.17, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('UseOutputCompression', 'la_Text_Website', 'la_config_UseOutputCompression', 'checkbox', '', '', 10.18, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('OutputCompressionLevel', 'la_Text_Website', 'la_config_OutputCompressionLevel', 'text', '', '', 10.19, 0, 1);
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 (DEFAULT, 'Columns_Category', '2', 'In-Portal', 'Categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'DomainSelect','1','In-Portal','in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Site_Path', '/', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Archive', '25', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'debug', '1', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_User', '100', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_LangEmail', '20', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Default_FromAddr', '', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'email_replyto', '', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'email_footer', 'message footer goes here', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Default_Theme', 'default', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Default_Language', 'English', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SessionTimeout', '3600', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_SortOrder', 'asc', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Suggest_MinInterval', '3600', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SubCat_ListCount', '3', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Timeout_Rating', '3600', 'In-Portal', 'System');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_SortField', 'u.CreatedOn', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Relations', '10', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Group_SortField', 'GroupName', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Group_SortOrder', 'asc', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Default_FromName', 'Webmaster', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Category', '10', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_Sortfield', 'Name', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_Sortorder', 'asc', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'MetaKeywords', DEFAULT, 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Relation_LV_Sortfield', 'ItemType', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'ampm_time', '1', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Template', '10', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Phrase', '40', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Sessionlist', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_Sortfield2', 'Description', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_Sortorder2', 'asc', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_DaysNew', '8', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_ShowPick', '', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_MetaKey', '', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_MetaDesc', '', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'MetaDescription', DEFAULT, 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_NewGroup', '13', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_Allow_New', '3', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_Password_Auto', '0', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_Votes_Deny', '5', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_Review_Deny', '5', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Config_Name', '', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Config_Company', '', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Config_Reg_Number', '', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Config_Website_Name', '', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Config_Web_Address', '', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Config_Server_Time', '14', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Config_Site_Time', '14', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Site_Name', 'In-Portal', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Backup_Path', '', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Items', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'GuestSessions', '1', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Smtp_Server', DEFAULT, 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Smtp_Port', DEFAULT, 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Smtp_User', DEFAULT, 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Smtp_Pass', DEFAULT, 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Smtp_SendHTML', '1', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Smtp_Authenticate', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Email', '10', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Smtp_DefaultHeaders', 'X-Priority: 1\r\nX-MSMail-Priority: High\r\nX-Mailer: In-Portal', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Smtp_AdminMailFrom', 'portal@user.domain.name', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_Highlight_OpenTag', '<span class="match">', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Category_Highlight_CloseTag', '</span>', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_GuestGroup', '14', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'RootPass', '', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Category_Short', '3', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'CookieSessions', '2', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_Increase_category', '30', 'In-Portal', 'in-portal:configuration_search');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_Keyword_category', '90', 'In-Portal', 'in-portal:configuration_search');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_Pop_category', '5', 'In-Portal', 'in-portal:configuration_search');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_Rating_category', '5', 'In-Portal', 'in-portal:configuration_search');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_DefaultIncrease', '30', 'In-Portal', 'inportal:configure_searchdefault');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_DefaultKeyword', '80', 'In-Portal', 'SearchRel_DefaultKeyword');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_DefaultPop', '10', 'In-Portal', 'inportal:configuration_searchdefault');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_DefaultRating', '10', 'In-Portal', 'inportal:configure_searchdefault');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SystemTagCache', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Root_Name', 'lu_rootcategory_name', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_SubscriberGroup', '12', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SocketBlockingMode', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Min_UserName', '3', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Min_Password', '5', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'LinksValidation_LV_Sortfield', 'ValidationTime', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'CustomConfig_LV_Sortfield', 'FieldName', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Event_LV_SortField', 'Description', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Theme_LV_SortField', 'Name', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Template_LV_SortField', 'FileName', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Lang_LV_SortField', 'PackName', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Phrase_LV_SortField', 'Phrase', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'LangEmail_LV_SortField', 'Description', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'CustomData_LV_SortField', 'FieldName', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Summary_SortField', 'Module', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Session_SortField', 'UserName', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchLog_SortField', 'Keyword', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_StatItem', '10', 'inportal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Groups', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Event', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_BanRules', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_SearchLog', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_LV_lang', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_LV_Themes', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_LV_Catlist', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Reviews', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Modules', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Grouplist', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Images', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'EmailsL_SortField', 'time_sent', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_EmailsL', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_CustomData', '20', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Review', '10', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_MinKeyword_Length', '3', 'In-Portal', '');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Users_AllowReset', '180', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Email_As_Login', '0', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'RegistrationCaptcha', '0', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_LoggedInGroup', '15', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_MembershipExpirationReminder', '10', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'FirstDayOfWeek', '1', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SSL_URL', '', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Require_SSL', '', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Force_HTTP_When_SSL_Not_Required', '1', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SessionCookieName', 'sid', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'UseModRewrite', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'UseModRewriteWithSSL', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SessionReferrerCheck', '1', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'ErrorTemplate', 'error_notfound', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'UseJSRedirect', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'MaxImportCategoryLevels', '10', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'UseCronForRegularEvent', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'NoPermissionTemplate', 'no_permission', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'UseOutputCompression', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'OutputCompressionLevel', '7', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'MailFunctionHeaderSeparator', 1, 'In-Portal', 'in-portal:configure_general');
INSERT INTO Events VALUES (DEFAULT, 'USER.ADD', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.add', 0);
INSERT INTO Events VALUES (DEFAULT, 'USER.ADD', NULL, 2, 0, 'In-Portal:Users', 'la_event_user.add', 1);
INSERT INTO Events VALUES (DEFAULT, 'USER.APPROVE', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.approve', 0);
INSERT INTO Events VALUES (DEFAULT, 'USER.APPROVE', NULL, 2, 0, 'In-Portal:Users', 'la_event_user.approve', 1);
INSERT INTO Events VALUES (DEFAULT, 'USER.VALIDATE', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.validate', 0);
INSERT INTO Events VALUES (DEFAULT, 'USER.VALIDATE', NULL, 2, 0, 'In-Portal:Users', 'la_event_user.validate', 1);
INSERT INTO Events VALUES (DEFAULT, 'USER.DENY', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.deny', 0);
INSERT INTO Events VALUES (DEFAULT, 'USER.DENY', NULL, 2, 0, 'In-Portal:Users', 'la_event_user.deny', 1);
INSERT INTO Events VALUES (DEFAULT, 'USER.PSWD', NULL, 2, 0, 'In-Portal:Users', 'la_event_user.forgotpw', 1);
INSERT INTO Events VALUES (DEFAULT, 'USER.PSWD', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.forgotpw', 0);
INSERT INTO Events VALUES (DEFAULT, 'USER.ADD.PENDING', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.add.pending', 0);
INSERT INTO Events VALUES (DEFAULT, 'USER.ADD.PENDING', NULL, 2, 0, 'In-Portal:Users', 'la_event_user.add.pending', 1);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.ADD', NULL, 1, 0, 'In-Portal:Category', 'la_event_category.add', 0);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.ADD.PENDING', NULL, 1, 0, 'In-Portal:Category', 'la_event_category.add.pending', 0);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.ADD.PENDING', NULL, 2, 0, 'In-Portal:Category', 'la_event_category.add.pending', 1);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.ADD', NULL, 2, 0, 'In-Portal:Category', 'la_event_category.add', 1);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.DELETE', NULL, 1, 0, 'In-Portal:Category', 'la_event_category_delete', 0);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.DELETE', NULL, 2, 0, 'In-Portal:Category', 'la_event_category_delete', 1);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.MODIFY', NULL, 1, 0, 'In-Portal:Category', 'la_event_category.modify', 0);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.MODIFY', NULL, 2, 0, 'In-Portal:Category', 'la_event_category.modify', 1);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.APPROVE', NULL, 1, 0, 'In-Portal:Category', 'la_event_category.approve', 0);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.APPROVE', NULL, 2, 0, 'In-Portal:Category', 'la_event_category.approve', 1);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.DENY', NULL, 1, 0, 'In-Portal:Category', 'la_event_category.deny', 0);
INSERT INTO Events VALUES (DEFAULT, 'CATEGORY.DENY', NULL, 2, 0, 'In-Portal:Category', 'la_event_category.deny', 1);
INSERT INTO Events VALUES (DEFAULT, 'USER.SUBSCRIBE', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.subscribe', 0);
INSERT INTO Events VALUES (DEFAULT, 'USER.SUBSCRIBE', NULL, 2, 0, 'In-Portal:Users', 'la_event_user.subscribe', 1);
INSERT INTO Events VALUES (DEFAULT, 'USER.UNSUBSCRIBE', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.unsubscribe', 0);
INSERT INTO Events VALUES (DEFAULT, 'USER.UNSUBSCRIBE', NULL, 2, 0, 'In-Portal:Users', 'la_event_user.unsubscribe', 1);
INSERT INTO Events VALUES (DEFAULT, 'USER.SUGGEST', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.suggest', '0');
INSERT INTO Events VALUES (DEFAULT, 'USER.SUGGEST', NULL, 2, 0, 'In-Portal:Users', 'la_event_user.suggest', '1');
INSERT INTO Events VALUES (DEFAULT, 'USER.PSWDC', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.pswd_confirm', '0');
INSERT INTO Events VALUES (DEFAULT, 'USER.MEMBERSHIP.EXPIRED', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.membership_expired', '0');
INSERT INTO Events VALUES (DEFAULT, 'USER.MEMBERSHIP.EXPIRED', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.membership_expired', '1');
INSERT INTO Events VALUES (DEFAULT, 'USER.MEMBERSHIP.EXPIRATION.NOTICE', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.membership_expiration_notice', '0');
INSERT INTO Events VALUES (DEFAULT, 'USER.MEMBERSHIP.EXPIRATION.NOTICE', NULL, 1, 0, 'In-Portal:Users', 'la_event_user.membership_expiration_notice', '1');
INSERT INTO Events VALUES (DEFAULT, 'COMMON.FOOTER', NULL, 1, 0, 'In-Portal', 'la_event_common.footer', 1);
INSERT INTO IdGenerator VALUES ('100');
INSERT INTO PortalGroup VALUES (15, 'Everyone', 'Everyone', 0, 1, 0, 1, 15);
INSERT INTO PortalGroup VALUES (13, 'Member', '', '1054738682', 0, 0, 1, 13);
INSERT INTO PortalGroup VALUES (12, 'Subscribers', '', '1054738670', 0, 0, 1, 12);
INSERT INTO PortalGroup VALUES (14, 'Guest', 'Guest User', '0', 1, 0, 1, 14);
INSERT INTO PortalGroup VALUES (11, 'admin', '', '1054738405', 0, 0, 1, 11);
INSERT INTO StdDestinations VALUES (1, 1, DEFAULT, 'la_country_AFG', 'AFG', 'AF');
INSERT INTO StdDestinations VALUES (2, 1, DEFAULT, 'la_country_ALB', 'ALB', 'AL');
INSERT INTO StdDestinations VALUES (3, 1, DEFAULT, 'la_country_DZA', 'DZA', 'DZ');
INSERT INTO StdDestinations VALUES (4, 1, DEFAULT, 'la_country_ASM', 'ASM', 'AS');
INSERT INTO StdDestinations VALUES (5, 1, DEFAULT, 'la_country_AND', 'AND', 'AD');
INSERT INTO StdDestinations VALUES (6, 1, DEFAULT, 'la_country_AGO', 'AGO', 'AO');
INSERT INTO StdDestinations VALUES (7, 1, DEFAULT, 'la_country_AIA', 'AIA', 'AI');
INSERT INTO StdDestinations VALUES (8, 1, DEFAULT, 'la_country_ATA', 'ATA', 'AQ');
INSERT INTO StdDestinations VALUES (9, 1, DEFAULT, 'la_country_ATG', 'ATG', 'AG');
INSERT INTO StdDestinations VALUES (10, 1, DEFAULT, 'la_country_ARG', 'ARG', 'AR');
INSERT INTO StdDestinations VALUES (11, 1, DEFAULT, 'la_country_ARM', 'ARM', 'AM');
INSERT INTO StdDestinations VALUES (12, 1, DEFAULT, 'la_country_ABW', 'ABW', 'AW');
INSERT INTO StdDestinations VALUES (13, 1, DEFAULT, 'la_country_AUS', 'AUS', 'AU');
INSERT INTO StdDestinations VALUES (14, 1, DEFAULT, 'la_country_AUT', 'AUT', 'AT');
INSERT INTO StdDestinations VALUES (15, 1, DEFAULT, 'la_country_AZE', 'AZE', 'AZ');
INSERT INTO StdDestinations VALUES (16, 1, DEFAULT, 'la_country_BHS', 'BHS', 'BS');
INSERT INTO StdDestinations VALUES (17, 1, DEFAULT, 'la_country_BHR', 'BHR', 'BH');
INSERT INTO StdDestinations VALUES (18, 1, DEFAULT, 'la_country_BGD', 'BGD', 'BD');
INSERT INTO StdDestinations VALUES (19, 1, DEFAULT, 'la_country_BRB', 'BRB', 'BB');
INSERT INTO StdDestinations VALUES (20, 1, DEFAULT, 'la_country_BLR', 'BLR', 'BY');
INSERT INTO StdDestinations VALUES (21, 1, DEFAULT, 'la_country_BEL', 'BEL', 'BE');
INSERT INTO StdDestinations VALUES (22, 1, DEFAULT, 'la_country_BLZ', 'BLZ', 'BZ');
INSERT INTO StdDestinations VALUES (23, 1, DEFAULT, 'la_country_BEN', 'BEN', 'BJ');
INSERT INTO StdDestinations VALUES (24, 1, DEFAULT, 'la_country_BMU', 'BMU', 'BM');
INSERT INTO StdDestinations VALUES (25, 1, DEFAULT, 'la_country_BTN', 'BTN', 'BT');
INSERT INTO StdDestinations VALUES (26, 1, DEFAULT, 'la_country_BOL', 'BOL', 'BO');
INSERT INTO StdDestinations VALUES (27, 1, DEFAULT, 'la_country_BIH', 'BIH', 'BA');
INSERT INTO StdDestinations VALUES (28, 1, DEFAULT, 'la_country_BWA', 'BWA', 'BW');
INSERT INTO StdDestinations VALUES (29, 1, DEFAULT, 'la_country_BVT', 'BVT', 'BV');
INSERT INTO StdDestinations VALUES (30, 1, DEFAULT, 'la_country_BRA', 'BRA', 'BR');
INSERT INTO StdDestinations VALUES (31, 1, DEFAULT, 'la_country_IOT', 'IOT', 'IO');
INSERT INTO StdDestinations VALUES (32, 1, DEFAULT, 'la_country_BRN', 'BRN', 'BN');
INSERT INTO StdDestinations VALUES (33, 1, DEFAULT, 'la_country_BGR', 'BGR', 'BG');
INSERT INTO StdDestinations VALUES (34, 1, DEFAULT, 'la_country_BFA', 'BFA', 'BF');
INSERT INTO StdDestinations VALUES (35, 1, DEFAULT, 'la_country_BDI', 'BDI', 'BI');
INSERT INTO StdDestinations VALUES (36, 1, DEFAULT, 'la_country_KHM', 'KHM', 'KH');
INSERT INTO StdDestinations VALUES (37, 1, DEFAULT, 'la_country_CMR', 'CMR', 'CM');
INSERT INTO StdDestinations VALUES (38, 1, DEFAULT, 'la_country_CAN', 'CAN', 'CA');
INSERT INTO StdDestinations VALUES (39, 1, DEFAULT, 'la_country_CPV', 'CPV', 'CV');
INSERT INTO StdDestinations VALUES (40, 1, DEFAULT, 'la_country_CYM', 'CYM', 'KY');
INSERT INTO StdDestinations VALUES (41, 1, DEFAULT, 'la_country_CAF', 'CAF', 'CF');
INSERT INTO StdDestinations VALUES (42, 1, DEFAULT, 'la_country_TCD', 'TCD', 'TD');
INSERT INTO StdDestinations VALUES (43, 1, DEFAULT, 'la_country_CHL', 'CHL', 'CL');
INSERT INTO StdDestinations VALUES (44, 1, DEFAULT, 'la_country_CHN', 'CHN', 'CN');
INSERT INTO StdDestinations VALUES (45, 1, DEFAULT, 'la_country_CXR', 'CXR', 'CX');
INSERT INTO StdDestinations VALUES (46, 1, DEFAULT, 'la_country_CCK', 'CCK', 'CC');
INSERT INTO StdDestinations VALUES (47, 1, DEFAULT, 'la_country_COL', 'COL', 'CO');
INSERT INTO StdDestinations VALUES (48, 1, DEFAULT, 'la_country_COM', 'COM', 'KM');
INSERT INTO StdDestinations VALUES (49, 1, DEFAULT, 'la_country_COD', 'COD', 'CD');
INSERT INTO StdDestinations VALUES (50, 1, DEFAULT, 'la_country_COG', 'COG', 'CG');
INSERT INTO StdDestinations VALUES (51, 1, DEFAULT, 'la_country_COK', 'COK', 'CK');
INSERT INTO StdDestinations VALUES (52, 1, DEFAULT, 'la_country_CRI', 'CRI', 'CR');
INSERT INTO StdDestinations VALUES (53, 1, DEFAULT, 'la_country_CIV', 'CIV', 'CI');
INSERT INTO StdDestinations VALUES (54, 1, DEFAULT, 'la_country_HRV', 'HRV', 'HR');
INSERT INTO StdDestinations VALUES (55, 1, DEFAULT, 'la_country_CUB', 'CUB', 'CU');
INSERT INTO StdDestinations VALUES (56, 1, DEFAULT, 'la_country_CYP', 'CYP', 'CY');
INSERT INTO StdDestinations VALUES (57, 1, DEFAULT, 'la_country_CZE', 'CZE', 'CZ');
INSERT INTO StdDestinations VALUES (58, 1, DEFAULT, 'la_country_DNK', 'DNK', 'DK');
INSERT INTO StdDestinations VALUES (59, 1, DEFAULT, 'la_country_DJI', 'DJI', 'DJ');
INSERT INTO StdDestinations VALUES (60, 1, DEFAULT, 'la_country_DMA', 'DMA', 'DM');
INSERT INTO StdDestinations VALUES (61, 1, DEFAULT, 'la_country_DOM', 'DOM', 'DO');
INSERT INTO StdDestinations VALUES (62, 1, DEFAULT, 'la_country_TLS', 'TLS', 'TL');
INSERT INTO StdDestinations VALUES (63, 1, DEFAULT, 'la_country_ECU', 'ECU', 'EC');
INSERT INTO StdDestinations VALUES (64, 1, DEFAULT, 'la_country_EGY', 'EGY', 'EG');
INSERT INTO StdDestinations VALUES (65, 1, DEFAULT, 'la_country_SLV', 'SLV', 'SV');
INSERT INTO StdDestinations VALUES (66, 1, DEFAULT, 'la_country_GNQ', 'GNQ', 'GQ');
INSERT INTO StdDestinations VALUES (67, 1, DEFAULT, 'la_country_ERI', 'ERI', 'ER');
INSERT INTO StdDestinations VALUES (68, 1, DEFAULT, 'la_country_EST', 'EST', 'EE');
INSERT INTO StdDestinations VALUES (69, 1, DEFAULT, 'la_country_ETH', 'ETH', 'ET');
INSERT INTO StdDestinations VALUES (70, 1, DEFAULT, 'la_country_FLK', 'FLK', 'FK');
INSERT INTO StdDestinations VALUES (71, 1, DEFAULT, 'la_country_FRO', 'FRO', 'FO');
INSERT INTO StdDestinations VALUES (72, 1, DEFAULT, 'la_country_FJI', 'FJI', 'FJ');
INSERT INTO StdDestinations VALUES (73, 1, DEFAULT, 'la_country_FIN', 'FIN', 'FI');
INSERT INTO StdDestinations VALUES (74, 1, DEFAULT, 'la_country_FRA', 'FRA', 'FR');
INSERT INTO StdDestinations VALUES (75, 1, DEFAULT, 'la_country_FXX', 'FXX', 'FX');
INSERT INTO StdDestinations VALUES (76, 1, DEFAULT, 'la_country_GUF', 'GUF', 'GF');
INSERT INTO StdDestinations VALUES (77, 1, DEFAULT, 'la_country_PYF', 'PYF', 'PF');
INSERT INTO StdDestinations VALUES (78, 1, DEFAULT, 'la_country_ATF', 'ATF', 'TF');
INSERT INTO StdDestinations VALUES (79, 1, DEFAULT, 'la_country_GAB', 'GAB', 'GA');
INSERT INTO StdDestinations VALUES (80, 1, DEFAULT, 'la_country_GMB', 'GMB', 'GM');
INSERT INTO StdDestinations VALUES (81, 1, DEFAULT, 'la_country_GEO', 'GEO', 'GE');
INSERT INTO StdDestinations VALUES (82, 1, DEFAULT, 'la_country_DEU', 'DEU', 'DE');
INSERT INTO StdDestinations VALUES (83, 1, DEFAULT, 'la_country_GHA', 'GHA', 'GH');
INSERT INTO StdDestinations VALUES (84, 1, DEFAULT, 'la_country_GIB', 'GIB', 'GI');
INSERT INTO StdDestinations VALUES (85, 1, DEFAULT, 'la_country_GRC', 'GRC', 'GR');
INSERT INTO StdDestinations VALUES (86, 1, DEFAULT, 'la_country_GRL', 'GRL', 'GL');
INSERT INTO StdDestinations VALUES (87, 1, DEFAULT, 'la_country_GRD', 'GRD', 'GD');
INSERT INTO StdDestinations VALUES (88, 1, DEFAULT, 'la_country_GLP', 'GLP', 'GP');
INSERT INTO StdDestinations VALUES (89, 1, DEFAULT, 'la_country_GUM', 'GUM', 'GU');
INSERT INTO StdDestinations VALUES (90, 1, DEFAULT, 'la_country_GTM', 'GTM', 'GT');
INSERT INTO StdDestinations VALUES (91, 1, DEFAULT, 'la_country_GIN', 'GIN', 'GN');
INSERT INTO StdDestinations VALUES (92, 1, DEFAULT, 'la_country_GNB', 'GNB', 'GW');
INSERT INTO StdDestinations VALUES (93, 1, DEFAULT, 'la_country_GUY', 'GUY', 'GY');
INSERT INTO StdDestinations VALUES (94, 1, DEFAULT, 'la_country_HTI', 'HTI', 'HT');
INSERT INTO StdDestinations VALUES (95, 1, DEFAULT, 'la_country_HMD', 'HMD', 'HM');
INSERT INTO StdDestinations VALUES (96, 1, DEFAULT, 'la_country_HND', 'HND', 'HN');
INSERT INTO StdDestinations VALUES (97, 1, DEFAULT, 'la_country_HKG', 'HKG', 'HK');
INSERT INTO StdDestinations VALUES (98, 1, DEFAULT, 'la_country_HUN', 'HUN', 'HU');
INSERT INTO StdDestinations VALUES (99, 1, DEFAULT, 'la_country_ISL', 'ISL', 'IS');
INSERT INTO StdDestinations VALUES (100, 1, DEFAULT, 'la_country_IND', 'IND', 'IN');
INSERT INTO StdDestinations VALUES (101, 1, DEFAULT, 'la_country_IDN', 'IDN', 'ID');
INSERT INTO StdDestinations VALUES (102, 1, DEFAULT, 'la_country_IRN', 'IRN', 'IR');
INSERT INTO StdDestinations VALUES (103, 1, DEFAULT, 'la_country_IRQ', 'IRQ', 'IQ');
INSERT INTO StdDestinations VALUES (104, 1, DEFAULT, 'la_country_IRL', 'IRL', 'IE');
INSERT INTO StdDestinations VALUES (105, 1, DEFAULT, 'la_country_ISR', 'ISR', 'IL');
INSERT INTO StdDestinations VALUES (106, 1, DEFAULT, 'la_country_ITA', 'ITA', 'IT');
INSERT INTO StdDestinations VALUES (107, 1, DEFAULT, 'la_country_JAM', 'JAM', 'JM');
INSERT INTO StdDestinations VALUES (108, 1, DEFAULT, 'la_country_JPN', 'JPN', 'JP');
INSERT INTO StdDestinations VALUES (109, 1, DEFAULT, 'la_country_JOR', 'JOR', 'JO');
INSERT INTO StdDestinations VALUES (110, 1, DEFAULT, 'la_country_KAZ', 'KAZ', 'KZ');
INSERT INTO StdDestinations VALUES (111, 1, DEFAULT, 'la_country_KEN', 'KEN', 'KE');
INSERT INTO StdDestinations VALUES (112, 1, DEFAULT, 'la_country_KIR', 'KIR', 'KI');
INSERT INTO StdDestinations VALUES (113, 1, DEFAULT, 'la_country_PRK', 'PRK', 'KP');
INSERT INTO StdDestinations VALUES (114, 1, DEFAULT, 'la_country_KOR', 'KOR', 'KR');
INSERT INTO StdDestinations VALUES (115, 1, DEFAULT, 'la_country_KWT', 'KWT', 'KW');
INSERT INTO StdDestinations VALUES (116, 1, DEFAULT, 'la_country_KGZ', 'KGZ', 'KG');
INSERT INTO StdDestinations VALUES (117, 1, DEFAULT, 'la_country_LAO', 'LAO', 'LA');
INSERT INTO StdDestinations VALUES (118, 1, DEFAULT, 'la_country_LVA', 'LVA', 'LV');
INSERT INTO StdDestinations VALUES (119, 1, DEFAULT, 'la_country_LBN', 'LBN', 'LB');
INSERT INTO StdDestinations VALUES (120, 1, DEFAULT, 'la_country_LSO', 'LSO', 'LS');
INSERT INTO StdDestinations VALUES (121, 1, DEFAULT, 'la_country_LBR', 'LBR', 'LR');
INSERT INTO StdDestinations VALUES (122, 1, DEFAULT, 'la_country_LBY', 'LBY', 'LY');
INSERT INTO StdDestinations VALUES (123, 1, DEFAULT, 'la_country_LIE', 'LIE', 'LI');
INSERT INTO StdDestinations VALUES (124, 1, DEFAULT, 'la_country_LTU', 'LTU', 'LT');
INSERT INTO StdDestinations VALUES (125, 1, DEFAULT, 'la_country_LUX', 'LUX', 'LU');
INSERT INTO StdDestinations VALUES (126, 1, DEFAULT, 'la_country_MAC', 'MAC', 'MO');
INSERT INTO StdDestinations VALUES (127, 1, DEFAULT, 'la_country_MKD', 'MKD', 'MK');
INSERT INTO StdDestinations VALUES (128, 1, DEFAULT, 'la_country_MDG', 'MDG', 'MG');
INSERT INTO StdDestinations VALUES (129, 1, DEFAULT, 'la_country_MWI', 'MWI', 'MW');
INSERT INTO StdDestinations VALUES (130, 1, DEFAULT, 'la_country_MYS', 'MYS', 'MY');
INSERT INTO StdDestinations VALUES (131, 1, DEFAULT, 'la_country_MDV', 'MDV', 'MV');
INSERT INTO StdDestinations VALUES (132, 1, DEFAULT, 'la_country_MLI', 'MLI', 'ML');
INSERT INTO StdDestinations VALUES (133, 1, DEFAULT, 'la_country_MLT', 'MLT', 'MT');
INSERT INTO StdDestinations VALUES (134, 1, DEFAULT, 'la_country_MHL', 'MHL', 'MH');
INSERT INTO StdDestinations VALUES (135, 1, DEFAULT, 'la_country_MTQ', 'MTQ', 'MQ');
INSERT INTO StdDestinations VALUES (136, 1, DEFAULT, 'la_country_MRT', 'MRT', 'MR');
INSERT INTO StdDestinations VALUES (137, 1, DEFAULT, 'la_country_MUS', 'MUS', 'MU');
INSERT INTO StdDestinations VALUES (138, 1, DEFAULT, 'la_country_MYT', 'MYT', 'YT');
INSERT INTO StdDestinations VALUES (139, 1, DEFAULT, 'la_country_MEX', 'MEX', 'MX');
INSERT INTO StdDestinations VALUES (140, 1, DEFAULT, 'la_country_FSM', 'FSM', 'FM');
INSERT INTO StdDestinations VALUES (141, 1, DEFAULT, 'la_country_MDA', 'MDA', 'MD');
INSERT INTO StdDestinations VALUES (142, 1, DEFAULT, 'la_country_MCO', 'MCO', 'MC');
INSERT INTO StdDestinations VALUES (143, 1, DEFAULT, 'la_country_MNG', 'MNG', 'MN');
INSERT INTO StdDestinations VALUES (144, 1, DEFAULT, 'la_country_MSR', 'MSR', 'MS');
INSERT INTO StdDestinations VALUES (145, 1, DEFAULT, 'la_country_MAR', 'MAR', 'MA');
INSERT INTO StdDestinations VALUES (146, 1, DEFAULT, 'la_country_MOZ', 'MOZ', 'MZ');
INSERT INTO StdDestinations VALUES (147, 1, DEFAULT, 'la_country_MMR', 'MMR', 'MM');
INSERT INTO StdDestinations VALUES (148, 1, DEFAULT, 'la_country_NAM', 'NAM', 'NA');
INSERT INTO StdDestinations VALUES (149, 1, DEFAULT, 'la_country_NRU', 'NRU', 'NR');
INSERT INTO StdDestinations VALUES (150, 1, DEFAULT, 'la_country_NPL', 'NPL', 'NP');
INSERT INTO StdDestinations VALUES (151, 1, DEFAULT, 'la_country_NLD', 'NLD', 'NL');
INSERT INTO StdDestinations VALUES (152, 1, DEFAULT, 'la_country_ANT', 'ANT', 'AN');
INSERT INTO StdDestinations VALUES (153, 1, DEFAULT, 'la_country_NCL', 'NCL', 'NC');
INSERT INTO StdDestinations VALUES (154, 1, DEFAULT, 'la_country_NZL', 'NZL', 'NZ');
INSERT INTO StdDestinations VALUES (155, 1, DEFAULT, 'la_country_NIC', 'NIC', 'NI');
INSERT INTO StdDestinations VALUES (156, 1, DEFAULT, 'la_country_NER', 'NER', 'NE');
INSERT INTO StdDestinations VALUES (157, 1, DEFAULT, 'la_country_NGA', 'NGA', 'NG');
INSERT INTO StdDestinations VALUES (158, 1, DEFAULT, 'la_country_NIU', 'NIU', 'NU');
INSERT INTO StdDestinations VALUES (159, 1, DEFAULT, 'la_country_NFK', 'NFK', 'NF');
INSERT INTO StdDestinations VALUES (160, 1, DEFAULT, 'la_country_MNP', 'MNP', 'MP');
INSERT INTO StdDestinations VALUES (161, 1, DEFAULT, 'la_country_NOR', 'NOR', 'NO');
INSERT INTO StdDestinations VALUES (162, 1, DEFAULT, 'la_country_OMN', 'OMN', 'OM');
INSERT INTO StdDestinations VALUES (163, 1, DEFAULT, 'la_country_PAK', 'PAK', 'PK');
INSERT INTO StdDestinations VALUES (164, 1, DEFAULT, 'la_country_PLW', 'PLW', 'PW');
INSERT INTO StdDestinations VALUES (165, 1, DEFAULT, 'la_country_PSE', 'PSE', 'PS');
INSERT INTO StdDestinations VALUES (166, 1, DEFAULT, 'la_country_PAN', 'PAN', 'PA');
INSERT INTO StdDestinations VALUES (167, 1, DEFAULT, 'la_country_PNG', 'PNG', 'PG');
INSERT INTO StdDestinations VALUES (168, 1, DEFAULT, 'la_country_PRY', 'PRY', 'PY');
INSERT INTO StdDestinations VALUES (169, 1, DEFAULT, 'la_country_PER', 'PER', 'PE');
INSERT INTO StdDestinations VALUES (170, 1, DEFAULT, 'la_country_PHL', 'PHL', 'PH');
INSERT INTO StdDestinations VALUES (171, 1, DEFAULT, 'la_country_PCN', 'PCN', 'PN');
INSERT INTO StdDestinations VALUES (172, 1, DEFAULT, 'la_country_POL', 'POL', 'PL');
INSERT INTO StdDestinations VALUES (173, 1, DEFAULT, 'la_country_PRT', 'PRT', 'PT');
INSERT INTO StdDestinations VALUES (174, 1, DEFAULT, 'la_country_PRI', 'PRI', 'PR');
INSERT INTO StdDestinations VALUES (175, 1, DEFAULT, 'la_country_QAT', 'QAT', 'QA');
INSERT INTO StdDestinations VALUES (176, 1, DEFAULT, 'la_country_REU', 'REU', 'RE');
INSERT INTO StdDestinations VALUES (177, 1, DEFAULT, 'la_country_ROU', 'ROU', 'RO');
INSERT INTO StdDestinations VALUES (178, 1, DEFAULT, 'la_country_RUS', 'RUS', 'RU');
INSERT INTO StdDestinations VALUES (179, 1, DEFAULT, 'la_country_RWA', 'RWA', 'RW');
INSERT INTO StdDestinations VALUES (180, 1, DEFAULT, 'la_country_KNA', 'KNA', 'KN');
INSERT INTO StdDestinations VALUES (181, 1, DEFAULT, 'la_country_LCA', 'LCA', 'LC');
INSERT INTO StdDestinations VALUES (182, 1, DEFAULT, 'la_country_VCT', 'VCT', 'VC');
INSERT INTO StdDestinations VALUES (183, 1, DEFAULT, 'la_country_WSM', 'WSM', 'WS');
INSERT INTO StdDestinations VALUES (184, 1, DEFAULT, 'la_country_SMR', 'SMR', 'SM');
INSERT INTO StdDestinations VALUES (185, 1, DEFAULT, 'la_country_STP', 'STP', 'ST');
INSERT INTO StdDestinations VALUES (186, 1, DEFAULT, 'la_country_SAU', 'SAU', 'SA');
INSERT INTO StdDestinations VALUES (187, 1, DEFAULT, 'la_country_SEN', 'SEN', 'SN');
INSERT INTO StdDestinations VALUES (188, 1, DEFAULT, 'la_country_SYC', 'SYC', 'SC');
INSERT INTO StdDestinations VALUES (189, 1, DEFAULT, 'la_country_SLE', 'SLE', 'SL');
INSERT INTO StdDestinations VALUES (190, 1, DEFAULT, 'la_country_SGP', 'SGP', 'SG');
INSERT INTO StdDestinations VALUES (191, 1, DEFAULT, 'la_country_SVK', 'SVK', 'SK');
INSERT INTO StdDestinations VALUES (192, 1, DEFAULT, 'la_country_SVN', 'SVN', 'SI');
INSERT INTO StdDestinations VALUES (193, 1, DEFAULT, 'la_country_SLB', 'SLB', 'SB');
INSERT INTO StdDestinations VALUES (194, 1, DEFAULT, 'la_country_SOM', 'SOM', 'SO');
INSERT INTO StdDestinations VALUES (195, 1, DEFAULT, 'la_country_ZAF', 'ZAF', 'ZA');
INSERT INTO StdDestinations VALUES (196, 1, DEFAULT, 'la_country_SGS', 'SGS', 'GS');
INSERT INTO StdDestinations VALUES (197, 1, DEFAULT, 'la_country_ESP', 'ESP', 'ES');
INSERT INTO StdDestinations VALUES (198, 1, DEFAULT, 'la_country_LKA', 'LKA', 'LK');
INSERT INTO StdDestinations VALUES (199, 1, DEFAULT, 'la_country_SHN', 'SHN', 'SH');
INSERT INTO StdDestinations VALUES (200, 1, DEFAULT, 'la_country_SPM', 'SPM', 'PM');
INSERT INTO StdDestinations VALUES (201, 1, DEFAULT, 'la_country_SDN', 'SDN', 'SD');
INSERT INTO StdDestinations VALUES (202, 1, DEFAULT, 'la_country_SUR', 'SUR', 'SR');
INSERT INTO StdDestinations VALUES (203, 1, DEFAULT, 'la_country_SJM', 'SJM', 'SJ');
INSERT INTO StdDestinations VALUES (204, 1, DEFAULT, 'la_country_SWZ', 'SWZ', 'SZ');
INSERT INTO StdDestinations VALUES (205, 1, DEFAULT, 'la_country_SWE', 'SWE', 'SE');
INSERT INTO StdDestinations VALUES (206, 1, DEFAULT, 'la_country_CHE', 'CHE', 'CH');
INSERT INTO StdDestinations VALUES (207, 1, DEFAULT, 'la_country_SYR', 'SYR', 'SY');
INSERT INTO StdDestinations VALUES (208, 1, DEFAULT, 'la_country_TWN', 'TWN', 'TW');
INSERT INTO StdDestinations VALUES (209, 1, DEFAULT, 'la_country_TJK', 'TJK', 'TJ');
INSERT INTO StdDestinations VALUES (210, 1, DEFAULT, 'la_country_TZA', 'TZA', 'TZ');
INSERT INTO StdDestinations VALUES (211, 1, DEFAULT, 'la_country_THA', 'THA', 'TH');
INSERT INTO StdDestinations VALUES (212, 1, DEFAULT, 'la_country_TGO', 'TGO', 'TG');
INSERT INTO StdDestinations VALUES (213, 1, DEFAULT, 'la_country_TKL', 'TKL', 'TK');
INSERT INTO StdDestinations VALUES (214, 1, DEFAULT, 'la_country_TON', 'TON', 'TO');
INSERT INTO StdDestinations VALUES (215, 1, DEFAULT, 'la_country_TTO', 'TTO', 'TT');
INSERT INTO StdDestinations VALUES (216, 1, DEFAULT, 'la_country_TUN', 'TUN', 'TN');
INSERT INTO StdDestinations VALUES (217, 1, DEFAULT, 'la_country_TUR', 'TUR', 'TR');
INSERT INTO StdDestinations VALUES (218, 1, DEFAULT, 'la_country_TKM', 'TKM', 'TM');
INSERT INTO StdDestinations VALUES (219, 1, DEFAULT, 'la_country_TCA', 'TCA', 'TC');
INSERT INTO StdDestinations VALUES (220, 1, DEFAULT, 'la_country_TUV', 'TUV', 'TV');
INSERT INTO StdDestinations VALUES (221, 1, DEFAULT, 'la_country_UGA', 'UGA', 'UG');
INSERT INTO StdDestinations VALUES (222, 1, DEFAULT, 'la_country_UKR', 'UKR', 'UA');
INSERT INTO StdDestinations VALUES (223, 1, DEFAULT, 'la_country_ARE', 'ARE', 'AE');
INSERT INTO StdDestinations VALUES (224, 1, DEFAULT, 'la_country_GBR', 'GBR', 'GB');
INSERT INTO StdDestinations VALUES (225, 1, DEFAULT, 'la_country_USA', 'USA', 'US');
INSERT INTO StdDestinations VALUES (226, 1, DEFAULT, 'la_country_UMI', 'UMI', 'UM');
INSERT INTO StdDestinations VALUES (227, 1, DEFAULT, 'la_country_URY', 'URY', 'UY');
INSERT INTO StdDestinations VALUES (228, 1, DEFAULT, 'la_country_UZB', 'UZB', 'UZ');
INSERT INTO StdDestinations VALUES (229, 1, DEFAULT, 'la_country_VUT', 'VUT', 'VU');
INSERT INTO StdDestinations VALUES (230, 1, DEFAULT, 'la_country_VAT', 'VAT', 'VA');
INSERT INTO StdDestinations VALUES (231, 1, DEFAULT, 'la_country_VEN', 'VEN', 'VE');
INSERT INTO StdDestinations VALUES (232, 1, DEFAULT, 'la_country_VNM', 'VNM', 'VN');
INSERT INTO StdDestinations VALUES (233, 1, DEFAULT, 'la_country_VGB', 'VGB', 'VG');
INSERT INTO StdDestinations VALUES (234, 1, DEFAULT, 'la_country_VIR', 'VIR', 'VI');
INSERT INTO StdDestinations VALUES (235, 1, DEFAULT, 'la_country_WLF', 'WLF', 'WF');
INSERT INTO StdDestinations VALUES (236, 1, DEFAULT, 'la_country_ESH', 'ESH', 'EH');
INSERT INTO StdDestinations VALUES (237, 1, DEFAULT, 'la_country_YEM', 'YEM', 'YE');
INSERT INTO StdDestinations VALUES (238, 1, DEFAULT, 'la_country_YUG', 'YUG', 'YU');
INSERT INTO StdDestinations VALUES (239, 1, DEFAULT, 'la_country_ZMB', 'ZMB', 'ZM');
INSERT INTO StdDestinations VALUES (240, 1, DEFAULT, 'la_country_ZWE', 'ZWE', 'ZW');
INSERT INTO StdDestinations VALUES (370, 2, 38, 'la_state_YT', 'YT', DEFAULT);
INSERT INTO StdDestinations VALUES (369, 2, 38, 'la_state_SK', 'SK', DEFAULT);
INSERT INTO StdDestinations VALUES (368, 2, 38, 'la_state_QC', 'QC', DEFAULT);
INSERT INTO StdDestinations VALUES (367, 2, 38, 'la_state_PE', 'PE', DEFAULT);
INSERT INTO StdDestinations VALUES (366, 2, 38, 'la_state_ON', 'ON', DEFAULT);
INSERT INTO StdDestinations VALUES (365, 2, 38, 'la_state_NU', 'NU', DEFAULT);
INSERT INTO StdDestinations VALUES (364, 2, 38, 'la_state_NS', 'NS', DEFAULT);
INSERT INTO StdDestinations VALUES (363, 2, 38, 'la_state_NT', 'NT', DEFAULT);
INSERT INTO StdDestinations VALUES (362, 2, 38, 'la_state_NL', 'NL', DEFAULT);
INSERT INTO StdDestinations VALUES (361, 2, 38, 'la_state_NB', 'NB', DEFAULT);
INSERT INTO StdDestinations VALUES (360, 2, 38, 'la_state_MB', 'MB', DEFAULT);
INSERT INTO StdDestinations VALUES (359, 2, 38, 'la_state_BC', 'BC', DEFAULT);
INSERT INTO StdDestinations VALUES (358, 2, 38, 'la_state_AB', 'AB', DEFAULT);
INSERT INTO StdDestinations VALUES (357, 2, 225, 'la_state_DC', 'DC', DEFAULT);
INSERT INTO StdDestinations VALUES (356, 2, 225, 'la_state_WY', 'WY', DEFAULT);
INSERT INTO StdDestinations VALUES (355, 2, 225, 'la_state_WI', 'WI', DEFAULT);
INSERT INTO StdDestinations VALUES (354, 2, 225, 'la_state_WV', 'WV', DEFAULT);
INSERT INTO StdDestinations VALUES (353, 2, 225, 'la_state_WA', 'WA', DEFAULT);
INSERT INTO StdDestinations VALUES (352, 2, 225, 'la_state_VA', 'VA', DEFAULT);
INSERT INTO StdDestinations VALUES (351, 2, 225, 'la_state_VT', 'VT', DEFAULT);
INSERT INTO StdDestinations VALUES (350, 2, 225, 'la_state_UT', 'UT', DEFAULT);
INSERT INTO StdDestinations VALUES (349, 2, 225, 'la_state_TX', 'TX', DEFAULT);
INSERT INTO StdDestinations VALUES (348, 2, 225, 'la_state_TN', 'TN', DEFAULT);
INSERT INTO StdDestinations VALUES (347, 2, 225, 'la_state_SD', 'SD', DEFAULT);
INSERT INTO StdDestinations VALUES (346, 2, 225, 'la_state_SC', 'SC', DEFAULT);
INSERT INTO StdDestinations VALUES (345, 2, 225, 'la_state_RI', 'RI', DEFAULT);
INSERT INTO StdDestinations VALUES (344, 2, 225, 'la_state_PR', 'PR', DEFAULT);
INSERT INTO StdDestinations VALUES (343, 2, 225, 'la_state_PA', 'PA', DEFAULT);
INSERT INTO StdDestinations VALUES (342, 2, 225, 'la_state_OR', 'OR', DEFAULT);
INSERT INTO StdDestinations VALUES (341, 2, 225, 'la_state_OK', 'OK', DEFAULT);
INSERT INTO StdDestinations VALUES (340, 2, 225, 'la_state_OH', 'OH', DEFAULT);
INSERT INTO StdDestinations VALUES (339, 2, 225, 'la_state_ND', 'ND', DEFAULT);
INSERT INTO StdDestinations VALUES (338, 2, 225, 'la_state_NC', 'NC', DEFAULT);
INSERT INTO StdDestinations VALUES (337, 2, 225, 'la_state_NY', 'NY', DEFAULT);
INSERT INTO StdDestinations VALUES (336, 2, 225, 'la_state_NM', 'NM', DEFAULT);
INSERT INTO StdDestinations VALUES (335, 2, 225, 'la_state_NJ', 'NJ', DEFAULT);
INSERT INTO StdDestinations VALUES (334, 2, 225, 'la_state_NH', 'NH', DEFAULT);
INSERT INTO StdDestinations VALUES (333, 2, 225, 'la_state_NV', 'NV', DEFAULT);
INSERT INTO StdDestinations VALUES (332, 2, 225, 'la_state_NE', 'NE', DEFAULT);
INSERT INTO StdDestinations VALUES (331, 2, 225, 'la_state_MT', 'MT', DEFAULT);
INSERT INTO StdDestinations VALUES (330, 2, 225, 'la_state_MO', 'MO', DEFAULT);
INSERT INTO StdDestinations VALUES (329, 2, 225, 'la_state_MS', 'MS', DEFAULT);
INSERT INTO StdDestinations VALUES (328, 2, 225, 'la_state_MN', 'MN', DEFAULT);
INSERT INTO StdDestinations VALUES (327, 2, 225, 'la_state_MI', 'MI', DEFAULT);
INSERT INTO StdDestinations VALUES (326, 2, 225, 'la_state_MA', 'MA', DEFAULT);
INSERT INTO StdDestinations VALUES (325, 2, 225, 'la_state_MD', 'MD', DEFAULT);
INSERT INTO StdDestinations VALUES (324, 2, 225, 'la_state_ME', 'ME', DEFAULT);
INSERT INTO StdDestinations VALUES (323, 2, 225, 'la_state_LA', 'LA', DEFAULT);
INSERT INTO StdDestinations VALUES (322, 2, 225, 'la_state_KY', 'KY', DEFAULT);
INSERT INTO StdDestinations VALUES (321, 2, 225, 'la_state_KS', 'KS', DEFAULT);
INSERT INTO StdDestinations VALUES (320, 2, 225, 'la_state_IA', 'IA', DEFAULT);
INSERT INTO StdDestinations VALUES (319, 2, 225, 'la_state_IN', 'IN', DEFAULT);
INSERT INTO StdDestinations VALUES (318, 2, 225, 'la_state_IL', 'IL', DEFAULT);
INSERT INTO StdDestinations VALUES (317, 2, 225, 'la_state_ID', 'ID', DEFAULT);
INSERT INTO StdDestinations VALUES (316, 2, 225, 'la_state_HI', 'HI', DEFAULT);
INSERT INTO StdDestinations VALUES (315, 2, 225, 'la_state_GA', 'GA', DEFAULT);
INSERT INTO StdDestinations VALUES (314, 2, 225, 'la_state_FL', 'FL', DEFAULT);
INSERT INTO StdDestinations VALUES (313, 2, 225, 'la_state_DE', 'DE', DEFAULT);
INSERT INTO StdDestinations VALUES (312, 2, 225, 'la_state_CT', 'CT', DEFAULT);
INSERT INTO StdDestinations VALUES (311, 2, 225, 'la_state_CO', 'CO', DEFAULT);
INSERT INTO StdDestinations VALUES (310, 2, 225, 'la_state_CA', 'CA', DEFAULT);
INSERT INTO StdDestinations VALUES (309, 2, 225, 'la_state_AR', 'AR', DEFAULT);
INSERT INTO StdDestinations VALUES (308, 2, 225, 'la_state_AZ', 'AZ', DEFAULT);
INSERT INTO StdDestinations VALUES (307, 2, 225, 'la_state_AK', 'AK', DEFAULT);
INSERT INTO StdDestinations VALUES (306, 2, 225, 'la_state_AL', 'AL', DEFAULT);
INSERT INTO PermissionConfig VALUES (DEFAULT, 'CATEGORY.VIEW', 'lu_PermName_Category.View_desc', 'lu_PermName_Category.View_error', 'In-Portal');
INSERT INTO PermCache VALUES (DEFAULT, 0, 1, '11,12,13,14,15');
INSERT INTO Permissions VALUES (DEFAULT, 'LOGIN', 13, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'LOGIN', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'ADMIN', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:root.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:system.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:user_list.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:user_list.add', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:user_list.edit', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:user_list.delete', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:configure_lang.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:configure_lang.add', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:configure_lang.edit', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:configure_lang.delete', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.VIEW', 11, 1, 0, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.ADD', 11, 1, 0, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.DELETE', 11, 1, 0, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.MODIFY', 11, 1, 0, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:service.view', 11, 1, 1, 0);
-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_1.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 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.error {\r\n color: red;\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_1.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";}}', 1183202859, 1);
INSERT INTO Modules VALUES ('Core', 'core/', 'adm', DEFAULT, 1, 1, '', 0, '0');
Property changes on: trunk/core/install/install_data.sql
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.8
\ No newline at end of property
+1.9
\ No newline at end of property
Index: trunk/core/install.php
===================================================================
--- trunk/core/install.php (revision 8900)
+++ trunk/core/install.php (revision 8901)
@@ -1,1175 +1,1175 @@
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
define('IS_INSTALL', 1);
define('ADMIN', 1);
define('FULL_PATH', realpath(dirname(__FILE__).'/..') );
define('REL_PATH', '/core');
/**
* Upgrade sqls are located using this mask
*
*/
define('UPGRADES_FILE', FULL_PATH.'/%sinstall/upgrades.%s');
/**
* Format of version identificator in upgrade files
*
*/
define('VERSION_MARK', '# ===== v ([\d]+\.[\d]+\.[\d]+) =====');
// print_pre($_POST);
$install_engine = new kInstallator();
$install_engine->Init();
$install_engine->Run();
$install_engine->Done();
class kInstallator {
/**
* Reference to kApplication class object
*
* @var kApplication
*/
var $Application = null;
/**
* Connection to database
*
* @var kDBConnection
*/
var $Conn = null;
/**
* Path to config.php
*
* @var string
*/
var $INIFile = '';
/**
* XML file containing steps information
*
* @var string
*/
var $StepDBFile = '';
/**
* Parsed data from config.php
*
* @var Array
*/
var $systemConfig = Array ();
/**
* Step name, that currently being processed
*
* @var string
*/
var $currentStep = '';
/**
* Steps list (preset) to use for current installation
*
* @var string
*/
var $stepsPreset = '';
/**
* Installtion steps to be done
*
* @var Array
*/
var $steps = Array(
'fresh_install' => Array ('check_paths', 'db_config', 'root_password', 'choose_modules', 'finish'),
'already_installed' => Array ('install_setup'),
'upgrade' => Array ('install_setup', 'upgrade_modules', /* ..., */ 'finish'),
'db_reconfig' => Array ('install_setup',/* ..., */ 'finish'),
'fix_paths' => Array ('install_setup',/* ..., */ 'finish'),
);
/**
* Steps, that doesn't required admin to be logged-in to proceed
*
* @var Array
*/
var $skipLoginSteps = Array ('root_password', 'choose_modules', 'finish', -1);
/**
* Steps, on which kApplication should not be initialized, because of missing correct db table structure
*
* @var Array
*/
var $skipApplicationSteps = Array ('check_paths', 'db_config'/*, 'install_setup'*/); // remove install_setup when application will work separately from install
/**
* Folders that should be writeable to continue installation
*
* @var Array
*/
var $writeableFolders = Array ('/system');
/**
* Contains last error message text
*
* @var string
*/
var $errorMessage = '';
/**
* Base path for includes in templates
*
* @var string
*/
var $baseURL = '';
function Init()
{
$this->INIFile = FULL_PATH.'/config.php';
$this->StepDBFile = FULL_PATH.'/'.REL_PATH.'/install/steps_db.xml';
$base_path = rtrim(preg_replace('/'.preg_quote(rtrim(REL_PATH, '/'), '/').'$/', '', str_replace('\\', '/', dirname($_SERVER['PHP_SELF']))), '/');
$this->baseURL = 'http://'.$_SERVER['HTTP_HOST'].$base_path.'/core/install/';
set_error_handler( Array(&$this, 'ErrorHandler') );
if (file_exists($this->INIFile)) {
// if config.php found, then check his write permission too
$this->writeableFolders[] = '/config.php';
}
else {
$this->writeableFolders[] = '/';
}
$this->systemConfig = $this->ParseConfig(true);
$this->systemConfig['Misc']['WriteablePath'] = '/system'; // for development purposes
$this->systemConfig['Misc']['Domain'] = $_SERVER['HTTP_HOST']; // for redirects from SSL mode
$this->currentStep = $this->GetVar('step');
// can't check login on steps where no application present anyways :)
$this->skipLoginSteps = array_unique(array_merge($this->skipLoginSteps, $this->skipApplicationSteps));
$this->SelectPreset();
if (!$this->currentStep) {
$this->SetFirstStep(); // sets first step of current preset
}
$this->InitStep();
}
function SetFirstStep()
{
reset($this->steps[$this->stepsPreset]);
$this->currentStep = current($this->steps[$this->stepsPreset]);
}
/**
* Selects preset to proceed based on various criteria
*
*/
function SelectPreset()
{
$preset = $this->GetVar('preset');
if (file_exists($this->INIFile) && $this->systemConfig) {
// only at installation first step
$status = $this->CheckDatabase(false);
if ($status && $this->AlreadyInstalled()) {
// if already installed, then all future actions need login to work
$this->skipLoginSteps = Array (-1);
if (!$preset) {
$preset = 'already_installed';
$this->currentStep = '';
}
}
}
if ($preset === false) {
$preset = 'fresh_install'; // default preset
}
$this->stepsPreset = $preset;
}
function GetVar($name)
{
return isset($_REQUEST[$name]) ? $_REQUEST[$name] : false;
}
/**
* Performs needed intialization of data, that step requires
*
*/
function InitStep()
{
$require_login = !in_array($this->currentStep, $this->skipLoginSteps);
$this->InitApplication($require_login);
if ($require_login) {
// step require login to proceed
if (!$this->Application->LoggedIn()) {
$this->stepsPreset = 'already_installed';
$this->SetFirstStep();
}
}
switch ($this->currentStep) {
case 'check_paths':
foreach ($this->writeableFolders as $folder_path) {
$file_path = FULL_PATH.$folder_path;
if (!is_writable($file_path)) {
$this->errorMessage = 'Install cannot write to specified folder in the root directory of your installation';
break;
}
}
break;
case 'db_config':
$section_name = 'Database';
$fields = Array ('DBType', 'DBHost', 'DBName', 'DBUser', 'DBUserPassword', 'DBCollation', 'TablePrefix');
if (!isset($this->systemConfig[$section_name])) {
$this->systemConfig[$section_name] = Array ();
}
// set fields
foreach ($fields as $field_name) {
$submit_value = $this->GetVar($field_name);
if ($submit_value !== false) {
$this->systemConfig[$section_name][$field_name] = $submit_value;
}
elseif (!isset($this->systemConfig[$section_name][$field_name])) {
$this->systemConfig[$section_name][$field_name] = '';
}
}
break;
case 'choose_modules':
// if no modules found, then proceed to next step
$modules = $this->ScanModules();
if (!$modules) {
$this->currentStep = $this->GetNextStep();
}
break;
case 'upgrade_modules':
// get installed modules from db and compare their versions to upgrade script
$modules = $this->GetUpgradableModules();
if (!$modules) {
$this->currentStep = $this->GetNextStep();
}
break;
case 'install_setup':
$next_preset = $this->Application->GetVar('next_preset');
if ($next_preset !== false && $this->Application->GetVar('login') == 'root') {
// option was choosen, then verify password & login user
$login_event = new kEvent('u.current:OnLogin');
$this->Application->HandleEvent($login_event);
if ($login_event->status == erSUCCESS) {
// login succeeded
if (!isset($this->steps[$next_preset])) {
$this->errorMessage = 'Preset "'.$next_preset.'" not yet implemented';
}
else {
$this->stepsPreset = $next_preset;
}
}
else {
// login failed
$user =& $this->Application->recallObject('u.current');
/* @var $user UsersItem */
$this->errorMessage = $user->GetErrorMsg('ValidateLogin').'. If you don\'t know your username or password, contact Intechnic Support';
}
}
else {
// if preset was not choosen, then raise error
$this->errorMessage = 'Please select action to perform';
}
break;
}
$this->PerformValidation(); // returns validation status (just in case)
}
/**
* Validates data entered by user
*
* @return bool
*/
function PerformValidation()
{
if ($this->GetVar('step') != $this->currentStep) {
// just redirect from previous step, don't validate
return true;
}
$status = true;
switch ($this->currentStep) {
case 'db_config':
// 1. check if required fields are filled
$section_name = 'Database';
$required_fields = Array ('DBType', 'DBHost', 'DBName', 'DBUser', 'DBCollation');
foreach ($required_fields as $required_field) {
if (!$this->systemConfig[$section_name][$required_field]) {
$status = false;
$this->errorMessage = 'Please fill all required fields';
break;
}
}
if (!$status) break;
// 2. check permissions, that use have in this database
$status = $this->CheckDatabase();
break;
case 'root_password':
// check, that password & verify password match
$password = $this->Application->GetVar('root_password');
$password_verify = $this->Application->GetVar('root_password_verify');
if ($password != $password_verify) {
$this->errorMessage = 'Passwords does not match';
}
elseif (strlen($password) < 4) {
$this->errorMessage = 'Root Password must be at least 4 characters';
}
$status = $this->errorMessage == '';
break;
}
return $status;
}
/**
* Perform installation step actions
*
*/
function Run()
{
if ($this->errorMessage) {
// was error during data validation stage
return ;
}
switch ($this->currentStep) {
case 'db_config':
// store db configuration
$sql = 'SHOW COLLATION
LIKE \''.$this->systemConfig['Database']['DBCollation'].'\'';
$collation_info = $this->Conn->Query($sql);
if ($collation_info) {
$this->systemConfig['Database']['DBCharset'] = $collation_info[0]['Charset'];
// database is already connected, that's why set collation on the fly
$this->Conn->Query('SET NAMES \''.$this->systemConfig['Database']['DBCharset'].'\' COLLATE \''.$this->systemConfig['Database']['DBCollation'].'\'');
}
$this->SaveConfig();
// import base data into database
$this->RunSQL('/core/install/install_schema.sql');
$this->RunSQL('/core/install/install_data.sql');
// set module "Core" version after install (based on upgrade scripts)
$this->SetModuleVersion('Core');
break;
case 'root_password':
// update root password in database
$password = md5( md5($this->Application->GetVar('root_password')) . 'b38');
$this->SetConfigValue('RootPass', $password);
// set Site_Path (for SSL & old in-portal code)
$this->SetConfigValue('Site_Path', BASE_PATH.'/');
// import base language for core (english)
$this->ImportLanguage('/core/install/english');
// set imported language as primary
$lang =& $this->Application->recallObject('lang.-item', null, Array('skip_autoload' => true));
/* @var $lang LanguagesItem */
$lang->Load(1); // fresh install => ID=1
$lang->setPrimary();
break;
case 'choose_modules':
// run module install scripts
$modules = $this->Application->GetVar('modules');
if ($modules) {
foreach ($modules as $module) {
$install_file = MODULES_PATH.'/'.$module.'/install.php';
if (file_exists($install_file)) {
include_once($install_file);
// set module version after install (based on upgrade scripts)
$this->SetModuleVersion($module);
}
}
}
// scan themes
$this->Application->HandleEvent($themes_event, 'adm:OnRebuildThemes');
$this->Conn->Query('UPDATE '.TABLE_PREFIX.'Theme SET Enabled=1, PrimaryTheme =1 LIMIT 1');
// update categories cache
$updater =& $this->Application->recallObject('kPermCacheUpdater');
/* @var $updater kPermCacheUpdater */
$updater->OneStepRun();
break;
case 'upgrade_modules':
// get installed modules from db and compare their versions to upgrade script
$modules = $this->Application->GetVar('modules');
if ($modules) {
$upgrade_data = $this->GetUpgradableModules();
foreach ($modules as $module_name) {
$module_info = $upgrade_data[$module_name];
$upgrades_file = sprintf(UPGRADES_FILE, $module_info['Path'], 'sql');
$sqls = file_get_contents($upgrades_file);
$version_mark = preg_replace('/(\(.*?\))/', $module_info['FromVersion'], VERSION_MARK);
// get only sqls from next (relative to current) version to end of file
$start_pos = strpos($sqls, $version_mark);
$sqls = substr($sqls, $start_pos);
preg_match_all('/'.VERSION_MARK.'/s', $sqls, $regs);
$this->RunUpgrades($module_info['Path'], $regs[1], 'before');
$this->RunSQLText($sqls);
$this->RunUpgrades($module_info['Path'], $regs[1], 'after');
// after upgrade sqls are executed update version
$this->SetModuleVersion($module_name, $module_info['ToVersion']);
}
}
else {
$this->errorMessage = 'Please select module(-s) to upgrade';
}
break;
case 'finish':
// delete cache
$sql = 'DELETE FROM '.TABLE_PREFIX.'Cache
WHERE VarName IN ("config_files","configs_parsed","sections_parsed")';
$this->Conn->Query($sql);
// set installation finished mark
if ($this->Application->ConfigValue('InstallFinished') === false) {
$fields_hash = Array (
'VariableName' => 'InstallFinished',
'VariableValue' => 1,
);
$this->Conn->doInsert($fields_hash, TABLE_PREFIX.'ConfigurationValues');
}
break;
}
if ($this->errorMessage) {
// was error during run stage
return ;
}
$this->currentStep = $this->GetNextStep();
$this->InitStep(); // init next step (that will be shown now)
$this->InitApplication();
if ($this->currentStep == -1) {
// step after last step -> redirect to admin
$this->Application->Redirect('index', null, '', 'index.php');
}
}
/**
* Run upgrade PHP scripts for module with specified path
*
* @param string $module_path
* @param Array $versions
* @param string $mode upgrade mode = {before,after}
*/
function RunUpgrades($module_path, $versions, $mode)
{
static $upgrade_classes = Array ();
$upgrades_file = sprintf(UPGRADES_FILE, $module_path, 'php');
if (!file_exists($upgrades_file) || !$versions) {
return ;
}
if (!isset($upgrade_classes[$module_path])) {
// save class name, because 2nd time
// (in after call $upgrade_class variable will not be present)
include_once $upgrades_file;
$upgrade_classes[$module_path] = $upgrade_class;
}
$upgrade_object = new $upgrade_classes[$module_path]();
if (method_exists($upgrade_object, 'setInstallator')) {
$upgrade_object->setInstallator($this);
}
foreach ($versions as $version) {
$upgrade_method = 'Upgrade_'.str_replace('.', '_', $version);
if (method_exists($upgrade_object, $upgrade_method)) {
$upgrade_object->$upgrade_method($mode);
}
}
}
/**
* Sets module version to passed
*
* @param string $module_name
* @param string $version
*/
function SetModuleVersion($module_name, $version = false)
{
if ($version === false) {
$version = $this->GetMaxModuleVersion($module_name);
}
$table_prefix = $this->systemConfig['Database']['TablePrefix'];
$sql = 'UPDATE '.$table_prefix.'Modules
SET Version = "'.$version.'"
WHERE Name = "'.$module_name.'"';
$this->Conn->Query($sql);
}
/**
* Sets new configuration variable value
*
* @param string $name
* @param mixed $value
*/
function SetConfigValue($name, $value)
{
$sql = 'UPDATE '.TABLE_PREFIX.'ConfigurationValues
SET VariableValue = '.$this->Conn->qstr($value).'
WHERE VariableName = '.$this->Conn->qstr($name);
$this->Conn->Query($sql);
}
/**
* Initialize kApplication
*
* @param bool $force initialize in any case
*/
function InitApplication($force = false)
{
if (($force || !in_array($this->currentStep, $this->skipApplicationSteps)) && !isset($this->Application)) {
// step is allowed for application usage & it was not initialized in previous step
global $start, $debugger, $dbg_options;
include_once(FULL_PATH.'/core/kernel/startup.php');
$this->Application =& kApplication::Instance();
$this->Application->Init();
$this->Conn =& $this->Application->GetADODBConnection();
}
}
/**
* Show next step screen
*
*/
function Done($error_message = null)
{
if (isset($error_message)) {
$this->errorMessage = $error_message;
}
include_once (FULL_PATH.'/'.REL_PATH.'/install/incs/install.tpl');
if (isset($this->Application)) {
$this->Application->Done();
// echo 'SID: ['.$this->Application->GetSID().']<br />';
}
exit;
}
function GetMaxModuleVersion($module_name)
{
$upgrades_file = sprintf(UPGRADES_FILE, strtolower($module_name).'/', 'sql');
if (!file_exists($upgrades_file)) {
// no upgrade file
return '4.0.1';
}
$sqls = file_get_contents($upgrades_file);
$versions_found = preg_match_all('/'.VERSION_MARK.'/s', $sqls, $regs);
if (!$versions_found) {
// upgrades file doesn't contain version definitions
return '4.0.1';
}
return end($regs[1]);
}
function ConnectToDatabase()
{
include_once FULL_PATH.'/core/kernel/db/db_connection.php';
if (!isset($this->systemConfig['Database']['DBType']) ||
!isset($this->systemConfig['Database']['DBUser']) ||
!isset($this->systemConfig['Database']['DBName'])
) {
return false;
}
$this->Conn = new kDBConnection($this->systemConfig['Database']['DBType'], Array(&$this, 'DBErrorHandler'));
$this->Conn->Connect($this->systemConfig['Database']['DBHost'], $this->systemConfig['Database']['DBUser'], $this->systemConfig['Database']['DBUserPassword'], $this->systemConfig['Database']['DBName']);
return $this->Conn->errorCode == 0;
}
/**
* Checks if core is already installed
*
* @return bool
*/
function AlreadyInstalled()
{
$table_prefix = $this->systemConfig['Database']['TablePrefix'];
return $this->TableExists('ConfigurationValues') && $this->Conn->GetOne('SELECT VariableValue FROM '.$table_prefix.'ConfigurationValues WHERE VariableName = \'InstallFinished\'');
}
function CheckDatabase($check_installed = true)
{
// perform various check type to database specified
// 1. user is allowed to connect to database
// 2. user has all types of permissions in database
if (strlen($this->systemConfig['Database']['TablePrefix']) > 7) {
$this->errorMessage = 'Table prefix should not be longer than 7 characters';
return false;
}
// connect to database
$status = $this->ConnectToDatabase();
if ($status) {
// if connected, then check if all sql statements work
$sql_tests[] = 'DROP TABLE IF EXISTS test_table';
$sql_tests[] = 'CREATE TABLE test_table(test_col mediumint(6))';
$sql_tests[] = 'LOCK TABLES test_table WRITE';
$sql_tests[] = 'INSERT INTO test_table(test_col) VALUES (5)';
$sql_tests[] = 'UPDATE test_table SET test_col = 12';
$sql_tests[] = 'UNLOCK TABLES';
$sql_tests[] = 'ALTER TABLE test_table ADD COLUMN new_col varchar(10)';
$sql_tests[] = 'SELECT * FROM test_table';
$sql_tests[] = 'DELETE FROM test_table';
$sql_tests[] = 'DROP TABLE IF EXISTS test_table';
foreach ($sql_tests as $sql_test) {
$this->Conn->Query($sql_test);
if ($this->Conn->getErrorCode() != 0) {
$status = false;
break;
}
}
if ($status) {
// if statements work & connection made, then check table existance
if ($check_installed && $this->AlreadyInstalled()) {
$this->errorMessage = 'An In-Portal Database already exists at this location';
return false;
}
}
else {
// user has insufficient permissions in database specified
$db_error = 'Permission Error: ('.$this->Conn->getErrorCode().') '.$this->Conn->getErrorMsg();
return false;
}
}
else {
// was error while connecting
if (!$this->Conn) return false;
$this->errorMessage = 'Connection Error: ('.$this->Conn->getErrorCode().') '.$this->Conn->getErrorMsg();
return false;
}
return true;
}
/**
* Checks if all passed tables exists
*
* @param string $tables comma separated tables list
* @return bool
*/
function TableExists($tables)
{
$prefix = $this->systemConfig['Database']['TablePrefix'];
$all_found = true;
$tables = explode(',', $tables);
foreach ($tables as $table_name) {
$sql = 'SHOW TABLES LIKE "'.$prefix.$table_name.'"';
if (count($this->Conn->Query($sql)) == 0) {
$all_found = false;
break;
}
}
return $all_found;
}
/**
* Runs SQLs from file
*
* @param string $filename
* @param mixed $replace_from
* @param mixed $replace_to
*/
function RunSQL($filename, $replace_from = null, $replace_to = null)
{
if (!file_exists(FULL_PATH.$filename)) {
return ;
}
$sqls = file_get_contents(FULL_PATH.$filename);
$this->RunSQLText($sqls, $replace_from, $replace_to);
}
/**
* Runs SQLs from string
*
* @param string $sqls
* @param mixed $replace_from
* @param mixed $replace_to
*/
function RunSQLText(&$sqls, $replace_from = null, $replace_to = null)
{
$table_prefix = $this->systemConfig['Database']['TablePrefix'];
// add prefix to all tables
if (strlen($table_prefix) > 0) {
- $replacements = Array ('CREATE TABLE ', 'INSERT INTO ', 'UPDATE ', 'ALTER TABLE ');
+ $replacements = Array ('CREATE TABLE ', 'INSERT INTO ', 'UPDATE ', 'ALTER TABLE ', 'DELETE FROM ');
foreach ($replacements as $replacement) {
$sqls = str_replace($replacement, $replacement.$table_prefix, $sqls);
}
$sqls = str_replace('DROP TABLE ', 'DROP TABLE IF EXISTS '.$table_prefix, $sqls);
}
if (isset($replace_from) && isset($replace_to)) {
// replace something additionally, e.g. module root category
$sqls = str_replace($replace_from, $replace_to, $sqls);
}
$sqls = str_replace("\r\n", "\n", $sqls); // convert to linux line endings
$sqls = preg_replace("/#([^;]*?)\n/", '', $sqls); // remove all comments
$sqls = explode(";\n", $sqls);
foreach ($sqls as $sql) {
$sql = trim($sql);
if (!$sql) {
continue; // usually last line
}
- if (substr($sql, 0, 13) == 'CREATE TABLE ') {
+ if (substr($sql, 0, 13) == 'CREATE TABLE ' && $this->systemConfig['Database']['DBCollation']) {
// it is CREATE TABLE statement -> add collation
$sql .= ' COLLATE \''.$this->systemConfig['Database']['DBCollation'].'\'';
}
$this->Conn->Query($sql);
if ($this->Conn->getErrorCode() != 0) {
$this->errorMessage = 'Error: ('.$this->Conn->getErrorCode().') '.$this->Conn->getErrorMsg().'<br /><br />Database Query:<pre>'.htmlspecialchars($sql).'</pre>';
$this->Done();
break;
}
}
}
function ImportLanguage($lang_file)
{
$lang_file = FULL_PATH.$lang_file.'.lang';
if (!file_exists($lang_file)) {
return ;
}
$lang_xml =& $this->Application->recallObjectP('LangXML', null, Array(), false); // false - don't use temp tables
$lang_xml->Parse($lang_file, '|0|1|2|', '');
}
/**
* Returns modules list found in modules folder
*
* @return Array
*/
function ScanModules()
{
static $modules = null;
if (!isset($modules)) {
$modules = Array();
$fh = opendir(MODULES_PATH);
while (($sub_folder = readdir($fh))) {
$folder_path = MODULES_PATH.'/'.$sub_folder;
if ($sub_folder != '.' && $sub_folder != '..' && is_dir($folder_path)) {
if ($sub_folder == 'core') {
// skip modules here
continue;
}
// this is folder in MODULES_PATH directory
if (file_exists($folder_path.'/install.php') && file_exists($folder_path.'/install/install_schema.sql')) {
$modules[] = $sub_folder;
}
}
}
}
return $modules;
}
/**
* Converts module version in format X.Y.Z to signle integer
*
* @param string $version
* @return int
*/
function ConvertModuleVersion($version)
{
$parts = explode('.', $version);
$bin = '';
foreach ($parts as $part) {
$bin .= str_pad(decbin($part), 8, '0', STR_PAD_LEFT);
}
return bindec($bin);
}
/**
* Returns list of modules, that can be upgraded
*
*/
function GetUpgradableModules()
{
$ret = Array ();
foreach ($this->Application->ModuleInfo as $module_name => $module_info) {
$upgrades_file = sprintf(UPGRADES_FILE, $module_info['Path'], 'sql');
if (!file_exists($upgrades_file)) {
// no upgrade file
continue;
}
$sqls = file_get_contents($upgrades_file);
$versions_found = preg_match_all('/'.VERSION_MARK.'/s', $sqls, $regs);
if (!$versions_found) {
// upgrades file doesn't contain version definitions
continue;
}
$to_version = end($regs[1]);
$this_version = $this->ConvertModuleVersion($module_info['Version']);
if ($this->ConvertModuleVersion($to_version) > $this_version) {
// destination version is greather then current
foreach ($regs[1] as $version) {
if ($this->ConvertModuleVersion($version) > $this_version) {
$from_version = $version;
break;
}
}
$version_info = Array (
'FromVersion' => $from_version,
'ToVersion' => $to_version,
);
$ret[$module_name] = array_merge_recursive2($module_info, $version_info);
}
}
return $ret;
}
/**
* Returns content to show for current step
*
* @return string
*/
function GetStepBody()
{
$step_template = FULL_PATH.'/core/install/step_templates/'.$this->currentStep.'.tpl';
if (file_exists($step_template)) {
ob_start();
include_once ($step_template);
return ob_get_clean();
}
return '{step template "'.$this->currentStep.'" missing}';
}
/**
* Parses step information file, cache result for current step ONLY & return it
*
* @return Array
*/
function &_getStepInfo()
{
static $info = Array('help_title' => null, 'step_title' => null, 'help_body' => null, 'queried' => false);
if (!$info['queried']) {
$fdata = file_get_contents($this->StepDBFile);
$parser = xml_parser_create();
xml_parse_into_struct($parser, $fdata, $values, $index);
xml_parser_free($parser);
foreach ($index['STEP'] as $section_index) {
$step_data =& $values[$section_index];
if ($step_data['attributes']['NAME'] == $this->currentStep) {
$info['step_title'] = $step_data['attributes']['TITLE'];
if (isset($step_data['attributes']['HELP_TITLE'])) {
$info['help_title'] = $step_data['attributes']['HELP_TITLE'];
}
else {
// if help title not set, then use step title
$info['help_title'] = $step_data['attributes']['TITLE'];
}
$info['help_body'] = trim($step_data['value']);
break;
}
}
$info['queried'] = true;
}
return $info;
}
/**
* Returns particular information abou current step
*
* @param string $info_type
* @return string
*/
function GetStepInfo($info_type)
{
$step_info =& $this->_getStepInfo();
if (isset($step_info[$info_type])) {
return $step_info[$info_type];
}
return '{step "'.$this->currentStep.'"; param "'.$info_type.'" missing}';
}
/**
* Returns passed steps titles
*
* @param Array $steps
* @return Array
* @see kInstaller:PrintSteps
*/
function _getStepTitles($steps)
{
$fdata = file_get_contents($this->StepDBFile);
$parser = xml_parser_create();
xml_parse_into_struct($parser, $fdata, $values, $index);
xml_parser_free($parser);
$ret = Array ();
foreach ($index['STEP'] as $section_index) {
$step_data =& $values[$section_index];
if (in_array($step_data['attributes']['NAME'], $steps)) {
$ret[ $step_data['attributes']['NAME'] ] = $step_data['attributes']['TITLE'];
}
}
return $ret;
}
/**
* Returns current step number in active steps_preset.
* Value can't be cached, because same step can have different number in different presets
*
* @return int
*/
function GetStepNumber()
{
return array_search($this->currentStep, $this->steps[$this->stepsPreset]) + 1;
}
/**
* Returns step name to process next
*
* @return string
*/
function GetNextStep()
{
$next_index = $this->GetStepNumber();
if ($next_index > count($this->steps[$this->stepsPreset]) - 1) {
return -1;
}
return $this->steps[$this->stepsPreset][$next_index];
}
/**
* Returns step name, that was processed before this step
*
* @return string
*/
function GetPreviousStep()
{
$next_index = $this->GetStepNumber() - 1;
if ($next_index < 0) {
$next_index = 0;
}
return $this->steps[$this->stepsPreset][$next_index];
}
/**
* Prints all steps from active steps preset and highlights current step
*
* @param string $active_tpl
* @param string $passive_tpl
* @return string
*/
function PrintSteps($active_tpl, $passive_tpl)
{
$ret = '';
$step_titles = $this->_getStepTitles($this->steps[$this->stepsPreset]);
foreach ($this->steps[$this->stepsPreset] as $step_name) {
$template = $step_name == $this->currentStep ? $active_tpl : $passive_tpl;
$ret .= sprintf($template, $step_titles[$step_name]);
}
return $ret;
}
function ParseConfig($parse_section = false)
{
if (!file_exists($this->INIFile)) {
return Array();
}
if( file_exists($this->INIFile) && !is_readable($this->INIFile) ) {
die('Could Not Open Ini File');
}
$contents = file($this->INIFile);
$retval = Array();
$section = '';
$ln = 1;
$resave = false;
foreach ($contents as $line) {
if ($ln == 1 && $line != '<'.'?'.'php die() ?'.">\n") {
$resave = true;
}
$ln++;
$line = trim($line);
$line = eregi_replace(';[.]*','',$line);
if (strlen($line) > 0) {
//echo $line . " - ";
if(eregi('^[[a-z]+]$',str_replace(' ', '', $line))) {
//echo 'section';
$section = substr($line, 1, (strlen($line) - 2));
if ($parse_section) {
$retval[$section] = array();
}
continue;
} elseif (eregi('=',$line)) {
//echo 'main element';
list ($key, $val) = explode(' = ', $line);
if (!$parse_section) {
$retval[trim($key)] = str_replace('"', '', $val);
}
else {
$retval[$section][trim($key)] = str_replace('"', '', $val);
}
}
}
}
if ($resave) {
$fp = fopen($this->INIFile, 'w');
reset($contents);
fwrite($fp,'<'.'?'.'php die() ?'.">\n\n");
foreach ($contents as $line) {
fwrite($fp,"$line");
}
fclose($fp);
}
return $retval;
}
function SaveConfig()
{
$fp = fopen($this->INIFile, 'w');
fwrite($fp,'<'.'?'.'php die() ?'.">\n\n");
foreach ($this->systemConfig as $section_name => $section_data) {
fwrite($fp, '['.$section_name."]\n");
foreach ($section_data as $key => $value) {
fwrite($fp, $key.' = "'.$value.'"'."\n");
}
fwrite($fp, "\n");
}
fclose($fp);
}
/**
* Installation error handler for sql errors
*
* @param int $code
* @param string $msg
* @param string $sql
* @return bool
* @access private
*/
function DBErrorHandler($code, $msg, $sql)
{
$this->errorMessage = 'Query: <br />'.htmlspecialchars($sql).'<br />execution result is error:<br />['.$code.'] '.$msg;
return true;
}
/**
* Installation error handler
*
* @param int $errno
* @param string $errstr
* @param string $errfile
* @param int $errline
* @param Array $errcontext
*/
function ErrorHandler($errno, $errstr, $errfile = '', $errline = '', $errcontext = '')
{
if ($errno == E_USER_ERROR) {
// only react on user fatal errors
$this->Done($errstr);
}
}
}
/*function print_pre($s)
{
echo '<pre>', print_r($s, true). '</pre>';
}*/
?>
\ No newline at end of file
Property changes on: trunk/core/install.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.11
\ No newline at end of property
+1.12
\ No newline at end of property

Event Timeline