This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ require '../lib/bootstrap.php'; page_open([ 'sess' => 'Seminar_Session', 'auth' => 'Seminar_Auth', 'perm' => 'Seminar_Perm', 'user' => 'Seminar_User' ]); $auth->login_if($auth->auth['uid'] == 'nobody'); $perm->check('user'); // nobody hat hier nix zu suchen... include 'lib/seminar_open.php'; // initialise Stud.IP-Session // hier wird noch mal berechnet, welches secret in der Bestaetigungsmail uebergeben wurde $secret = Request::option('secret'); PageLayout::setHelpKeyword('Basis.AnmeldungMail'); PageLayout::setTitle(_('Bestätigung der E-Mail-Adresse')); //user bereits vorhanden if ($perm->have_perm('autor')) { $info = sprintf(_('Sie haben schon den Status %s im System. Eine Aktivierung des Accounts ist nicht mehr nötig, um Schreibrechte zu bekommen'), $auth->auth['perm']); $details = []; $details[] = sprintf('%s', URLHelper::getLink('index.php'), _('zurück zur Startseite')); $message = MessageBox::info($info, $details); } // So, wer bis hier hin gekommen ist gehoert zur Zielgruppe... // Volltrottel (oder abuse) else if (empty($secret)) { $message = MessageBox::error(_('Sie müssen den vollständigen Link aus der Bestätigungsmail in die Adresszeile Ihres Browsers kopieren.')); } // abuse (oder Volltrottel) else if (!Seminar_Register_Auth::validateSecret($secret, $user->id)) { $error = _('Der übergebene Secret-Code ist nicht korrekt.'); $details = []; $details[] = _('Sie müssen unter dem Benutzernamen eingeloggt sein, für den Sie die Bestätigungsmail erhalten haben.'); $details[] = _('Und Sie müssen den vollständigen Link aus der Bestätigungsmail in die Adresszeile Ihres Browsers kopieren.'); $message = MessageBox::error($error, $details); // Mail an abuse $REMOTE_ADDR=getenv("REMOTE_ADDR"); $Zeit=date("H:i:s, d.m.Y",time()); $username = $auth->auth["uname"]; StudipMail::sendAbuseMessage("Validation", "Secret falsch\n\nUser: $username\n\nIP: $REMOTE_ADDR\nZeit: $Zeit\n"); } // alles paletti, Status ändern else { $studip_user = User::findCurrent(); $studip_user->perms = 'autor'; if (!$studip_user->store()) { $error = _('Fehler! Bitte wenden Sie sich an den Systemadministrator.'); $details = [$query]; $message = MessageBox::error($error, $details); } else { $success = _('Ihr Status wurde erfolgreich auf autor gesetzt.
Damit dürfen Sie in den meisten Veranstaltungen schreiben, für die Sie sich anmelden.'); $details = []; $details[] = _('Einige Veranstaltungen erfordern allerdings bei der Anmeldung die Eingabe eines Passwortes. Dieses Passwort erfahren Sie von den Lehrenden der Veranstaltung.'); $message = MessageBox::success($success, $details); // Auto-Inserts AutoInsert::instance()->saveUser($user->id, "autor"); $auth->logout(); // einen Logout durchführen, um erneuten Login zu erzwingen $info = sprintf(_('Die Statusänderung wird erst nach einem erneuten %sLogin%s wirksam!
Deshalb wurden Sie jetzt automatisch ausgeloggt.'), '', ''); $message .= MessageBox::info($info); } } $template = $GLOBALS['template_factory']->open('email-validation'); $template->set_layout($GLOBALS['template_factory']->open('layouts/base.php')); $template->message = $message; echo $template->render(); page_close();