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 2008-02-27 12:31:09

lallau000
Member
Registered: 2008-01-15
Posts: 73

Synchronisation des utilisateurs déjà importés

Bonjour à tout le monde.
J'ai installé Glpi et OCS-ng sur un serveur Windows 2003.
J'ai aussi installé XAMPP.
Je tourne actuellement sous Glpi 0.70.2.

Voilà, j'ai un petit problème pour synchroniser les utilisateurs déjà importés.
J'ai importé les utilisateurs avec Glpi via Active directory. Ils s'affichent bien dans la liste des utilisateurs.
Mais quand je modifie les paramètres d'un groupe que j'ai créé alors il faut ensuite que je synchronise les utilisateurs. Sauf que quand je fais Syncronisation des utilisateurs déjà importés, il y a bien en haut dans le cadre recherche :(samaccountname=*), mais rien n'apparait.
Je suis donc obligé de supprimer les 200 utilisateurs, et ensuite de les purgés et c'est trés long.

J'ai essayé sur la version 0.70.1 et avec la meme configuration de l'authentification externe et ça fonctionne.
J'ai bien mis pourtant la même configuration dans la version 0.70.1 et 0.70.2
Est-ce un problème dans mon code des fichiers index.php ou login.php ?

J'attend avec impatience vos réponse.
Merci d'avance.

Offline

#2 2008-02-27 12:36:21

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Synchronisation des utilisateurs déjà importés

bonjour
quand vous ajoutez un utilisateur à un groupe, où est mis à jour l'info ?
dans l'objet groupe de l'AD ou dans l'objet user ? ou les 2?

Offline

#3 2008-02-27 13:08:58

lallau000
Member
Registered: 2008-01-15
Posts: 73

Re: Synchronisation des utilisateurs déjà importés

En fait les groupes je les ai créé manuellement.
C'est à dire que je vais dans Administrateur>Groupe est je fais ajouté. A partir de la je rentre une valeur LDAP correspondant à un groupe X créé dans active directory.
Ensuite quand j'ajoute un utilisateur du groupe X, il est ajouté automatiquement à ce groupe X.

Mais quand les utilisateurs sont déjà importés dans GLPI et que ensuite je creer un groupe, il faut que je les synchronise, ou alors que je les supprime et que je les réimporte.

Voilà ma configuration de l'authentification externe :
Nom > ldap://active.domaine.fr
Serveur >ldap://active.domaine.fr
Basedn >ou=z,ou=y,dc=domaine,dc=fr
LDAP Port (default=389)>389
rootdn >cn=administrateur,cn=users,dc=domaine,dc=fr
Filtre de connexion >(objectClass=user)(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
Champ de login>samaccountname
Type de recherche> utilisateur et groupe
Attribut utilisateur indiquant ses groupes >memberof
Attribut des groupes contenant les utilisateurs >group
Recherche du DN > OUI

J'éspère avoir répondu à ta question ou sinon je ne l'ai pas comprise.
Bonne journée

Last edited by lallau000 (2008-02-27 13:12:27)

Offline

#4 2008-02-27 13:15:02

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Synchronisation des utilisateurs déjà importés

la synchro fonctionne comme cela :
on va lire tous les users dans LDAP. On va regarder si l'entrée LDAP est plus récente que l'entrée GLPI. Si oui, on propose de mettre à jour. Sinon on n'affiche pas l'utilisateur.

donc dans votre cas si vous ajoutez manuellement des groupes dans GLPI vous devez resynchroniser manuellement (puisque votre AD a pas changé)

Offline

#5 2008-02-27 14:00:00

lallau000
Member
Registered: 2008-01-15
Posts: 73

Re: Synchronisation des utilisateurs déjà importés

D'accord merci de ta réponse. J'ai compris le fonctionnement.
Et donc je voudrais savoir comment synchroniser manuellement 200 utilisateurs en même temps.
Car pour synchroniser manuellement un utilisateur il faut cliquer sur forcer la synchronisation.

Offline

#6 2008-02-27 15:05:35

lallau000
Member
Registered: 2008-01-15
Posts: 73

Re: Synchronisation des utilisateurs déjà importés

Quelqu'un a t-il une idée?
Merci d'avance.

Offline

#7 2008-02-27 15:10:23

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Synchronisation des utilisateurs déjà importés

oui c'est un manque, je le code sur la 0.71
https://dev.indepnet.net/glpi/ticket/1026

Last edited by wawa (2008-02-27 15:16:49)

Offline

#8 2008-02-27 19:13:17

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Synchronisation des utilisateurs déjà importés

Offline

#9 2008-02-27 20:23:56

lallau000
Member
Registered: 2008-01-15
Posts: 73

Re: Synchronisation des utilisateurs déjà importés

Merci beaucoup.
Ca me sera d'une grande aide surtout que nos groupes changent souvent.
Bonne soirée.
Et vive l'équipe GLPI et GLPI tout court bien sûr.

Offline

#10 2008-03-28 16:08:13

jctbruno
Member
Registered: 2006-05-05
Posts: 53

Re: Synchronisation des utilisateurs déjà importés

Bonjour,

Comme lallau000 j'aimerais forcer la synchro LDap de plusieurs utilisateurs simultanément. J'ai tester la modification des fichiers mais pour le fichier glpi/front/massiveaction.php la ligne à modifier n'existe pas. J'ai installé la version 0.70.2.

le post https://dev.indepnet.net/glpi/changeset/6522 s'applique pour quelle version ?

merci

Offline

#11 2008-03-30 04:24:55

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

Re: Synchronisation des utilisateurs déjà importés

comee te l'a indiqué wawa : la 0.71


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

#12 2008-03-31 11:50:07

jctbruno
Member
Registered: 2006-05-05
Posts: 53

Re: Synchronisation des utilisateurs déjà importés

bonjour

Sauf erreur de ma part la 0.71 n'existe pas. la dernière version est la 0.70.2

Offline

#13 2008-03-31 11:52:35

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Synchronisation des utilisateurs déjà importés

la 0.71 est la version svn

Offline

#14 2008-03-31 11:59:46

jctbruno
Member
Registered: 2006-05-05
Posts: 53

Re: Synchronisation des utilisateurs déjà importés

merci wawa

Comme je n'installe que des versions stables de GLPI je vais laissé tomber les modifications des fichiers à moins qu'il existe un équivalent pour la version 0.70.2.
Sais tu si la prochaine version de GLPI permettra de forcer massivement la synchro avec un Ldap ?

Offline

#15 2008-03-31 12:05:20

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Synchronisation des utilisateurs déjà importés

ouaip
il est possible sur la 0.71 de forcer la synchro massivement des users

Offline

#16 2008-03-31 13:22:02

jctbruno
Member
Registered: 2006-05-05
Posts: 53

Re: Synchronisation des utilisateurs déjà importés

et comment STP ? smile

Offline

#17 2008-03-31 13:29:35

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Synchronisation des utilisateurs déjà importés

dans la liste des users, sélectionnez ceux qu'on veut mettre à jour et choisir forcer la synchro

Offline

#18 2008-03-31 13:51:02

jctbruno
Member
Registered: 2006-05-05
Posts: 53

Re: Synchronisation des utilisateurs déjà importés

Cette fonction apparait si tu applique les changement indiqué sur le lien : https://dev.indepnet.net/glpi/changeset/6522

or en suivant cette procédure on doit modifier les fichiers suivants :

          glpi/ajax/dropdownMassiveAction.php  (modified)
          glpi/front/massiveaction.php (modified)
          glpi/inc/dropdown.function.php (modified)
          glpi/inc/ldap.function.php (modified)

seul le fichier massiveaction.php me pose des problèmes car la ligne a supprimée n'existe pas et je ne trouve pas l'endroit ou la ligne doit être  insérée.

"registry","setup","rulesengine","rule.softwarecategories","rule.dictionnary.software","rule.dictionnary.dropdown","entity");

je sais donc pas quoi modifier pour ce fichier (voici mon fichier), peux tu m'aider :

<?php
/*
* @version $Id: massiveaction.php 6005 2007-11-29 01:25:40Z moyo $
-------------------------------------------------------------------------
GLPI - Gestionnaire Libre de Parc Informatique
Copyright (C) 2003-2007 by the INDEPNET Development Team.

http://indepnet.net/   http://glpi-project.org
-------------------------------------------------------------------------

LICENSE

This file is part of GLPI.

GLPI is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

GLPI is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GLPI; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
--------------------------------------------------------------------------
*/

// ----------------------------------------------------------------------
// Original Author of file:
// Purpose of file:
// ----------------------------------------------------------------------


$NEEDED_ITEMS=array("user","tracking","reservation","document","computer","device","printer","networking","peripheral","monitor","software","infocom","phone","link","ocsng","consumable","cartridge","contract","enterprise","contact","group","profile","search","mailgate","typedoc","admininfo","registry","setup","rulesengine","rule.softwarecategories","entity");

define('GLPI_ROOT', '..');
include (GLPI_ROOT . "/inc/includes.php");

header("Content-Type: text/html; charset=UTF-8");
header_nocache();


if (isset($_GET['multiple_actions'])){
    if (isset($_SESSION['glpi_massiveaction'])&&isset($_SESSION['glpi_massiveaction']['POST'])){
        $_POST=$_SESSION['glpi_massiveaction']['POST'];
    }
}

if (isset($_POST["device_type"])){


    switch ($_POST["device_type"]){
        case TRACKING_TYPE :
            switch ($_POST["action"]){
                case "delete":
                    checkTypeRight("delete","1");
                    break;
                case "add_followup":
                    checkTypeRight("comment_all_ticket","1");
                    break;
                default:
                    checkTypeRight("update_ticket","1");
                    break;
            }
            break;
        default :
            if (in_array($_POST["device_type"],$CFG_GLPI["infocom_types"])){
                checkSeveralRightsOr(array($_POST["device_type"]=>"w","contract_infocom"=>"w"));
            } else {
                checkTypeRight($_POST["device_type"],"w");
            }
            break;
    }

    commonHeader($LANG["title"][42],$_SERVER['PHP_SELF']);
   
   
    if (isset($_GET['multiple_actions'])){
        if (isset($_SESSION['glpi_massiveaction'])&&isset($_SESSION['glpi_massiveaction']['items'])){
            $percent=min(100,round(100*($_SESSION['glpi_massiveaction']['item_count']-count($_SESSION['glpi_massiveaction']['items']))/$_SESSION['glpi_massiveaction']['item_count'],0));
            displayProgressBar(400,$percent);
        }
    }
   
   
    if (isset($_POST["action"])&&isset($_POST["device_type"])&&isset($_POST["item"])&&count($_POST["item"])){
   
    // Save selection
    if (!isset($_SESSION['glpimassiveactionselected'])||count($_SESSION['glpimassiveactionselected'])==0){
        $_SESSION['glpimassiveactionselected']=array();
        foreach ($_POST["item"] as $key => $val){
            if ($val==1) {
                $_SESSION['glpimassiveactionselected'][$key]=$key;
            }
        }
    }
    $REDIRECT=$_SERVER['HTTP_REFERER'];
   
        switch($_POST["action"]){
            case "connect":
                $ci=new CommonItem();
                $ci2=new CommonItem();
   
            if (isset($_POST["connect_item"])&&$_POST["connect_item"]){
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1&&$ci->getFromDB($_POST["device_type"],$key)) {
                        // Items exists ?
                        if ($ci2->getFromDB(COMPUTER_TYPE,$_POST["connect_item"])){
                            // Entity security
                            if ($ci->obj->fields["FK_entities"]==$ci2->obj->fields["FK_entities"]){
                                if ($ci->obj->fields["is_global"]
                                ||(!$ci->obj->fields["is_global"]&&getNumberConnections($_POST["device_type"],$key)==0)){
                                    Connect($key,$_POST["connect_item"],$_POST["device_type"]);
                                }
                            }
                        }
                    }
                }
            }
   
            break;
            case "disconnect":
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        $query="SELECT * FROM glpi_connect_wire WHERE type='".$_POST["device_type"]."' AND end1 = '$key'";
                        $result=$DB->query($query);
                        if ($DB->numrows($result)>0){
                            while ($data=$DB->fetch_assoc($result)){
                                Disconnect($data["ID"]);
                            }
                        }
                    }
                }
            break;
            case "delete":
                $ci=new CommonItem();
                $ci->setType($_POST["device_type"],1);
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        $ci->obj->delete(array("ID"=>$key));
                    }
                }
            break;
            case "purge":
                $ci=new CommonItem();
                $ci->setType($_POST["device_type"],1);
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        $ci->obj->delete(array("ID"=>$key),1);
                    }
                }
            break;
            case "restore":
                $ci=new CommonItem();
                $ci->setType($_POST["device_type"],1);
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        $ci->obj->restore(array("ID"=>$key));
                    }
                }
            break;
            case "update":
                $searchopt=cleanSearchOption($_POST["device_type"],'w');
               
                if (isset($searchopt[$_POST["id_field"]])){
                    // Infocoms case
                    if ($_POST["device_type"]<1000&&isInfocomSearch($_POST["device_type"],$_POST["id_field"])){
                        $ic=new Infocom();
                        $ci=new CommonItem();
                        $ci->setType($_POST["device_type"],1);
       
                        $link_entity_type=-1;
                        // Specific entity item
                        if ($searchopt[$_POST["id_field"]]["table"]=="glpi_enterprises_infocoms"){
                            $ent=new Enterprise();
                            if ($ent->getFromDB($_POST[$_POST["field"]])){
                                $link_entity_type=$ent->fields["FK_entities"];
                            }
                           
                        }
                       
                        foreach ($_POST["item"] as $key => $val){
                            if ($val==1){
                                if ($ci->getFromDB($_POST["device_type"],$key)){
                                    if ($link_entity_type<0
                                    ||$link_entity_type==$ci->obj->fields["FK_entities"]){
                                        unset($ic->fields);
                                        $ic->update(array("device_type"=>$_POST["device_type"],"FK_device"=>$key,$_POST["field"] => $_POST[$_POST["field"]]));
                                    }
                                }
                            }
                        }
                    } else {
                        $ci=new CommonItem();
                        $ci->setType($_POST["device_type"],1);
                        $link_entity_type=-1;
                        // Specific entity item
                       
                        if ($searchopt[$_POST["id_field"]]["table"]!=$LINK_ID_TABLE[$_POST["device_type"]]
                        && in_array($searchopt[$_POST["id_field"]]["table"],$CFG_GLPI["specif_entities_tables"])
                        && in_array($LINK_ID_TABLE[$_POST["device_type"]],$CFG_GLPI["specif_entities_tables"])){
                           
                            $ci2=new CommonDBTM();
                            $ci2->table=$searchopt[$_POST["id_field"]]["table"];
       
                            if ($ci2->getFromDB($_POST[$_POST["field"]])){
                                if (isset($ci2->fields["FK_entities"])&&$ci2->fields["FK_entities"]>=0){
                                    $link_entity_type=$ci2->fields["FK_entities"];
                                }
       
                            }
                           
                        }
                        foreach ($_POST["item"] as $key => $val){
                            if ($val==1) {
                                if ($ci->getFromDB($_POST["device_type"],$key)){
                                    if ($link_entity_type<0
                                    ||$link_entity_type==$ci->obj->fields["FK_entities"]){
                                        $ci->obj->update(array("ID"=>$key,$_POST["field"] => $_POST[$_POST["field"]]));
                                    }
                                }
                            }
                        }
                    }
                }
            break;
            case "install":
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        $comp=new Computer;
                        if ($comp->getFromDB($key)&&$comp->fields["FK_entities"]==$_SESSION["glpiactive_entity"]){
                            installSoftware($key,$_POST["lID"],$_POST["sID"]);
                        }
                    }
                }
            break;
            case "add_group":
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        addUserGroup($key,$_POST["group"]);
                    }
                }
            break;
            case "add_userprofile":
                $input['FK_entities']=$_POST['FK_entities'];
                $input['FK_profiles']=$_POST['FK_profiles'];
                $input['recursive']=$_POST['recursive'];
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        $input['FK_users']=$key;
                        addUserProfileEntity($input);
                    }
                }
            break;
            case "add_document":
                $ci=new CommonItem();
                $ci2=new CommonItem();
                if ($ci->getFromDB(DOCUMENT_TYPE,$_POST['docID'])){
                    foreach ($_POST["item"] as $key => $val){
                        if ($val==1) {
                            // Items exists ?
                            if ($ci2->getFromDB($_POST["device_type"],$key)){
                                // Entity security
                                if (!isset($ci2->obj->fields["FK_entities"])
                                ||$ci->obj->fields["FK_entities"]==$ci2->obj->fields["FK_entities"]){
                                    addDeviceDocument($_POST['docID'],$_POST["device_type"],$key);
                                }
                            }
                        }
                    }
                }
            break;
            case "add_contact":
                $ci=new CommonItem();
                $ci2=new CommonItem();
                if ($ci->getFromDB(CONTACT_TYPE,$_POST['conID'])){
                    foreach ($_POST["item"] as $key => $val){
                        if ($val==1) {
                            // Items exists ?
                            if ($ci2->getFromDB($_POST["device_type"],$key)){
                                // Entity security
                                if (!isset($ci2->obj->fields["FK_entities"])
                                ||$ci->obj->fields["FK_entities"]==$ci2->obj->fields["FK_entities"]){
                                    addContactEnterprise($key,$_POST["conID"]);
                                }
                            }
                        }
                    }
                }
            break;
            case "add_contract":
                $ci=new CommonItem();
                $ci2=new CommonItem();
                if ($ci->getFromDB(CONTRACT_TYPE,$_POST['conID'])){
                    foreach ($_POST["item"] as $key => $val){
                        if ($val==1) {
                            // Items exists ?
                            if ($ci2->getFromDB($_POST["device_type"],$key)){
                                // Entity security
                                if (!isset($ci2->obj->fields["FK_entities"])
                                ||$ci->obj->fields["FK_entities"]==$ci2->obj->fields["FK_entities"]){
                                    addDeviceContract($_POST['conID'],$_POST["device_type"],$key);
                                }
                            }
                        }
                    }
                }
   
            break;
            case "add_enterprise":
                $ci=new CommonItem();
                $ci2=new CommonItem();
                if ($ci->getFromDB(ENTERPRISE_TYPE,$_POST['entID'])){
                    foreach ($_POST["item"] as $key => $val){
                        if ($val==1) {
                            // Items exists ?
                            if ($ci2->getFromDB($_POST["device_type"],$key)){
                                // Entity security
                                if (!isset($ci2->obj->fields["FK_entities"])
                                ||$ci->obj->fields["FK_entities"]==$ci2->obj->fields["FK_entities"]){
                                    addContactEnterprise($_POST["entID"],$key);
                                }
                            }
                        }
                    }
                }
            break;
            case "unlock_ocsng_field":
                $fields=getOcsLockableFields();
                if ($_POST['field']=='all'||isset($fields[$_POST['field']])){
                    foreach ($_POST["item"] as $key => $val){
                        if ($val==1) {
                            if ($_POST['field']=='all'){
                                replaceOcsArray($key,array(),"computer_update");
                            } else {
                                deleteInOcsArray($key,$_POST['field'],"computer_update",true);
                            }
                        }
                    }
                }
                break;
            case "unlock_ocsng_monitor":
            case "unlock_ocsng_printer":
            case "unlock_ocsng_peripheral":
            case "unlock_ocsng_software":
            case "unlock_ocsng_ip":
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        switch ($_POST["action"]){
                            case "unlock_ocsng_monitor":
                                ocsUnlockItems($key,"import_monitor");
                                break;
                            case "unlock_ocsng_printer":
                                ocsUnlockItems($key,"import_printers");
                                break;
                            case "unlock_ocsng_peripheral":
                                ocsUnlockItems($key,"import_peripheral");
                                break;
                            case "unlock_ocsng_software":
                                ocsUnlockItems($key,"import_software");
                                break;
                            case "unlock_ocsng_ip":
                                ocsUnlockItems($key,"import_ip");
                                break;
                        }
                    }
                }
                break;

            case "force_ocsng_update":
                // First time
                if (!isset($_GET['multiple_actions'])){
                    $_SESSION['glpi_massiveaction']['POST']=$_POST;
                    $_SESSION['glpi_massiveaction']['REDIRECT']=$REDIRECT;
                    $_SESSION['glpi_massiveaction']['items']=array();
                    foreach ($_POST["item"] as $key => $val){
                        if ($val==1) {
                            $_SESSION['glpi_massiveaction']['items'][$key]=$key;
                        }
                    }
                    $_SESSION['glpi_massiveaction']['item_count']=count($_SESSION['glpi_massiveaction']['items']);
                    glpi_header($_SERVER['PHP_SELF'].'?multiple_actions=1');
                } else {
                    if (count($_SESSION['glpi_massiveaction']['items'])>0){
                        $key=array_pop($_SESSION['glpi_massiveaction']['items']);
                        //Try to get the OCS server whose machine belongs
                        $query = "SELECT ocs_server_id, ID
                            FROM glpi_ocs_link
                            WHERE glpi_id='".$key."'";
                        $result = $DB->query($query);
                        if ($DB->numrows($result) == 1) {                   
                            $data = $DB->fetch_assoc($result);
                            if ($data['ocs_server_id'] != -1){
                            //Force update of the machine
                            ocsUpdateComputer($data['ID'],$data['ocs_server_id'],1,1);
                            }
                        }
                        glpi_header($_SERVER['PHP_SELF'].'?multiple_actions=1');
                    } else {
                        $REDIRECT=$_SESSION['glpi_massiveaction']['REDIRECT'];
                        unset($_SESSION['glpi_massiveaction']);
                        glpi_header($REDIRECT);
                    }
                }
            break;
   
            case "compute_software_category":
                $softcatrule = new SoftwareCategoriesRuleCollection;
                $soft = new Software;
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        $params = array();
                        //Get software name and manufacturer
                        $soft->getFromDB($key);
                        $params["name"]=$soft->fields["name"];
                        $params["FK_glpi_enterprise"]=$soft->fields["FK_glpi_enterprise"];
                       
                        //Process rules
                        $soft->update($softcatrule->processAllRules(null,$soft->fields,$params));
                    }
                }
            break;
            case "add_transfer_list":
                if (!isset($_SESSION['glpitransfer_list'])){
                    $_SESSION['glpitransfer_list']=array();
                }
                if (!isset($_SESSION['glpitransfer_list'][$_POST["device_type"]])){
                    $_SESSION['glpitransfer_list'][$_POST["device_type"]]=array();
                }
               
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        $_SESSION['glpitransfer_list'][$_POST["device_type"]][$key]=$key;
                    }
                }
                $REDIRECT=$CFG_GLPI['root_doc'].'/front/transfer.action.php';
            break;
            case "add_followup":
                $fup=new Followup();
                foreach ($_POST["item"] as $key => $val){
                    if ($val==1) {
                        $_POST['tracking']=$key;
                        unset($fup->fields);
                        $fup->add($_POST);
                    }
                }
            break;
            default :
                // Plugin specific actions
                if ($_POST["device_type"]>1000){
                    if (isset($PLUGIN_HOOKS['plugin_types'][$_POST["device_type"]])){
                        $function='plugin_'.$PLUGIN_HOOKS['plugin_types'][$_POST["device_type"]].'_MassiveActionsProcess';
                        if (function_exists($function)){
                            $function($_POST);
                        }
                    }
                } else {
                    // Need to search display item over plugins
                    $split=split('_',$_POST["action"]);
                    if (isset($split[1])){
                        $function='plugin_'.$split[1].'_MassiveActionsProcess';
                            if (function_exists($function)){
                                $function($_POST);
                            }
                    }
                }
   
            break;
        }
   
        $_SESSION['MESSAGE_AFTER_REDIRECT'].=$LANG["common"][23];
        glpi_header($REDIRECT);
   
    } else {
       
        echo "<div align='center'><img src=\"".$CFG_GLPI["root_doc"]."/pics/warning.png\" alt=\"warning\"><br><br>";
        echo "<b>".$LANG["common"][24]."</b></div>";
       
        displayBackLink();
    }
   
    commonFooter();
}

?>

Offline

Board footer

Powered by FluxBB