You can now view shop offers without being logged in.

(This is also configurable if config.php if you don't want this behavior).
This commit is contained in:
Znote 2017-02-05 02:16:18 +01:00
parent 1b93b11f2c
commit f47e12a610
2 changed files with 89 additions and 70 deletions

View File

@ -890,6 +890,7 @@
// If useDB is set to true, player can shop in-game as well using Znote LUA shop system plugin.
$config['shop'] = array(
'enabled' => false,
'loginToView' => false, // Do user need to login to see the shop offers?
'enableShopConfirmation' => true, // Verify that user wants to buy with popup
'useDB' => false, // Fetch offers from database, or the below config array
'showImage' => true,

View File

@ -1,5 +1,4 @@
<?php require_once 'engine/init.php';
protect_page();
include 'layout/overall/header.php';
if (isset($_GET['callback']) && $_GET['callback'] === 'processing') {
@ -8,9 +7,13 @@ if (isset($_GET['callback']) && $_GET['callback'] === 'processing') {
// Import from config:
$shop = $config['shop'];
if ($shop['loginToView'] === true) protect_page();
$loggedin = user_logged_in();
$shop_list = $config['shop_offers'];
if (!empty($_POST['buy']) && $_SESSION['shop_session'] == $_POST['session']) {
if ($loggedin === true) {
if (!empty($_POST['buy']) && $_SESSION['shop_session'] == $_POST['session']) {
$time = time();
$player_points = (int)$user_znote_data['points'];
$cid = (int)$user_data['id'];
@ -66,6 +69,7 @@ if (!empty($_POST['buy']) && $_SESSION['shop_session'] == $_POST['session']) {
} else echo '<font color="red" size="4">You need more points, this offer cost '.$buy['points'].' points.</font>';
//var_dump($buy);
//echo '<font color="red" size="4">'. $_POST['buy'] .'</font>';
}
}
if ($shop['enabled']) {
@ -73,19 +77,23 @@ if ($shop['enabled']) {
<h1>Shop Offers</h1>
<?php
if (!empty($_POST['buy']) && $_SESSION['shop_session'] == $_POST['session']) {
if ($loggedin === true) {
if (!empty($_POST['buy']) && $_SESSION['shop_session'] == $_POST['session']) {
if ($user_znote_data['points'] >= $buy['points']) {
?><td>You have <?php echo (int)($user_znote_data['points'] - $buy['points']); ?> points. (<a href="buypoints.php">Buy points</a>).</td><?php
} else {
?><td>You have <?php echo $user_znote_data['points']; ?> points. (<a href="buypoints.php">Buy points</a>).</td><?php
}
} else {
} else {
?><td>You have <?php echo $user_znote_data['points']; ?> points. (<a href="buypoints.php">Buy points</a>).</td><?php
}
if ($config['shop_auction']['characterAuction']) {
}
if ($config['shop_auction']['characterAuction']) {
?>
<p>Interested in buying characters? View the <a href="auctionChar.php">character auction page!</a></p>
<?php
}
} else {
?><p>You need to be logged in to use the shop.</p><?php
}
$outfitsIds = array(136,137,138,139,140,141,142,147,148,149,150,155,156,157,158,252,269,270,279,288,324,336,366,431,433,464,466,471,513,514,542,128,129,130,131,132,133,134,143,144,145,146,151,152,153,154,251,268,273,278,289,325,335,367,430,432,463,465,472,512,516,541);
@ -197,7 +205,7 @@ foreach ($shop_list as $key => $offer) {
<?php if ($config['shop']['showImage']) { ?><td>Image:</td><?php } ?>
<td>Count:</td>
<td>Points:</td>
<td>Action:</td>
<?php if ($loggedin === true): ?><td>Action:</td><?php endif; ?>
</tr>
<?php foreach ($category_items as $key => $offers): ?>
<tr class="special">
@ -207,6 +215,7 @@ foreach ($shop_list as $key => $offer) {
<?php endif; ?>
<td><?php echo $offers['count']; ?>x</td>
<td><?php echo $offers['points']; ?></td>
<?php if ($loggedin === true): ?>
<td>
<form action="" method="POST">
<input type="hidden" name="buy" value="<?php echo (int)$key; ?>">
@ -214,6 +223,7 @@ foreach ($shop_list as $key => $offer) {
<input type="submit" value=" PURCHASE " class="needconfirmation" data-item-name="<?php echo $offers['description']; ?>" data-item-cost="<?php echo $offers['points']; ?>">
</form>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</table>
@ -224,7 +234,7 @@ foreach ($shop_list as $key => $offer) {
<?php if ($config['shop']['showImage']) { ?><td>Image:</td><?php } ?>
<td>Duration:</td>
<td>Points:</td>
<td>Action:</td>
<?php if ($loggedin === true): ?><td>Action:</td><?php endif; ?>
</tr>
<?php foreach ($category_premium as $key => $offers): ?>
<tr class="special">
@ -234,6 +244,7 @@ foreach ($shop_list as $key => $offer) {
<?php endif; ?>
<td><?php echo $offers['count']; ?> Days</td>
<td><?php echo $offers['points']; ?></td>
<?php if ($loggedin === true): ?>
<td>
<form action="" method="POST">
<input type="hidden" name="buy" value="<?php echo (int)$key; ?>">
@ -241,6 +252,7 @@ foreach ($shop_list as $key => $offer) {
<input type="submit" value=" PURCHASE " class="needconfirmation" data-item-name="<?php echo $offers['description']; ?>" data-item-cost="<?php echo $offers['points']; ?>">
</form>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</table>
@ -250,7 +262,7 @@ foreach ($shop_list as $key => $offer) {
<td>Description:</td>
<?php if ($config['shop']['showImage']) { ?><td>Image:</td><?php } ?>
<td>Points:</td>
<td>Action:</td>
<?php if ($loggedin === true): ?><td>Action:</td><?php endif; ?>
</tr>
<?php foreach ($category_outfits as $key => $offers): ?>
<tr class="special">
@ -259,6 +271,7 @@ foreach ($shop_list as $key => $offer) {
<td><img src="<?php echo $config['show_outfits']['imageServer']; ?>?id=<?php echo $offers['itemid']; ?>&addons=<?php echo $offers['count']; ?>&head=<?php echo rand(1, 132); ?>&body=<?php echo rand(1, 132); ?>&legs=<?php echo rand(1, 132); ?>&feet=<?php echo rand(1, 132); ?>" alt="img"></td>
<?php endif; ?>
<td><?php echo $offers['points']; ?></td>
<?php if ($loggedin === true): ?>
<td>
<form action="" method="POST">
<input type="hidden" name="buy" value="<?php echo (int)$key; ?>">
@ -266,6 +279,7 @@ foreach ($shop_list as $key => $offer) {
<input type="submit" value=" PURCHASE " class="needconfirmation" data-item-name="<?php echo $offers['description']; ?>" data-item-cost="<?php echo $offers['points']; ?>">
</form>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</table>
@ -275,7 +289,7 @@ foreach ($shop_list as $key => $offer) {
<td>Description:</td>
<?php if ($config['show_outfits']['shop']) { ?><td>Image:</td><?php } ?>
<td>Points:</td>
<td>Action:</td>
<?php if ($loggedin === true): ?><td>Action:</td><?php endif; ?>
</tr>
<?php foreach ($category_mounts as $key => $offers): ?>
<tr class="special">
@ -284,6 +298,7 @@ foreach ($shop_list as $key => $offer) {
<td><img src="<?php echo $config['show_outfits']['imageServer']; ?>?id=<?php echo $outfitsIds[rand(0,count($outfitsIds)-1)]; ?>&addons=<?php echo rand(1, 3); ?>&head=<?php echo rand(1, 132); ?>&body=<?php echo rand(1, 132); ?>&legs=<?php echo rand(1, 132); ?>&feet=<?php echo rand(1, 132); ?>&mount=<?php echo $offers['itemid']; ?>&direction=2" alt="img"></td>
<?php endif; ?>
<td><?php echo $offers['points']; ?></td>
<?php if ($loggedin === true): ?>
<td>
<form action="" method="POST">
<input type="hidden" name="buy" value="<?php echo (int)$key; ?>">
@ -291,6 +306,7 @@ foreach ($shop_list as $key => $offer) {
<input type="submit" value=" PURCHASE " class="needconfirmation" data-item-name="<?php echo $offers['description']; ?>" data-item-cost="<?php echo $offers['points']; ?>">
</form>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</table>
@ -301,7 +317,7 @@ foreach ($shop_list as $key => $offer) {
<?php if ($config['shop']['showImage']) { ?><td>Image:</td><?php } ?>
<td>Count/duration:</td>
<td>Points:</td>
<td>Action:</td>
<?php if ($loggedin === true): ?><td>Action:</td><?php endif; ?>
</tr>
<?php foreach ($category_misc as $key => $offers): ?>
<tr class="special">
@ -315,6 +331,7 @@ foreach ($shop_list as $key => $offer) {
<td><?php echo $offers['count']; ?>x</td>
<?php endif; ?>
<td><?php echo $offers['points']; ?></td>
<?php if ($loggedin === true): ?>
<td>
<form action="" method="POST">
<input type="hidden" name="buy" value="<?php echo (int)$key; ?>">
@ -322,6 +339,7 @@ foreach ($shop_list as $key => $offer) {
<input type="submit" value=" PURCHASE " class="needconfirmation" data-item-name="<?php echo $offers['description']; ?>" data-item-cost="<?php echo $offers['points']; ?>">
</form>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</table>