View Full Version : Editing Usergroup Restriction for Shops
Hwona
08-07-2014, 05:39 PM
Hi there! I was wondering what files I'd have to edit the usergroup restriction for shops... with v.1.3.2. I'm trying to copy that piece of code, but I can't find it. Thanks.
Edit: Sorry, I was unclear. I wanted to add a piece of code that would only allow users of a certain faction to enter. I was planning to edit the part of code that only allows certain usergroups into certain shops, but I simply can't find it. XP
squiggler
08-09-2014, 12:20 AM
I think that's an ACP or a PHPMyAdmin thing.
Hwona
08-09-2014, 05:09 PM
I'm trying to use that code to make a new one.. but I'll check there. ^.^
Hwona
08-13-2014, 03:10 PM
Still need! Sorry, I've been procrastinating with this project!
Hall of Famer
08-13-2014, 03:19 PM
Well the shop permission for Mys v1.3.x is not set for usergroups, but rather for each individual users if you enable user-based access. To make it for usergroups, you need to create a new field/column in table prefix.groups called 'canshop', and play around it.
Hwona
08-13-2014, 03:44 PM
Ah, I see in that case, do you know how to add this to the shop code? I've tried comparing the user's faction to the shop's faction in this file, but the page just breaks. O.o:
<?php
require("inc/init.php");
//***************//
// START SCRIPT //
//***************//
$mysidia->user->getstatus();
if(!$mysidia->user->isloggedin){
// The user is not logged in, show generic login error message
$mysidia->displayerror("guest");
}
elseif($mysidia->user->status->canshop == "no"){
// The user's permission to browse shops is banned, show error message
$mysidia->page->settitle($lang->global_guest_title);
$mysidia->page->addcontent($lang->denied);
}
elseif(!$mysidia->input->get("shopname")){
// The user has yet to enter a shop, so we may as well list the shop
$mysidia->page->settitle($lang->access);
$mysidia->page->addcontent($lang->tfype);
$shoplist = new Shoplist($mysidia->input->post("shoptype"));
$shoplist->display();
}
elseif(!$mysidia->input->get("itemname") and !$mysidia->input->get("adopttype")){
// The user has entered a shop but not yet specified the item or adoptables to purchase
$stmt = $mysidia->db->select("shops", array(), "shopname = '{$mysidia->input->get(shopname)}'");
if($row = $stmt->fetchObject()){
$shoptype = trim($row->shoptype);
$shopimage= trim($row->shopimage);
$shopcolor= trim($row->shopcolor);
$textcolor= trim($row->textcolor);
$description = ($row->description);
if(isset($shopcolor) AND $shopcolor!="none"){
$pagetext ="<div style=' background:#".$shopcolor.";";
if(isset($textcolor) AND $textcolor !="none"){
$pagetext .=" color: #".$textcolor.";'>";
}
else{
$pagetext .="'>";
}
}
if((!isset($shopcolor) OR $shopcolor=="none") AND (isset($textcolor) AND $textcolor !="none")){
$pagetext ="<div style=' color: #".$textcolor.";'>";
}
$pagetext .="<center><img src='".$shopimage."'><br />".$description."<br /><br /></center>";
if((isset($shopcolor) AND $shopcolor!="none") OR (isset($textcolor) AND $textcolor !="none")){
$pagetext .="</div>";
}
$mysidia->page->addcontent($pagetext);
$shoplist = new Shoplist($shoptype);
$shop = $shoplist->createshop($mysidia->input->get("shopname"));
$mysidia->page->settitle($lang->welcome);
$shop->display();
$mysidia->page->addcontent("<center><FORM><INPUT Type='button' VALUE='Back' onClick='history.go(-1);return true;'></FORM></center>");
}
else{
$mysidia->page->addcontent($lang->denied);
}
}
elseif($mysidia->input->get("itemname") and !$mysidia->input->get("adopttype")){
// The user has specified an item to purchase, let's process this request
$shop = new Itemshop($mysidia->input->get("shopname"));
$item = $shop->getitem($mysidia->input->get("itemname"));
$item->assign($mysidia->user->username);
$oldquantity = $item->getoldquantity();
$newquantity = $oldquantity + $mysidia->input->post("quantity");
if(!is_numeric($mysidia->input->post("quantity"))){
$mysidia->page->settitle($lang->global_action_title);
$mysidia->page->addcontent($lang->invalid_quantity);
}
elseif($newquantity > $item->cap){
$mysidia->page->settitle($lang->global_error);
$mysidia->page->addcontent($lang->full_quantity);
}
elseif($shop->purchase($item)){
// The item is purchased successfully, now let's process the request
$mysidia->page->addcontent("<center>{$lang->purchase_item}{$item->getcost($shop->salestax)} {$mysidia->settings->cost} <p><a href='http://felkyocreatures.com/inventory.php'>Click here to go to your inventory</a><p><FORM><INPUT Type='button' VALUE='Back' onClick='history.go(-1);return true;'></FORM></center>");
}
else{
$mysidia->page->settitle($lang->global_error);
$mysidia->page->addcontent($lang->money);
}
}
elseif(!$mysidia->input->get("itemname") and $mysidia->input->get("adopttype")){
// The user has specified an adoptable to purchase, let's process this request
$shop = new Adoptshop($mysidia->input->get("shopname"));
$adopt = $shop->getadopt($mysidia->input->get("adopttype"));
$adopt->assign($mysidia->user->username);
if($shop->purchase($adopt)){
// The adoptable is purchased successfully, now let'ss process the request
$mysidia->page->addcontent("<center>{$lang->purchase_adopt}{$adopt->getcost($shop->salestax)} {$mysidia->settings->cost} <p><a href='http://felkyocreatures.com/mycreatures.php'>Click here to go to your creatures</a> <p><FORM><INPUT Type='button' VALUE='Back' onClick='history.go(-1);return true;'></FORM></center>");
}
else{
$mysidia->page->settitle($lang->global_error);
$mysidia->page->addcontent($lang->money);
}
}
else{
// Invalid action specified, show generic error message
$mysidia->displayerror("action");
}
//***************//
// OUTPUT PAGE //
//***************//
$mysidia->output();
?>
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.