From f0adabf567e2ee99ab24f59b7046ac1c9ba8742d Mon Sep 17 00:00:00 2001 From: slawkens Date: Wed, 11 Oct 2017 13:49:57 +0200 Subject: [PATCH] * moved character deaths and frags table generation to twig * fixed some warning in OTS_Base_DB --- system/libs/pot/OTS_Base_DB.php | 2 +- system/pages/characters.php | 81 +++++++++------------------ system/templates/characters.html.twig | 33 ++++++++++- 3 files changed, 58 insertions(+), 58 deletions(-) diff --git a/system/libs/pot/OTS_Base_DB.php b/system/libs/pot/OTS_Base_DB.php index 2a2c1507..d5d6cd98 100644 --- a/system/libs/pot/OTS_Base_DB.php +++ b/system/libs/pot/OTS_Base_DB.php @@ -28,7 +28,7 @@ abstract class OTS_Base_DB extends PDO implements IOTS_DB * * @var string */ - private $prefix = ''; + protected $prefix = ''; /** * Query counter diff --git a/system/pages/characters.php b/system/pages/characters.php index b7f3e361..4621ee9d 100644 --- a/system/pages/characters.php +++ b/system/pages/characters.php @@ -229,22 +229,19 @@ if($player->isLoaded() && !$player->isDeleted()) } $dead_add_content = ''; + $deaths = array(); if(tableExist('killers')) { $player_deaths = $db->query('SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = '.$player->getId().' ORDER BY `date` DESC LIMIT 0,10;'); if(count($player_deaths)) { - $dead_add_content = '
'; - $number_of_rows = 0; foreach($player_deaths as $death) { - $dead_add_content .= ' - - "; + $deaths[] = array('time' => $death['date'], 'description' => $description . '.'); } - - if($number_of_rows > 0) - $dead_add_content .= '
Character Deaths
'.date("j M Y, H:i", $death['date']).' '; $killers = $db->query("SELECT environment_killers.name AS monster_name, players.name AS player_name, players.deleted AS player_exists FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id WHERE killers.death_id = '".$death['id']."' ORDER BY killers.final_hit DESC, killers.id ASC")->fetchAll(); + $description = ''; $i = 0; $count = count($killers); foreach($killers as $killer) @@ -253,41 +250,36 @@ WHERE killers.death_id = '".$death['id']."' ORDER BY killers.final_hit DESC, kil if($killer['player_name'] != "") { if($i == 1) - $dead_add_content .= "Killed at level ".$death['level'].""; + $description .= "Killed at level ".$death['level'].""; else if($i == $count) - $dead_add_content .= " and"; + $description .= " and"; else - $dead_add_content .= ","; + $description .= ","; - $dead_add_content .= " by "; + $description .= " by "; if($killer['monster_name'] != "") - $dead_add_content .= $killer['monster_name']." summoned by "; + $description .= $killer['monster_name']." summoned by "; if($killer['player_exists'] == 0) - $dead_add_content .= getPlayerLink($killer['player_name']); + $description .= getPlayerLink($killer['player_name']); else - $dead_add_content .= $killer['player_name']; + $description .= $killer['player_name']; } else { if($i == 1) - $dead_add_content .= "Died at level ".$death['level'].""; + $description .= "Died at level ".$death['level'].""; else if($i == $count) - $dead_add_content .= " and"; + $description .= " and"; else - $dead_add_content .= ","; + $description .= ","; - $dead_add_content .= " by ".$killer['monster_name']; + $description .= " by ".$killer['monster_name']; } } - $dead_add_content .= ".
'; - else - $dead_add_content = ''; } } else { @@ -301,45 +293,35 @@ WHERE killers.death_id = '".$death['id']."' ORDER BY killers.final_hit DESC, kil if(count($deaths_db)) { - $dead_add_content = '
'; - $number_of_rows = 0; foreach($deaths_db as $death) { - $dead_add_content .= ' - - "; + $deaths[] = array('time' => $death['time'], 'description' => $description); } - - if($number_of_rows > 0) - $dead_add_content .= '
Character Deaths
'.date("j M Y, H:i", $death['time']).' '; - $lasthit = ($death['is_player']) ? getPlayerLink($death['killed_by']) : $death['killed_by']; - $dead_add_content .= 'Killed at level ' . $death['level'] . ' by ' . $lasthit; + $description = 'Killed at level ' . $death['level'] . ' by ' . $lasthit; if($death['unjustified']) { - $dead_add_content .= " (unjustified)"; + $description .= " (unjustified)"; } $mostdmg = ($death['mostdamage_by'] !== $death['killed_by']) ? true : false; if($mostdmg) { $mostdmg = ($death['mostdamage_is_player']) ? getPlayerLink($death['mostdamage_by']) : $death['mostdamage_by']; - $dead_add_content .= ' and by ' . $mostdmg; + $description .= ' and by ' . $mostdmg; if ($death['mostdamage_unjustified']) { - $dead_add_content .= " (unjustified)"; + $description .= " (unjustified)"; } } else { - $dead_add_content .= " (soloed)"; + $description .= " (soloed)"; } - $dead_add_content .= ".
'; - else - $dead_add_content = ''; } } + $frags = array(); $frag_add_content = ''; if($config['characters']['frags']) { @@ -349,22 +331,13 @@ WHERE killers.death_id = '".$death['id']."' ORDER BY killers.final_hit DESC, kil $player_frags = $db->query('SELECT `player_deaths`.*, `players`.`name`, `killers`.`unjustified` FROM `player_deaths` LEFT JOIN `killers` ON `killers`.`death_id` = `player_deaths`.`id` LEFT JOIN `player_killers` ON `player_killers`.`kill_id` = `killers`.`id` LEFT JOIN `players` ON `players`.`id` = `player_deaths`.`player_id` WHERE `player_killers`.`player_id` = '.$player->getId().' ORDER BY `date` DESC LIMIT 0,'.$frags_limit.';'); if(count($player_frags)) { - $frags = 0; - $frag_add_content .= '
'; + $row_count = 0; foreach($player_frags as $frag) { - $frags++; - $frag_add_content .= ' - - "; + $description = 'Fragged ' . $frag[name] . ' at level ' . $frag[level]; + $description .= '. ('.(($frag['unjustified'] == 0) ? 'Justified' : 'Unjustified').')'; + $frags[] = array('time' => $frag['date'], 'description' => $description); } - - if($frags > 0) - $frag_add_content .= '
Victims
' . date("j M Y, H:i", $frag['date']) . 'Fragged ' . $frag[name] . ' at level ' . $frag[level]; - - $frag_add_content .= ". (".(($frag['unjustified'] == 0) ? "Justified" : "Unjustified").")
'; - else - $frag_add_content = ''; } } @@ -423,8 +396,8 @@ WHERE killers.death_id = '".$death['id']."' ORDER BY killers.final_hit DESC, kil 'quests' => isset($quests) ? $quests : null, 'equipment' => isset($equipment) ? $equipment : null, 'skull' => $player->getSkullTime() > 0 && ($player->getSkull() == 4 || $player->getSkull() == 5) ? $skulls[$player->getSkull()] : null, - 'deaths' => $dead_add_content, - 'frags' => $frag_add_content, + 'deaths' => $deaths, + 'frags' => $frags, 'signature_url' => isset($signature_url) ? $signature_url : null, 'player_link' => getPlayerLink($player->getName(), false), 'hidden' => $hidden, diff --git a/system/templates/characters.html.twig b/system/templates/characters.html.twig index c7f8c7d8..68fe412b 100644 --- a/system/templates/characters.html.twig +++ b/system/templates/characters.html.twig @@ -216,8 +216,35 @@ - {{ deaths|raw }} - {{ frags|raw }} + {% if deaths|length > 0 %} +
+ + + + + {% set i = 0 %} + {% for death in deaths %} + + + + + + {% set i = i + 1 %} + {% endfor %} + {% endif %} + {% if frags|length > 0 %} +
+
Character Deaths
{{ death.time|date("j M Y, H:i") }}{{ death.description }}
+ + + + {% set i = 0 %} + {% for frag in frags %} + + + + +
Victims
{{ frag.time|date("j M Y, H:i") }}{{ frag.description }}
{{ hook(constant('HOOK_CHARACTERS_BEFORE_SIGNATURE')) }} @@ -300,7 +327,7 @@ {% set rows = rows + 1 %} Created: - {{ account.getCustomField("created")|date("j F Y, g:i a") ~bannedUntil }} + {{ account.getCustomField("created")|date("j F Y, g:i a") ~ bannedUntil|raw }} {{ hook(constant('HOOK_CHARACTERS_AFTER_ACCOUNT')) }}