PDA

View Full Version : Help !! Shops not appearing é.è


kitty08
12-30-2014, 01:06 PM
Invalid ID Specified

Currently there is no active shop available, please come back later.
Hello,
This is showing...
Altough I did 3 shops... It was the same from the beggining even when I did not touch the code so I don't understand... Is this because of shops categories? I typed pets in it. Thank you a lot :D

IntoRain
12-30-2014, 01:26 PM
Can you post your shop.php and shopview.php files? (just the index() function for both)

kitty08
12-31-2014, 09:49 AM
SHOPVIEW
<?php

use Resource\Collection\LinkedList;

class ShopView extends View{

public function index(){
$document = $this->document;
$document->setTitle($this->lang->access);

$typeForm = new Form("shoptypes", "shop", "post");
$typeSelection = new DropdownList("shoptype");
$typeSelection->add(new Option("Itemshop", "itemshop"));
$typeSelection->add(new Option("Adoptshop", "adoptshop"));
$typeForm->add($typeSelection);
$typeForm->add(new Button("Go", "submit", "submit"));
$document->add($typeForm);

$shopList = $this->getField("shopList");
$document->addLangvar($this->lang->select);
$shopTable = new TableBuilder("shoplist");
$shopTable->setAlign(new Align("center", "middle"));
$shopTable->buildHeaders("Image", "Category", "Type", "Name", "Description", "Sales Tax", "Enter");
$shopTable->setHelper(new ShopTableHelper);

$iterator = $shopList->iterator();
while($iterator->hasNext()){
$shopList = $this->getField("shopList");
$document->addLangvar($this->lang->select);
$shopTable = new TableBuilder("shoplist");
$shopTable->setAlign(new Align("center", "middle"));
$shopTable->buildHeaders("Enter", "Sells", "Description", "Location");
$shopTable->setHelper(new ShopTableHelper);

$iterator = $shopList->iterator();
while($iterator->hasNext()){
$entry = $iterator->next();
$shop = $shopList->createshop($entry->getKey());
$cells = new LinkedList;
$cells->add(new TCell($shopTable->getHelper()->getShopStatus($shop)));

if($shop->status == "open") {
if ($shop->shoptype == "itemshop"){ $cells->add(new TCell("Items")); }
if ($shop->shoptype == "adoptshop"){ $cells->add(new TCell("Pets")); }
$cells->add(new TCell($shop->description));
$cells->add(new TCell($shop->category));
# $cells->add(new TCell($shopTable->getHelper()->getSalestax($shop->salestax)));
}
if($shop->status == "closed") {
$cells->add(new TCell(""));
$cells->add(new TCell("Not Open."));
$cells->add(new TCell(""));
}
$shopTable->buildRow($cells);
}
$entry = $iterator->next();
$shop = $shopList->createshop($entry->getKey());
$cells = new LinkedList;

$cells->add(new TCell($shopList->getshopimage($shop->imageurl)));
$cells->add(new TCell($shop->category));
$cells->add(new TCell($shop->shoptype));
$cells->add(new TCell($shop->shopname));
$cells->add(new TCell($shop->description));
$cells->add(new TCell($shopTable->getHelper()->getSalestax($shop->salestax)));
$cells->add(new TCell($shopTable->getHelper()->getShopStatus($shop)));
$shopTable->buildRow($cells);
}
$document->add($shopTable);
}

public function browse(){
$document = $this->document;
$document->setTitle($this->lang->welcome);
$shop = $this->getField("shop");
$shop->display();
}

public function purchase(){
$mysidia = Registry::get("mysidia");
$cost = $this->getField("cost");
$document = $this->document;

if($mysidia->input->post("shoptype") == "itemshop"){
$document->setTitle($this->lang->global_transaction_complete);
$document->addLangvar("{$this->lang->purchase_item}{$cost->getValue()} {$mysidia->settings->cost}");
}
elseif($mysidia->input->post("shoptype") == "adoptshop"){
$document->setTitle($this->lang->global_transaction_complete);
$document->addLangvar("{$this->lang->purchase_adopt}{$cost->getValue()} {$mysidia->settings->cost}");
}
else return;
}
}
?>

SHOP

<?php

use Resource\Native\Integer;

class ShopController extends AppController{

const PARAM = "shop";

public function __construct(){
parent::__construct("member");
$mysidia = Registry::get("mysidia");
$mysidia->user->getstatus();
if($mysidia->user->status->canshop == "no"){
throw new NoPermissionException($mysidia->lang->denied);
}
if($mysidia->input->action() != "index" and !$mysidia->input->get("shop")){
throw new InvalidIDException($mysidia->lang->global_id);
}
}

public function index(){
$mysidia = Registry::get("mysidia");
$shopList = new Shoplist($mysidia->input->post("shoptype"));
if($shopList->gettotal() == 0) throw new InvalidIDException("none");
$this->setField("shopList", $shopList);
}

public function browse(){
$mysidia = Registry::get("mysidia");
$shoptype = $mysidia->db->select("shops", array("shoptype"), "shopname = '{$mysidia->input->get("shop")}'")->fetchColumn();
$shoplist = new Shoplist($shoptype);
$shop = $shoplist->createshop($mysidia->input->get("shop"));
$this->setField("shop", $shop);
}

public function purchase(){
$mysidia = Registry::get("mysidia");
if(!$mysidia->input->post("buy")) throw new InvalidIDException($mysidia->lang->global_id);

if($mysidia->input->post("shoptype") == "itemshop") $this->purchaseItem();
elseif($mysidia->input->post("shoptype") == "adoptshop") $this->purchaseAdopt();
else throw new InvalidActionException($mysidia->lang->global_action);
}

private function purchaseItem(){
$mysidia = Registry::get("mysidia");
$shop = new Itemshop($mysidia->input->get("shop"));
$item = $shop->getitem($mysidia->input->post("itemname"));
$item->assign($mysidia->user->username);
$oldquantity = $item->getoldquantity();
$newquantity = $oldquantity + $mysidia->input->post("quantity");

if(!is_numeric($mysidia->input->post("quantity"))){
throw new InvalidActionException($mysidia->lang->invalid_quantity);
}
elseif($newquantity > $item->cap){
throw new InvalidActionException($mysidia->lang->full_quantity);
}
else{
$shop->purchase($item);
$this->setField("cost", new Integer($item->getcost($shop->salestax)));
}
}

private function purchaseAdopt(){
$mysidia = Registry::get("mysidia");
$shop = new Adoptshop($mysidia->input->get("shop"));
$adopt = $shop->getadopt($mysidia->input->post("adopttype"));
$adopt->assign($mysidia->user->username);
$shop->purchase($adopt);
$this->setField("cost", new Integer($adopt->getcost($shop->salestax)));
}
}
?>

IntoRain
12-31-2014, 11:15 AM
Your index() function in shopview is broken, repeated code and two while's with no matching ending curly brackets, maybe it doesn't work because of that?
The original seems to work well:

shopview


public function index(){
$document = $this->document;
$document->setTitle($this->lang->access);

$typeForm = new Form("shoptypes", "shop", "post");
$typeSelection = new DropdownList("shoptype");
$typeSelection->add(new Option("Itemshop", "itemshop"));
$typeSelection->add(new Option("Adoptshop", "adoptshop"));
$typeForm->add($typeSelection);
$typeForm->add(new Button("Go", "submit", "submit"));
$document->add($typeForm);

$shopList = $this->getField("shopList");
$document->addLangvar($this->lang->select);
$shopTable = new TableBuilder("shoplist");
$shopTable->setAlign(new Align("center", "middle"));
$shopTable->buildHeaders("Image", "Category", "Type", "Name", "Description", "Sales Tax", "Enter");
$shopTable->setHelper(new ShopTableHelper);

$iterator = $shopList->iterator();
while($iterator->hasNext()){
$entry = $iterator->next();
$shop = $shopList->createshop($entry->getKey());
$cells = new LinkedList;

$cells->add(new TCell($shopList->getshopimage($shop->imageurl)));
$cells->add(new TCell($shop->category));
$cells->add(new TCell($shop->shoptype));
$cells->add(new TCell($shop->shopname));
$cells->add(new TCell($shop->description));
$cells->add(new TCell($shopTable->getHelper()->getSalestax($shop->salestax)));
$cells->add(new TCell($shopTable->getHelper()->getShopStatus($shop)));
$shopTable->buildRow($cells);
}
$document->add($shopTable);
}


If the original still throws errors:

shop


public function index(){
$mysidia = Registry::get("mysidia");
$hasShop = ($mysidia->input->post("shoptype") != "")? 1 : 0;

$this->setField("hasShop", new Integer($hasShop));

if($mysidia->input->post("shoptype") != ""){
$shopList = new Shoplist($mysidia->input->post("shoptype"));
if($shopList->gettotal() == 0) throw new InvalidIDException("none");
$this->setField("shopList", $shopList);
}


shopview


public function index(){
$document = $this->document;
$document->setTitle($this->lang->access);

$typeForm = new Form("shoptypes", "shop", "post");
$typeSelection = new DropdownList("shoptype");
$typeSelection->add(new Option("Itemshop", "itemshop"));
$typeSelection->add(new Option("Adoptshop", "adoptshop"));
$typeForm->add($typeSelection);
$typeForm->add(new Button("Go", "submit", "submit"));
$document->add($typeForm);
$hasShop = $this->getField("hasShop")->getValue();

if($hasShop){
$shopList = $this->getField("shopList");
$document->addLangvar($this->lang->select);
$shopTable = new TableBuilder("shoplist");
$shopTable->setAlign(new Align("center", "middle"));
$shopTable->buildHeaders("Image", "Category", "Type", "Name", "Description", "Sales Tax", "Enter");
$shopTable->setHelper(new ShopTableHelper);

$iterator = $shopList->iterator();
while($iterator->hasNext()){
$entry = $iterator->next();
$shop = $shopList->createshop($entry->getKey());
$cells = new LinkedList;

$cells->add(new TCell($shopList->getshopimage($shop->imageurl)));
$cells->add(new TCell($shop->category));
$cells->add(new TCell($shop->shoptype));
$cells->add(new TCell($shop->shopname));
$cells->add(new TCell($shop->description));
$cells->add(new TCell($shopTable->getHelper()->getSalestax($shop->salestax)));
$cells->add(new TCell($shopTable->getHelper()->getShopStatus($shop)));
$shopTable->buildRow($cells);
}
$document->add($shopTable);
}
}