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:
parent
f5b07fd56f
commit
c66bc47a3b
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user