Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once 'engine/init.php';
- include 'layout/overall/header.php';
- if ($config['log_ip'])
- znote_visitor_insert_detailed_data(3);
- if (empty($_POST) === false && $config['TFSVersion'] === 'TFS_03') {
- /* Token used for cross site scripting security */
- if (isset($_POST['token']) && Token::isValid($_POST['token'])) {
- $townid = (int)$_POST['selected'];
- $cache = new Cache('engine/cache/houses');
- $array = array();
- if ($cache->hasExpired()) {
- $tmp = fetchAllHouses_03();
- $cache->setContent($tmp);
- $cache->save();
- foreach ($tmp as $t) {
- if ($t['town'] == $townid) $array[] = $t;
- }
- $array = isset($array) ? $array : false;
- } else {
- $tmp = $cache->load();
- foreach ($tmp as $t) {
- if ($t['town'] == $townid) $array[] = $t;
- }
- $array = isset($array) ? $array : false;
- }
- // Design and present the list
- if ($array) {
- ?>
- <h2>
- <?php echo ucfirst(town_id_to_name($townid)); ?> house list.
- </h2>
- <table id="housesTable" class="table table-striped">
- <tr class="yellow">
- <th>Name:</th>
- <th>Size:</th>
- <th>Doors:</th>
- <th>Beds:</th>
- <th>Price:</th>
- <th>Owner:</th>
- </tr>
- <?php
- foreach ($array as $value) {
- echo '<tr>';
- echo "<td>". $value['name'] ."</td>";
- echo "<td>". $value['size'] ."</td>";
- echo "<td>". $value['doors'] ."</td>";
- echo "<td>". $value['beds'] ."</td>";
- echo "<td>". $value['price'] ."</td>";
- if ($value['owner'] == 0)
- echo "<td>None</td>";
- else {
- $data = user_character_data($value['owner'], 'name');
- echo '<td><a href="characterprofile.php?name='. $data['name'] .'">'. $data['name'] .'</a></td>';
- }
- echo '</tr>';
- }
- ?>
- </table>
- <?php
- } else {
- echo 'Empty list, it appears no houses are listed in this town.';
- }
- //Done.
- } else {
- echo 'Token appears to be incorrect.<br><br>';
- //Token::debug($_POST['token']);
- echo 'Please clear your web cache/cookies <b>OR</b> use another web browser<br>';
- }
- } else {
- if (empty($_POST) === true && $config['TFSVersion'] === 'TFS_03') {
- if ($config['allowSubPages'])
- header('Location: sub.php?page=houses');
- else
- echo 'Sub page system disabled.';
- } else if ($config['TFSVersion'] === 'TFS_02') {
- $house = $config['house'];
- if (!is_file($house['house_file'])) {
- echo("<h3>House file not found</h3><p>FAILED TO LOCATE/READ FILE AT:<br><font color='red'>". $house['house_file'] ."</font><br><br>LINUX users: Make sure www-data have read access to file.<br>WINDOWS users: Learn to write correct file path.</p>");
- exit();
- }
- // Load and cache SQL house data:
- $cache = new Cache('engine/cache/houses/sqldata');
- if ($cache->hasExpired()) {
- $house_query = mysql_select_multi('SELECT `players`.`name`, `houses`.`id` FROM `players`, `houses` WHERE `houses`.`owner` = `players`.`id`;');
- $cache->setContent($house_query);
- $cache->save();
- } else
- $house_query = $cache->load();
- $sqmPrice = $house['price_sqm'];
- $house_load = simplexml_load_file($house['house_file']);
- if ($house_query !== false && $house_load !== false) {
- ?>
- <h2>House list</h2>
- <table>
- <tr class="yellow">
- <td><b>House</b></td>
- <td><b>Location</b></td>
- <td><b>Owner</b></td>
- <td><b>Size</b></td>
- <td><b>Rent</b></td>
- </tr>
- <?php
- //execute code.
- foreach($house_query as $row)
- $house_info[(int)$row['id']] = '<a href="characterprofile.php?name='. $row['name'] .'">'. $row['name'] .'</a>';
- foreach ($house_load as $house_fetch){
- $house_price = (int)$house_fetch['size'] * $sqmPrice;
- ?>
- <tr>
- <td><?php echo htmlspecialchars($house_fetch['name']); ?></td>
- <td>
- <?php
- if (isset($config['towns'][(int)$house_fetch['townid']])) echo htmlspecialchars($config['towns'][(int)$house_fetch['townid']]);
- else echo '(Missing town)';
- ?>
- </td>
- <td>
- <?php
- if (isset($house_info[(int)$house_fetch['houseid']])) echo $house_info[(int)$house_fetch['houseid']];
- else echo 'None [Available]';
- ?>
- </td>
- <td><?php echo $house_fetch['size']; ?></td>
- <td><?php echo $house_price; ?></td>
- </tr>
- <?php
- }
- ?>
- </table>
- <?php
- } else echo '<p><font color="red">Something is wrong with the cache.</font></p>';
- } else if ($config['TFSVersion'] === 'TFS_10') {
- // Fetch values
- $querystring_id = &$_GET['id'];
- $townid = ($querystring_id) ? (int)$_GET['id'] : $config['houseConfig']['HouseListDefaultTown'];
- $towns = $config['towns'];
- $order = &$_GET['order'];
- $type = &$_GET['type'];
- // Create Search house box
- ?>
- <form method="post" action="house.php">
- <table border="0" cellspacing="1" cellpadding="4" width="100%">
- <tbody>
- <tr bgcolor="#800000">
- <td colspan="4" class="white">
- <b><font color="F5F5DC">House Search</b>
- </td>
- </tr>
- <tr bgcolor="F5F5DC">
- <td width="33%">
- <b><font color="black">Town</b>
- </td>
- <td width="33%">
- <b><font color="black">Status</b>
- </td>
- <td width="33%">
- <b><font color="black">Order</b>
- </td>
- </tr>
- <tr bgcolor="F5F5DC">
- <td valign="top" rowspan="2">
- <input type="radio" name="town" value="Thralkeld"><font color="black"> Thralkeld <br>
- <input type="radio" name="town" value="Kilerth"><font color="black"> Kilerth <br>
- </td>
- <td valign="top">
- <input type="radio" name="state" value checked><font color="black"> all states <br>
- <input type="radio" name="state" value="auctioned"><font color="black"> auctioned <br>
- <input type="radio" name="state" value="rented"><font color="black"> rented <br>
- </td>
- <td valign="top" rowspan="2">
- <input type="radio" name="order" value checked><font color="black"> by name <br>
- <input type="radio" name="order" value="size"><font color="black"> by size <br>
- <input type="radio" name="order" value="rent"><font color="black"> by rent <br>
- <input type="radio" name="order" value="bid"><font color="black"> by bid <br>
- <input type="radio" name="order" value="end"><font color="black"> by auction end <br>
- </td>
- </tr>
- <tr bgcolor="F5F5DC">
- <td valign="top">
- <input type="radio" name="type" value="houses" checked><font color="black"> houses and flats <br>
- <input type="radio" name="type" value="guildhalls"><font color="black"> guildhalls <br>
- </td>
- </tr>
- </tbody>
- </table>
- <br>
- <center>
- <table border="0" cellspacing="0" cellpadding="0"></table>
- <tbody>
- <tr>
- <td>
- <input type="image" name="Submit" alt="Submit" src="layout/images/buttons/submit.png">
- </td>
- </tr>
- </tbody>
- </table>
- </center>
- </form>
- <?php
- if(!in_array($order, $order_allowed))
- $order = 'id';
- if(!in_array($type, $type_allowed))
- $type = 'desc';
- // Create or fetch data from cache
- $cache = new Cache('engine/cache/houses/houses-' . $order . '-' . $type);
- $houses = array();
- if ($cache->hasExpired()) {
- $houses = mysql_select_multi("SELECT `id`, `owner`, `paid`, `warnings`, `name`, `rent`, `town_id`, `size`, `beds`, `bid`, `bid_end`, `last_bid`, `highest_bidder` FROM `houses` ORDER BY {$order} {$type};");
- if ($houses !== false) {
- // Fetch player names
- $playerlist = array();
- foreach ($houses as $h)
- if ($h['owner'] > 0)
- $playerlist[] = $h['owner'];
- if (!empty($playerlist)) {
- $ids = join(',', $playerlist);
- $tmpPlayers = mysql_select_multi("SELECT `id`, `name` FROM players WHERE `id` IN ($ids);");
- // Sort $tmpPlayers by player id
- $tmpById = array();
- foreach ($tmpPlayers as $p)
- $tmpById[$p['id']] = $p['name'];
- for ($i = 0; $i < count($houses); $i++)
- if ($houses[$i]['owner'] > 0)
- $houses[$i]['ownername'] = $tmpById[$houses[$i]['owner']];
- }
- $cache->setContent($houses);
- $cache->save();
- }
- } else
- $houses = $cache->load();
- if ($houses !== false || !empty($houses)) {
- // Intialize stuff
- //data_dump($houses, false, "House data");
- ?>
- <?php
- foreach ($houses as $house) {
- if ($house['town_id'] == $townid) {
- ?>
- <tr width="143px" height="26px" bgcolor="#F5F5DC" border="0" cellspacing="1" cellpadding="2">
- <td><?php echo "<font color='#505050'>". $house['name'] ."</a>"; ?></td>
- <td><?php echo "<font color='#505050'>". $house['size']; ?> sqm</td>
- <td><?php echo "<font color='#505050'>". $house['rent']; ?> gold</td>
- <?php
- // Status:
- if ($house['owner'] != 0)
- echo "<td><font color='#505050'>Rented</td>";
- else
- echo ($house['highest_bidder'] == 0 ? '<td><font color="#505050">auctioned (no bit yet)</td>' : '<td><font color="#505050">auctioned (<?php echo <td>'. $house['last_bid'] .'gp; '.($house['bid_end'] > time()).' day(s) left)</td></td>');
- ?>
- <?php echo '<td width="115px" height="24px" bgcolor="F5F5DC"><a href="house.php?id='. $house['id'] .'"><img align="center" src="layout/images/buttons/view.gif"></a></td>'; ?>
- </tr>
- <?php
- }
- }
- ?>
- </table>
- <?php
- } else
- echo "<h1>Failed to fetch data from sql->houses table.</h1><p>Is the table empty?</p>";
- } // End TFS 1.0 logic
- }
- include 'layout/overall/footer.php'; ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement