} } else { if (is_array($a)) { return 1; } if (is_array($b)) { return -1; } else { return 0; } } } //Uebersicht anzeigen //Alle obersten Organisationseinheiten holen $oe = new organisationseinheit(); $oe->getHeads(); echo "\n"; echo '<table style="text-align: center; padding:5;" cellspacing=5 cellpadding=5><tr>'; foreach ($oe->result as $result) { echo '<td valign="top" >'; $arr = array(); $arr1 = array(); //Array mit den Kindelementen erzeugen $arr = getChilds($result->oe_kurzbz); //Sortieren damit die Eintraege mit Kindern weiter oben stehen uasort($arr, 'mysort'); //Parent hinzufuegen $arr1[$result->oe_kurzbz] = $arr; echo "\n"; //Anzeigen display($arr1);
function getOrganisationen($oe_kurzbz = null, $debug = false) { // ------------------------------------------------------------------------------- // Organisationen //Alle obersten Organisationseinheiten holen $oe = new organisationseinheit(); if (!is_null($oe_kurzbz) && !empty($oe_kurzbz)) { //wenn eine Organisationseinheit uebergeben wurde, dann laden $oe->load($oe_kurzbz); $oe_obj = new organisationseinheit(); $oe_obj->oe_parent_kurzbz = $oe->oe_kurzbz; #var_dump( $oe); $oe->result[] = $oe; $breadcrumbs = ''; do { $oe_obj->load($oe_obj->oe_parent_kurzbz); $breadcrumbs = '<a href="javascript:load_oe_kurzbz(\'' . $oe_obj->oe_kurzbz . '\',this);" class="Item">' . $oe_obj->organisationseinheittyp_kurzbz . ' - ' . $oe_obj->bezeichnung . '</a> > ' . $breadcrumbs; } while ($oe_obj->oe_parent_kurzbz != ''); $breadcrumbs = '<a href="organisationseinheiten.php" class="Item">Organisation</a> > ' . $breadcrumbs; echo '<tr><td><h3>' . $breadcrumbs . '</h3></td></tr>'; } else { //Wenn keine Organisationseinheite uebergeben wurde, die obersten laden $oe->getHeads(); } // Initialisierung $outarray['ersteebene'] = array(); $outarray['child'] = array(); $outarray['studienzentren'] = array(); $outarray['fachhochschule'] = array(); $outarray['uebergreifende'] = array(); $outarray['nochnichtzugeordnet'] = array(); // Spezielle Zuordnungen zu den Anzeige-Array $check_fachhochschule = array('abteilung', 'institut'); $check_uebergreifende = array('studiengang'); $check_noch_nicht_zugeordnet = array(); // Erste Ebene lesen (wenn parameter oe_kurzbz uebergeben wird ist das die erste Ebene) $ersteebene = array(); foreach ($oe->result as $result) { $outarray['ersteebene'][$result->oe_kurzbz] = $result; } if (!is_array($outarray['ersteebene']) || count($outarray['ersteebene']) < 1) { return false; } // Alle Eintraege zur Hauptebene suchen reset($outarray['ersteebene']); foreach ($outarray['ersteebene'] as $key => $val) { $outarray['child'] = getChilds($key); } // Aufteilen auf die verschidenen Teile if (is_array($outarray['child'])) { reset($outarray['child']); } else { return $outarray; } foreach ($outarray['child'] as $key => $val) { if (!isset($val) || !is_array($val) || count($val) < 1) { continue; } if ($key == 'Dummy') { continue; } if (!isset($val['child']) || is_null($val['child']) || !is_array($val['child']) || count($val['child']) < 1) { $check = strtolower($val['dat']->organisationseinheittyp_kurzbz); if (in_array($check, $check_fachhochschule)) { $outarray['fachhochschule'][$key] = $val['dat']; } else { if (in_array($check, $check_uebergreifende)) { $outarray['uebergreifende'][$key] = $val['dat']; } else { $outarray['nochnichtzugeordnet'][$key] = $val['dat']; } } continue; } $outarray['studienzentren'][$key] = $val; } #var_dump($outarray['studienzentren']); return $outarray; }