- return out
-}
-
-func ReadNewsPath(newsPath []byte) []string {
- if len(newsPath) == 0 {
- return []string{}
- }
- pathCount := binary.BigEndian.Uint16(newsPath[0:2])
-
- pathData := newsPath[2:]
- var paths []string
-
- for i := uint16(0); i < pathCount; i++ {
- pathLen := pathData[2]
- paths = append(paths, string(pathData[3:3+pathLen]))
-
- pathData = pathData[pathLen+3:]
- }
-
- return paths
-}
-
-func (s *Server) GetNewsCatByPath(paths []string) map[string]NewsCategoryListData15 {
- cats := s.ThreadedNews.Categories
- for _, path := range paths {
- cats = cats[path].SubCats
- }
- return cats
-}
-
-// News article date field contains this structure:
-// Year 2
-// Milliseconds 2 (seriously?)
-// Seconds 4
-func NewsDate() []byte {
- t := time.Now()
- ms := []byte{0, 0}
- seconds := []byte{0, 0, 0, 0}
-
- year := []byte{0, 0}
- binary.BigEndian.PutUint16(year, uint16(t.Year()))
-
- yearStart := time.Date(t.Year(), time.January, 1, 0, 0, 0, 0, time.Local)
-
- binary.BigEndian.PutUint32(seconds, uint32(t.Sub(yearStart).Seconds()))
-
- date := append(year, ms...)
- date = append(date, seconds...)
-
- return date