<?php
namespace entities\html;

class Image extends Element
{
   public function __construct($src, $id=null, $class=null)
   {
      parent::__construct("img", $id, $class, false);
      $this->add_attribute("src", $src);
   }
}
<?php
namespace entities\html;

class Form
{
   public function __construct($id=null)
   {
      $this->id = $id;
   }
   public function __toString()
   {
      return $this->build_html();
   }
   private function build_html()
   {
      $markup = "<form method=\"post\"";
      if (!is_null($this->id))
      {
         $markup .= " id=\"" . $this->id . "\"";
      }
      $markup .= ">\n";
      $markup .= $this->build_content();
      $markup .= "</form>\n";
      return $markup;
   }
   protected function build_content()
   {
      return "&nbsp;\n";
   }
}
<?php
namespace entities\html;

class Meta extends Element
{
   public function __construct($content, $name=null, $http_equiv=null)
   {
      parent::__construct("meta", null, null, false);
      $this->add_attribute("name", $name);
      $this->add_attribute("http-equiv", $http_equiv);
      $this->add_attribute("content", $content);
   }
}
<?php
namespace entities\evr;

class Trailer extends \entities\html\IFrame
{
   public function __construct()
   {
      parent::__construct(
         "trailer", $GLOBALS["TRAILER_URL"], $GLOBALS["TRAILER_WIDTH"],
         $GLOBALS["TRAILER_HEIGHT"]);
      $this->add_attribute("webkitAllowFullScreen", true);
      $this->add_attribute("allowFullScreen", true);
   }
}
<?php
namespace entities\evr;
use \entities\html as html;

class Emoticon_Vs_Rainbow extends html\Page
{
   private $markup = "";
   public function __construct()
   {
      parent::__construct($GLOBALS["PAGE_TITLE"]);
   }
   protected function build_content()
   {
      $markup = new html\Image(
         $GLOBALS["LOADING_ANIMATION_PATH"], "loading_animation");
      $markup .= new html\Script($this->build_script_path());
      return $markup;
   }
   private function build_script_path()
   {
      return $this->determine_script_root() . $GLOBALS["GAME_PATH"];
   }
   private function determine_script_root()
   {
      $path = "src/game/stable/";
      if ($this->visitor_is_local() || isset($_GET["v"]))
      {
         if (!isset($_GET["s"]))
         {
            $path = "src/game/volatile/";
         }
      }
      return $path;
   }
   private function visitor_is_local()
   {
      $localhost = "127.0.0.1";
      $network = "/^192\.168\.0\..*/";
      $address = $_SERVER["REMOTE_ADDR"];
      return $address == $localhost || preg_match($network, $address);
   }
}
<?php
namespace entities\evr\security;

class Password_Mail extends Mail
{
   public function __construct($recipient, $password)
   {
      parent::__construct(
         $recipient, $GLOBALS["EMAIL_SENDER"],
         $GLOBALS["NEW_PASSWORD_SUBJECT"]);
      $this->password = $password;
   }
   protected function build_message()
   {
      $message = $GLOBALS["NEW_PASSWORD_PREFACE"] . " ";
      $message .= $this->password . "\n";
      return $message;
   }
}
<?php
namespace entities\evr\security;

class Cookie
{
   public function __construct()
   {
      $this->name = $GLOBALS["COOKIE_NAME"];
   }
   public function exists()
   {
      return isset($_COOKIE[$this->name]) && $_COOKIE[$this->name] != "";
   }
   public function set($username, $hash)
   {
      $value = "$username|$hash";
      $expiration = time() + 60 * 60 * 24 * 30;
      $domain = $_SERVER["HTTP_HOST"];
      setrawcookie($this->name, $value, $expiration, "/", $domain);
   }
   public function get()
   {
      return $_COOKIE[$this->name];
   }
   public function get_username()
   {
      $fields = explode("|", $this->get());
      return $fields[0];
   }
   public function get_hash()
   {
      $fields = explode("|", $this->get());
      return $fields[1];
   }
}
<?php
namespace entities\evr\security;

class Mail
{
   public function __construct($recipient, $sender, $subject)
   {
      $this->recipient = $recipient;
      $this->sender = $sender;
      $this->subject = $subject;
   }
   public function send()
   {
      $header = $this->build_header();
      $message = $this->build_message();
      return mail($this->recipient, $this->subject, $message, $header);
   }
   private function build_header()
   {
      $header = "From: " . $this->sender . "\r\n";
      $header .= "Content-Type: text/plain\r\n";
      return $header;
   }
   protected function build_message()
   {
      return "default message\n";
   }
}
216.73.216.24
216.73.216.24
216.73.216.24
 
November 10, 2013


Food Spring - Watermelon Stage

Getting the fruit as far as possible is the object of each level, collecting bigger, more valuable guns. The final result is determined by the size of the fruits' collection when the monkey arrives in North America and either survives or perishes in the fruits' attack.

Watermelon Peach
Pineapple Grapes