Ejemplo n.º 1
0
    /* set default umask to a sane value */
    umask(022);
    /*mail settings
      ----------------------------------------------------------------*/
    if ($GLOBALS['MAIL_TRANSPORT']) {
        $mail_transporter_name = strtolower($GLOBALS['MAIL_TRANSPORT']) . '_message';
    } else {
        $mail_transporter_name = 'smtp_message';
    }
    include 'vendor/email_message/email_message.php';
    include 'vendor/email_message/' . $mail_transporter_name . '.php';
    $mail_transporter_class = $mail_transporter_name . '_class';
    $mail_transporter = new $mail_transporter_class();
    if ($mail_transporter_name == 'smtp_message') {
        include 'vendor/email_message/smtp.php';
        $mail_transporter->localhost = $GLOBALS['MAIL_LOCALHOST'] == "" ? $_SERVER["SERVER_NAME"] : $GLOBALS['MAIL_LOCALHOST'];
        $mail_transporter->smtp_host = $GLOBALS['MAIL_HOST_NAME'] == "" ? $_SERVER["SERVER_NAME"] : $GLOBALS['MAIL_HOST_NAME'];
        if (is_array($MAIL_SMTP_OPTIONS)) {
            foreach ($MAIL_SMTP_OPTIONS as $key => $value) {
                $mail_transporter->{"smtp_{$key}"} = $value;
            }
            if ($mail_transporter->smtp_user !== '') {
                include 'vendor/sasl/sasl.php';
            }
        }
    }
    $mail_transporter->default_charset = 'WINDOWS-1252';
    $mail_transporter->SetBulkMail((int) $GLOBALS['MAIL_BULK_DELIVERY']);
    StudipMail::setDefaultTransporter($mail_transporter);
    unset($mail_transporter);
}
Ejemplo n.º 2
0
 function delete_action($user_id = NULL)
 {
     //deleting one user
     if (!is_null($user_id)) {
         $user = UserModel::getUser($user_id);
         //check user
         if (!Request::getArray('user_ids') && empty($user)) {
             PageLayout::postMessage(MessageBox::error(_('Fehler! Der zu löschende Benutzer ist nicht vorhanden oder Sie haben keinen Nutzer ausgewählt.')));
             //antwort ja
         } elseif (!empty($user)) {
             //CSRFProtection::verifyUnsafeRequest();
             //if deleting user, go back to mainpage
             $parent = '';
             //deactivate message
             if (!Request::int('mail')) {
                 $dev_null = new blackhole_message_class();
                 $default_mailer = StudipMail::getDefaultTransporter();
                 StudipMail::setDefaultTransporter($dev_null);
             }
             //preparing delete
             $umanager = new UserManagement();
             $umanager->getFromDatabase($user_id);
             //delete
             if ($umanager->deleteUser(Request::option('documents', false))) {
                 $details = explode('§', str_replace(array('msg§', 'info§', 'error§'), '', substr($umanager->msg, 0, -1)));
                 PageLayout::postMessage(MessageBox::success(htmlReady(sprintf(_('Der Benutzer "%s %s (%s)" wurde erfolgreich gelöscht.'), $user['Vorname'], $user['Nachname'], $user['username'])), $details));
             } else {
                 $details = explode('§', str_replace(array('msg§', 'info§', 'error§'), '', substr($umanager->msg, 0, -1)));
                 PageLayout::postMessage(MessageBox::error(htmlReady(sprintf(_('Fehler! Der Benutzer "%s %s (%s)" konnte nicht gelöscht werden.'), $user['Vorname'], $user['Nachname'], $user['username'])), $details));
             }
             //reavtivate messages
             if (!Request::int('mail')) {
                 StudipMail::setDefaultTransporter($default_mailer);
             }
             //sicherheitsabfrage
         } else {
             $user_ids = Request::getArray('user_ids');
             if (count($user_ids) == 0) {
                 PageLayout::postMessage(MessageBox::error(_('Bitte wählen Sie mindestens einen Benutzer zum Löschen aus.')));
                 $this->redirect('show' . $parent);
                 return;
             }
             //CSRFProtection::verifyUnsafeRequest();
             //deactivate message
             if (!Request::int('mail')) {
                 $dev_null = new blackhole_message_class();
                 $default_mailer = StudipMail::getDefaultTransporter();
                 StudipMail::setDefaultTransporter($dev_null);
             }
             foreach ($user_ids as $i => $user_id) {
                 $users[$i] = UserModel::getUser($user_id);
                 //preparing delete
                 $umanager = new UserManagement();
                 $umanager->getFromDatabase($user_id);
                 //delete
                 if ($umanager->deleteUser(Request::option('documents', false))) {
                     $details = explode('§', str_replace(array('msg§', 'info§', 'error§'), '', substr($umanager->msg, 0, -1)));
                     PageLayout::postMessage(MessageBox::success(htmlReady(sprintf(_('Der Benutzer "%s %s (%s)" wurde erfolgreich gelöscht'), $users[$i]['Vorname'], $users[$i]['Nachname'], $users[$i]['username'])), $details));
                 } else {
                     $details = explode('§', str_replace(array('msg§', 'info§', 'error§'), '', substr($umanager->msg, 0, -1)));
                     PageLayout::postMessage(MessageBox::error(htmlReady(sprintf(_('Fehler! Der Benutzer "%s %s (%s)" konnte nicht gelöscht werden'), $users[$i]['Vorname'], $users[$i]['Nachname'], $users[$i]['username'])), $details));
                 }
             }
             //reactivate messages
             if (!Request::int('mail')) {
                 StudipMail::setDefaultTransporter($default_mailer);
             }
         }
     }
 }