Advertisement
Guest User

Untitled

a guest
Jan 18th, 2019
541
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.21 KB | None | 0 0
  1. <?
  2. ob_start('ob_gzhandler');
  3.  
  4. if($_SERVER['REMOTE_ADDR'] !== '31.185.125.145')
  5. error_reporting(0);
  6.  
  7. $time = microtime(true);
  8. if(!isset($_GET['subtopic']) || !($subtopic = $_GET['subtopic'])) {
  9. $subtopic = 'latestnews';
  10. }
  11.  
  12. foreach(array(
  13. 'home' => array('latestnews' => 'Latest News'/*, 'archive' => 'News Archive'*/),
  14.  
  15. 'account' => array('accountmanagement' => 'Account Management', 'createaccount' => 'Create Account', 'downloads' => 'Downloads', 'lostaccount' => 'Lost Account?'),
  16.  
  17. 'community' => array('characters' => 'Characters', 'whoisonline' => 'Who is online?', 'highscores' => 'Highscores', 'houses' => 'Houses', 'guilds' => 'Guilds', 'guildwars' => 'Guild Wars', 'deaths' => 'Latest Deaths', 'frags' => 'Top Fraggers', 'addonmakers' => 'Addonmakers', 'questmakers' => 'Top Questmakers'/*, 'elo' => 'Elo Ranking'*/, 'achievements' => 'Achievements'),
  18.  
  19. 'library' => array('achievements' => 'Achievements', 'serverinfo' => 'Serverinfo', 'items' => 'Items', 'mounts' => 'Mounts', 'tasks' => 'Tasks', 'topcountries' => 'Top Countries', 'killstatistics' => 'Kill Statistics'/*, 'zombie' => 'Zombie Highscores'*/, 'bans' => 'Ban List', 'topguilds' => 'Top Guilds', 'polls' => 'Polls', 'pg' => 'Powergamers', 'experiencetable' => 'Experience Table'),
  20.  
  21. 'forum' => array('forum' => 'Forum Board','ticket' => 'Ticket Board'),
  22.  
  23. 'shop' => array('buycoins' => 'Buy Coins', 'shop' => 'Donation Gifts', 'egypt' => 'Vodafone', 'shophistory' => 'Shop History', 'pay' => 'PayPal', 'bitcoin' => 'Bitcoin', 'paygol' => 'PayGol', 'payg' => 'PayG', 'paygol_f' => 'PayGol Success', 'paygol_c' => 'PayGol Failure', 'paygol_lt' => 'PayGol', 'paygol_lt_f' => 'PayGol Success', 'paygol_lt_c' => 'PayGol Failure'/*, 'polls' => 'Polls'*/),
  24.  
  25. 'help' => array('ticketroom' => 'Ticket Room','faq' => 'FAQ', 'rules' => 'Server Rules', 'staff' => 'Staff'),
  26.  
  27. 'admin' => array('adminpanel' => 'Admin Panel', 'shopadmin' => 'Shop Admin', 'changes' => 'Changes', 'codes' => 'Code Generator')
  28.  
  29.  
  30. ) as $k => $v) {
  31. foreach($v as $a => $b) {
  32. if($a === $subtopic) {
  33. $topic = array($k, $b);
  34. unset($k, $v, $a, $b);
  35. break;
  36. }
  37. }
  38. }
  39.  
  40. if(!isset($topic)) {
  41. header('Location: /news');
  42. exit;
  43. }
  44.  
  45. session_start();
  46. $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : NULL;
  47.  
  48. $SQL = NULL; $qn=0; $qtime=0; $qstr = '';
  49.  
  50. require 'config.php';
  51.  
  52. function connect() {
  53. global $host, $dbname, $user, $pass;
  54. try {
  55. $GLOBALS['SQL'] = new PDO('mysql:host='.$host.';dbname='.$dbname, $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING, PDO::MYSQL_ATTR_COMPRESS => true, PDO::ATTR_PERSISTENT => true));
  56. }
  57. catch(PDOException $e) {
  58. die($e->getMessage());
  59. }
  60. }
  61.  
  62. function query($q) {
  63. global $SQL;
  64. if($SQL === NULL)
  65. connect();
  66. ++$GLOBALS['qn'];
  67.  
  68. $t = microtime(true);
  69. $res = $q[0] === 'S' ? $SQL->query($q) : $SQL->exec($q);
  70. $t = microtime(true) - $t;
  71. $GLOBALS['qtime'] += $t;
  72. return $res;
  73. }
  74.  
  75. function quote($s) {
  76. global $SQL;
  77. if($SQL === NULL)
  78. connect();
  79. return $SQL->quote($s);
  80. }
  81.  
  82. function lastInsertId() {
  83. global $SQL;
  84. if($SQL === NULL)
  85. connect();
  86. return $SQL->lastInsertId();
  87. }
  88.  
  89. function redir($s) {
  90. header('Location: '.$s);
  91. exit;
  92. }
  93.  
  94. function check_account_name($s) {
  95. $l = strlen($s);
  96. return $l >= 1 && $l <= 30 && strspn($s, 'QWERTYUIOPASDFGHJKLZXCVBNM0123456789') === $l;
  97. }
  98.  
  99. function check_password($s) {
  100. $l = strlen($s);
  101. return $l >= 1 && $l <= 30 && strspn($s, 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789_') === $l;
  102. }
  103.  
  104. function check_name($s) {
  105. $l = strlen($s);
  106. return $l >= 3 && $l <= 25 && strspn($s, 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM \'') === $l;
  107. }
  108.  
  109. function timestr($t) {
  110. define('YEAR', 365 * 86400);
  111. define('MONTH', 30 * 86400);
  112. define('WEEK', 7 * 86400);
  113. define('DAY', 86400);
  114. define('HOUR', 3600);
  115. define('MINUTE', 60);
  116.  
  117. if($t >= time())
  118. $t = $t - time();
  119. else
  120. $t = time() - $t;
  121.  
  122. if($t >= YEAR) {
  123. $t = (int)($t / YEAR);
  124. $s = 'year';
  125. }
  126. elseif($t >= MONTH) {
  127. $t = (int)($t / MONTH);
  128. $s = 'month';
  129. }
  130. elseif($t >= WEEK) {
  131. $t = (int)($t / WEEK);
  132. $s = 'week';
  133. }
  134. elseif($t >= DAY) {
  135. $t = (int)($t / DAY);
  136. $s = 'day';
  137. }
  138. elseif($t >= HOUR) {
  139. $t = (int)($t / HOUR);
  140. $s = 'hour';
  141. }
  142. elseif($t >= MINUTE) {
  143. $t = (int)($t / MINUTE);
  144. $s = 'minute';
  145. }
  146. else
  147. $s = 'second';
  148.  
  149. return $t .' '.$s.($t === 1 ? '' : 's');
  150. }
  151.  
  152. if($subtopic === 'accountmanagement' && isset($_GET['page']) && $_GET['page'] === 'logout')
  153. session_unset();
  154. elseif($subtopic === 'createaccount' && isset($_POST['step']) && $_POST['step'] === 'docreate') {
  155. include('pages/createaccount2.inc');
  156. }
  157.  
  158. $logged = false; $gid = 0;
  159. if(isset($_SESSION['account'])) {
  160. $acc = $_SESSION['account'];
  161. $pw = $_SESSION['password'];
  162. $first = false;
  163. }
  164. elseif(isset($_POST['account_login']) && isset($_POST['password_login'])) {
  165. $acc = strtoupper($_POST['account_login']);
  166. $pw = $_POST['password_login'];
  167. $first = true;
  168. }
  169. if(isset($acc)) {
  170. if( !$first || (check_account_name($acc) && check_password($pw)) ) {
  171.  
  172. if($first) {
  173. if($sha1)
  174. $a = query("SELECT id FROM accounts WHERE name = '$acc' AND password=SHA1(CONCAT(salt, ".quote($pw)."))");
  175. else
  176. $a = query("SELECT id FROM accounts WHERE name = '$acc' AND password=".quote($pw));
  177. }
  178. else {
  179. if($sha1)
  180. $a = query("SELECT id,name,password,premdays,email,`key`,premium_points,page_access,page_lastday,last_post,created,vote FROM accounts WHERE id = $acc AND password=SHA1(CONCAT(salt, ".quote($pw)."))");
  181. else
  182. $a = query("SELECT id,name,password,premdays,email,`key`,premium_points,page_access,page_lastday,last_post,created,vote FROM accounts WHERE id = $acc AND password=".quote($pw));
  183. }
  184. if($a = $a->fetch()) {
  185. if($first) {
  186. query('UPDATE accounts SET page_lastday='.time().' WHERE id='.$a['id']);
  187. $_SESSION['account'] = $a['id'];
  188. $_SESSION['password'] = $pw;
  189. redir($_POST['redirect'] ?: '/account');
  190. }
  191. $logged = true;
  192. $gid = (int)$a['page_access'];
  193. if(!isset($_SESSION['country']))
  194. $_SESSION['country'] = strtolower(query('SELECT cc FROM geoip WHERE end>='.ip2long($_SERVER['REMOTE_ADDR']).' LIMIT 1')->fetchColumn());
  195.  
  196.  
  197. if(0 /*$gid === 3 && !in_array($_SESSION['country'], Array('eg','at'))*/) {
  198. exit;
  199. }
  200. }
  201. }
  202. if(!$logged) {
  203. if($first)
  204. $lfail = true;
  205. else
  206. session_unset();
  207. }
  208. }
  209.  
  210. $stat = explode('|', file_get_contents('cache/status.tmp'));
  211.  
  212. function active($opt) {
  213. if($GLOBALS['subtopic'] === $opt)
  214. echo ' class="active"';
  215. }
  216. function menu($opt) {
  217. if($GLOBALS['topic'][0] === $opt)
  218. echo 'active';
  219. } ?>
  220. <!DOCTYPE html>
  221. <html>
  222. <head>
  223. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  224. <meta charset="UTF-8">
  225. <title><? echo $topic[1]; ?> - <?=$sname?></title>
  226.  
  227. <link href="/layout/tibiacom/css/css.css" rel="stylesheet">
  228. <link href="/layout/tibiacom/css/css_002.css" rel="stylesheet">
  229. <link rel="stylesheet" type="text/css" href="/layout/tibiacom/css/style.css">
  230. <link rel="stylesheet" type="text/css" href="/layout/tibiacom/css/fa.css">
  231. <link rel="stylesheet" type="text/css" href="/layout/tibiacom/css/basic.css">
  232. <link rel="stylesheet" type="text/css" href="/layout/tibiacom/css/basic_d.css">
  233. <link rel="stylesheet" type="text/css" href="/layout/tibiacom/css/slider.css">
  234. <link rel="stylesheet" type="text/css" href="/layout/tibiacom/fontawesome/css/all.css">
  235.  
  236. <script async="" type="text/javascript" src="/layout/tibiacom/js/a.js"></script>
  237. <script type="text/javascript" async="" src="/layout/tibiacom/js/recaptcha__sv.js"></script>
  238. <script src="/layout/tibiacom/js/jquery-1.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
  239.  
  240. <script src="/layout/tibiacom/js/jquery.js"></script>
  241. <script src="/layout/tibiacom/js/jquery_002.js"></script>
  242. <script src="/layout/tibiacom/js/jquery_003.js"></script>
  243. <script src="/layout/tibiacom/js/api.js" async="" defer="defer"></script>
  244.  
  245. <!-- IMG SLIDER -->
  246. <script>
  247. $(function() {
  248. $('#slides').slidesjs({
  249. width: 674,
  250. height: 200,
  251. navigation: true,
  252. play: {
  253. active: true,
  254. auto: true,
  255. interval: 5000,
  256. swap: true,
  257. pauseOnHover: false,
  258. restartDelay: 2500
  259. }
  260. });
  261. });
  262. </script>
  263. <!-- IMG SLIDER END -->
  264.  
  265. <script type="text/javascript">
  266. $( document ).ready(function() {
  267. $( ".ButtonText" ).each(function( index ) {
  268.  
  269. $(this).attr('type','submit');
  270.  
  271. });
  272. $( ".ButtonText" ).each(function( index ) {
  273. var alt = $(this).attr("alt");
  274. $(this).attr("value", alt);
  275. });
  276.  
  277. var imgcount = $('#slides').find('img').size();
  278. var width = 100 / imgcount;
  279. $('.slidesjs-pagination li a').css( 'width', width+'%' );
  280. });
  281. </script>
  282.  
  283. <style>
  284. #slides {
  285. display: none;
  286. }
  287. </style>
  288. </head>
  289. <body>
  290. <a href="/" class="logo"></a>
  291. <div class="content-cnt">
  292.  
  293. <div class="content">
  294. <div class="col-w">
  295. <div class="panel">
  296. <h1>Quick Login</h1>
  297. <div class="w-cnt">
  298. <form action="?subtopic=accountmanagement" method="post">
  299. <input type="text" name="account_login" class="w-input" placeholder="Account Login">
  300. <input type="password" name="password_login" class="w-input" placeholder="Your password">
  301. <input type="submit" name="submit" class="w-submit" value="Log In">
  302. <span class="center small"><a href="/?subtopic=createaccount">Click here</a> to create account</span>
  303. </form>
  304. </div>
  305. </div>
  306. <?php } else { ?>
  307. <div class="panel">
  308. <h1>Account Panel</h1>
  309. <div class="w-cnt center">
  310. <a class="w-submit managebtn" href="?subtopic=accountmanagement">Manage account</a>
  311. <a class="w-submit managebtn" href="?subtopic=accountmanagement&amp;action=createcharacter">Create character</a>
  312. <a class="w-submit managebtn" href="?subtopic=accountmanagement&amp;action=logout">Logout</a>
  313. </div>
  314.  
  315. </div>
  316. <?php } ?>
  317. <div class="panel">
  318. <h1>Latest News</h1>
  319. <div class="w-cnt">
  320. <ul>
  321. <li><a href="/?subtopic=latestnews">Latest news</a></li>
  322. <li><a href="/?subtopic=archive">News Archive</a></li>
  323. </ul>
  324. </div>
  325. </div>
  326. <div class="panel">
  327. <h1>Account</h1>
  328. <div class="w-cnt">
  329. <ul>
  330. <li><a href="/?subtopic=accountmanagement">Manage Account</a></li>
  331. <li><a href="/?subtopic=createaccount">Create Account</a></li>
  332. <li><a href="/?subtopic=lostaccount">Account lost?</a></li>
  333. <li><a href="/?subtopic=download">Download client</a></li>
  334. </ul>
  335. </div>
  336. </div>
  337. <div class="panel">
  338. <h1>Community</h1>
  339. <div class="w-cnt">
  340. <ul>
  341. <li><a href="/?subtopic=characters">Characters</a></li>
  342. <li><a href="/?subtopic=whoisonline">Who is online?</a></li>
  343. <li><a href="/?subtopic=highscores">Highscores</a></li>
  344. <li><a href="/?subtopic=fraggers">Top Fraggers</a></li>
  345. <li><a href="/?subtopic=killstatistics">Latest Deaths</a></li>
  346. <li><a href="/?subtopic=richest">Richest Players</a></li>
  347. <li><a href="/?subtopic=houses">Houses</a></li>
  348. <li><a href="/?subtopic=guilds">Guilds</a></li>
  349. <li><a href="/wars">Guild Wars</a></li>
  350. </ul>
  351. </div>
  352. </div>
  353. <div class="panel">
  354. <h1>Library</h1>
  355. <div class="w-cnt">
  356. <ul>
  357. <li><a href="/?subtopic=experiencetable">Experience table</a></li>
  358. <li><a href="/?subtopic=serverinfo">Server Info</a></li>
  359. <li><a href="/?subtopic=events">Events</a></li>
  360. <li><a href="/?subtopic=forum">Forum</a></li>
  361. <li><a href="/?subtopic=rules">Rules</a></li>
  362. <li><a href="/?subtopic=staff">Staff</a></li>
  363. </ul>
  364. </div>
  365. </div>
  366. </div>
  367. <div class="col-m">
  368. <div class="navbar panel">
  369. <ul class="left">
  370. <li class="firstleft"><a href="/?subtopic=latestnews">News</a></li>
  371. <li><a href="/?subtopic=highscores">Highscores</a></li>
  372. </ul>
  373. <div class="status">
  374. PLAYERS ONLINE:<br>
  375. <strong><a href="/?subtopic=whoisonline"><?php echo $stat[1].' / '.$stat[2] ?></a></strong>
  376. </div>
  377. <ul class="right">
  378. <li><a href="/?subtopic=forum">Forum</a></li>
  379. <li class="lastright"><a href="/?subtopic=systems">Systems</a></li>
  380. </ul>
  381. </div>
  382.  
  383. <div class="panel mid center">
  384. <h2 style="background: url('./layout/tibiacom/img/icost2.png') center left no-repeat, url('./layout/tibiacom/img/icostr2.png') center right no-repeat;letter-spacing: -1px;font-size: 20px;">
  385. <b>Evolera</b> is online! <a href="/?subtopic=createaccount">Create Account</a>
  386.  
  387.  
  388. </h2>
  389. </div>
  390. <div class="panel mid">
  391. <div class="slider">
  392. <div id="slides" style="overflow: hidden; display: block;">
  393. <div class="slidesjs-container" style="overflow: hidden; position: relative; width: 674px; height: 200px;">
  394. <div class="slidesjs-control" style="position: relative; left: 0px; width: 674px; height: 200px;">
  395. <img src="./layout/tibiacom/img/slide1.png" class="slidesjs-slide" style="position: absolute; top: 0px; left: 0px; width: 100%; z-index: 0; backface-visibility: hidden; display: none;" slidesjs-index="0">
  396. <img src="./layout/tibiacom/img/slide2.png" class="slidesjs-slide" style="position: absolute; top: 0px; left: 0px; width: 100%; z-index: 10; display: block; backface-visibility: hidden;" slidesjs-index="1">
  397. <img src="./layout/tibiacom/img/slide3.png" class="slidesjs-slide" style="position: absolute; top: 0px; left: 0px; width: 100%; z-index: 0; display: none; backface-visibility: hidden;" slidesjs-index="2">
  398. <img src="./layout/tibiacom/img/slide4.png" class="slidesjs-slide" style="position: absolute; top: 0px; left: 0px; width: 100%; z-index: 0; display: none; backface-visibility: hidden;" slidesjs-index="3">
  399. </div>
  400. </div>
  401.  
  402. <a class="slidesjs-play slidesjs-navigation slidesjs-playing" href="#" title="Play" style="display: none;">Play</a>
  403. <a class="slidesjs-stop slidesjs-navigation" href="#" title="Stop" style="display: inline;">Stop</a>
  404. <ul class="slidesjs-pagination">
  405. <li class="slidesjs-pagination-item">
  406. <a href="#" data-slidesjs-item="0" class="" style="width: 25%;">1</a>
  407. </li>
  408. <li class="slidesjs-pagination-item">
  409. <a href="#" data-slidesjs-item="1" style="width: 25%;" class="active">2</a>
  410. </li>
  411. <li class="slidesjs-pagination-item">
  412. <a href="#" data-slidesjs-item="2" style="width: 25%;" class="">3</a>
  413. </li>
  414. <li class="slidesjs-pagination-item">
  415. <a href="#" data-slidesjs-item="3" style="width: 25%;" class="">4</a>
  416. </li>
  417. </ul>
  418. </div>
  419. </div>
  420. <div style="clear: both;"></div>
  421. </div>
  422. <div class="panel mid">
  423.  
  424. <? /* if(in_array($subtopic, array('paygol','paygol_f','paygol_c')))
  425. include('pages/paygol/pay.php');
  426. elseif(in_array($subtopic, array('paygol_lt','paygol_lt_f','paygol_lt_c')))
  427. include('pages/paygol/pay_lt.php');
  428. else
  429. include('pages/'.$subtopic.'.inc'); */ ?>
  430.  
  431. <?php
  432. if(in_array($subtopic, array('paygol','paygol_f','paygol_c'))){
  433. include('pages/paygol/pay.php');
  434. } elseif(in_array($subtopic, array('paygol_lt','paygol_lt_f','paygol_lt_c'))){
  435. include('pages/paygol/pay_lt.php');
  436. } else {
  437. if(!in_array($subtopic, array('latestnews','archive'))){
  438. echo '<div class="box-style1">';
  439. include('pages/'.$subtopic.'.inc');
  440. echo '</div>';
  441. } else {
  442. include('pages/'.$subtopic.'.inc');
  443. }
  444. }
  445. ?>
  446.  
  447. <!--
  448. <span class="subpage-title">
  449. <h1> Latest&nbsp;News </h1>
  450. <div class="c ic"><span></span></div>
  451. <div class="c dropdown-i">
  452. <a class="ic-in" href="#">
  453. <div style="width:65px;text-align:center;">
  454. <i class="fas fa-globe"></i>&nbsp;EN&nbsp;<img src="./img/gb.png">
  455. </div>
  456. </a>
  457. <ul class="dropdown">
  458. <li><a href="/?subtopic=latestnews&amp;lang=pl">POLSKI</a></li>
  459. <li><a href="/?subtopic=latestnews&amp;lang=en">ENGLISH</a></li>
  460. </ul>
  461. </div>
  462. </span>
  463.  
  464. <div class="news-title">
  465. Presentation <span class="date">08 Jan 2019 05:01</span>
  466. </div>
  467. -->
  468.  
  469. </div>
  470. </div>
  471. <div class="col-w">
  472. <a href="/?subtopic=download" class="downloadbtn"></a>
  473. <a href="/?subtopic=createaccount" class="createaccountbtn"></a>
  474. <a href="/?subtopic=buycoins" class="coinsbtn"></a>
  475. <a href="/?subtopic=shop" class="shopbtn"></a>
  476. </div>
  477. </div>
  478. </div>
  479.  
  480. <div class="pre-footer">
  481. <div class="content">
  482. <div class="center">
  483. SOCIAL MEDIA
  484. <a href="https://www.facebook.com/"><i class="fab fa-facebook"></i></a>
  485. <a href="https://twitter.com/"><i class="fab fa-twitter"></i></a>
  486. <a href="https://www.youtube.com/"><i class="fab fa-youtube"></i></a>
  487. <a href="https://www.instagram.com/"><i class="fab fa-instagram"></i></a>
  488. <a href="https://discord.gg/8gUz5p"><i class="fab fa-discord"></i></a>
  489. </div>
  490. </div>
  491. </div>
  492. <div class="footer">
  493. <div class="content">
  494.  
  495. <span style="float: right;font-size: 15px;">
  496. <a href="/?subtopic=latestnews">LATEST NEWS</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="/?subtopic=accountmanagement">ACCOUNT</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="/?subtopic=forum">FORUM</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href="/?subtopic=staff">STAFF</a>
  497. </span>
  498. Copyright آ© 2019 Evolera.<br>All rights reserved.<br>
  499.  
  500. <div class="bub">
  501. <i class="far fa-chart-bar "></i>
  502. <div class="bbox">
  503. <script id="_waucyb">var _wau = _wau || []; _wau.push(["dynamic", "ob4ojk8ex7", "cyb", "242424d9d9d9", "small"]);</script>
  504. <script async="" src="/layout/tibiacom/js/d.js"></script>
  505. </div>
  506.  
  507. </div>
  508. </div>
  509. </div>
  510.  
  511. </body>
  512. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement