Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2014
375
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.53 KB | None | 0 0
  1. <?php
  2. if(!defined('INITIALIZED'))
  3. exit;
  4.  
  5. $cache_sec = 1;
  6. $info = array(
  7. 0 => array($config['server']['location'], date("d/m/Y")),
  8. 1 => array('EUA', date("d/m/Y"))
  9. );
  10.  
  11. $id=0;
  12. if(isset($_POST['world'])) {
  13. $f = null;
  14. foreach($config['site']['worlds'] as $k => $v)
  15. if($v == $_POST['world']) {
  16. $f = true;
  17. $id = $k;
  18. break;
  19. }
  20. if(!$f)
  21. $_POST['world'] = $config['site']['worlds'][0];
  22. } else $_POST['world'] = $config['site']['worlds'][0];
  23.  
  24. $order = 'name_asc';
  25. if(isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('name_desc', 'level_asc','level_desc','vocation_asc','vocation_desc')))
  26. $order = $_REQUEST['order'];
  27.  
  28.  
  29. if(count($config['site']['worlds']) > 1) {
  30. $main_content ='
  31. <form action="?subtopic=whoisonline" method="post">
  32. <div class="TableContainer">
  33. <table class="Table1" cellpadding="0" cellspacing="0">
  34. <div class="CaptionContainer">
  35. <div class="CaptionInnerContainer">
  36. <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  37. <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  38. <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span>
  39. <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span>
  40. <div class="Text">World Selection</div>
  41. <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span>
  42. <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span>
  43. <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  44. <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  45. </div>
  46. </div>
  47. <tr>
  48. <td>
  49. <div class="InnerTableContainer">
  50. <table width="100%">
  51. <tr>
  52. <td style="vertical-align:middle" class="LabelV150">World Name:</td>
  53. <td style="width:170px">
  54. <select size="1" name="world" style="width:165px">';
  55. foreach($config['site']['worlds'] as $v)
  56. $main_content .= '<option value="'.$v.'"'.($v == $_POST['world'] ? ' selected="selected"' : '').'>'.$v.'</option>';
  57. $main_content .= '
  58. </select>
  59. </td>
  60. <td style="text-align:left">
  61. <div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)">
  62. <div onmouseover="MouseOverBigButton(this)" onmouseout="MouseOutBigButton(this)"><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif)"></div>
  63. <input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif"/>
  64. </div>
  65. </div>
  66. </td>
  67. </tr>
  68. </table>
  69. </div>
  70. </td>
  71. </tr>
  72. </table>
  73. </div>
  74. </form><br/>
  75. ';
  76. }
  77. $main_content .=
  78. '<div class="TableContainer">
  79. <table class="Table1" cellpadding="0" cellspacing="0">
  80. <div class="CaptionContainer">
  81. <div class="CaptionInnerContainer">
  82. <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  83. <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  84. <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span>
  85. <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span>
  86. <div class="Text">World Information</div>
  87. <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span>
  88. <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span>
  89. <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  90. <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  91. </div>
  92. </div>
  93. <tr>
  94. <td>
  95. <div class="InnerTableContainer">
  96. <table width="100%">
  97. <tr>
  98. <td class="LabelV150"><b>Status:</b></td>
  99. <td>O'.($config['status']['serverStatus_online'] == 1 ? 'n' : 'ff').'line</td>
  100. </tr>
  101. <tr>
  102. <td class="LabelV150"><b>Players Online:</b></td>
  103. <td>';
  104. $f = 'cache/whoisonline-'.$_POST['world'].'-'.$order.'.tmp';
  105. $ff = 'cache/whoisonline-'.$_POST['world'].'-record.tmp';
  106. if(file_exists($f) && filemtime($f) > (time() - $cache_sec)) {
  107. $cp = file_get_contents($f);
  108. $cached = null;
  109. if(file_exists($f) && filemtime($f) > (time() - $cache_sec)) {
  110. $e = explode('|', file_get_contents($ff));
  111. $n = $e[0];
  112. $c = $e[1];
  113. $cached = true;
  114. }
  115. }
  116. else {
  117. $cp = '';
  118. $n = 0;
  119. $q = 'SELECT * FROM players WHERE world_id='.$id.' AND online=1';
  120. if(in_array($order, array('name_asc','name_desc','level_asc','level_desc')))
  121. $q .= ' ORDER BY '.str_replace('_', ' ', $order);
  122.  
  123. if(in_array($order, array('vocation_asc','vocation_desc'))) {
  124. $a = array();
  125. foreach($SQL->query($q)->fetchAll() as $p)
  126. $a[] = array($p['name'], $p['level'], $vocation_name[$p['promotion']][$p['vocation']]);
  127. function cmp($a, $b) {
  128. $r = strcmp($a[2], $b[2]);
  129. $r = $GLOBALS['order'] == 'vocation_desc' ? ($r == 1 ? -1 : ($r == -1 ? 1 : 0)) : $r;
  130. return ($r == 0 && $a[1] < $b[1]) ? 1 : $r;
  131. }
  132. usort($a, 'cmp');
  133. foreach($a as $p) {
  134. $n++;
  135. $cp .= '<tr class="'.(is_int($n/2)?'Odd':'Even').'" style="text-align:right"><td style="width:70%;text-align:left"><a href="?subtopic=characters&name='.urlencode($p[0]).'">'.$p[0].'</a></td><td style="width:10%">'.$p[1].'</td><td style="width:20%">'.str_replace(' ','&#160;',$p[2]).'</td></tr>';
  136.  
  137. }
  138.  
  139. }
  140. else {
  141. $l = array();
  142.  
  143. foreach($SQL->query($q)->fetchAll() as $p) {
  144. $n++;
  145. $cp .= '<tr class="'.(is_int($n/2)?'Odd':'Even').'" style="text-align:right">';
  146. $cp .= '<td style="width:70%;text-align:left">';
  147. if($order == 'name_asc') {
  148. $tmp = strtoupper($p['name'][0]);
  149. if(!in_array($tmp, $l)) {
  150. $l[] = $tmp;
  151. $cp .= '<a name="'.$tmp.'"></a>';
  152. }
  153. }
  154. $cp .= '<a href="?subtopic=characters&name='.urlencode($p['name']).'">'.$p['name'].'</a></td><td style="width: 10%">'.$p['level'].'</td><td style="width:20%">'.str_replace(' ','&#160;',$vocation_name[$p['promotion']][$p['vocation']]).'</td></tr>';
  155. }
  156.  
  157. }
  158. file_put_contents($f, $cp);
  159. }
  160. if(!$cached) {
  161. $r=$SQL->query('SELECT MAX(record) as r,MAX(timestamp) as t FROM server_record WHERE world_id='.$id)->fetch();
  162. $c = $r['r'].' players (on '.date('M&#160;d&#160;Y,&#160;H:i:s&#160;T', $r['t']).')';
  163. file_put_contents($ff, $n.'|'.$c);
  164. }
  165. $main_content .= $n.' Players Online</td>
  166. </tr>
  167. <tr>
  168. <td class="LabelV150"><b>Online Record:</b></td>
  169. <td>'.$c.'</td>
  170. </tr>
  171. <tr>
  172. <td class="LabelV150"><b>Creation Date:</b></td>
  173. <td>'.$info[$id][1].'</td>
  174. </tr>
  175. <tr>
  176. <td class="LabelV150"><b>Location:</b></td>
  177. <td>'.$info[$id][0].'</td>
  178. </tr>
  179. <tr>
  180. <td class="LabelV150"><b>PvP Type:</b></td>
  181. <td>';
  182. $w=strtolower($config['server']['worldType']);
  183. if(in_array($w, array('pvp','2','normal','open','openpvp')))
  184. $main_content .= 'Open PvP';
  185. elseif(in_array($w, array('no-pvp','nopvp','non-pvp','nonpvp','1','safe','optional','optionalpvp')))
  186. $main_content .= 'Optional PvP';
  187. elseif(in_array($w, array('pvp-enforced','pvpenforced','pvp-enfo','pvpenfo','pvpe','enforced','enfo','3','war','hardcore','hardcorepvp')))
  188. $main_content .= 'Hardcore PvP';
  189. $main_content .= '</td>
  190. </tr>
  191. </table>
  192. </div>
  193. </td>
  194. </tr>
  195. </table>
  196. </div><br/>
  197. <div class="TableContainer">
  198. <table class="Table2" cellpadding="0" cellspacing="0">
  199. <div class="CaptionContainer">
  200. <div class="CaptionInnerContainer">
  201. <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  202. <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  203. <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span>
  204. <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span>
  205. <div class="Text">Players Online';
  206.  
  207.  
  208. if($order == 'name_asc')
  209. $main_content .= '<span class="TableHeadlineNavigation"> [
  210. <a href="#A">A</a>
  211. <a href="#B">B</a>
  212. <a href="#C">C</a>
  213. <a href="#D">D</a>
  214. <a href="#E">E</a>
  215. <a href="#F">F</a>
  216. <a href="#G">G</a>
  217. <a href="#H">H</a>
  218. <a href="#I">I</a>
  219. <a href="#J">J</a>
  220. <a href="#K">K</a>
  221. <a href="#L">L</a>
  222. <a href="#M">M</a>
  223. <a href="#N">N</a>
  224. <a href="#O">O</a>
  225. <a href="#P">P</a>
  226. <a href="#Q">Q</a>
  227. <a href="#R">R</a>
  228. <a href="#S">S</a>
  229. <a href="#T">T</a>
  230. <a href="#U">U</a>
  231. <a href="#V">V</a>
  232. <a href="#W">W</a>
  233. <a href="#X">X</a>
  234. <a href="#Y">Y</a>
  235. <a href="#Z">Z</a> ]&#160;&#160;</span>';
  236. $main_content .= '</div>
  237. <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span>
  238. <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span>
  239. <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  240. <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span>
  241. </div>
  242. </div>
  243. <tr>
  244. <td>
  245. <div class="InnerTableContainer">
  246. <table width="100%">
  247. <tr class="LabelH">
  248. <td style="text-align:left;width:50%">Name&#160;&#160;<small style="font-weight:normal">[<a href="?subtopic=whoisonline&world='.$_POST['world'].'&order=name_'.($order == 'name_asc' ? 'desc' : 'asc').'">sort</a>]</small>
  249. <img class="sortarrow" src="'.$layout_name.'/images/'.($order == 'name_asc' ? 'content/order_desc' : ($order == 'name_desc' ? 'content/order_asc' : 'news/blank')).'.gif"/></td>
  250. <td style="text-align:left;width:30%">Level&#160;&#160;
  251. <small style="font-weight:normal">[<a href="?subtopic=whoisonline&world='.$_POST['world'].'&order=level_'.($order == 'level_asc' ? 'desc' : 'asc').'">sort</a>]</small>
  252. <img class="sortarrow" src="'.$layout_name.'/images/'.($order == 'level_asc' ? 'content/order_desc' : ($order == 'level_desc' ? 'content/order_asc' : 'news/blank')).'.gif"/></td>
  253. <td style="text-align:left;width:50%">Vocation&#160;&#160;<small style="font-weight:normal">[<a href="?subtopic=whoisonline&world='.$_POST['world'].'&order=vocation_'.($order == 'vocation_asc' ? 'desc' : 'asc').'">sort</a>]</small>
  254. <img class="sortarrow" src="'.$layout_name.'/images/'.($order == 'vocation_asc' ? 'content/order_desc' : ($order == 'vocation_desc' ? 'content/order_asc' : 'news/blank')).'.gif"/></td>
  255. </tr>';
  256.  
  257. $main_content .= $cp;
  258. if (!$cp){$main_content .='<tr><td colspan="3" align="center"><i>This server no has players online.</i></td></tr>';}
  259. $main_content .='
  260. </table>
  261. </div>
  262. </table>
  263. </div>
  264. </td>
  265. </tr>
  266. <br/>
  267. <form action="?subtopic=characters" method="post"><div class="TableContainer"> <table class="Table1" cellpadding="0" cellspacing="0"> <div class="CaptionContainer"> <div class="CaptionInnerContainer"> <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <div class="Text">Search Character</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span> </div> </div> <tr> <td> <div class="InnerTableContainer"> <table width="100%"><tr><td style="vertical-align:middle" class="LabelV150"><b>Character Name:</b></td><td style="width:170px"><input style="width:165px" name="name" value="" size="29" maxlength="29"/></td><td><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)"><div onmouseover="MouseOverBigButton(this)" onmouseout="MouseOutBigButton(this)"><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif)"></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif"></div></div></td></tr> </table> </div> </table></div></td></tr></form></center>';
  268. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement