[ Index ]
 

Code source de Dolibarr 2.0.1

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/htdocs/includes/modules/mailings/ -> pomme.modules.php (source)

   1  <?php
   2  /* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
   3   *
   4   * This program is free software; you can redistribute it and/or modify
   5   * it under the terms of the GNU General Public License as published by
   6   * the Free Software Foundation; either version 2 of the License, or
   7   * (at your option) any later version.
   8   *
   9   * This program is distributed in the hope that it will be useful,
  10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12   * GNU General Public License for more details.
  13   *
  14   * You should have received a copy of the GNU General Public License
  15   * along with this program; if not, write to the Free Software
  16   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17   * or see http://www.gnu.org/
  18   *
  19   * $Id: pomme.modules.php,v 1.6 2005/11/08 00:21:49 eldy Exp $
  20   * $Source: /cvsroot/dolibarr/dolibarr/htdocs/includes/modules/mailings/pomme.modules.php,v $
  21   *
  22   *
  23   * L'utilisation d'adresses de courriers électroniques dans les opérations
  24   * de prospection commerciale est subordonnée au recueil du consentement 
  25   * préalable des personnes concernées.
  26   *
  27   * Le dispositif juridique applicable a été introduit par l'article 22 de 
  28   * la loi du 21 juin 2004  pour la confiance dans l'économie numérique.
  29   *
  30   * Les dispositions applicables sont définies par les articles L. 34-5 du 
  31   * code des postes et des télécommunications et L. 121-20-5 du code de la 
  32   * consommation. L'application du principe du consentement préalable en 
  33   * droit français résulte de la transposition de l'article 13 de la Directive 
  34   * européenne du 12 juillet 2002 « Vie privée et communications électroniques ». 
  35   */
  36  
  37  /**
  38             \file       htdocs/includes/modules/mailings/pomme.modules.php
  39          \ingroup    mailing
  40          \brief      Fichier de la classe permettant de générer la liste de destinataires Pomme
  41          \version    $Revision: 1.6 $
  42  */
  43  
  44  include_once DOL_DOCUMENT_ROOT.'/includes/modules/mailings/modules_mailings.php';
  45  
  46  
  47  /**
  48          \class      mailing_pomme
  49          \brief      Classe permettant de générer la liste des destinataires Pomme
  50  */
  51  
  52  class mailing_pomme extends MailingTargets
  53  {
  54      var $name='DolibarrUsers';                      // Identifiant du module mailing
  55      var $desc='Utilisateurs de Dolibarr avec emails';  // Libellé utilisé si aucune traduction pour MailingModuleDescXXX ou XXX=name trouvée
  56      var $require_module=array();                    // Module mailing actif si modules require_module actifs
  57      var $require_admin=1;                           // Module mailing actif pour user admin ou non
  58      var $picto='user';
  59  
  60      var $db;
  61      var $statssql=array();
  62  
  63  
  64      function mailing_pomme($DB)
  65      {
  66          global $langs;
  67          $langs->load("users");
  68          
  69          $this->db=$DB;
  70  
  71          // Liste des tableaux des stats espace mailing
  72          $sql = "SELECT '".$langs->trans("DolibarrUsers")."' as label, count(distinct(email)) as nb FROM ".MAIN_DB_PREFIX."user as u";
  73          $sql.= " WHERE u.email != ''"; // u.email IS NOT NULL est implicite dans ce test
  74          $this->statssql[0]=$sql;
  75          
  76      }
  77      
  78      function getNbOfRecipients()
  79      {
  80          // La requete doit retourner: nb
  81          $sql  = "SELECT count(distinct(u.email)) as nb";
  82          $sql .= " FROM ".MAIN_DB_PREFIX."user as u";
  83          $sql .= " WHERE u.email != ''"; // u.email IS NOT NULL est implicite dans ce test
  84  
  85          return parent::getNbOfRecipients($sql); 
  86      }
  87  
  88      
  89      /**
  90       *      \brief      Renvoie url lien vers fiche de la source du destinataire du mailing
  91       *      \return     string      Url lien
  92       */
  93      function url($id)
  94      {
  95          return '<a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$id.'">'.img_object('',"user").'</a>';
  96      }
  97  
  98      
  99      /**
 100       *    \brief      Ajoute destinataires dans table des cibles
 101       *    \param      mailing_id    Id du mailing concerné
 102       *    \param      filterarray   Requete sql de selection des destinataires
 103       *    \return     int           < 0 si erreur, nb ajout si ok
 104       */
 105      function add_to_target($mailing_id,$filtersarray=array())
 106      {
 107          // La requete doit retourner: id, email, fk_contact, name, firstname
 108          $sql = "SELECT u.rowid as id, u.email as email, null as fk_contact, u.name as name, u.firstname as firstname";
 109          $sql .= " FROM ".MAIN_DB_PREFIX."user as u";
 110          $sql .= " WHERE u.email != ''"; // u.email IS NOT NULL est implicite dans ce test
 111          $sql .= " ORDER BY u.email";
 112  
 113          return parent::add_to_target($mailing_id, $sql);
 114      }
 115  
 116  }
 117  
 118  ?>


Généré le : Mon Nov 26 12:29:37 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics