Subversion Repositories LCARS

Rev

Rev 64 | Rev 192 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 64 Rev 172
-
 
1
<?php header('Content-Type: text/html; charset=UTF-8'); ?>
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
2
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
2
  "http://www.w3.org/TR/html4/strict.dtd">
3
  "http://www.w3.org/TR/html4/strict.dtd">
3
<html lang="de">
4
<html lang="de">
4
  <head>
5
  <head>
5
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6
    <title>Seri-o-meter</title>
7
    <title>Seri-o-meter</title>
7
    <?php
8
    <?php
8
//       require_once 'css/lessphp/lessc.inc.php';
9
//       require_once 'css/lessphp/lessc.inc.php';
9
//       lessc::ccompile('style.less', 'style-less.css');
10
//       lessc::ccompile('style.less', 'style-less.css');
10
//        require_once 'css/least/LEAST.php';
11
//        require_once 'css/least/LEAST.php';
11
//        de\pointedears\css\least\LEAST::compile('style.css', 'style-least.css');
12
//        de\pointedears\css\least\LEAST::compile('style.css', 'style-least.css');
12
    ?>
13
    ?>
13
    <link rel="stylesheet" href="style.css" type="text/css">
14
    <link rel="stylesheet" href="style.css" type="text/css">
14
    <script type="text/javascript">
15
    <script type="text/javascript">
15
    /*
16
    /*
16
      function setStyle(obj, style)
17
      function setStyle(obj, style)
17
      {
18
      {
18
        var styleProperties = Object.getOwnPropertyNames(style);
19
        var styleProperties = Object.getOwnPropertyNames(style);
19
        for (var i = styleProperties.length; i--;)
20
        for (var i = styleProperties.length; i--;)
20
        {
21
        {
21
          var prop = styleProperties[i];
22
          var prop = styleProperties[i];
22
          obj.style[prop] = style[prop];
23
          obj.style[prop] = style[prop];
23
        }
24
        }
24
      }
25
      }
25
   
26
26
      function editor()
27
      function editor()
27
      {
28
      {
28
        var div = document.createElement("div");
29
        var div = document.createElement("div");
29
        setStyle(div, {
30
        setStyle(div, {
30
          position: "fixed",
31
          position: "fixed",
31
          right: "0",
32
          right: "0",
32
          top: "0",
33
          top: "0",
33
          width: "200px",
34
          width: "200px",
34
          bottom: "0",
35
          bottom: "0",
35
          backgroundColor: "#ccc"
36
          backgroundColor: "#ccc"
36
        });
37
        });
37
        document.body.appendChild(div);
38
        document.body.appendChild(div);
38
39
39
        function findRules(selectorText)
40
        function findRules(selectorText)
40
        {
41
        {
41
          var slice = Array.prototype.slice;
42
          var slice = Array.prototype.slice;
42
          function toArray(obj)
43
          function toArray(obj)
43
          {
44
          {
44
            return slice.call(obj);
45
            return slice.call(obj);
45
          }
46
          }
46
47
47
          var rx = new RegExp("(^|\\s)" + selectorText.replace(/[^$.(){}\[\]]/, "\\$&") + "\\s*$");
48
          var rx = new RegExp("(^|\\s)" + selectorText.replace(/[^$.(){}\[\]]/, "\\$&") + "\\s*$");
48
          var hits = toArray(document.styleSheets).map(function (styleSheet) {
49
          var hits = toArray(document.styleSheets).map(function (styleSheet) {
49
            return toArray(styleSheet.cssRules || styleSheet.rules).filter(function (rule) {
50
            return toArray(styleSheet.cssRules || styleSheet.rules).filter(function (rule) {
50
              return rx.test(rule.selectorText);
51
              return rx.test(rule.selectorText);
51
            });
52
            });
52
          }).filter(function (hit) {
53
          }).filter(function (hit) {
53
            return hit.length > 0;
54
            return hit.length > 0;
54
          });
55
          });
55
56
56
          return Array.prototype.concat.apply([], hits);
57
          return Array.prototype.concat.apply([], hits);
57
        }
58
        }
58
59
59
        var afterRule = findRules(".heroes .o::after");
60
        var afterRule = findRules(".heroes .o::after");
60
        var rxBgImage = new RegExp(
61
        var rxBgImage = new RegExp(
61
          "{RADIALGRADIENT}\\(\\s*({POSITION}\\s*,\\s*)?({SHAPE}\\s*,\\s*)?{COLORSTOP}(\\s*,\\s*{COLORSTOP})+\\s*\\)"
62
          "{RADIALGRADIENT}\\(\\s*({POSITION}\\s*,\\s*)?({SHAPE}\\s*,\\s*)?{COLORSTOP}(\\s*,\\s*{COLORSTOP})+\\s*\\)"
62
          .replace(/\{RADIALGRADIENT\}/g, "(-(webkit|moz|o|ms)-)?radial-gradient")
63
          .replace(/\{RADIALGRADIENT\}/g, "(-(webkit|moz|o|ms)-)?radial-gradient")
63
          .replace(/\{POSITION\}/g, "{LENGTH}(\\s+{LENGTH})?")
64
          .replace(/\{POSITION\}/g, "{LENGTH}(\\s+{LENGTH})?")
64
          .replace(/\{SHAPE\}/g, "\\s*((circle|ellipse)(\\s+({EDGE}))?|{LENGTH}(\\s+{LENGTH}))")
65
          .replace(/\{SHAPE\}/g, "\\s*((circle|ellipse)(\\s+({EDGE}))?|{LENGTH}(\\s+{LENGTH}))")
65
          .replace(/\{EDGE\}/g, "cover|closest-corner|closest-side|farthest-corner|farthest-side")
66
          .replace(/\{EDGE\}/g, "cover|closest-corner|closest-side|farthest-corner|farthest-side")
66
          .replace(/\{COLORSTOP\}/g, "{COLOR}(\\s*{PERCENTAGE})?")
67
          .replace(/\{COLORSTOP\}/g, "{COLOR}(\\s*{PERCENTAGE})?")
67
          .replace(/\{LENGTH\}/g, "{NUMBER}{UNIT}")
68
          .replace(/\{LENGTH\}/g, "{NUMBER}{UNIT}")
68
          .replace(/\{COLOR\}/g, "({COLORNAME}|{RGB}|{RGBA})")
69
          .replace(/\{COLOR\}/g, "({COLORNAME}|{RGB}|{RGBA})")
69
          .replace(/\{RGB\}/g, "rgb\\s*\\(\\s*{COLORCOMP}(\\s*,\\s*{COLORCOMP}){2}\\s*\\)")
70
          .replace(/\{RGB\}/g, "rgb\\s*\\(\\s*{COLORCOMP}(\\s*,\\s*{COLORCOMP}){2}\\s*\\)")
70
          .replace(/\{RGBA\}/g, "rgba\\s*\\(\\s*{COLORCOMP}(\\s*,\\s*{COLORCOMP}){2}\\s*,\\s*{PERCENTAGE}\\s*\\)")
71
          .replace(/\{RGBA\}/g, "rgba\\s*\\(\\s*{COLORCOMP}(\\s*,\\s*{COLORCOMP}){2}\\s*,\\s*{PERCENTAGE}\\s*\\)")
71
          .replace(/\{COLORCOMP\}/g, "{NUMBER}%?")
72
          .replace(/\{COLORCOMP\}/g, "{NUMBER}%?")
72
          .replace(/\{COLORNAME\}/g, "black|transparent")
73
          .replace(/\{COLORNAME\}/g, "black|transparent")
73
          .replace(/\{PERCENTAGE\}/g, "{NUMBER}%?")
74
          .replace(/\{PERCENTAGE\}/g, "{NUMBER}%?")
74
          .replace(/\{NUMBER\}/g, "\\d+")
75
          .replace(/\{NUMBER\}/g, "\\d+")
75
          .replace(/\{UNIT\}/g, "(px|%|em|ex|pt)")
76
          .replace(/\{UNIT\}/g, "(px|%|em|ex|pt)")
76
          , "g");
77
          , "g");
77
        console.log(rxBgImage);
78
        console.log(rxBgImage);
78
        var value = afterRule[0].style.getPropertyValue("background-image");
79
        var value = afterRule[0].style.getPropertyValue("background-image");
79
        console.log(value);
80
        console.log(value);
80
        var backgroundImages = value.match(rxBgImage);
81
        var backgroundImages = value.match(rxBgImage);
81
        console.log(backgroundImages);
82
        console.log(backgroundImages);
82
      }
83
      }
83
      */
84
      */
84
      function net()
85
      function net()
85
      {
86
      {
86
        var map = {
87
        var map = {
87
          "gene-roddenberry's-andromeda": "andromeda",
88
          "gene-roddenberry's-andromeda": "andromeda",
88
          "battlestar-galactica-2004":    "battlestar-galactica",
89
          "battlestar-galactica-2004":    "battlestar-galactica",
89
          "battlestar-galactica-2004-de": "battlestar-galactica",
90
          "battlestar-galactica-2004-de": "battlestar-galactica",
90
          "buffy-the-vampire-slayer":     "buffy",
91
          "buffy-the-vampire-slayer":     "buffy",
91
          "lois-clark-the-new-adventures-of-superman": "lois-clark-the-new-adventures-of-superman-1993",
92
          "lois-clark-the-new-adventures-of-superman": "lois-clark-the-new-adventures-of-superman-1993",
92
          get: function (key) {
93
          get: function (key) {
93
            return this.hasOwnProperty(key) ? this[key] : key;
94
            return this.hasOwnProperty(key) ? this[key] : key;
94
          }
95
          }
95
        };
96
        };
96
       
97
97
        var f = function (e) {
98
        var f = function (e) {
98
          if (e && e.shiftKey && e.ctrlKey)
99
          if (e && e.shiftKey && e.ctrlKey)
99
          {
100
          {
100
            var key = map.get(this.textContent.toLowerCase()
101
            var key = map.get(this.textContent.toLowerCase()
101
              .replace(/[&:.,()–]/g, "").replace(/\s+/g, "-").replace("-de", ""));
102
              .replace(/[&:.,()–]/g, "").replace(/\s+/g, "-").replace("-de", ""));
102
            window.open("http://serienjunkies.org/serie/" + encodeURIComponent(key));
103
            window.open("http://serienjunkies.org/serie/" + encodeURIComponent(key));
103
            e.preventDefault();
104
            e.preventDefault();
104
          }
105
          }
105
        };
106
        };
106
107
107
        try
108
        try
108
        {
109
        {
109
          for (var a = document.links, i = a.length; i--;)
110
          for (var a = document.links, i = a.length; i--;)
110
          {
111
          {
111
            var e = a[i];
112
            var e = a[i];
112
            e.addEventListener("click", f, false);
113
            e.addEventListener("click", f, false);
113
          }
114
          }
114
        }
115
        }
115
        catch (e) {}
116
        catch (e) {}
116
      }
117
      }
117
    </script>
118
    </script>
118
  </head>
119
  </head>
119
120
120
  <body onload="net() // editor()">
121
  <body onload="net() // editor()">
121
    <h1 class="hidden">Seri-o-meter</h1>
122
    <h1 class="hidden">Seri-o-meter</h1>
122
    <?php // var_dump($serien); ?>
123
    <?php // var_dump($serien); ?>
123
    <table>
124
    <table>
124
    <?php
125
    <?php
125
    if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
126
    if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
126
    {
127
    {
127
      function strftime_portable ($format, $timestamp = null)
128
      function strftime_portable ($format, $timestamp = null)
128
      {
129
      {
129
        if ($timestamp === null)
130
        if ($timestamp === null)
130
        {
131
        {
131
          $timestamp = time();
132
          $timestamp = time();
132
        }
133
        }
133
       
134
134
        $format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
135
        $format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
135
        return strftime($format, $timestamp);
136
        return strftime($format, $timestamp);
136
      }
137
      }
137
    }
138
    }
138
    else
139
    else
139
    {
140
    {
140
      function strftime_portable ($format, $timestamp = null)
141
      function strftime_portable ($format, $timestamp = null)
141
      {
142
      {
142
        if ($timestamp === null)
143
        if ($timestamp === null)
143
        {
144
        {
144
          $timestamp = time();
145
          $timestamp = time();
145
        }
146
        }
146
       
147
147
        return strftime($format, $timestamp);
148
        return strftime($format, $timestamp);
148
      }
149
      }
149
    }
150
    }
150
   
151
151
    setlocale(LC_ALL, 'de_CH.UTF-8');
152
    setlocale(LC_ALL, 'de_CH.UTF-8');
152
   
153
-
 
154
    $min_series = $this->min_series;
153
    foreach ($serien as $name => &$serie)
155
    foreach ($this->serien as $name => $serie)
154
    {
156
    {
155
      ?>
157
      ?>
156
      <tr>
158
      <tr>
157
        <td style="text-align: center"><?php
159
        <td style="text-align: center"><?php
158
          $recommended = ($name === $min_series);
160
          $recommended = ($name === $min_series);
159
          if ($recommended) { ?><?php }
161
          if ($recommended) { ?><?php }
160
          if (isset($serie['ignore']) && $serie['ignore'])
162
          if (isset($serie['ignore']) && $serie['ignore'])
161
          {
163
          {
162
            ?>→<span style="color: red; font-weight: bold">&#8416;</span><?php
164
            ?>→<span style="color: red; font-weight: bold">&#8416;</span><?php
163
          }
165
          }
164
          ?></td>
166
          ?></td>
165
        <th<?php if ($recommended) { ?> class="recommended"<?php } ?>><?php
167
        <th<?php if ($recommended) { ?> class="recommended"<?php } ?>><?php
166
          $ep_list = isset($serie['episode_list']);
168
          $ep_list = isset($serie['episode_list']);
167
          if ($ep_list)
169
          if ($ep_list)
168
          {
170
          {
169
            ?><a href="<?php
171
            ?><a href="<?php
170
              echo htmlspecialchars($serie['episode_list']);
172
              echo htmlspecialchars($serie['episode_list']);
171
            ?>" title="Episodenliste"><?php
173
            ?>" title="Episodenliste"><?php
172
          }
174
          }
173
          echo $name;
175
          echo $name;
174
          if ($ep_list) { ?></a><?php }
176
          if ($ep_list) { ?></a><?php }
175
          ?><br>
177
          ?><br>
176
          <span style="font-weight: normal"><?php
178
          <span style="font-weight: normal"><?php
177
            if (array_key_exists('channel', $serie)) echo $serie['channel'];
179
            if (array_key_exists('channel', $serie)) echo $serie['channel'];
178
180
179
            if (array_key_exists('showtimes', $serie))
181
            if (array_key_exists('showtimes', $serie))
180
            {
182
            {
181
              echo ', ' . $serie['showtimes'];
183
              echo ', ' . $serie['showtimes'];
182
            }
184
            }
183
            ?></span></th>
185
            ?></span></th>
184
        <td<?php if ($recommended) { ?> class="recommended"<?php } ?>>
186
        <td<?php if ($recommended) { ?> class="recommended"<?php } ?>>
185
          <div>Gesehen: <?php
187
          <div>Gesehen: <?php
186
            echo implode(', ', $serie['coverage']) . ' ('. $serie['count'];
188
            echo implode(', ', $serie['coverage']) . ' ('. $serie['count'];
187
            ?> von <?php $total = $serie['total']; echo $total; ?> Episoden)<?php
189
            ?> von <?php $total = $serie['total']; echo $total; ?> Episoden)<?php
188
              if (isset($serie['last_seen']))
190
              if (isset($serie['last_seen']))
189
              {
191
              {
190
                ?>; zuletzt am <?php
192
                ?>; zuletzt am <?php
191
                echo strftime_portable('%A, %e. %B %Y %H:%M %z', $serie['last_seen']);
193
                echo utf8_encode(strftime_portable('%A, %e. %B %Y %H:%M %z', $serie['last_seen']));
192
              }
194
              }
193
            ?></div>
195
            ?></div>
194
          <div class="box">
196
          <div class="box">
195
            <div class="meter"
197
            <div class="meter"
196
                 style="width: <?php
198
                 style="width: <?php
197
                   $percentage = $serie['percentage'];
199
                   $percentage = $serie['percentage'];
198
                   echo $percentage; ?>%"
200
                   echo $percentage; ?>%"
199
                 ></div>
201
                 ></div>
200
            <?php
202
            <?php
201
              if (array_key_exists('seasons', $serie))
203
              if (array_key_exists('seasons', $serie))
202
              {
204
              {
203
                $offset = 0;
205
                $offset = 0;
204
                foreach ($serie['seasons'] as $key => $season)
206
                foreach ($serie['seasons'] as $key => $season)
205
                {
207
                {
206
                  ?>
208
                  ?>
207
                  <div class="season"
209
                  <div class="season"
208
                  <?php
210
                  <?php
209
                      if (!is_numeric($key))
211
                      if (!is_numeric($key))
210
                      {
212
                      {
211
                        ?> title="<?php echo htmlspecialchars($key); ?>"<?php
213
                        ?> title="<?php echo htmlspecialchars($key); ?>"<?php
212
                      }
214
                      }
213
                     ?>
215
                     ?>
214
                       style="<?php
216
                       style="<?php
215
                                                        if ($key === 0)
217
                                                        if ($key === 0)
216
                                                        {
218
                                                        {
217
                                                                ?>border-left: none; <?php
219
                                                                ?>border-left: none; <?php
218
                                }
220
                                }
219
                              ?>left: <?php echo $offset; ?>%;
221
                              ?>left: <?php echo $offset; ?>%;
220
                              width: <?php echo $season / $total * 100; ?>%"
222
                              width: <?php echo $season / $total * 100; ?>%"
221
                              ><?php
223
                              ><?php
222
                                if (is_numeric($key))
224
                                if (is_numeric($key))
223
                                {
225
                                {
224
                                  echo ($key + 1);
226
                                  echo ($key + 1);
225
                                }
227
                                }
226
                                else
228
                                else
227
                           {
229
                           {
228
                                  echo $key;
230
                                  echo $key;
229
                                }
231
                                }
230
                              ?></div>
232
                              ?></div>
231
                  <?php
233
                  <?php
232
                  $offset += round($season / $total * 100, 1);
234
                  $offset += round($season / $total * 100, 1);
233
                }
235
                }
234
              }
236
              }
235
           
237
236
              if (isset($serie['episodes']))
238
              if (isset($serie['episodes']))
237
              {
239
              {
238
                $prevNumber = null;
240
                $prevNumber = null;
239
                foreach ($serie['episodes'] as $episode => $description)
241
                foreach ($serie['episodes'] as $episode => $description)
240
                {
242
                {
241
                  $episode_str = $episode;
243
                  $episode_str = $episode;
242
                  if (isset($serie['season_ranges']) && is_array($serie['season_ranges']))
244
                  if (isset($serie['season_ranges']) && is_array($serie['season_ranges']))
243
                  {
245
                  {
244
                    foreach ($serie['season_ranges'] as $season_key => $season_range)
246
                    foreach ($serie['season_ranges'] as $season_key => $season_range)
245
                    {
247
                    {
246
                      if ($episode >= $season_range[0] && $episode <= $season_range[1])
248
                      if ($episode >= $season_range[0] && $episode <= $season_range[1])
247
                      {
249
                      {
248
                        $episode_str = sprintf("%u (%ux%02u)", $episode, $season_key, $episode - $season_range[0] + 1);
250
                        $episode_str = sprintf("%u (%ux%02u)", $episode, $season_key, $episode - $season_range[0] + 1);
249
                      }
251
                      }
250
                    }
252
                    }
251
                  }
253
                  }
252
                  ?>
254
                  ?>
253
                  <div class="coverage"
255
                  <div class="coverage"
254
                       style="<?php
256
                       style="<?php
255
                                if (is_null($prevNumber) || $prevNumber !== $episode - 1)
257
                                if (is_null($prevNumber) || $prevNumber !== $episode - 1)
256
                                {
258
                                {
257
                                  ?>border-left: 1px solid rgba(0, 218, 0, 0.5); <?php
259
                                  ?>border-left: 1px solid rgba(0, 218, 0, 0.5); <?php
258
                                  }
260
                                  }
259
                                  ?>
261
                                  ?>
260
                              border-right: 1px solid rgba(0, 218, 0, 0.5);
262
                              border-right: 1px solid rgba(0, 218, 0, 0.5);
261
                              background-color: transparent;
263
                              background-color: transparent;
262
                              left: <?php echo ($episode - 1) / $total * 100; ?>%;
264
                              left: <?php echo ($episode - 1) / $total * 100; ?>%;
263
                              width: <?php echo 1 / $total * 100; ?>%"
265
                              width: <?php echo 1 / $total * 100; ?>%"
264
                       title="<?php
266
                       title="<?php
265
                           echo "{$episode_str}: " . htmlspecialchars($description);
267
                           echo "{$episode_str}: " . htmlspecialchars($description);
266
                           ?>"></div><?php
268
                           ?>"></div><?php
267
                  $prevNumber = $episode;
269
                  $prevNumber = $episode;
268
                }
270
                }
269
              }
271
              }
270
             
272
271
              if (isset($serie['seen']))
273
              if (isset($serie['seen']))
272
              {
274
              {
273
                foreach ($serie['seen'] as $range)
275
                foreach ($serie['seen'] as $range)
274
                {
276
                {
275
                  if (!is_array($range))
277
                  if (!is_array($range))
276
                  {
278
                  {
277
                    $range = array($range, $range);
279
                    $range = array($range, $range);
278
                  }
280
                  }
279
  /*
281
  /*
280
                  for ($i = $episode[0]; $i < $episode[1]; ++$i)
282
                  for ($i = $episode[0]; $i < $episode[1]; ++$i)
281
                    {
283
                    {
282
                    ?>
284
                    ?>
283
                    <div class="coverage"
285
                    <div class="coverage"
284
                         style="left: <?php echo ($episode[0] - 1) / $total * 100; ?>%;
286
                         style="left: <?php echo ($episode[0] - 1) / $total * 100; ?>%;
285
                                width: <?php echo ($episode[1] - $episode[0] + 1) / $total * 100; ?>%"
287
                                width: <?php echo ($episode[1] - $episode[0] + 1) / $total * 100; ?>%"
286
                         ></div>
288
                         ></div>
287
                    <?php
289
                    <?php
288
                    }
290
                    }
289
                  }
291
                  }
290
                  else
292
                  else
291
  */
293
  */
292
               
294
293
                  for ($episode = $range[0]; $episode <= $range[1]; ++$episode)
295
                  for ($episode = $range[0]; $episode <= $range[1]; ++$episode)
294
                  {
296
                  {
295
                    $episode_str = $episode;
297
                    $episode_str = $episode;
296
                    if (isset($serie['season_ranges']) && is_array($serie['season_ranges']))
298
                    if (isset($serie['season_ranges']) && is_array($serie['season_ranges']))
297
                          {
299
                          {
298
                            foreach ($serie['season_ranges'] as $season_key => $season_range)
300
                            foreach ($serie['season_ranges'] as $season_key => $season_range)
299
                            {
301
                            {
300
                              if ($episode >= $season_range[0] && $episode <= $season_range[1])
302
                              if ($episode >= $season_range[0] && $episode <= $season_range[1])
301
                              {
303
                              {
302
                                $episode_str = sprintf("%u (%ux%02u)", $episode, $season_key, $episode - $season_range[0] + 1);
304
                                $episode_str = sprintf("%u (%ux%02u)", $episode, $season_key, $episode - $season_range[0] + 1);
303
                              }
305
                              }
304
                            }
306
                            }
305
                          }
307
                          }
306
                    ?>
308
                    ?>
307
                    <div class="coverage"
309
                    <div class="coverage"
308
                         style="left: <?php echo ($episode - 1) / $total * 100; ?>%;
310
                         style="left: <?php echo ($episode - 1) / $total * 100; ?>%;
309
                                width: <?php echo 1 / $total * 100; ?>%"
311
                                width: <?php echo 1 / $total * 100; ?>%"
310
                         <?php
312
                         <?php
311
                           if (isset($serie['episodes']) && array_key_exists($episode, $serie['episodes']))
313
                           if (isset($serie['episodes']) && array_key_exists($episode, $serie['episodes']))
312
                           {
314
                           {
313
                         ?>title="<?php
315
                         ?>title="<?php
314
                             echo "{$episode_str}: " . htmlspecialchars($serie['episodes'][$episode]);
316
                             echo "{$episode_str}: " . htmlspecialchars($serie['episodes'][$episode]);
315
                             ?>"<?php
317
                             ?>"<?php
316
                           }
318
                           }
317
                         ?>></div>
319
                         ?>></div>
318
                    <?php
320
                    <?php
319
                        }
321
                        }
320
                }
322
                }
321
              }
323
              }
322
            ?>
324
            ?>
323
            <span class="percentage"><?php echo round($percentage, 1); ?>%</span>
325
            <span class="percentage"><?php echo round($percentage, 1); ?>%</span>
324
          </div>
326
          </div>
325
        </td>
327
        </td>
326
      </tr>
328
      </tr>
327
      <?php
329
      <?php
328
    }
330
    }
329
    ?>
331
    ?>
330
    </table>
332
    </table>
331
  </body>
333
  </body>
332
</html>
334
</html>