[evolvis-commits] r10737: private lists are set to private automati?==?UTF-8?Q?cally↵

mirabilos at evolvis.org mirabilos at evolvis.org
Thu Feb 24 17:54:37 CET 2011


Author: mirabilos
Date: 2011-02-24 17:54:37 +0100 (Thu, 24 Feb 2011)
New Revision: 10737

Added:
   trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/mail/privatize_list.py
Modified:
   trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog
   trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/mail/mailing_lists_create.php
Log:
private lists are set to private automatically


Modified: trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog	2011-02-24 16:54:36 UTC (rev 10736)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/ChangeLog	2011-02-24 16:54:37 UTC (rev 10737)
@@ -1,5 +1,11 @@
 2005-03-14  Tim Perdue <tim at gforge.org>
 
+	* privatize_list.py - mailing lists set to private by default at 
+	creation time and if they are set to private by www code
+	* svn-stats.php fixed
+
+2005-03-14  Tim Perdue <tim at gforge.org>
+
 	* New "delete" function to permanently purge an entire project
 	from the database and mailing lists and move cvs tree into a .deleted director
 	* Ability to upload docs using the new FTP upload functionality

Modified: trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/mail/mailing_lists_create.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/mail/mailing_lists_create.php	2011-02-24 16:54:36 UTC (rev 10736)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/mail/mailing_lists_create.php	2011-02-24 16:54:37 UTC (rev 10737)
@@ -41,7 +41,7 @@
 
 $res=db_query("SELECT users.user_name,email,mail_group_list.list_name,
 	mail_group_list.password,mail_group_list.status, 
-	mail_group_list.group_list_id 
+	mail_group_list.group_list_id,mail_group_list.is_public
 	FROM mail_group_list,users
 	WHERE mail_group_list.list_admin=users.user_id");
 $err .= db_error();
@@ -59,8 +59,13 @@
 	$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)) {
+	$public = db_result($res,$i,'is_public');
+	
+	// Here we assume that the privatize_list.py script is located in the same dir as this script
+	$script_dir = dirname(__FILE__);
+	$privatize_cmd = escapeshellcmd(MAILMAN_DIR.'bin/config_list -i '.$script_dir.'/privatize_list.py '.$listname);
+	
+	if (! in_array($listname,$mailing_lists)) {		// New list?
 		$err .= "Creating Mailing List: $listname\n";
 		//$lcreate_cmd = MAILMAN_DIR."bin/newlist -q $listname@$sys_lists_host $email $listpassword &> /dev/null";
 		$lcreate_cmd = MAILMAN_DIR."bin/newlist -q $listname $email $listpassword";
@@ -69,8 +74,18 @@
 		if($failed) {
 			$err .= 'Failed to create '.$listname.", skipping\n";
 			continue;
+		} else {
+			// Privatize the new list
+			$err .= "Privatizing ".$listname.": ".$privatize_cmd."\n";
+			passthru($privatize_cmd,$res);
 		}
 		$mailingListIds[] = $grouplistid;
+	} else {	// Old list
+		// Privatize only if it is marked as private
+		if (!$public) {
+			$err .= "Privatizing ".$listname.": ".$privatize_cmd."\n";
+			passthru($privatize_cmd,$res);
+		}
 	}
 	
 	if(file_exists(MAILMAN_DIR.'mail/mailman')) {

Added: trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/mail/privatize_list.py
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/mail/privatize_list.py	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/mail/privatize_list.py	2011-02-24 16:54:37 UTC (rev 10737)
@@ -0,0 +1,10 @@
+#! /usr/bin/env python
+
+def privatize_list(mlist):
+        mlist.advertised=0
+        mlist.subscribe_policy=3
+        mlist.member_posting_only=1
+        mlist.private_roster=1
+        mlist.archive_private=1
+        mlist.Save()
+



More information about the evolvis-commits mailing list