* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/firma.class.php'); require_once('../../include/standort.class.php'); require_once('../../include/adresse.class.php'); require_once('../../include/nation.class.php'); require_once('../../include/benutzerberechtigung.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); // ******* INIT ******** $user = get_uid(); //Zugriffsrechte pruefen $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(!$rechte->isBerechtigt('basis/firma:begrenzt')) die('Sie haben keine Berechtigung für diese Seite'); // Parameter einlesen $tabselect = (isset($_GET['tabselect'])?$_GET['tabselect']:0); $firma_id = (isset($_REQUEST['firma_id'])?$_REQUEST['firma_id']:''); $adresse_id = (isset($_REQUEST['adresse_id'])?$_REQUEST['adresse_id']:''); $standort_id = (isset($_REQUEST['standort_id'])?$_REQUEST['standort_id']:''); $oe_kurzbz = (isset($_REQUEST['oe_kurzbz'])?$_REQUEST['oe_kurzbz']:''); $firma_organisationseinheit_id = (isset($_REQUEST['firma_organisationseinheit_id'])?$_REQUEST['firma_organisationseinheit_id']:''); $tag = (isset($_REQUEST['tag'])?$_REQUEST['tag']:''); $save = (isset($_REQUEST['save'])?$_REQUEST['save']:null); $work = (isset($_REQUEST['work'])?$_REQUEST['work']:(isset($_REQUEST['save'])?$_REQUEST['save']:null)); $ajax = (isset($_REQUEST['ajax'])?$_REQUEST['ajax']:null); $neu = (isset($_REQUEST['neu'])?$_REQUEST['neu']:null); // Defaultwerte $adresstyp_arr = array('h'=>'Hauptwohnsitz','n'=>'Nebenwohnsitz','f'=>'Firma',''=>''); $errorstr=''; //Loeschen einer Adresse if(isset($_GET['deleteadresse'])) { if( !$rechte->isBerechtigt('basis/firma:begrenzt',null, 'suid')) die('Sie haben keine Berechtigung fuer diese Aktion'); if(is_numeric($standort_id)) { $standort_obj = new standort(); if(!$standort_obj->delete($standort_id)) { $errorstr=($errorstr?$errorstr.', ':'').'Fehler beim Loeschen Firma/Standort:'.$standort_obj->errormsg; } } if(is_numeric($adresse_id)) { $adresse_obj = new adresse(); if(!$adresse_obj->delete($adresse_id)) { $errorstr=($errorstr?$errorstr.', ':'').'Fehler beim Loeschen der Firma/Adresse:'.$adresse_obj->errormsg; } } echo ' '; } //Loeschen einer Organisationseinheit if(isset($_GET['deleteorganisationseinheit'])) { if(!$rechte->isBerechtigt('basis/firma:begrenzt',null, 'suid')) die('Sie haben keine Berechtigung fuer diese Aktion'); if(!empty($firma_organisationseinheit_id)) { $firma = new firma(); if(!$firma->deleteorganisationseinheit($firma_organisationseinheit_id)) { $errorstr=($errorstr?$errorstr.', ':'').'Fehler beim Loeschen Firma/Organisation:'.$firma->errormsg; } } else $errorstr=($errorstr?$errorstr.', ':'').'Fehler beim Loeschen Firma/Organisation : ID fehlt'; $tabselect=1; } //Loeschen eines Tags if(isset($_GET['deletetag'])) { if(!$rechte->isBerechtigt('basis/firma:begrenzt',null, 'suid')) die('Sie haben keine Berechtigung fuer diese Aktion'); if(!empty($tag)) { $firma = new firma(); if(!$firma->deletetag($firma_id, $tag)) { $errorstr=($errorstr?$errorstr.', ':'').'Fehler beim Loeschen des Tags:'.$firma->errormsg; } } else $errorstr=($errorstr?$errorstr.', ':'').'Fehler beim Loeschen des Tags : Tag fehlt'; } ?> Firma - Details '.$errorstr:''); ?> load($firma_id)) return '
Firma mit der ID '.$firma_id.' existiert nicht'; } else { //Bei neuen Firmen wird standardmaessig Partnerfirma ausgewaehlt $firma->firmentyp_kurzbz='Partnerfirma'; $firma->aktiv=true; $firma->gesperrt=false; $firma->schule=false; } $htmlstr.="
\n"; $htmlstr.="\n"; $htmlstr.="\n"; // Firma Detailanzeige $htmlstr.="\n"; $htmlstr.=""; $htmlstr.="\n"; $htmlstr.=""; $htmlstr.="\n"; $htmlstr.="
\n"; $htmlstr.=""; $htmlstr.=""; $htmlstr.=""; $htmlstr.=""; $htmlstr.="\n"; $htmlstr.="\n"; $htmlstr.="
Typ:  Name:
\n"; $htmlstr.=""; $htmlstr.="\n"; $htmlstr.=""; $htmlstr.=""; // Finanzamt anzeige und suche $firma_finanzamt = new firma(); $firmentyp_finanzamt='Finanzamt'; $firma_finanzamt->searchFirma('',$firmentyp_finanzamt, true); $htmlstr.="\n"; $htmlstr.=""; $htmlstr.="\n"; $htmlstr.="\n"; $htmlstr.=""; $disabled='disabled=true'; //Gesperrt Hackerl darf nur gesetzt werden wenn die Berechtigung vorhanden ist if($rechte->isBerechtigt('basis/firma',null, 'suid')) { $disabled=''; } $htmlstr.="\n"; $htmlstr.="\n"; $htmlstr.=""; $htmlstr.=""; $htmlstr.=""; $htmlstr.=""; $htmlstr.=""; $htmlstr.=""; $htmlstr.=""; $htmlstr.="
Steuernummer:  Finanzamt: Aktiv: aktiv?' style="background-color: #E3FDEE;" ':' style="background-color: #FFF4F4;" ')." type='checkbox' name='aktiv' ".($firma->aktiv?'checked':'')."> Gesperrt: gesperrt?'checked':'')." $disabled> Schule:schule?' style="background-color: #E3FDEE;" ':' style="background-color: #FFF4F4;" ')." type='checkbox' name='schule' ".($firma->schule?'checked':'').">  
Tags:"; $htmlstr.=""; $htmlstr.=" "; foreach($firma->tags as $tag) { $htmlstr.= ' '.$tag.' '; } $htmlstr.="
\n"; $htmlstr.="
\n"; $htmlstr.='
'; $htmlstr.='
'.getStandortliste($firma_id,$adresstyp_arr,$user).'
'.getOrganisationsliste($firma_id, $adresstyp_arr, $user).'
'.getAnmerkungen($firma_id, $user).'
'; return $htmlstr; } } // ---------------------------------------------------------------------------------------------------------------------------------- /** * FirmenDatenspeichern POST ( Ajax ) * Param $user Objekt vom Aktivenbenutzer * Param $recht Objekt der Rechte des Aktivenbenutzer * Return firma_id oder Fehlertext */ function saveFirma($user,$rechte) { // Speichern der Firmendaten if(!$rechte->isBerechtigt('basis/firma:begrenzt',null, 'suid')) return 'Sie haben keine Berechtigung fuer diese Aktion'; // Verarbeiten $firma_id = (isset($_POST['firma_id'])?$_POST['firma_id']:''); $firma = new firma(); if($firma_id!='') { if(!$firma->load($firma_id)) return 'Firma '.$firma_id.' wurde nicht gefunden'; else $firma->new = false; } else { $firma->insertamum = date('Y-m-d H:i:s'); $firma->insertvon = $user; $firma->new = true; } $firma->name = (isset($_POST['name'])?$_POST['name']:''); $firma->firmentyp_kurzbz = (isset($_POST['typ'])?$_POST['typ']:''); $firma->updateamum = date('Y-m-d H:i:s'); $firma->updatevon = $user; $firma->schule = isset($_POST['schule']); $firma->steuernummer = (isset($_POST['steuernummer'])?$_POST['steuernummer']:''); $firma->gesperrt = (isset($_POST['gesperrt'])?true:false); $firma->aktiv = (isset($_POST['aktiv'])?true:false); $firma->finanzamt = (isset($_POST['finanzamt'])?$_POST['finanzamt']:''); $tags = (isset($_POST['tags'])?$_POST['tags']:''); if($firma->save()) { if ($firma->new) $firma_id=$firma->firma_id; if($tags!='') { $firma->tags = explode('; ',$tags); $firma->insertvon=$user; $firma->insertamum=date('Y-m-d H:i:s'); $firma->savetags(); } } else { return 'Datensatz konnte nicht gespeichert werden: '.$firma->errormsg; } return $firma_id; } // ---------------------------------------------------------------------------------------------------------------------------------- /** * Standortliste */ function getStandortliste($firma_id,$adresstyp_arr,$user) { // Init $htmlstr=''; // Plausib if (empty($firma_id) || !is_numeric($firma_id) ) return 'Firma fehlt.'; // Datenlesen $standort_obj = new standort(); $standort_obj->result=array(); if (!$standort_obj->load_firma($firma_id)) return $standort_obj->errormsg; // Es gibt noch keinen Standort zur Firma - Neuanlage if ($firma_id && !$standort_obj->result) { $firma_obj = new firma(); $firma_obj->load($firma_id); $standort_obj->new=true; $standort_obj->standort_id=null; $standort_obj->adresse_id=null; $standort_obj->kurzbz=mb_substr($firma_obj->name, 0, 16); $standort_obj->bezeichnung=''; $standort_obj->updatevon=$user; $standort_obj->insertvon=$user; $standort_obj->ext_id=null; $standort_obj->firma_id=$firma_id; if (!$standort_obj->save()) return 'Fehler Standort '.$standort_obj->errormsg; $standort_obj = new standort(); $standort_obj->load_firma($firma_id); } $htmlstr.= ''; $i=1; foreach ($standort_obj->result as $row) { if ($firma_id && $row->standort_id && !$row->adresse_id) { $adresse_obj = new adresse(); $adresse_obj->new = true; $adresse_obj->insertamum = date('Y-m-d H:i:s'); $adresse_obj->insertvon = $user; $adresse_obj->person_id=null; $adresse_obj->strasse = ''; $adresse_obj->plz = ''; $adresse_obj->ort = ''; $adresse_obj->gemeinde = ''; $adresse_obj->nation = ''; $adresse_obj->typ = ''; $adresse_obj->heimatadresse = false; $adresse_obj->zustelladresse = false; $adresse_obj->firma_id = null; $adresse_obj->updateamum = date('Y-m-d H:i:s'); $adresse_obj->updatvon = $user; if(!$adresse_obj->save()) return 'Fehler Adresse '.$adresse_obj->errormsg; $standort_obj = new standort($row->standort_id); $standort_obj->updatevon=$user; $standort_obj->adresse_id=$adresse_obj->adresse_id; if (!$standort_obj->save()) return 'Fehler Standort - Adresse '.$standort_obj->errormsg; $row->adresse_id=$adresse_obj->adresse_id; } $htmlstr .= "\n"; $i++; $adresse_id=$row->adresse_id; $adresse_obj = new adresse(); if ($adresse_obj->load($adresse_id)) { $htmlstr.= ''; $htmlstr.= ""; $htmlstr.= ''; $htmlstr.= ''; $htmlstr.= ''; $htmlstr.= ''; $htmlstr.= ''; $htmlstr.= ''; $htmlstr.= ''; $htmlstr.= ""; } else { $htmlstr.= ''; $htmlstr.= ''; } $htmlstr.= ''; } $htmlstr.= '
Kurzbz Nation Gemeinde Plz Ort Strasse Typ Zustelladr.
'.$row->kurzbz.'".(isset($nation_arr[$adresse_obj->nation])?$nation_arr[$adresse_obj->nation]:$adresse_obj->nation)."'.$adresse_obj->gemeinde.''.$adresse_obj->plz.''.$adresse_obj->ort.''.$adresse_obj->strasse.''.$adresstyp_arr[$adresse_obj->typ].''.($adresse_obj->zustelladresse?'Ja':'Nein').'editierenstandort_id&adresse_id=$adresse_obj->adresse_id&firma_id=$firma_id' onclick='return confdel()'>loeschen'.$row->kurzbz.''.$adresse_obj->errormsg.'
'; return $htmlstr; } // ---------------------------------------------------------------------------------------------------------------------------------- /** * Organisationsliste */ function getOrganisationsliste($firma_id,$adresstyp_arr,$user) { // Init $htmlstr=''; // Plausib if (empty($firma_id) || !is_numeric($firma_id) ) return 'Firma fehlt.'; $htmlstr.= ' '; // Datenlesen zur Firma $firma = new firma(); if (!$firma->get_firmaorganisationseinheit($firma_id)) return $htmlstr.'
Organisationseinheit Bezeichnung Kundennummer
'; $i=0; foreach ($firma->result as $row) { $htmlstr .= "\n"; $i++; $htmlstr.= ''.$row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung.''; $htmlstr.= ''.$row->fobezeichnung.''; $htmlstr.= ''.$row->kundennummer.''; $htmlstr.= 'editieren'; $htmlstr.= "firma_organisationseinheit_id."&oe_kurzbz=".$row->oe_kurzbz."&firma_id=".$firma_id."' onclick='return confdel()'>loeschen"; $htmlstr.= ''; } $htmlstr.= ''; return $htmlstr; } // ---------------------------------------------------------------------------------------------------------------------------------- /** * Anmerkungen */ function getAnmerkungen($firma_id,$user) { // Init $htmlstr=''; // Plausib if (empty($firma_id) || !is_numeric($firma_id) ) return 'Firma fehlt.'; // Datenlesen zur Firma $firma = new firma(); if($firma_id!='' && is_numeric($firma_id) ) { if (!$firma->load($firma_id)) return '
Firma mit der ID '.$firma_id.' existiert nicht'; } else { return false; } $htmlstr.="
\n"; $htmlstr.="\n"; $htmlstr.="\n"; $htmlstr.= ""; $htmlstr.= ""; $htmlstr.= ""; $htmlstr.="\n"; $htmlstr.= ""; $htmlstr.="
Anmerkungen:
\n"; return $htmlstr; } /** * Anmerkungen */ function saveAnmerkungen($firma_id,$user, $rechte) { if(!$rechte->isBerechtigt('basis/firma:begrenzt',null, 'suid')) return 'Sie haben keine Berechtigung'; $firma_obj = new firma(); if(!$firma_obj->load($firma_id)) return 'Firma konnte nicht geladen werden'; if(!isset($_REQUEST['anmerkung'])) return 'Anmerkung muss uebergeben werden'; $firma_obj->anmerkung = $_REQUEST['anmerkung']; if(!$firma_obj->save()) return 'Fehler beim Speichern:'.$firma_obj->errormsg; else return 'Anmerkung gespeichert!'; } ?>