Aaack, I meant to mention this on the original thread but now I can't even find the if statement I wrote up. This can definitely be easily fixed.
Here's the file with changes:
PHP Code:
<?php
use Resource\Native\Integer;
use Resource\Native\String;
use Resource\Native\Arrays;
use Resource\Native\Null;
class NAMEController extends AppController{
public function __construct(){
parent::__construct("member");
$mysidia = Registry::get("mysidia");
if($mysidia->usergroup->getpermission("canadopt") != "yes"){
throw new NoPermissionException("permission");
}
}
public function index(){
$mysidia = Registry::get("mysidia");
if($mysidia->input->post("submit")){
$this->access = "member";
$this->handleAccess();
$id = $mysidia->input->post("id");
if($mysidia->session->fetch("adopt") != 1 or !$id) throw new InvalidIDException("global_id");
$adopt = new Adoptable($id);
$conditions = $adopt->getConditions();
if(!$conditions->checkConditions()) throw new NoPermissionException("condition");
$name = (!$mysidia->input->post("name"))?"Unnamed":$mysidia->input->post("name");
$alts = $adopt->getAltStatus();
$code = $adopt->getCode();
$gender = $adopt->getGender();
$cost = $mysidia->db->select("adoptables", array("cost"), "type='{$adopt->getType()}'")->fetchColumn();
$moneyleft = $mysidia->user->money - $cost;
if($moneyleft >= 0){
$mysidia->user->changecash(-$cost);
$mysidia->db->insert("owned_adoptables", array("aid" => NULL, "type" => $adopt->getType(), "name" => $name, "owner" => $mysidia->user->username, "currentlevel" => 0, "totalclicks" => 0, "code" => $code,
"imageurl" => NULL, "usealternates" => $alts, "tradestatus" => 'notfortrade', "isfrozen" => 'no', "gender" => $gender, "offsprings" => 0 ));
$aid = $mysidia->db->select("owned_adoptables", array("aid"), "code='{$code}' and owner='{$mysidia->user->username}'")->fetchColumn();
$this->setField("aid", new Integer($aid));
$this->setField("name", new String($name));
$this->setField("eggImage", new String($adopt->getEggImage()));
return TRUE;
}
else throw new InvalidActionException("Sorry, you cannot afford this transaction.");
}
$mysidia->session->assign("adopt", 1, TRUE);
$ids = $mysidia->db->select("adoptables", array("id"), "shop='NAME'")->fetchAll(PDO::FETCH_COLUMN);
$total = ($ids)?count($ids):0;
if($total == 0) $adopts = new Null;
else{
$adopts = new Arrays($total);
$available = 0;
foreach($ids as $id){
$adopt = new Adoptable($id);
$conditions = $adopt->getConditions();
if($conditions->checkConditions()) $adopts[$available++] = $adopt;
}
if($available == 0) $adopts = new Null;
else $adopts->setSize($available);
}
if($adopts instanceof Null) throw new InvalidActionException("adopt_none");
$this->setField("adopts", $adopts);
}
}
?>
(*Remember to change the two instances of NAME.)
What I modified specifically:
PHP Code:
$cost = $mysidia->db->select("adoptables", array("cost"), "type='{$adopt->getType()}'")->fetchColumn();
$moneyleft = $mysidia->user->money - $cost;
if($moneyleft >= 0){
$mysidia->user->changecash(-$cost);
$mysidia->db->insert("owned_adoptables", array("aid" => NULL, "type" => $adopt->getType(), "name" => $name, "owner" => $mysidia->user->username, "currentlevel" => 0, "totalclicks" => 0, "code" => $code,
"imageurl" => NULL, "usealternates" => $alts, "tradestatus" => 'notfortrade', "isfrozen" => 'no', "gender" => $gender, "offsprings" => 0 ));
$aid = $mysidia->db->select("owned_adoptables", array("aid"), "code='{$code}' and owner='{$mysidia->user->username}'")->fetchColumn();
$this->setField("aid", new Integer($aid));
$this->setField("name", new String($name));
$this->setField("eggImage", new String($adopt->getEggImage()));
return TRUE;
}
else throw new InvalidActionException("Sorry, you cannot afford this transaction.");