datamodel->retrieve('user', 'COUNT(*) AS anzahl', "name = '".$name."'"); $doesnt_exist = ( $result['anzahl'] == 0 )? TRUE: FALSE; return $doesnt_exist; } /** * Ein zufälliges Passwort generieren * * Ausgehend von der Systemzeit wird ein 6 Zeichen langer String erzeugt, * der als vorübergehendes Passwort verwendet werden kann. * * @return string zufälliges Passwort */ function generate_PW() { $pass = substr(md5(uniqid(microtime())), 0, 6); return $pass; } /** * Neues Benutzerprofil anlegen * * @param array $data * @return bool */ function create_user($data) { $db_data = array( 'name'=>$data['name'], 'email'=>$data['mail'], 'password'=>md5($data['password1']) ); $create_user = ( $this->datamodel->create('user', $db_data) )? TRUE: FALSE; return $create_user; } /** * Benutzerdaten speichern * * Die Benutzerdaten werden gespeichert. Wenn ein Password angegeben wurde, * wird es MD5-Codiert. * * @param array $data * @param int $user * @return bool */ function update_user($data, $user) { $db_data = $data; if ( isset($data['password1']) ) $db_data['password'] = md5($data['password1']); unset($db_data['password1'], $db_data['password2']); $update_user = ( $this->datamodel->update('user', $db_data, $user) )? TRUE: FALSE; return $update_user; } /** * Benutzerdaten per mail verschicken * * @param string $name Benutzername * @param string $password * @return mixed */ function notify_user($name, $password='') { $result = $this->datamodel->retrieve('user', 'email', "name = '".$name."'", '', '1'); $mailadresse = $result['email']; unset($result); $result = $this->datamodel->retrieve('basecontent_options', 'value', 'optionname="SEITENTITEL"', '', '1'); $seitentitel = $result['value']; $data['name'] = $name; $data['password'] = ( $password == '' )? 'Das Passwort wurde nicht verändert.': $password; $this->functions->needs('mail'); $m = new e_mail(); $to = $mailadresse; $from = 'basecontent@'.$_SERVER['HTTP_HOST']; $topic = '['.$seitentitel.'] Benutzeraccount freigeschaltet'; $template = file_get_contents( $this->modulepath . 'user/views/notify.tpl'); $text = $m->parse_template($template, $data); $m->set_config($to, $from, $topic); $m->set_text($text); $m->compose_message(); $notify_user = $m->send_mail(); if (!$notify_user) $notify_user = $m->get_error(); return $notify_user; } } ?>