Administrator: Email-Benachrichtigung an 1 Haupt-Admin Administrator: Email-Benachrichtigung an 1 Haupt-Admin
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Administrator: Email-Benachrichtigung an 1 Haupt-Admin

Started by hyper_threader, January 17, 2012, 04:43:36 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

hyper_threader

Eine Frage hätte ich da noch. Ich habe nun mehrere Administratoren angelegt.
Unter anderem den 1. Administrator, der als Haupt-Administrator auf der Seite fungieren soll. Zusätzlich dazu noch 2 weitere Aministratoren.

Die Email-Benachrichtigung ist bei Registrierung eingeschaltet. --> Admin über neu-registrierten Benutzer per E-Mail benachrichtigen: JA

Gibt es denn eine Möglichkeit, die "Benutzerregistrierung" als Bestätigung lediglich an den 1. Administrator zu senden? Da ich dort eine Verteiler-Email-Adresse eingetragen habe, entfällt die Benachrichtigung für die "andern Administratoren". Sonst wird die Bestätigung ja 1x an die Verteiler-Adresse gesendet und zusätzlich nochmal an jeden Administrator. Doppelt und dreifach halt *g*

Beim Kontaktformular habe ich es nicht ausprobiert, aber ich denke mal, da trifft der Fall genauso zu.

Dazu habe ich leider keine Einstellung gefunden, dort z.b. eine Email-Adresse einzutragen oder einen speziellen Administrator zu wählen. Das wäre unter Umständen noch eine nette Funktion.


MFG

hyper_threader

Αndré

D.h. du möchtest alle E-Mails, die eigentlich an alle Administratoren geschickt werden immer nur an genau eine Adresse schicken? Falls das dein Ziel ist, öffne include/mailer.inc.php, finde
    if ($to == 'admin') {
        if (UDB_INTEGRATION == 'coppermine') {
            $to = array($CONFIG['gallery_admin_email']);
            $result = cpg_db_query("SELECT user_email FROM {$CONFIG['TABLE_USERS']} WHERE user_group = 1");
            while ($row = mysql_fetch_assoc($result)) {
                if (!empty($row['user_email'])) {
                    $to[] = $row['user_email'];
                }
            }
            $to = array_unique($to);
        } else {
            $to = array($CONFIG['gallery_admin_email']);
        }
    } else {
            $to = array($to);
    }

und ersetze es durch
    if ($to == 'admin') {
            $to = array('hier die gewünschte Adresse einfügen');
    } else {
            $to = array($to);
    }

hyper_threader

Genau das habe ich gesucht.

Vielen Dank André.


MFG

hyper_threader

hyper_threader

Leider konnte ich bisher nicht wieder testen.
Nun haben sich jedoch ein paar neue User registriert, trotzdem erhalte ich doppelte Bestätigungs-Mails.

// Email-Benachrichtigung an ALLE Administratoren
//    if ($to == 'admin') {
//        if (UDB_INTEGRATION == 'coppermine') {
//            $to = array($CONFIG['gallery_admin_email']);
//            $result = cpg_db_query("SELECT user_email FROM {$CONFIG['TABLE_USERS']} WHERE user_group = 1");
//            while ($row = mysql_fetch_assoc($result)) {
//                if (!empty($row['user_email'])) {
//                    $to[] = $row['user_email'];
//                }
//            }
//            $to = array_unique($to);
//        } else {
//            $to = array($CONFIG['gallery_admin_email']);
//        }
//    } else {
//            $to = array($to);
//    }
// Email-Benachrichtigung an 1 Email-Adresse
    if ($to == 'admin') {
            $to = array('support@domain.tld');
    } else {
            $to = array($to);
    }


Daher, Topic nochmal auf "Ungelöst" gestellt. Der Code an sich ist doch richtig.

Die Mail geht mittlerweile an 3 Haupt-Admins raus und ich weiss nicht warum, trotz der einen Mail-Addy im Array >.<

Αndré

Ich habe mir den Registrierungsprozess noch mal angeschaut. Leider wird eine andere Methode angewendet als gedacht. Deine bisherige Änderung hat keinen Einfluss bei den Registrierungen. Stattdessen musst du die Datei register.php ändern.

Finde
        if (UDB_INTEGRATION == 'coppermine') {
            // get default language in which to inform the admins
            $result = cpg_db_query("SELECT user_id, user_email, user_language FROM {$CONFIG['TABLE_USERS']} WHERE user_group = 1");
            while ( ($row = mysql_fetch_assoc($result)) ) {
                if (!empty($row['user_email'])) {
                    $admins[$row['user_id']] = array('email' => $row['user_email'], 'lang' => $row['user_language']);
                }
            }
        } else {
            //@todo: is it possible to get the language from bridged installs?
            $admins[] = array('email' => $CONFIG['gallery_admin_email'], 'lang' => 'english');
        }

und ersetze es durch
$admins[] = array('email' => $CONFIG['gallery_admin_email'], 'lang' => 'english');

hyper_threader

Ok vielen Dank Andre.
Ich probier das mal aus und gebe dann noch eine Rückmeldung.

MFG

hyper_threader