diff --git a/gosa-plugins/opsi/admin/opsi/class_opsi.inc b/gosa-plugins/opsi/admin/opsi/class_opsi.inc
index ebbf46c213e71e28cb04e8d95aae754f85e79311..2aee03ea2156b5a40ef68269cd60c66a61f26c49 100644 (file)
}
$res = $this->send_data("gosa_opsi_get_full_product_host_information",$this->target,$data,TRUE);
- print_a($res);
$items = array();
+ $attrs = array("TYPE","PRIORITY","ONCESCRIPT","LICENSEREQUIRED","PACKAGEVERSION","PRODUCTVERSION",
+ "ADVICE","SETUPSCRIPT","WINDOWSSOFTWAREIDS","PXECONFIGTEMPLATE","NAME","CREATIONTIMESTAMP", "TYPE",
+ "ALWAYSSCRIPT","PRODUCTID","DESCRIPTION","UNINSTALLSCRIPT","UPDATESCRIPT","PRODUCTCLASSNAMES");
+
if(isset($res['XML'][0]['ITEM'])){
foreach($res['XML'][0]['ITEM'] as $entry){
- $e = array("DESC" => $entry['DESCRIPTION'][0]['VALUE'],
- "NAME" => $entry['PRODUCTID'][0]['VALUE']);
+ $e = array();
+ foreach($attrs as $attr){
+ if(isset($entry[$attr])){
+ foreach($entry[$attr] as $key => $value){
+ if(isset($value['VALUE'])){
+ $e['data'][$attr] = $value['VALUE'];
+ }elseif($value['ELEMENT']){
+ foreach($value['ELEMENT'] as $element){
+ $e['data'][$attr][] = $element['VALUE'];
+ }
+ }
+ }
+ }
+ }
+
+ $e["configurable"] = FALSE;
+ if(isset($entry['PROPERTIES']) && count($entry['PROPERTIES'])){
+ $e["configurable"] = TRUE;
+ $p_data = array();
+
+ foreach($entry['PROPERTIES'][0] as $p_name => $p_values){
+ if(empty($p_values)) continue;
+ $p_data[$p_name]= array();
+ foreach(array('CURRENT','DEFAULT','DESCRIPTION') as $p_tmp){
+ if(isset($p_values[0][$p_tmp])){
+ if(isset($p_values[0][$p_tmp][0]['VALUE'])){
+ $p_data[$p_name][$p_tmp] = $p_values[0][$p_tmp][0]['VALUE'];
+ }
+ }
+ }
+
+ if(isset($p_values[0]['VALUES'][0]['ELEMENT'])){
+ foreach($p_values[0]['VALUES'][0]['ELEMENT'] as $val){
+ $p_data[$p_name]['VALUE'][] = $val['VALUE'];
+ }
+ $p_data[$p_name]['VALUE_CNT'] = count($p_data[$p_name]['VALUE']);
+ }
+ }
+
+ $e["data"]['PROPERTIES'] = $p_data;
+ }
+
+
+ $e["installed"] = FALSE;
+ if(isset($entry['ACTIONREQUEST'])){
+ $e["installed"] = TRUE;
+ }
+
+ $e["requires_licence"] = FALSE;
+ if(isset($e['data']['LICENSEREQUIRED']) && preg_match("/true/i",$e['data']['LICENSEREQUIRED'])){
+ $e["requires_licence"] = TRUE;
+ }
$items[$entry['PRODUCTID'][0]['VALUE']] = $e;
}
}
foreach($res['XML'][0]['ITEM'] as $entry){
foreach($entry as $name => $val){
- foreach(array("DESCRIPTION","DEFAULT") as $attr){
+ foreach(array("DESCRIPTION","CURRENT") as $attr){
$items[$name][$attr] = "";
if(isset($val[0][$attr])){
$items[$name][$attr] = $val[0][$attr][0]['VALUE'];
/* Add properties */
$data['item'] = array();
foreach($cfg as $name => $value){
- $data['item'][] = "<name>".$name."</name><value>".$value['DEFAULT']."</value>";
+ $data['item'][] = "<name>".$name."</name><value>".$value['CURRENT']."</value>";
}
/* Query SI server */