Patch level : 01.00 182

Files correlati     : ba0.exe

Commento:
Eliminata la password di sercizio, ora i programmi protetti possono essere esguiti solo dagli  utenti supervisori ( campo sugli utenti).
This commit is contained in:
Alessandro Bonazzi 2024-10-18 00:22:13 +02:00
parent 135dca4db5
commit 3ba0ec2065
2 changed files with 7 additions and 17 deletions

View File

@ -118,7 +118,7 @@ bool TMenuitem::_fullscreen_always;
TMenuitem::TMenuitem(TSubmenu* sm) TMenuitem::TMenuitem(TSubmenu* sm)
: _submenu(sm), _icon(0), _exist(-1), _enabled(-1), : _submenu(sm), _icon(0), _exist(-1), _enabled(-1),
_firm(false), _password(false), _reloadmenu(false), _fullscreen_43(false) _firm(false), _supervisor(false), _reloadmenu(false), _fullscreen_43(false)
{ } { }
TMenuitem::TMenuitem(const TMenuitem& mi) TMenuitem::TMenuitem(const TMenuitem& mi)
@ -126,7 +126,7 @@ TMenuitem::TMenuitem(const TMenuitem& mi)
_submenu = mi._submenu; _submenu = mi._submenu;
_exist = mi._exist; _exist = mi._exist;
_firm = mi._firm; _firm = mi._firm;
_password = mi._password; _supervisor = mi._supervisor;
_reloadmenu = mi._reloadmenu; _reloadmenu = mi._reloadmenu;
_fullscreen_43 = mi._fullscreen_43; _fullscreen_43 = mi._fullscreen_43;
_icon = mi._icon; _icon = mi._icon;
@ -158,7 +158,7 @@ bool TMenuitem::create(const char* t)
{ {
case 'D': _exist = false; break; case 'D': _exist = false; break;
case 'F': _firm = true; break; case 'F': _firm = true; break;
case 'P': _password = true; break; case 'P': _supervisor = true; break;
case 'R': _reloadmenu = true; break; case 'R': _reloadmenu = true; break;
case 'S': _fullscreen_43 = true; break; case 'S': _fullscreen_43 = true; break;
default : break; default : break;
@ -289,7 +289,7 @@ bool TMenuitem::run_modal() const
bool yes = true; bool yes = true;
if (submenu().menu().mask_mode() >= 3) // outlook mode if (submenu().menu().mask_mode() >= 3) // outlook mode
{ {
yes = _password || _action.match("ba[12] -*", true) || _action.starts_with("cg6", true); yes = _supervisor || _action.match("ba[12] -*", true) || _action.starts_with("cg6", true);
} }
return yes; return yes;
} }
@ -310,19 +310,9 @@ bool TMenuitem::perform_program() const
{ {
bool ok = true; bool ok = true;
if (_password) if (_supervisor)
{ {
TMask mask("ba0100a"); ok = supervisor();
mask.disable(F_USER);
mask.set(F_USER, "SERVIZIO");
ok = false;
if (mask.run() == K_ENTER)
{
const TDate oggi(TODAY);
TString80 pwd;
pwd << dongle().administrator() << (oggi.month() + oggi.day());
ok = pwd == mask.get(F_PASSWORD);
}
if (!ok) if (!ok)
return error_box("Password di servizio errata!\nAccesso negato."); return error_box("Password di servizio errata!\nAccesso negato.");
} }

View File

@ -26,7 +26,7 @@ class TMenuitem : public TObject
char _exist : 2; char _exist : 2;
char _enabled : 2; char _enabled : 2;
char _firm : 2; char _firm : 2;
char _password : 2; char _supervisor : 2;
char _reloadmenu : 2; char _reloadmenu : 2;
char _fullscreen_43 : 2; char _fullscreen_43 : 2;