public static function getByBattleSettings(Kingboard_BattleSettings $battleSetting)
 {
     $battle = Kingboard_Battle::_getInstanceByCriteria(__CLASS__, array('settingsId' => $battleSetting->_id));
     if (is_null($battle) || time() > $battle->updated->sec + 600) {
         if (is_null($battle)) {
             $battle = new Kingboard_Battle();
         }
         $battle->data = Kingboard_Battle::generateBattle($battleSetting);
         $battle->updated = new MongoDate(time());
         $battle->settingsId = $battleSetting->_id;
         //            print_r($battle);
         $battle->save();
     }
     return $battle;
 }
 /**
  * display a certain battle
  * @param array $parameters
  * @return void
  */
 public function show(array $parameters)
 {
     $battleSetting = Kingboard_BattleSettings::getById($parameters['id']);
     if (is_null($battleSetting)) {
         $this->sendErrorAndQuit("Battle with Id " . $parameters['id'] . " does not exist");
     }
     $battle = Kingboard_Battle::getByBattleSettings($battleSetting);
     //print_r($battle->data);
     $this->_context['battleSetting'] = $battleSetting;
     $this->render("battle.html", $battle->data);
 }