3 * FusionForge Mailing Lists Facility
5 * Portions Copyright 1999-2001 (c) VA Linux Systems
6 * The rest Copyright 2003 (c) Guillaume Smet
7 * Portions Copyright 2010 (c) Mélanie Le Bail
14 require_once 'mailman/include/MailmanList.class.php';
15 require_once 'mailman/include/MailmanListFactory.class.php';
17 $current_user=UserManager::instance()->getCurrentUser();
19 function sendCreationMail($userEmail,&$list) {
20 $message = sprintf(_('A mailing list will be created on %1$s in few minutes
21 and you are the list administrator.
23 This list is: %3$s@%2$s .
25 Your mailing list info is at:
28 List administration can be found at:
31 Your list password is: %6$s .
32 You are encouraged to change this password as soon as possible.
34 Thank you for registering your project with %1$s.
37 '), $GLOBALS['sys_name'], $GLOBALS['sys_lists_host'], $list->getName(), $list->getExternalInfoUrl(), util_make_url('/mailman/admin/'.$list->getName()), $list->getPassword());
38 $mailSubject = sprintf(_('%1$s New Mailing List'), $GLOBALS['sys_name']);
43 $hdrs = "From: ".$GLOBALS['sys_email_admin'].$GLOBALS['sys_lf'];
44 $hdrs .='Content-type: text/plain; charset=utf-8'.$GLOBALS['sys_lf'];
46 mail ($userEmail,$mailSubject,$message,$hdrs);
50 function table_begin()
53 // echo "<table WIDTH=\"100%\" border=0>\n"."<TR><TD VALIGN=\"TOP\">\n";
54 echo "<table class='border' width='100%' border='0'>
56 <th class='forumml' width='15%'>"._('Mailing List')."</th>
57 <th class='forumml' width='30%'>"._('Description')."</th>
58 <th class='forumml' width='15%'>"._('Archives')."</th>";
60 echo "<th class='forumml' width='10%'>"._('Subscription')."</th>";
61 echo "<th class='forumml' width='10%'>"._('Preferences')."</th>";
62 echo "<th class='forumml' width='10%'>"._('Administrate')."</th>";
66 function table_begin_admin()
69 // echo "<table WIDTH=\"100%\" border=0>\n"."<TR><TD VALIGN=\"TOP\">\n";
70 echo "<table class='border' width='100%' border='0'>
72 <th class='forumml' width='15%'>"._('Mailing List')."</th>
73 <th class='forumml' width='20%'>"._('Description')."</th>
74 <th class='forumml' width='15%'>"._('Update')."</th>";
75 echo "<th class='forumml' width='10%'>"._('Delete')."</th>";
76 echo "<th class='forumml' width='10%'>"._('Administrate')."</th>";
82 // echo '</TD></TR></TABLE>';
85 function display_list($currentList)
88 $plugin_manager =& PluginManager::instance();
89 $p =& $plugin_manager->getPluginByName('mailman');
90 $request =& HTTPRequest::instance();
91 $current_user=UserManager::instance()->getCurrentUser();
93 if($currentList->isPublic()!='9'){
94 if ($currentList->isError()) {
95 echo $currentList->getErrorMessage();
97 if ($class=="boxitem bgcolor-white") {
98 $class="boxitemalt bgcolor-grey";
101 $class = "boxitem bgcolor-white";
103 echo "<tr class='".$class."'>";
105 if ($currentList->isMonitoring()) {
106 echo '<img src ="'.$p->getThemePath().'/images/ic/tick.png"'.' title="You are monitoring this list">';
108 echo $currentList->getName().'</td> ';
110 if($currentList->getStatus() == '1') {
111 if($currentList->activationRequested()){
112 echo _('Not activated yet');
115 echo _('Error during creation');
117 echo '</td><td></td>';
119 echo '<td></td><td></td><td></td>';
122 echo htmlspecialchars($currentList->getDescription()).'</td>';
123 $archives =' <A HREF="index.php?group_id='.$request->get('group_id').'&action=pipermail&id='.$currentList->getID().'">'._('Archives').'</A>';
124 plugin_hook('browse_archives', array('html' => &$archives, 'group_list_id' => $currentList->getID()));
125 echo '<td>'.$archives.'</td>';
129 if ($currentList->isMonitoring()) {
130 echo ' <a href="index.php?group_id='.$request->get('group_id').'&action=unsubscribe&id='.$currentList->getID().'"><img src="'.$p->getThemePath().'/images/ic/delete.png" title='._('Unsubscribe').'>';
132 echo ' <td> <a href="index.php?group_id='.$request->get('group_id').'&action=options&id='.$currentList->getID().'">'._('Preferences').'</a></td>';
134 echo ' <a href="index.php?group_id='.$request->get('group_id').'&action=subscribe&id='.$currentList->getID().'"><img src="'.$p->getThemePath().'/images/ic/add.png" title='._('Subscribe').'>';
136 echo '</a></td> <td></td>';
138 if ($currentList->getListAdminID() == $current_user->getID()){
139 echo ' <td> <A HREF="index.php?group_id='. $request->get('group_id').'&action=admin&id='. $currentList->getID() .'">'._('Administrate').'</A> ';
150 function display_list_admin($currentList)
153 $request =& HTTPRequest::instance();
154 $current_user=UserManager::instance()->getCurrentUser();
155 if($currentList->isPublic()!='9'){
156 if ($currentList->isError() ) {
157 echo $currentList->getErrorMessage();
160 if ($class=="boxitem bgcolor-white") {
161 $class="boxitemalt bgcolor-grey";
164 $class = "boxitem bgcolor-white";
167 echo "<tr class='".$class."'>";
168 echo '<td>'.$currentList->getName().'</td> ';
170 if($currentList->getStatus() == '1') {
171 if($currentList->activationRequested()){
172 echo '<td>'._('Not activated yet').'</td>';
175 echo '<td>'._('Error during creation').' <A HREF="/plugins/mailman/admin/index.php?group_id='.$request->get('group_id').'&action=recreate&group_list_id='.$currentList->getID().'">'._('Re-create').'</A></td>';
177 echo '<td></td><td></td><td></td>';
180 echo '<td>'.htmlspecialchars($currentList->getDescription()).'</td>';
181 echo '<td> <A HREF="index.php?group_id='.$request->get('group_id').'&change_status=1&group_list_id='.$currentList->getID().'">'._('Update').'</A></td>';
182 echo '<td> <a href="deletelist.php?group_id='.$currentList->Group->getID().'&id='.$currentList->getID().'">'. _('Delete').'</td>';
184 if ($currentList->getListAdminID() == $current_user->getID()){
185 echo ' <td> <A HREF="../index.php?group_id='. $request->get('group_id').'&action=admin&id='. $currentList->getID() .'">'._('Administrate from Mailman').'</td> ';
194 function mailman_header($params) {
196 $current_user=UserManager::instance()->getCurrentUser();
197 $request =& HTTPRequest::instance();
199 //required for site_project_header
200 $params['group'] = $request->get('group_id');
201 $params['toptab'] = 'mailman';
203 site_project_header($params);
205 // admin link is only displayed if the user is a project administrator
206 if ($current_user->isMember($request->get('group_id'),'A')) {
207 if (isset($params['admin'])){
208 echo '<A HREF="index.php?group_id='.$request->get('group_id').'">'._('Administration').'</A>';
211 echo '<A HREF="admin/index.php?group_id='.$request->get('group_id').'">'._('Administration').'</A>';
215 if ($params['help']) {
216 helpButton($params['help']);
221 function mail_footer($params) {
222 site_project_footer($params);
228 // c-file-style: "bsd"