sendmail modifications + emails modularization
authorPierre Habouzit (MadCoder <pierre.habouzit@m4x.org>
Mon, 6 Dec 2004 11:15:00 +0000 (11:15 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:26:32 +0000 (23:26 +0200)
 * Sendmail moved to emails/send
 * sql + README files

git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-61

htdocs/emails/send.php [moved from htdocs/sendmail.php with 96% similarity]
include/conf.d/emails.menu.inc.php
install.d/emails/README [new file with mode: 0644]
install.d/emails/files
install.d/emails/install.sql [new file with mode: 0644]
install.d/emails/uninstall.sql [new file with mode: 0644]
install.d/money/files
templates/docs/faq.tpl
templates/docs/plan.tpl
templates/docs/services.tpl
templates/emails/send.tpl [moved from templates/sendmail.tpl with 90% similarity]

similarity index 96%
rename from htdocs/sendmail.php
rename to htdocs/emails/send.php
index 08caaff..9db6665 100644 (file)
@@ -20,7 +20,7 @@
  ***************************************************************************/
 
 require_once("xorg.inc.php");
-new_skinned_page('sendmail.tpl',AUTH_MDP);
+new_skinned_page('emails/send.tpl',AUTH_MDP);
 
 
 // action si on recoit un formulaire
@@ -65,7 +65,7 @@ if (isset($_REQUEST['submit']) and $_REQUEST['submit'] == 'Envoyer'
 $sql = "SELECT  u.prenom, u.nom, u.promo, a.alias as forlife
           FROM  auth_user_md5 AS u
     INNER JOIN  contacts      AS c ON (u.user_id = c.contact)
-    INNER JOIN  aliases       AS a ON (u.user_id=a.id AND type='a_vie')
+    INNER JOIN  aliases       AS a ON (u.user_id=a.id AND FIND_IN_SET('bestalias',a.flags))
          WHERE  c.uid = {$_SESSION['uid']}
         ORDER BY u.nom, u.prenom";
 $page->mysql_assign($sql, 'contacts','nb_contacts');
index cf4367b..557f750 100644 (file)
@@ -1,9 +1,9 @@
 <?php
-$this->addPrivateEntry(XOM_CUSTOM,   00, 'Mes emails',            'emails.php');
+$this->addPrivateEntry(XOM_CUSTOM,   00, 'Mes emails',          'emails.php');
 
 if ($globals->mail->send_form) {
-    $this->addPrivateEntry(XOM_SERVICES, 00, 'Envoyer un mail',       'sendmail.php');
+    $this->addPrivateEntry(XOM_SERVICES, 00, 'Envoyer un mail', 'emails/send.php');
 }
 
-$this->addPrivateEntry(XOM_SERVICES, 40, 'Patte cassée',          'emails/broken.php');
+$this->addPrivateEntry(XOM_SERVICES, 40, 'Patte cassée',        'emails/broken.php');
 ?>
diff --git a/install.d/emails/README b/install.d/emails/README
new file mode 100644 (file)
index 0000000..8c9357e
--- /dev/null
@@ -0,0 +1,31 @@
+
+  Notes for the emails module for plat/al
+
+
+CONFIG OPTIONS
+--------------
+
+  All settings of the module are shown here with their default and meaning
+
+  [Mail]
+
+  domain     = ''   ; main domain for email addresses
+  domain2    = ''   ; secondary domain for email addresses
+
+  alias_dom  = ''   ; main domain for ``PAPS'' aliases
+  alias_dom2 = ''   ; secondary domain for ``PAPS'' aliases
+
+  send_form  = 1    ; enable the emails/send.php form
+
+
+BUGS
+----
+
+  http://trackers.polytechnique.org/index.php?cat=17
+
+
+DEPENDS
+-------
+
+  platal
+
index 4863df1..4897f46 100644 (file)
@@ -4,17 +4,16 @@ htdocs/antispam.php
 htdocs/emails/broken.php
 htdocs/emails.php
 htdocs/emails/redirect.php
+htdocs/emails/send.php
 include/emails.inc.php
 include/validations/aliases.inc.php
 templates/alias.tpl
 templates/antispam.tpl
+templates/emails/broken.tpl
 templates/emails/redirect.tpl
+templates/emails/send.tpl
 templates/emails.tpl
-templates/emailx/broken.tpl
 templates/include/form.valid.aliases.tpl
 templates/mails/valid.alias.tpl
 templates/preferences.tpl.d/10.mails.tpl
 templates/preferences.tpl.d/20.alias.tpl
-
-htdocs/sendmail.php
-templates/sendmail.tpl
diff --git a/install.d/emails/install.sql b/install.d/emails/install.sql
new file mode 100644 (file)
index 0000000..ae6475a
--- /dev/null
@@ -0,0 +1,47 @@
+--
+-- Table structure for table `emails`
+--
+
+CREATE TABLE `emails` (
+  `uid` smallint(5) unsigned NOT NULL default '0',
+  `email` char(60) NOT NULL default '',
+  `rewrite` char(128) NOT NULL default '',
+  `panne` date NOT NULL default '0000-00-00',
+  `flags` set('active','filter','mtic') NOT NULL default '',
+  PRIMARY KEY  (`uid`,`email`),
+  KEY `emails` (`email`(20)),
+  KEY `uid` (`uid`)
+) TYPE=MyISAM PACK_KEYS=1 COMMENT='listes des emails';
+
+--
+-- Table structure for table `virtual`
+--
+
+CREATE TABLE `virtual` (
+  `vid` int(11) NOT NULL auto_increment,
+  `alias` varchar(255) NOT NULL default '',
+  `type` enum('user','list','dom') NOT NULL default 'user',
+  PRIMARY KEY  (`vid`),
+  UNIQUE KEY `alias` (`alias`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `virtual_domains`
+--
+
+CREATE TABLE `virtual_domains` (
+  `domain` varchar(255) NOT NULL default '',
+  PRIMARY KEY  (`domain`)
+) TYPE=MyISAM;
+
+--
+-- Table structure for table `virtual_redirect`
+--
+
+CREATE TABLE `virtual_redirect` (
+  `vid` int(11) NOT NULL auto_increment,
+  `redirect` varchar(255) NOT NULL default '',
+  PRIMARY KEY  (`vid`,`redirect`),
+  KEY `redirect` (`redirect`)
+) TYPE=MyISAM;
+
diff --git a/install.d/emails/uninstall.sql b/install.d/emails/uninstall.sql
new file mode 100644 (file)
index 0000000..08b9273
--- /dev/null
@@ -0,0 +1,4 @@
+DROP TABLE `emails`;
+DROP TABLE `virtual`;
+DROP TABLE `virtual_domains`;
+DROP TABLE `virtual_redirect`;
index 788f542..b4074dc 100644 (file)
@@ -7,7 +7,7 @@ include/conf.d/money.globals.inc.php
 include/conf.d/money.menu.inc.php
 include/money/cyberpaiement.inc.php
 include/money.inc.php
-include/trezo.inc.php
+include/money/trezo.inc.php
 templates/paiment/index.tpl
 templates/trezo/choix_date.tpl
 templates/trezo/gere_operations.tpl
index df5a32e..b9240d1 100644 (file)
@@ -118,7 +118,7 @@ que des informations manquent.
   les champs contenant une adresse @ifrance.com). Dans ce cas, tu peux utiliser
   <a href="{"docs/doc_smtp.php"|url}">le serveur SMTP de polytechnique.org</a>. 
   Quand tu n'as pas accès au un logiciel de courrier électronique, tu peux aussi 
-  utiliser <a href="{"sendmail.php"|url}">cette page</a> pour envoyer un petit courriel.
+  utiliser <a href="{rel}/emails/send.php">cette page</a> pour envoyer un petit courriel.
   </p>
 </div>
 
index b22379e..ae0864a 100644 (file)
 </h1>
 
 <ul>
-  {page title="Envoyer un mail" url="sendmail.php"|url}
+  {page title="Envoyer un mail" url="emqils/send.php"|url}
   Tu peux rédiger tes mails directement par le site web de Polytechnique.org.
   {/page}
 
index 2289f8e..4d3cee7 100644 (file)
@@ -48,7 +48,7 @@ consulter le trombinoscope</a> des promotions.
 </p>
 
 <p>
-Le site te permet <a href="{"sendmail.php"|url}">d'envoyer des mails</a>,
+Le site te permet <a href="{rel}/emails/send.php">d'envoyer des mails</a>,
 <a href="{"banana/thread.php?group=xorg.pa.emploi"|url}">de consulter des offres
   d'emplois</a> ou plus généralement <a href="{"banana/"|url}">des forums de
   discussions</a>, aux sujets variés, de <a href="{"listes/"|url}">t'inscrire sur des
similarity index 90%
rename from templates/sendmail.tpl
rename to templates/emails/send.tpl
index 8f45bc1..e231943 100644 (file)
       <td class="titre">de&nbsp;:</td>
       <td>
         <input type='hidden' name='signature' value='1' />
-        <input type='text' name='from' size='45' value='{if $smarty.request.from}
+        <input type='text' name='from' size='60' value='{if $smarty.request.from}
 {$smarty.request.from}
 {else}
-"{$smarty.session.prenom} {$smarty.session.nom}" &lt;{$smarty.session.bestalias}@polytechnique.org&gt;
+"{$smarty.session.prenom} {$smarty.session.nom}" &lt;{$smarty.session.bestalias}@{#globals.mail.domain#}&gt;
 {/if}' />
       </td>
     </tr>
     <tr> 
       <td class="titre">à&nbsp;:</td>
       <td>
-        <input type='text' name='to' size='45' value="{$smarty.request.to}" />
+        <input type='text' name='to' size='60' value="{$smarty.request.to}" />
       </td>
     </tr>
     <tr> 
       <td class="titre">copie&nbsp;:</td>
       <td>
-        <input type='text' name='cc' size='45' value="{$smarty.request.cc}" />
+        <input type='text' name='cc' size='60' value="{$smarty.request.cc}" />
       </td>
     </tr>
     <tr> 
       <td class="titre">copie cachée&nbsp;:</td>
       <td>
-        <input type='text' name='bcc' size='45' value="{$smarty.request.bcc|default:$smarty.session.bestalias}@polytechnique.org" />
+        <input type='text' name='bcc' size='60' value="{$smarty.request.bcc|default:$smarty.session.bestalias}@{#globals.mail.domain#}" />
       </td>
     </tr>
     <tr> 
       <td class="titre">sujet&nbsp;:</td>
       <td> 
-        <input type='text' name='sujet' size='45' value="{$smarty.request.sujet}" />
+        <input type='text' name='sujet' size='60' value="{$smarty.request.sujet}" />
       </td>
     </tr>
   </table>
 {/if}
     <td>
       <input type="checkbox" name="contacts[{$contact.forlife}]"
-        value="{$contact.prenom} {$contact.nom} &lt;{$contact.forlife}@polytechnique.org&gt;"
+        value="{$contact.prenom} {$contact.nom} &lt;{$contact.forlife}@{#globals.mail.domain#}&gt;"
         {if $smarty.request.contacts && $smarty.request.contacts.forlife}checked="checked"{/if} />
       <a href="{"fiche.php"|url}?user={$contact.forlife}" class="popup2">{$contact.prenom} {$contact.nom}</a> (X{$contact.promo})
     </td>