function wunschorte_als_text($eingabe) {
$text="";
$ii=0;
for ($i=1; $i<6; $i++) {
$br=($i>1 ? "
" : "");
$ws=$eingabe["wunschschule$i"];
if ( $ws=="bayernweit" ) { $ii++; $text.=$br."($ii) bayernweit"; }
elseif ( ist_wunschschule($ws) ) {
$ii++;
$text.=$br."($ii) ";
$query="SELECT Schulname, Schulname2, Ort FROM schulen WHERE Schulnr='$ws'";
$dbws= new DB_Example;
$dbws->query($query);
$dbws->next_record();
if ($dbws->nf()==0) { $text.=$ws; }
else {
$schulname=$dbws->f('Schulname')." ".$dbws->f('Schulname2');
$text
.=$dbws->f('Ort').", "
.( strlen($schulname)>30 ? ''.substr($schulname, 0,25).'...' : $schulname); }
if ( $eingabe["umkreis$i"]>0 ) {
$text.=" (und im Umkreis von ".$eingabe["umkreis$i"]." km)";
}
}
else {
$bn=bezirke_name($ws);
if ($bn) { $ii++; $text.=$br."($ii) Bezirk: ".$bn; }
}
}
return $text;
}
function ist_wunschschule($schulenr) { return preg_match('#^\d\d\d\d$#', $schulenr); }
function convert_to_aushilfen_bezirk($bez) {
$b=bezirke_hash();
return $b[$bez];
}
function bezirke_name($bez) {
if ($bez=="bezirk_of") { return "Oberfranken"; }
if ($bez=="bezirk_mf") { return "Mittelfranken"; }
if ($bez=="bezirk_uf") { return "Unterfranken"; }
if ($bez=="bezirk_op") { return "Oberpfalz"; }
if ($bez=="bezirk_ob") { return "Oberbayern"; }
if ($bez=="bezirk_nb") { return "Niederbayern"; }
if ($bez=="bezirk_sw") { return "Schwaben"; }
if ($bez=="bezirk_of") { return "Oberfranken"; }
return "";
}
function bezirke_hash() {
return array(
'of' => 'bezirk_of',
'mf' => 'bezirk_mf',
'uf' => 'bezirk_uf',
'op' => 'bezirk_op',
'obo' => 'bezirk_ob',
'obw' => 'bezirk_ob',
'nb' => 'bezirk_nb',
'sw' => 'bezirk_sw'
);
}
function wunschschulen( $options = array() ) { // Funktion wunschschulen
$ws = array();
$smarty_html_options = false; if (isset ($options['smarty-html-options'])) { $smarty_html_options=$options['smarty-html-options'] and true; }
$only_keys = false; if (isset ($options['only-keys'])) { $only_keys=$options['only-keys'] and true; }
$dbws= new DB_Example;
if ( $only_keys ) { $dbSelect="SELECT Schulnr FROM schulen"; }
else { $dbSelect="SELECT Schulnr, Schulname, Schulname2, Ort FROM schulen ORDER BY Ort, Schulname, Schulname2"; }
$dbws -> query($dbSelect);
if ($smarty_html_options) {
$ws[''] = "-";
$ws['bayernweit'] = "-> ganz Bayern";
$ws['bezirk_of'] = "-> Oberfranken";
$ws['bezirk_mf'] = "-> Mittelfranken";
$ws['bezirk_uf'] = "-> Unterfranken";
$ws['bezirk_op'] = "-> Oberpfalz";
$ws['bezirk_ob'] = "-> Oberbayern";
$ws['bezirk_nb'] = "-> Niederbayern";
$ws['bezirk_sw'] = "-> Schwaben";
while($dbws->next_record()) {
$ws[ $dbws->f("Schulnr") ] = substr("[".$dbws->f("Ort")."] ".trim($dbws->f("Schulname")." ".$dbws->f("Schulname2")), 0, 40);
}
/*
$ws['bezirk_of'] = "-> Oberfranken";
$ws['bezirk_mf'] = "-> Mittelfranken";
$ws['bezirk_uf'] = "-> Unterfranken";
$ws['bezirk_op'] = "-> Oberpfalz";
$ws['bezirk_ob'] = "-> Oberbayern";
$ws['bezirk_nb'] = "-> Niederbayern";
$ws['bezirk_sw'] = "-> Schwaben";
*/
}
elseif ( $only_keys ) {
$ws = array( 'bayernweit' );
while($dbws->next_record()) {
$ws[]=$dbws->f("Schulnr");
}
$ws[] = 'bezirk_of';
$ws[] = 'bezirk_mf';
$ws[] = 'bezirk_uf';
$ws[] = 'bezirk_op';
$ws[] = 'bezirk_ob';
$ws[] = 'bezirk_nb';
$ws[] = 'bezirk_sw';
return $ws;
}
else {
while($dbws->next_record()) {
$ws[ $dbws->f("Schulnr") ] =
array (
'Ort' => $dbws->f("Ort"),
'Schulname' => trim($dbws->f("Schulname")." ".$dbws->f("Schulname2"))
);
}
}
return $ws;
} // Funktion wunschschulen
function wunschschulen_umkreis( $options = array() ) { // Funktion wunschschulen_auswahl
$smarty_html_options = false; if (isset ($options['smarty-html-options'])) { $smarty_html_options=$options['smarty-html-options'] and true; }
$only_keys = false; if (isset ($options['only-keys'])) { $only_keys=$options['only-keys'] and true; }
if ($only_keys) {
return array(
'80',
'60',
'40',
'20',
'0'
);
}
// if ($smarty_html_options) {
return array(
'80' => '< 80 km',
'60' => '< 60 km',
'40' => '< 40 km',
'20' => '< 20 km',
'0' => 'nur diese Schule'
);
// }
}
function wunschschulen_umkreis_check($data) {
$umkreis_keys=wunschschulen_umkreis( array('only-keys' => true) );
$wunschschulen_keys=wunschschulen_umkreis( array('only-keys' => true) );
$ws_errors=array();
// $wunschschule1 ==== $data['wunschschule1']
// $umkreis1 ==== $data['umkreis1']
$min_ws_count=1;
for ($i=1; $i<6; $i++) {
$ws='wunschschule'.$i; $um='umkreis'.$i;
if (isset($data[$ws]) and strlen($data[$ws])>0) {
if ( in_array($data[$ws], $wunschschulen_keys) ) {
if ( in_array($data[$um], $umkreis_keys) ) { }
else { $ws_errors[$um]="Umkreis fehlt!"; }
}
else {
$ws_errors[$ws]="Falsche Eingabe!";
}
}
elseif ( $i< $min_ws_count+1 ) {
$ws_errors[$ws]="Wunschschule angeben!";
if ( in_array($data[$um], $umkreis_keys) ) { }
else { $ws_errors[$um]="Umkreis fehlt!"; }
}
}
return $ws_errors;
}
function qualifikation_name($bez) {
if ($bez=="rs") { return "Lehramt Realschule"; }
if ($bez=="gym") { return "Lehramt Gymnasium"; }
if ($bez=="hs") { return "Lehramt Hauptschule"; }
if ($bez=="gs") { return "Lehramt Grundschule"; }
if ($bez=="andBundesland") { return "Lehramt anderes Bundesland"; }
if ($bez=="andere") { return "andere Qualifikation"; }
return "";
}
function qualifikationen( $options = array() ) { // Funktion qualifikationen
$smarty_html_options = false; if (isset ($options['smarty-html-options'])) { $smarty_html_options=$options['smarty-html-options'] and true; }
$only_keys = false; if (isset ($options['only-keys'])) { $only_keys=$options['only-keys'] and true; }
if ($only_keys) {
return array(
'rs',
'gym',
'hs',
'gs',
'andBundesland',
'andere'
);
}
// if ($smarty_html_options) {
return array(
'' => "-",
'rs' => "Lehramt Realschule",
'gym' => "Lehramt Gymnasium",
'hs' => "Lehramt Hauptschule",
'gs' => "Lehramt Grundschule",
'andBundesland' => "Lehramt anderes Bundesland",
'andere' => "Andere"
);
// }
} // qualifikationen
function schulen_im_umkreis($schulnr, $umkreis){
$schulen=array(); $schulen[]=$schulnr;
$umkreis=$umkreis+0;
if ($umkreis<1) { return $schulen; }
$dbws= new DB_Example;
$WHERE=' WHERE (schulnr = "'.$schulnr.'") ';
$dbSelect="SELECT * FROM schulen_geodaten $WHERE ";
$dbws->query($dbSelect);
$gpsLaenge=''; $gpsBreite='';
if ( $dbws->next_record() ) {
$gpsLaenge=$dbws->f('Laenge');
$gpsBreite=$dbws->f('Breite');
}
if ($gpsLaenge == '' or $gpsBreite == '') { return $schulen; }
// nur die Schule selbst zurueckgeben, falls keine Geodaten vorhanden
$WHERE=' WHERE ( schulnr <> "'.$schulnr.'" ) ';
$WHERE.=" AND ( ACOS( SIN(Breite)*SIN( $gpsBreite ) + COS(Breite)*COS( $gpsBreite )*COS( $gpsLaenge - Laenge ) ) * 111.3195 < $umkreis ) ";
$dbSelect="SELECT schulnr FROM schulen_geodaten $WHERE ";
$dbws -> query($dbSelect);
while($dbws->next_record()) {
$schulen[]=$dbws->f("schulnr");
}
return $schulen;
}
function get_alle_schulen( $options=array() ) {
$schulen=array();
if ($options['empty']) { $schulen['-'] = "-"; }
if ($options['bayernweit']) { $schulen['bayernweit'] = "bayernweit"; }
$dbws= new DB_Example;
$dbSelect="SELECT Schulnr, Ort, Schulname, Schulname2 FROM schulen ORDER BY Ort, Schulname, Schulname2";
$dbws->query($dbSelect);
while($dbws->next_record()) {
$schulen[$dbws->f("Schulnr")]=substr($dbws->f("Ort").": ".$dbws->f("Schulname").' '.$dbws->f("Schulname2"), 0, 30);
}
return $schulen;
}
?>