Guest User

Untitled

a guest
Sep 10th, 2017
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.77 KB | None | 0 0
  1. <?PHP header("Content-Type: text/html; charset=UTF-8",true);
  2. if(!defined('INITIALIZED'))
  3. exit;
  4.  
  5. $name = '';
  6. if(isset($_REQUEST['name']))
  7. $name = (string) $_REQUEST['name'];
  8.  
  9. if(!empty($name))
  10. {
  11. $player = new Player();
  12. $player->find($name);
  13. if($player->isLoaded())
  14. {
  15. $number_of_rows = 0;
  16. $account = $player->getAccount();
  17. $skull = '';
  18. if ($player->getSkull() == 4)
  19. $skull = "<img style='border: 0;' src='./images/skulls/redskull.gif'/>";
  20. else if ($player->getSkull() == 5)
  21. $skull = "<img style='border: 0;' src='./images/skulls/blackskull.gif'/>";
  22. $main_content .= '<table border="0" cellspacing="1" cellpadding="4" width="100%"><tr bgcolor="'.$config['site']['vdarkborder'].'"><td colspan="2" style="font-weight:bold;color:white">Character Information</td></tr>';
  23. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  24. $main_content .= '<tr bgcolor="' . $bgcolor . '"><td width="20%">Name:</td><td>' . htmlspecialchars($player->getName()) . ' ' . $skull . '';
  25. if($player->isBanned() || $account->isBanned())
  26. $main_content .= '<span style="color:red">[BANNED]</span>';
  27. if($player->isNamelocked())
  28. $main_content .= '<span style="color:red">[NAMELOCKED]</span>';
  29. $main_content .= '<br /></td></tr>';
  30.  
  31. if(in_array($player->getGroup(), $config['site']['groups_support']))
  32. {
  33. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  34. $main_content .= '<tr bgcolor="' . $bgcolor . '"><td>Group:</td><td>' . htmlspecialchars(Website::getGroupName($player->getGroup())) . '</td></tr>';
  35. }
  36. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  37. $main_content .= '<tr bgcolor="' . $bgcolor . '"><td>Sex:</td><td>' . htmlspecialchars((($player->getSex() == 0) ? 'female' : 'male')) . '</td></tr>';
  38. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  39. $main_content .= '<tr bgcolor="' . $bgcolor . '"><td>Profession:</td><td>' . htmlspecialchars(Website::getVocationName($player->getVocation())) . '</td></tr>';
  40. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  41. $main_content .= '<tr bgcolor="' . $bgcolor . '"><td>Level:</td><td>' . htmlspecialchars($player->getLevel()) . '</td></tr>';
  42. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  43. $main_content .= '<tr bgcolor="' . $bgcolor . '"><td>Residence:</td><td>' . htmlspecialchars($towns_list[$player->getTownID()]) . '</td></tr>';
  44. $rank_of_player = $player->getRank();
  45. if(!empty($rank_of_player))
  46. {
  47. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  48. $main_content .= '<tr bgcolor="' . $bgcolor . '"><td>Guild Membership:</td><td>' . htmlspecialchars($rank_of_player->getName()) . ' of the <a href="?subtopic=guilds&action=show&guild='. $rank_of_player->getGuild()->getID() .'">' . htmlspecialchars($rank_of_player->getGuild()->getName()) . '</a></td></tr>';
  49. }
  50. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  51.  
  52. $main_content .= '<tr bgcolor="' . $bgcolor . '"><td>Last login:</td><td>' . (($player->getLastLogin() > 0) ? date("j F Y, g:i a", $player->getLastLogin()) : 'Never logged in.') . '</td></tr>';
  53.  
  54. $comment = $player->getComment();
  55. $newlines = array("\r\n", "\n", "\r");
  56. $comment_with_lines = str_replace($newlines, '<br />', $comment, $count);
  57. if($count < 50)
  58. $comment = $comment_with_lines;
  59. if(!empty($comment))
  60. {
  61. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  62. $main_content .= '<tr bgcolor="' . $bgcolor . '"><td>Comment:</td><td>' . $comment . '</td></tr>';
  63. }
  64. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  65. $main_content .= '<tr bgcolor="' . $bgcolor . '"><TD>Account&#160;Status:</TD><TD>';
  66. $main_content .= ($account->isPremium() > 0) ? 'Premium Account' : 'Premium Account';
  67. $main_content .= '</TABLE>';
  68. $main_content .= '</br>';
  69.  
  70. /* Skill E Equips */
  71.  
  72. $main_content .= '<table width=100%><tr>';
  73. $itemsList = $player->getItems();
  74. $main_content .= '<td align=center><table with=100% style="border: solid 1px #888888;" CELLSPACING="1"><TR>';
  75. $list = array('2','1','3','6','4','5','9','7','10','8');
  76. foreach ($list as $number_of_items_showed => $slot)
  77. {
  78. if($slot == '8') // add Soul before show 'feet'
  79. {
  80. $main_content .= '<td style="background-color: '.$config['site']['darkborder'].'; text-align: center;">Soul:<br/>'. $player->getSoul() .'</td>';
  81. }
  82. if($itemsList->getSlot($slot) === false) // item does not exist in database
  83. {
  84. $main_content .= '<TD style="background-color: '.$config['site']['darkborder'].';"><img src="' . $config['site']['item_images_url'] . $slot . $config['site']['item_images_extension'] . '" width="45"/></TD>';
  85. }
  86. else
  87. {
  88. $main_content .= '<TD style="background-color: '.$config['site']['darkborder'].';"><img src="' . $config['site']['item_images_url'] . $itemsList->getSlot($slot)->getID() . $config['site']['item_images_extension'] . '" width="45"/></TD>';
  89. }
  90. if($number_of_items_showed % 3 == 2)
  91. {
  92. $main_content .= '</tr><tr>';
  93. }
  94. if($slot == '8') // add Capacity after show 'feet'
  95. {
  96. $main_content .= '<td style="background-color: '.$config['site']['darkborder'].'; text-align: center;">Cap:<br/>'. $player->getCap() .'</td>';
  97. }
  98. }
  99. $main_content .= '</tr></TABLE></td>';
  100. $hpPercent = max(0, min(100, $player->getHealth() / max(1, $player->getHealthMax()) * 100));
  101. $manaPercent = max(0, min(100, $player->getMana() / max(1, $player->getManaMax()) * 100));
  102. $main_content .= '<td align=center ><table width=100%><tr><td align=center><table CELLSPACING="1" CELLPADDING="4" width="100%"><tr><td BGCOLOR="'.$config['site']['lightborder'].'" align="left" width="20%"><b>Health:</b></td>
  103. <td BGCOLOR="'.$config['site']['lightborder'].'" align="left">'.$player->getHealth().'/'.$player->getHealthMax().'<div style="width: 100%; height: 5px; border: 1px solid #000;"><div style="background-image: url(../images/skills/hp.png); width: ' . $hpPercent . '%; height: 3px;"></td></tr>
  104. <tr><td BGCOLOR="'.$config['site']['darkborder'].'" align="left"><b>Mana:</b></td><td BGCOLOR="'.$config['site']['darkborder'].'" align="left">' . $player->getMana() . '/' . $player->getManaMax() . '<div style="width: 100%; height: 5px; border: 1px solid #000;"><div style="background-image: url(../images/skills/mana.png); width: '.$manaPercent.'%; height: 3px;"></td></tr></table><tr>';
  105. $expCurrent = Functions::getExpForLevel($player->getLevel());
  106. $expNext = Functions::getExpForLevel($player->getLevel() + 1);
  107. $expLeft = bcsub($expNext, $player->getExperience(), 0);
  108. $expLeftPercent = max(0, min(100, ($player->getExperience() - $expCurrent) / ($expNext - $expCurrent) * 100));
  109. $main_content .= '<tr><table CELLSPACING="1" CELLPADDING="4"><tr><td BGCOLOR="'.$config['site']['lightborder'].'" align="left" width="20%"><b>Level:</b></td><td BGCOLOR="'.$config['site']['lightborder'].'" align="left">'.$player->getLevel().'</td></tr>
  110. <tr><td BGCOLOR="'.$config['site']['darkborder'].'" align="left"><b>Experience:</b></td><td BGCOLOR="'.$config['site']['darkborder'].'" align="left">' . $player->getExperience() . ' EXP.</td></tr>
  111. <tr><td BGCOLOR="' . $config['site']['lightborder'].'" align="left"><b>To Next Level:</b></td><td BGCOLOR="'.$config['site']['lightborder'].'" align="left">You need <b>' . $expLeft . ' EXP</b> to Level <b>' . ($player->getLevel() + 1) . '</b>.<div title="' . (100 - $expLeftPercent) . '% left" style="width: 100%; height: 5px; border: 1px solid #000;"><div style="background-image: url(../images/skills/exp.png); width: '.$expLeftPercent.'%; height: 3px;"></td></tr></table></td></tr></table></tr></TABLE></td>';
  112. if($config['site']['show_skills_info'])
  113. {
  114. $main_content .= '<center><strong>Skills</strong><table cellspacing="5" cellpadding="10" border="0" width="200">
  115.  
  116. <tbody>
  117. <tr>
  118. <td style="text-align: center;"><a href="?subtopic=highscores&list=experience"><img src="images/skills/level.gif" alt="" style="border-style: none"/></td>
  119. <td style="text-align: center;"><a href="?subtopic=highscores&list=magic"><img src="images/skills/ml.gif" alt="" style="border-style: none"/></td>
  120. <td style="text-align: center;"><a href="?subtopic=highscores&list=club"><img src="images/skills/club.gif" alt="" style="border-style: none"/></td>
  121. <td style="text-align: center;"><a href="?subtopic=highscores&list=sword"><img src="images/skills/sword.gif" alt="" style="border-style: none"/></td>
  122. <td style="text-align: center;"><a href="?subtopic=highscores&list=axe"><img src="images/skills/axe.gif" alt="" style="border-style: none"/></td>
  123. <td style="text-align: center;"><a href="?subtopic=highscores&list=distance"><img src="images/skills/dist.gif" alt="" style="border-style: none"/></td>
  124. <td style="text-align: center;"><a href="?subtopic=highscores&list=shield"><img src="images/skills/def.gif" alt="" style="border-style: none"/></td>
  125. <td style="text-align: center;"><a href="?subtopic=highscores&list=fishing"><img src="images/skills/fish.gif" alt="" style="border-style: none"/></td>
  126. </tr>
  127. <tr>
  128. <tr bgcolor="' . $config['site']['darkborder'] . '"><td style="text-align: center;"><strong>Level</strong></td>
  129. <td style="text-align: center;"><strong>ML</strong></td>
  130. <td style="text-align: center;"><strong>Mace</strong></td>
  131. <td style="text-align: center;"><strong>Sword</strong></td>
  132. <td style="text-align: center;"><strong>Axe</strong></td>
  133. <td style="text-align: center;"><strong>Dist</strong></td>
  134. <td style="text-align: center;"><strong>Def</strong></td>
  135. <td style="text-align: center;"><strong>Fish</strong></td>
  136. </tr>
  137. <tr>
  138. <tr bgcolor="' . $config['site']['lightborder'] . '"><td style="text-align: center;">' . $player->getLevel() . '</td>
  139. <td style="text-align: center;">' . $player->getMagLevel().'</td>
  140. <td style="text-align: center;">' . $player->getSkill(1) . '</td>
  141. <td style="text-align: center;">' . $player->getSkill(2) . '</td>
  142. <td style="text-align: center;">' . $player->getSkill(3) . '</td>
  143. <td style="text-align: center;">' . $player->getSkill(4) . '</td>
  144. <td style="text-align: center;">' . $player->getSkill(5) . '</td>
  145. <td style="text-align: center;">' . $player->getSkill(6) . '</td>
  146. </tr>
  147. </tbody>
  148. </table>
  149. <div style="text-align: center;">&nbsp;<br />&nbsp;</div></center>';
  150. }
  151.  
  152. if(isset($config['site']['quests']) && is_array($config['site']['quests']) && count($config['site']['quests']) > 0)
  153. {
  154. $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD align="left" COLSPAN=2 CLASS=white><B>Quests</B></TD></TD align="right"></TD></TR>';
  155. $number_of_quests = 0;
  156. foreach($config['site']['quests'] as $questName => $storageID)
  157. {
  158. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  159. $number_of_quests++;
  160. $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD WIDTH=95%>' . $questName . '</TD>';
  161. if($player->getStorage($storageID) === null)
  162. {
  163. $main_content .= '<TD><img src="images/false.png"/></TD></TR>';
  164. }
  165. else
  166. {
  167. $main_content .= '<TD><img src="images/true.png"/></TD></TR>';
  168. }
  169. }
  170. $main_content .= '</TABLE></td></tr></table><br />';
  171. }
  172.  
  173. $deads = 0;
  174.  
  175.  
  176. //deaths list
  177. $player_deaths = new DatabaseList('PlayerDeath');
  178. $player_deaths->setFilter(new SQL_Filter(new SQL_Filter(new SQL_Field('player_id'), SQL_Filter::EQUAL, $player->getId()), SQL_Filter::CRITERIUM_AND,new SQL_Filter(new SQL_Field('id', 'players'), SQL_Filter::EQUAL, new SQL_Field('player_id', 'player_deaths'))));
  179. $player_deaths->addOrder(new SQL_Order(new SQL_Field('time'), SQL_Order::DESC));
  180. $player_deaths->setLimit(20);
  181.  
  182. foreach($player_deaths as $death)
  183. {
  184. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  185. $deads++;
  186. $dead_add_content .= "<tr bgcolor=\"".$bgcolor."\"><td width=\"20%\" align=\"center\">".date("j M Y, H:i", $death->getTime())."</td><td>Died at level " . $death->getLevel() . " by " . $death->getKillerString();
  187. if($death->getMostDamageString() != '' && $death->getKillerString() != $death->getMostDamageString())
  188. $dead_add_content .= ' and ' . $death->getMostDamageString();
  189. $dead_add_content .= "</td></tr>";
  190. }
  191.  
  192. if($deads > 0)
  193. $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD COLSPAN=2 CLASS=white><B>Character Deaths</B></TD></TR>' . $dead_add_content . '</TABLE><br />';
  194.  
  195. if(!$player->getHideChar())
  196. {
  197. $main_content .= '<TABLE BORDER=0><TR><TD></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD COLSPAN=2 CLASS=white><B>Account Information</B></TD></TR>';
  198. if($account->getRLName())
  199. {
  200. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  201. $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD WIDTH=20%>Real name:</TD><TD>' . $account->getRLName() . '</TD></TR>';
  202. }
  203. if($account->getLocation())
  204. {
  205. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  206. $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD WIDTH=20%>Location:</TD><TD>' . $account->getLocation() . '</TD></TR>';
  207. }
  208. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  209. if($account->getCreateDate())
  210. {
  211. $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD WIDTH=20%>Created:</TD><TD>' . date("j F Y, g:i a", $account->getCreateDate()) . '</TD></TR>';
  212. }
  213. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  214.  
  215. if($account->isBanned())
  216. {
  217. if($account->getBanTime() > 0)
  218. $main_content .= '<font color="red"> [Banished until '.date("j F Y, G:i", $account->getBanTime()).']</font>';
  219. else
  220. $main_content .= '<font color="red"> [Banished FOREVER]</font>';
  221. }
  222. $main_content .= '</TD></TR></TABLE>';
  223. $main_content .= '<br><TABLE BORDER=0><TR><TD></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD COLSPAN=5 CLASS=white><B>Characters</B></TD></TR>
  224. <TR BGCOLOR="' . $bgcolor . '"><TD><B>Name</B></TD><TD><B>Level</B></TD><TD><b>Status</b></TD><TD><B>&#160;</B></TD></TR>
  225. ';
  226. $account_players = $account->getPlayersList();
  227. $player_number = 0;
  228. foreach($account_players as $player_list)
  229. {
  230. if(!$player_list->getHideChar())
  231. {
  232. $player_number++;
  233. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  234. if(!$player_list->isOnline())
  235. $player_list_status = '<font color="red">Offline</font>';
  236. else
  237. $player_list_status = '<font color="green">Online</font>';
  238. $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD WIDTH=52%><NOBR>'.$player_number.'.&#160;'.htmlspecialchars($player_list->getName());
  239. $main_content .= ($player_list->isDeleted()) ? '<font color="red"> [DELETED]</font>' : '';
  240. $main_content .= '</NOBR></TD><TD WIDTH=25%>'.$player_list->getLevel().' '.htmlspecialchars($vocation_name[$player_list->getVocation()]).'</TD><TD WIDTH="8%"><b>'.$player_list_status.'</b></TD><TD><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><FORM ACTION="?subtopic=characters" METHOD=post><TR><TD><INPUT TYPE="hidden" NAME="name" VALUE="'.htmlspecialchars($player_list->getName()).'"><INPUT TYPE=image NAME="View '.htmlspecialchars($player_list->getName()).'" ALT="View '.htmlspecialchars($player_list->getName()).'" SRC="'.$layout_name.'/images/buttons/sbutton_view.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></FORM></TABLE></TD></TR> ';
  241. }
  242. }
  243. $main_content .= '</TABLE></TD><TD><IMG SRC="\layouts\tibiacom\images\blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD></TR></TABLE> <div> </div>';
  244. }
  245. }
  246. else
  247. $search_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> does not exist.';
  248. }
  249. if(!empty($search_errors))
  250. {
  251. $main_content .= '<div class="SmallBox" > <div class="MessageContainer" > <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div> <div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> <div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> <div class="ErrorMessage" > <div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div> <div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div> <div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif);" /></div><b>The Following Errors Have Occurred:</b><br/>';
  252. foreach($search_errors as $search_error)
  253. $main_content .= '<li>'.$search_error;
  254. $main_content .= '</div> <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div> <div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> <div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> </div></div><br/>';
  255. }
  256. $main_content .= '
  257. <form ACTION="?subtopic=characters" method="post">
  258. <table width="100%" border="0" cellspacing="1" cellpadding="4">
  259. <tr>
  260. <td bgcolor="#505050" class="white"><b>Search Character</b></td>
  261. </tr>
  262. <tr>
  263. <td bgcolor="#D4C0A1">
  264. <table border="0" cellpading="1">
  265. <TR>
  266. <td>Name:</td>
  267. <td><input name="name" value="" size="29" maxlenght="29"></td>
  268. <td><input type="image" name="Submit" src="./layouts/tibiacom/images/buttons/sbutton_submit.gif" border="0" width="120" height="18"></td>
  269. </tr>
  270. </table>
  271. </td>
  272. </tr>
  273. </table>
  274. </form>
  275.  
  276. ';
  277. $main_content .= '</TABLE>';
Add Comment
Please, Sign In to add comment