diff --git a/cis/private/profile/change_password.php b/cis/private/profile/change_password.php index c8c8ad7b9..83132e1d1 100644 --- a/cis/private/profile/change_password.php +++ b/cis/private/profile/change_password.php @@ -28,6 +28,7 @@ require_once('../../../include/benutzer.class.php'); require_once('../../../addons/ldap/vilesci/ldap.class.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/Crypt_CHAP-1.5.0/CHAP.php'); +require_once('../../../include/'.EXT_FKT_PATH.'/passwort.inc.php'); $uid = get_uid(); $db = new basis_db(); @@ -99,7 +100,7 @@ if(isset($_POST['change'])) if($passwort_neu==$passwort_neu_check) { // Passwort Policy pruefen - if(($errormsg = check_policy($passwort_neu))===true) + if(($errormsg = check_policy($passwort_neu, $p))===true) { // Passwort aendern if(($msg = change_password($passwort_alt, $passwort_neu, $uid))===true) @@ -108,7 +109,7 @@ if(isset($_POST['change'])) } else { - echo ''.$msg.''; + echo 'ERR:'.$msg.''; } } else @@ -125,133 +126,4 @@ if(isset($_POST['change'])) echo ' '; -/** - * Prueft die Passwort Policy - * @param $passwort_neu das neue Passwort - * @return errormsg wenn Policy nicht erfuellt ist oder true wenn ok - */ -function check_policy($passwort_neu) -{ - global $p; - - // Prüfung des neuen Passwortes - $errormsg=''; - $error=false; - // Laenge mindestens 8 Zeichen - if(mb_strlen($passwort_neu)<8) - { - $error=true; - $errormsg .= $p->t('passwort/MinLaenge'); - } - - // Mindestens 1 Großbuchstabe - if(!preg_match('/[A-Z]/', $passwort_neu)) - { - $error=true; - $errormsg .=$p->t('passwort/Grossbuchstabe'); - } - // Mindestens 1 Kleinbuchstabe - if(!preg_match('/[a-z]/', $passwort_neu)) - { - $error=true; - $errormsg .=$p->t('passwort/Kleinbuchstabe'); - } - - // Mindestens 1 Ziffer - if(!preg_match('/[0-9]/', $passwort_neu)) - { - $error=true; - $errormsg .=$p->t('passwort/Ziffer'); - } - - // Keine Leerzeichen - if(strstr($passwort_neu, ' ')) - { - $error=true; - $errormsg .=$p->t('passwort/Leerzeichen'); - } - - // keine Umlaute - if(preg_match('/[ÄÖÜäöü]/', $passwort_neu)) - { - $error=true; - $errormsg .=$p->t('passwort/Umlaute'); - } - - // Sonderzeichen - if(!preg_match('/^(?=.*\d)(?=.*[A-Za-z])[0-9A-Za-z\-\$#\[\]\{\}!\(\)\.,\*:;_]{8,1024}$/', $passwort_neu)) - { - $error=true; - $errormsg.=$p->t('passwort/Sonderzeichen'); - } - - if($error) - return $errormsg; - else - return true; -} - -/** - * Aendert das Passwort im LDAP - * @param $passwort_alt Altes (aktuelles) Passwort - * @param $passwort_neu neues Passwort - * @param $uid UID - * @return true wenn erfolgreich sonst false - */ -function change_password($passwort_alt, $passwort_neu, $uid) -{ - $ldap = new ldap(); - - // Normalen Bind zum LDAP Server - if($ldap->connect()) - { - // DN des Users holen - if($user_dn = $ldap->GetUserDN($uid)) - { - $ldap->unbind(); - $ldap = new ldap(); - - // Bind des User mit alten Passwort - if($ldap->connect(LDAP_SERVER_MASTER,LDAP_PORT,$user_dn, $passwort_alt, LDAP_STARTTLS)) - { - // Passwort verschlüsseln - //SSHA - $salt = substr(pack('H*',hash('sha1',substr(pack('h*',hash('md5',mt_rand())),0,8).$passwort_neu)),0,4); - $encrypted = base64_encode(pack('H*',hash('sha1',$passwort_neu.$salt)).$salt); - $ssha_password = '{SSHA}'.$encrypted; - - // LM und NT - $hash = new Crypt_CHAP_MSv2(); - $hash->password = $passwort_neu; - // $lm_password = strtoupper(bin2hex($hash->lmPasswordHash())); - $nt_password = strtoupper(bin2hex($hash->ntPasswordHash())); - - // Neues Passwort setzen - $data = array(); - $data['userPassword']=$ssha_password; - // $data['sambaLMPassword']=$lm_password; - $data['sambaNTPassword']=$nt_password; - $data['sambaPwdLastSet']=time(); - $data['sambaPwdMustChange']=2147483647; // 2038-01-19 04:14:07 - - if($ldap->Modify($user_dn, $data)) - return true; - else - return false; - } - else - { - return $ldap->errormsg; - } - } - else - { - return $ldap->errormsg; - } - } - else - { - return $ldap->errormsg; - } -} ?> diff --git a/cis/public/accountactivation.php b/cis/public/accountactivation.php new file mode 100644 index 000000000..4f98a0191 --- /dev/null +++ b/cis/public/accountactivation.php @@ -0,0 +1,207 @@ + + */ +require_once('../../config/cis.config.inc.php'); +require_once('../../include/phrasen.class.php'); +require_once('../../include/sprache.class.php'); +require_once('../../include/benutzer.class.php'); +require_once('../../include/securimage/securimage.php'); +require_once('../../include/'.EXT_FKT_PATH.'/passwort.inc.php'); + +if(isset($_GET['sprache'])) +{ + $sprache = new sprache(); + if($sprache->load($_GET['sprache'])) + { + setSprache($_GET['sprache']); + } + else + setSprache(DEFAULT_LANGUAGE); +} + +$sprache = getSprache(); + +$p = new phrasen($sprache); +$securimage = new Securimage(); +$errormsg=''; +$db = new basis_db(); + +if(isset($_REQUEST['username'])) + $username = $_REQUEST['username']; +else + $username=''; + +if(isset($_REQUEST['code'])) + $code = $_REQUEST['code']; +else + $code =''; + + +if(isset($_POST['submit'])) +{ + // Captcha Pruefen + if ($securimage->check($_POST['captcha_code']) == true) + { + // Benutzer laden + $benutzer = new benutzer(); + if($benutzer->load($username)) + { + // Aktivierungscode pruefen + if($benutzer->aktivierungscode==$code) + { + $passwort = $_POST['passwort']; + $passwort2 = $_POST['passwort2']; + + // Vergleichen ob beide Passwoerter gleich sind + if($passwort==$passwort2) + { + // Passwort Policy pruefen + if(($errormsg = check_policy($passwort, $p))===true) + { + // Passwort setzen + if(($errormsg = change_password(ACCOUNT_ACTIVATION_PASSWORD, $passwort, $username))===true) + { + // Code entfernen + $benutzer = new benutzer(); + $benutzer->DeleteAktivierungscode($username); + } + } + } + else + { + $errormsg='Passwoerter stimmen nicht ueberein'; + } + } + else + { + $errormsg='Code oder Username falsch'; + } + } + else + { + $errormsg='Code oder Username falsch'; + } + } + else + { + $errormsg= 'Captcha Code falsch'; + } +} + +echo ' + + + Account Aktivierung + + + + + + + + + + + + +


'; + +echo ' + + + + +
+
'; + +echo ' +

'.$p->t('passwort/AccountAktivierung').'

+'.$p->t('passwort/PasswortWaehlen').'
'. +$p->t('passwort/InfotextPolicy').' +

'; +if(!isset($_SERVER['HTTPS']) || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='off')) +{ + + $httpspath = str_replace('http://','https://',APP_ROOT).'cis/public/accountactivation.php'; + echo '
'.$p->t('passwort/NoHttps').'
+ '.$p->t('passwort/ZuHttpsWechseln').'

'; +} + +echo '
+'.$errormsg.' +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Username
Code
'.$p->t('passwort/NeuesPasswort').'
'.$p->t('passwort/PasswortWiederholung').'
 
+ '.$p->t('passwort/CaptchaEingabe').' +
+ '.$p->t('passwort/ReloadCaptcha').' +
+ CAPTCHA Image +
+ +
+
+
+
+ + + +'; +?> diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index b56e2367d..bcdc0a032 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -1061,6 +1061,7 @@ if(!$error) $benutzer->uid = $uid; $benutzer->person_id = $prestd->person_id; $benutzer->aktiv = true; + $benutzer->aktivierungscode = generateActivationKey(); $nachname_clean = mb_strtolower(convertProblemChars($prestd->nachname)); $vorname_clean = mb_strtolower(convertProblemChars($prestd->vorname)); diff --git a/include/benutzer.class.php b/include/benutzer.class.php index 59b3e08c1..1b50b3b84 100644 --- a/include/benutzer.class.php +++ b/include/benutzer.class.php @@ -28,6 +28,7 @@ class benutzer extends person public $bnaktiv=true; // boolean public $alias; // varchar(256) public $bn_ext_id; + public $aktivierungscode; public $result = array(); /** @@ -57,6 +58,8 @@ class benutzer extends person $this->uid = $row->uid; $this->bnaktiv = $this->db_parse_bool($row->aktiv); $this->alias = $row->alias; + $this->aktivierungscode = $row->aktivierungscode; + if(!person::load($row->person_id)) return false; else @@ -152,7 +155,7 @@ class benutzer extends person if($new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE { - $qry = 'INSERT INTO public.tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon, ext_id) VALUES('. + $qry = 'INSERT INTO public.tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon, ext_id, aktivierungscode) VALUES('. $this->db_add_param($this->uid).",". $this->db_add_param($this->bnaktiv,FHC_BOOLEAN).",". $this->db_add_param($this->alias).",". @@ -161,7 +164,8 @@ class benutzer extends person $this->db_add_param($this->insertvon).",". $this->db_add_param($this->updateamum).",". $this->db_add_param($this->updatevon).",". - $this->db_add_param($this->bn_ext_id).");"; + $this->db_add_param($this->bn_ext_id).",". + $this->db_add_param($this->aktivierungscode).");"; } else { @@ -404,5 +408,21 @@ class benutzer extends person return false; } } + + /** + * Entfernt den Aktivierungscode eines Users + * @param $username + */ + public function DeleteAktivierungscode($username) + { + $qry = "UPDATE public.tbl_benutzer SET aktivierungscode=null WHERE uid=".$db->db_add_param($username); + if($this->db_query($qry)) + return true; + else + { + $this->errormsg = 'Fehler beim Loeschen des Aktivierungscodes'; + return false; + } + } } -?> \ No newline at end of file +?> diff --git a/include/functions.inc.php b/include/functions.inc.php index faf6d0b77..291903235 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -943,4 +943,16 @@ function generateSemesterList($semester, $anzahlFolgesemester) return $result; } +/** + * Generiert einen Aktivierungscode + */ +function generateActivationKey() +{ + $keyvalues=array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); + $key=''; + for($i=0;$i<32;$i++) + $key.=$keyvalues[mt_rand(0,15)]; + + return md5(encryptData(uniqid(mt_rand(), true),$key)); +} ?> diff --git a/include/rdf.class.php b/include/rdf.class.php index d72f8142a..14095a262 100755 --- a/include/rdf.class.php +++ b/include/rdf.class.php @@ -31,7 +31,7 @@ class rdf public $xml_header=''; // string public $xml_ns; // string protected $rdf_url; // string - protected static $rdf_text; + protected $rdf_text; protected static $nl="\n"; protected static $tb="\t"; diff --git a/include/tw/passwort.inc.php b/include/tw/passwort.inc.php new file mode 100644 index 000000000..4ad86fcc8 --- /dev/null +++ b/include/tw/passwort.inc.php @@ -0,0 +1,182 @@ + + */ +/** + * Funktionen zum Pruefen der Passwort Policy und setzen des Passworts + */ +require_once(dirname(__FILE__).'/../addon.class.php'); + +// die aktiven Addons werden durchsucht, ob eines davon eine eigene UID Generierung vorsieht +// falls ja, wird die Version des Addons genommen, ansonsten die Default Generierung +$passwort_addon_found=false; +$passwort_addons = new addon(); + +foreach($passwort_addons->aktive_addons as $addon) +{ + $passwort_addon_filename = dirname(__FILE__).'/../../addons/'.$addon.'/vilesci/passwort.inc.php'; + + if(file_exists($passwort_addon_filename)) + { + include($passwort_addon_filename); + $passwort_addon_found=true; + break; + } +} + +if(!$passwort_addon_found) +{ + + /** + * Prueft die Passwort Policy + * Das Passwort muss zumindest 8 Zeichen enthalten, davon mindestens 1 Großbuchstabe, + * 1 Kleinbuchstabe und eine Ziffer! + * Das Passwort darf keine Leerzeichen und Umlaute enthalten! + * Erlaubte Sonderzeichen sind: -$#[]{}!().,*:;_ + * + * @param $passwort_neu das neue Passwort + * @param $p Phrasen Objekt - Wenn nicht uebergeben werden die Fehler in der Default Langauge angezeigt + * @return errormsg wenn Policy nicht erfuellt ist oder true wenn ok + */ + function check_policy($passwort_neu, $p=null) + { + if(is_null($p)) + $p = new phrase(DEFAULT_LANGUAGE); + + // Prüfung des neuen Passwortes + $errormsg=''; + $error=false; + // Laenge mindestens 8 Zeichen + if(mb_strlen($passwort_neu)<8) + { + $error=true; + $errormsg .= $p->t('passwort/MinLaenge'); + } + + // Mindestens 1 Großbuchstabe + if(!preg_match('/[A-Z]/', $passwort_neu)) + { + $error=true; + $errormsg .=$p->t('passwort/Grossbuchstabe'); + } + // Mindestens 1 Kleinbuchstabe + if(!preg_match('/[a-z]/', $passwort_neu)) + { + $error=true; + $errormsg .=$p->t('passwort/Kleinbuchstabe'); + } + + // Mindestens 1 Ziffer + if(!preg_match('/[0-9]/', $passwort_neu)) + { + $error=true; + $errormsg .=$p->t('passwort/Ziffer'); + } + + // Keine Leerzeichen + if(strstr($passwort_neu, ' ')) + { + $error=true; + $errormsg .=$p->t('passwort/Leerzeichen'); + } + + // keine Umlaute + if(preg_match('/[ÄÖÜäöü]/', $passwort_neu)) + { + $error=true; + $errormsg .=$p->t('passwort/Umlaute'); + } + + // Sonderzeichen + if(!preg_match('/^(?=.*\d)(?=.*[A-Za-z])[0-9A-Za-z\-\$#\[\]\{\}!\(\)\.,\*:;_]{8,1024}$/', $passwort_neu)) + { + $error=true; + $errormsg.=$p->t('passwort/Sonderzeichen'); + } + + if($error) + return $errormsg; + else + return true; + } + + /** + * Aendert das Passwort im LDAP + * @param $passwort_alt Altes (aktuelles) Passwort + * @param $passwort_neu neues Passwort + * @param $uid UID + * @return true wenn erfolgreich sonst false + */ + function change_password($passwort_alt, $passwort_neu, $uid) + { + $ldap = new ldap(); + + // Normalen Bind zum LDAP Server + if($ldap->connect()) + { + // DN des Users holen + if($user_dn = $ldap->GetUserDN($uid)) + { + $ldap->unbind(); + $ldap = new ldap(); + + // Bind des User mit alten Passwort + if($ldap->connect(LDAP_SERVER_MASTER,LDAP_PORT,$user_dn, $passwort_alt, LDAP_STARTTLS)) + { + // Passwort verschlüsseln + //SSHA + $salt = substr(pack('H*',hash('sha1',substr(pack('h*',hash('md5',mt_rand())),0,8).$passwort_neu)),0,4); + $encrypted = base64_encode(pack('H*',hash('sha1',$passwort_neu.$salt)).$salt); + $ssha_password = '{SSHA}'.$encrypted; + + // LM und NT + $hash = new Crypt_CHAP_MSv2(); + $hash->password = $passwort_neu; + // $lm_password = strtoupper(bin2hex($hash->lmPasswordHash())); + $nt_password = strtoupper(bin2hex($hash->ntPasswordHash())); + + // Neues Passwort setzen + $data = array(); + $data['userPassword']=$ssha_password; + // $data['sambaLMPassword']=$lm_password; + $data['sambaNTPassword']=$nt_password; + $data['sambaPwdLastSet']=time(); + $data['sambaPwdMustChange']=2147483647; // 2038-01-19 04:14:07 + + if($ldap->Modify($user_dn, $data)) + return true; + else + return false; + } + else + { + return $ldap->errormsg; + } + } + else + { + return $ldap->errormsg; + } + } + else + { + return $ldap->errormsg; + } + } +} +?> diff --git a/locale/de-AT/passwort.php b/locale/de-AT/passwort.php index de2a77165..717a4ddda 100644 --- a/locale/de-AT/passwort.php +++ b/locale/de-AT/passwort.php @@ -22,5 +22,9 @@ $this->phrasen['passwort/AenderungFehler']='Passwort Änderung fehlgeschlagen:%s $this->phrasen['passwort/NichtUebereinstimmend']='Passwörter stimmen nicht überein'; $this->phrasen['passwort/NoHttps']='ACHTUNG - Sie verwenden eine unverschlüsselte Verbindung. Sie sollten Ihr Passwort nur über eine verschlüsselte Verbindung ändern.'; $this->phrasen['passwort/ZuHttpsWechseln']='Jetzt zu verschlüsselter Verbindung wechseln'; +$this->phrasen['passwort/CaptchaEingabe']='Tippen Sie die angezeigten
Zeichen in das untere Feld.'; +$this->phrasen['passwort/ReloadCaptcha']='Ich kann das Bild nicht lesen - neu laden'; +$this->phrasen['passwort/PasswortWaehlen']='Bitte wählen Sie ein Passwort für Ihren Account'; +$this->phrasen['passwort/AccountAktivierung']='Account Aktivierung'; ?> diff --git a/system/checksystem.php b/system/checksystem.php index d534eac91..1c8ac13b7 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -1265,6 +1265,42 @@ if($result = @$db->db_query("SELECT 1 FROM information_schema.columns WHERE tabl } } +// aktivierungscode in tbl_benutzer +if(!$result = @$db->db_query("SELECT aktivierungscode FROM public.tbl_benutzer LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_benutzer ADD COLUMN aktivierungscode varchar(64);"; + + if(!$db->db_query($qry)) + echo 'public.tbl_benutzer: '.$db->db_last_error().'
'; + else + echo 'public.tbl_benutzer: Spalte aktivierungscode hinzugefuegt'; +} + +// Diverse neue Indexe +if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_lehrveranstaltung_studiengang'")) +{ + if($db->db_num_rows($result)==0) + { + + $qry = " + DROP INDEX idx_lehreinheit_lehrfach_id; + CREATE INDEX idx_lehrveranstaltung_studiengang ON lehre.tbl_lehrveranstaltung USING btree (studiengang_kz); + CREATE INDEX idx_lehrveranstaltung_semester ON lehre.tbl_lehrveranstaltung USING btree (semester); + CREATE INDEX idx_lehreinheit_lehrveranstaltung_id ON lehre.tbl_lehreinheit USING btree (lehrveranstaltung_id); + CREATE INDEX idx_studienplan_studienordnung_id ON lehre.tbl_studienplan USING btree (studienordnung_id); + CREATE INDEX idx_studienplan_lehrveranstaltung_lehrveranstaltung_id ON lehre.tbl_studienplan_lehrveranstaltung USING btree (lehrveranstaltung_id); + CREATE INDEX idx_studienplan_lehrveranstaltung_stpllvid ON lehre.tbl_studienplan_lehrveranstaltung USING btree (studienplan_id, lehrveranstaltung_id); + CREATE INDEX idx_studienplan_lehrveranstaltung_studienplan_id ON lehre.tbl_studienplan_lehrveranstaltung USING btree (studienplan_id); + CREATE INDEX idx_studienplan_lehrveranstaltung_parent_id ON lehre.tbl_studienplan_lehrveranstaltung USING btree (studienplan_lehrveranstaltung_id_parent); + CREATE INDEX idx_lehreinheit_lehrfach_id ON lehre.tbl_lehreinheit USING btree (lehrfach_id) + "; + + if(!$db->db_query($qry)) + echo 'Indizes: '.$db->db_last_error().'
'; + else + echo 'Diverse Indexe fuer Studienpan und Lehrveranstaltung hinzugefuegt'; +} + echo '


'; $tabellen=array( @@ -1400,7 +1436,7 @@ $tabellen=array( "public.tbl_aufmerksamdurch" => array("aufmerksamdurch_kurzbz","beschreibung","ext_id"), "public.tbl_aufnahmeschluessel" => array("aufnahmeschluessel"), "public.tbl_bankverbindung" => array("bankverbindung_id","person_id","name","anschrift","bic","blz","iban","kontonr","typ","verrechnung","updateamum","updatevon","insertamum","insertvon","ext_id","oe_kurzbz"), - "public.tbl_benutzer" => array("uid","person_id","aktiv","alias","insertamum","insertvon","updateamum","updatevon","ext_id","updateaktivvon","updateaktivam"), + "public.tbl_benutzer" => array("uid","person_id","aktiv","alias","insertamum","insertvon","updateamum","updatevon","ext_id","updateaktivvon","updateaktivam","aktivierungscode"), "public.tbl_benutzerfunktion" => array("benutzerfunktion_id","fachbereich_kurzbz","uid","oe_kurzbz","funktion_kurzbz","semester", "datum_von","datum_bis", "updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung"), "public.tbl_benutzergruppe" => array("uid","gruppe_kurzbz","studiensemester_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext","aktiv","credit_points"), diff --git a/vilesci/personen/import/interessentenimport.php b/vilesci/personen/import/interessentenimport.php index 6a0c1d1a5..038c365c3 100644 --- a/vilesci/personen/import/interessentenimport.php +++ b/vilesci/personen/import/interessentenimport.php @@ -126,11 +126,11 @@ if(isset($_GET['type']) && $_GET['type']=='getortcontent' && isset($_GET['plz']) echo getOrtDropDown($_GET['plz'], $_GET['gemeinde']); exit; } - -function getStudienplanDropDown($studiengang_kz, $orgform_kurzbz='', $studienplan_id='') -{ - $db = new basis_db(); - + +function getStudienplanDropDown($studiengang_kz, $orgform_kurzbz='', $studienplan_id='') +{ + $db = new basis_db(); + $content= ''; - return $content; -} - -if(isset($_GET['type']) && $_GET['type']=='getstudienplancontent' && isset($_GET['studiengang_kz']) && isset($_GET['orgform_kurzbz'])) -{ - header('Content-Type: text/html; charset=UTF-8'); - - echo getStudienplanDropDown($_GET['studiengang_kz'], $_GET['orgform_kurzbz']); - exit; + return $content; +} + +if(isset($_GET['type']) && $_GET['type']=='getstudienplancontent' && isset($_GET['studiengang_kz']) && isset($_GET['orgform_kurzbz'])) +{ + header('Content-Type: text/html; charset=UTF-8'); + + echo getStudienplanDropDown($_GET['studiengang_kz'], $_GET['orgform_kurzbz']); + exit; } ?> @@ -472,6 +472,9 @@ $anmerkungen = (isset($_REQUEST['anmerkungen'])?$_REQUEST['anmerkungen']:''); $studiengang_kz = (isset($_REQUEST['studiengang_kz'])?$_REQUEST['studiengang_kz']:''); if($studiengang_kz=='' && isset($_GET['studiengang_kz'])) $studiengang_kz = $_GET['studiengang_kz']; +if($studiengang_kz=='undefined') + $studiengang_kz=''; + $person_id = (isset($_REQUEST['person_id'])?$_REQUEST['person_id']:''); $ueberschreiben = (isset($_REQUEST['ueberschreiben'])?$_REQUEST['ueberschreiben']:''); $studiensemester_kurzbz = (isset($_REQUEST['studiensemester_kurzbz'])?$_REQUEST['studiensemester_kurzbz']:''); @@ -885,6 +888,7 @@ if(isset($_POST['save'])) $benutzer->uid = $uid; $benutzer->person_id = $person->person_id; $benutzer->aktiv = true; + $benutzer->aktivierungscode = generateActivationKey(); $nachname_clean = mb_strtolower(convertProblemChars($person->nachname)); $vorname_clean = mb_strtolower(convertProblemChars($person->vorname)); @@ -1131,7 +1135,7 @@ if($studiengang_kz!='') else echo 'Bitte zuerst einen Studiengang waehlen'; echo ' -'; +'; echo 'Incoming:'; echo ''; @@ -1221,4 +1225,4 @@ if($where!='') - \ No newline at end of file + diff --git a/vilesci/personen/import/mitarbeiterimport.php b/vilesci/personen/import/mitarbeiterimport.php index ea182ab40..1f9e5c88f 100644 --- a/vilesci/personen/import/mitarbeiterimport.php +++ b/vilesci/personen/import/mitarbeiterimport.php @@ -500,6 +500,7 @@ if(isset($_POST['save'])) $benutzer->alias = $alias; $benutzer->insertamum=date('Y-m-d H:i:s'); $benutzer->insertvon = $user; + $benutzer->aktivierungscode = generateActivationKey(); if($benutzer->save(true,false)) {