"", 1 => "Ordentliches Mitglied", 2 => "Korresp.Mitglied", 3 => "Ehrenmitglied", 4 => "ausserord.Mitglied", 5 => "Ruhestand", 6 => "Ruhestand + Korresp.Mitgl.", 7 => "Ruhestand + Ehrenmitglied", 8 => "Ruhestand + ausserord.Mitgl.", 9 => "Mitgliedschaft beendet" ); var $months = array( 1 => "Januar", 2 => "Februar", 3 => "März", 4 => "April", 5 => "Mai", 6 => "Juni", 7 => "Juli", 8 => "August", 9 => "September", 10 => "Oktober", 11 => "November", 12 => "Dezember" ); var $land = array( "D" => "Deutschland", "USA" => "USA", "AT" => "Österreich", "CH" => "Schweiz" ); function passsend( $content, $conf ) { if ( t3lib_div::GPvar( "submit" ) ) { $email = t3lib_div::GPvar( "tx_mitglieder_email" ); if ( trim( $email ) ) { $rc = $GLOBALS['TYPO3_DB']->exec_SELECTquery( 'password','fe_users', 'username="'.$email.'"'); if ( mysql_num_rows( $rc ) ) { $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc( $rc ); $mailtext = 'Ihr Passwort für den Mitgliederbereich der DGA lautet "'.$row['password'].'". Der Benutzername ist Ihre E-Mail Adresse.'; mail( $email, 'DGA Mitgliederberreich', utf8_decode($mailtext), 'From: "DGA" '); return '

Ihr Passwort wurde an Ihre E-Mail Adresse geschickt. Hier kommen Sie wieder zurück zum Login.

'; } else { $errMsg='E-Mail Adresse ist nicht in der Datenbank vorhanden. Hier können Sie einen Zugang beantragen.'; } } else { $errMsg='Bitte geben Sie eine E-Mail Adresse ein.'; } } if( $errMsg )$out.='

'.$errMsg.'

'; $out.='

Bitte geben Sie Ihre E-Mail Adresse ein und klicken Sie auf "Senden". Danach wird Ihr Passwort an die eingetragene E-Mail Adresse geschickt.


E-Mail
'; return $out; } function form($content,$conf) { $uid = t3lib_div::_GP('uid'); if(strlen(trim($uid))>0) { $update = array('disable' => '0'); $GLOBALS['TYPO3_DB']->exec_UPDATEquery('fe_users',"uid='".$uid."'",$update); return "Benutzer mit der ID: ".$uid." wurde freigeschaltet."; } if (t3lib_div::GPvar("submit")) { $vars = t3lib_div::GPvar("tx_mitglieder"); if ($conf[mode]=="edit") { if (strlen(trim($vars[pass]))) { if (strlen(trim($vars[pass])) < 4 ) $passerror = 'Passwort zu kurz.'; if (!$passerror && trim($vars[pass]) != trim($vars[pass2])) $passerror = 'Passwörter stimmen nicht überein.'; if (!$passerror) { $udr= array ( 'password' => trim($vars[pass]) ); $this->getAuthUser($conf); $GLOBALS['TYPO3_DB']->exec_UPDATEquery('fe_users', 'uid='.$this->user['uid'], $udr); $passset = true; } } } if ( trim($vars[vorname]) && trim($vars[name]) && trim($vars[email]) && trim($vars[fachrichtung]) && (trim($vars[postfach]) || (trim($vars[strasse]))) && trim($vars[plz]) && trim($vars[stadt]) && trim($vars[title]) && trim($vars[tel]) && trim($vars[company]) && !$passerror ) { foreach($vars as $key => $var) { $vars[$key] = addslashes(trim($var)); } $insert = array( 'uid' => NULL, 'pid' => $conf['storage'], 'username' => $vars['email'], 'password' => md5(time()), 'usergroup' => 2, 'disable' => 1, 'name' => $vars['name'], 'address' => $vars['strasse'], 'telephone' => $vars['tel'], 'fax' => $vars['fax'], 'email' => $vars['email'], 'crdate' => time(), 'cruser_id' => 0, 'title' => $vars['title'], 'zip' => $vars['plz'], 'city' => $vars['stadt'], 'country' => $vars['land'], 'www' => $vars['www'], 'company' => $vars['company'], 'tx_txmitglieder_vorname' => $vars['vorname'], 'tx_txmitglieder_mitgliedsstatus' => 1, 'tx_txmitglieder_abteilung' => $vars['abteilung'], 'tx_txmitglieder_funktion' => '', 'tx_txmitglieder_postfach' => $vars['postfach'], 'tx_txmitglieder_bundesland' => $vars['bundesland'], 'tx_txmitglieder_fachrichtung' => $vars['fachrichtung'], 'tx_txmitglieder_public' => 1, ); $GLOBALS['TYPO3_DB']->exec_INSERTQuery('fe_users',$insert); $id = $GLOBALS['TYPO3_DB']->sql_insert_id(); $subject="Eine Anfrage aus dem Mitgliederbereich wurde gestellt (Typ:".$conf[mode].")"; $mail.='Folgende Daten wurden übermittelt: Titel: '.$vars[title].' Vorname: '.$vars[vorname].' Nachname: '.$vars[name].' Email: '.$vars[email].' Telefon: '.$vars[tel].' Fax: '.$vars[fax].' Website: '.$vars[www].' Organisation: '.$vars[company].' Abteilung: '.$vars[abteilung].' Fachrichtung/Schwerpunkt: '.$vars[fachrichtung].' Strasse: '.$vars[strasse].' Postfach: '.$vars[postfach].' PLZ: '.$vars[plz].' Stadt: '.$vars[stadt].' Bundesland: '.$vars[bundesland].' Land: '.$vars[land].' Aktivierung: http://www.verschlusssache-pavk.de/index.php?id='.$GLOBALS['TSFE']->id.'&uid='.$id.' '; $mail = utf8_decode($mail); mail($conf[rcpt],$subject,$mail); $out = "

Anfrage abgeschickt.

"; if ($passset) { $out.='

Ihr Passwort wurde aktualisiert.

'; } return $out; } else { if (!(trim($vars[vorname]) && trim($vars[name]) && trim($vars[email]) && (trim($vars[postfach]) || (trim($vars[plz]) && trim($vars[strasse]) && trim($vars[stadt]))) && trim($vars[title]) && trim($vars[tel]) && trim($vars[company]))){ $errorMsg="Bitte füllen Sie alle Pflichtfelder aus."; } if ($passerror) $errorMsg.="
".$passerror; } } else { $this->getAuthUser($conf); $vars = array ( "title" => $this->user[title], "vorname" => $this->user[tx_txmitglieder_vorname], "name" => $this->user[name], "email" => $this->user[email], "tel" => $this->user[telephone], "fax" => $this->user[fax], "www" => $this->user[www], "company" => $this->user[company], "abteilung" => $this->user[tx_txmitglieder_abteilung], "fachrichtung" => $this->user[fachrichtung], "strasse" => $this->user[address], "postfach" => $this->user[tx_txmitglieder_postfach], "plz" => $this->user[zip], "stadt" => $this->user[city], "bundesland" => $this->user[tx_txmitglieder_bundesland], "land" => $this->user[country], ); } $myurl = ( $conf[mode]=="request" ) ? $conf["requestURL"] : $conf["editURL"]; if( $errorMsg )$out.='

'.$errorMsg.'

'; $out.='
'; $out.='
'; $out.='
'; $out.=''; $out.=''; $out.=''; $out.=''; $out.='
Titel*
Vorname*
Nachname*

'; $out.='
'; $out.=''; $out.=''; $out.=''; $out.=''; $out.=''; $out.='
Email*
Telefon*
Fax
Website

'; $out.= '
'; $out.=''; $out.=''; $out.=''; $out.=''; $out.=''; $out.=''; $out.=''; $out.=''; $out.=''; $out.=''; $out.='
Organisation*
Abteilung
Fachrichtung/
Schwerpunkt*
Strasse(*)
Postfach(*)
PLZ*
Stadt*
Bundesland
Land
'; if ( $conf[mode] == 'edit' ) { $out.= '
'; $out.=''; $out.=''; $out.=''; $out.='
Neues Passwort
(min. 4 Zeichen)
Neues Passwort
(bestätigen)
'; } $out.='
'; $out.=''; $out.=''; $out.='
'; $out.='
'; $out.='

* = Pflichtfeld

'; $out.=''; return $out; } function suche($content,$conf) { // $GLOBALS['TYPO3_DB'] $conf['extDatabase'] = $this->getSelectDatabases($conf); $this->getAuthUser($conf); $vars = t3lib_div::GPvar("tx_mitglieder"); if(is_array($vars)) foreach ($vars as $key => $val) $vars[$key] = trim($val); if ($vars["regdatcb"]){ $regdat = t3lib_div::GPvar("tx_mitglieder_regdat"); $vars["regdat"] = strtotime($regdat[year].sprintf("%02d",$regdat[month]).sprintf("%02d",$regdat[day])); } $form = '
'; if (!$conf['public']) { if ($this->user[isMgAdm]) { $form.=''; } $form.=''; $form.=''; $form.=''; if ($this->user[isMgAdm]) { $form.=''; $form.=''; $form.=''; } $form.=''; } else { $form.=''; $form.=''; } $form.= '
Username
Stadt
Vorname
Nachname
Email
Status
Organisation
PLZ:
'; $form.= '

Hinweis: Für die Suche in der Schweiz stellen Sie bitte "CH-" voran, für Österreich "A-".

'; $form.= '
'; $limit =($conf[itemsPerPage])?$conf[itemsPerPage]:9; $where = 'disable = 0 AND usergroup="2"'; if (is_numeric($vars["uid"]) && $this->user[isMgAdm]) { $where.= " AND uid = '".$vars["uid"]."'"; } if ($vars["username"] && $this->user[isMgAdm]) { $where.= ' AND username LIKE "%'.$vars["username"].'%"'; } if ($vars["city"]) { $where.= " AND city like '%".$vars["city"]."%'"; } if ($vars["fname"]) { $where.= " AND tx_txmitglieder_vorname like '%".$vars["fname"]."%'"; } if ($vars["lname"]) { $where.= " AND name like '%".$vars["lname"]."%'"; } if ($vars["email"] && $this->user[isMgAdm]) { $where.= " AND email like '%".$vars["email"]."%'"; } if ($vars["status"] && $this->user[isMgAdm]) { $where.= " AND tx_txmitglieder_mitgliedsstatus = ".$vars["status"].""; } if ($vars["company"] && $this->user[isMgAdm]){ $where.= " AND company like '%".$vars["company"]."%'"; } if ($vars["plz"] && strlen(trim($vars["plz"]))>=2) { $where.= " AND zip LIKE '".$vars["plz"]."%'"; } if ($conf['public']) { $where .= " AND tx_txmitglieder_public = 1"; $order = "zip"; } else { $order = "name"; } $oneDay = 60 * 60 * 24; $results = 0; $result = array(); foreach($conf['extDatabase'] as $db_uid => $database) { $this->connect2database($conf, $db_uid); $sql = $GLOBALS['TYPO3_DB']->SELECTquery('*',"fe_users",$where,'',$order); $res = $GLOBALS['TYPO3_DB']->sql($database, $sql); while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $result[] = $row['username']; } } $result = array_unique($result); $results = count($result); $site = (t3lib_div::GPvar("site"))?t3lib_div::GPvar("site"):1; $sites = ceil($results / $limit); if($vars["plz"] && strlen(trim($vars["plz"]))>=2) $site = 1; // Browser basteln $link=$conf[searchURL]; if (is_array($vars) ) foreach ($vars as $var => $val) $link.='&tx_mitglieder['.urlencode($var).']='.urlencode($val); $browser = '
'; if ($site > 1) $browser.='<< zurück'; for ($i = 1;$i<=$sites;$i++) { if ($i != $site) { $browser.=' '.$i.' '; } else { $browser.=' '.$i.' '; } if ($i<$sites) $browser.='|'; } if ($site < $sites ) $browser.=' weiter>>'; $browser.='
'; /*if ($site>1)*/$limit = (($site-1)*$limit).",".$limit; //$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*',$this->getSelectFrom($conf['extDatabase']),$where,'',$order,$limit); $table='
'; $table.=''; $table.='
Treffer: '.$results.'
'; $table.=$browser; $table.=''; if (!$conf['public']) { $table.=($this->user[isMgAdm])?'':''; } else { $table.=''; } $rowCount = 0; $unique = array(); foreach($conf['extDatabase'] as $db_uid => $database) { $this->connect2database($conf, $db_uid); $sql = $GLOBALS['TYPO3_DB']->SELECTquery('*',"fe_users",$where,'',$order); $res = $GLOBALS['TYPO3_DB']->sql($database, $sql); while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $row['db_uid'] = $db_uid; if(!in_array($row['username'], $unique)) { $result[$rowCount++] = $row; $unique[] = $row['username']; } } } $result = $this->sort($result,$order,true,false); $limit = explode(",",$limit); for($i = $limit[0];$i<=$limit[0]+$limit[1];$i++) { $row = $result[$i]; if(!is_array($row)) break; $db_uid = $row['db_uid']; $link = 'Detail'; if (!$conf['public']){ $table.=($this->user[isMgAdm]) ? '': ''; } else { $table.=''; } } $table.='
Benutzer IDUsernameNameDetails
NameStadtDetails
PLZStadtNameDetails
'.$row["uid"].''.$row["username"].''.$row["title"]." ".$row["tx_txmitglieder_vorname"].' '.$row["name"].''.$link.'
'.$row["title"]." ".$row["tx_txmitglieder_vorname"].' '.$row["name"].''.$row["city"].''.$link.'
'.$row["zip"].''.$row["city"].''.$row["title"]." ".$row["tx_txmitglieder_vorname"].' '.$row["name"].''.$link.'
'; $table.='
'; $GLOBALS['TSFE']->page['title'] .= " - Seite: ".$site; $GLOBALS['TSFE']->indexedDocTitle .= " - Seite: ".$site; return $form.$table; } function detail ( $content,$conf,$full=false ) { $conf['extDatabase'] = $this->getSelectDatabases($conf); $this->getAuthUser($conf); $uid = t3lib_div::GPvar("uid"); $db = t3lib_div::GPvar("db"); if (!$uid) $uid = $this->user["uid"]; if (strlen(trim($db))<=0) return ("Error: db id not found"); $where = substr(trim($where),0,strlen(trim($where))-2); $uid = mysql_real_escape_string($uid); $this->connect2database($conf, $db); $sql = $GLOBALS['TYPO3_DB']->SELECTquery('*',"fe_users","uid = '".$uid."' AND disable = 0"); $res = $GLOBALS['TYPO3_DB']->sql($conf['extDatabase'][$db], $sql); if (!mysql_num_rows($res)) return ("Error: uid not found"); $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res); $out = '
'; $out.= '
'; $out.= ''; //4 3 if ($this->user[isMgAdm]) $out.= ''; if ($row["title"] || $full) $out.= ''; if ($row["tx_txmitglieder_vorname"] || $full) $out.= ''; if ($row["name"] || $full) $out.= ''; if ($this->user[isMgAdm]) $out.= ''; $out.= '
Benutzername'.$row["username"].'
Titel'.$row["title"].'
Vorname'.$row["tx_txmitglieder_vorname"].'
Nachname'.$row["name"].'
Status'.$this->status[$row["tx_txmitglieder_mitgliedsstatus"]].'

'; $out.= '
'; $out.= ''; if ( ($row["email"] || $full ) && ! $conf['public'] ) $out.= ''; if ($row["telephone"] || $full) $out.= ''; if ($row["fax"] || $full) $out.= ''; if ($row["www"] || $full) $out.= ''; $out.= '
Email'.$row["email"].'
Telefon'.$row["telephone"].'
Fax'.$row["fax"].'
Website'.$row["www"].'

'; $out.= '
'; $out.= ''; if ($row["company"] || $full) $out.= ''; if ($row["tx_txmitglieder_abteilung"] || $full) $out.= ''; if ($row["tx_txmitglieder_fachrichtung"] || $full) $out.= ''; if ($row["address"] || $full) $out.= ''; if ($row["tx_txmitglieder_postfach"] || $full) $out.= ''; if ($row["zip"] || $full) $out.= ''; if ($row["city"] || $full) $out.= ''; if ($row["tx_txmitglieder_bundesland"] || $full) $out.= ''; if ($row["country"] || $full) $out.= ''; $out.= '
Organisation'.$row["company"].'
Abteilung'.$row["tx_txmitglieder_abteilung"].'
Fachrichtung/
Schwerpunkt
'.$row["tx_txmitglieder_fachrichtung"].'
Strasse'.$row["address"].'
Postfach'.$row["tx_txmitglieder_postfach"].'
PLZ'.$row["zip"].'
Stadt'.$row["city"].'
Bundesland'.$row["tx_txmitglieder_bundesland"].'
Land'.(($this->land[$row["country"]])?$this->land[$row["country"]]:$row["country"]).'
'; if ($full) { $out.='Ändern'; } $out.= '
'; $GLOBALS['TSFE']->page['title'] .= " - ".$row['title']." ".$row["tx_txmitglieder_vorname"]." ".$row["name"]; $GLOBALS['TSFE']->indexedDocTitle .= " - ".$row['title']." ".$row["tx_txmitglieder_vorname"]." ".$row["name"]; return $out; } function myData ( $content,$conf ) { $this->getAuthUser($conf); return $this->detail( $content,$conf,true ); } function edit ( $content,$conf ) { $this->getAuthUser($conf); $out = '
'; } function genDateField ($name="", $date=0) { if (!$date) $date = time(); $day = date("d",$date); $month = date("m",$date); $year = date("Y",$date); $curyear = date("Y"); $ret = '"; $ret.= '"; $ret.= '"; return $ret; } function getAuthUser($conf) { $this->user = $GLOBALS["T3_VAR"]["makeInstanceService"]["tx_sv_auth"]->pObj->user; $this->user[isMgAdm] = ($conf[admGrpID] == $this->user[usergroup]) ? true:false; } function connect2database($conf, $db) { $connect = $conf[$db]; $connect = explode(",",$connect); if(is_array($connect) && !empty($connect) && count($connect)==4) { foreach($connect as $key => $value) $connect[$key] = trim($value); $GLOBALS['TYPO3_DB']->sql_pconnect($connect[0],$connect[1],$connect[2]); $GLOBALS['TYPO3_DB']->sql_select_db($connect[3]); } } function getSelectDatabases($conf) { $result = $GLOBALS['TYPO3_DB']->admin_query("select database() as current_db;"); $result = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result); if(strlen(trim($conf['extDatabase']))>0) { $conf['extDatabase'] = $result['current_db'].",".$conf['extDatabase']; $conf['extDatabase'] = explode(",",$conf['extDatabase']); } else { $conf['extDatabase'] = array($result['current_db']); } $databases = array(); foreach($conf['extDatabase'] as $db) { $db = trim($db); $connect = $conf[$db]; $connect = explode(",",$connect); if(is_array($connect) && !empty($connect) && count($connect)==4) { foreach($connect as $key => $value) $connect[$key] = trim($value); $databases[$connect[3]] = $GLOBALS['TYPO3_DB']->sql_pconnect($connect[0],$connect[1],$connect[2]); } } return $databases; } function sort($original,$field,$reset = true,$descending = false) { $sortArr = array(); if (is_array($original)) { foreach ( $original as $key => $value ) { $sortArr[ $key ] = $value[ $field ]; } } if ( $descending ) { arsort( $sortArr ); } else { asort( $sortArr ); } $resultArr = array(); foreach ( $sortArr as $key => $value ) { $resultArr[ $key ] = $original[ $key ]; } if($reset) return array_values($resultArr); return $resultArr; } function fixEncoding($in_str) { $cur_encoding = mb_detect_encoding($in_str) ; if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8")) return $in_str; else return utf8_encode($in_str); } // fixEncoding } ?> Die Initiative gegen PAVK | Arztdatenbank