[gosa.git] / gosa-plugins / goto-ng / admin / newConfigManagement / class_ConfigManagementDataModel.inc
diff --git a/gosa-plugins/goto-ng/admin/newConfigManagement/class_ConfigManagementDataModel.inc b/gosa-plugins/goto-ng/admin/newConfigManagement/class_ConfigManagementDataModel.inc
index d50b3f71b8ce414d8261687a4795588f7fa71ee3..d73e35f06d0227c2b6ff655294e20fe0d6d9ac9e 100644 (file)
public $data = array();
public $typeToPath = array();
public $idToPath = array();
+ public $dnToPath = array();
function __construct()
{
$toParentPath = preg_replace("/\/[^\/]*$/","", $to);
$parentTo = &$this->data['linear'][$toParentPath];
$parentToDn = $parentTo['dn'];
+ $dn = rtrim("cn={$name},{$parentToDn}",',');
// Append the 'from' entry to the 'to' parent children.
$parentTo['children'][$to] = $parentFrom['children'][$from];
$parentTo['children'][$to]['path']= $to;
$parentTo['children'][$to]['name']= $name;
- $parentTo['children'][$to]['dn']= rtrim("cn={$name},{$parentToDn}",',');
+ $parentTo['children'][$to]['dn']= $dn;
// Unset the source path
unset($parentFrom['children'][$from]);
// Update id->Path mapping
$id = $this->data['linear'][$to]['id'];
$this->idToPath[$id] = $to;
+ $this->dnToPath[$dn] = $to;
}
$this->data['linear'][$entryPath] = &$parentItem[$entryPath];
$this->idToPath[$entryId] = $entryPath;
+ $this->idToPath[$entryDn] = $entryPath;
$this->typeToPath[$type][$name] = $entryPath;
return($entryId);
}
return(NULL);
}
+
+ function getItemByDn($dn)
+ {
+ $path = NULL;
+ if(isset($this->dnToPath[$dn])){
+ $path = $this->dnToPath[$dn];
+ }else{
+ return(NULL);
+ }
+ if(isset($this->data['linear'][$path])){
+ return($this->data['linear'][$path]);
+ }
+ return(NULL);
+ }
}
?>