Mais avec ce que vous nous donné ca va etre tres rapide.
AU niveau requete il faut aussi penser au gabarits mais sinon c'est le seul problème de votre patch
]]>J'avais suggéré dans un post antérieur ( http://glpi.indepnet.org/forum/viewtopic.php?id=1469 ) de proposer par défaut les ordinateurs existants de même nom pour faire le lien avec les nouveaux ordinateurs OCS.
Il semble que cette proposition n'ait pas été retenue car je ne trouve pas cette possibilité dans le dernier CVS.
A titre indicatif, j'ai réalisé cette fonctionnalité qui m'est bien utile pour éviter des doublons qui apparaissent parfois. Il suffit de quelques lignes dans fonctions.php du plugin OCS :
function ocsShowNewComputer($check,$start,$tolinked=0){
....
$dbglpi = new DB();
$query_glpi = "select * from glpi_ocs_link";
$result_glpi = $dbglpi->query($query_glpi) or die($dbglpi->error());
// Patch VANB : noms des ordinateurs existants dans GLPI
$query_glpi_comp = "select ID,name from glpi_computers where deleted = 'N'";
$result_glpi_comp = $dbglpi->query($query_glpi_comp) or die($dbglpi->error());
if ($dbocs->numrows($result_ocs)>0){
// Get all hardware from OCS DB
....
// Get all links between glpi and OCS
....
// Patch VANB : lecture des noms des ordinateurs existants dans GLPI
$computer_names=array();
if ($dbglpi->numrows($result_glpi_comp)>0){
while($data=$dbocs->fetch_array($result_glpi_comp)){
$computer_names[$data["name"]]=$data["ID"];
}
}
// Clean $hardware from already linked element
....
echo "<div align='center'>";
if (($numrows=count($hardware))>0){
....
foreach ($hardware as $ID => $tab){
echo "<tr class='tab_bg_2'><td>".$tab["name"]."</td><td>".$tab["date"]."</td><td>";
if ($tolinked==0)
echo "<input type='checkbox' name='toimport[$ID]' ".($check=="all"?"checked":"").">";
else {
// Patch VANB : si l'ordinateur existe dans GLPI, on l'affiche comme valeur par défaut
if (isset($computer_names[$tab["name"]]))
dropdownValue("glpi_computers","tolink[$ID]",$computer_names[$tab["name"]]);
else
dropdown("glpi_computers","tolink[$ID]");
}
echo "</td></tr>";
}
....
A toutes fins utiles,
Cordialement,
]]>