Mysidia Adoptables Support Forum  

Home Community Mys-Script Creative Off-Topic
Go Back   Mysidia Adoptables Support Forum > Mysidia Adoptables > Questions and Supports

Notices

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 06-05-2014, 11:51 AM
Hwona's Avatar
Hwona Hwona is offline
Member
 
Join Date: Mar 2013
Posts: 620
Gender: Female
Credits: 49,953
Hwona is on a distinguished road
Default Re

I've been trying to make a stat system for my site, but I can't figure out how to put a random number into an "obedience" column in "owned_adoptables" upon the creation of a pet on the adopt page. Could someone help me? I'm using v.1.3.3

class_ownedadoptables file(tried creating a function on line 43 which is probably completely wrong):
PHP Code:
<?php

class OwnedAdoptable extends Adoptable{

    protected 
$aid;
    protected 
$name;
    protected 
$owner;
    protected 
$currentlevel;
    protected 
$totalclicks;
    protected 
$code;
    protected 
$imageurl;
    protected 
$usealternates;
    protected 
$tradestatus;
    protected 
$isfrozen;  
    protected 
$gender;
    protected 
$offsprings;
    protected 
$lastbred;
    protected 
$nextlevel;
    protected 
$voters;
    protected 
$obedience;
  
    public function 
__construct($aid$owner ""){      
        
$mysidia Registry::get("mysidia");
        
$whereClause "aid ='{$aid}'";
        if(!empty(
$owner)) $whereClause .= " and owner = '{$owner}'";
        
$row $mysidia->db->select("owned_adoptables", array(), $whereClause)->fetchObject();
        if(!
is_object($row)) throw new AdoptNotfoundException("Adoptable {$adoptinfo} does not exist or does not belong to the owner specified...");
        
        
parent::__construct($row->type);
        foreach(
$row as $key => $val){
            
$this->$key $val;              
        }      
    }

    public function 
getAdoptID(){
        return 
$this->aid;
    }

    public function 
getAdoptObedience(){
        return 
$this->obedience;
    }
    
    public function 
setAdoptObedience(){
        
$query "INSERT INTO adopts_owned_adoptables
        (obedience)
        WHERE aid = 
$this->aid;
        VALUES
        (
$obedience)";
        
$mysidia->db->exec($query);
    }
    
    public function 
getName(){
        return 
$this->name;
    }
    
    public function 
setName($name$assignMode ""){
        if(
$assignMode == Model::UPDATE$this->save("name"$name);
        
$this->name $name;
    }

    public function 
getOwner($fetchMode ""){
        if(
$fetchMode == Model::MODEL) return new Member($this->owner);
        else return 
$this->owner;
    }
    
    public function 
setOwner($owner$assignMode ""){
        if(
$assignMode == Model::UPDATE$this->save("owner"$owner);
        
$this->owner $owner;
    }
  
    public function 
getCurrentLevel($fetchMode ""){
        if(
$fetchMode == Model::MODEL) return new AdoptLevel($this->type$this->currentlevel);
        else return 
$this->currentlevel;
    }
    
    public function 
setCurrentLevel($level$assignMode ""){
        if(
$assignMode == Model::UPDATE){
            
$this->save("currentlevel"$level);
            if(
$this->getAltStatus() == "yes"$this->save("usealternates""yes");
        }
        
$this->currentlevel $level;
    }
    
    public function 
getTotalClicks(){
        return 
$this->totalclicks;
    }
    
    public function 
setTotalClicks($clicks$assignMode ""){
        if(
$assignMode == Model::UPDATE$this->save("totalclicks"$clicks);
        
$this->totalclicks $clicks;
    }
    
    public function 
getCode(){
        return 
$this->code;
    }
    
    public function 
getImageURL(){
        return 
$this->imageurl;
    }
    
    public function 
useAlternates(){
        return 
$this->usealternates;
    }
    
    public function 
getTradeStatus(){
        return 
$this->tradestatus;
    }
    
    public function 
setTradeStatus($status$assignMode ""){
        if(
$assignMode == Model::UPDATE$this->save("tradestatus"$status);
        
$this->tradestatus $status;
    }
    
    public function 
isFrozen(){
        return 
$this->isfrozen;
    }
    
    public function 
setFrozen($frozen TRUE$assignMode ""){
        if(
$assignMode == Model::UPDATE$this->save("isfrozen"$frozen);
        
$this->isfrozen $frozen;
    }
    
    public function 
getGender($fetchMode ""){
        if(
$fetchMode == Model::GUI) return new Image("picuploads/{$this->gender}.png");
        else return 
$this->gender;
    }
    
    public function 
getOffsprings(){
        return 
$this->offsprings;
    }
    
    public function 
setOffsprings($offsprings 1$assignMode ""){
        
$this->offsprings $offsprings
        if(
$assignMode == Model::UPDATE$this->save("offsprings"$this->offsprings);
    }
    
    public function 
getLastBred($fetchMode ""){
        if(
$fetchMode == Model::OBJ) return new DateTime($this->lastbred);
        return 
$this->lastbred;
    }
    
    public function 
setLastBred($lastBred 0$assignMode ""){
        if(
$assignMode == Model::UPDATE$this->save("lastbred"$lastBred);
        
$this->lastbred $lastBred;    
    }
  
    public function 
getAltStatus(){
        if(
$this->alternates == "enabled" and $this->currentlevel == $this->altoutlevel){
            
$rand mt_rand(1$this->altchance);
            if(
$rand == 1) return "yes";            
        }
        return 
"no";
    }
    
    public function 
getImage($fetchMode ""){
        if(
$this->imageurl) return $this->imageurl;
        if(
$this->currentlevel == 0) return $this->getEggImage($fetchMode);
        
        
$mysidia Registry::get("mysidia");        
        
$level $this->getCurrentLevel("model");
        if(
$this->useAlternates() == "yes") return $level->getAlternateImage($fetchMode);
        else return 
$level->getPrimaryImage($fetchMode);            
    }
  
      public function 
hasNextLevel(){
        try{
            
$this->nextlevel = new AdoptLevel($this->type$this->currentlevel 1);
            return 
TRUE;
        }
        catch(
LevelNotfoundException $lne){
            return 
FALSE;
        }
    }
    
    public function 
getNextLevel(){
        if(!
$this->nextlevel) return FALSE;
        return 
$this->nextlevel;
    }
    
    public function 
getLevelupClicks(){
        if(!
$this->nextlevel) return FALSE;
        return 
$this->nextlevel->getRequiredClicks() - $this->totalclicks;
    }
    
    public function 
getStats(){
        
$mysidia Registry::get("mysidia");
        
$document $mysidia->frame->getDocument();    
        
$stats = new Division("adoptstats");
        
$stats->add(new Comment("<br><br><b>Total Clicks: {$this->totalclicks}"));
        
$stats->add(new Comment("Gender: "FALSE));
        
$stats->add(new Image("picuploads/{$this->gender}.png"));
        
        if(
$this->hasNextLevel()){
            
$level $this->getNextLevel();
            
$levelupClicks $this->getLevelupClicks();
            
$nextLevel $level->getLevel().$mysidia->lang->clicks.$levelupClicks
        }
        else 
$nextLevel $mysidia->lang->maximum;
        
        
$adoptStats "<br>Trade Status: {$this->tradestatus}<br>
                       Current Level: 
{$this->currentlevel}<br>Next Level: {$nextLevel}</b>";
        
$stats->add(new Comment($adoptStats));
        return 
$stats;        
    }
    
    public function 
hasVoter($user$date ""){
        if(!
$date$date = new DateTime;        
        
$mysidia Registry::get("mysidia");
        
        if(
$user instanceof Member){            
            
$whereClause "adoptableid='{$this->aid}' and username = '{$user->username}' and date = '{$date->format('Y-m-d')}'";
        }
        else{
            
$ip secure($_SERVER['REMOTE_ADDR']);
            
$whereClause "adoptableid='{$mysidia->input->get("aid")}' and ip = '{$ip}' and date = '{$date->format('Y-m-d')}'";
        }    
        
        
$void $mysidia->db->select("vote_voters", array("void"), $whereClause)->fetchColumn();
        if(
is_numeric($void)) return TRUE;
        else return 
FALSE;        
    }
    
    protected function 
save($field$value){
        
$mysidia Registry::get("mysidia");
        
$mysidia->db->update("owned_adoptables", array($field => $value), "aid='{$this->aid}'");
    }
}
?>
adopt file(tweak starts on line 34):
PHP Code:
<?php

class AdoptController extends AppController{

    private 
$view;
    private 
$subController;

    public function 
__construct(){
        
parent::__construct("member");
        
$mysidia Registry::get("mysidia");
        if(
$mysidia->usergroup->getpermission("canadopt") != "yes"){
            throw new 
NoPermissionException("It appears that you are either not logged in, or do not have permission to adopt.");
        }    
    }
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");
        
$document $mysidia->frame->getDocument();
        
        if(
$mysidia->input->post("submit")){
            
$this->flag "member";
            
$this->handleAccess();
            if(
$mysidia->session->fetch("adopt") != or !is_numeric($mysidia->input->post("id"))) throw new InvalidIDException($mysidia->lang->global_id);
            
            
$adopt = new Adoptable($mysidia->input->post("id"));                
            
$conditions $adopt->getConditions();
            if(!
$conditions->checkConditions()) throw new NoPermissionException("It appears that you do not meet the condition to acquire this adoptable.");
            
            
$name = (!$mysidia->input->post("name"))?$adopt->getType():$mysidia->input->post("name");
            
$alts $adopt->getAltStatus();
            
$code $adopt->getCode();
            
$adoptobedience $adopt->setAdoptObedience();
            
$gender $adopt->getGender();
            
$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" => 'fortrade'"isfrozen" => 'no'"gender" => $gender"lastbred" => and "obedience" -> $adoptobedience;
            
$aid $mysidia->db->select("owned_adoptables", array("aid"), "code='{$code}', owner='{$mysidia->user->username}'")->fetchColumn();
            
$document->setTitle("{$name} adopted successfully");
            
            
$image = new Image($adopt->getEggImage());
            
$image->setLineBreak(TRUE);
            
            
$document->add($image);
            
$document->addLangvar("Congratulations!  You just adopted {$name}.  You can now manage {$name} on the ");
            
$document->add(new Link("myadopts""Myadopts Page."));
            
$document->add(new Comment(""));
            
$document->add(new Link("myadopts/manage/{$aid}""Click Here to Manage {$name}"));
            
$document->add(new Comment(""));
            
$document->add(new Link("myadopts/bbcode/{$aid}""Click Here to get BBCodes/HTML Codes for {$name}"));
            
$document->add(new Comment(""));
            
$document->addLangvar("Be sure and");
            
$document->add(new Link("levelup/{$aid}""feed "));
            
$document->addLangvar("{$name} with clicks so that they grow!");
            return;
        }
        
        
$mysidia->session->assign("adopt"1TRUE);
        
$default = (!$mysidia->user->isloggedin)?$mysidia->lang->guest:$mysidia->lang->member;
        
$document->setTitle($mysidia->lang->title);
        
$document->addLangvar($default);  
        
$ids $mysidia->db->select("adoptables", array("id"), "shop='none'")->fetchAll(PDO::FETCH_COLUMN);

        
$adoptForm = new Form("form""adopt""post");
        
$adoptTitle = new Comment("Available Adoptables");
        
$adoptTitle->setHeading(3);
        
$adoptForm->add($adoptTitle);
        
$adoptTable = new Table("table"""FALSE);
        
$adoptNum 0;
 
        foreach(
$ids as $id){
            
$adopt = new Adoptable($id);
            
$conditions $adopt->getConditions();
            
            if(
$conditions->checkConditions()){
                
$row = new TRow;
                
$idCell = new TCell(new RadioButton("""id"$id));                
                
$imageCell = new TCell(new Image($adopt->getEggImage(), $adopt->getType()));
                
$imageCell->setAlign(new Align("center"));
                
                
$type = new Comment($adopt->getType());
                
$type->setBold();
                
$description = new Comment($adopt->getDescription(), FALSE);
                
$typeCell = new TCell;
                
$typeCell->add($type);
                
$typeCell->add($description);            

                
$row->add($idCell);
                
$row->add($imageCell);
                
$row->add($typeCell);
                
$adoptTable->add($row);
                
$adoptNum++;
            }
        }
        if(
$adoptNum == 0$adoptForm->add(new Comment("There is not an adoptable available at this point, please come back later."));
        else 
$adoptForm->add($adoptTable);
        
        
$adoptSubtitle = new Comment("Adopt");
        
$adoptSubtitle->setHeading(3);
        
$adoptForm->add($adoptSubtitle);
        
$adoptForm->add(new Comment("Adoptable Name: "FALSE));
        
$adoptForm->add(new TextField("name"));
        
$adoptForm->add(new Comment(""));
        
$adoptForm->add(new Button("Adopt Me""submit""submit"));
        
$document->add($adoptForm);    
    }
}
?>
Thanks a bunch!
__________________
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 05:26 PM.

Currently Active Users: 994 (0 members and 994 guests)
Threads: 4,080, Posts: 32,024, Members: 2,016
Welcome to our newest members, jolob.
BETA





What's New?

What's Hot?

What's Popular?


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
vBCommerce I v2.0.0 Gold ©2010, PixelFX Studios
vBCredits I v2.0.0 Gold ©2010, PixelFX Studios
Emoticons by darkmoon3636