Nouveau fichier

This commit is contained in:
Rodolphe Quiedeville 2005-01-04 16:24:44 +00:00
parent 249aa6811d
commit 346fec985a
7 changed files with 689 additions and 0 deletions

View File

@ -0,0 +1,187 @@
<?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*
*/
/*!
\file htdocs/comm/index.php
\ingroup commercial
\brief Page acceuil de la zone mailing
\version $Revision$
*/
require("./pre.inc.php");
if ($user->societe_id > 0)
{
accessforbidden();
}
$langs->load("commercial");
$langs->load("orders");
llxHeader('','Mailing');
/*
*
*/
print_titre("Espace mailing");
print '<table border="0" width="100%">';
print '<tr><td valign="top" width="30%">';
/*
* Dernières actions commerciales effectuées
*
*/
$sql = "SELECT count(*), client";
$sql .= " FROM ".MAIN_DB_PREFIX."societe";
$sql .= " WHERE client in (1,2)";
$sql .= " GROUP BY client";
if ( $db->query($sql) )
{
$num = $db->num_rows();
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td colspan="4">Statistiques</td></tr>';
$var = true;
$i = 0;
while ($i < $num )
{
$row = $db->fetch_row();
$st[$row[1]] = $row[0];
$i++;
}
print "<tr $bc[$var]>";
print '<td>Clients</td><td align="center">'.$st[1]."</td></tr>";
print '<td>Prospects</td><td align="center">'.$st[2]."</td></tr>";
print "</table><br>";
$db->free();
}
else
{
dolibarr_print_error($db);
}
/*
*
*
*/
/*
*
*
*/
print '</td><td valign="top" width="70%">';
/*
* Actions commerciales a faire
*
*/
$sql = "SELECT m.titre, m.nbemail";
$sql .= " FROM ".MAIN_DB_PREFIX."mailing as m";
if ( $db->query($sql) )
{
$num = $db->num_rows();
if ($num > 0)
{
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td colspan="4">'.$langs->trans("ActionsToDo").'</td></tr>';
$var = true;
$i = 0;
while ($i < $num )
{
$obj = $db->fetch_object();
$var=!$var;
print "<tr $bc[$var]>";
print '<td><a href="action/fiche.php?id='.$obj->rowid.'">'.$obj->titre.'</a></td>';
print '<td>'.$obj->nbemail.'</td>';
$i++;
}
print "</table><br>";
}
$db->free();
}
else
{
dolibarr_print_error($db);
}
print '</td></tr>';
print '</table>';
$db->close();
?>
<span class="titrepage">SPAM : L'état du droit en France</span> : <a class="extern" href="http://www.cnil.fr/index.php?id=1272">http://www.cnil.fr/index.php?id=1272</a>
<br><br>
Une adresse de messagerie électronique est une donnée nominative, soit directement lorsque le nom de l'internaute figure dans le libellé de l'adresse soit indirectement dans la mesure toute adresse électronique peut être associée à une personne physique. Dès lors, toute opération de prospection par courrier électronique est soumise à la législation de protection des données.
<p>1. La loi&nbsp; pour la confiance dans l'économie numérique</p>
L'utilisation d'adresses de courriers électroniques dans les opérations de prospection commerciale est subordonnée au recueil du consentement préalable des personnes concernées.
<P class="bodytext">Le dispositif juridique applicable a été introduit par l'article 22 de la <A HREF="http://www.legifrance.gouv.fr/WAspad/UnTexteDeJorf?numjo=ECOX0200175L" target="legifrance">loi du 21 juin 2004</a>&nbsp; pour la confiance dans l'économie numérique.
</P>
<P class="bodytext">Les dispositions applicables sont définies par les articles <A HREF="http://www.legifrance.gouv.fr/WAspad/UnArticleDeCode?commun=CPOSTE&art=l34-5" target="legifrance">L. 34-5</a> du code des postes et des télécommunications et <A HREF="http://www.legifrance.gouv.fr/WAspad/UnArticleDeCode?commun=CCONSO&art=L121-20-5" target="legifrance">L. 121-20-5</a> du code de la consommation. L'application du principe du consentement préalable en droit français résulte de la transposition de l'article 13 de la Directive européenne du 12 juillet 2002 « Vie privée et communications électroniques ».
</P>
Il est interdit d'utiliser l'adresse de courrier électronique d'une personne physique à des fins de prospection commerciale sans avoir préalablement obtenu son consentement.
<P class="bodytext">L'expression de ce consentement doit être libre, spécifique et informée. En conséquence, son recueil ne doit pas être dilué dans une acceptation des conditions générales ou couplé à une demande de bons de réduction.&nbsp; La CNIL recommande à cet égard <B>qu'il soit recueilli par le biais d'une case à cocher </B>et rappelle qu'une case pré-cochée est contraire à l'esprit de la loi.
</P>
La loi a prévu une dérogation au principe du consentement préalable en maintenant un régime de droit d'opposition :
<P class="bodytext">il s'agit de l'hypothèse dans laquelle la prospection concerne des « produits ou services analogues » à ceux déjà fournis par la même personne physique ou morale qui aura recueilli les coordonnées électroniques de l'intéressé. <BR>Par exemple, une entreprise qui a vendu un livre pourra solliciter cet acheteur pour l'acquisition d'un disque, à la condition toutefois que la personne démarchée ait été expressément informée, lors de la collecte de son adresse de courrier électronique, de l'utilisation de celle-ci à des fins commerciales et qu'elle ait été mise en mesure de s'y opposer de manière simple.
</P>
<P class="bodytext">Dans tous les cas de figure, <B>chaque message électronique envoyé doit prévoir des modalités de désinscription</B> et préciser l'identité de la personne pour le compte de laquelle le message a été envoyé.
</P>
Enfin, la loi pour la confiance dans l'économie numérique a aménagé une période transitoire d'une durée de 6 mois à compter de sa publication, à savoir le 22 juin 2004.
<P class="bodytext">Ainsi, les entreprises peuvent jusqu'au 22 décembre 2004 adresser, à partir de fichiers constitués dans le respect des dispositions de la loi Informatique et libertés du 6 janvier 1978, un courrier électronique afin de recueillir le consentement des personnes. L'absence de réponse de celles-ci dans la période des 6 mois équivaudra à un refus d'être démarché.&nbsp; </P>
<P class="bodytext">Indépendamment des règles spécifiques prévues dans le code des postes et des télécommunications et dans celui de la consommation, les opérations de prospection par courrier électronique, quelque soit leur nature (commerciale, caritative, politique, religieuse ou associative par exemple), sont soumises au respect de la législation relative à la protection des données personnelles, à savoir la <a href="http://www.cnil.fr/index.php?id=301" target="cnil">loi Informatique et Libertés du 6 janvier 1978</a>.
</P>
<?PHP
llxFooter("<em>Derni&egrave;re modification $Date$ r&eacute;vision $Revision$</em>");
?>

View File

@ -0,0 +1,137 @@
<?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* or see http://www.gnu.org/
*
* $Id$
* $Source$
*
*
* L'utilisation d'adresses de courriers électroniques dans les opérations
* de prospection commerciale est subordonnée au recueil du consentement
* préalable des personnes concernées.
*
* Le dispositif juridique applicable a été introduit par l'article 22 de
* la loi du 21 juin 2004 pour la confiance dans l'économie numérique.
*
* Les dispositions applicables sont définies par les articles L. 34-5 du
* code des postes et des télécommunications et L. 121-20-5 du code de la
* consommation. L'application du principe du consentement préalable en
* droit français résulte de la transposition de l'article 13 de la Directive
* européenne du 12 juillet 2002 « Vie privée et communications électroniques ».
*
*/
/*!
\file
\ingroup mailing
\brief
\version $Revision$
*/
class mailing_cerise
{
function mailing_cerise()
{
$this->desc = 'Tous les contacts assaociés aux prospects';
}
function prepare_cible($db, $mailing_id)
{
$cibles = array();
$sql = "SELECT distinct(c.email), c.idp, c.name, c.firstname, s.nom ";
$sql .= " FROM ".MAIN_DB_PREFIX."socpeople as c";
$sql .= ", ".MAIN_DB_PREFIX."societe as s";
$sql .= " WHERE s.idp = c.fk_soc";
$sql .= " AND s.client = 2";
$sql .= " AND c.email IS NOT NULL";
$sql .= " ORDER BY c.email ASC";
if ( $db->query($sql) )
{
$num = $db->num_rows();
$i = 0;
$j = 0;
dolibarr_syslog("mailing-prepare: mailing $num cibles trouvées");
$olde = '';
while ($i < $num)
{
$row = $db->fetch_row();
if ($olde <> $row[0])
{
$cibles[$j] = $row;
$olde = $row[0];
$j++;
}
$i++;
}
}
else
{
dolibarr_syslog($db->error());
}
$sql = "DELETE FROM ".MAIN_DB_PREFIX."mailing_cibles";
$sql .= " WHERE fk_mailing = ".$mailing_id;
if (!$db->query($sql))
{
dolibarr_syslog($db->error());
}
$num = sizeof($cibles);
for ($i = 0 ; $i < $num ; $i++)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."mailing_cibles";
$sql .= " (fk_mailing, fk_contact, nom, prenom, email)";
$sql .= " VALUES (".$mailing_id.",";
$sql .= $cibles[$i][1] .",";
$sql .= "'".$cibles[$i][2] ."',";
$sql .= "'".$cibles[$i][3] ."',";
$sql .= "'".$cibles[$i][0] ."')";
if (!$db->query($sql))
{
dolibarr_syslog($db->error());
}
}
dolibarr_syslog("mailing-prepare: mailing $i cibles ajoutées");
$sql = "UPDATE ".MAIN_DB_PREFIX."mailing";
$sql .= " SET nbemail = ".$i." WHERE rowid = ".$mailing_id;
if (!$db->query($sql))
{
dolibarr_syslog($db->error());
}
return 0;
}
}
?>

View File

@ -0,0 +1,137 @@
<?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* or see http://www.gnu.org/
*
* $Id$
* $Source$
*
*
* L'utilisation d'adresses de courriers électroniques dans les opérations
* de prospection commerciale est subordonnée au recueil du consentement
* préalable des personnes concernées.
*
* Le dispositif juridique applicable a été introduit par l'article 22 de
* la loi du 21 juin 2004 pour la confiance dans l'économie numérique.
*
* Les dispositions applicables sont définies par les articles L. 34-5 du
* code des postes et des télécommunications et L. 121-20-5 du code de la
* consommation. L'application du principe du consentement préalable en
* droit français résulte de la transposition de l'article 13 de la Directive
* européenne du 12 juillet 2002 « Vie privée et communications électroniques ».
*
*/
/*!
\file
\ingroup mailing
\brief
\version $Revision$
*/
class mailing_poire
{
function mailing_poire()
{
$this->desc = 'Tous les contacts assaociés aux clients';
}
function prepare_cible($db, $mailing_id)
{
$cibles = array();
$sql = "SELECT distinct(c.email), c.idp, c.name, c.firstname, s.nom ";
$sql .= " FROM ".MAIN_DB_PREFIX."socpeople as c";
$sql .= ", ".MAIN_DB_PREFIX."societe as s";
$sql .= " WHERE s.idp = c.fk_soc";
$sql .= " AND s.client = 1";
$sql .= " AND c.email IS NOT NULL";
$sql .= " ORDER BY c.email ASC";
if ( $db->query($sql) )
{
$num = $db->num_rows();
$i = 0;
$j = 0;
dolibarr_syslog("mailing-prepare: mailing $num cibles trouvées");
$olde = '';
while ($i < $num)
{
$row = $db->fetch_row();
if ($olde <> $row[0])
{
$cibles[$j] = $row;
$olde = $row[0];
$j++;
}
$i++;
}
}
else
{
dolibarr_syslog($db->error());
}
$sql = "DELETE FROM ".MAIN_DB_PREFIX."mailing_cibles";
$sql .= " WHERE fk_mailing = ".$mailing_id;
if (!$db->query($sql))
{
dolibarr_syslog($db->error());
}
$num = sizeof($cibles);
for ($i = 0 ; $i < $num ; $i++)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."mailing_cibles";
$sql .= " (fk_mailing, fk_contact, nom, prenom, email)";
$sql .= " VALUES (".$mailing_id.",";
$sql .= $cibles[$i][1] .",";
$sql .= "'".$cibles[$i][2] ."',";
$sql .= "'".$cibles[$i][3] ."',";
$sql .= "'".$cibles[$i][0] ."')";
if (!$db->query($sql))
{
dolibarr_syslog($db->error());
}
}
dolibarr_syslog("mailing-prepare: mailing $i cibles ajoutées");
$sql = "UPDATE ".MAIN_DB_PREFIX."mailing";
$sql .= " SET nbemail = ".$i." WHERE rowid = ".$mailing_id;
if (!$db->query($sql))
{
dolibarr_syslog($db->error());
}
return 0;
}
}
?>

View File

@ -0,0 +1,66 @@
<?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*
*/
/*! \file htdocs/comm/pre.inc.php
\ingroup commercial
\brief Fichier de gestion du menu gauche de l'espace commercial mailing
\version $Revision$
*/
require("../../main.inc.php");
$user->getrights();
$langs->load("companies");
function llxHeader($head = "", $title = "") {
global $user, $conf, $langs;
top_menu($head, $title);
$menu = new Menu();
$menu->add(DOL_URL_ROOT."/comm/mailing/index.php", $langs->trans("Mailing"));
$menu->add(DOL_URL_ROOT."/comm/clients.php", $langs->trans("Customers"));
if ($user->rights->societe->creer)
{
$menu->add_submenu(DOL_URL_ROOT."/soc.php?action=create&amp;type=c", $langs->trans("MenuNewCustomer"));
}
$menu->add_submenu(DOL_URL_ROOT."/comm/contact.php?type=c", $langs->trans("Contacts"));
$menu->add(DOL_URL_ROOT."/comm/prospect/prospects.php", $langs->trans("Prospects"));
$menu->add_submenu(DOL_URL_ROOT."/comm/contact.php?type=p", $langs->trans("Contacts"));
left_menu($menu->liste);
}
?>

View File

@ -0,0 +1,55 @@
-- ========================================================================
-- Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--
-- $Id$
-- $Source$
--
-- ========================================================================
--
-- redaction : 0
-- valide : 1
-- approuvé : 2
-- envoye : 3
create table llx_mailing
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
statut smallint DEFAULT 0, --
date_envoi datetime, -- date d'envoi
titre varchar(60), -- company name
sujet varchar(60), -- company name
body text,
cible varchar(60),
nbemail integer,
email_from varchar(160), -- company name
email_replyto varchar(160), -- company name
email_errorsto varchar(160), -- company name
date_creat datetime, -- creation date
date_valid datetime, -- creation date
date_appro datetime, -- creation date
fk_user_creat integer, -- utilisateur qui a créé l'info
fk_user_valid integer, -- utilisateur qui a créé l'info
fk_user_appro integer -- utilisateur qui a créé l'info
)type=innodb;

View File

@ -0,0 +1,35 @@
-- ========================================================================
-- Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
--
-- $Id$
-- $Source$
--
-- ========================================================================
--
create table llx_mailing_cibles
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
fk_mailing integer NOT NULL,
fk_contact integer NOT NULL,
nom varchar(160),
prenom varchar(160),
email varchar(160)
)type=innodb;

View File

@ -0,0 +1,72 @@
<?PHP
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*
*
* Export simple des contacts
*
* L'utilisation d'adresses de courriers électroniques dans les opérations
* de prospection commerciale est subordonnée au recueil du consentement
* préalable des personnes concernées.
*
* Le dispositif juridique applicable a été introduit par l'article 22 de
* la loi du 21 juin 2004 pour la confiance dans l'économie numérique.
*
* Les dispositions applicables sont définies par les articles L. 34-5 du
* code des postes et des télécommunications et L. 121-20-5 du code de la
* consommation. L'application du principe du consentement préalable en
* droit français résulte de la transposition de l'article 13 de la Directive
* européenne du 12 juillet 2002 « Vie privée et communications électroniques ».
*/
require ("../htdocs/master.inc.php");
$error = 0;
$sql = "SELECT m.rowid, m.cible";
$sql .= " FROM ".MAIN_DB_PREFIX."mailing as m";
$sql .= " WHERE m.statut in (0,1)";
if ( $db->query($sql) )
{
$num = $db->num_rows();
$i = 0;
while ($i < $num)
{
$row = $db->fetch_row();
dolibarr_syslog("mailing-prepare: mailing $row[0]");
dolibarr_syslog("mailing-prepare: mailing module $row[1]");
require DOL_DOCUMENT_ROOT.'/comm/mailing/modules/'.$row[1].'.modules.php';
$classname = "mailing_".$row[1];
$obj = new $classname;
$obj->prepare_cible($db, $row[0]);
$i++;
}
}
?>