|  | @@ -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{}
 |