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
13 require_once 'mailman/include/MailmanList.class.php';
14 require_once 'mailman/include/MailmanListFactory.class.php';
16 $current_user=UserManager::instance()->getCurrentUser();
18 function sendCreationMail($userEmail,&$list) {
19 $message = sprintf(_('A mailing list will be created on %1$s in few minutes
20 and you are the list administrator.
22 This list is: %3$s@%2$s .
24 Your mailing list info is at:
27 List administration can be found at:
30 Your list password is: %6$s .
31 You are encouraged to change this password as soon as possible.
33 Thank you for registering your project with %1$s.'), forge_get_config ('forge_name'), forge_get_config('lists_host'), $list->getName(), $list->getExternalInfoUrl(), util_make_url('/mailman/admin/'.$list->getName()), $list->getPassword());
35 $message .= sprintf(_('-- the %s staff'), forge_get_config ('forge_name'));
38 $mailSubject = sprintf(_('%s New Mailing List'), forge_get_config ('forge_name'));
40 $hdrs = "From: ".$GLOBALS['sys_email_admin'].$GLOBALS['sys_lf'];
41 $hdrs .='Content-type: text/plain; charset=utf-8'.$GLOBALS['sys_lf'];
43 mail ($userEmail,$mailSubject,$message,$hdrs);
46 function table_begin()
49 echo "<table class='border' width='100%' border='0'>
51 <th class='forumml' width='15%'>"._('Mailing List')."</th>
52 <th class='forumml' width='30%'>"._('Description')."</th>
53 <th class='forumml' width='15%'>"._('Archives')."</th>";
55 echo "<th class='forumml' width='10%'>"._('Subscription')."</th>";
56 echo "<th class='forumml' width='10%'>"._('Preferences')."</th>";
57 echo "<th class='forumml' width='10%'>"._('Administrate')."</th>";
61 function table_begin_admin()
64 echo "<table class='border' width='100%' border='0'>
66 <th class='forumml' width='15%'>"._('Mailing List')."</th>
67 <th class='forumml' width='20%'>"._('Description')."</th>
68 <th class='forumml' width='15%'>"._('Update')."</th>";
69 echo "<th class='forumml' width='10%'>"._('Delete')."</th>";
70 echo "<th class='forumml' width='10%'>"._('Administrate')."</th>";
76 // echo '</TD></TR></TABLE>';
79 function display_list($currentList)
82 $plugin_manager =& PluginManager::instance();
83 $p =& $plugin_manager->getPluginByName('mailman');
84 $request =& HTTPRequest::instance();
85 $current_user=UserManager::instance()->getCurrentUser();
87 if($currentList->isPublic()!='9'){
88 if ($currentList->isError()) {
89 echo $currentList->getErrorMessage();
91 if ($class=="boxitem bgcolor-white") {
92 $class="boxitemalt bgcolor-grey";
95 $class = "boxitem bgcolor-white";
97 echo "<tr class='".$class."'>";
99 if ($currentList->isMonitoring()) {
100 echo '<img src ="'.$p->getThemePath().'/images/ic/tick.png"'.' title="You are monitoring this list">';
102 echo $currentList->getName().'</td> ';
104 if($currentList->getStatus() == '1') {
105 if($currentList->activationRequested()){
106 echo _('Not activated yet');
109 echo _('Error during creation');
111 echo '</td><td></td>';
113 echo '<td></td><td></td><td></td>';
116 echo htmlspecialchars($currentList->getDescription()).'</td>';
117 $archives =' <a href="index.php?group_id='.$request->get('group_id').'&action=pipermail&id='.$currentList->getID().'">'._('Archives').'</a>';
118 plugin_hook('browse_archives', array('html' => &$archives, 'group_list_id' => $currentList->getID()));
119 echo '<td>'.$archives.'</td>';
123 if ($currentList->isMonitoring()) {
124 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').'>';
126 echo ' <td> <a href="index.php?group_id='.$request->get('group_id').'&action=options&id='.$currentList->getID().'">'._('Preferences').'</a></td>';
128 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').'>';
130 echo '</a></td> <td></td>';
132 if ($currentList->getListAdminID() == $current_user->getID()){
133 echo ' <td> <a href="index.php?group_id='. $request->get('group_id').'&action=admin&id='. $currentList->getID() .'">'._('Administrate').'</a> ';
144 function display_list_admin($currentList)
147 $request =& HTTPRequest::instance();
148 $current_user=UserManager::instance()->getCurrentUser();
149 if($currentList->isPublic()!='9'){
150 if ($currentList->isError() ) {
151 echo $currentList->getErrorMessage();
154 if ($class=="boxitem bgcolor-white") {
155 $class="boxitemalt bgcolor-grey";
158 $class = "boxitem bgcolor-white";
161 echo "<tr class='".$class."'>";
162 echo '<td>'.$currentList->getName().'</td> ';
164 if($currentList->getStatus() == '1') {
165 if($currentList->activationRequested()){
166 echo '<td>'._('Not activated yet').'</td>';
169 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>';
171 echo '<td></td><td></td><td></td>';
174 echo '<td>'.htmlspecialchars($currentList->getDescription()).'</td>';
175 echo '<td> <a href="index.php?group_id='.$request->get('group_id').'&change_status=1&group_list_id='.$currentList->getID().'">'._('Update').'</a></td>';
176 echo '<td> <a href="deletelist.php?group_id='.$currentList->Group->getID().'&id='.$currentList->getID().'">'. _('Delete').'</td>';
178 if ($currentList->getListAdminID() == $current_user->getID()){
179 echo ' <td> <a href="../index.php?group_id='. $request->get('group_id').'&action=admin&id='. $currentList->getID() .'">'._('Administrate from Mailman').'</a></td> ';
188 function mailman_header($params) {
190 $current_user=UserManager::instance()->getCurrentUser();
191 $request =& HTTPRequest::instance();
193 //required for site_project_header
194 $params['group'] = $request->get('group_id');
195 $params['toptab'] = 'mailman';
197 site_project_header($params);
199 // admin link is only displayed if the user is a project administrator
200 if ($current_user->isMember($request->get('group_id'),'A')) {
201 if (isset($params['admin'])){
202 echo '<a href="index.php?group_id='.$request->get('group_id').'">'._('Administration').'</a>';
205 echo '<a href="admin/index.php?group_id='.$request->get('group_id').'">'._('Administration').'</a>';
209 if ($params['help']) {
210 helpButton($params['help']);
215 function mail_footer($params) {
216 site_project_footer($params);
222 // c-file-style: "bsd"