Advertisement
Guest User

Untitled

a guest
Jan 12th, 2017
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 18.94 KB | None | 0 0
  1. <?PHP
  2. // ###################### CONFIG ########################
  3. //load page config file
  4. $config['site'] = parse_ini_file('config/config.ini');
  5. include('config/config.php');
  6. //check install
  7. /*if($config['site']['install'] != "no")
  8. {
  9.     header("Location: install/install.php");
  10.     exit;
  11. }*/
  12. //load server config
  13. $config['server'] = parse_ini_file($config['site']['server_path'].'config.lua');
  14. if(isset($config['server']['sqlHost']))
  15. {
  16.     // ots config.lua file connect database
  17.     $mysqlhost = $config['server']['sqlHost'];
  18.     $mysqluser = $config['server']['sqlUser'];
  19.     $mysqlpass = $config['server']['sqlPass'];
  20.     $mysqldatabase = $config['server']['sqlDatabase'];
  21. }
  22. // loads #####POT mainfile#####
  23. include('libs/pot/OTS.php');
  24. // PDO and POT connects to database
  25. $ots = POT::getInstance();
  26. if(strtolower($config['server']['sqlType']) == "mysql")
  27. {
  28.     //connect to MySQL database
  29.     try
  30.     {
  31.         $ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) );
  32.     }
  33.     catch(PDOException $error)
  34.     {
  35.         echo 'Database error - can\'t connect to MySQL database. Possible reasons:<br>1. MySQL server is not running on host.<br>2. MySQL user, password, database or host isn\'t configured in: <b>'.$config['site']['server_path'].'config.lua</b> .<br>3. MySQL user, password, database or host is wrong.';
  36.         exit;
  37.     }
  38. }
  39. elseif(strtolower($config['server']['sqlType']) == "sqlite")
  40. {
  41.     //connect to SQLite database
  42.     $link_to_sqlitedatabase = $config['site']['server_path'].$sqlitefile;
  43.     try
  44.     {
  45.         $ots->connect(POT::DB_SQLITE, array('database' => $link_to_sqlitedatabase));
  46.     }
  47.     catch(PDOException $error)
  48.     {
  49.         echo 'Database error - can\'t open SQLite database. Possible reasons:<br><b>'.$link_to_sqlitedatabase.'</b> - file isn\'t valid SQLite database.<br><b>'.$link_to_sqlitedatabase.'</b> - doesn\'t exist.<br><font color="red">Wrong PHP configuration. Default PHP does not work with SQLite databases!</font>';
  50.         exit;
  51.     }
  52. }
  53. else
  54. {
  55.     echo 'Database error. Unknown database type in <b>'.$config['site']['server_path'].'config.lua</b> . Must be equal to: "<b>mysql</b>" or "<b>sqlite</b>". Now is: "<b>'.strtolower($config['server']['sqlType']).'"</b>';
  56.     exit;
  57. }
  58.  
  59. $SQL = POT::getInstance()->getDBHandle();
  60. $layout_name = "layouts/".$layout_name = $config['site']['layout'];;
  61. $layout_ini = parse_ini_file($layout_name.'/layout_config.ini');
  62. foreach($layout_ini as $key => $value)
  63.     $config['site'][$key] = $value;
  64. //###################### FUNCTIONS ######################
  65. function getTooltip()
  66. {
  67.     echo '<link rel="stylesheet" type="text/css" href="aplication/tooltip/style.css" />';
  68.     echo '<script src="aplication/tooltip/script.js"></script>';
  69. }
  70. // language system
  71. header('Cache-control: private'); // IE 6 FIX
  72. if(isSet($_GET['lang']))
  73. {
  74.     $lang = $_GET['lang'];
  75.     $_SESSION['lang'] = $lang;
  76.     setcookie('lang', $lang, time() + (3600 * 24 * 30));
  77. }
  78. else if(isSet($_SESSION['lang']))
  79. {
  80.     $lang = $_SESSION['lang'];
  81. }
  82. else if(isSet($_COOKIE['lang']))
  83. {
  84.     $lang = $_COOKIE['lang'];
  85. }
  86. else
  87. {
  88.     $lang = 'en';
  89. }
  90. // force / potegi
  91. function force($podstawa, $wykladnik)
  92. {
  93.     $wynik = $podstawa;
  94.     $i = 1;
  95.     while ($i++ < $wykladnik)
  96.         $wynik *= $podstawa;
  97.     return $wynik;
  98. }
  99. //save config in ini file
  100. function saveconfig_ini($config)
  101. {
  102.     $file = fopen("config/config.ini", "w");
  103.     $file_data = '';
  104.     foreach($config as $param => $data)
  105.     {
  106. $file_data .= $param.' = "'.str_replace('"', '', $data).'"
  107. ';
  108.     }
  109.     rewind($file);
  110.     fwrite($file, $file_data);
  111.     fclose($file);
  112. }
  113. //return password to db
  114. function password_ency($password)
  115. {
  116.     $ency = $GLOBALS['config']['server']['encryptionType'];
  117.     if($ency != 'plain')
  118.         return hash($ency, $password);
  119.     elseif($ency == 'plain')
  120.         return $password;
  121. }
  122. //delete player with name
  123. function delete_player($name) {
  124.     $SQL = $GLOBALS['SQL'];
  125.     $player = new OTS_Player();
  126.     $player->find($name);
  127.     if($player->isLoaded()) {
  128.         try { $SQL->query("DELETE FROM player_skills WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {}
  129.         try { $SQL->query("DELETE FROM guild_invites WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {}
  130.         try { $SQL->query("DELETE FROM player_items WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {}
  131.         try { $SQL->query("DELETE FROM player_depotitems WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {}
  132.         try { $SQL->query("DELETE FROM player_spells WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {}
  133.         try { $SQL->query("DELETE FROM player_storage WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {}
  134.         try { $SQL->query("DELETE FROM player_viplist WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {}
  135.         try { $SQL->query("DELETE FROM player_deaths WHERE player_id = '".$player->getId()."';"); } catch(PDOException $error) {}
  136.         try { $SQL->query("DELETE FROM player_deaths WHERE killed_by = '".str_replace("'", "\'", $player->getName())."';"); } catch(PDOException $error) {}
  137.         $rank = $player->getRank();
  138.         if(!empty($rank)) {
  139.             $guild = $rank->getGuild();
  140.             if($guild->getOwner()->getId() == $player->getId()) {
  141.                 $rank_list = $guild->getGuildRanksList();
  142.                 if(count($rank_list) > 0) {
  143.                     $rank_list->orderBy('level');
  144.                     foreach($rank_list as $rank_in_guild) {
  145.                         $players_with_rank = $rank_in_guild->getPlayersList();
  146.                         $players_with_rank->orderBy('name');
  147.                         $players_with_rank_number = count($players_with_rank);
  148.                         if($players_with_rank_number > 0) {
  149.                             foreach($players_with_rank as $player_in_guild) {
  150.                                 $player_in_guild->setRank();
  151.                                 $player_in_guild->save();
  152.                             }
  153.                         }
  154.                         $rank_in_guild->delete();
  155.                     }
  156.                     $guild->delete();
  157.                 }
  158.             }
  159.         }
  160.         $player->delete();
  161.         return TRUE;
  162.     }
  163. }
  164. //delete guild with id
  165. function delete_guild($id) {
  166.     $guild = new OTS_Guild();
  167.     $guild->load($id);
  168.     if($guild->isLoaded()) {
  169.         $rank_list = $guild->getGuildRanksList();
  170.         if(count($rank_list) > 0) {
  171.             $rank_list->orderBy('level');
  172.             foreach($rank_list as $rank_in_guild) {
  173.                 $players_with_rank = $rank_in_guild->getPlayersList();
  174.                 if(count($players_with_rank) > 0) {
  175.                     foreach($players_with_rank as $player_in_guild) {
  176.                         $player_in_guild->setRank();
  177.                         $player_in_guild->save();
  178.                     }
  179.                 }
  180.                 $rank_in_guild->delete();
  181.             }
  182.         }
  183.         $guild->delete();
  184.         return TRUE;
  185.     }
  186.     else
  187.         return FALSE;
  188. }
  189. //is it valid nick?
  190. function check_name($name)//sprawdza name
  191. {
  192.     $temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM- [ ] '");
  193.     if ($temp != strlen($name))
  194.         return false;
  195.     else
  196.     {
  197.         $ok = "/[a-zA-Z ']{1,25}/";
  198.         return (preg_match($ok, $name))? true: false;
  199.     }
  200. }
  201. // is it valid account name
  202. function check_account_name($name)
  203. {
  204.     $temp = strspn("$name", "QWERTYUIOPASDFGHJKLZXCVBNM0123456789");
  205.     if ($temp != strlen($name))
  206.         return false;
  207.     if(strlen($name) > 32)
  208.         return false;
  209.     else
  210.     {
  211.         $ok = "/[A-Z0-9]/";
  212.         return (preg_match($ok, $name))? true: false;
  213.     }
  214. }
  215. //is it valid nick for new char?
  216. function check_name_new_char($name)//sprawdza name
  217. {
  218.     $name_to_check = strtolower($name);
  219.     //first word can't be:
  220.     //names blocked:
  221.     $names_blocked = array('gm', 'cm', 'god', 'tutor');
  222.     $first_words_blocked = array('gm ', 'cm ', 'god ','tutor ', "'", '-');
  223.     //name can't contain:
  224.     $words_blocked = array('gamemaster', 'game master', 'game-master', "game'master", '--', "''","' ", " '", '- ', ' -', "-'", "'-", 'fuck', 'sux', 'suck', 'noob', 'tutor');
  225.     foreach($first_words_blocked as $word)
  226.         if($word == substr($name_to_check, 0, strlen($word)))
  227.             return false;
  228.     if(substr($name_to_check, -1) == "'" || substr($name_to_check, -1) == "-")
  229.         return false;
  230.     if(substr($name_to_check, 1, 1) == ' ')
  231.         return false;
  232.     if(substr($name_to_check, -2, 1) == " ")
  233.         return false;
  234.     foreach($names_blocked as $word)
  235.         if($word == $name)
  236.             return false;
  237.     for($i = 0; $i < strlen($name_to_check); $i++)
  238.         if($name_to_check[$i-1] == ' ' && $name_to_check[$i+1] == ' ')
  239.             return false;
  240.     foreach($words_blocked as $word)
  241.         if (!(strpos($name_to_check, $word) === false))
  242.             return false;
  243.     for($i = 0; $i < strlen($name_to_check); $i++)
  244.         if($name_to_check[$i] == $name_to_check[($i+1)] && $name_to_check[$i] == $name_to_check[($i+2)])
  245.             return false;
  246.     for($i = 0; $i < strlen($name_to_check); $i++)
  247.         if($name_to_check[$i-1] == ' ' && $name_to_check[$i+1] == ' ')
  248.             return false;
  249.     $temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM- ");
  250.     if ($temp != strlen($name))
  251.         return false;
  252.     else
  253.     {
  254.         $ok = "/[a-zA-Z ']{1,25}/";
  255.         return (preg_match($ok, $name))? true: false;
  256.     }
  257. }
  258. // is rank name valid?
  259. function check_rank_name($name)
  260. {
  261.   $temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789-[ ] ");
  262.     if ($temp != strlen($name))
  263.     {
  264.         return false;
  265.     }
  266.     else
  267.     {
  268.         $ok = "/[a-zA-Z ]{1,60}/";
  269.         return (preg_match($ok, $name))? true: false;
  270.     }
  271. }
  272. // is guild name valid?
  273. function check_guild_name($name)
  274. {
  275.     if ( substr($name, -1) == "-" OR substr($name, 1, 1) == ' ' OR substr($name, -2, 1) == " " )
  276.         return false;
  277.    
  278.     $temp = strspn("$name", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789- ");
  279.     if ($temp != strlen($name))
  280.     {
  281.         return false;
  282.     }
  283.     else
  284.     {
  285.         $ok = "/[a-zA-Z ]{1,60}/";
  286.         return (preg_match($ok, $name))? true: false;
  287.     }
  288. }
  289. // is it valid password?
  290. function check_password($pass)
  291. {
  292.     $temp = strspn("$pass", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890");
  293.     if ($temp != strlen($pass))
  294.     {
  295.         return false;
  296.     }
  297.     else
  298.     {
  299.         $ok = "/[a-zA-Z0-9]{1,40}/";
  300.         return (preg_match($ok, $pass))? true: false;
  301.     }
  302. }
  303. // is it valid e-mail?
  304. function check_mail($email)
  305. {
  306.     $ok = "/[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,4}/";
  307.     return (preg_match($ok, $email))? true: false;
  308. }
  309. // check if is acoount have premium time
  310. function isPremium($premdays, $lastday)
  311. {
  312.     return ($premdays - (date("z", time()) + (365 * (date("Y", time()) - date("Y", $lastday))) - date("z", $lastday)) > 0);
  313. }
  314. // get name bans
  315. function getReason($reasonId)
  316. {
  317.     switch($reasonId)
  318.     {
  319.         case 0:
  320.         return "Offensive Name";
  321.         case 1:
  322.         return "Invalid Name Format";
  323.         case 2:
  324.         return "Unsuitable Name";
  325.         case 3:
  326.         return "Name Inciting Rule Violation";
  327.         case 4:
  328.         return "Offensive Statement";
  329.         case 5:
  330.         return "Spamming";
  331.         case 6:
  332.         return "Illegal Advertising";
  333.         case 7:
  334.         return "Off-Topic Public Statement";
  335.         case 8:
  336.         return "Non-English Public Statement";
  337.         case 9:
  338.         return "Inciting Rule Violation";
  339.         case 10:
  340.         return "Bug Abuse";
  341.         case 11:
  342.         return "Game Weakness Abuse";
  343.         case 12:
  344.         return "Using Unofficial Software to Play";
  345.         case 13:
  346.         return "Hacking";
  347.         case 14:
  348.         return "Multi-Clienting";
  349.         case 15:
  350.         return "Account Trading or Sharing";
  351.         case 16:
  352.         return "Threatening Gamemaster";
  353.         case 17:
  354.         return "Pretending to Have Influence on Rule Enforcement";
  355.         case 18:
  356.         return "False Report to Gamemaster";
  357.         case 19:
  358.         return "Destructive Behaviour";
  359.         case 20:
  360.         return "Excessive Unjustified Player Killing";
  361.         case 21:
  362.         return "Invalid Payment";
  363.         case 22:
  364.         return "Spoiling Auction";
  365.         default:
  366.         break;
  367.     }
  368.     return "Unknown Reason";
  369. }
  370.  
  371. //################### DISPLAY FUNCTIONS #####################
  372. //return shorter text (news ticker)
  373. function short_text($text, $chars_limit)
  374. {
  375.     if (strlen($text) > $chars_limit)
  376.         return substr($text, 0, strrpos(substr($text, 0, $chars_limit), " ")).'...';
  377.     else
  378.         return $text;
  379. }
  380. //return text to news msg
  381. function news_place()
  382. {
  383.     return $news;
  384. }
  385. // set monster of week
  386. function logo_monster()
  387. {
  388.     return str_replace(" ", "", trim(mb_strtolower($GLOBALS['config']['site']['logo_monster'])));
  389. }
  390.  
  391. $statustimeout = 1;
  392. foreach(explode("*", str_replace(" ", "", $config['server']['statusTimeout'])) as $status_var)
  393.     if($status_var > 0)
  394.         $statustimeout = $statustimeout * $status_var;
  395.  
  396. $statustimeout = $statustimeout / 1000;
  397. $config['status'] = parse_ini_file('cache/serverstatus');
  398. if($config['status']['serverStatus_lastCheck']+$statustimeout < time())
  399. {
  400.     $config['status']['serverStatus_checkInterval'] = $statustimeout+3;
  401.     $config['status']['serverStatus_lastCheck'] = time();
  402.     $info = chr(6).chr(0).chr(255).chr(255).'info';
  403.     $sock = @fsockopen($config['server']['ip'], $config['server']['statusPort'], $errno, $errstr, 1);
  404.     if ($sock)
  405.     {
  406.         fwrite($sock, $info);
  407.         $data='';
  408.         while (!feof($sock))
  409.             $data .= fgets($sock, 1024);
  410.         fclose($sock);
  411.         preg_match('/players online="(\d+)" max="(\d+)"/', $data, $matches);
  412.         $config['status']['serverStatus_online'] = 1;
  413.         $config['status']['serverStatus_players'] = $matches[1];
  414.         $config['status']['serverStatus_playersMax'] = $matches[2];
  415.         preg_match('/uptime="(\d+)"/', $data, $matches);
  416.         $h = floor($matches[1] / 3600);
  417.         $m = floor(($matches[1] - $h*3600) / 60);
  418.         $config['status']['serverStatus_uptime'] = $h.'h '.$m.'m';
  419.         preg_match('/monsters total="(\d+)"/', $data, $matches);
  420.         $config['status']['serverStatus_monsters'] = $matches[1];
  421.         preg_match('/npcs total="(\d+)"/', $data, $matches);
  422.         $config['status']['serverStatus_npcs'] = $matches[1];
  423.     }
  424.     else
  425.     {
  426.         $config['status']['serverStatus_online'] = 0;
  427.         $config['status']['serverStatus_players'] = 0;
  428.         $config['status']['serverStatus_playersMax'] = 0;
  429.         $config['status']['serverStatus_monsters'] = 0;
  430.         $config['status']['serverStatus_uptime'] = 0;
  431.         $config['status']['serverStatus_npcs'] = 0;
  432.     }
  433.     $file = fopen("cache/serverstatus", "w");
  434.     $file_data = '';
  435.     foreach($config['status'] as $param => $data)
  436.     {
  437. $file_data .= $param.' = "'.str_replace('"', '', $data).'"';
  438.     }
  439.     rewind($file);
  440.     fwrite($file, $file_data);
  441.     fclose($file);
  442. }
  443. //PAGE VIEWS COUNTER :)
  444. $views_counter = "cache/usercounter.dat";
  445. // checking if the file exists
  446. if (file_exists($views_counter))
  447. {
  448.     // het bestand bestaat, waarde + 1
  449.     $actie = fopen($views_counter, "r+");
  450.     $page_views = fgets($actie, 9);
  451.     $page_views++;
  452.     rewind($actie);
  453.     fputs($actie, $page_views, 9);
  454.     fclose($actie);
  455. }
  456. else
  457. {
  458.     // the file doesn't exist, creating a new one with value 1
  459.     $actie = fopen($views_counter, "w");
  460.     $page_views = 1;
  461.     fputs($actie, $page_views, 9);
  462.     fclose($actie);
  463. }
  464. function makeOrder($arr, $order, $default) {
  465.     // Function by Colandus!
  466.     $type = 'asc';
  467.     if(isset($_GET['order']))
  468.     {
  469.         $v = explode('_', strrev($_GET['order']), 2);
  470.         if(count($v) == 2)
  471.             if($orderBy = $arr[strrev($v[1])])
  472.                 $default = $orderBy;
  473.                 $type = (strrev($v[0]) == 'asc' ? 'desc' : 'asc');
  474.     }
  475.     return 'ORDER BY ' . $default . ' ' . $type;
  476. }
  477. function getOrder($arr, $order, $this) {
  478.     // Function by Colandus!
  479.     $type = 'asc';
  480.     if($orderBy = $arr[$this])
  481.         if(isset($_GET[$order])) {
  482.             $v = explode('_', strrev($_GET[$order]), 2);
  483.             if(strrev($v[1]) == $this)
  484.                 $type = (strrev($v[0]) == 'asc' ? 'desc' : 'asc');
  485.         }
  486.     return $this . '_' . $type;
  487. }
  488. // class EQShower
  489. class EQShower
  490. {
  491.     function item_info($val,$attributes)
  492.     {
  493.         $EQShower=new EQShower;
  494.         $cl=$EQShower->item_grade($attributes);
  495.  
  496.         empty($val[1])?$desc_str="":$desc_str="<br /><br />".$val[1];
  497.         empty($val[2])?$arm_str="":$arm_str="Armor: ".$val[2]."<br />";
  498.         empty($val[4])?$size_str="":$size_str="Size: ".$val[4]." slots";
  499.         empty($val[5])?$att_str="":$att_str="Attack: ".$val[5]."<br />";
  500.         empty($val[6])?$sp_str="":$sp_str="Speed: + ".$val[6]."<br />";
  501.         empty($val[13])?$def_a="":$def_a="+ ".$val[13];
  502.         empty($val[7])?$def_str="":$def_str="Defense: ".$val[7]." $def_a<br />";
  503.         if(!empty($val[8])){$el_str="Fire: ".$val[8]."<br />";}
  504.         if(!empty($val[9])){$el_str="Ice: ".$val[9]."<br />";}
  505.         if(!empty($val[10])){$el_str="Earth: ".$val[10]."<br />";}
  506.         if(!empty($val[11])){$el_str="Energy: ".$val[11]."<br />";}
  507.         empty($val[12])?$ran_str="":$ran_str="Range: ".$val[12]."<br />";
  508.         empty($val[14])?$sk_sh="":$sk_sh="Shielding: + ".$val[14]."<br />";
  509.         empty($val[15])?$sk_mag="":$sk_mag="Magic: + ".$val[15]."<br />";
  510.         empty($val[16])?$eb_all="":$eb_all="Protection All: ".$val[16]."%<br />";
  511.         empty($val[17])?$charg_str="":$charg_str="Charges: ".$val[17]."<br />";
  512.         empty($val[18])?$sk_dist="":$sk_dist="Distance: + ".$val[18]."<br />";
  513.         empty($val[19])?$eb_fire="":$eb_fire="Protection fire: ".$val[19]."%<br />";
  514.         empty($val[20])?$eb_earth="":$eb_earth="Protection earth: ".$val[20]."%<br />";
  515.         empty($val[21])?$eb_ice="":$eb_ice="Protection ice: ".$val[21]."%<br />";
  516.         empty($val[22])?$eb_ene="":$eb_ene="Protection energy: ".$val[22]."%<br />";
  517.         empty($val[23])?$eb_dth="":$eb_dth="Protection death: ".$val[23]."%<br />";
  518.         empty($val[24])?$eb_hol="":$eb_hol="Protection holy: ".$val[24]."%<br />";
  519.         empty($val[25])?$eb_pys="":$eb_pys="Protection physical: ".$val[25]."%<br />";
  520.         empty($val[26])?$sk_axe="":$sk_axe="Axe: + ".$val[26]."<br />";
  521.         empty($val[27])?$sk_club="":$sk_club="Club: + ".$val[27]."<br />";
  522.         empty($val[28])?$sk_sword="":$sk_sword="Sword: + ".$val[28]."<br />";
  523.         empty($val[29])?$dura="":$dura="Duration: ".$val[29]." minutes.<br />";
  524.         empty($val[30])?$sk_fist="":$sk_fist="Fist: + ".$val[30]."<br />";
  525.         empty($val[31])?$eb_mana="":$eb_mana="Protection manadrain: ".$val[31]."%<br />";
  526.         empty($val[32])?$eb_life="":$eb_life="Protection lifedrain: ".$val[32]."%<br />";
  527.         empty($val[33])?$eb_drop="":$eb_drop="Protection drop: ".$val[33]."%<br />";
  528.         empty($val[34])?$hit_ch="":$hit_ch="Hit chance: ".$val[34]."%<br />";
  529.         empty($val[35])?$sh_type="":$sh_type="Element: ".$val[35]."<br />";
  530.  
  531.         if(empty($val[8]) AND empty($val[9]) AND empty($val[10]) AND empty($val[11])){$ele_str="";}
  532.  
  533.         $str="<div class=\'$cl\'>".$val[0]."</div><font class=\'attr\'>$arm_str $sp_str $sh_type $att_str $ran_str $def_str $hit_ch $sk_sh $sk_sword $sk_axe $sk_club $sk_fist $sk_mag $sk_dist $eb_all $eb_drop $eb_mana $eb_life $eb_fire $eb_earth $eb_ice $eb_ene $eb_dth $eb_hol $eb_pys $el_str $charg_str $dura Weight: ".$val[3]." oz $desc_str</font>";
  534.         return $str;
  535.     }
  536.     function item_grade($attributes)
  537.     {
  538.         require('config/config.php');
  539.         if($attributes<=$config['normal']['attributes']){return $config['class']['normal'];}
  540.         if($attributes==$config['rare']['attributes']){return $config['class']['rare'];}
  541.         if($attributes==$config['epic']['attributes']){return $config['class']['epic'];}
  542.         if($attributes>=$config['legendary']['attributes']){return $config['class']['legendary'];}
  543.     }
  544.     function table_exists ($table, $db)
  545.     {
  546.         $tables = mysql_list_tables ($db);
  547.         while (list ($temp) = mysql_fetch_array ($tables))
  548.         {
  549.             if ($temp == $table)
  550.             {
  551.                 return TRUE;
  552.             }
  553.         }
  554.         return FALSE;
  555.     }
  556. }
  557. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement