[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