Editing Usergroup Restriction for Shops

Forum
Last Post
Threads / Messages

Hwona

Member
Member
Joined
Mar 1, 2013
Messages
620
Points
0
Mysidian Dollar
31,589
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
 
Last edited:
Re

I'm trying to use that code to make a new one.. but I'll check there. ^.^
 
Still need! Sorry, I've been procrastinating with this project!
 
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.
 
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:
<?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();

?>
 

Similar threads

Users who are viewing this thread

  • Forum Contains New Posts
  • Forum Contains No New Posts

Forum statistics

Threads
4,280
Messages
33,132
Members
1,603
Latest member
Monako
BETA

Latest Threads

Top