freemarkerdor/src/main/resources/cz/xelfi/quoridor/freemarkerdor/UI/index.fmt
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 07 Jan 2010 22:34:17 +0100
branchstatistics-and-elo
changeset 178 4b78d4f028b3
parent 172 3de0568f7ee8
child 197 e4a20612bd33
permissions -rw-r--r--
Initial version of statistics and ELO rating. Donated by Martin Rexa
jtulach@41
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
jtulach@41
     2
<html>
jaroslav@172
     3
  <#setting locale = locale/>
jaroslav@103
     4
  <#assign toMove = 0/>
jaroslav@103
     5
  <#assign toWait = 0/>
jaroslav@103
     6
  <#assign toWon = 0/>
jaroslav@103
     7
  <#assign toLost = 0/>
jaroslav@119
     8
  <#if ! maxItems??>
jaroslav@119
     9
    <#assign maxItems = 10/>
jaroslav@119
    10
  </#if>
jaroslav@119
    11
  <#assign seeAll = false/>
jaroslav@103
    12
  <#list doc.gameIds.* as g>
jaroslav@103
    13
    <#if (g.@white = user && g.@status = "whiteMove") ||
jaroslav@103
    14
         (g.@black = user && g.@status = "blackMove")
jaroslav@103
    15
    >
jaroslav@103
    16
        <#assign toMove = toMove + 1/>
jaroslav@103
    17
    </#if>
jaroslav@103
    18
    <#if (g.@white = user && g.@status = "blackMove") ||
jaroslav@103
    19
         (g.@black = user && g.@status = "whiteMove")
jaroslav@103
    20
    >
jaroslav@103
    21
        <#assign toWait = toWait + 1/>
jaroslav@103
    22
    </#if>
jaroslav@103
    23
    <#if
jaroslav@103
    24
        (g.@white = user && g.@status = "whiteWon") ||
jaroslav@103
    25
        (g.@black = user && g.@status = "blackWon")
jaroslav@103
    26
    >
jaroslav@103
    27
        <#assign toWon = toWon + 1/>
jaroslav@103
    28
    </#if>
jaroslav@103
    29
    <#if
jaroslav@103
    30
        (g.@white = user && g.@status = "blackWon") ||
jaroslav@103
    31
        (g.@black = user && g.@status = "whiteWon")
jaroslav@103
    32
    >
jaroslav@103
    33
        <#assign toLost = toLost + 1/>
jaroslav@103
    34
    </#if>
jaroslav@103
    35
  </#list>
jtulach@41
    36
  <head>
jaroslav@103
    37
    <title>
jaroslav@103
    38
        <#if (toMove > 0)>${bundle.YourTurn} - </#if>
jaroslav@104
    39
        ${bundle.TITLE_PLAIN}
jaroslav@103
    40
    </title>
jtulach@41
    41
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
jtulach@90
    42
    <meta http-equiv="REFRESH" content="60;URL=/">
jtulach@41
    43
  </head>
jaroslav@151
    44
  <body bgcolor="white">
jaroslav@59
    45
      <h1>${bundle.TITLE}</h1>
jaroslav@56
    46
jaroslav@172
    47
      <#macro before t w>
jtulach@169
    48
        <#assign seconds = (t / 1000)?long/>
jtulach@169
    49
        <#assign minutes= (seconds / 60)?long/>
jtulach@169
    50
        <#assign hours= (minutes / 60)?long/>
jtulach@169
    51
        <#assign days= (hours / 24)?long/>
jtulach@80
    52
        <!--millis: ${t}, seconds: ${seconds}, minutes: ${minutes} hours: ${hours}, days: ${days} -->
jaroslav@172
    53
        ${bundle("LastMove", t?int, seconds?int, minutes?int, hours?int, days?int, w?date?string.long)}
jtulach@78
    54
      </#macro>
jtulach@78
    55
jaroslav@58
    56
      <#macro game game>
jaroslav@172
    57
          ${bundle("gameWhiteBlack", game.@white?string, game.@black?string)}
jaroslav@172
    58
          <#assign sinceNow= now - game.@modified?number/>
jaroslav@172
    59
          <#assign when=toDate[game.@modified?string]/>
jaroslav@172
    60
          <a href="/games/${game.@id}/"><@before t=sinceNow w=when/></a>
jaroslav@139
    61
          <#if game.@comments?number != 0>
jaroslav@139
    62
            ${bundle("comments", game.@comments?number)}
jaroslav@139
    63
          </#if>
jaroslav@119
    64
          <#assign printed = printed + 1/>
jaroslav@58
    65
      </#macro>
jaroslav@58
    66
jaroslav@57
    67
      <#if message?? >
jaroslav@57
    68
        <p>
jaroslav@57
    69
            <span style="color: red">${message}</span>
jaroslav@57
    70
        </p>
jaroslav@57
    71
      </#if>
jaroslav@57
    72
jaroslav@103
    73
      <#if (toMove > 0)>
jaroslav@152
    74
      <h5>${bundle("GAME_MOVE", toMove?int)}</h5>
jaroslav@56
    75
jaroslav@56
    76
      <ol>
jaroslav@119
    77
      <#assign printed = 0/>
jaroslav@56
    78
      <#list doc.gameIds.* as g>
jtulach@77
    79
        <#if (g.@white = user && g.@status = "whiteMove") ||
jtulach@77
    80
             (g.@black = user && g.@status = "blackMove")
jtulach@77
    81
        >
jtulach@77
    82
            <li>
jtulach@77
    83
                <@game g/>
jtulach@77
    84
            </li>
jaroslav@119
    85
            <#if printed = maxItems><#assign seeAll=true/><#break/></#if>
jtulach@77
    86
        </#if>
jtulach@77
    87
      </#list>
jtulach@77
    88
      </ol>
jaroslav@103
    89
      </#if>
jtulach@77
    90
jaroslav@103
    91
      <#if (toWait > 0)>
jaroslav@152
    92
      <h5>${bundle("GAME_WAIT", toWait?int)}</h5>
jtulach@77
    93
      <ol>
jaroslav@119
    94
      <#assign printed = 0/>
jtulach@77
    95
      <#list doc.gameIds.* as g>
jtulach@77
    96
        <#if (g.@white = user && g.@status = "blackMove") ||
jtulach@77
    97
             (g.@black = user && g.@status = "whiteMove")
jtulach@77
    98
        >
jaroslav@56
    99
            <li>
jaroslav@58
   100
                <@game g/>
jaroslav@56
   101
            </li>
jaroslav@119
   102
            <#if printed = maxItems><#assign seeAll=true/><#break/></#if>
jaroslav@56
   103
        </#if>
jaroslav@56
   104
      </#list>
jaroslav@56
   105
      </ol>
jaroslav@103
   106
      </#if>
jaroslav@56
   107
jaroslav@103
   108
      <#if (toWon > 0)><!-- ${toWon} -->
jaroslav@152
   109
      <h5>${bundle("GAME_WON", toWon?int)}</h5>
jaroslav@57
   110
jaroslav@57
   111
      <ol>
jaroslav@119
   112
      <#assign printed = 0/>
jaroslav@57
   113
      <#list doc.gameIds.* as g>
jaroslav@57
   114
        <#if 
jtulach@77
   115
            (g.@white = user && g.@status = "whiteWon") ||
jtulach@77
   116
            (g.@black = user && g.@status = "blackWon")
jaroslav@57
   117
        >
jaroslav@57
   118
            <li>
jaroslav@58
   119
                <@game g/>
jaroslav@57
   120
            </li>
jaroslav@119
   121
            <#if printed = maxItems><#assign seeAll=true/><#break/></#if>
jaroslav@57
   122
        </#if>
jaroslav@57
   123
      </#list>
jaroslav@57
   124
      </ol>
jaroslav@103
   125
      </#if>
jaroslav@57
   126
jaroslav@103
   127
      <#if (toLost > 0)>
jaroslav@152
   128
      <h5>${bundle("GAME_LOST", toLost?int)}</h5>
jaroslav@57
   129
jaroslav@57
   130
      <ol>
jaroslav@119
   131
      <#assign printed = 0/>
jaroslav@57
   132
      <#list doc.gameIds.* as g>
jaroslav@57
   133
        <#if
jtulach@77
   134
            (g.@white = user && g.@status = "blackWon") ||
jtulach@77
   135
            (g.@black = user && g.@status = "whiteWon")
jaroslav@57
   136
        >
jaroslav@57
   137
            <li>
jaroslav@58
   138
                <@game g/>
jaroslav@57
   139
            </li>
jaroslav@119
   140
            <#if printed = maxItems><#assign seeAll=true/><#break/></#if>
jaroslav@57
   141
        </#if>
jaroslav@57
   142
      </#list>
jaroslav@57
   143
      </ol>
jaroslav@103
   144
      </#if>
jaroslav@57
   145
jtulach@74
   146
      <form action="/games/create">
jaroslav@59
   147
            ${bundle.WHITE}: <input type="text" name="white" value="" />
jaroslav@59
   148
            ${bundle.BLACK}: <input type="text" name="black" value="" />
jaroslav@71
   149
            <input type="submit" value="${bundle.CREATE}" />
jaroslav@57
   150
      </form>
jaroslav@57
   151
jaroslav@59
   152
      <h5>${bundle.GAME_ALL}</h5>
jaroslav@56
   153
jtulach@41
   154
      <ol>
jaroslav@119
   155
      <#assign printed = 0/>
jtulach@54
   156
      <#list doc.gameIds.* as g>
jtulach@54
   157
        <li>
jaroslav@58
   158
            <@game g/>
jtulach@54
   159
        </li>
jaroslav@119
   160
        <#if printed = maxItems><#assign seeAll=true/><#break/></#if>
jtulach@41
   161
      </#list>
jtulach@41
   162
      </ol>
jaroslav@119
   163
jaroslav@119
   164
      <#if seeAll>
jaroslav@119
   165
        <p>
jaroslav@119
   166
        <a href="/?maxItems=1024">${bundle.SEE_ALL}</a>...
jaroslav@119
   167
        </p>
jaroslav@119
   168
      </#if>
jaroslav@119
   169
jaroslav@178
   170
      <h5><a href="/elo">${bundle.ELO_LIST}</a></h5>
jaroslav@178
   171
      <h5><a href="/openings">${bundle.OPENINGS}</a></h5>
jaroslav@146
   172
      <h5>${bundle.OPTIONS}</h5>
jaroslav@146
   173
      
jaroslav@146
   174
      <form action="/options">
jaroslav@146
   175
            ${bundle.EMAIL} <input type="text" name="email" value='${email!""}' />
jaroslav@146
   176
            <input type="submit" value="${bundle.CHANGE_EMAIL}" />
jaroslav@146
   177
      </form>
jaroslav@146
   178
      <form action="/options">
jaroslav@146
   179
            ${bundle.LANGUAGE}
jaroslav@147
   180
            <#macro lang locale>
jaroslav@147
   181
            <option
jaroslav@147
   182
                value="${locale}" <#if bundle("LOCALE") = locale>selected</#if>
jaroslav@147
   183
            >${bundle(locale)}</option>
jaroslav@147
   184
            </#macro>
jaroslav@147
   185
            <select name="language" id="column">
jaroslav@147
   186
                <@lang "en"/>
jaroslav@147
   187
                <@lang "cs"/>
jaroslav@146
   188
              </select>
jaroslav@146
   189
            <input type="submit" value="${bundle.CHANGE_LANGUAGE}" />
jaroslav@146
   190
      </form>
jaroslav@146
   191
jaroslav@88
   192
      <hr/>
jaroslav@88
   193
      ${bundle("copyright", version)}
jtulach@41
   194
  </body>
jtulach@169
   195
</html>