Corretta la gestione degli utenti e delle connessioni per la versione Terminal Server

git-svn-id: svn://10.65.10.50/trunk@11926 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2004-03-31 13:02:54 +00:00
parent f5b07fd56f
commit c66bc47a3b
2 changed files with 8 additions and 65 deletions

View File

@ -1,12 +1,6 @@
#define __CFILES_C /* fv */
#include <xvt.h>
#ifdef LINUX
extern const char * _c_user;
extern BOOLEAN _is_admin;
#endif
#include "cfiles.h"
int dirfl[2] = {0, 0}, recfl[2] = {0, 0} ;
@ -390,30 +384,13 @@ HIDDEN BOOLEAN CGetFirmDir()
if (good)
{
int len = 0;
#ifdef LINUX
good = FALSE;
if (!_is_admin)
{
char varname[80];
sprintf(varname, "Study[%s]", _c_user);
len = xvt_sys_get_profile_string(prawin, "Main", varname, "", __ptprf, sizeof(__ptprf));
good = len > 0;
}
if (!good)
{
#endif
len = xvt_sys_get_profile_string(prawin, "Main", "Study", "", __ptprf, sizeof(__ptprf));
good = len > 0;
#ifdef LINUX
}
#endif
if (good)
{
char firm[8];
long ditta;
#ifdef LINUX
char path[_MAX_PATH], user[80];
#endif
if (__ptprf[len-1] != '\\' && __ptprf[len-1] != '/')
{
@ -421,13 +398,6 @@ HIDDEN BOOLEAN CGetFirmDir()
__ptprf[len+1] = '\0';
}
#ifdef LINUX
strcpy(user, _c_user),
xvt_str_make_lower(user);
sprintf(path, "%sconfig%c%s.ini", __ptprf, DIRSEP, user);
len = xvt_sys_get_profile_string(path, "Main", "Firm", "", firm, sizeof(firm));
if (len == 0)
#endif
xvt_sys_get_profile_string(prawin, "Main", "Firm", "com", firm, sizeof(firm));
ditta = atol(firm);
if (ditta > 0) sprintf(firm, "%05lda", ditta);
@ -441,26 +411,8 @@ HIDDEN BOOLEAN CGetFirmDir()
BOOLEAN CPutFirmDir(const char* pref)
{
const char* prawin = CGetCampoIni();
#ifdef LINUX
char path[_MAX_PATH], user[80];
const BOOLEAN good = xvt_sys_set_profile_string(prawin, "Main", "Firm", pref);
strcpy(user, _c_user),
xvt_str_make_lower(user);
sprintf(path, "%sconfig%c%s.ini", __ptprf, DIRSEP, user);
BOOLEAN good = xvt_sys_set_profile_string(path, "Main", "Firm", pref);
#else
BOOLEAN good = xvt_sys_set_profile_string(prawin, "Main", "Firm", pref);
#endif
#ifdef LINUX
if (!_is_admin)
{
char varname[80];
sprintf(varname, "Study[%s]", _c_user);
xvt_sys_set_profile_string(prawin, "Main", varname, __ptprf);
}
else
#endif
xvt_sys_set_profile_string(prawin, "Main", "Study", __ptprf);
return good;
}

View File

@ -18,11 +18,6 @@
#include <regexp.h>
#include <utility.h>
#ifdef LINUX
const char * _c_user = NULL;
bool _is_admin = FALSE;
#endif
// @doc EXTERNAL
// @func Ritorna il nome dell'utente attuale
@ -30,12 +25,8 @@
// @rdesc Ritorno il nome dell'utente attuale
TString& user()
{
static TString16 _user;
#ifdef LINUX
if (_c_user == NULL)
_c_user = (const char *) _user;
_is_admin = (_user == ::dongle().administrator());
#endif
static TString8 _user;
return _user;
}