You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2011-03-15 12:00:16

Reg
Member
Registered: 2011-03-10
Posts: 10

Erreur Php : Ajout matériel réseau via gabarit

Bonjour !

J'utilise Ubuntu-server 10.04 sur une machine virtuelle VitualBox.
Php 5, Mysql 5.1, Apache 2 et PhpMyAdmin 3.3.2 sont OK.
J'ai installé OCS 1.3.3 et GLPI 0.78 qui fonctionnent tous les deux (importation Ok) + les plugins Archires et Racks.
J'utilise Firefox 3.6 pour accéder à glpi et ocs.

Voici mon problème, qui serait peut être un bug :
J'ai créé un gabarit de Matériel Réseau, ses caractéristiques :
-Nom du Gabarit : "Switch 24 ports"
-Type : "Switch" et Modèle : "Switch" (que j'ai créé auparavant bien sûr)
-J'ai ajouté 24 ports numérotés (#) de 1 à 24 et qui ont été nommés automatiquement de 01 à 24

Lorsque je veux créer un matériel à partir de ce gabarit, j'obtiens une liste de 24 fois la même erreur :

PHP Notice: Undefined index: is_recursive in /var/www/glpi/inc/networkequipment.class.php at line 154


Note : La page affichant les erreurs s'affiche moins d'une seconde et je suis redirigé vers la page qui me confirme que le matériel a bien été créé. En effet, il est bien créé, avec tous ses ports, et je n'ai pas détecté de problèmes pour le moments pour l'utiliser.


Contenu du fichier (lignes 111 à 161) :

   function post_addItem() {
      global $DB;

      // Manage add from template
      if (isset($this->input["_oldID"])) {
         // ADD Infocoms
         $ic = new Infocom();
         if ($ic->getFromDBforDevice($this->getType(), $this->input["_oldID"])) {
            $ic->fields["items_id"] = $this->fields['id'];
            unset ($ic->fields["id"]);
            if (isset($ic->fields["immo_number"])) {
               $ic->fields["immo_number"] = autoName($ic->fields["immo_number"], "immo_number", 1,
                                                     'Infocom', $this->input['entities_id']);
            }
            if (empty($ic->fields['use_date'])) {
               unset($ic->fields['use_date']);
            }
            if (empty($ic->fields['buy_date'])) {
               unset($ic->fields['buy_date']);
            }
            $ic->fields["entities_id"]  = $this->fields['entities_id'];
            $ic->fields["is_recursive"] = $this->fields['is_recursive'];
            $ic->addToDB();
         }

         // ADD Ports
         $query = "SELECT `id`
                   FROM `glpi_networkports`
                   WHERE `items_id` = '".$this->input["_oldID"]."'
                         AND `itemtype` = '".$this->getType()."'";
         $result = $DB->query($query);

         if ($DB->numrows($result)>0) {
            while ($data=$DB->fetch_array($result)) {
               $np  = new NetworkPort();
               $npv = new NetworkPort_Vlan();
               $np->getFromDB($data["id"]);
               unset($np->fields["id"]);
               unset($np->fields["ip"]);
               unset($np->fields["mac"]);
               unset($np->fields["netpoints_id"]);
               $np->fields["items_id"]     = $this->fields['id'];
               $np->fields["entities_id"]  = $this->fields['entities_id'];
      154 -->  $np->fields["is_recursive"] = $this->fields['is_recursive'];
               $portid = $np->addToDB();
               foreach ($DB->request('glpi_networkports_vlans',
                                     array('networkports_id' => $data["id"])) as $vlan) {
                  $npv->assignVlan($portid, $vlan['vlans_id']);
               }
            }
         }

J'ai essayé de recréer un gabarit différent pour un bandeau/panneau de brassage de 10 ports et j'ai eu 10 fois le message d'erreur. Ça correspond donc à l'ajout de ports. Après je ne peux pas faire grand chose vu mon niveau en Php.

Merci d'avance !  smile

Last edited by Reg (2011-03-15 12:22:31)


Étudiant en 2e année de BTS IG option Réseaux.
Oral de projet de stage = OCS/GLPI ! Merci !

Offline

#2 2011-03-15 18:46:49

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: Erreur Php : Ajout matériel réseau via gabarit

Version exacte de GLPI ?
car je viens de faire un test en 0.78.3 et je ne reproduit pas le problème


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#3 2011-03-15 19:05:09

Reg
Member
Registered: 2011-03-10
Posts: 10

Re: Erreur Php : Ajout matériel réseau via gabarit

0.78 tout rond, afin d'utiliser Archires 1.8 (la page de téléchargement de la forge ne précise pas si Archires 1.8 est compatible GLPI 0.78.x)


Étudiant en 2e année de BTS IG option Réseaux.
Oral de projet de stage = OCS/GLPI ! Merci !

Offline

#4 2011-03-15 22:59:06

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: Erreur Php : Ajout matériel réseau via gabarit

je confirme Archires est compatible 0.78.X big_smile

Passe en 0.78.3, pas ma l de corrections.


Xavier Caillaud
Blog GLPI Infotel

Offline

#5 2011-03-16 11:19:34

Reg
Member
Registered: 2011-03-10
Posts: 10

Re: Erreur Php : Ajout matériel réseau via gabarit

GLPI 0.78.3 + Archires 1.8.0 + Racks 1.1.0 = OK
Ajout d'élément par gabarit Matériel Réseau avec ports prédéfinis = OK

Yeah ! That rocks !  big_smile
Merci beaucoup !  big_smile


Étudiant en 2e année de BTS IG option Réseaux.
Oral de projet de stage = OCS/GLPI ! Merci !

Offline

#6 2011-03-16 11:55:01

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: Erreur Php : Ajout matériel réseau via gabarit

Parfait. Je ferme


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

Board footer

Powered by FluxBB