/**
  *
  * @return Ultimatum_Model_Ultplayergroupknowledge
  */
 public static function getInstance()
 {
     if ($pReload || is_null(self::$_Instance)) {
         // process
         self::$_Instance = new self();
     }
     return self::$_Instance;
 }
 public function run()
 {
     $c = $this->get_controller();
     if (!$c->_prep()) {
         return $c->forward('index', 'index', NULL, array('error' => 'problem loading game'));
     } elseif (!$c->view->target) {
         $params = array('error' => 'Cannot find target');
         return $c->forward('run', NULL, NULL, $params);
     }
     $pid = $c->view->player->identity();
     $gid = $c->view->target->identity();
     $params = array('group_id' => $gid, 'player' => $pid);
     $k = Ultimatum_Model_Ultplayergroupknowledge::getInstance()->findOne($params);
     if ($k->isSaved()) {
         $c->view->scan = $k;
     } else {
         $param = array('error' => 'strange, what group ' . $gid . '?');
         $c->forward('run', NULL, NULL, $param);
     }
 }
 /**
  *
  */
 public function gameviewstoreAction()
 {
     $game_id = $this->_getParam('game');
     $game = Ultimatum_Model_Ultgames::getInstance()->get($game_id);
     $player_ids = $game->player_ids();
     $player_group_ids = array_values(Ultimatum_Model_Ultgamegroups::getInstance()->player_group_ids($player_ids, TRUE));
     $scanned_group_ids = array_keys(Ultimatum_Model_Ultplayergroupknowledge::getInstance()->last_scans_for_player($player_ids, TRUE));
     $group_ids = array_merge($player_group_ids, $scanned_group_ids);
     array_unique($group_ids);
     $find_params = array('id' => array($group_ids, 'in'));
     $groups = Ultimatum_Model_Ultgroups::getInstance()->find($find_params);
     $out = array();
     foreach ($groups as $group) {
         $data = $group->toArray();
         $data['size'] = $group->size_in_game($game_id);
         $data['title'] = $group->get_title();
         $out[] = $data;
     }
     $this->_store('id', $out);
 }
Example #4
0
    /**
     *
     * @param Ultimatum_Model_Ultplayergroupknowledge $pScan
     * @return string
     */
    public function groupscan(Ultimatum_Model_Ultplayergroupknowledge $pScan, $pContent = NULL)
    {
        $group = $pScan->get_group();
        ob_start();
        ?>
<fieldset>
    <legend><?php 
        echo $group->get_title();
        ?>
        (as of turn <?php 
        echo $pScan->get_game()->turn(TRUE);
        ?>
)</legend>
    <p><b><?php 
        echo $group->get_lead();
        ?>
</b></p>
    <blockquote>
        <?php 
        echo $group->get_content();
        ?>
    </blockquote>
<table>
<tr>
    <th>Value</th>
    <th>Size</th>
    <th>Efficiency</th>
    <th>Effect</th>
    <?php 
        foreach (Ultimatum_Model_Ultgroups::$_properties as $property) {
            ?>
    <tr>
        <td><?php 
            echo ucfirst($property);
            ?>
</td>
        <td><?php 
            echo $pScan->get_size($property, TRUE);
            ?>
</td>
        <td><?php 
            echo $pScan->get_efficiency($property, TRUE);
            ?>
</td>
        <td><?php 
            echo $pScan->get_power($property, TRUE);
            ?>
</td>
    </tr>
    <?php 
        }
        ?>
</table>
    <?php 
        if ($pContent) {
            echo $pContent;
        }
        ?>
</fieldset>
        <?php 
        return ob_get_clean();
    }