Beispiel #1
0
 public void SetHeader(string title, string selected, params SubHeaderViewData[] tabs)
 {
     ViewData["Header"] = Header = new SubHeader(title)
     {
         Selected = selected, Items = tabs
     };
 }
        // GET: Home
        public ActionResult Index()
        {
            //logger.Info("test11111");
            var subHeader = new SubHeader {
                Title = "Dashboard", PageTitle = "Dashboard", SubPageTitle = "dashboard & statistics", LinkText = new Dictionary <string, string> {
                    { "主页", "/home/index" }
                }
            };

            ViewData["SubHeader"] = subHeader;
            return(View());
        }
Beispiel #3
0
        // GET: SystemMenu

        public ActionResult Index()
        {
            //查出所有菜单并生成菜单树
            var menu      = SystemMenuHelper.GetList();
            var newMenu   = CreateMenu(menu, 0);
            var subHeader = new SubHeader {
                Title = "菜单列表", PageTitle = "菜单列表", SubPageTitle = "所有菜单", LinkText = new Dictionary <string, string>()
            };

            ViewData["SubHeader"] = subHeader;
            return(View(newMenu));
        }
Beispiel #4
0
 private static byte[] _EncodeSubHeader(SubHeader sh)
 {
     using (var ms = new MemoryStream())
     {
         using (var bw = new BinaryWriter(ms))
         {
             bw.Write(sh.Flags);
             bw.Write(sh.ExponentForYValues);
             bw.Write(sh.IndexNumber);
             bw.Write(sh.StartingZValue);
             bw.Write(sh.EndingZValue);
             bw.Write(sh.NoiseValue);
             bw.Write(sh.NumberOfPoints);
             bw.Write(sh.NumberOfCoAddedScans);
             bw.Write(sh.WAxisValue);
             bw.Write(sh.Reserved);
             return(ms.ToArray());
         }
     }
 }
Beispiel #5
0
        public void Write(WorldPacket data)
        {
            data.WriteInt32(ResponseID);
            data.WriteInt32(ChoiceArtFileID);
            data.WriteInt32(Flags);
            data.WriteUInt32(WidgetSetID);
            data.WriteUInt32(UiTextureAtlasElementID);
            data.WriteUInt32(SoundKitID);
            data.WriteUInt8(GroupID);

            data.WriteBits(Answer.GetByteCount(), 9);
            data.WriteBits(Header.GetByteCount(), 9);
            data.WriteBits(SubHeader.GetByteCount(), 7);
            data.WriteBits(ButtonTooltip.GetByteCount(), 9);
            data.WriteBits(Description.GetByteCount(), 11);
            data.WriteBits(Confirmation.GetByteCount(), 7);

            data.WriteBit(RewardQuestID.HasValue);
            data.WriteBit(Reward.HasValue);
            data.FlushBits();

            if (Reward.HasValue)
            {
                Reward.Value.Write(data);
            }

            data.WriteString(Answer);
            data.WriteString(Header);
            data.WriteString(SubHeader);
            data.WriteString(ButtonTooltip);
            data.WriteString(Description);
            data.WriteString(Confirmation);

            if (RewardQuestID.HasValue)
            {
                data.WriteUInt32(RewardQuestID.Value);
            }
        }
Beispiel #6
0
        public ActionResult Show(int id, string name, string order_by, int?page)
        {
            var user = !Current.User.IsAnonymous && Current.User.Id == id ? Current.User : Current.DB.Users.Get(id);

            if (user == null)
            {
                return(PageNotFound());
            }

            // if this user has a display name, and the title is missing or does not match, permanently redirect to it
            if (user.UrlTitle.HasValue() && (string.IsNullOrEmpty(name) || name != user.UrlTitle))
            {
                return(PageMovedPermanentlyTo($"/users/{user.ProfilePath}{Request.Url.Query}"));
            }

            SetHeader(user.Login);
            SelectMenuItem("Users");

            var profileTabs = new SubHeader
            {
                Selected = order_by,
                Items    = new List <SubHeaderViewData>
                {
                    new SubHeaderViewData
                    {
                        Description = "edited",
                        Title       = "Recently edited queries",
                        Href        = "/users/" + user.ProfilePath + "?order_by=edited",
                        Default     = true,
                    },
                    new SubHeaderViewData
                    {
                        Description = "favorite",
                        Title       = "Favorite queries",
                        Href        = "/users/" + user.ProfilePath + "?order_by=favorite"
                    },
                    new SubHeaderViewData
                    {
                        Description = "recent",
                        Title       = "Recently executed queries",
                        Href        = "/users/" + user.ProfilePath + "?order_by=recent"
                    }
                }
            };

            ViewData["UserQueryHeaders"] = profileTabs;

            page = Math.Max(page ?? 1, 1);
            int?pagesize = 15;  // In case we decide to make this a query param

            int    start  = ((page.Value - 1) * pagesize.Value) + 1;
            int    finish = page.Value * pagesize.Value;
            string message;
            var    builder = new SqlBuilder();
            var    pager   = builder.AddTemplate(@"
                SELECT *
                FROM (SELECT /**select**/, ROW_NUMBER() OVER(/**orderby**/) AS RowNumber
                        FROM Queries q
                             /**join**/
                             /**leftjoin**/
                             /**where**/
                    ) AS results
                WHERE RowNumber BETWEEN @start AND @finish
             ORDER BY RowNumber",
                                                 new { start, finish }
                                                 );
            var counter = builder.AddTemplate("SELECT COUNT(*) FROM Queries q /**join**/ /**leftjoin**/ /**where**/");

            if (order_by == "recent")
            {
                builder.Select("re.RevisionId AS Id");
                builder.Select("re.LastRun");
                builder.Select("s.TinyName AS SiteName");
                builder.Where("re.UserId = @user", new { user = id });
                builder.Join("Revisions r ON r.QueryId = q.Id");
                builder.Join("RevisionExecutions re ON re.RevisionId = r.Id");
                builder.Join("Sites s ON s.Id = re.SiteId");
                builder.Join(@"QuerySets qs ON qs.Id = r.OriginalQuerySetId");
                builder.OrderBy("re.LastRun DESC");

                message = user.Id == CurrentUser.Id ?
                          "You have never ran any queries" : "No queries ran recently";
            }
            else
            {
                builder.Select("qs.CurrentRevisionId AS Id");
                builder.Select("qs.LastActivity AS LastRun");
                builder.Join("Revisions r on r.QueryId = q.Id");
                builder.Join("QuerySets qs on qs.CurrentRevisionId = r.Id");

                if (order_by == "favorite")
                {
                    builder.Join(@"
                        Votes v ON
                        v.QuerySetId = qs.Id AND
                        v.UserId = @user AND
                        v.VoteTypeId = @vote",
                                 new { user = id, vote = (int)VoteType.Favorite }
                                 );
                    builder.OrderBy("v.Id DESC");
                    message = user.Id == CurrentUser.Id ?
                              "You have no favorite queries, click the star icon on a query to favorite it" : "No favorites";
                }
                else
                {
                    builder.Where("qs.OwnerId = @user", new { user = id });
                    builder.Where("qs.Hidden = 0");
                    builder.OrderBy("qs.LastActivity DESC");

                    message = user.Id == CurrentUser.Id ?
                              "You haven't edited any queries" : "No queries";
                }
            }

            builder.Select("qs.Id as QuerySetId");
            builder.Select("u.Id as CreatorId");
            builder.Select("u.Login as CreatorLogin");
            builder.Select("qs.Title AS Name");
            builder.Select("qs.[Description] AS [Description]");
            builder.Select("qs.Votes AS FavoriteCount");
            builder.Select("qs.Views AS Views");
            builder.Select("q.QueryBody AS [SQL]");
            builder.LeftJoin("Users u ON u.Id = qs.OwnerId");

            var queries = Current.DB.Query <QueryExecutionViewData>(
                pager.RawSql,
                pager.Parameters
                ).Select(
                view =>
            {
                view.SiteName = (view.SiteName ?? Site.TinyName).ToLower();
                return(view);
            }
                );
            int total = Current.DB.Query <int>(counter.RawSql, counter.Parameters).First();

            ViewData["Href"]    = $"/users/{user.ProfilePath}?order_by={profileTabs.Selected}";
            ViewData["Queries"] = new PagedList <QueryExecutionViewData>(queries, page.Value, pagesize.Value, false, total);

            if (!queries.Any())
            {
                ViewData["EmptyMessage"] = message;
            }

            return(View(user));
        }
        public static HighByteMappingCMapTable Load(TrueTypeDataBytes data, int numberOfGlyphs, int platformId, int encodingId)
        {
            // ReSharper disable UnusedVariable
            var length  = data.ReadUnsignedShort();
            var version = data.ReadUnsignedShort();
            // ReSharper restore UnusedVariable

            var subHeaderKeys         = new int[256];
            var maximumSubHeaderIndex = 0;

            for (var i = 0; i < 256; i++)
            {
                var value = data.ReadUnsignedShort();
                maximumSubHeaderIndex = Math.Max(maximumSubHeaderIndex, value / 8);
                subHeaderKeys[i]      = value;
            }

            var subHeaderCount = maximumSubHeaderIndex + 1;

            var subHeaders = new SubHeader[subHeaderCount];

            for (var i = 0; i < subHeaderCount; i++)
            {
                var firstCode     = data.ReadUnsignedShort();
                var entryCount    = data.ReadUnsignedShort();
                var idDelta       = data.ReadSignedShort();
                var idRangeOffset = data.ReadUnsignedShort() - (subHeaderCount - i - 1) * 8 - 2;
                subHeaders[i] = new SubHeader(firstCode, entryCount, idDelta, idRangeOffset);
            }

            var glyphIndexArrayOffset = data.Position;

            var characterCodeToGlyphId = new Dictionary <int, int>();

            for (var i = 0; i < subHeaderCount; i++)
            {
                var subHeader = subHeaders[i];

                data.Seek(glyphIndexArrayOffset + subHeader.IdRangeOffset);

                for (int j = 0; j < subHeader.EntryCount; j++)
                {
                    int characterCode = (i << 8) + (subHeader.FirstCode + j);

                    var p = data.ReadUnsignedShort();

                    if (p > 0)
                    {
                        p = (p + subHeader.IdDelta) % 65536;
                    }

                    if (p >= numberOfGlyphs)
                    {
                        continue;
                    }

                    characterCodeToGlyphId[characterCode] = p;
                }
            }

            return(new HighByteMappingCMapTable(platformId, encodingId, characterCodeToGlyphId));
        }
            public SubHeader GetSubHeader(ushort n)
            {
                uint SIZEOF_SUBHEADER = 8;

                uint SubHeaderOffset = m_ete.offset + 
                    (uint)FieldOffsets.subHeaders + n*SIZEOF_SUBHEADER;

                SubHeader sh = null;
                
                if (SubHeaderOffset < m_bufTable.GetLength())
                {
                    sh = new SubHeader(SubHeaderOffset, m_bufTable);
                }


                return sh;
            }
Beispiel #9
0
        public void TestSubHeadersCanBeUsed()
        {
            var subHeader = new SubHeader("By Means of Natural Selection");

            subHeader.WriteToTrace();
        }