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 */
|
#define __CFILES_C /* fv */
|
||||||
|
|
||||||
#include <xvt.h>
|
#include <xvt.h>
|
||||||
|
|
||||||
#ifdef LINUX
|
|
||||||
extern const char * _c_user;
|
|
||||||
extern BOOLEAN _is_admin;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "cfiles.h"
|
#include "cfiles.h"
|
||||||
|
|
||||||
int dirfl[2] = {0, 0}, recfl[2] = {0, 0} ;
|
int dirfl[2] = {0, 0}, recfl[2] = {0, 0} ;
|
||||||
@ -390,30 +384,13 @@ HIDDEN BOOLEAN CGetFirmDir()
|
|||||||
if (good)
|
if (good)
|
||||||
{
|
{
|
||||||
int len = 0;
|
int len = 0;
|
||||||
#ifdef LINUX
|
|
||||||
good = FALSE;
|
len = xvt_sys_get_profile_string(prawin, "Main", "Study", "", __ptprf, sizeof(__ptprf));
|
||||||
if (!_is_admin)
|
good = len > 0;
|
||||||
{
|
|
||||||
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)
|
if (good)
|
||||||
{
|
{
|
||||||
char firm[8];
|
char firm[8];
|
||||||
long ditta;
|
long ditta;
|
||||||
#ifdef LINUX
|
|
||||||
char path[_MAX_PATH], user[80];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (__ptprf[len-1] != '\\' && __ptprf[len-1] != '/')
|
if (__ptprf[len-1] != '\\' && __ptprf[len-1] != '/')
|
||||||
{
|
{
|
||||||
@ -421,14 +398,7 @@ HIDDEN BOOLEAN CGetFirmDir()
|
|||||||
__ptprf[len+1] = '\0';
|
__ptprf[len+1] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LINUX
|
xvt_sys_get_profile_string(prawin, "Main", "Firm", "com", firm, sizeof(firm));
|
||||||
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);
|
ditta = atol(firm);
|
||||||
if (ditta > 0) sprintf(firm, "%05lda", ditta);
|
if (ditta > 0) sprintf(firm, "%05lda", ditta);
|
||||||
xvt_fsys_build_pathname(cprefix, NULL, __ptprf, firm, NULL, NULL);
|
xvt_fsys_build_pathname(cprefix, NULL, __ptprf, firm, NULL, NULL);
|
||||||
@ -441,27 +411,9 @@ HIDDEN BOOLEAN CGetFirmDir()
|
|||||||
BOOLEAN CPutFirmDir(const char* pref)
|
BOOLEAN CPutFirmDir(const char* pref)
|
||||||
{
|
{
|
||||||
const char* prawin = CGetCampoIni();
|
const char* prawin = CGetCampoIni();
|
||||||
#ifdef LINUX
|
const BOOLEAN good = xvt_sys_set_profile_string(prawin, "Main", "Firm", pref);
|
||||||
char path[_MAX_PATH], user[80];
|
|
||||||
|
|
||||||
strcpy(user, _c_user),
|
xvt_sys_set_profile_string(prawin, "Main", "Study", __ptprf);
|
||||||
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;
|
return good;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,11 +18,6 @@
|
|||||||
#include <regexp.h>
|
#include <regexp.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
|
||||||
#ifdef LINUX
|
|
||||||
const char * _c_user = NULL;
|
|
||||||
bool _is_admin = FALSE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @func Ritorna il nome dell'utente attuale
|
// @func Ritorna il nome dell'utente attuale
|
||||||
@ -30,12 +25,8 @@
|
|||||||
// @rdesc Ritorno il nome dell'utente attuale
|
// @rdesc Ritorno il nome dell'utente attuale
|
||||||
TString& user()
|
TString& user()
|
||||||
{
|
{
|
||||||
static TString16 _user;
|
static TString8 _user;
|
||||||
#ifdef LINUX
|
|
||||||
if (_c_user == NULL)
|
|
||||||
_c_user = (const char *) _user;
|
|
||||||
_is_admin = (_user == ::dongle().administrator());
|
|
||||||
#endif
|
|
||||||
return _user;
|
return _user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user