[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gforge-commits] gforge/cronjobs/mail mailing_lists_create.php, 1.14, 1
From: |
gsmet |
Subject: |
[Gforge-commits] gforge/cronjobs/mail mailing_lists_create.php, 1.14, 1.15 mailing_lists_create.php-busted, 1.1, NONE |
Date: |
Sun, 17 Oct 2004 07:50:12 -0500 |
Update of /cvsroot/gforge/gforge/cronjobs/mail
In directory db.perdue.net:/tmp/cvs-serv11159/cronjobs/mail
Modified Files:
mailing_lists_create.php
Removed Files:
mailing_lists_create.php-busted
Log Message:
should now work with mailman < 2.1 and mailman 2.1
Index: mailing_lists_create.php
===================================================================
RCS file: /cvsroot/gforge/gforge/cronjobs/mail/mailing_lists_create.php,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- mailing_lists_create.php 4 Oct 2004 15:59:01 -0000 1.14
+++ mailing_lists_create.php 17 Oct 2004 12:50:10 -0000 1.15
@@ -7,7 +7,6 @@
// The /tmp/mailman-aliases file will then be read by the mailaliases.php
file
//
-//
// DEFINE VARS FOR USING THIS SCRIPT
//
define('MAILMAN_DIR','/var/mailman/');
@@ -32,16 +31,20 @@
$mlist = trim($mlist);
if ($mlist <> "") {
list($listname, $listdesc) = explode(" ",$mlist);
- $mailing_lists[] = strtolower($listname);
- $err .= "Existing mailing List $listname found\n";
+ $mailing_lists[] = strtolower($listname);
}
}
+
+$err .= 'Existing mailing lists : '.implode(', ', $mailing_lists)."\n";
+
pclose($fp);
$res=db_query("SELECT users.user_name,email,mail_group_list.list_name,
- mail_group_list.password,mail_group_list.status
- FROM mail_group_list,users
- WHERE mail_group_list.list_admin=users.user_id");
+ mail_group_list.password,mail_group_list.status,
+ mail_group_list.group_list_id
+ FROM mail_group_list,users
+ WHERE mail_group_list.list_admin=users.user_id
+ ");
$err .= db_error();
$rows=db_numrows($res);
@@ -49,42 +52,55 @@
$h1 = fopen("/tmp/mailman-aliases","w");
+$mailingListIds = array();
+
for ($i=0; $i<$rows; $i++) {
- $err .= "Processing row $i\n";
$listadmin = db_result($res,$i,'user_name');
$email = db_result($res,$i,'email');
$listname = strtolower(db_result($res,$i,'list_name'));
$listpassword = db_result($res,$i,'password');
+ $grouplistid = db_result($res,$i,'group_list_id');
+
if (! in_array($listname,$mailing_lists)) {
$err .= "Creating Mailing List: $listname\n";
- $lcreate_cmd = MAILMAN_DIR."bin/newlist -q $listname $email
$listpassword";
+ $lcreate_cmd = MAILMAN_DIR."bin/newlist -q address@hidden
$email $listpassword &> /dev/null";
$err .= "Command to be executed is $lcreate_cmd\n";
- $fp = popen($lcreate_cmd,"r");
+ passthru($lcreate_cmd, $failed);
+ if($failed) {
+ $err .= 'Failed to create '.$listname.", skipping\n";
+ continue;
+ }
+ $mailingListIds[] = $grouplistid;
+ }
+
+ if(file_exists(MAILMAN_DIR.'mail/mailman')) {
+ // Mailman 2.1
+ $list_str =
+$listname.': "|'.MAILMAN_DIR.'mail/mailman post
'.$listname.'"'."\n"
+.$listname.'-admin: "|'.MAILMAN_DIR.'mail/mailman admin
'.$listname.'"'."\n"
+.$listname.'-bounces: "|'.MAILMAN_DIR.'mail/mailman bounces
'.$listname.'"'."\n"
+.$listname.'-confirm: "|'.MAILMAN_DIR.'mail/mailman confirm
'.$listname.'"'."\n"
+.$listname.'-join: "|'.MAILMAN_DIR.'mail/mailman join
'.$listname.'"'."\n"
+.$listname.'-leave: "|'.MAILMAN_DIR.'mail/mailman leave
'.$listname.'"'."\n"
+.$listname.'-owner: "|'.MAILMAN_DIR.'mail/mailman owner
'.$listname.'"'."\n"
+.$listname.'-request: "|'.MAILMAN_DIR.'mail/mailman request
'.$listname.'"'."\n"
+.$listname.'-subscribe: "|'.MAILMAN_DIR.'mail/mailman subscribe
'.$listname.'"'."\n"
+.$listname.'-unsubscribe: "|'.MAILMAN_DIR.'mail/mailman unsubscribe
'.$listname.'"'."\n\n"
+;
+ } else {
+ // Mailman < 2.1
+ $list_str =
+$listname.': "|'.MAILMAN_DIR.'mail/wrapper post '.$listname.'"'."\n"
+.$listname.'-admin: "|'.MAILMAN_DIR.'mail/wrapper mailowner
'.$listname.'"'."\n"
+.$listname.'-request: "|'.MAILMAN_DIR.'mail/wrapper mailcmd
'.$listname.'"'."\n\n";
}
- $list_str="$listname: \"|/var/mailman/mail/wrapper post
$listname\"
-$listname-admin: \"|/var/mailman/mail/wrapper mailowner $listname\"
-$listname-request: \"|/var/mailman/mail/wrapper mailcmd $listname\"\n";
fwrite($h1,$list_str);
-//
-// Get the results of the command so we can add the aliases
-// needed by the new list
-/*
- while (!feof($fp)) {
- $resline = fgets($fp, 4096);
- $resline = trim($resline);
- if ($resline == "") {
- continue;
- }
- if (stristr($resline,"Entry for aliases file") !==
FALSE) {
- continue;
- }
- $err .= "New alias line - $resline\n";
- fwrite($h1,$resline."\n");
- }
- pclose($fp);
- }
-*/
+}
+
+// Update status
+if(!empty($mailingListIds)) {
+ db_query('UPDATE mail_group_list set
status='.MAIL__MAILING_LIST_IS_CREATED.' where group_list_id IN('.implode(',',
$mailingListIds).')');
}
fclose($h1);
--- mailing_lists_create.php-busted DELETED ---
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gforge-commits] gforge/cronjobs/mail mailing_lists_create.php, 1.14, 1.15 mailing_lists_create.php-busted, 1.1, NONE,
gsmet <=