no password fields anymore - don't want to have them in and _data source aministration_ dialog

This commit is contained in:
Frank Schönheit 2000-10-30 14:24:19 +00:00
parent ea34d25af3
commit d217ba6813
3 changed files with 31 additions and 143 deletions

View file

@ -2,9 +2,9 @@
* *
* $RCSfile: adminpages.cxx,v $ * $RCSfile: adminpages.cxx,v $
* *
* $Revision: 1.9 $ * $Revision: 1.10 $
* *
* last change: $Author: fs $ $Date: 2000-10-30 13:48:29 $ * last change: $Author: fs $ $Date: 2000-10-30 15:22:25 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
@ -582,8 +582,6 @@ OCommonBehaviourTabPage::OCommonBehaviourTabPage(Window* pParent, sal_uInt16 nRe
:OGenericAdministrationPage(pParent, ModuleRes(nResId), _rCoreAttrs) :OGenericAdministrationPage(pParent, ModuleRes(nResId), _rCoreAttrs)
,m_pUserNameLabel(NULL) ,m_pUserNameLabel(NULL)
,m_pUserName(NULL) ,m_pUserName(NULL)
,m_pPasswordLabel(NULL)
,m_pPassword(NULL)
,m_pPasswordRequired(NULL) ,m_pPasswordRequired(NULL)
,m_pOptionsLabel(NULL) ,m_pOptionsLabel(NULL)
,m_pOptions(NULL) ,m_pOptions(NULL)
@ -598,11 +596,7 @@ OCommonBehaviourTabPage::OCommonBehaviourTabPage(Window* pParent, sal_uInt16 nRe
m_pUserName->SetModifyHdl(getControlModifiedLink()); m_pUserName->SetModifyHdl(getControlModifiedLink());
m_pPasswordRequired = new CheckBox(this, ResId(CB_PASSWORD_REQUIRED)); m_pPasswordRequired = new CheckBox(this, ResId(CB_PASSWORD_REQUIRED));
m_pPasswordRequired->SetClickHdl(LINK(this, OCommonBehaviourTabPage, OnPasswordRequired)); m_pPasswordRequired->SetClickHdl(getControlModifiedLink());
m_pPasswordLabel = new FixedText(this, ResId(FT_PASSWORD));
m_pPassword = new Edit(this, ResId(ET_PASSWORD));
m_pPassword->SetModifyHdl(getControlModifiedLink());
} }
if ((m_nControlFlags & CBTP_USE_OPTIONS) == CBTP_USE_OPTIONS) if ((m_nControlFlags & CBTP_USE_OPTIONS) == CBTP_USE_OPTIONS)
@ -632,8 +626,6 @@ OCommonBehaviourTabPage::~OCommonBehaviourTabPage()
{ {
DELETEZ(m_pUserNameLabel); DELETEZ(m_pUserNameLabel);
DELETEZ(m_pUserName); DELETEZ(m_pUserName);
DELETEZ(m_pPasswordLabel);
DELETEZ(m_pPassword);
DELETEZ(m_pPasswordRequired); DELETEZ(m_pPasswordRequired);
DELETEZ(m_pOptionsLabel); DELETEZ(m_pOptionsLabel);
@ -663,21 +655,15 @@ void OCommonBehaviourTabPage::implInitControls(const SfxItemSet& _rSet, sal_Bool
if ((m_nControlFlags & CBTP_USE_UIDPWD) == CBTP_USE_UIDPWD) if ((m_nControlFlags & CBTP_USE_UIDPWD) == CBTP_USE_UIDPWD)
{ {
m_pUserName->SetText(pUidItem->GetValue()); m_pUserName->SetText(pUidItem->GetValue());
m_pPassword->SetText(pPwdItem->GetValue());
m_pPasswordRequired->Check(pAllowEmptyPwd->GetValue()); m_pPasswordRequired->Check(pAllowEmptyPwd->GetValue());
m_pUserName->ClearModifyFlag(); m_pUserName->ClearModifyFlag();
m_pPassword->ClearModifyFlag();
if (_bSaveValue) if (_bSaveValue)
{ {
m_pUserName->SaveValue(); m_pUserName->SaveValue();
m_pPassword->SaveValue();
m_pPasswordRequired->SaveValue(); m_pPasswordRequired->SaveValue();
} }
LINK(this, OCommonBehaviourTabPage, OnPasswordRequired).Call(NULL);
// for the initial state
} }
if ((m_nControlFlags & CBTP_USE_OPTIONS) == CBTP_USE_OPTIONS) if ((m_nControlFlags & CBTP_USE_OPTIONS) == CBTP_USE_OPTIONS)
@ -702,8 +688,6 @@ void OCommonBehaviourTabPage::implInitControls(const SfxItemSet& _rSet, sal_Bool
{ {
m_pUserNameLabel->Disable(); m_pUserNameLabel->Disable();
m_pUserName->Disable(); m_pUserName->Disable();
m_pPasswordLabel->Disable();
m_pPassword->Disable();
m_pPasswordRequired->Disable(); m_pPasswordRequired->Disable();
} }
@ -733,12 +717,6 @@ sal_Bool OCommonBehaviourTabPage::FillItemSet(SfxItemSet& _rSet)
bChangedSomething = sal_True; bChangedSomething = sal_True;
} }
if (m_pPassword->GetText() != m_pPassword->GetSavedValue())
{
_rSet.Put(SfxStringItem(DSID_PASSWORD, m_pPassword->GetText()));
bChangedSomething = sal_True;
}
if (m_pPasswordRequired->IsChecked() != m_pPasswordRequired->GetSavedValue()) if (m_pPasswordRequired->IsChecked() != m_pPasswordRequired->GetSavedValue())
{ {
_rSet.Put(SfxBoolItem(DSID_PASSWORDREQUIRED, m_pPasswordRequired->IsChecked())); _rSet.Put(SfxBoolItem(DSID_PASSWORDREQUIRED, m_pPasswordRequired->IsChecked()));
@ -767,20 +745,6 @@ sal_Bool OCommonBehaviourTabPage::FillItemSet(SfxItemSet& _rSet)
return bChangedSomething; return bChangedSomething;
} }
//------------------------------------------------------------------------
IMPL_LINK( OCommonBehaviourTabPage, OnPasswordRequired, Control*, pControl)
{
DBG_ASSERT((m_nControlFlags & CBTP_USE_UIDPWD) == CBTP_USE_UIDPWD, "OCommonBehaviourTabPage::OnPasswordRequired : wrong mode, will probably crash!");
m_pPassword->Enable(m_pPasswordRequired->IsChecked());
m_pPasswordLabel->Enable(m_pPasswordRequired->IsChecked());
if (pControl)
// it really came from the control, it was no implicit call
callModifiedHdl();
return 0L;
}
//======================================================================== //========================================================================
//= ODbaseDetailsPage //= ODbaseDetailsPage
//======================================================================== //========================================================================
@ -924,8 +888,7 @@ OJdbcDetailsPage::OJdbcDetailsPage( Window* pParent, const SfxItemSet& _rCoreAtt
m_aJdbcUrl.SetModifyHdl(getControlModifiedLink()); m_aJdbcUrl.SetModifyHdl(getControlModifiedLink());
m_pUserName->SetZOrder(&m_aJdbcUrl, WINDOW_ZORDER_BEHIND); m_pUserName->SetZOrder(&m_aJdbcUrl, WINDOW_ZORDER_BEHIND);
m_pPassword->SetZOrder(m_pUserName, WINDOW_ZORDER_BEHIND); m_pPasswordRequired->SetZOrder(m_pUserName, WINDOW_ZORDER_BEHIND);
m_pPasswordRequired->SetZOrder(m_pPassword, WINDOW_ZORDER_BEHIND);
m_pCharset->SetZOrder(m_pPasswordRequired, WINDOW_ZORDER_BEHIND); m_pCharset->SetZOrder(m_pPasswordRequired, WINDOW_ZORDER_BEHIND);
FreeResource(); FreeResource();
@ -1014,7 +977,6 @@ sal_Bool OJdbcDetailsPage::FillItemSet( SfxItemSet& _rSet )
//======================================================================== //========================================================================
OOdbcDetailsPage::OOdbcDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs ) OOdbcDetailsPage::OOdbcDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs )
:OCommonBehaviourTabPage(pParent, PAGE_ODBC, _rCoreAttrs, CBTP_USE_UIDPWD | CBTP_USE_CHARSET | CBTP_USE_OPTIONS) :OCommonBehaviourTabPage(pParent, PAGE_ODBC, _rCoreAttrs, CBTP_USE_UIDPWD | CBTP_USE_CHARSET | CBTP_USE_OPTIONS)
,m_aSeparator2 (this, ResId(FL_SEPARATOR2))
,m_aSeparator1 (this, ResId(FL_SEPARATOR1)) ,m_aSeparator1 (this, ResId(FL_SEPARATOR1))
{ {
FreeResource(); FreeResource();
@ -1050,7 +1012,6 @@ OAdabasDetailsPage::OAdabasDetailsPage( Window* pParent, const SfxItemSet& _rCor
:OCommonBehaviourTabPage(pParent, PAGE_ODBC, _rCoreAttrs, CBTP_USE_UIDPWD | CBTP_USE_CHARSET) :OCommonBehaviourTabPage(pParent, PAGE_ODBC, _rCoreAttrs, CBTP_USE_UIDPWD | CBTP_USE_CHARSET)
// Yes, we're using the resource for the ODBC page here. It contains two controls which we don't use // Yes, we're using the resource for the ODBC page here. It contains two controls which we don't use
// and except that it's excatly what we need here. // and except that it's excatly what we need here.
,m_aSeparator2 (this, ResId(FL_SEPARATOR2))
,m_aSeparator1 (this, ResId(FL_SEPARATOR1)) ,m_aSeparator1 (this, ResId(FL_SEPARATOR1))
{ {
// move the charset related control some pixel up (as they are positioned as if above them there are the option // move the charset related control some pixel up (as they are positioned as if above them there are the option
@ -1765,6 +1726,9 @@ IMPL_LINK( OTableSubscriptionPage, OnRadioButtonClicked, Button*, pButton )
/************************************************************************* /*************************************************************************
* history: * history:
* $Log: not supported by cvs2svn $ * $Log: not supported by cvs2svn $
* Revision 1.9 2000/10/30 13:48:29 fs
* some help ids
*
* Revision 1.8 2000/10/24 12:11:15 fs * Revision 1.8 2000/10/24 12:11:15 fs
* functionality added: browsing for system data sources (ODBC/Adabas/dbase/text) * functionality added: browsing for system data sources (ODBC/Adabas/dbase/text)
* *

View file

@ -2,9 +2,9 @@
* *
* $RCSfile: adminpages.hxx,v $ * $RCSfile: adminpages.hxx,v $
* *
* $Revision: 1.7 $ * $Revision: 1.8 $
* *
* last change: $Author: fs $ $Date: 2000-10-24 12:11:15 $ * last change: $Author: fs $ $Date: 2000-10-30 15:22:44 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
@ -253,9 +253,6 @@ protected:
OCommonBehaviourTabPage(Window* pParent, USHORT nResId, const SfxItemSet& _rCoreAttrs, USHORT nControlFlags); OCommonBehaviourTabPage(Window* pParent, USHORT nResId, const SfxItemSet& _rCoreAttrs, USHORT nControlFlags);
// nControlFlags ist eine Kombination der CBTP_xxx-Konstanten // nControlFlags ist eine Kombination der CBTP_xxx-Konstanten
virtual ~OCommonBehaviourTabPage(); virtual ~OCommonBehaviourTabPage();
private:
DECL_LINK(OnPasswordRequired, Control*);
}; };
//======================================================================== //========================================================================
@ -326,7 +323,6 @@ public:
static sal_Int32* getDetailIds(); static sal_Int32* getDetailIds();
private: private:
FixedLine m_aSeparator2;
FixedLine m_aSeparator1; FixedLine m_aSeparator1;
OOdbcDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs ); OOdbcDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
@ -344,7 +340,6 @@ public:
static sal_Int32* getDetailIds(); static sal_Int32* getDetailIds();
private: private:
FixedLine m_aSeparator2;
FixedLine m_aSeparator1; FixedLine m_aSeparator1;
OAdabasDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs ); OAdabasDetailsPage( Window* pParent, const SfxItemSet& _rCoreAttrs );
@ -458,6 +453,9 @@ private:
/************************************************************************* /*************************************************************************
* history: * history:
* $Log: not supported by cvs2svn $ * $Log: not supported by cvs2svn $
* Revision 1.7 2000/10/24 12:11:15 fs
* functionality added: browsing for system data sources (ODBC/Adabas/dbase/text)
*
* Revision 1.6 2000/10/20 09:53:17 fs * Revision 1.6 2000/10/20 09:53:17 fs
* handling for the SuppresVersionColumns property of a data source * handling for the SuppresVersionColumns property of a data source
* *

View file

@ -2,9 +2,9 @@
* *
* $RCSfile: dbadmin.src,v $ * $RCSfile: dbadmin.src,v $
* *
* $Revision: 1.9 $ * $Revision: 1.10 $
* *
* last change: $Author: fs $ $Date: 2000-10-30 13:48:17 $ * last change: $Author: fs $ $Date: 2000-10-30 15:24:19 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
@ -697,45 +697,9 @@ TabPage PAGE_JDBC
TabStop = TRUE ; TabStop = TRUE ;
HelpId = HID_DSADMIN_USER_JDBC; HelpId = HID_DSADMIN_USER_JDBC;
}; };
FixedText FT_PASSWORD
{
Pos = MAP_APPFONT ( 6 , 52 ) ;
Size = MAP_APPFONT ( 51 , 10 ) ;
Text = "~Passwort" ;
Text [ ENGLISH ] = "~Password" ;
Text [ NORWEGIAN ] = "~Passord" ;
Text [ DANISH ] = "Adgangskode" ;
Text [ ENGLISH_US ] = "~Password" ;
Text [ SPANISH ] = "~Contraseña" ;
Text [ FINNISH ] = "~Salasana" ;
Text [ FRENCH ] = "~Mot de passe" ;
Text [ ITALIAN ] = "~Password" ;
Text [ DUTCH ] = "~Wachtwoord" ;
Text [ PORTUGUESE_BRAZILIAN ] = "~Senha" ;
Text [ SWEDISH ] = "~Lösenord" ;
Text [ PORTUGUESE ] = "~Senha" ;
Text[ chinese_simplified ] = "¿ÚÁî(~P)";
Text[ russian ] = "Ïàðîëü";
Text[ polish ] = "Has³o";
Text[ japanese ] = "Ê߽ܰÄÞ(~P)";
Text[ chinese_traditional ] = "±K½X(~P)";
Text[ arabic ] = "ßáãÉ ÇáÓÑ";
Text[ greek ] = "Êùäéêüò ðñüóâáóçò";
Text[ korean ] = "Æнº¿öµå(~P)";
Text[ turkish ] = "Þifre";
Text[ language_user1 ] = " ";
};
Edit ET_PASSWORD
{
Border = TRUE ;
Pos = MAP_APPFONT ( 90 , 51 ) ;
Size = MAP_APPFONT ( 105 , 12 ) ;
TabStop = TRUE ;
PassWord = TRUE ;
};
CheckBox CB_PASSWORD_REQUIRED CheckBox CB_PASSWORD_REQUIRED
{ {
Pos = MAP_APPFONT ( 90 , 66 ) ; Pos = MAP_APPFONT ( 90 , 51 ) ;
Size = MAP_APPFONT ( 105 , 10 ) ; Size = MAP_APPFONT ( 105 , 10 ) ;
Text = "Passwort erforderlich"; Text = "Passwort erforderlich";
Text [ english ] = "Password required"; Text [ english ] = "Password required";
@ -744,12 +708,12 @@ TabPage PAGE_JDBC
}; };
FixedLine FL_SEPARATOR1 FixedLine FL_SEPARATOR1
{ {
Pos = MAP_APPFONT ( 6 , 79 ) ; Pos = MAP_APPFONT ( 6 , 64 ) ;
Size = MAP_APPFONT ( 248 , 1 ) ; Size = MAP_APPFONT ( 248 , 1 ) ;
}; };
FixedText FT_CHARSET FixedText FT_CHARSET
{ {
Pos = MAP_APPFONT ( 6 , 85 ) ; Pos = MAP_APPFONT ( 6 , 70 ) ;
Size = MAP_APPFONT ( 51 , 10 ) ; Size = MAP_APPFONT ( 51 , 10 ) ;
Text = "~Zeichensatz" ; Text = "~Zeichensatz" ;
Text [ ENGLISH ] = "~Character set" ; Text [ ENGLISH ] = "~Character set" ;
@ -778,7 +742,7 @@ TabPage PAGE_JDBC
ListBox LB_CHARSET ListBox LB_CHARSET
{ {
Border = TRUE ; Border = TRUE ;
Pos = MAP_APPFONT ( 90 , 85 ) ; Pos = MAP_APPFONT ( 90 , 70 ) ;
Size = MAP_APPFONT ( 105 , 60 ) ; Size = MAP_APPFONT ( 105 , 60 ) ;
TabStop = TRUE ; TabStop = TRUE ;
DropDown = TRUE ; DropDown = TRUE ;
@ -797,7 +761,7 @@ TabPage PAGE_ODBC
FixedText FT_USERNAME FixedText FT_USERNAME
{ {
Pos = MAP_APPFONT ( 6 , 7 ) ; Pos = MAP_APPFONT ( 6 , 7 ) ;
Size = MAP_APPFONT ( 100 , 10 ) ; Size = MAP_APPFONT ( 80 , 10 ) ;
Text = "~Benutzername" ; Text = "~Benutzername" ;
Text [ ENGLISH ] = "~Username" ; Text [ ENGLISH ] = "~Username" ;
Text [ NORWEGIAN ] = "~Username" ; Text [ NORWEGIAN ] = "~Username" ;
@ -825,70 +789,29 @@ TabPage PAGE_ODBC
Edit ET_USERNAME Edit ET_USERNAME
{ {
Border = TRUE ; Border = TRUE ;
Pos = MAP_APPFONT ( 110 , 6 ) ; Pos = MAP_APPFONT ( 90 , 6 ) ;
Size = MAP_APPFONT ( 105 , 12 ) ; Size = MAP_APPFONT ( 105 , 12 ) ;
TabStop = TRUE ; TabStop = TRUE ;
HelpId = HID_DSADMIN_USER_ODBC; HelpId = HID_DSADMIN_USER_ODBC;
}; };
FixedLine FL_SEPARATOR2
{
Pos = MAP_APPFONT ( 6 , 21 ) ;
Size = MAP_APPFONT ( 248 , 1 ) ;
};
CheckBox CB_PASSWORD_REQUIRED CheckBox CB_PASSWORD_REQUIRED
{ {
Pos = MAP_APPFONT ( 6 , 27 ) ; Pos = MAP_APPFONT ( 90 , 21 ) ;
Size = MAP_APPFONT ( 105 , 10 ) ; Size = MAP_APPFONT ( 105 , 10 ) ;
Text = "Passwort erforderlich"; Text = "Passwort erforderlich";
Text [ english ] = "Password required"; Text [ english ] = "Password required";
Text [ english_us ] = "Password required"; Text [ english_us ] = "Password required";
HelpId = HID_DSADMIN_PWDREC_JDBC; HelpId = HID_DSADMIN_PWDREC_JDBC;
}; };
FixedText FT_PASSWORD
{
Pos = MAP_APPFONT ( 12 , 41 ) ;
Size = MAP_APPFONT ( 94 , 10 ) ;
Text = "~Passwort" ;
Text [ ENGLISH ] = "~Password" ;
Text [ NORWEGIAN ] = "~Passord" ;
Text [ DANISH ] = "Adgangskode" ;
Text [ ENGLISH_US ] = "~Password" ;
Text [ SPANISH ] = "~Contraseña" ;
Text [ FINNISH ] = "~Salasana" ;
Text [ FRENCH ] = "~Mot de passe" ;
Text [ ITALIAN ] = "~Password" ;
Text [ DUTCH ] = "~Wachtwoord" ;
Text [ PORTUGUESE_BRAZILIAN ] = "~Senha" ;
Text [ SWEDISH ] = "~Lösenord" ;
Text [ PORTUGUESE ] = "~Senha" ;
Text[ chinese_simplified ] = "¿ÚÁî(~P)";
Text[ russian ] = "Ïàðîëü";
Text[ polish ] = "Has³o";
Text[ japanese ] = "Ê߽ܰÄÞ(~P)";
Text[ chinese_traditional ] = "±K½X(~P)";
Text[ arabic ] = "ßáãÉ ÇáÓÑ";
Text[ greek ] = "Êùäéêüò ðñüóâáóçò";
Text[ korean ] = "Æнº¿öµå(~P)";
Text[ turkish ] = "Þifre";
Text[ language_user1 ] = " ";
};
Edit ET_PASSWORD
{
Border = TRUE ;
Pos = MAP_APPFONT ( 110 , 40 ) ;
Size = MAP_APPFONT ( 105 , 12 ) ;
TabStop = TRUE ;
PassWord = TRUE ;
};
FixedLine FL_SEPARATOR1 FixedLine FL_SEPARATOR1
{ {
Pos = MAP_APPFONT ( 6 , 55 ) ; Pos = MAP_APPFONT ( 6 , 34 ) ;
Size = MAP_APPFONT ( 248 , 1 ) ; Size = MAP_APPFONT ( 248 , 1 ) ;
}; };
FixedText FT_OPTIONS FixedText FT_OPTIONS
{ {
Pos = MAP_APPFONT ( 6 , 61 ) ; Pos = MAP_APPFONT ( 6 , 40 ) ;
Size = MAP_APPFONT ( 100 , 10 ) ; Size = MAP_APPFONT ( 80 , 10 ) ;
Text = "~Treibereinstellungen" ; Text = "~Treibereinstellungen" ;
Text [ ENGLISH ] = "ODBC ~options" ; Text [ ENGLISH ] = "ODBC ~options" ;
Text [ NORWEGIAN ] = "ODBC ~options" ; Text [ NORWEGIAN ] = "ODBC ~options" ;
@ -916,14 +839,14 @@ TabPage PAGE_ODBC
Edit ET_OPTIONS Edit ET_OPTIONS
{ {
Border = TRUE ; Border = TRUE ;
Pos = MAP_APPFONT ( 110 , 60 ) ; Pos = MAP_APPFONT ( 91 , 39 ) ;
Size = MAP_APPFONT ( 105 , 12 ) ; Size = MAP_APPFONT ( 105 , 12 ) ;
TabStop = TRUE ; TabStop = TRUE ;
}; };
FixedText FT_CHARSET FixedText FT_CHARSET
{ {
Pos = MAP_APPFONT ( 6 , 76 ) ; Pos = MAP_APPFONT ( 6 , 55 ) ;
Size = MAP_APPFONT ( 100 , 10 ) ; Size = MAP_APPFONT ( 80 , 10 ) ;
Text = "~Zeichensatz" ; Text = "~Zeichensatz" ;
Text [ ENGLISH ] = "~Character set" ; Text [ ENGLISH ] = "~Character set" ;
Text [ NORWEGIAN ] = "~Character set" ; Text [ NORWEGIAN ] = "~Character set" ;
@ -951,7 +874,7 @@ TabPage PAGE_ODBC
ListBox LB_CHARSET ListBox LB_CHARSET
{ {
Border = TRUE ; Border = TRUE ;
Pos = MAP_APPFONT ( 110 , 75 ) ; Pos = MAP_APPFONT ( 91 , 54 ) ;
Size = MAP_APPFONT ( 105 , 60 ) ; Size = MAP_APPFONT ( 105 , 60 ) ;
TabStop = TRUE ; TabStop = TRUE ;
DropDown = TRUE ; DropDown = TRUE ;
@ -1460,6 +1383,9 @@ Menu MENU_DATASOURCELIST_POPUP
/************************************************************************* /*************************************************************************
* history: * history:
* $Log: not supported by cvs2svn $ * $Log: not supported by cvs2svn $
* Revision 1.9 2000/10/30 13:48:17 fs
* #79820# some help ids
*
* Revision 1.8 2000/10/30 13:01:23 fs * Revision 1.8 2000/10/30 13:01:23 fs
* #79823# minor changes * #79823# minor changes
* *