Ittermat |
03-20-2016 11:53 PM |
I just added in the items, the actual pet breeds and some more stuff for them to say 0.o
Code:
<?php
/**
* The Sidebar Class, defines a standard HTML Sidebar component.
* It extends from the Widget class, while adding its own implementation.
* @category Resource
* @package Widget
* @author Hall of Famer
* @copyright Mysidia Adoptables Script
* @link http://www.mysidiaadoptables.com
* @since 1.3.3
* @todo Not much at this point.
*
*/
class Sidebar extends Widget{
/**
* The moneyBar property, specifies the money/donation bar for members.
* @access protected
* @var Paragraph
*/
protected $moneyBar;
/**
* The linksBar property, stores all useful links for members.
* @access protected
* @var Paragraph
*/
protected $linksBar;
/**
* The wolBar property, determines the who's online url in the sidebar.
* @access protected
* @var Link
*/
protected $wolBar;
/**
* The loginBar property, specifies the loginBar for guests.
* @access protected
* @var FormBuilder
*/
protected $loginBar;
/**
* Constructor of Sidebar Class, it initializes basic sidebar properties
* @access public
* @return Void
*/
public function __construct(){
parent::__construct(4, "sidebar");
}
/**
* The setDivision method, setter method for property $division.
* It is set internally upon object instantiation, cannot be accessed in client code.
* @param GUIComponent $module
* @access protected
* @return Void
*/
protected function setDivision(GUIComponent $module){
if(!$this->division){
$this->division = new Division;
$this->division->setClass("sidebar");
}
$this->division->add($module);
}
#
#
#
/**** BEGIN: FOR THE FAVPET WIDGET ****/
public function getFavPetSB(){
return $this->FavPetSB;
}
protected function setFavPetSB(){
$mysidia = Registry::get("mysidia");
$profile = $mysidia->user->getprofile();
/* IF THE USER DOES *NOT* HAVE A FAVPET: */
if ($this->userfavpet == "0"){
$this->FavPetSB = new Paragraph;
$this->FavPetSB->add(new Comment("<b>No Favorite Pet Set</b>"));
}
/* IF THE USER *DOES* HAVE A FAVPET: */
if ($profile->getFavpetID() != "0"){
$favpet = new OwnedAdoptable($profile->getFavpetID());
$this->FavPetSB = new Paragraph;
$this->FavPetSB->add(new Comment("<b>Favorite Pet!</b>"));
$this->FavPetSB->add(new Comment("<div class='speechbubble'>{$message}</div>"));
$this->FavPetSB->add(new Comment("<a href='/myadopts/manage/{$favpet}'><img src='{$favpet->getImage()}'></a>"));
#
#
#
/**** BEGIN: CREATE RANDOM MESSAGES ****/
$message = "<div class='speechbubble'>";
$status_chance = mt_rand(1, 100);
if ($status_chance <= 1){ # One percent chance the pet will obtain a status effect.
/* We would apply a status effect here...*/
$message .= "Placeholder text: A status effect would have happened here!";
#### We'll do this later!!!
} else { # Ninety-nine percent chance the pet will not get a status effect. Will something else happen?
$something_chance = mt_rand(1, 100);
if ($something_chance <= 25){ # Twenty-five percent chance something will happen.
$gift_chance = mt_rand(1, 100);
if ($gift_chance <= 5){ # Five percent chance the user will receive a gift from their pet.
$item_chance = mt_rand(1, 100);
if ($item_chance <= 50){ # Fifty percent chance the gift from their pet will be an item.
/* The pet has found an item for you! */
$num = mt_rand(1,5); # Chooses a number between 1 and 4. See how there are four cases below? Increase this number if you add more!!
switch ($num){
case 1: $item = "Ball of Yarn"; break;
case 2: $item = "Bernard plushie"; break;
case 3: $item = "Madeline plushie "; break;
case 4: $item = "Maria plushie"; break;
case 4: $item = "Honey comb"; break;
}
$message .= "I found a {$item} for you!";
$newitem = new StockItem($item);
$newitem->append(1, $mysidia->user->username);
} else { # Fifty percent chance the gift from their pet will be money.
/* The pet has found some money for you! */
$currency = $mysidia->settings->cost;
$amount = mt_rand(100, 1000); # Between 100 and 1000
$message .= "Found {$amount} {$currency}!";
$mysidia->user->changecash($amount);
}
} else { # Twenty percent chance the pet will talk but have no gift.
/* No gift will be given but a neat species-specific phrase can still be said! */
$species = $favpet->type;
switch ($species){
case "Catari": # If the species name is "Cat" it will choose one these:
$num = mt_rand(1,7); # Chooses a number between 1 and 4. See how there are four cases below? Increase this number if you add more!!
switch ($num){
case 1: $message .= "Meow!"; break;
case 2: $message .= "*purr*"; break;
case 3: $message .= "Do you have catnip?"; break;
case 4: $message .= "I saw a squirrel today!"; break;
case 5: $message .= "I should catch that mouse!"; break;
case 6: $message .= "I love you!"; break;
case 7: $message .= "I feel special being owned by you!"; break;
}
break;
case "silver tabby Catari": # If the species name is "Cat" it will choose one these:
$num = mt_rand(1,7); # Chooses a number between 1 and 4. See how there are four cases below? Increase this number if you add more!!
switch ($num){
case 1: $message .= "Meow!"; break;
case 2: $message .= "*purr*"; break;
case 3: $message .= "Do you have catnip?"; break;
case 4: $message .= "I saw a squirrel today!"; break;
case 5: $message .= "I should catch that mouse!"; break;
case 6: $message .= "I love you!"; break;
case 7: $message .= "I feel special being owned by you!"; break;
}
break;
case "ginger tabby Catari": # If the species name is "Cat" it will choose one these:
$num = mt_rand(1,7); # Chooses a number between 1 and 4. See how there are four cases below? Increase this number if you add more!!
switch ($num){
case 1: $message .= "Meow!"; break;
case 2: $message .= "*purr*"; break;
case 3: $message .= "Do you have catnip?"; break;
case 4: $message .= "I saw a squirrel today!"; break;
case 5: $message .= "I should catch that mouse!"; break;
case 6: $message .= "I love you!"; break;
case 7: $message .= "I feel special being owned by you!"; break;
}
break;
case "tuxedo tabby Catari": # If the species name is "Cat" it will choose one these:
$num = mt_rand(1,7); # Chooses a number between 1 and 4. See how there are four cases below? Increase this number if you add more!!
switch ($num){
case 1: $message .= "Meow!"; break;
case 2: $message .= "*purr*"; break;
case 3: $message .= "Do you have catnip?"; break;
case 4: $message .= "I saw a squirrel today!"; break;
case 5: $message .= "I should catch that mouse!"; break;
case 6: $message .= "I love you!"; break;
case 7: $message .= "I feel special being owned by you!"; break;
}
break;
case "Hounda":
$num = mt_rand(1,7);
switch ($num){
case 1: $message .= "Woof!"; break;
case 2: $message .= "Bark bark!!"; break;
case 3: $message .= "Let's play fetch!"; break;
case 4: $message .= "I will protect you!"; break;
case 5: $message .= "what adventure are we going on today??!"; break;
case 6: $message .= "Lets be best friends forever!!"; break;
case 7: $message .= "Im the luckiest hounda ever!!"; break;
}
break;
case "Black and white Hounda":
$num = mt_rand(1,7);
switch ($num){
case 1: $message .= "Woof!"; break;
case 2: $message .= "Bark bark!!"; break;
case 3: $message .= "Let's play fetch!"; break;
case 4: $message .= "I will protect you!"; break;
case 5: $message .= "what adventure are we going on today??!"; break;
case 6: $message .= "Lets be best friends forever!!"; break;
case 7: $message .= "Im the luckiest hounda ever!!"; break;
}
break;
case "brown and black Hounda":
$num = mt_rand(1,7);
switch ($num){
case 1: $message .= "Woof!"; break;
case 2: $message .= "Bark bark!!"; break;
case 3: $message .= "Let's play fetch!"; break;
case 4: $message .= "I will protect you!"; break;
case 5: $message .= "what adventure are we going on today??!"; break;
case 6: $message .= "Lets be best friends forever!!"; break;
case 7: $message .= "Im the luckiest hounda ever!!"; break;
}
break;
case "Black and white floopy eared Hounda":
$num = mt_rand(1,7);
switch ($num){
case 1: $message .= "Woof!"; break;
case 2: $message .= "Bark bark!!"; break;
case 3: $message .= "Let's play fetch!"; break;
case 4: $message .= "I will protect you!"; break;
case 5: $message .= "what adventure are we going on today??!"; break;
case 6: $message .= "Lets be best friends forever!!"; break;
case 7: $message .= "Im the luckiest hounda ever!!"; break;
}
break;
default: # If the species isn't defined above, it'll choose one of these default phrases instead.
$num = mt_rand(1,6);
switch ($num){
case 1: $message .= "What an awesome day!"; break;
case 2: $message .= "Hey, did you know you're amazing?!"; break;
case 3: $message .= "Inner beauty is important!"; break;
case 4: $message .= "You look fantastic today!"; break;
case 5: $message .= "You're the best!!"; break;
case 6: $message .= "I love adventure!!"; break;
}
break;
}
}
} else { # Seventy-five percent chance nothing will happen whatsoever.
/* Nothing will happen with the pet at all. */
$message = "";
}
}
$message .= "</div>";
/**** END: CREATE RANDOM MESSAGES ****/
#
#
#
}
$this->setDivision($this->FavPetSB);
}
/**** END: FOR THE FAVPET WIDGET ****/
#
#
#
/**
* The getMoneyBar method, getter method for property $moneyBar.
* @access public
* @return Paragraph
*/
public function getMoneyBar(){
return $this->moneyBar;
}
/**
* The setMoneyBar method, setter method for property $moneyBar.
* It is set internally upon object instantiation, cannot be accessed in client code.
* @access protected
* @return Void
*/
protected function setMoneyBar(){
$mysidia = Registry::get("mysidia");
$this->moneyBar = new Paragraph;
$this->moneyBar->add(new Comment("You have <span id='cashonhand'>{$mysidia->user->money}</span> {$mysidia->settings->cost}."));
$donate = new Link("donate");
$donate->setText("Donate Money to Friends");
$this->moneyBar->add($donate);
$this->setDivision($this->moneyBar);
}
/**
* The getLinksBar method, getter method for property $linksBar.
* @access public
* @return Paragraph
*/
public function getLinksBar(){
return $this->linksBar;
}
/**
* The setLinksBar method, setter method for property $linksBar.
* It is set internally upon object instantiation, cannot be accessed in client code.
* @access protected
* @return Void
*/
protected function setLinksBar(){
$mysidia = Registry::get("mysidia");
$this->linksBar = new Paragraph;
$linkTitle = new Comment("{$mysidia->user->username}'s Links:");
$linkTitle->setBold();
$this->linksBar->add($linkTitle);
$linksList = new LinksList("ul");
$this->setLinks($linksList);
$this->linksBar->add($linksList);
$this->setDivision($this->linksBar);
}
/**
* The setLinks method, append all links to the LinksBar.
* It is set internally upon object instantiation, cannot be accessed in client code.
* @access protected
* @return Void
*/
protected function setLinks(LinksList $linksList){
$mysidia = Registry::get("mysidia");
$stmt = $mysidia->db->select("links", array("id", "linktext", "linkurl"), "linktype = 'sidelink' ORDER BY linkorder");
if($stmt->rowCount() == 0) Throw new Exception("There is an error with sidebar links, please contact the admin immediately for help.");
while($sideLink = $stmt->fetchObject()){
$link = new Link($sideLink->linkurl);
$link->setText($sideLink->linktext);
if($sideLink->linkurl == "messages"){
$num = $mysidia->db->select("messages", array("touser"), "touser='{$mysidia->user->username}' and status='unread'")->rowCount();
if($num > 0) $link->setText("<b>{$link->getText()} ({$num})</b>");
}
$link->setListed(TRUE);
$linksList->add($link);
}
if($mysidia->user instanceof Admin){
$adminCP = new Link("admincp/", FALSE, FALSE);
$adminCP->setText("Admin Control Panel");
$adminCP->setListed(TRUE);
$linksList->add($adminCP);
}
}
/**
* The getWolBar method, getter method for property $wolBar.
* @access public
* @return LinksList
*/
public function getWolBar(){
return $this->wolBar;
}
/**
* The setWolBar method, setter method for property $wolBar.
* It is set internally upon object instantiation, cannot be accessed in client code.
* @access protected
* @return Void
*/
protected function setWolBar(){
$mysidia = Registry::get("mysidia");
$this->wolBar = new Link("online");
$online = $mysidia->db->select("online", array(), "username != 'Visitor'")->rowCount();
$offline = $mysidia->db->select("online", array(), "username = 'Visitor'")->rowCount();
$this->wolBar->setText("This site has {$online} members and {$offline} guests online.");
$this->setDivision($this->wolBar);
}
/**
* The getLoginBar method, getter method for property $loginBar.
* @access public
* @return FormBuilder
*/
public function getLoginBar(){
return $this->loginBar;
}
/**
* The setLoginBar method, setter method for property $loginBar.
* It is set internally upon object instantiation, cannot be accessed in client code.
* @access protected
* @return Void
*/
protected function setLoginBar(){
$this->loginBar = new FormBuilder("login", "login", "post");
$loginTitle = new Comment("Member Login:");
$loginTitle->setBold();
$loginTitle->setUnderlined();
$this->loginBar->add($loginTitle);
$this->loginBar->buildComment("username: ", FALSE)
->buildTextField("username")
->buildComment("password: ", FALSE)
->buildPasswordField("password", "password", "", TRUE)
->buildButton("Log In", "submit", "submit")
->buildComment("Don't have an account?");
$register = new Link("register");
$register->setText("Register New Account");
$register->setLineBreak(TRUE);
$forgot = new Link("forgotpass");
$forgot->setText("Forgot Password?");
$this->loginBar->add($register);
$this->loginBar->add($forgot);
$this->setDivision($this->loginBar);
}
}
?>
|