From d762d00163c45ea7f283c34c00fa3a2b94971990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 18 Mar 2010 13:48:16 +0000 Subject: [PATCH] - Cronjobverwaltung - Anpassung an neue Firmenverwaltung - Bugfix Infoterminal, Login ohne Passwort nicht mehr moeglich --- cis/private/lehre/pinboard.php | 22 +- cis/private/profile/index.php | 10 +- cis/private/tools/psearch.php | 1941 ++++++++--------- content/adressedialog.xul.php | 3 + content/bindings.css | 10 + content/bindings.xml.php | 449 +++- content/fasDBDML.php | 2 +- content/kontakt.js.php | 4 +- content/kontaktdialog.js.php | 6 +- content/kontaktdialog.xul.php | 6 +- content/mitarbeiter/mitarbeiterDBDML.php | 2 +- .../mitarbeiterdetailoverlay.xul.php | 5 +- content/mitarbeiter/mitarbeiteroverlay.js.php | 8 +- .../studentprojektarbeitoverlay.xul.php | 3 + include/betriebsmittel.class.php | 462 ++-- include/betriebsmittelperson.class.php | 24 +- include/betriebsmitteltyp.class.php | 35 +- include/cronjob.class.php | 667 ++++++ include/firma.class.php | 11 +- include/gruppe.class.php | 4 +- include/js/JSONeditor/JSONeditor.html | 19 + include/js/JSONeditor/JSONeditor.js | 686 ++++++ .../js/JSONeditor/treeBuilderImages/Thumbs.db | Bin 0 -> 20480 bytes .../js/JSONeditor/treeBuilderImages/doc.gif | Bin 0 -> 993 bytes .../JSONeditor/treeBuilderImages/docNode.gif | Bin 0 -> 147 bytes .../treeBuilderImages/docNodeLast.gif | Bin 0 -> 142 bytes .../treeBuilderImages/docNodeLastFirst.gif | Bin 0 -> 107 bytes .../JSONeditor/treeBuilderImages/folder.gif | Bin 0 -> 974 bytes .../treeBuilderImages/folderNode.gif | Bin 0 -> 133 bytes .../treeBuilderImages/folderNodeFirst.gif | Bin 0 -> 878 bytes .../treeBuilderImages/folderNodeLast.gif | Bin 0 -> 130 bytes .../treeBuilderImages/folderNodeLastFirst.gif | Bin 0 -> 872 bytes .../treeBuilderImages/folderNodeOpen.gif | Bin 0 -> 129 bytes .../treeBuilderImages/folderNodeOpenFirst.gif | Bin 0 -> 868 bytes .../treeBuilderImages/folderNodeOpenLast.gif | Bin 0 -> 125 bytes .../folderNodeOpenLastFirst.gif | Bin 0 -> 863 bytes .../treeBuilderImages/folderOpen.gif | Bin 0 -> 254 bytes .../JSONeditor/treeBuilderImages/vertLine.gif | Bin 0 -> 140 bytes include/tw/cis_menu_meincis.inc.php | 13 +- include/tw/vilesci_menu_main.inc.php | 9 +- rdf/firma.rdf.php | 28 +- rdf/kontakt.rdf.php | 1 + rdf/mitarbeiter.rdf.php | 2 +- rdf/personal.rdf.php | 2 +- rdf/standort.rdf.php | 48 +- skin/images/indicator.gif | Bin 0 -> 673 bytes system/FH-Complete.txp | 536 ++--- system/checksystem.php | 493 ++++- system/mlists/mlists_generate.php | 93 +- vilesci/cronjobs/cronjob.php | 55 + vilesci/cronjobs/testjob.php | 89 + vilesci/inventar/etiketten.php | 133 +- vilesci/inventar/inventar.php | 56 +- vilesci/inventar/inventar_afa.php | 67 +- vilesci/inventar/inventar_autocomplete.php | 100 +- vilesci/inventar/inventar_inventur.php | 67 +- vilesci/personen/kontaktdaten_edit.php | 187 +- vilesci/personen/lektor_edit.php | 211 -- vilesci/personen/lektor_uebersicht.php | 6 +- vilesci/personen/personen_details.php | 64 +- vilesci/stammdaten/cronjobverwaltung.php | 401 ++++ vilesci/stammdaten/raum_details.php | 8 +- 62 files changed, 4896 insertions(+), 2152 deletions(-) create mode 100644 include/cronjob.class.php create mode 100644 include/js/JSONeditor/JSONeditor.html create mode 100644 include/js/JSONeditor/JSONeditor.js create mode 100644 include/js/JSONeditor/treeBuilderImages/Thumbs.db create mode 100644 include/js/JSONeditor/treeBuilderImages/doc.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/docNode.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/docNodeLast.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/docNodeLastFirst.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folder.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folderNode.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folderNodeFirst.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folderNodeLast.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folderNodeLastFirst.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folderNodeOpen.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folderNodeOpenFirst.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folderNodeOpenLast.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folderNodeOpenLastFirst.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/folderOpen.gif create mode 100644 include/js/JSONeditor/treeBuilderImages/vertLine.gif create mode 100644 skin/images/indicator.gif create mode 100644 vilesci/cronjobs/cronjob.php create mode 100644 vilesci/cronjobs/testjob.php delete mode 100644 vilesci/personen/lektor_edit.php create mode 100644 vilesci/stammdaten/cronjobverwaltung.php diff --git a/cis/private/lehre/pinboard.php b/cis/private/lehre/pinboard.php index adffb2353..200dcffa8 100644 --- a/cis/private/lehre/pinboard.php +++ b/cis/private/lehre/pinboard.php @@ -337,15 +337,18 @@ function show(id) if($row_course_leader->telefonklappe != "") { $hauptnummer=''; + /* $qry_standort = "SELECT tbl_firma.telefon as nummer FROM public.tbl_standort, public.tbl_adresse, public.tbl_firma WHERE standort_kurzbz='".addslashes($row_course_leader->standort_kurzbz)."' AND tbl_adresse.adresse_id=tbl_standort.adresse_id AND tbl_adresse.firma_id=tbl_firma.firma_id"; + */ + $qry_standort = "SELECT kontakt FROM public.tbl_kontakt WHERE standort_id='".addslashes($row_course_leader->standort_id)."' AND kontakttyp='telefon'"; if($result_standort = $db->db_query($qry_standort)) { if($row_standort = $db->db_fetch_object($result_standort)) { - $hauptnummer = $row_standort->nummer; + $hauptnummer = $row_standort->kontakt; } } @@ -428,15 +431,18 @@ function show(id) if($row_course_leader_deputy->telefonklappe != "") { $hauptnummer=''; + /* $qry_standort = "SELECT tbl_firma.telefon as nummer FROM public.tbl_standort, public.tbl_adresse, public.tbl_firma WHERE standort_kurzbz='".addslashes($row_course_leader_deputy->standort_kurzbz)."' AND tbl_adresse.adresse_id=tbl_standort.adresse_id AND tbl_adresse.firma_id=tbl_firma.firma_id"; + */ + $qry_standort = "SELECT kontakt FROM public.tbl_kontakt WHERE standort_id='".addslashes($row_course_leader_deputy->standort_id)."' AND kontakttyp='telefon'"; if($result_standort = $db->db_query($qry_standort)) { if($row_standort = $db->db_fetch_object($result_standort)) { - $hauptnummer = $row_standort->nummer; + $hauptnummer = $row_standort->kontakt; } } @@ -514,15 +520,19 @@ function show(id) if($row_course_leader_deputy->telefonklappe != "") { $hauptnummer=''; + /* $qry_standort = "SELECT tbl_firma.telefon as nummer FROM public.tbl_standort, public.tbl_adresse, public.tbl_firma WHERE standort_kurzbz='".addslashes($row_course_leader_deputy->standort_kurzbz)."' AND tbl_adresse.adresse_id=tbl_standort.adresse_id AND tbl_adresse.firma_id=tbl_firma.firma_id"; + */ + $qry_standort = "SELECT kontakt FROM public.tbl_kontakt WHERE standort_id='".addslashes($row_course_leader_deputy->standort_id)."' AND kontakttyp='telefon'"; + if($result_standort = $db->db_query($qry_standort)) { if($row_standort = $db->db_fetch_object($result_standort)) { - $hauptnummer = $row_standort->nummer; + $hauptnummer = $row_standort->kontakt; } } @@ -598,15 +608,19 @@ function show(id) if($row_course_secretary->telefonklappe != "") { $hauptnummer=''; + /* $qry_standort = "SELECT tbl_firma.telefon as nummer FROM public.tbl_standort, public.tbl_adresse, public.tbl_firma WHERE standort_kurzbz='".addslashes($row_course_secretary->standort_kurzbz)."' AND tbl_adresse.adresse_id=tbl_standort.adresse_id AND tbl_adresse.firma_id=tbl_firma.firma_id"; + */ + $qry_standort = "SELECT kontakt FROM public.tbl_kontakt WHERE standort_id='".addslashes($row_course_secretary->standort_id)."' AND kontakttyp='telefon'"; + if($result_standort = $db->db_query($qry_standort)) { if($row_standort = $db->db_fetch_object($result_standort)) { - $hauptnummer = $row_standort->nummer; + $hauptnummer = $row_standort->kontakt; } } diff --git a/cis/private/profile/index.php b/cis/private/profile/index.php index 56d61e8ab..1fab4bea6 100644 --- a/cis/private/profile/index.php +++ b/cis/private/profile/index.php @@ -100,12 +100,12 @@ if($tel != "") { $vorwahl = '+43 1 333 40 77-'; - if($row->standort_kurzbz!='') + if($row->standort_id!='') { - $qry = "SELECT telefon FROM public.tbl_standort, public.tbl_adresse, public.tbl_firma WHERE tbl_standort.standort_kurzbz='$row->standort_kurzbz' AND tbl_standort.adresse_id=tbl_adresse.adresse_id AND tbl_adresse.firma_id=tbl_firma.firma_id"; - if($result_tel = $db->db_query($qry)) - if($row_tel = $db->db_fetch_object($result_tel)) - $vorwahl = $row_tel->telefon; + $qry = "SELECT kontakt FROM public.tbl_kontakt WHERE standort_id='$row->standort_id'"; + if($result_tel = $db->db_query($qry)) + if($row_tel = $db->db_fetch_object($result_tel)) + $vorwahl = $row_tel->kontakt; } } } diff --git a/cis/private/tools/psearch.php b/cis/private/tools/psearch.php index 00faca6be..9ceb9f249 100644 --- a/cis/private/tools/psearch.php +++ b/cis/private/tools/psearch.php @@ -19,814 +19,804 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ - require_once('../../../config/cis.config.inc.php'); - require_once('../../../include/basis_db.class.php'); - require_once('../../../include/functions.inc.php'); - require_once('../../../include/funktion.class.php'); - require_once('../../../include/studiengang.class.php'); - require_once('../../../include/person.class.php'); - require_once('../../../include/benutzer.class.php'); - require_once('../../../include/student.class.php'); - require_once('../../../include/benutzerfunktion.class.php'); - require_once('../../../include/globals.inc.php'); - - if (!$db = new basis_db()) - die('Fehler beim Oeffnen der Datenbankverbindung'); - - $uid=get_uid(); - $cmbLektorMitarbeiter=(isset($_REQUEST['cmbLektorMitarbeiter'])?$_REQUEST['cmbLektorMitarbeiter']:'all'); - $cmbChoice=(isset($_REQUEST['cmbChoice'])?$_REQUEST['cmbChoice']:null); - $txtSearchQuery=(isset($_REQUEST['txtSearchQuery'])?$_REQUEST['txtSearchQuery']:null); - $do_search=(isset($_REQUEST['do_search'])?$_REQUEST['do_search']:null); - $do_excel=(isset($_REQUEST['do_excel'])?$_REQUEST['do_excel']:(isset($_REQUEST['btnExcel_x'])?$_REQUEST['btnExcel_x']:false)); - $do_pdf=(isset($_REQUEST['do_pdf'])?$_REQUEST['do_pdf']:(isset($_REQUEST['btnPdf_x'])?$_REQUEST['btnPdf_x']:false)); - - $num_rows=0; - $rows=array(); +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/basis_db.class.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/funktion.class.php'); +require_once('../../../include/studiengang.class.php'); +require_once('../../../include/person.class.php'); +require_once('../../../include/benutzer.class.php'); +require_once('../../../include/student.class.php'); +require_once('../../../include/benutzerfunktion.class.php'); +require_once('../../../include/globals.inc.php'); - $sql_query=''; - if(isset($do_search) || $do_excel) +if (!$db = new basis_db()) + die('Fehler beim Oeffnen der Datenbankverbindung'); + +$uid=get_uid(); +$cmbLektorMitarbeiter=(isset($_REQUEST['cmbLektorMitarbeiter'])?$_REQUEST['cmbLektorMitarbeiter']:'all'); +$cmbChoice=(isset($_REQUEST['cmbChoice'])?$_REQUEST['cmbChoice']:null); +$txtSearchQuery=(isset($_REQUEST['txtSearchQuery'])?$_REQUEST['txtSearchQuery']:null); +$do_search=(isset($_REQUEST['do_search'])?$_REQUEST['do_search']:null); +$do_excel=(isset($_REQUEST['do_excel'])?$_REQUEST['do_excel']:(isset($_REQUEST['btnExcel_x'])?$_REQUEST['btnExcel_x']:false)); +$do_pdf=(isset($_REQUEST['do_pdf'])?$_REQUEST['do_pdf']:(isset($_REQUEST['btnPdf_x'])?$_REQUEST['btnPdf_x']:false)); + +$num_rows=0; +$rows=array(); + +$sql_query=''; +if(isset($do_search) || $do_excel) +{ + $sql_extend_query= " and ( tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND + (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) "; + + if ($cmbLektorMitarbeiter=='all' || $cmbLektorMitarbeiter=='Mitarbeiter_Alle' + || $cmbLektorMitarbeiter=='Mitarbeiter_Fix' || $cmbLektorMitarbeiter=='Mitarbeiter_Extern') { - $sql_extend_query= " and ( tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) "; - - if ($cmbLektorMitarbeiter=='all' || $cmbLektorMitarbeiter=='Mitarbeiter_Alle' - || $cmbLektorMitarbeiter=='Mitarbeiter_Fix' || $cmbLektorMitarbeiter=='Mitarbeiter_Extern') - { - if($txtSearchQuery == "" || $txtSearchQuery == "*" || $txtSearchQuery == "*.*") - { - if($cmbChoice == "all") - $sql_query.= "SELECT person_id, uid, titelpre, titelpost, nachname, vorname, vornamen, standort_kurzbz, telefonklappe as teltw,(uid || '@".DOMAIN."') AS emailtw, foto,-1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort, alias, CASE WHEN (fixangestellt) THEN 'Fix' ELSE 'Extern' END as personenart FROM campus.vw_mitarbeiter WHERE 1=1 "; - else - $sql_query.= "SELECT DISTINCT person_id, uid, titelpre, titelpost, nachname, vorname, vornamen, standort_kurzbz, telefonklappe AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort, alias, CASE WHEN (fixangestellt) THEN 'Fix' ELSE 'Extern' END as personenart FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion using(uid) WHERE funktion_kurzbz='$cmbChoice' AND aktiv ".$sql_extend_query; - } - else - { - $txtSearchQuery = addslashes($txtSearchQuery); - if($cmbChoice == "all") - $sql_query.= "SELECT DISTINCT person_id, uid, titelpre, titelpost, nachname, vorname, vornamen, standort_kurzbz, telefonklappe AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort, alias, CASE WHEN (fixangestellt) THEN 'Fix' ELSE 'Extern' END as personenart FROM campus.vw_mitarbeiter WHERE (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND aktiv=TRUE "; - else - $sql_query.= "SELECT DISTINCT person_id, uid, titelpre, titelpost, nachname, vorname, vornamen, standort_kurzbz, telefonklappe AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort, alias, CASE WHEN (fixangestellt) THEN 'Fix' ELSE 'Extern' END as personenart FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion USING(uid) WHERE ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND funktion_kurzbz='$cmbChoice') AND aktiv=TRUE ".$sql_extend_query; - } - - if ($cmbLektorMitarbeiter=='Mitarbeiter_Fix') - $sql_query.= ' AND fixangestellt '; - if ($cmbLektorMitarbeiter=='Mitarbeiter_Extern') - $sql_query.= ' AND not fixangestellt '; - } - - if ($cmbLektorMitarbeiter=='all') - $sql_query.= " UNION "; - - if ($cmbLektorMitarbeiter=='all' || $cmbLektorMitarbeiter=='Student') - { - if($txtSearchQuery == "" || $txtSearchQuery == "*" || $txtSearchQuery == "*.*") - { - if($cmbChoice == "all") - $sql_query.= " SELECT DISTINCT person_id,uid, titelpre, titelpost, nachname, vorname, vornamen,(''::varchar) AS standort_kurzbz, (''::varchar) AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, studiengang_kz, vw_student.semester, ''::varchar as ort, alias,CASE WHEN (TRUE) THEN 'StudentIn' ELSE 'StudentIn' END as personenart FROM campus.vw_student WHERE vw_student.semester<10 "; - else - $sql_query.= " SELECT DISTINCT person_id,uid, titelpre,titelpost, nachname, vorname, vornamen,(''::varchar) AS standort_kurzbz, (''::varchar) AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, vw_student.studiengang_kz, vw_student.semester, ''::varchar as ort, alias,CASE WHEN (TRUE) THEN 'StudentIn' ELSE 'StudentIn' END as personenart FROM campus.vw_student JOIN public.tbl_benutzerfunktion using(uid) WHERE vw_student.semester<10 AND funktion_kurzbz='$cmbChoice' AND aktiv ".$sql_extend_query; - } - else - { - $txtSearchQuery = addslashes($txtSearchQuery); - if($cmbChoice == "all") - $sql_query.= " SELECT DISTINCT person_id,uid, titelpre, titelpost, nachname, vorname, vornamen,(''::varchar) AS standort_kurzbz, (''::varchar) AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort, alias,CASE WHEN (TRUE) THEN 'StudentIn' ELSE 'StudentIn' END as personenart FROM campus.vw_student WHERE semester<10 AND (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) "; - else - $sql_query.= " SELECT DISTINCT person_id,uid, titelpre, titelpost, nachname, vorname, vornamen,(''::varchar) AS standort_kurzbz, (''::varchar) AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, vw_student.studiengang_kz, vw_student.semester, ''::varchar as ort, alias,CASE WHEN (TRUE) THEN 'StudentIn' ELSE 'StudentIn' END as personenart FROM campus.vw_student JOIN public.tbl_benutzerfunktion USING(uid) WHERE vw_student.semester <10 AND ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND funktion_kurzbz='$cmbChoice') AND aktiv=TRUE ".$sql_extend_query; - } - } - $sql_query.= " ORDER BY nachname, vorname"; - - $num_rows=0; - if ($sql_query && $result = $db->db_query($sql_query)) - $num_rows = $db->db_num_rows($result); - - if($num_rows > 0) - { - // **** EXCEL - if ($do_excel) - { - require_once('../../../include/Excel/excel.php'); - // Creating a workbook - $workbook = new Spreadsheet_Excel_Writer(); - $workbook->setVersion(8); - // sending HTTP headers - $workbook->send("Personensuche_FH_Technikum_Wien_" . date("d_m_Y").".xls"); - // Creating a worksheet - $worksheet =& $workbook->addWorksheet("Personensuche FH Technikum Wien"); - $worksheet->setInputEncoding('utf-8'); - - $format_bold =& $workbook->addFormat(); - $format_bold->setBold(); - - $spalte=0; - $zeile=0; -## $worksheet->write($zeile,$spalte,'Personensuche FH Technikum Wien erstellt am '.date("d.m.Y"), $format_bold); - - $maxlength = array(); - - //Ueberschrift - $spalte=0; - $zeile++; - $worksheet->write($zeile,$spalte,"Titel", $format_bold); - $maxlength[$spalte]=strlen('Titel'); - $worksheet->write($zeile,++$spalte,"Vorname", $format_bold); - $maxlength[$spalte]=strlen('Vorname'); - $worksheet->write($zeile,++$spalte,"Nachname", $format_bold); - $maxlength[$spalte]=strlen('Nachname'); - - - $worksheet->write($zeile,++$spalte,"Telefonnummer", $format_bold); - $maxlength[$spalte]=strlen('Telefonnummer'); - $worksheet->write($zeile,++$spalte,"E-Mail Adresse", $format_bold); - $maxlength[$spalte]=strlen('E-Mail Adresse'); - $worksheet->write($zeile,++$spalte,"Raum", $format_bold); - $maxlength[$spalte]=strlen('Raum'); - $worksheet->write($zeile,++$spalte,"Studiengang", $format_bold); - $maxlength[$spalte]=strlen('Studiengang'); - $worksheet->write($zeile,++$spalte,"Semester", $format_bold); - $maxlength[$spalte]=strlen('Semester'); - $worksheet->write($zeile,++$spalte,"Hauptverteiler", $format_bold); - $maxlength[$spalte]=strlen('Hauptverteiler'); - $worksheet->write($zeile,++$spalte,"Kz", $format_bold); - $maxlength[$spalte]=strlen('Kz'); - $worksheet->write($zeile,++$spalte,"Funktion", $format_bold); - $maxlength[$spalte]=strlen('Funktion'); - $worksheet->write($zeile,++$spalte,"Handy", $format_bold); - $maxlength[$spalte]=strlen('Handy'); - - - for($i = 0; $i < $num_rows; $i++) - { - $row = $db->db_fetch_object($result, $i); - - $spalte=0; - $zeile++; - - $titel=(isset($row->titelpre) && $row->titelpre?$row->titelpre:''); - $worksheet->write($zeile,$spalte,$titel); - $maxlength[$spalte]=strlen($titel); - - $vorname=''; - if(isset($row->nachname) && $row->vorname != "") - { - $vorname=$row->vorname; - if($row->vornamen != "") - $vorname.=' '.substr($row->vornamen,0,1).'.'; - } - $worksheet->write($zeile,++$spalte,$vorname); - $maxlength[$spalte]=strlen($vorname); - - $nachname=(isset($row->nachname) && $row->nachname?$row->nachname:''); - $worksheet->write($zeile,++$spalte,$nachname); - $maxlength[$spalte]=strlen($nachname); - - if($row->teltw != "") - { - $vorwahl = ''; - if($row->standort_kurzbz!='') - { - $qry = "SELECT telefon FROM public.tbl_standort, public.tbl_adresse, public.tbl_firma WHERE tbl_standort.standort_kurzbz='$row->standort_kurzbz' AND tbl_standort.adresse_id=tbl_adresse.adresse_id AND tbl_adresse.firma_id=tbl_firma.firma_id"; - if($result_tel = $db->db_query($qry)) - { - if($result_tel && $row_tel = $db->db_fetch_object($result_tel)) - $vorwahl = $row_tel->telefon; - } - } - } - $tel=(isset($row->teltw) && $row->teltw?$vorwahl.' - '.$row->teltw:' '); - - $worksheet->write($zeile,++$spalte,$tel); - $maxlength[$spalte]=strlen($tel); - - if ($row->alias && !in_array($row->studiengang_kz,$noalias)) - $mail=(isset($row->alias) && $row->alias?$row->alias.'@'.DOMAIN:''); - else - $mail=(isset($row->emailtw) && $row->emailtw?$row->emailtw:''); - - $worksheet->write($zeile,++$spalte,$mail); - $maxlength[$spalte]=strlen($mail); - - $ort=(isset($row->ort) && $row->ort?$row->ort:''); - $worksheet->write($zeile,++$spalte,$ort); - $maxlength[$spalte]=strlen($ort); - - $kurzbz=''; - if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) - { - if ($stg_obj = new studiengang($row->studiengang_kz)) - $kurzbz=$stg_obj->kuerzel; - } - $row->kurzbz=$kurzbz; - $worksheet->write($zeile,++$spalte,$kurzbz); - $maxlength[$spalte]=strlen($kurzbz); - - $sem=(isset($row->semester) && $row->semester && $row->semester!= -1?$row->semester:' '); - $worksheet->write($zeile,++$spalte,"Semester"); - $maxlength[$spalte]=strlen('Semester'); - - $verband=''; - $gruppe=''; - $verteiler=''; - if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) - { - if ($std_obj = new student($row->uid)) - { - $verband=$std_obj->verband; - $gruppe=$std_obj->gruppe; - } - $kurzbz=strtolower($kurzbz); - $verband=strtolower($verband); - //if($row->studiengang_kz != -1) - // $row->semester=''; - $verteiler=trim($kurzbz.$row->semester.$verband.$gruppe); - $verteiler.=($verteiler?'@'.DOMAIN:''); - } - $worksheet->write($zeile,++$spalte,$verteiler); - $maxlength[$spalte]=strlen($verteiler); - - $kz=(isset($row->personenart) && $row->personenart?$row->personenart:''); - $worksheet->write($zeile,++$spalte,$kz); - $maxlength[$spalte]=strlen('Kz'); - - $funktion='-'; - if(isset($row->personenart) && $row->personenart!='StudentIn') - { - $funktion=''; - //Funktionen - $qry = "SELECT distinct - *, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz, tbl_organisationseinheit.bezeichnung as oe_bezeichnung, - tbl_benutzerfunktion.semester, tbl_benutzerfunktion.bezeichnung as bf_bezeichnung - FROM - public.tbl_benutzerfunktion - JOIN public.tbl_funktion USING(funktion_kurzbz) - JOIN public.tbl_organisationseinheit USING(oe_kurzbz) - WHERE - uid='".$row->uid."' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - order by tbl_benutzerfunktion.bezeichnung - "; - - if($result_funktion = $db->db_query($qry)) - { - $anz_funktion=$db->db_num_rows($result_funktion); - if($anz_funktion>0) - { - while($row_funktion = $db->db_fetch_object($result_funktion)) - { - if ($funktion) - $funktion.=', '; - $funktion.=$row_funktion->bf_bezeichnung.' '.$row_funktion->organisationseinheittyp_kurzbz.' '.$row_funktion->oe_bezeichnung ." ".$row_funktion->semester." ".$row_funktion->fachbereich_kurzbz; - } - } - } - } - $worksheet->write($zeile,++$spalte,$funktion); - $maxlength[$spalte]=strlen($funktion); - - $funktion='-'; - if(isset($row->person_id) && $row->personenart!='StudentIn') - { - //Funktionen - $qry = "SELECT distinct tbl_kontakt.kontakttyp,tbl_kontakt.anmerkung,tbl_kontakt.kontakt,tbl_kontakttyp.beschreibung - FROM - public.tbl_kontakt - JOIN public.tbl_kontakttyp USING(kontakttyp) - WHERE - tbl_kontakt.kontakttyp ='mobil' - and tbl_kontakt.person_id='".$row->person_id."' "; - - if($result_kontakt = $db->db_query($qry)) - { - $anz_kontakt=$db->db_num_rows($result_kontakt); - if($anz_kontakt>0) - { - $funktion=''; - while($row_kontakt = $db->db_fetch_object($result_kontakt)) - { - if (!$row_kontakt->kontakttyp || !stristr($row_kontakt->kontakttyp,'Firmenhandy') ) - continue; - if ($funktion) - $funktion.=', '; - $funktion.=$row_kontakt->anmerkung." ".$row_kontakt->kontakt." ".$row_kontakt->beschreibung; - } - } - } - } - $worksheet->write($zeile,++$spalte,$funktion); - $maxlength[$spalte]=strlen($funktion); - - } - //Die Breite der Spalten setzen - foreach($maxlength as $i=>$breite) - $worksheet->setColumn($i, $i, $breite+2); - - $workbook->close(); - exit; - } - - // **** PDF - if ($do_pdf) - { - $rows=array(); - $rows_anz=array(); - for($i = 0; $i < $num_rows; $i++) - { - $row = $db->db_fetch_object($result, $i); - - $row->titelpre=trim(isset($row->titelpre) && $row->titelpre?$row->titelpre:''); - $vorname=$row->vorname; - if(isset($row->nachname) && $row->vorname != "") - { - $vorname=$row->vorname; - if($row->vornamen != "") - $vorname.=' '.substr($row->vornamen,0,1).'.'; - } - $row->vorname=$vorname; - if($row->teltw != "") - { - $vorwahl = ''; - if($row->standort_kurzbz!='') - { - $qry = "SELECT telefon FROM public.tbl_standort, public.tbl_adresse, public.tbl_firma WHERE tbl_standort.standort_kurzbz='$row->standort_kurzbz' AND tbl_standort.adresse_id=tbl_adresse.adresse_id AND tbl_adresse.firma_id=tbl_firma.firma_id"; - if($result_tel = $db->db_query($qry)) - { - if($result_tel && $row_tel = $db->db_fetch_object($result_tel)) - $vorwahl = $row_tel->telefon; - } - } - } - $row->teltw=(isset($row->teltw) && $row->teltw?$vorwahl.' - '.$row->teltw:''); - if ($row->alias && !in_array($row->studiengang_kz, $noalias)) - $mail=(isset($row->alias) && $row->alias?$row->alias.'@'.DOMAIN:''); - else - $mail=(isset($row->emailtw) && $row->emailtw?$row->emailtw:''); - $row->email=$mail; - - $row->ort=(isset($row->ort) && $row->ort?$row->ort:''); - //$row->semester=(isset($row->semester) && $row->semester && $row->semester!= -1?$row->semester:'-'); - - $verband=''; - $gruppe=''; - $verteiler=''; - $kurzbz=''; - if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) - { - if ($stg_obj = new studiengang($row->studiengang_kz)) -# $kurzbz=$stg_obj->bezeichnung; - $kurzbz=$stg_obj->kurzbzlang; -##var_dump($stg_obj); -#exit; - $row->kurzbz=$kurzbz; - if(isset($row->studiengang_kz) && $row->studiengang_kz != -1 && $row->studiengang_kz != '' && $row->studiengang_kz != '-') - { - if ($std_obj = new student($row->uid)) - { - $verband=$std_obj->verband; - $gruppe=$std_obj->gruppe; - } - $verband=strtolower($verband); - $verteiler=trim(strtolower($kurzbz).$row->semester.$verband.$gruppe); - $verteiler.=($verteiler?'@'.DOMAIN:''); - } - } - else - $row->studiengang_kz='-'; - - $row->kurzbz=$kurzbz; - $row->verband=$verband; - $row->gruppe=$gruppe; - $row->verteiler=$verteiler; - if ($row->verteiler) - $row->email=$row->email."\n".$row->verteiler; - - $row->kz=(isset($row->personenart) && $row->personenart?$row->personenart:''); - - $funktion='-'; - if(isset($row->personenart) && $row->personenart!='StudentIn') - { - $funktion=''; - //Funktionen - $qry = "SELECT distinct - *, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz, tbl_organisationseinheit.bezeichnung as oe_bezeichnung, - tbl_benutzerfunktion.semester, tbl_benutzerfunktion.bezeichnung as bf_bezeichnung - FROM - public.tbl_benutzerfunktion - JOIN public.tbl_funktion USING(funktion_kurzbz) - JOIN public.tbl_organisationseinheit USING(oe_kurzbz) - WHERE - uid='".$row->uid."' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - order by tbl_benutzerfunktion.bezeichnung - "; - - if($result_funktion = $db->db_query($qry)) - { - $anz_funktion=$db->db_num_rows($result_funktion); - if($anz_funktion>0) - { - while($row_funktion = $db->db_fetch_object($result_funktion)) - { - if ($funktion) - $funktion.=', '; - $funktion.=$row_funktion->bf_bezeichnung.' '.$row_funktion->organisationseinheittyp_kurzbz.' '.$row_funktion->oe_bezeichnung ." ".$row_funktion->semester." ".$row_funktion->fachbereich_kurzbz; - } - } - } - } - $row->funktion=$funktion; - - $funktion='-'; - if(isset($row->person_id) && $row->personenart!='StudentIn') - { - //Funktionen - $qry = "SELECT distinct tbl_kontakt.kontakttyp,tbl_kontakt.anmerkung,tbl_kontakt.kontakt,tbl_kontakttyp.beschreibung - FROM - public.tbl_kontakt - JOIN public.tbl_kontakttyp USING(kontakttyp) - WHERE - tbl_kontakt.kontakttyp ='Firmenhandy' - and tbl_kontakt.person_id='".$row->person_id."' "; - - if($result_kontakt = $db->db_query($qry)) - { - $anz_kontakt=$db->db_num_rows($result_kontakt); - if($anz_kontakt>0) - { - $funktion=''; - while($row_kontakt = $db->db_fetch_object($result_kontakt)) - { - if (!$row_kontakt->kontakttyp || !stristr($row_kontakt->kontakttyp,'Firmenhandy') ) - continue; - if ($funktion) - $funktion.=', '; - $funktion.=$row_kontakt->anmerkung." ".$row_kontakt->kontakt." ".$row_kontakt->beschreibung; - } - } - } - } - $row->firmenhandy=$funktion; - - foreach ($row as $key => $value) - { - $row->$key=trim(iconv('UTF-8','ISO-8859-15',$row->$key)); - $anz=strlen($value); -## echo "
$key $value $anz "; - if (!isset($rows_anz[$key]) || $rows_anz[$key]<$anz) - $rows_anz[$key]=$anz; - } - $rows[]=$row; - } - - - require_once('../../../include/pdf/fpdf.php'); - class PDF extends FPDF - { - //Simple table - function BasicTable($header,$data,$items,$rows_anz) - { - //Header - foreach($header as $col) - $this->Cell(40,7,$col,1); - $this->Ln(); - //Data - foreach($data as $row) - { - foreach($items as $col) - { - if (!isset($row->$col)) - die("Achtung ! Die Spalte $col wurde nicht in den Daten gefunden."); - $this->Cell(40,6,$row->$col,1); - } - $this->Ln(); - } - } - - //Better table - function ImprovedTable($header,$data,$items,$rows_anz) - { - //Header - for($i=0;$iCell($rows_anz[$items[$i]] *2.5 ,7,$header[$i],1,0,'C'); - $this->Ln(); - //Data - foreach($data as $row) - { - $i=0; - foreach($items as $col) - { - if (!isset($row->$col)) - die("Achtung ! Die Spalte $col wurde nicht in den Daten gefunden."); - $this->Cell($rows_anz[$items[$i]] *2.5,6,$row->$col,'LR'); - $i++; - } - $this->Ln(); - } - } - - var $widths; - var $aligns; - function SetWidths($w) - { - //Set the array of column widths - if (is_array($w) && isset($w[0])) - $this->widths=$w; - else if (is_array($w) ) - { - $this->widths=array(); - foreach ($w as $key => $value) - $this->widths[]=$value; - } - if (!is_array($this->widths) || !isset($this->widths[0])) - return; - - } - - function SetAligns($a) - { - //Set the array of column alignments - $this->aligns=$a; - } - - function Row($data,$fill=false) - { - - if (is_array($data) && isset($data[0])) - { - $row_data=$data; - } - else if (is_array($data) || is_object($data)) - { - $row_data=array(); - foreach ($data as $key => $value) - $row_data[]=$value; - } - else - { - $this->Cell(40,10,'Keine Daten uebergeben '); - return; - } - //Calculate the height of the row - $nb=0; - for($i=0;$iNbLines($this->widths[$i], $row_data[$i])); - $h=5*$nb; - //Issue a page break first if needed - $this->CheckPageBreak($h); - //Draw the cells of the row - for($i=0;$iwidths[$i]; - $a=isset($this->aligns[$i]) ? $this->aligns[$i] : 'L'; - //Save the current position - $x=$this->GetX(); - $y=$this->GetY(); - //Draw the border - $this->Rect($x, $y, $w, $h); - //Print the text - $this->MultiCell($w, 5, $row_data[$i], 0, $a,$fill); - //Put the position to the right of the cell - $this->SetXY($x+$w, $y); - } - //Go to the next line - $this->Ln($h); - } - - function CheckPageBreak($h) - { - //If the height h would cause an overflow, add a new page immediately - if($this->GetY()+$h>$this->PageBreakTrigger) - $this->AddPage($this->CurOrientation); - } - - function NbLines($w, $txt) - { - //Computes the number of lines a MultiCell of width w will take - $cw=&$this->CurrentFont['cw']; - if($w==0) - $w=$this->w-$this->rMargin-$this->x; - $wmax=((($w - 2) *$this->cMargin)*1000 ) / $this->FontSize; - - $s=str_replace("\r", '', $txt); - $nb=strlen($s); - if($nb>0 and $s[$nb-1]=="\n") - $nb--; - $sep=-1; - $i=0; - $j=0; - $l=0; - $nl=1; - while($i<$nb) - { - $c=$s[$i]; - if($c=="\n") - { - $i++; - $sep=-1; - $j=$i; - $l=0; - $nl++; - continue; - } - if($c==' ') - $sep=$i; - $l+=$cw[$c]; - if($l>$wmax) - { - if($sep==-1) - { - if($i==$j) - $i++; - } - else - $i=$sep+1; - $sep=-1; - $j=$i; - $l=0; - $nl++; - } - else - $i++; - } - return $nl; - } - //Colored table - function FancyTable($header,$data,$items,$rows_anz) - { - //Colors, line width and bold font - $this->SetFillColor(102,205,170); - $this->SetTextColor(255); - $this->SetDrawColor(0,0,0); - $this->SetLineWidth(.1); - $this->SetFont('','B'); - //Header - $width=array(); - reset($items); - foreach($items as $col) - { - if (!isset($rows_anz[$col])) - die("Achtung ! Die Spalte $col wurde nicht in den Daten gefunden."); - $width[]=$rows_anz[$col]; - } - $this->SetWidths($width); - $this->SetAligns('C'); - $row_data=array(); - for($i=0;$iRow($row_data,true); - //Data - //Color and font restoration 95,158,160 - $this->SetFillColor(224,235,255); - $this->SetTextColor(0); - $this->SetFont(''); - $this->SetAligns('L'); - $fill=false; - foreach($data as $row) - { - $i=0; - $row_data=array(); - reset($items); - foreach($items as $col) - { - if (!isset($row->$col)) - die("Achtung ! Die Spalte $col wurde nicht in den Daten gefunden."); - $row_data[]=$row->$col; - $i++; - } - $fill=false; - $this->Row($row_data,$fill); - $fill=!$fill; - } - } - } // Ende Extend FPDF Class - - - // Creating a workbook - $orientation='l'; // 'p' -## $orientation='p'; // 'p' - $pdf = new PDF($orientation); - - $pdf->SetTitle('Personensuche '.CAMPUS_NAME); - $pdf->SetSubject(CAMPUS_NAME . date('Y-m-d')); - $pdf->SetAuthor(CAMPUS_NAME); - $pdf->SetCreator($uid) ; - + if($txtSearchQuery == "" || $txtSearchQuery == "*" || $txtSearchQuery == "*.*") + { + if($cmbChoice == "all") + $sql_query.= "SELECT person_id, uid, titelpre, titelpost, nachname, vorname, vornamen, standort_id, telefonklappe as teltw,(uid || '@".DOMAIN."') AS emailtw, foto,-1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort, alias, CASE WHEN (fixangestellt) THEN 'Fix' ELSE 'Extern' END as personenart FROM campus.vw_mitarbeiter WHERE 1=1 "; + else + $sql_query.= "SELECT DISTINCT person_id, uid, titelpre, titelpost, nachname, vorname, vornamen, standort_id, telefonklappe AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort, alias, CASE WHEN (fixangestellt) THEN 'Fix' ELSE 'Extern' END as personenart FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion using(uid) WHERE funktion_kurzbz='$cmbChoice' AND aktiv ".$sql_extend_query; + } + else + { + $txtSearchQuery = addslashes($txtSearchQuery); + if($cmbChoice == "all") + $sql_query.= "SELECT DISTINCT person_id, uid, titelpre, titelpost, nachname, vorname, vornamen, standort_id, telefonklappe AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort, alias, CASE WHEN (fixangestellt) THEN 'Fix' ELSE 'Extern' END as personenart FROM campus.vw_mitarbeiter WHERE (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND aktiv=TRUE "; + else + $sql_query.= "SELECT DISTINCT person_id, uid, titelpre, titelpost, nachname, vorname, vornamen, standort_id, telefonklappe AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, -1 AS studiengang_kz, -1 AS semester, ort_kurzbz as ort, alias, CASE WHEN (fixangestellt) THEN 'Fix' ELSE 'Extern' END as personenart FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion USING(uid) WHERE ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND funktion_kurzbz='$cmbChoice') AND aktiv=TRUE ".$sql_extend_query; + } - //Column titles - $header=array('Titel','Vorname','Nachname','Tel.nr','E-Mail Adresse / Hauptverteiler','Raum','Studieng','Sem','Personenart','Handy','Funktion' ); - //Data loading -## $item=array('titelpre','vorname','nachname','teltw','email','ort','studiengang_kz','semester','kz','firmenhandy','funktion' ); - $item=array('titelpre','vorname','nachname','teltw','email','ort','kurzbz','semester','kz','firmenhandy','funktion' ); - - foreach ($item as $key => $value) - { - $anz=strlen($header[$key]); - if (!isset($rows_anz[$value]) || $rows_anz[$value]<$anz) - $rows_anz[$value]=$anz; - } - - $rows_anz['titelpre']=10; - $rows_anz['nachname']=35; - $rows_anz['vorname']=35; - $rows_anz['teltw']=25; - $rows_anz['firmenhandy']=25; - $rows_anz['kurzbz']=12; - $rows_anz['kz']=15; - $rows_anz['semester']=7; - $rows_anz['email']=50; - $rows_anz['funktion']=45; - - $pdf->SetFont('Arial','',6); - $pdf->AddPage(); - if (count($rows)>0) - { -# $pdf->BasicTable($header,$rows,$item,$rows_anz); -# $pdf->AddPage(); -# $pdf->ImprovedTable($header,$rows,$item,$rows_anz); -# $pdf->AddPage(); - $pdf->FancyTable($header,$rows,$item,$rows_anz); - } - else - $pdf->Cell(40,10,'Keine Daten gefunden'); - $pdf->Output(); - exit; - } - - - } + if ($cmbLektorMitarbeiter=='Mitarbeiter_Fix') + $sql_query.= ' AND fixangestellt '; + if ($cmbLektorMitarbeiter=='Mitarbeiter_Extern') + $sql_query.= ' AND not fixangestellt '; } + + if ($cmbLektorMitarbeiter=='all') + $sql_query.= " UNION "; + + if ($cmbLektorMitarbeiter=='all' || $cmbLektorMitarbeiter=='Student') + { + if($txtSearchQuery == "" || $txtSearchQuery == "*" || $txtSearchQuery == "*.*") + { + if($cmbChoice == "all") + $sql_query.= " SELECT DISTINCT person_id,uid, titelpre, titelpost, nachname, vorname, vornamen,null::integer AS standort_id, (''::varchar) AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, studiengang_kz, vw_student.semester, ''::varchar as ort, alias,CASE WHEN (TRUE) THEN 'StudentIn' ELSE 'StudentIn' END as personenart FROM campus.vw_student WHERE vw_student.semester<10 "; + else + $sql_query.= " SELECT DISTINCT person_id,uid, titelpre,titelpost, nachname, vorname, vornamen,null::integer AS standort_id, (''::varchar) AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, vw_student.studiengang_kz, vw_student.semester, ''::varchar as ort, alias,CASE WHEN (TRUE) THEN 'StudentIn' ELSE 'StudentIn' END as personenart FROM campus.vw_student JOIN public.tbl_benutzerfunktion using(uid) WHERE vw_student.semester<10 AND funktion_kurzbz='$cmbChoice' AND aktiv ".$sql_extend_query; + } + else + { + $txtSearchQuery = addslashes($txtSearchQuery); + if($cmbChoice == "all") + $sql_query.= " SELECT DISTINCT person_id,uid, titelpre, titelpost, nachname, vorname, vornamen,null::integer AS standort_id, (''::varchar) AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, studiengang_kz, semester, ''::varchar as ort, alias,CASE WHEN (TRUE) THEN 'StudentIn' ELSE 'StudentIn' END as personenart FROM campus.vw_student WHERE semester<10 AND (LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) "; + else + $sql_query.= " SELECT DISTINCT person_id,uid, titelpre, titelpost, nachname, vorname, vornamen,null::integer AS standort_id, (''::varchar) AS teltw, (uid || '@".DOMAIN."') AS emailtw, foto, vw_student.studiengang_kz, vw_student.semester, ''::varchar as ort, alias,CASE WHEN (TRUE) THEN 'StudentIn' ELSE 'StudentIn' END as personenart FROM campus.vw_student JOIN public.tbl_benutzerfunktion USING(uid) WHERE vw_student.semester <10 AND ((LOWER(nachname) LIKE LOWER('%$txtSearchQuery%') OR uid LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(nachname || ' ' || vorname) LIKE LOWER('%$txtSearchQuery%') OR LOWER(vorname || ' ' || nachname) LIKE LOWER('%$txtSearchQuery%')) AND funktion_kurzbz='$cmbChoice') AND aktiv=TRUE ".$sql_extend_query; + } + } + $sql_query.= " ORDER BY nachname, vorname"; + $num_rows=0; + if ($sql_query && $result = $db->db_query($sql_query)) + $num_rows = $db->db_num_rows($result); + + if($num_rows > 0) + { + // **** EXCEL + if ($do_excel) + { + require_once('../../../include/Excel/excel.php'); + // Creating a workbook + $workbook = new Spreadsheet_Excel_Writer(); + $workbook->setVersion(8); + // sending HTTP headers + $workbook->send("Personensuche_FH_Technikum_Wien_" . date("d_m_Y").".xls"); + // Creating a worksheet + $worksheet =& $workbook->addWorksheet("Personensuche FH Technikum Wien"); + $worksheet->setInputEncoding('utf-8'); + + $format_bold =& $workbook->addFormat(); + $format_bold->setBold(); + + $spalte=0; + $zeile=0; + + $maxlength = array(); + + //Ueberschrift + $spalte=0; + $zeile++; + $worksheet->write($zeile,$spalte,"Titel", $format_bold); + $maxlength[$spalte]=strlen('Titel'); + $worksheet->write($zeile,++$spalte,"Vorname", $format_bold); + $maxlength[$spalte]=strlen('Vorname'); + $worksheet->write($zeile,++$spalte,"Nachname", $format_bold); + $maxlength[$spalte]=strlen('Nachname'); + $worksheet->write($zeile,++$spalte,"Titel", $format_bold); + $maxlength[$spalte]=strlen('Titel'); + + + $worksheet->write($zeile,++$spalte,"Telefonnummer", $format_bold); + $maxlength[$spalte]=strlen('Telefonnummer'); + $worksheet->write($zeile,++$spalte,"E-Mail Adresse", $format_bold); + $maxlength[$spalte]=strlen('E-Mail Adresse'); + $worksheet->write($zeile,++$spalte,"Raum", $format_bold); + $maxlength[$spalte]=strlen('Raum'); + $worksheet->write($zeile,++$spalte,"Studiengang", $format_bold); + $maxlength[$spalte]=strlen('Studiengang'); + $worksheet->write($zeile,++$spalte,"Semester", $format_bold); + $maxlength[$spalte]=strlen('Semester'); + $worksheet->write($zeile,++$spalte,"Hauptverteiler", $format_bold); + $maxlength[$spalte]=strlen('Hauptverteiler'); + $worksheet->write($zeile,++$spalte,"Kz", $format_bold); + $maxlength[$spalte]=strlen('Kz'); + $worksheet->write($zeile,++$spalte,"Funktion", $format_bold); + $maxlength[$spalte]=strlen('Funktion'); + $worksheet->write($zeile,++$spalte,"Handy", $format_bold); + $maxlength[$spalte]=strlen('Handy'); + + + for($i = 0; $i < $num_rows; $i++) + { + $row = $db->db_fetch_object($result, $i); + + $spalte=0; + $zeile++; + + $titel=(isset($row->titelpre) && $row->titelpre?$row->titelpre:''); + $worksheet->write($zeile,$spalte,$titel); + $maxlength[$spalte]=strlen($titel); + + $vorname=''; + if(isset($row->nachname) && $row->vorname != "") + { + $vorname=$row->vorname; + if($row->vornamen != "") + $vorname.=' '.substr($row->vornamen,0,1).'.'; + } + $worksheet->write($zeile,++$spalte,$vorname); + $maxlength[$spalte]=strlen($vorname); + + $nachname=(isset($row->nachname) && $row->nachname?$row->nachname:''); + $worksheet->write($zeile,++$spalte,$nachname); + $maxlength[$spalte]=strlen($nachname); + + $titelpost=(isset($row->titelpost) && $row->titelpost?$row->titelpost:''); + $worksheet->write($zeile,++$spalte,$titelpost); + $maxlength[$spalte]=strlen($titelpost); + + if($row->teltw != "") + { + $vorwahl = ''; + if($row->standort_id!='') + { + $qry = "SELECT kontakt as telefon FROM public.tbl_kontakt WHERE standort_id='$row->standort_id' AND kontakttyp='telefon'"; + if($result_tel = $db->db_query($qry)) + { + if($result_tel && $row_tel = $db->db_fetch_object($result_tel)) + $vorwahl = $row_tel->telefon; + } + } + } + $tel=(isset($row->teltw) && $row->teltw?$vorwahl.' - '.$row->teltw:' '); + + $worksheet->write($zeile,++$spalte,$tel); + $maxlength[$spalte]=strlen($tel); + + if ($row->alias && !in_array($row->studiengang_kz,$noalias)) + $mail=(isset($row->alias) && $row->alias?$row->alias.'@'.DOMAIN:''); + else + $mail=(isset($row->emailtw) && $row->emailtw?$row->emailtw:''); + + $worksheet->write($zeile,++$spalte,$mail); + $maxlength[$spalte]=strlen($mail); + + $ort=(isset($row->ort) && $row->ort?$row->ort:''); + $worksheet->write($zeile,++$spalte,$ort); + $maxlength[$spalte]=strlen($ort); + + $kurzbz=''; + if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) + { + if ($stg_obj = new studiengang($row->studiengang_kz)) + $kurzbz=$stg_obj->kuerzel; + } + $row->kurzbz=$kurzbz; + $worksheet->write($zeile,++$spalte,$kurzbz); + $maxlength[$spalte]=strlen($kurzbz); + + $sem=(isset($row->semester) && $row->semester && $row->semester!= -1?$row->semester:' '); + $worksheet->write($zeile,++$spalte,"Semester"); + $maxlength[$spalte]=strlen('Semester'); + + $verband=''; + $gruppe=''; + $verteiler=''; + if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) + { + if ($std_obj = new student($row->uid)) + { + $verband=$std_obj->verband; + $gruppe=$std_obj->gruppe; + } + $kurzbz=strtolower($kurzbz); + $verband=strtolower($verband); + + $verteiler=trim($kurzbz.$row->semester.$verband.$gruppe); + $verteiler.=($verteiler?'@'.DOMAIN:''); + } + $worksheet->write($zeile,++$spalte,$verteiler); + $maxlength[$spalte]=strlen($verteiler); + + $kz=(isset($row->personenart) && $row->personenart?$row->personenart:''); + $worksheet->write($zeile,++$spalte,$kz); + $maxlength[$spalte]=strlen('Kz'); + + $funktion='-'; + if(isset($row->personenart) && $row->personenart!='StudentIn') + { + $funktion=''; + //Funktionen + $qry = "SELECT distinct + *, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz, tbl_organisationseinheit.bezeichnung as oe_bezeichnung, + tbl_benutzerfunktion.semester, tbl_benutzerfunktion.bezeichnung as bf_bezeichnung + FROM + public.tbl_benutzerfunktion + JOIN public.tbl_funktion USING(funktion_kurzbz) + JOIN public.tbl_organisationseinheit USING(oe_kurzbz) + WHERE + uid='".$row->uid."' AND + (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND + (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) + order by tbl_benutzerfunktion.bezeichnung + "; + + if($result_funktion = $db->db_query($qry)) + { + $anz_funktion=$db->db_num_rows($result_funktion); + if($anz_funktion>0) + { + while($row_funktion = $db->db_fetch_object($result_funktion)) + { + if ($funktion) + $funktion.=', '; + $funktion.=$row_funktion->bf_bezeichnung.' '.$row_funktion->organisationseinheittyp_kurzbz.' '.$row_funktion->oe_bezeichnung ." ".$row_funktion->semester." ".$row_funktion->fachbereich_kurzbz; + } + } + } + } + $worksheet->write($zeile,++$spalte,$funktion); + $maxlength[$spalte]=strlen($funktion); + + $funktion='-'; + if(isset($row->person_id) && $row->personenart!='StudentIn') + { + //Funktionen + $qry = "SELECT distinct tbl_kontakt.kontakttyp,tbl_kontakt.anmerkung,tbl_kontakt.kontakt,tbl_kontakttyp.beschreibung + FROM + public.tbl_kontakt + JOIN public.tbl_kontakttyp USING(kontakttyp) + WHERE + tbl_kontakt.kontakttyp ='mobil' + and tbl_kontakt.person_id='".$row->person_id."' "; + + if($result_kontakt = $db->db_query($qry)) + { + $anz_kontakt=$db->db_num_rows($result_kontakt); + if($anz_kontakt>0) + { + $funktion=''; + while($row_kontakt = $db->db_fetch_object($result_kontakt)) + { + if (!$row_kontakt->kontakttyp || !stristr($row_kontakt->kontakttyp,'Firmenhandy') ) + continue; + if ($funktion) + $funktion.=', '; + $funktion.=$row_kontakt->anmerkung." ".$row_kontakt->kontakt." ".$row_kontakt->beschreibung; + } + } + } + } + $worksheet->write($zeile,++$spalte,$funktion); + $maxlength[$spalte]=strlen($funktion); + + } + //Die Breite der Spalten setzen + foreach($maxlength as $i=>$breite) + $worksheet->setColumn($i, $i, $breite+2); + + $workbook->close(); + exit; + } + + // **** PDF + if ($do_pdf) + { + $rows=array(); + $rows_anz=array(); + for($i = 0; $i < $num_rows; $i++) + { + $row = $db->db_fetch_object($result, $i); + + $row->titelpre=trim(isset($row->titelpre) && $row->titelpre?$row->titelpre:''); + $vorname=$row->vorname; + if(isset($row->nachname) && $row->vorname != "") + { + $vorname=$row->vorname; + if($row->vornamen != "") + $vorname.=' '.substr($row->vornamen,0,1).'.'; + } + $row->vorname=$vorname; + if($row->teltw != "") + { + $vorwahl = ''; + if($row->standort_id!='') + { + $qry = "SELECT kontakt as telefon FROM public.tbl_kontakt WHERE standort_id='$row->standort_id' AND kontakttyp='telefon'"; + if($result_tel = $db->db_query($qry)) + { + if($result_tel && $row_tel = $db->db_fetch_object($result_tel)) + $vorwahl = $row_tel->telefon; + } + } + } + $row->teltw=(isset($row->teltw) && $row->teltw?$vorwahl.' - '.$row->teltw:''); + if ($row->alias && !in_array($row->studiengang_kz, $noalias)) + $mail=(isset($row->alias) && $row->alias?$row->alias.'@'.DOMAIN:''); + else + $mail=(isset($row->emailtw) && $row->emailtw?$row->emailtw:''); + $row->email=$mail; + + $row->ort=(isset($row->ort) && $row->ort?$row->ort:''); + + $verband=''; + $gruppe=''; + $verteiler=''; + $kurzbz=''; + if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) + { + if ($stg_obj = new studiengang($row->studiengang_kz)) + $kurzbz=$stg_obj->kurzbzlang; + + $row->kurzbz=$kurzbz; + if(isset($row->studiengang_kz) && $row->studiengang_kz != -1 && $row->studiengang_kz != '' && $row->studiengang_kz != '-') + { + if ($std_obj = new student($row->uid)) + { + $verband=$std_obj->verband; + $gruppe=$std_obj->gruppe; + } + $verband=strtolower($verband); + $verteiler=trim(strtolower($kurzbz).$row->semester.$verband.$gruppe); + $verteiler.=($verteiler?'@'.DOMAIN:''); + } + } + else + $row->studiengang_kz='-'; + + $row->kurzbz=$kurzbz; + $row->verband=$verband; + $row->gruppe=$gruppe; + $row->verteiler=$verteiler; + if ($row->verteiler) + $row->email=$row->email."\n".$row->verteiler; + + $row->kz=(isset($row->personenart) && $row->personenart?$row->personenart:''); + + $funktion='-'; + if(isset($row->personenart) && $row->personenart!='StudentIn') + { + $funktion=''; + //Funktionen + $qry = "SELECT distinct + *, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz, tbl_organisationseinheit.bezeichnung as oe_bezeichnung, + tbl_benutzerfunktion.semester, tbl_benutzerfunktion.bezeichnung as bf_bezeichnung + FROM + public.tbl_benutzerfunktion + JOIN public.tbl_funktion USING(funktion_kurzbz) + JOIN public.tbl_organisationseinheit USING(oe_kurzbz) + WHERE + uid='".$row->uid."' AND + (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND + (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) + order by tbl_benutzerfunktion.bezeichnung + "; + + if($result_funktion = $db->db_query($qry)) + { + $anz_funktion=$db->db_num_rows($result_funktion); + if($anz_funktion>0) + { + while($row_funktion = $db->db_fetch_object($result_funktion)) + { + if ($funktion) + $funktion.=', '; + $funktion.=$row_funktion->bf_bezeichnung.' '.$row_funktion->organisationseinheittyp_kurzbz.' '.$row_funktion->oe_bezeichnung ." ".$row_funktion->semester." ".$row_funktion->fachbereich_kurzbz; + } + } + } + } + $row->funktion=$funktion; + + $funktion='-'; + if(isset($row->person_id) && $row->personenart!='StudentIn') + { + //Funktionen + $qry = "SELECT distinct tbl_kontakt.kontakttyp,tbl_kontakt.anmerkung,tbl_kontakt.kontakt,tbl_kontakttyp.beschreibung + FROM + public.tbl_kontakt + JOIN public.tbl_kontakttyp USING(kontakttyp) + WHERE + tbl_kontakt.kontakttyp ='Firmenhandy' + and tbl_kontakt.person_id='".$row->person_id."' "; + + if($result_kontakt = $db->db_query($qry)) + { + $anz_kontakt=$db->db_num_rows($result_kontakt); + if($anz_kontakt>0) + { + $funktion=''; + while($row_kontakt = $db->db_fetch_object($result_kontakt)) + { + if (!$row_kontakt->kontakttyp || !stristr($row_kontakt->kontakttyp,'Firmenhandy') ) + continue; + if ($funktion) + $funktion.=', '; + $funktion.=$row_kontakt->anmerkung." ".$row_kontakt->kontakt." ".$row_kontakt->beschreibung; + } + } + } + } + $row->firmenhandy=$funktion; + + foreach ($row as $key => $value) + { + $row->$key=trim(iconv('UTF-8','ISO-8859-15',$row->$key)); + $anz=strlen($value); + if (!isset($rows_anz[$key]) || $rows_anz[$key]<$anz) + $rows_anz[$key]=$anz; + } + $rows[]=$row; + } + + + require_once('../../../include/pdf/fpdf.php'); + class PDF extends FPDF + { + //Simple table + function BasicTable($header,$data,$items,$rows_anz) + { + //Header + foreach($header as $col) + $this->Cell(40,7,$col,1); + $this->Ln(); + //Data + foreach($data as $row) + { + foreach($items as $col) + { + if (!isset($row->$col)) + die("Achtung ! Die Spalte $col wurde nicht in den Daten gefunden."); + $this->Cell(40,6,$row->$col,1); + } + $this->Ln(); + } + } + + //Better table + function ImprovedTable($header,$data,$items,$rows_anz) + { + //Header + for($i=0;$iCell($rows_anz[$items[$i]] *2.5 ,7,$header[$i],1,0,'C'); + $this->Ln(); + //Data + foreach($data as $row) + { + $i=0; + foreach($items as $col) + { + if (!isset($row->$col)) + die("Achtung ! Die Spalte $col wurde nicht in den Daten gefunden."); + $this->Cell($rows_anz[$items[$i]] *2.5,6,$row->$col,'LR'); + $i++; + } + $this->Ln(); + } + } + + var $widths; + var $aligns; + function SetWidths($w) + { + //Set the array of column widths + if (is_array($w) && isset($w[0])) + $this->widths=$w; + else if (is_array($w) ) + { + $this->widths=array(); + foreach ($w as $key => $value) + $this->widths[]=$value; + } + if (!is_array($this->widths) || !isset($this->widths[0])) + return; + + } + + function SetAligns($a) + { + //Set the array of column alignments + $this->aligns=$a; + } + + function Row($data,$fill=false) + { + + if (is_array($data) && isset($data[0])) + { + $row_data=$data; + } + else if (is_array($data) || is_object($data)) + { + $row_data=array(); + foreach ($data as $key => $value) + $row_data[]=$value; + } + else + { + $this->Cell(40,10,'Keine Daten uebergeben '); + return; + } + //Calculate the height of the row + $nb=0; + for($i=0;$iNbLines($this->widths[$i], $row_data[$i])); + $h=5*$nb; + //Issue a page break first if needed + $this->CheckPageBreak($h); + //Draw the cells of the row + for($i=0;$iwidths[$i]; + $a=isset($this->aligns[$i]) ? $this->aligns[$i] : 'L'; + //Save the current position + $x=$this->GetX(); + $y=$this->GetY(); + //Draw the border + $this->Rect($x, $y, $w, $h); + //Print the text + $this->MultiCell($w, 5, $row_data[$i], 0, $a,$fill); + //Put the position to the right of the cell + $this->SetXY($x+$w, $y); + } + //Go to the next line + $this->Ln($h); + } + + function CheckPageBreak($h) + { + //If the height h would cause an overflow, add a new page immediately + if($this->GetY()+$h>$this->PageBreakTrigger) + $this->AddPage($this->CurOrientation); + } + + function NbLines($w, $txt) + { + //Computes the number of lines a MultiCell of width w will take + $cw=&$this->CurrentFont['cw']; + if($w==0) + $w=$this->w-$this->rMargin-$this->x; + $wmax=((($w - 2) *$this->cMargin)*1000 ) / $this->FontSize; + + $s=str_replace("\r", '', $txt); + $nb=strlen($s); + if($nb>0 and $s[$nb-1]=="\n") + $nb--; + $sep=-1; + $i=0; + $j=0; + $l=0; + $nl=1; + while($i<$nb) + { + $c=$s[$i]; + if($c=="\n") + { + $i++; + $sep=-1; + $j=$i; + $l=0; + $nl++; + continue; + } + if($c==' ') + $sep=$i; + $l+=$cw[$c]; + if($l>$wmax) + { + if($sep==-1) + { + if($i==$j) + $i++; + } + else + $i=$sep+1; + $sep=-1; + $j=$i; + $l=0; + $nl++; + } + else + $i++; + } + return $nl; + } + //Colored table + function FancyTable($header,$data,$items,$rows_anz) + { + //Colors, line width and bold font + $this->SetFillColor(102,205,170); + $this->SetTextColor(255); + $this->SetDrawColor(0,0,0); + $this->SetLineWidth(.1); + $this->SetFont('','B'); + //Header + $width=array(); + reset($items); + foreach($items as $col) + { + if (!isset($rows_anz[$col])) + die("Achtung ! Die Spalte $col wurde nicht in den Daten gefunden."); + $width[]=$rows_anz[$col]; + } + $this->SetWidths($width); + $this->SetAligns('C'); + $row_data=array(); + for($i=0;$iRow($row_data,true); + //Data + //Color and font restoration 95,158,160 + $this->SetFillColor(224,235,255); + $this->SetTextColor(0); + $this->SetFont(''); + $this->SetAligns('L'); + $fill=false; + foreach($data as $row) + { + $i=0; + $row_data=array(); + reset($items); + foreach($items as $col) + { + if (!isset($row->$col)) + die("Achtung ! Die Spalte $col wurde nicht in den Daten gefunden."); + $row_data[]=$row->$col; + $i++; + } + $fill=false; + $this->Row($row_data,$fill); + $fill=!$fill; + } + } + } // Ende Extend FPDF Class + + + // Creating a workbook + $orientation='l'; // 'p' + $pdf = new PDF($orientation); + + $pdf->SetTitle('Personensuche '.CAMPUS_NAME); + $pdf->SetSubject(CAMPUS_NAME . date('Y-m-d')); + $pdf->SetAuthor(CAMPUS_NAME); + $pdf->SetCreator($uid) ; + + + //Column titles + $header=array('Titel','Vorname','Nachname','Titel','Tel.nr','E-Mail Adresse / Hauptverteiler','Raum','Studieng','Sem','Personenart','Handy','Funktion' ); + //Data loading + $item=array('titelpre','vorname','nachname','titelpost','teltw','email','ort','kurzbz','semester','kz','firmenhandy','funktion' ); + + foreach ($item as $key => $value) + { + $anz=strlen($header[$key]); + if (!isset($rows_anz[$value]) || $rows_anz[$value]<$anz) + $rows_anz[$value]=$anz; + } + + $rows_anz['titelpre']=10; + $rows_anz['nachname']=35; + $rows_anz['vorname']=35; + $rows_anz['titelpost']=10; + $rows_anz['teltw']=25; + $rows_anz['firmenhandy']=25; + $rows_anz['kurzbz']=12; + $rows_anz['kz']=15; + $rows_anz['semester']=7; + $rows_anz['email']=50; + $rows_anz['funktion']=45; + + $pdf->SetFont('Arial','',6); + $pdf->AddPage(); + if (count($rows)>0) + { + $pdf->FancyTable($header,$rows,$item,$rows_anz); + } + else + $pdf->Cell(40,10,'Keine Daten gefunden'); + $pdf->Output(); + exit; + } + } +} ?> - - - - - + var block = "table-row"; + if (navigator.appName.indexOf('Microsoft') > -1) + block = 'block'; + + // Aktueller Anzeigemode ermitteln + var status = __js_page_array[conid]; + if (status == null) + { + if (document.getElementById && document.getElementById(conid)) + { + status=document.getElementById(conid).style.display; + } else if (document.all && document.all[conid]) { + status=document.all[conid].style.display; + } else if (document.layers && document.layers[conid]) { + status=document.layers[conid].style.display; + } + } + + // Anzeigen oder Ausblenden + if (status == 'none') + { + if (document.getElementById && document.getElementById(conid)) + { + document.getElementById(conid).style.display = 'block'; + } else if (document.all && document.all[conid]) { + document.all[conid].style.display='block'; + } else if (document.layers && document.layers[conid]) { + document.layers[conid].style.display='block'; + } + __js_page_array[conid] = 'block'; + } + else + { + if (document.getElementById && document.getElementById(conid)) + { + document.getElementById(conid).style.display = 'none'; + } else if (document.all && document.all[conid]) { + document.all[conid].style.display='none'; + } else if (document.layers && document.layers[conid]) { + document.layers[conid].style.display='none'; + } + __js_page_array[conid] = 'none'; + } + return false; + } + else + return true; + } + //--> + @@ -880,193 +870,198 @@ - '; - - $funktion='-'; -## if(isset($row->person_id) && $row->personenart!='' && $row->personenart!='StudentIn') - if(isset($row->person_id) && $row->personenart!='StudentIn') - { - $funktion=''; - //Funktionen - $qry = "SELECT distinct tbl_kontakt.kontakttyp,tbl_kontakt.anmerkung,tbl_kontakt.kontakt,tbl_kontakttyp.beschreibung - FROM - public.tbl_kontakt - JOIN public.tbl_kontakttyp USING(kontakttyp) - WHERE - tbl_kontakt.kontakttyp ='mobil' - and tbl_kontakt.person_id='".$row->person_id."' "; - - if($result_kontakt = $db->db_query($qry)) - { - $anz_kontakt=$db->db_num_rows($result_kontakt); - if($anz_kontakt>0) - { - $funktion_anzahl=0; - $funktion_anf=''; - if ($anz_kontakt>1) - $funktion_anf=''; - while($row_kontakt = $db->db_fetch_object($result_kontakt)) - { - if (!$row_kontakt->kontakttyp || !stristr($row_kontakt->kontakttyp,'Firmenhandy') ) - continue; - - if (!$funktion) - $funktion_anf.=($anz_kontakt>1?'»':' ').$row_kontakt->kontakt; -## $funktion_anf.=($anz_kontakt>1?'»':' ').($row_kontakt->anmerkung?$row_kontakt->anmerkung:$row_kontakt->beschreibung).' '.$row_kontakt->kontakt; - $funktion.=""; - $funktion_anzahl++; - } - if ($funktion_anzahl>1) - $funktion=$funktion_anf.'
-        - - - -     - - + + + + + +
+ +
+ +
+
+ +
0) { - - echo ""; - echo " - - - - - - - - - - - - - - "; - echo ' - - - '; - for($i = 0; $i < $num_rows; $i++) + echo "
 Titel Vorname Nachname Telefonnummer E-Mail Adresse Raum Studiengang Semester Hauptverteiler Alias Kz Funktion Handy
 
"; + echo " + + + + + + + + + + + + + + + "; + echo ' + + + '; + for($i = 0; $i < $num_rows; $i++) + { + $row = $db->db_fetch_object($result, $i); + echo ''; + echo ' '; + $vorname=''; + if(isset($row->nachname) && $row->vorname != "") { - $row = $db->db_fetch_object($result, $i); - echo ''; - echo ' '; - $vorname=''; - if(isset($row->nachname) && $row->vorname != "") - { - $vorname=$row->vorname; - if($row->vornamen != "") - $vorname.=' '.substr($row->vornamen,0,1).'.'; - } - echo ' '; - echo ' '; - if($row->teltw != "") - { - $vorwahl = ''; - if($row->standort_kurzbz!='') - { - $qry = "SELECT telefon FROM public.tbl_standort, public.tbl_adresse, public.tbl_firma WHERE tbl_standort.standort_kurzbz='$row->standort_kurzbz' AND tbl_standort.adresse_id=tbl_adresse.adresse_id AND tbl_adresse.firma_id=tbl_firma.firma_id"; - if($result_tel = $db->db_query($qry)) - { - if($result_tel && $row_tel = $db->db_fetch_object($result_tel)) - $vorwahl = $row_tel->telefon; - } - } - } - echo ' '; - - if ($row->alias && !in_array($row->studiengang_kz, $noalias)) - echo ' '; - else - echo ' '; - - echo ' '; - - $kurzbz=''; - if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) - { - if ($stg_obj = new studiengang($row->studiengang_kz)) - $kurzbz=$stg_obj->kuerzel; - } - echo ' '; - echo ' '; - - $verband=''; - $gruppe=''; - $verteiler=''; - if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) - { - if ($std_obj = new student($row->uid)) - { - $verband=$std_obj->verband; - $gruppe=$std_obj->gruppe; - } - $kurzbz=strtolower($kurzbz); - $verband=strtolower($verband); - //if($row->studiengang_kz != -1) - // $row->semester=''; - $verteiler=''.trim($kurzbz.$row->semester.$verband.$gruppe).'@'.DOMAIN; - } - echo ' '; - echo ' '; - echo ' '; - - $funktion='-'; - if(isset($row->personenart) && $row->personenart!='StudentIn') - { - $funktion=''; - //Funktionen - $qry = "SELECT distinct - *, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz, tbl_organisationseinheit.bezeichnung as oe_bezeichnung, - tbl_benutzerfunktion.semester, tbl_benutzerfunktion.bezeichnung as bf_bezeichnung - FROM - public.tbl_benutzerfunktion - JOIN public.tbl_funktion USING(funktion_kurzbz) - JOIN public.tbl_organisationseinheit USING(oe_kurzbz) - WHERE - uid='".$row->uid."' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND - (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) - order by tbl_benutzerfunktion.bezeichnung - "; - - if($result_funktion = $db->db_query($qry)) - { - $anz_funktion=$db->db_num_rows($result_funktion); - if($anz_funktion>0) - { - $funktion_anf=''; - while($row_funktion = $db->db_fetch_object($result_funktion)) - { - if (!$funktion) - $funktion_anf.=($anz_funktion>1?'»':' ').$row_funktion->bf_bezeichnung; - $funktion.=""; - } - $funktion=$funktion_anf.'
 Titel Vorname Nachname Titel Telefonnummer E-Mail Adresse Raum Studiengang Semester Hauptverteiler Alias Kz Funktion Handy
 
 '.(isset($row->titelpre) && $row->titelpre?$row->titelpre:' ').'
 '.(isset($row->titelpre) && $row->titelpre?$row->titelpre:' ').' '.$vorname.' '.(isset($row->nachname) && $row->nachname?''.$row->nachname.'':' ').' '.(isset($row->teltw) && $row->teltw?$vorwahl.' - '.$row->teltw:' ').' '.(isset($row->alias) && $row->alias?''.$row->alias.'@'.DOMAIN.'':' ').' '.(isset($row->emailtw) && $row->emailtw?''.$row->emailtw.'':' ').' '.(isset($row->ort) && $row->ort?$row->ort:' ').' '.($kurzbz?$kurzbz:' ').' '.(isset($row->semester) && $row->semester && $row->semester!= -1?$row->semester:' ').' '.($verteiler?$verteiler:' ').' '.(isset($row->personenart) && $row->personenart?$row->personenart:' ').'
".$row_funktion->bf_bezeichnung."".$row_funktion->organisationseinheittyp_kurzbz.' '.$row_funktion->oe_bezeichnung."".$row_funktion->semester."".$row_funktion->fachbereich_kurzbz."
'.$funktion.'
BezeichnungOrganisationseinheitSemesterInstitut

'; - } - } - } - echo '
 '.$funktion.'
".$row_kontakt->anmerkung."".$row_kontakt->kontakt."".$row_kontakt->beschreibung."
'.$funktion.'
AnmerkungKontaktBeschreibung

'; - else - $funktion=str_replace('»',' ',$funktion_anf); - } - } - } - echo '  '.$funktion.''; - echo ""; + $vorname=$row->vorname; + if($row->vornamen != "") + $vorname.=' '.substr($row->vornamen,0,1).'.'; } - echo ' '; - echo ''; + echo '  '.$vorname.''; + echo '  '.(isset($row->nachname) && $row->nachname?''.$row->nachname.'':' ').''; + echo '  '.(isset($row->titelpost) && $row->titelpost?$row->titelpost:' ').''; + if($row->teltw != "") + { + $vorwahl = ''; + if($row->standort_id!='') + { + $qry = "SELECT kontakt as telefon FROM public.tbl_kontakt WHERE standort_id='$row->standort_id' AND kontakttyp='telefon'"; + if($result_tel = $db->db_query($qry)) + { + if($result_tel && $row_tel = $db->db_fetch_object($result_tel)) + $vorwahl = $row_tel->telefon; + } + } + } + echo '  '.(isset($row->teltw) && $row->teltw?$vorwahl.' - '.$row->teltw:' ').''; + + if ($row->alias && !in_array($row->studiengang_kz, $noalias)) + echo '  '.(isset($row->alias) && $row->alias?''.$row->alias.'@'.DOMAIN.'':' ').''; + else + echo '  '.(isset($row->emailtw) && $row->emailtw?''.$row->emailtw.'':' ').''; + + echo '  '.(isset($row->ort) && $row->ort?$row->ort:' ').''; + + $kurzbz=''; + if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) + { + if ($stg_obj = new studiengang($row->studiengang_kz)) + $kurzbz=$stg_obj->kuerzel; + } + echo '  '.($kurzbz?$kurzbz:' ').''; + echo '  '.(isset($row->semester) && $row->semester && $row->semester!= -1?$row->semester:' ').''; + + $verband=''; + $gruppe=''; + $verteiler=''; + if(isset($row->studiengang_kz) && $row->studiengang_kz != -1) + { + if ($std_obj = new student($row->uid)) + { + $verband=$std_obj->verband; + $gruppe=$std_obj->gruppe; + } + $kurzbz=strtolower($kurzbz); + $verband=strtolower($verband); + + $verteiler=''.trim($kurzbz.$row->semester.$verband.$gruppe).'@'.DOMAIN; + } + echo '  '.($verteiler?$verteiler:' ').''; + echo '  '.(isset($row->alias) && $row->alias?''.$row->alias.'@'.DOMAIN.'':' ').''; + echo '  '.(isset($row->personenart) && $row->personenart?$row->personenart:' ').''; + + $funktion='-'; + if(isset($row->personenart) && $row->personenart!='StudentIn') + { + $funktion=''; + //Funktionen + $qry = "SELECT distinct + *, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz, tbl_organisationseinheit.bezeichnung as oe_bezeichnung, + tbl_benutzerfunktion.semester, tbl_benutzerfunktion.bezeichnung as bf_bezeichnung + FROM + public.tbl_benutzerfunktion + JOIN public.tbl_funktion USING(funktion_kurzbz) + JOIN public.tbl_organisationseinheit USING(oe_kurzbz) + WHERE + uid='".$row->uid."' AND + (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND + (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) + order by tbl_benutzerfunktion.bezeichnung + "; + + if($result_funktion = $db->db_query($qry)) + { + $anz_funktion=$db->db_num_rows($result_funktion); + if($anz_funktion>0) + { + $funktion_anf=''; + while($row_funktion = $db->db_fetch_object($result_funktion)) + { + if (!$funktion) + $funktion_anf.=($anz_funktion>1?'»':' ').$row_funktion->bf_bezeichnung; + $funktion.="".$row_funktion->bf_bezeichnung."".$row_funktion->organisationseinheittyp_kurzbz.' '.$row_funktion->oe_bezeichnung."".$row_funktion->semester."".$row_funktion->fachbereich_kurzbz.""; + } + $funktion=$funktion_anf.''; + } + } + } + echo '  '.$funktion.''; + + $funktion='-'; + + if(isset($row->person_id) && $row->personenart!='StudentIn') + { + $funktion=''; + //Funktionen + $qry = "SELECT distinct tbl_kontakt.kontakttyp,tbl_kontakt.anmerkung,tbl_kontakt.kontakt,tbl_kontakttyp.beschreibung + FROM + public.tbl_kontakt + JOIN public.tbl_kontakttyp USING(kontakttyp) + WHERE + tbl_kontakt.kontakttyp ='mobil' + and tbl_kontakt.person_id='".$row->person_id."' "; + + if($result_kontakt = $db->db_query($qry)) + { + $anz_kontakt=$db->db_num_rows($result_kontakt); + if($anz_kontakt>0) + { + $funktion_anzahl=0; + $funktion_anf=''; + if ($anz_kontakt>1) + $funktion_anf=''; + while($row_kontakt = $db->db_fetch_object($result_kontakt)) + { + if (!$row_kontakt->kontakttyp || !stristr($row_kontakt->kontakttyp,'Firmenhandy') ) + continue; + + if (!$funktion) + $funktion_anf.=($anz_kontakt>1?'»':' ').$row_kontakt->kontakt; + + $funktion.="".$row_kontakt->anmerkung."".$row_kontakt->kontakt."".$row_kontakt->beschreibung.""; + $funktion_anzahl++; + } + if ($funktion_anzahl>1) + $funktion=$funktion_anf.''; + else + $funktion=str_replace('»',' ',$funktion_anf); + } + } + } + echo '  '.$funktion.''; + echo ""; } + echo ' '; + echo ''; + } if(!isset($do_search)) echo '
Bitte geben Sie einen Suchbegriff ein, nach dem gesucht werden soll.'; @@ -1074,7 +1069,7 @@ echo 'Es wurden '.$num_rows.' Einträge gefunden.'; else if(isset($do_search)) echo 'Es wurden keine Einträge gefunden.'; - ?> +?> diff --git a/content/adressedialog.xul.php b/content/adressedialog.xul.php index dc1f8cce3..69d91377c 100644 --- a/content/adressedialog.xul.php +++ b/content/adressedialog.xul.php @@ -157,6 +157,7 @@ else - diff --git a/content/mitarbeiter/mitarbeiterDBDML.php b/content/mitarbeiter/mitarbeiterDBDML.php index b5e6e15c9..cb2e0a58a 100644 --- a/content/mitarbeiter/mitarbeiterDBDML.php +++ b/content/mitarbeiter/mitarbeiterDBDML.php @@ -100,7 +100,7 @@ if(!$error) $mitarbeiter->ausbildungcode = $_POST['ausbildung']; $mitarbeiter->anmerkung = $_POST['anmerkung']; $mitarbeiter->ort_kurzbz = $_POST['ort_kurzbz']; - $mitarbeiter->standort_kurzbz = $_POST['standort_kurzbz']; + $mitarbeiter->standort_id = $_POST['standort_id']; $mitarbeiter->alias = $_POST['alias']; $mitarbeiter->updateamum = date('Y-m-d H:i:s'); $mitarbeiter->updatevon = $user; diff --git a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php index b0301539f..4547ccebd 100644 --- a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php +++ b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php @@ -234,16 +234,15 @@ echo ''; -