|
|
@ -10,7 +10,9 @@ import ( |
|
|
|
"os" |
|
|
|
"os" |
|
|
|
"path" |
|
|
|
"path" |
|
|
|
"strings" |
|
|
|
"strings" |
|
|
|
|
|
|
|
"time" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"github.com/Unknwon/com" |
|
|
|
_ "github.com/go-sql-driver/mysql" |
|
|
|
_ "github.com/go-sql-driver/mysql" |
|
|
|
"github.com/go-xorm/core" |
|
|
|
"github.com/go-xorm/core" |
|
|
|
"github.com/go-xorm/xorm" |
|
|
|
"github.com/go-xorm/xorm" |
|
|
@ -40,6 +42,25 @@ func sessionRelease(sess *xorm.Session) { |
|
|
|
sess.Close() |
|
|
|
sess.Close() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Note: get back time.Time from database Go sees it at UTC where they are really Local.
|
|
|
|
|
|
|
|
// So this function makes correct timezone offset.
|
|
|
|
|
|
|
|
func regulateTimeZone(t time.Time) time.Time { |
|
|
|
|
|
|
|
if setting.UseSQLite3 { |
|
|
|
|
|
|
|
return t |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
zone := t.Local().Format("-0700") |
|
|
|
|
|
|
|
if len(zone) != 5 { |
|
|
|
|
|
|
|
return t |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
offset := com.StrTo(zone[2:3]).MustInt() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if zone[0] == '-' { |
|
|
|
|
|
|
|
return t.Add(time.Duration(offset) * time.Hour) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return t.Add(-1 * time.Duration(offset) * time.Hour) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var ( |
|
|
|
var ( |
|
|
|
x *xorm.Engine |
|
|
|
x *xorm.Engine |
|
|
|
tables []interface{} |
|
|
|
tables []interface{} |
|
|
|