Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*****************************************
- ** Flyff Earthquake v4.0 **
- ** inc/functions.php **
- ** Created by Treachery. **
- *****************************************/
- require_once("inc/config.php");
- if(stristr($_SERVER['PHP_SELF'], "functions.php"))
- header("Location: ../");
- session_start();
- if (!$enable_shop)
- die("<p style='text-align: center; color: #FF0000; padding-top: 30%; font-weight: bold'>The shop is currently unavailable.<br/>Please try again later.</p>");
- $mssql_con = mssql_connect($mssql_server, $mssql_username, $mssql_password); //Attempt connection to MSSQL server using above server location.
- if (!$mssql_con)
- die("Cannot connect to MSSQL Server."); //die, stating it could not connect.
- if (isset($_POST['user_id']))
- {
- session_destroy();
- session_start();
- }
- $account = (isset($_SESSION['ifs_account'])) ? strtolower($_SESSION['ifs_account']) : strtolower($_POST['user_id']);
- $player = (isset($_SESSION['ifs_player'])) ? $_SESSION['ifs_player'] : addZeroes($_POST['m_idPlayer']);
- $sindex = (isset($_SESSION['ifs_sindex'])) ? $_SESSION['ifs_sindex'] : "0".$_POST['server_index'];
- $passwd = (isset($_SESSION['ifs_passwd'])) ? $_SESSION['ifs_passwd'] : $_POST['check'];
- $accountcheck = $account ? true : false;
- $account2 = $account;
- $account = clean($account);
- if (!isset($_SESSION['ifs_account']))
- {
- if ($accountcheck)
- {
- $account_query=mssql_query("SELECT * FROM [{$mssql_db['account']}].dbo.[ACCOUNT_TBL] WHERE account = {$account}");
- $account_row=mssql_fetch_array($account_query);
- if (mssql_num_rows($account_query))
- {
- if ($account_row['password']==$passwd)
- {
- $character_query=mssql_query("SELECT * FROM [{$mssql_db['character']}].dbo.[CHARACTER_TBL] WHERE m_idPlayer = '{$player}' AND isblock!='D' AND account = {$account}");
- $character_row=mssql_fetch_array($character_query);
- if (mssql_num_rows($character_query))
- {
- $_SESSION['ifs_account'] = $account;
- $_SESSION['ifs_player'] = $player;
- $_SESSION['ifs_sindex'] = $sindex;
- $_SESSION['ifs_passwd'] = $passwd;
- }
- else
- header("Location: login.php?error=4"); //die("Invalid access (4)."); //Character not found or doesn't belong to the owner.
- }
- else
- header("Location: login.php?error=3"); //die("Invalid access (3)."); //Invalid account password hashed.
- }
- else
- header("Location: login.php?error=2"); //die("Invalid access (2)."); //Account does not exist.
- }
- else
- header("Location: login.php?error=1"); //die("Invalid access (1)."); //Account not entered.
- }
- $cash_query=mssql_query("SELECT * FROM [{$mssql_db['account']}].[dbo].[ACCOUNT_TBL] WHERE account = {$account}");
- $cash_row_array=mssql_fetch_array($cash_query);
- $cash_count=$cash_row_array[$cash_row];
- mssql_select_db($mssql_db['character']);
- $page = (isset($_GET['page'])) ? clean(abs($_GET['page'])) : 1;
- if ($page < 1) $page = 1;
- $page_max = $page*$max_items;
- $page_limit = $page_max-$max_items;
- function clean($var)
- {
- if (is_int($var))
- {
- $var = $var;
- }
- else
- if (is_array($var))
- {
- foreach($var as $key => $value)
- {
- $var[$key] = clean($value);
- }
- }
- else
- {
- $unpacked = unpack('H*hex',$var);
- $hex = '0x'.$unpacked['hex'];
- $var = $hex;
- }
- return $var;
- }
- function addZeroes($num)
- {
- $max_len=7;
- $cur_len=strlen($num);
- while ($cur_len < $max_len)
- {
- $num="0".$num;
- $cur_len++;
- }
- return $num;
- }
- function item_query($itemid)
- {
- global $popular;
- switch($itemid)
- {
- case "popular":
- if ($popular==0)
- $item_query="SELECT TOP 1 * FROM PREMIUM_SHOP_TBL WHERE forsale = 1 ORDER BY purchases DESC";
- else
- $item_query="SELECT TOP 1 * FROM PREMIUM_SHOP_TBL WHERE id= {$popular} AND forsale = 1";
- break;
- default:
- $item_query="SELECT TOP 1 * FROM PREMIUM_SHOP_TBL WHERE id = {$itemid} AND forsale = 1";
- $item_result=mssql_query($item_query);
- if(!mssql_num_rows($item_result))
- $item_query="SELECT TOP 1 * FROM PREMIUM_SHOP_TBL WHERE forsale = 1 ORDER BY purchases DESC";
- }
- return $item_query;
- }
- function roundUp( $value, $precision=0 )
- {
- if ( $precision == 0 ) {
- $precisionFactor = 1;
- }
- else {
- $precisionFactor = pow( 10, $precision );
- }
- return ceil( $value * $precisionFactor )/$precisionFactor;
- }
- function br($text)
- {
- $text=str_replace("\\r\\n","<br />",$text);
- $text=str_replace("\n","<br />",$text);
- return $text;
- }
- function friends()
- {
- global $player, $sindex;
- $stmt = mssql_init('shopMessengerList');
- mssql_bind($stmt, '@pserverindex', $sindex, SQLCHAR);
- mssql_bind($stmt, '@pPlayerID', $player, SQLCHAR);
- $result = mssql_execute($stmt);
- while ($row = mssql_fetch_assoc($result)) {
- $return.= '<option value="'.$row['idFriend'].'">'.$row['m_szName'].'</option>';
- }
- mssql_free_statement($stmt);
- return $return;
- }
- function updateCash($new_cash)
- {
- global $account, $cash_row, $mssql_db;
- $new_cash = abs($new_cash);
- $query = "UPDATE [{$mssql_db['account']}].[dbo].[ACCOUNT_TBL] SET [{$cash_row}] = {$new_cash} WHERE account = {$account}";
- $result=mssql_query($query);
- if ($result)
- return true;
- else
- return false;
- }
- function giftBundle($item1_id, $item1_name, $item1_count, $item2_id, $item2_name, $item2_count, $item3_id, $item3_name, $item3_count, $item4_id, $item4_name, $item4_count, $player)
- {
- global $sindex;
- if ($item1_id&&$item1_name&&$item1_count)
- $return = giftItem($item1_id, $item1_name, $item1_count, $player);
- if ($item2_id&&$item2_name&&$item2_count&&$return)
- $return = giftItem($item2_id, $item2_name, $item2_count, $player);
- if ($item3_id&&$item3_name&&$item3_count&&$return)
- $return = giftItem($item3_id, $item3_name, $item3_count, $player);
- if ($item4_id&&$item4_name&&$item4_count&&$return)
- $return = giftItem($item4_id, $item4_name, $item4_count, $player);
- if (!isset($return))
- $return = 0;
- return $return;
- }
- function giftItem($itemid, $itemname, $itemcount, $player_to)
- {
- global $sindex, $player, $mssql_db;
- mssql_select_db($mssql_db['character']);
- $stmt = mssql_init('shopSendItem');
- mssql_bind($stmt, '@m_idPlayer', $player_to, SQLCHAR);
- mssql_bind($stmt, '@serverindex', $sindex, SQLCHAR);
- mssql_bind($stmt, '@item_name', $itemname, SQLTEXT);
- mssql_bind($stmt, '@item_count', $itemcount, SQLINT1);
- mssql_bind($stmt, '@item_id', $itemid, SQLINT1);
- mssql_bind($stmt, '@m_idSender', $player, SQLCHAR);
- $return = mssql_execute($stmt);
- mssql_free_statement($stmt);
- return $return;
- }
- function sendBundle($item1_id, $item1_name, $item1_count, $item2_id, $item2_name, $item2_count, $item3_id, $item3_name, $item3_count, $item4_id, $item4_name, $item4_count) {
- global $player, $sindex;
- mssql_select_db($mssql_db['character']);
- if ($item1_id&&$item1_name&&$item1_count)
- $return = sendItem($item1_id, $item1_name, $item1_count);
- if ($item2_id&&$item2_name&&$item2_count&&$return)
- $return = sendItem($item2_id, $item2_name, $item2_count);
- if ($item3_id&&$item3_name&&$item3_count&&$return)
- $return = sendItem($item3_id, $item3_name, $item3_count);
- if ($item4_id&&$item4_name&&$item4_count&&$return)
- $return = sendItem($item4_id, $item4_name, $item4_count);
- if (!isset($return))
- $return = 0;
- return $return;
- }
- function sendItem($itemid, $itemname, $itemcount)
- {
- global $player, $sindex, $mssql_db;
- mssql_select_db($mssql_db['character']);
- $stmt = mssql_init('shopSendItem');
- mssql_bind($stmt, '@m_idPlayer', $player, SQLCHAR);
- mssql_bind($stmt, '@serverindex', $sindex, SQLCHAR);
- mssql_bind($stmt, '@item_name', $itemname, SQLTEXT);
- mssql_bind($stmt, '@item_count', $itemcount, SQLINT1);
- mssql_bind($stmt, '@item_id', $itemid, SQLINT1);
- $return = mssql_execute($stmt);
- mssql_free_statement($stmt);
- return $return;
- }
- function PurchaseCount($itemid)
- {
- global $mssql_db;
- if (is_int($itemid))
- return mssql_query("UPDATE [{$mssql_db['character']}].dbo.[PREMIUM_SHOP_TBL] SET purchases = purchases + 1 WHERE id = {$itemid}");
- }
- function getLastID()
- {
- global $mssql_db;
- $result = mssql_query("SELECT id FROM [{$mssql_db['character']}].dbo.[PREMIUM_SHOP_TBL] ORDER BY id DESC");
- $row = mssql_fetch_array($result);
- return $row['id'];
- }
- function tableArray($query)
- {
- $array = array();
- $result = mssql_query($query);
- for($i=0;$i<mssql_num_rows($result);$i++)
- {
- $mini_array = array();
- for($n=0;$n<mssql_num_fields($result);$n++)
- {
- $field = mssql_field_name($result, $n);
- $mini_array[$field] = mssql_result($result, $i, $field);
- }
- $array[$i] = $mini_array;
- }
- return $array;
- }
- function page_list($totalPages, $function)
- {
- global $max_list, $page;
- $partial = ceil($max_list/2);
- $cP = 1;
- if ($page > $partial)
- {
- $cP = $page - $partial + 1;
- }
- if ($cP+$max_list > $totalPages+1)
- {
- while($cP+$max_list > $totalPages+1)
- {
- $cP--;
- }
- }
- if ($cP < 1)
- $cP = 1;
- $prev = ($page - 1 > 0) ? $page - 1 : 1;
- $next = ($page + 1 > $totalPages) ? $totalPages : $page + 1;
- echo "<a href=\"javascript:{$function}1);\">[First]</a> ";
- echo "<a href=\"javascript:{$function}{$prev});\">[Prev]</a> ";
- $i2=0;
- for($i=$cP;($i2<$max_list)&&($i<=$totalPages);$i++)
- {
- echo ($i==$page) ? "<span>" : "<a href=\"javascript:{$function}{$i});\">[";
- echo $i;
- echo ($i==$page) ? "</span>" : "]</a>";
- echo " ";
- $i2++;
- }
- echo "<a href=\"javascript:{$function}{$next});\">[Next]</a> ";
- echo "<a href=\"javascript:{$function}{$totalPages});\">[Last]</a>";
- }
- function likeClean($str)
- {
- return preg_replace('/(?!\s)(\W)/', '', $str);
- }
- function fail($itemid = "popular", $giftflag = 1)
- {
- return '<script type="text/javascript">
- $(document).ready(function() {
- PurchaseFail('.$itemid.','.$giftflag.');
- });
- </script>';
- }
- function success($itemid, $giftflag = 1)
- {
- return '<script type="text/javascript">
- $(document).ready(function() {
- PurchaseSuccess('.$itemid.','.$giftflag.');
- });
- </script>';
- }
- function success2($itemid, $giftflag = 1)
- {
- return '<script type="text/javascript">
- $(document).ready(function() {
- PurchaseSuccess2('.$itemid.','.$giftflag.');
- });
- </script>';
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement