PDA

View Full Version : Can someone help me?


Hwona
07-18-2014, 05:41 PM
Hello, I've been trying to make a code for this page that will show an adoptable in a group on that group's page, but this error shows up when I try to click on a link to the tab function:
Invalid ID Specified
This group does not exist or does not belong to the owner specified...
Here's the code:
<?php

class Myadopts3Controller extends AppController{

const PARAM = "aid";
const PARAM2 = "confirm";
const PARAM3 = "tab_id";
private $view;
private $subController;
private $adopt;
private $group;
private $image;

public function __construct(){
parent::__construct("member");
$mysidia = Registry::get("mysidia");
if($this->action != "index"){
$this->adopt = new OwnedAdoptable($mysidia->input->get("aid"));
$this->group = new Group($mysidia->input->get("tab_id"));
if($this->group->getGroupOwner() != $mysidia->user->username) throw new NoPermissionException("You do not have permission to manage adoptables of other users.");
if($this->adopt->getOwner() != $mysidia->user->username) throw new NoPermissionException("You do not have permission to manage adoptables of other users.");
$this->image = $this->adopt->getImage("gui");
}
}

public function index(){
$mysidia = Registry::get("mysidia");
$document = $mysidia->frame->getDocument();
$document->setTitle("Manage Your Adoptables");

$totalAdopts = $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}' and tab = '0'")->rowCount();
$pagination = new Pagination($totalAdopts, 10, "myadopts");
$pagination->setPage($mysidia->input->get("page"));
$stmt = $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}' and tab ='0' ORDER BY totalclicks LIMIT {$pagination->getLimit()},{$pagination->getRowsperPage()}");
if($stmt->rowCount() == 0){
$document->addLangvar("You don't have any pets.");
return;
}
$document->add(new comment("<br/><center>~<a href='myadopts'>My creatures</a> "));
$users_tab=$mysidia->db->select("tabs", array(), "owner = '{$mysidia->user->username}'");

while($tabs=$users_tab->fetchObject()){

$document->add(new Link("myadopts3/tab/{$tabs->tab_id}", "{$tabs->name}", TRUE));

}

$document->add(new comment(" |<a href='group'>Organize groups</a>~</center>"));

$adoptTable = new TableBuilder("adopttable", 650);
$adoptTable->setAlign(new Align("center", "middle"));
$adoptTable->buildHeaders("Gender", "Name/Type", "Image", "Clicks", "Level");

while($aid = $stmt->fetchColumn()){
$adopt = new OwnedAdoptable($aid);
$gender = new TCell($adopt->getGender("gui"));
$nametype = new TCell("<em>{$adopt->getName()}</em> the {$adopt->getType()}");
$image = new TCell(new Link("myadopts/manage/{$aid}", $adopt->getImage("gui")));
$clicks = new TCell($adopt->getTotalClicks());
$level = new TCell($adopt->getCurrentLevel());
$adoptTable->buildRow(array($gender, $nametype, $image, $clicks, $level));
}
$document->add($adoptTable);
$document->addLangvar($pagination->showPage());
}
public function tab(){
$mysidia = Registry::get("mysidia");
$document = $mysidia->frame->getDocument();
$document->setTitle("Manage Your Adoptables");
$totalAdopts = $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}' and tab = '{$this->group->getGroupID()}'")->rowCount();
$pagination = new Pagination($totalAdopts, 10, "myadopts");
$pagination->setPage($mysidia->input->get("page"));
$stmt = $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}' and tab ='{$this->group->getGroupID()}' ORDER BY totalclicks LIMIT {$pagination->getLimit()},{$pagination->getRowsperPage()}");
if($stmt->rowCount() == 0){
$document->addLangvar("You don't have any pets in this group.");
return;
}
$document->add(new comment("<br/><center>~<a href='myadopts'>My creatures</a> "));
$users_tab=$mysidia->db->select("tabs", array(), "owner = '{$mysidia->user->username}'");

while($tabs=$users_tab->fetchObject()){

$document->add(new Link("myadopts3/tab/{$tabs->tab_id}", "{$tabs->name}", TRUE));

}

$document->add(new comment(" |<a href='group'>Organize groups</a>~</center>"));

$adoptTable = new TableBuilder("adopttable", 650);
$adoptTable->setAlign(new Align("center", "middle"));
$adoptTable->buildHeaders("Gender", "Name/Type", "Image", "Clicks", "Level");

while($aid = $stmt->fetchColumn()){
$adopt = new OwnedAdoptable($aid);
$gender = new TCell($adopt->getGender("gui"));
$nametype = new TCell("<em>{$adopt->getName()}</em> the {$adopt->getType()}");
$image = new TCell(new Link("myadopts/manage/{$aid}", $adopt->getImage("gui")));
$clicks = new TCell($adopt->getTotalClicks());
$level = new TCell($adopt->getCurrentLevel());
$adoptTable->buildRow(array($gender, $nametype, $image, $clicks, $level));
}
$document->add($adoptTable);
$document->addLangvar($pagination->showPage());
}

public function manage(){
$mysidia = Registry::get("mysidia");
$document = $mysidia->frame->getDocument();
$document->setTitle("Managing {$this->adopt->getName()}");
$document->add($this->image);
$document->add(new Comment("<br /><br />This page allows you to manage {$this->adopt->getName()}. Click on an option below to change settings.<br />"));

$document->add(new Image("templates/icons/add.gif"));
$document->add(new Link("levelup/click/{$this->adopt->getAdoptID()}", " Level Up {$this->adopt->getName()}", TRUE));
$document->add(new Image("templates/icons/stats.gif"));
$document->add(new Link("myadopts/stats/{$this->adopt->getAdoptID()}", " Get Stats for {$this->adopt->getName()}", TRUE));
$document->add(new Image("templates/icons/bbcodes.gif"));
$document->add(new Link("myadopts/bbcode/{$this->adopt->getAdoptID()}", " Get BBCodes / HTML Codes for {$this->adopt->getName()}", TRUE));
$document->add(new Image("templates/icons/title.gif"));
$document->add(new Link("myadopts/rename/{$this->adopt->getAdoptID()}", " Rename {$this->adopt->getName()}", TRUE));
$document->add(new Image("templates/icons/title.gif"));
$document->add(new Link("myadopts/bio/{$this->adopt->getAdoptID()}", " Write a Biography for {$this->adopt->getName()}", TRUE));
$document->add(new Image("templates/icons/trade.gif"));
$document->add(new Link("myadopts/trade/{$this->adopt->getAdoptID()}", " Change Trade Status for {$this->adopt->getName()}", TRUE));
$document->add(new Image("templates/icons/freeze.gif"));
$document->add(new Link("myadopts/freeze/{$this->adopt->getAdoptID()}", " Freeze or Unfreeze {$this->adopt->getName()}", TRUE));
$document->add(new Image("templates/icons/delete.gif"));
$document->add(new Link("pound/pound/{$this->adopt->getAdoptID()}", " Pound {$this->adopt->getName()}", TRUE));
}

public function stats(){
$mysidia = Registry::get("mysidia");
$document = $mysidia->frame->getDocument();
$document->setTitle($this->adopt->getName().$mysidia->lang->stats);
$gender = $this->adopt->getGender($fetchMode = "");
$owner = $this->adopt->getOwner();
$adoptablename = $this->adopt->getName();
$totalclicks = $this->adopt->getTotalClicks();
$tradestatus = $this->adopt->getTradeStatus();
$currentlevel = $this->adopt->getCurrentLevel();
$nextlevel = $this->adopt->hasNextLevel();
$type = $this->adopt->getType();
$image = $this->adopt->getImage($fetchMode = "");
$offspring = $this->adopt->getOffsprings();
$dt = new DateTime( "@" . $this->adopt->getLastBred() );
$lastbred = $dt->format('Y-m-d');
$levelupclicks = $this->adopt->getLevelupClicks();
$isfrozen = $this->adopt->isFrozen();
$obedience = $this->adopt->getAdoptObedience();
$intellect = $this->adopt->getAdoptIntellect();
$speed = $this->adopt->getAdoptSpeed();
$strength = $this->adopt->getAdoptStrength();
$obediencemedalstatus = $this->adopt->getAdoptObedienceMedalStatus();
$obediencemedal2status = $this->adopt->getAdoptObedienceMedal2Status();
$obediencemedal3status = $this->adopt->getAdoptObedienceMedal3Status();
$intellectmedalstatus = $this->adopt->getAdoptIntellectMedalStatus();
$intellectmedal2status = $this->adopt->getAdoptIntellectMedal2Status();
$intellectmedal3status = $this->adopt->getAdoptIntellectMedal3Status();
$speedmedalstatus = $this->adopt->getAdoptSpeedMedalStatus();
$speedmedal2status = $this->adopt->getAdoptSpeedMedal2Status();
$speedmedal3status = $this->adopt->getAdoptSpeedMedal3Status();
$strengthmedalstatus = $this->adopt->getAdoptStrengthMedalStatus();
$strengthmedal2status = $this->adopt->getAdoptStrengthMedal2Status();
$strengthmedal3status = $this->adopt->getAdoptStrengthMedal3Status();
$trainingbadgestatus = $this->adopt->getAdoptTrainingBadgeStatus();
$adoptablepersonality = $this->adopt->getAdoptPersonality();
$background = $this->adopt->getAdoptBackground();
$bio = $this->adopt->getBio();
$message = "<div id='adoptablepageadoptable'><div id='adoptablepageimage' style='width:130px;height:130px;text-align:center;background-image:url({$mysidia->path->getAbsolute()}picuploads/backgrounds/{$background}.png);'><br><img src='{$mysidia->path->getAbsolute()}levelup/siggy/{$this->adopt->getAdoptID()}'></div><div id='adoptablepagebio' style='height:118px;width:200px;overflow:auto;padd ing:5px;'>
{$bio}
</div><br>
Name: {$adoptablename}<br>
Owner: <a href='{$mysidia->path->getAbsolute()}profile/view/{$owner}'>{$owner}</a><br>
Species: {$type}<br>
Gender: <img src='{$mysidia->path->getAbsolute()}picuploads/{$gender}.png'><br>
Personality: {$adoptablepersonality}<br>
Total Clicks: {$totalclicks}<br>
Trade Status: {$tradestatus}<br></div><div id='adoptablepagegrowth'><h4>Growth</h4>
Current Level: {$currentlevel}<br>
Next Level: {$nextlevel}<br>
Clicks to Next Level: {$levelupclicks}<br>
Is Frozen?: {$isfrozen}<br></div><div id='adoptablepagebreeding'><h4>Breeding</h4>
Number of Offspring: {$offspring}<br>
Last Bred: {$lastbred}</div><br>
<div id ='adoptableskills'>
<h4>Skills</h4>
Obedience: {$obedience}<br>
Intellect: {$intellect}<br>
Speed: {$speed}<br>
Strength: {$strength}<br>
</div><br>
<div id='adoptableawards' style='overflow:auto;'><h4>Training Rosettes</h4>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/obediencemedalstatus{$obediencemedalstatus}.png'>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/intellectmedalstatus{$intellectmedalstatus}.png'>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/speedmedalstatus{$speedmedalstatus}.png'>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/strengthmedalstatus{$strengthmedalstatus}.png'>
<br>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/obediencemedal2status{$obediencemedal2status}.png'>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/intellectmedal2status{$intellectmedal2status}.png'>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/speedmedal2status{$speedmedal2status}.png'>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/strengthmedal2status{$strengthmedal2status}.png'>
<br>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/obediencemedal3status{$obediencemedal3status}.png'>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/intellectmedal3status{$intellectmedal3status}.png'>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/speedmedal3status{$speedmedal3status}.png'>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/strengthmedal3status{$strengthmedal3status}.png'><br>
<h4>Badges</h4>
<img src='{$mysidia->path->getAbsolute()}picuploads/awards/trainingbadgestatus{$trainingbadgestatus}.png'>
</div><br>";
$document->addLangvar($message);
$document->add($this->image);
$document->addLangvar("<h2>{$this->adopt->getName()}'s Voters:</h2><br>{$mysidia->lang->voters}<br><br>");
$stmt = $mysidia->db->select("vote_voters", array(), "adoptableid='{$this->adopt->getAdoptID()}' ORDER BY date DESC LIMIT 10");
$fields = array("username", "date", "username::profile", "username::message");

$voterTable = new TableBuilder("voters", 500);
$voterTable->setAlign(new Align("center"));
$voterTable->buildHeaders("User", "Date Voted", "Profile", "PM");
$voterTable->setHelper(new UserTableHelper);
$voterTable->setMethod($fields[0], "getUsername");
$voterTable->setMethod($fields[2], "getProfileImage");
$voterTable->setMethod($fields[3], "getPMImage");
$voterTable->buildTable($stmt, $fields);
$document->add($voterTable);
}

public function bbcode(){
$mysidia = Registry::get("mysidia");
$document = $mysidia->frame->getDocument();
$document->setTitle($mysidia->lang->bbcode.$this->adopt->getName());
$document->addLangvar($mysidia->lang->bbcode_info);
$document->add(new Comment("<br>"));

$forumComment = new Comment("Forum BBCode: ");
$forumComment->setUnderlined();
$forumcode = "{$mysidia->path->getAbsolute()}levelup/siggy/{$this->adopt->getAdoptID()} ({$mysidia->path->getAbsolute()}levelup/click/{$this->adopt->getAdoptID()})";
$forumArea = new TextArea("forumcode", $forumcode, 4, 50);
$forumArea->setReadOnly(TRUE);

$altComment = new Comment("Alternative BBCode: ");
$altComment->setUnderlined();
$altcode = "{$mysidia->path->getAbsolute()}get/{$this->adopt->getAdoptID()}.gif\" ({$mysidia->path->getAbsolute()}levelup/click/{$this->adopt->getAdoptID()})";
$altArea = new TextArea("altcode", $altcode, 4, 50);
$altArea->setReadOnly(TRUE);

$htmlComment = new Comment("HTML BBCode: ");
$htmlComment->setUnderlined();
$htmlcode = "<a href='{$mysidia->path->getAbsolute()}levelup/click/{$this->adopt->getAdoptID()}' target='_blank'>
<img src='{$mysidia->path->getAbsolute()}levelup/siggy/{$this->adopt->getAdoptID()}' border=0></a>";
$htmlArea = new TextArea("htmlcode", $htmlcode, 4, 50);
$htmlArea->setReadOnly(TRUE);

$document->add($forumComment);
$document->add($forumArea);
$document->add($altComment);
$document->add(($mysidia->settings->usealtbbcode == "yes")?$altArea:new Comment("The Admin has disabled Alt BBCode for this site."));
$document->add($htmlComment);
$document->add($htmlArea);
}

public function rename(){
$mysidia = Registry::get("mysidia");
$document = $mysidia->frame->getDocument();

if($mysidia->input->post("submit")){
$poundsettings = getpoundsettings();
$poundpet = $mysidia->db->select("pounds", array(), "aid='{$this->adopt->getAdoptID()}'")->fetchObject();
if($poundsettings->rename->active == "yes" and is_object($poundpet)){
if(!empty($poundpet->firstowner) and $mysidia->user->username != $poundpet->firstowner){
$document->setTitle($mysidia->lang->rename_error);
$document->addLangvar($mysidia->lang->rename_owner);
return;
}
}

$this->adopt->setName($mysidia->input->post("adoptname"), "update");
$document->setTitle($mysidia->lang->rename_success_title);
$document->add($this->image);
$message = "<br>{$mysidia->lang->rename_success}{$mysidia->input->post("adoptname")}.
You can now manage {$mysidia->input->post("adoptname")} on the";
$document->addLangvar($message);
$document->add(new Link("myadopts/manage/{$this->adopt->getAdoptID()}", "My Adopts Page"));
return;
}

$document->setTitle($mysidia->lang->rename.$this->adopt->getName());
$document->add($this->image);
$document->addLangvar("<br />{$mysidia->lang->rename_default}{$this->adopt->getName()}{$mysidia->lang->rename_details}<br />");

$renameForm = new FormBuilder("renameform", "", "post");
$renameForm->buildTextField("adoptname")
->buildButton("Rename Adopt", "submit", "submit");
$document->add($renameForm);
}

public function bio(){
$mysidia = Registry::get("mysidia");
$document = $mysidia->frame->getDocument();

if($mysidia->input->post("submit")){
$poundsettings = getpoundsettings();
$poundpet = $mysidia->db->select("pounds", array(), "aid='{$this->adopt->getAdoptID()}'")->fetchObject();
if($poundsettings->bio->active == "yes" and is_object($poundpet)){
if(!empty($poundpet->firstowner) and $mysidia->user->username != $poundpet->firstowner){
$document->setTitle($mysidia->lang->bio_error);
$document->addLangvar($mysidia->lang->bio_owner);
return;
}
}

$this->adopt->setBio($mysidia->input->post("adoptbio"), "update");
$document->setTitle($mysidia->lang->bio_success_title);
$document->add($this->image);
$message = "<br>{$mysidia->lang->bio_success}{$mysidia->input->post("adoptname")}.
You can now manage {$mysidia->input->post("adoptname")} on the";
$document->addLangvar($message);
$document->add(new Link("myadopts/manage/{$this->adopt->getAdoptID()}", "My Adopts Page"));
return;
}

$document->setTitle($mysidia->lang->bio.$this->adopt->getName());
$document->add($this->image);
$document->addLangvar("<br />{$mysidia->lang->bio_default}{$this->adopt->getName()}{$mysidia->lang->bio_details}<br />");

$bioForm = new FormBuilder("bioform", "", "post");
$oldbio = $this->adopt->getBio();
$bioview = "{$oldbio}";
$bioForm->buildTextArea("adoptbio", $bioview)
->buildButton("Write Adopt Bio", "submit", "submit");
$document->add($bioForm);
}

public function trade(){
$mysidia = Registry::get("mysidia");
$document = $mysidia->frame->getDocument();
$document->setTitle($mysidia->lang->trade);

if($mysidia->input->get("confirm")){
switch($this->adopt->getTradeStatus()){
case "fortrade":
$this->adopt->setTradeStatus("notfortrade", "update");
$langvar = $mysidia->lang->trade_disallow;
break;
case "notfortrade":
$this->adopt->setTradeStatus("fortrade", "update");
$langvar = $mysidia->lang->trade_allow;
break;
default:
$langvar = $mysidia->lang->global_action;
}
}
else{
$langvar = "Are you sure you wish to change the trade status of this adoptable?
<center><b><a href='{$this->adopt->getAdoptID()}/confirm'>Yes I'd like to change its trade status</a></b><br /><br />
<b><a href='../../myadopts'>Nope I change my mind! Go back to the previous page.</a></b></center><br />";
}
$document->add($this->image);
$document->addLangvar($langvar);
}

public function freeze(){
$mysidia = Registry::get("mysidia");
$document = $mysidia->frame->getDocument();
$document->setTitle($mysidia->lang->freeze);

if($mysidia->input->get("confirm")){
switch($this->adopt->isFrozen()){
case "no":
$frozen = "yes";
$langvar = $this->adopt->getName().$mysidia->lang->freeze_success;
break;
case "yes":
$frozen = "no";
$langvar = $this->adopt->getName().$mysidia->lang->freeze_reverse;
break;
default:
throw new InvalidActionException($mysidia->lang->global_action);
}
$this->adopt->setFrozen($frozen, "update");
$langvar .= "<br>You may now manage {$this->adopt->getName()} on the ";
$document->addLangvar($langvar);
$document->add(new Link("myadopts/manage/{$this->adopt->getAdoptID()}", "My Adopts Page"));
}
else{
$document->add($this->image);
$document->add(new Comment("<br /><b>{$this->adopt->getName()}'s Current Status: "));
if($this->adopt->isfrozen() == "yes"){
$document->add(new Image("templates/icons/freeze.gif", "Frozen"));
$document->add(new Comment("Frozen<br<br>"));
$document->add(new Comment($mysidia->lang->freeze));
$document->add(new Image("templates/icons/unfreeze.gif", "Unfreeze"));
$document->add(new Link("myadopts/freeze/{$this->adopt->getAdoptID()}/confirm", "Unfreeze this Adoptable", TRUE));
}
else{
$document->add(new Image("templates/icons/unfreeze.gif", "Not Frozen"));
$document->add(new Comment("Not Frozen<br><br>"));
$document->add(new Comment($mysidia->lang->freeze));
$document->add(new Image("templates/icons/freeze.gif", "Greeze"));
$document->add(new Link("myadopts/freeze/{$this->adopt->getAdoptID()}/confirm", "Freeze this Adoptable", TRUE));
}
$document->add(new Comment("<br><br>"));
$document->add(new Image("templates/icons/warning.gif"));
$document->addLangvar($mysidia->lang->freeze_warning);
}
}
}
?>
If someone can help, thanks a bunch! :D

squiggler
07-18-2014, 06:32 PM
Okay, going out on a limb here, is the code confusing the group for the user who owns it?

Hwona
07-18-2014, 07:04 PM
Umm, it should be correct since I simply duplicated the working index function... thanks though. :3

squiggler
07-18-2014, 11:07 PM
Well, I just checked it in the php code checker and it didn't catch anything...hmm...
http://phpcodechecker.com/

IntoRain
07-18-2014, 11:50 PM
$this->group = new Group($mysidia->input->get("tab_id"));

are you sure $mysidia->input->get("tab_id") exists? do an echo of that (should appear in top left corner of your browser) to see if it exists like:

echo "here: ";
echo $mysidia->input->get("tab_id");

Hwona
07-19-2014, 09:21 AM
Oh, thank you! Apparently it doesn't exist! Funny, I have a similar page that works... Do you know how to fix this?
Edit: Okay... now, clicking on an adoptable from the same page gives the same error. O.o