fixed: there were mktime() used on some dirs Items
so sometimes the time of the dir was changed now for converting tm into time_t use: time_t Time(const tm & par); time_t Time(const tm * par); tm Time(time_t par); from core/misc.h now winix internally use GMT time only when printing it is converted to local user time temporarily all users use the same local time (config: time_zone_offset) (only logs are genereted with local system time) added to system: time_t LocalTime(time_t gmt_time); tm LocalTime(const tm * ptm); tm LocalTime(const tm & ptm); they convert GMT time to local user time git-svn-id: svn://ttmath.org/publicrep/winix/trunk@666 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -51,6 +51,7 @@ void System::Init()
|
||||
|
||||
users.SetRequest(request);
|
||||
users.ReadUsers(db);
|
||||
users.SetTimeZoneOffset(config->time_zone_offset);
|
||||
groups.ReadGroups(db); // !! chwilowe przekazanie argumentu, db bedzie zmienione
|
||||
|
||||
rebus.SetRequest(request);
|
||||
@@ -533,3 +534,35 @@ Error System::EditFile(Item & item, bool with_url, bool notify)
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
time_t System::LocalTime(time_t gmt_time)
|
||||
{
|
||||
int time_offset;
|
||||
|
||||
if( request->session && request->session->puser )
|
||||
time_offset = request->session->puser->time_zone_offset;
|
||||
else
|
||||
time_offset = config->time_zone_offset_guest;
|
||||
|
||||
return gmt_time + (time_t)time_offset;
|
||||
}
|
||||
|
||||
|
||||
tm System::LocalTime(const tm * ptm)
|
||||
{
|
||||
time_t t;
|
||||
tm rtm;
|
||||
|
||||
t = Time(ptm);
|
||||
t = LocalTime(t);
|
||||
rtm = Time(t);
|
||||
|
||||
return rtm;
|
||||
}
|
||||
|
||||
|
||||
tm System::LocalTime(const tm & ptm)
|
||||
{
|
||||
return LocalTime(&ptm);
|
||||
}
|
||||
|
Reference in New Issue
Block a user