code: func validateUserEmailCode(user *m.User, code string) bool {
  	if len(code) <= 18 {
  		return false
  	}
  
  	minutes := setting.EmailCodeValidMinutes
  	code = code[:timeLimitCodeLength]
  
  	// split code
  	start := code[:12]
  	lives := code[12:18]
  	if d, err := com.StrTo(lives).Int(); err == nil {
  		minutes = d
  	}
  
  	// right active code
  	data := com.ToStr(user.Id) + user.Email + user.Login + user.Password + user.Rands
  	retCode := createTimeLimitCode(data, minutes, start)
  	fmt.Printf("code : %s\ncode2: %s", retCode, code)
  	if retCode == code && minutes > 0 {
  		// check time is expired or not
  		before, _ := time.ParseInLocation("200601021504", start, time.Local)
  		now := time.Now()
  		if before.Add(time.Minute*time.Duration(minutes)).Unix() > now.Unix() {
  			return true
  		}
  	}
  
  	return false
  }
docs: // verify time limit code