Issues (310)

Security Analysis    no vulnerabilities found

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

pages/pokemon.page.php (47 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<!-- Header -->
2
<header id="single-header">
3
4
	<!-- Breadcrumb -->
5
	<div class="row">
6
		<div class="col-md-12">
7
			<ol class="breadcrumb">
8
				<li><a href="<?= HOST_URL; ?>"><?= $locales->HOME; ?></a></li>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
9
				<li><a href="pokemon"><?= $locales->NAV_POKEDEX; ?></a></li>
10
				<li class="active"><?= $pokemon->name; ?></li>
11
			</ol>
12
		</div>
13
	</div>
14
	<!-- /Breadcrumb -->
15
16
	<div class="row">
17
18
		<div class="col-sm-1 hidden-xs">
19
20
				<?php if ($pokemon->id - 1 > 0) {
0 ignored issues
show
The opening PHP tag must be the first content in the file
Loading history...
21
    ?>
22
23
				<p class="nav-links"><a href="pokemon/<?= $pokemon->id - 1; ?>"><i class="fa fa-chevron-left"></i></a></p>
24
25
				<?php
26
}?>
27
28
		</div>
29
30
		<div class="col-sm-10 text-center">
31
32
			<h1>#<?= sprintf('%03d <strong>%s</strong>', $pokemon->id, $pokemon->name); ?><br>
33
			<small>[<?= $pokemon->rarity; ?>]</small></h1>
34
35
			<p id="share">
36
				<a href="https://www.facebook.com/sharer/sharer.php?u=<?= HOST_URL; ?>pokemon/<?= $pokemon->id; ?>" target="_blank" class="btn btn-primary" title="<?php printf($locales->SHARE, 'Facebook'); ?>" ><?php printf($locales->SHARE, ''); ?> <i class="fa fa-facebook" aria-hidden="true"></i></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
37
38
				<a href="https://twitter.com/intent/tweet?source=<?= HOST_URL; ?>pokemon/<?= $pokemon_id; ?>&text=Find%20<?= $pokemon->name; ?>%20in:%20<?= $config->infos->city; ?>%20<?= HOST_URL; ?>pokemon/<?= $pokemon->id; ?>" target="_blank" title="<?php printf($locales->SHARE, 'Twitter'); ?>" class="btn btn-info"><?php printf($locales->SHARE, ''); ?> <i class="fa fa-twitter" aria-hidden="true"></i></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
39
			</p>
40
41
		</div>
42
43
44
		<div class="col-sm-1 hidden-xs">
45
46
			<?php if ($pokemon->id + 1 < $config->system->max_pokemon) {
47
        ?>
48
49
			<p class="nav-links"><a href="pokemon/<?= $pokemon->id + 1; ?>"><i class="fa fa-chevron-right"></i></a></p>
50
51
			<?php
52
    } ?>
0 ignored issues
show
Closing brace indented incorrectly; expected 0 spaces, found 4
Loading history...
53
		</div>
54
55
	</div>
56
<?php
57
    $form_array = array('Unset', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'W', 'X', 'Y', 'Z');
58
    $form_array = array_values($form_array);
59
    ?>
60
61
</header>
62
<!-- /Header -->
63
64
65
<div class="row">
66
	<div class="col-md-2 col-xs-4">
67
		<div id="poke-img" style="padding-top:15px;margin-bottom:1em;">
68
			<img class="media-object img-responsive" src="<?= $pokemon->img; ?>" alt="<?= $pokemon->name; ?> model" >
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
69
		</div>
70
	</div>
71
72
	<div class="col-md-4 col-xs-8" style="margin-bottom:1em;">
73
74
		<div class="media">
75
			<div class="media-body" style="padding-top:25px;">
76
77
				<p><?= $pokemon->description; ?></p>
78
79
				<p>
80
				<?php foreach ($pokemon->types as $type) {
81
        ?>
82
					<span class="label label-default" style="background-color:<?= $pokemons->typecolors->$type; ?>"><?= $type; ?></span>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
83
				<?php
84
    }?>
0 ignored issues
show
Closing brace indented incorrectly; expected 0 spaces, found 4
Loading history...
85
				</p>
86
87
			</div>
88
		</div>
89
90
	</div>
91
92
	<div class="col-md-6" style="padding-top:10px;">
93
		<canvas id="spawn_chart" width="100%" height="40"></canvas>
94
	</div>
95
96
</div>
97
98
99
100
<div class="row">
101
	<div class="col-md-6" style="padding-top:10px;">
102
		<div class="table-responsive">
103
		<table class="table">
104
            <tr>
105
                <td class="col-md-8 col-xs-8"><strong><?= $locales->POKEMON_GEN; ?></strong></td>
106
                <td class="col-md-4 col-xs-4"><?= $pokemon->gen; ?></td>
107
            </tr>
108
			<tr>
109
				<td class="col-md-8 col-xs-8"><strong><?= $locales->POKEMON_SEEN; ?></strong></td>
110
				<td class="col-md-4 col-xs-4">
111
112
				<?php
113
                if (isset($pokemon->last_seen) || isset($pokemon->last_seen_day)) {
0 ignored issues
show
Blank line found at start of control structure
Loading history...
114
115
                    if (isset($pokemon->last_seen)) {
116
                        $time_ago = time_ago($pokemon->last_seen, $locales);
117
                    } else {
118
                        $time_ago = time_ago_day($pokemon->last_seen_day, $locales);
119
                    }
120
121
                    if (isset($pokemon->last_position)) {
122
                        ?>
123
                        <a href="https://maps.google.com/?q=<?= $pokemon->last_position->latitude; ?>,<?= $pokemon->last_position->longitude; ?>&ll=<?= $pokemon->last_position->latitude; ?>,<?= $pokemon->last_position->longitude; ?>&z=16" target="_blank"><?= $time_ago ?></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
124
                        <?php
125
                    } else {
126
                        echo $time_ago;
127
                    }
128
                    ?>
129
130
				    <?php
131
                } else {
132
                    echo $locales->NEVER;
133
                }
134
                ?>
135
136
				</td>
137
			</tr>
138
			<tr>
139
				<td class="col-md-8 col-xs-8"><strong><?= $locales->POKEMON_AMOUNT; ?></strong></td>
140
				<td class="col-md-4 col-xs-4"><?= $pokemon->spawn_count; ?> <?= $locales->SEEN; ?></td>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
141
			</tr>
142
			<tr>
143
				<td class="col-md-8 col-xs-8"><strong><?= $locales->POKEMON_RATE; ?></strong></td>
144
				<td class="col-md-4 col-xs-4"><?= $pokemon->spawns_per_day; ?> / <?= $locales->DAY; ?></td>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
145
			</tr>
146
			<tr>
147
				<td class="col-md-8 col-xs-8">
148
                    <?php
149
                    if (isset($pokemon->protected_gyms)) {
150
                        echo '<strong>'.$locales->POKEMON_GYM.$pokemon->name.'</strong>';
151
                    } ?>
152
                </td>
153
				<td class="col-md-4 col-xs-4">
154
                    <?php
155
                    if (isset($pokemon->protected_gyms)) {
156
                        echo $pokemon->protected_gyms;
157
                    }?>
158
                </td>
159
			</tr>
160
		</table>
161
		</div>
162
		</div>
163
164
		<div class="col-md-6" style="padding-top:10px;">
165
		<div class="table-responsive">
166
		<table class="table">
167
			<tr>
168
				<td class="col-md-8 col-xs-8"><strong><?= $locales->POKEMON_RAID_SEEN; ?></strong></td>
169
				<td class="col-md-4 col-xs-4">
170
171
                    <?php
172
                    if (isset($pokemon->last_raid_position)) {
173
                        ?>
174
175
					    <a href="https://maps.google.com/?q=<?= $pokemon->last_raid_position->latitude; ?>,<?= $pokemon->last_raid_position->longitude; ?>&ll=<?= $pokemon->last_raid_position->latitude; ?>,<?= $pokemon->last_raid_position->longitude; ?>&z=16" target="_blank"><?= time_ago($pokemon->last_raid_seen, $locales); ?></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
176
177
					    <?php
178
                    } else {
179
                        echo $locales->NEVER;
180
                    }
181
                    ?>
182
183
				</td>
184
			</tr>
185
			<tr>
186
				<td class="col-md-8 col-xs-8"><strong><?= $locales->POKEMON_RAID_AMOUNT; ?></strong></td>
187
				<td class="col-md-4 col-xs-4"><?= $pokemon->raid_count; ?> <?= $locales->SEEN; ?></td>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
188
			</tr>
189
			<tr>
190
				<td class="col-md-8 col-xs-8"><strong><?= $locales->POKEMON_QUICK; ?></strong></td>
191
				<td class="col-md-4 col-xs-4"><?= $pokemon->quick_move; ?></td>
192
			</tr>
193
			<tr>
194
				<td class="col-md-8 col-xs-8"><strong><?= $locales->POKEMON_SPECIAL; ?></strong> </td>
195
				<td class="col-md-4 col-xs-4"><?= $pokemon->charge_move; ?></td>
196
			</tr>
197
198
		</table>
199
		</div>
200
	</div>
201
</div>
202
203
204
<div class="row area text-center subnav">
205
	<div class="btn-group" role="group">
206
		<a class="btn btn-default page-scroll" href="pokemon/<?= $pokemon->id; ?>#where"><i class="fa fa-map-marker"></i> <?= $locales->POKEMON_MAP; ?></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
207
		<a class="btn btn-default page-scroll" href="pokemon/<?= $pokemon->id; ?>#stats"><i class="fa fa-pie-chart"></i> <?= $locales->POKEMON_STATS; ?></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
208
		<a class="btn btn-default page-scroll" href="pokemon/<?= $pokemon->id; ?>#evolve"><i class="fa fa-flash"></i> <?= $locales->POKEMON_EVOLUTIONS; ?></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
209
		<a class="btn btn-default page-scroll" href="pokemon/<?= $pokemon->id; ?>#family"><i class="fa fa-share-alt"></i> <?= $locales->POKEMON_FAMILY; ?></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
210
		<a class="btn btn-default page-scroll" href="pokemon/<?= $pokemon->id; ?>#top50"><i class="fa fa-list"></i> Top50</a>
211
		<a class="btn btn-default page-scroll" href="pokemon/<?= $pokemon->id; ?>#trainer"><i class="fa fa-users"></i> <?= $locales->TRAINERS; ?></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
212
	</div>
213
</div>
214
215
216
<div class="row" id="where">
217
	<div class="col-md-12">
218
		<h2 class="text-center sub-title"><?= $locales->POKEMON_WHERE; ?> <?= $pokemon->name; ?>?</h2>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
219
	</div>
220
</div>
221
<div class="row text-center subnav">
222
	<div class="btn-group" role="group">
223
		<a class="btn btn-default active" id="heatmapSelector"><i class="fa fa-thermometer-three-quarters"></i> <?= $locales->POKEMON_HEATMAP_BUTTON; ?></a>
224
		<a class="btn btn-default " id="liveSelector"><i class="fa fa-eye"></i> <?= $locales->POKEMON_LIVE_BUTTON; ?></a>
225
	</div>
226
</div>
227
<div class="row" style="margin-bottom:20px">
228
	<div class="col-md-12" id="timeFilterContainer">
229
		<div id="timeSelector">
230
		</div>
231
	</div>
232
	<div class="col-md-12" id="liveFilterContainer">
233
		<div id="liveFilterSelector">
234
		</div>
235
	</div>
236
	<div class="col-md-12 text-center" id="loaderContainer">
237
		<h3><?= $locales->LOADING; ?></h3>
238
	</div>
239
</div>
240
<div class="row area">
241
	<div class="col-md-12">
242
		<div id="map">
243
		</div>
244
	</div>
245
</div>
246
247
248
249
250
<div class="row area" id="stats">
251
252
	<h2 class="text-center sub-title"><strong><?= $pokemon->name; ?> </strong><?= $locales->POKEMON_BREAKDOWN; ?></h2>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
253
254
	<!-- Rating -->
255
	<p class="text-center stats-data"><big><?= $pokemon->rating; ?> / 10</big><br><?= $locales->POKEMON_RATING; ?></p>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
256
257
	<!-- CP Datas -->
258
	<div class="col-md-3 stats-data">
259
260
		<p><big><?= $pokemon->max_cp; ?></big><br/><?= $locales->POKEMON_CP; ?></p>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
261
262
		<div class="progress" style="margin-bottom:0;">
263
			<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="<?= $pokemon->max_cp_percent; ?>" aria-valuemin="0" aria-valuemax="100" style="width: <?= $pokemon->max_cp_percent; ?>%;min-width:30%;">
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
264
				<?= $pokemon->max_cp_percent; ?> %
265
			</div>
266
		</div>
267
268
		<?= $locales->POKEMON_COMPGAME; ?>
269
270
	</div>
271
272
	<!-- Chart -->
273
	<div class="col-md-6">
274
275
		<canvas id="polar_chart" width="100%" height="60"></canvas>
276
277
	</div>
278
	<!-- /Chart -->
279
280
	<!-- PV Datas -->
281
	<div class="col-md-3 stats-data">
282
283
		<p><big><?= $pokemon->max_hp; ?></big><br/><?= $locales->POKEMON_HP; ?></p>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
284
285
		<div class="progress" style="margin-bottom:0;">
286
			<div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" aria-valuenow="<?= $pokemon->max_hp_percent; ?>" aria-valuemin="0" aria-valuemax="100" style="width: <?= $pokemon->max_hp_percent; ?>%;min-width:30%;">
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
287
				<?= $pokemon->max_hp_percent; ?> %
288
			</div>
289
		</div>
290
291
		<?= $locales->POKEMON_COMPGAME; ?>
292
293
	</div>
294
295
</div>
296
297
<div class="row area" id="evolve">
298
299
	<h2 class="text-center sub-title"><strong><?= $pokemon->name; ?> </strong><?= $locales->POKEMON_EVOLUTIONS; ?></h2>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
300
301
	<div class="col-md-12 flex-container-tree results">
302
303
		<?php
304
        $tree = array($pokemon->tree);
305
        $depth = get_depth($tree);
306
        $skip = false;
307
        for ($i = 0; $i < $depth; ++$i) {
308
            $i_id = intval(($i + 1) / 2);
309
            $data = get_tree_at_depth($tree, $i_id, $config->system->max_pokemon); ?>
310
311
			<?php
312
            if (!is_null($data) && 0 != sizeof($data) && !$skip) {
313
                ?>
314
				<div class="col-md-12 flex-item-tree">
315
					<?php
316
                    foreach ($data as $obj) {
317
                        $obj_id = $obj->id;
318
                        $tree_pokemon = $pokemons->pokemon->$obj_id;
319
                        $link = 'pokemon/'.$obj_id;
320
321
                        if (0 == $i % 2) {
322
                            ?>
323
324
							<div>
325
								<a href="<?= $link; ?>"><img src="<?= $tree_pokemon->img; ?>" alt="<?= $tree_pokemon->name; ?>" class="img"></a>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
326
								<p class="pkmn-name"><a href="<?= $link; ?>">#<?= sprintf('%03d<br>%s', $tree_pokemon->id, $tree_pokemon->name); ?></a></p>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
327
							</div>
328
329
						<?php
330
                        } else {
331
                            ?>
332
333
							<div>
334
								<img src="core/img/arrow<?=$obj->array_sufix; ?>.png" alt="Arrow" class="img">
335
								<p class="pkmn-name">
336
									<?php
337
                                    if (isset($obj->candies)) {
338
                                        echo $obj->candies.' '.$locales->POKEMON_CANDIES;
339
                                    } else {
340
                                        echo '? '.$locales->POKEMON_CANDIES;
341
                                    }
342
343
                            if (isset($obj->item)) {
344
                                $itemName = 'ITEM_'.$obj->item;
345
                                echo '<br>+ '.$locales->$itemName;
346
                            } elseif (isset($obj->info)) {
347
                                $infoName = 'INFO_'.$obj->info;
348
                                echo '<br>('.$locales->$infoName.')';
349
                            } else {
350
                                echo '<br> </br>';
351
                            } ?>
352
								</p>
353
							</div>
354
                            <?php
355
                        }
356
                    } ?>
357
                </div>
358
            <?php
359
            } elseif ($skip) {
360
                $skip = false;
361
            } else {
362
                $skip = true;
363
            }
364
        }
365
        ?>
366
	</div>
367
</div>
368
369
370
<div class="row area" id="family">
371
372
	<div class="col-md-12">
373
374
		<h2 class="text-center sub-title"><strong><?= $pokemon->name; ?></strong><?= $locales->POKEMON_FAMILYTITLE; ?></h2>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
375
376
		<div class="row">
377
378
		<?php
379
380
        foreach ($related as $related_mon) {
381
            ?>
382
383
			<div class="col-md-1 col-sm-2 col-xs-3 pokemon-single">
384
385
				<a href="pokemon/<?= $related_mon; ?>">
386
					<img src="<?= $pokemons->pokemon->$related_mon->img; ?>" alt="<?= $pokemons->pokemon->$related_mon->name; ?>" class="img-responsive">
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
387
				</a>
388
389
			</div>
390
391
392
			<?php
393
        }
394
395
        ?>
396
397
		</div>
398
399
	</div>
400
401
</div>
402
403
404
<?php if (!empty($top)) {
405
            ?>
406
	<div class="row area" id="top50">
407
		<div class="col-md-12">
408
			<h2 class="text-center sub-title">Top 50 <strong><?= $pokemon->name; ?></strong></h2>
409
			<div class="table-responsive">
410
				<table class="table">
411
					<thead>
412
						<tr>
413
							<th>#</th>
414
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=cp<?php echo 'cp' == $best_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#top50">CP <i class="fa fa-sort" aria-hidden="true"></i></a></th>
415
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=IV<?php echo 'IV' == $top_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#top50">IV <i class="fa fa-sort" aria-hidden="true"></i></a></th>
416
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=individual_attack<?php echo 'individual_attack' == $top_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#top50"><?= $locales->POKEMON_TABLE_ATTACK; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
417
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=individual_defense<?php echo 'individual_defense' == $top_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#top50"><?= $locales->POKEMON_TABLE_DEFENSE; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
418
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=individual_stamina<?php echo 'individual_stamina' == $top_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#top50"><?= $locales->POKEMON_TABLE_STAMINA; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
419
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=move_1<?php echo 'move_1' == $top_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#top50">1. <?= $locales->MOVE; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
420
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=move_2<?php echo 'move_2' == $top_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#top50">2. <?= $locales->MOVE; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
421
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=disappear_time<?php echo 'disappear_time' == $top_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#top50"><?= $locales->DATE; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
422
							<?php if (201 == $pokemon->id) {
423
                ?>
424
								<th>Form</th>
425
							<?php
426
            } ?>
0 ignored issues
show
Closing brace indented incorrectly; expected 0 spaces, found 12
Loading history...
427
						</tr>
428
					</thead>
429
				
430
					<tbody>
431
						<?php
432
                        $i = 0;
433
            foreach ($top as $top50) {
434
                ++$i;
435
                $move1 = $top50->move_1;
436
                $move2 = $top50->move_2; ?>
437
438
							<tr>
439
								<td><?= $i; ?></td>
440
								<td><?= isset($top50->cp) ? $top50->cp : '???'; ?></td>
441
								<td><?= $top50->IV; ?> %</td>
442
								<td><?= $top50->individual_attack; ?></td>
443
								<td><?= $top50->individual_defense; ?></td>
444
								<td><?= $top50->individual_stamina; ?></td>
445
								<td><?php echo $move->$move1->name; ?></td>
446
								<td><?php echo $move->$move2->name; ?></td>
447
								<td><a href="https://maps.google.com/?q=<?= $top50->latitude; ?>,<?= $top50->longitude; ?>&ll=<?= $top50->latitude; ?>,<?= $top50->longitude; ?>&z=16"
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
448
									target="_blank"><?=$top50->distime; ?></a></td>
449
								<?php if (201 == $pokemon->id && $top50->form) {
450
                    ?>
451
									<td><?php echo $form_array[$top50->form]; ?></td>
452
								<?php
453
                } else {
0 ignored issues
show
Closing brace indented incorrectly; expected 0 spaces, found 16
Loading history...
454
                    ?>
455
									<td></td>
456
								<?php
457
                } ?>
458
							</tr>
459
							<?php
460
            } ?>
461
				</tbody>
462
			</table>
463
		</div>
464
	</div>
465
</div>
466
467
<?php
468
        } if ($toptrainer) {
0 ignored issues
show
Closing brace indented incorrectly; expected 0 spaces, found 8
Loading history...
469
            ?>
470
	<div class="row" id="trainer">
471
		<div class="col-md-12">
472
			<h2 class="text-center sub-title"><?= $locales->POKEMON_TOPTRAINER; ?> <strong><?= $pokemon->name; ?></strong></h2>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
473
			<div class="table-responsive">
474
				<table class="table">
475
					<thead>
476
						<tr>
477
							<th>#</th>
478
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=trainer_name<?php echo 'trainer_name' == $best_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#trainer"><?= $locales->NAME; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
479
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=cp<?php echo 'cp' == $best_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#trainer">CP <i class="fa fa-sort" aria-hidden="true"></i></a></th>
480
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=IV<?php echo 'IV' == $best_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#trainer">IV <i class="fa fa-sort" aria-hidden="true"></i></a></th>
481
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=move_1<?php echo 'move_1' == $best_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#trainer">1. <?= $locales->MOVE; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
482
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=move_2<?php echo 'move_2' == $best_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#trainer">2. <?= $locales->MOVE; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
483
							<th><a href="pokemon/<?= $pokemon->id; ?>?order=last_seen<?php echo 'last_seen' == $best_order && !isset($_GET['direction']) ? '&direction=desc' : ''; ?>#trainer"><?= $locales->POKEMON_TABLE_SEEN; ?> <i class="fa fa-sort" aria-hidden="true"></i></a></th>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
484
						</tr>
485
					</thead>
486
					<tbody>
487
						<?php
488
                        $i = 0;
489
            foreach ($toptrainer as $besttrainer) {
490
                ++$i;
491
                $move1 = $besttrainer->move_1;
492
                $move2 = $besttrainer->move_2; ?>
493
494
							<tr>
495
								<td><?= $i; ?></td>
496
								<td><a href="trainer?name=<?=$besttrainer->trainer_name; ?>"><?=$besttrainer->trainer_name; ?> </a></td>
0 ignored issues
show
It is generally recommended to place each PHP statement on a line by itself.

Let’s take a look at an example:

// Bad
$a = 5; $b = 6; $c = 7;

// Good
$a = 5;
$b = 6;
$c = 7;
Loading history...
497
								<td><?= $besttrainer->cp; ?></td>
498
								<td><?= $besttrainer->IV; ?> %</td>
499
								<td><?php echo $move->$move1->name; ?></td>
500
								<td><?php echo $move->$move2->name; ?></td>
501
								<td><?=$besttrainer->lasttime; ?></td>
502
							</tr>
503
							<?php
504
            } ?>
505
				</tbody>
506
			</table>
507
		</div>
508
	</div>
509
</div>
510
<?php
511
        } ?>
512