diff --git a/cis/private/open_grp.php b/cis/private/open_grp.php index db526c396..2973ac7cd 100644 --- a/cis/private/open_grp.php +++ b/cis/private/open_grp.php @@ -16,8 +16,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Karl Burkhart . + * Andreas Oesterreicher and + * Karl Burkhart . */ require_once('../../config/cis.config.inc.php'); require_once('../../include/functions.inc.php'); @@ -29,20 +29,20 @@ $sprache = getSprache(); $p = new phrasen($sprache); $uid = get_uid(); $db = new basis_db(); -if(!isset($_REQUEST['grp'])) +if (!isset($_REQUEST['grp'])) die('Falsche Parameter'); - -if(mb_strlen($_REQUEST['grp'])>32) + +if (mb_strlen($_REQUEST['grp'])>32) die('Grp ungueltig'); - + //Pruefen ob es eine gueltige Gruppe ist $gruppe = new gruppe(); -if(!$gruppe->exists($_REQUEST['grp'])) +if (!$gruppe->exists($_REQUEST['grp'])) { //Wenn es keine Gruppe in der DB ist, kann es //noch ein Studierendenverteiler sein //bif_std - if(!preg_match('/^\D\D\D_std$/', $_REQUEST['grp'])) + if (!preg_match('/^\D\D\D_std$/', $_REQUEST['grp'])) { die('Ungueltige Gruppe'); } @@ -52,38 +52,35 @@ function mail_id_generator() mt_srand((double)microtime()*1000000); /* Laenge des Passwortes dem Zufall ueberlassen */ - $length = 6; //mt_rand(6, 6); + $length = 6; $fix_similar = ''; $valid_charset = ""; - /* Stelle ein Charset zusammen */ - if (!$valid_charset) - { - // deactivated, regarding an case sensitive issue - //$valid_charset .= 'ABCDEFGHIJKLMNOPQRSTUVXYZ'; - $valid_charset .= 'abcdefghijklmnopqrstuvxyz'; - $valid_charset .= '0123456789'; - //$valid_charset .= '!@_-'; - } - - $charset_length = mb_strlen($valid_charset); - - if ($charset_length == 0) return false; - - /* Initialisieren - Auswahl von chars bis definierte Anzahl erreicht */ - $mail_id = ""; - while(strlen($mail_id) < $length) - { - /* Waehle einen zufaelligen char aus */ - $char = $valid_charset[mt_rand(0, ($charset_length-1))]; - - /* Abgleich von gleich aussehenden chars */ - if (($fix_similar && !strpos('O01lI5S', $char)) || !$fix_similar) $mail_id .= $char; + /* Stelle ein Charset zusammen */ + if (!$valid_charset) + { + $valid_charset .= 'abcdefghijklmnopqrstuvxyz'; + $valid_charset .= '0123456789'; } - return $mail_id; + + $charset_length = mb_strlen($valid_charset); + + if ($charset_length == 0) return false; + + /* Initialisieren - Auswahl von chars bis definierte Anzahl erreicht */ + $mail_id = ''; + while (strlen($mail_id) < $length) + { + /* Waehle einen zufaelligen char aus */ + $char = $valid_charset[mt_rand(0, ($charset_length-1))]; + + /* Abgleich von gleich aussehenden chars */ + if (($fix_similar && !strpos('O01lI5S', $char)) || !$fix_similar) $mail_id .= $char; + } + return $mail_id; } -echo ' +echo ' @@ -92,48 +89,61 @@ echo ' '; -if(isset($_REQUEST['token']) && isset($_REQUEST['grp'])) +if (isset($_REQUEST['token']) && isset($_REQUEST['grp'])) { echo ' - - - - '; - + + + + '; + /* Generate an random String */ - $mail_id=mail_id_generator(); + $mail_id = mail_id_generator(); /* Command to unlock Mailgroup */ $command = "ssh -i /etc/apache2/id_mail_provisioning mailadmins@bifrost2 ".$_REQUEST['grp'] . " " . $mail_id; - exec($command); - /* ffe, 20051020 - do a little logging */ - $message= date("F j G:i:s") . " mailgroup: [" . $_REQUEST['grp'] . "] (using " . $mail_id . ") requested by [" . $uid . "]\n"; + $output = array(); + exec($command, $output, $retval); - $filet = fopen(LOG_PATH.'.htmlistopen.log', "a"); - fwrite($filet, $message, mb_strlen($message)); - fclose($filet); + if ($retval === 0) + { + // Add Log Message + $message= date("F j G:i:s") . " mailgroup: [" . $_REQUEST['grp'] . "] (using " . $mail_id . ") requested by [" . $uid . "]\n"; - // for the users - echo " - - - - - - - -
'.$p->t('mailverteiler/mailverteiler').''.$p->t('mailverteiler/status').'
'.$p->t('mailverteiler/mailverteiler').''.$p->t('mailverteiler/status').'
".$db->convert_html_chars($_REQUEST['desc'])."".$p->t('mailverteiler/geoeffnet')." (Code: ".$mail_id.")
-

".$p->t('mailverteiler/klickenZumSchicken')."

+ $filet = fopen(LOG_PATH.'.htmlistopen.log', "a"); + fwrite($filet, $message, mb_strlen($message)); + fclose($filet); -

".$p->t('mailverteiler/infoBenutzung',array($_REQUEST['grp'].$mail_id."@".DOMAIN))."

-
- "; + echo " + + ".$db->convert_html_chars($_REQUEST['desc'])." + ".$p->t('mailverteiler/geoeffnet')." (Code: ".$mail_id.") + + + +

".$p->t('mailverteiler/klickenZumSchicken')."

+ +

".$p->t('mailverteiler/infoBenutzung',array($_REQUEST['grp'].$mail_id."@".DOMAIN))."

+ + + "; + } + else + { + echo ' + + + '.$p->t('mailverteiler/oeffnenFehlgeschlagen').' + + '; + } + echo ''; } else { - if($_REQUEST['grp']=="") + if ($_REQUEST['grp'] == '') { exit(); } @@ -142,7 +152,7 @@ else echo $p->t('mailverteiler/bestaetigeOeffnen',array($_REQUEST['grp']))." : convert_html_chars($_REQUEST['desc'])."&token=1\">".$p->t('mailverteiler/bestaetige').""; } } - + echo ' '; ?> diff --git a/locale/de-AT/mailverteiler.php b/locale/de-AT/mailverteiler.php index e45e6cb85..73ebfc052 100644 --- a/locale/de-AT/mailverteiler.php +++ b/locale/de-AT/mailverteiler.php @@ -19,9 +19,10 @@ $this->phrasen['mailverteiler/mailverteiler']='Mailverteiler'; $this->phrasen['mailverteiler/oeffnenEinesVerteilers']='Öffnen eines Mailverteilers'; $this->phrasen['mailverteiler/status']='Status'; $this->phrasen['mailverteiler/geoeffnet']='Geöffnet'; -$this->phrasen['mailverteiler/klickenZumSchicken']='Um ein Mail an den Verteiler zu senden klicken Sie bitte auf den obigen Link. Ihr Mailprogramm öffnet automatisch eine Vorlage für ein neues Mail, welche bereits die korrekte Adresse enthält.'; +$this->phrasen['mailverteiler/klickenZumSchicken']='Um ein Mail an den Verteiler zu senden klicken Sie bitte auf den angezeigten Link. Ihr Mailprogramm öffnet automatisch eine Vorlage für ein neues Mail, welche bereits die korrekte Adresse enthält.'; $this->phrasen['mailverteiler/infoBenutzung']='Das Senden ist für den Zeitraum von 2 Stunden bzw. für die einmalige Benutzung unter der Adresse %1$s möglich.'; $this->phrasen['mailverteiler/bestaetigeOeffnen']='Bitte bestätigen Sie das Öffnen des Verteilers %1$s'; $this->phrasen['mailverteiler/bestaetige']='Bestätige'; $this->phrasen['mailverteiler/personenImVerteiler']='Personen im Mailverteiler'; +$this->phrasen['mailverteiler/oeffnenFehlgeschlagen']='Beim Freischalten des Verteilers ist ein Fehler aufgetreten.
Bitte Informieren Sie den Administrator'; ?> diff --git a/locale/en-US/mailverteiler.php b/locale/en-US/mailverteiler.php index 7c625116a..502846583 100644 --- a/locale/en-US/mailverteiler.php +++ b/locale/en-US/mailverteiler.php @@ -24,4 +24,5 @@ $this->phrasen['mailverteiler/infoBenutzung']='You can use the Mailinglist durin $this->phrasen['mailverteiler/bestaetigeOeffnen']='Please confirm to unlock the Mailing list %1$s'; $this->phrasen['mailverteiler/bestaetige']='Confirm'; $this->phrasen['mailverteiler/personenImVerteiler']='People in this mailing list'; +$this->phrasen['mailverteiler/oeffnenFehlgeschlagen']='Failed to open mailing list. Please inform your administrator.'; ?>