Can someone help me?

Forum
Last Post
Threads / Messages

Hwona

Member
Member
Joined
Mar 1, 2013
Messages
620
Points
0
Mysidian Dollar
31,589
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:
<?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;padding: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 = "[url={$mysidia->path->getAbsolute()}levelup/click/{$this->adopt->getAdoptID()}][img]{$mysidia->path->getAbsolute()}levelup/siggy/{$this->adopt->getAdoptID()}[/img][/url]";		
	    $forumArea = new TextArea("forumcode", $forumcode, 4, 50);
		$forumArea->setReadOnly(TRUE);
		
		$altComment = new Comment("Alternative BBCode: ");		
		$altComment->setUnderlined();
        $altcode = "[url={$mysidia->path->getAbsolute()}levelup/click/{$this->adopt->getAdoptID()}][img]{$mysidia->path->getAbsolute()}get/{$this->adopt->getAdoptID()}.gif\"[/img][/url]";
	    $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
 
Okay, going out on a limb here, is the code confusing the group for the user who owns it?
 
Umm, it should be correct since I simply duplicated the working index function... thanks though. :3
 
$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");
 
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
 
Last edited:

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