示例#1
0
文件: ItemSac.php 项目: FMaz008/ccv4
 /** Charge la liste des items en inventaire.
  * <br> Selon le perso actuel (de l'objet perso), cette fonction créer/génère le 'tableau des item en inventaire'.
  * <br> Cette fonction est apellée par getInventaire() et par les codes qui modifient l'inventaire (Inventaire, dépouillement, etc) dans le cas ou le 'tableau des item en inventaire' est innexistant.
  *
  */
 public function refreshInventaire()
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     //Vider l'inventaire
     $this->inventaire = NULL;
     //Charger le nouvel inventaire
     $this->inventaire = Member_ItemFactory::createFromItemId($this->getInvId());
     $this->refreshPR();
 }
示例#2
0
 /**
  * Génère un tableau de l'inventaire d'un item à partir d'une requête.
  *
  * @param Account &$account Account à utiliser (par défaut: $account)
  * @param array $arrItem tableau des items à traiter
  * @param string $returnPage Nom du module actuel (pour les pages de retour, ex: Member_Perso_Inventaire)
  * @param string $tableWidth Largeur du tableau à créer
  * @return string Retourne du code HTML ou false si aucun item
  */
 public static function generateInventaireTable(&$account, &$arrItem, $returnPage, $returnId, $tableWidth, $deep = 0)
 {
     $deep++;
     $tpl = new Template($account);
     if (count($arrItem) == 0) {
         return array();
     }
     //Trier le tableau en ordre de type
     usort($arrItem, "compare");
     //Construire la liste des tableaux
     $tableHTML = '';
     $currentCat = '';
     $i = 0;
     foreach ($arrItem as $item) {
         //Gérer les entête du tableau
         $showHeader = false;
         if ($currentCat != $item->getTypeTech()) {
             if (!empty($tableHTML)) {
                 //Ne pas commencer avec une fermeture de tableau
                 $tableHTML .= '</table><br />';
             }
             $currentCat = $item->getTypeTech();
             $showHeader = true;
         }
         //Générer le tableau
         $type = $item->getTypeTech();
         if ($item instanceof Member_ItemDefense) {
             $type = 'defense';
         }
         if ($item instanceof Member_ItemDrogue) {
             $type = 'drogue';
         }
         if ($item instanceof Member_ItemSac && $deep < 2) {
             $arrItem2 = Member_ItemFactory::createFromItemId($item->getInvId(), true);
             if (!empty($arrItem2)) {
                 $sacHTML = self::generateInventaireTable($account, $arrItem2, $returnPage, $returnId, '750px', $deep);
             } else {
                 $sacHTML = "Vide";
             }
             $tpl->set('SAC_INVENTAIRE', $sacHTML);
         }
         $tpl->set('SHOW_HEADER', $showHeader);
         $tpl->set('TABLE_WIDTH', $tableWidth);
         $tpl->set('RETURN_PAGE', $returnPage);
         $tpl->set('RETURN_ID', $returnId);
         $tpl->set('ITEM', $item);
         $tableHTML .= $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Item/Inventaire_' . $type . '.htm', __FILE__, __LINE__);
     }
     return $tableHTML . '</table>';
 }