[ 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/dons/ -> modules_don.php (source)

   1  <?php
   2  /* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
   3   * Copyright (C) 2004-2005 Laurent Destailleur  <eldy@users.sourceforge.net>
   4   * Copyright (C) 2004      Eric Seigne          <eric.seigne@ryxeo.com>
   5   * Copyright (C) 2005      Regis Houssin        <regis.houssin@cap-networks.com>
   6   *
   7   * This program is free software; you can redistribute it and/or modify
   8   * it under the terms of the GNU General Public License as published by
   9   * the Free Software Foundation; either version 2 of the License, or
  10   * (at your option) any later version.
  11   *
  12   * This program is distributed in the hope that it will be useful,
  13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15   * GNU General Public License for more details.
  16   *
  17   * You should have received a copy of the GNU General Public License
  18   * along with this program; if not, write to the Free Software
  19   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  20   * or see http://www.gnu.org/
  21   *
  22   * $Id: modules_don.php,v 1.1 2005/11/11 22:36:57 eldy Exp $
  23   * $Source: /cvsroot/dolibarr/dolibarr/htdocs/includes/modules/dons/modules_don.php,v $
  24   */
  25  
  26  /**
  27          \file       htdocs/includes/modules/dons/modules_don.php
  28          \ingroup    don
  29          \brief      Fichier contenant la classe mère de generation des dons
  30          \version    $Revision: 1.1 $
  31  */
  32  
  33  require_once(FPDF_PATH.'fpdf.php');
  34  require_once(DOL_DOCUMENT_ROOT."/don.class.php");
  35  
  36  
  37  
  38  /**
  39          \class      ModeleDon
  40          \brief      Classe mère des modèles de dons
  41  */
  42  
  43  class ModeleDon extends FPDF
  44  {
  45      var $error='';
  46  
  47     /** 
  48      *       \brief      Renvoi le dernier message d'erreur de création de facture
  49      */
  50      function pdferror()
  51      {
  52          return $this->error;
  53      }
  54  
  55      /** 
  56       *      \brief      Renvoi la liste des modèles actifs
  57       *      \param      db      Handler de base
  58       */
  59      function liste_modeles($db)
  60      {
  61          $liste=array();
  62          $sql ="";
  63          
  64          $resql = $db->query($sql);
  65          if ($resql)
  66          {
  67              $num = $db->num_rows($resql);
  68              $i = 0;
  69              while ($i < $num)
  70              {
  71                  $row = $db->fetch_row($resql);
  72                  $liste[$row[0]]=$row[1];
  73                  $i++;
  74              }
  75          }
  76          else
  77          {
  78              return -1;
  79          }
  80          return $liste;
  81      }
  82  
  83  }
  84  
  85  
  86  /**
  87      \class ModeleNumRefDons
  88      \brief  Classe mère des modèles de numérotation des références de facture
  89  */
  90  
  91  class ModeleNumRefDons
  92  {
  93      var $error='';
  94  
  95      /**     \brief      Renvoi la description par defaut du modele de numérotation
  96       *      \return     string      Texte descripif
  97       */
  98      function info()
  99      {
 100          global $langs;
 101          $langs->load("bills");
 102          return $langs->trans("NoDescription");
 103      }
 104  
 105      /**     \brief      Renvoi un exemple de numérotation
 106       *      \return     string      Example
 107       */
 108      function getExample()
 109      {
 110          global $langs;
 111          $langs->load("bills");
 112          return $langs->trans("NoExample");
 113      }
 114  
 115      /**     \brief      Test si les numéros déjà en vigueur dans la base ne provoquent pas de
 116       *                  de conflits qui empechera cette numérotation de fonctionner.
 117       *      \return     boolean     false si conflit, true si ok
 118       */
 119      function canBeActivated()
 120      {
 121          return true;
 122      }
 123  
 124      /**     \brief      Renvoi prochaine valeur attribuée
 125       *      \return     string      Valeur
 126       */
 127      function getNextValue()
 128      {
 129          global $langs;
 130          return $langs->trans("NotAvailable");
 131      }
 132  }
 133  
 134  
 135  /**
 136      \brief      Crée un don sur disque en fonction du modèle de DON_ADDON_PDF
 137      \param        db          objet base de donnée
 138      \param        donid        id de la facture à créer
 139      \param        message        message
 140      \return     int         0 si KO, 1 si OK
 141  */
 142  function don_create($db, $donid, $message="")
 143  {
 144      global $langs;
 145      $langs->load("bills");
 146      
 147      define("DON_ADDON",'html_cerfafr');
 148      
 149      $dir = DOL_DOCUMENT_ROOT . "/includes/modules/dons/";
 150  
 151      if (defined("DON_ADDON") && DON_ADDON)
 152      {
 153          $file = DON_ADDON.".modules.php";
 154      
 155          $classname = DON_ADDON;
 156          require_once($dir.$file);
 157      
 158          $obj = new $classname($db);
 159      
 160          $obj->message = $message;
 161      
 162          if ( $obj->write_file($donid) > 0)
 163          {
 164              // Succès de la création de la facture. On génère le fichier meta
 165              don_meta_create($db, $donid);
 166      
 167              // et on supprime l'image correspondant au preview
 168              don_delete_preview($db, $donid);
 169      
 170              return 1;
 171          }
 172          else
 173          {
 174              dolibarr_syslog("Erreur dans don_create");
 175              dolibarr_print_error($db,$obj->pdferror());
 176              return 0;
 177          }
 178      }
 179      else
 180      {
 181          print $langs->trans("Error")." ".$langs->trans("Error_DON_ADDON_PDF_NotDefined");
 182          return 0;
 183      }
 184  }
 185  
 186  /**
 187     \brief       Créé un meta fichier à côté de la facture sur le disque pour faciliter les recherches en texte plein. Pourquoi ? tout simplement parcequ'en fin d'exercice quand je suis avec mon comptable je n'ai pas de connexion internet "rapide" pour retrouver en 2 secondes une facture non payée ou compliquée à gérer ... avec un rgrep c'est vite fait bien fait [eric seigne]
 188     \param        db          Objet base de donnée
 189     \param        donid        Id du don à créer
 190     \param       message     Message
 191  */
 192  function don_meta_create($db, $donid, $message="")
 193  {
 194      global $langs,$conf;
 195      
 196      $don = new Don($db);
 197      $don->id=$donid;
 198      $don->fetch($donid);  
 199  }
 200  
 201  
 202  /**
 203     \brief       Supprime l'image de prévisualitation, pour le cas de régénération de facture
 204     \param        db          Objet base de donnée
 205     \param        donid        Id du don
 206  */
 207  function don_delete_preview($db, $donid)
 208  {
 209      global $langs,$conf;
 210  
 211      $don = new Don($db);
 212      $don->id=$donid;
 213      $don->fetch($donid);  
 214  }
 215  
 216  ?>


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