Fix: missing addslashes

Fix: filed entity
This commit is contained in:
Regis Houssin 2009-12-01 13:27:53 +00:00
parent 40d40079ff
commit c18885d4ff
3 changed files with 89 additions and 37 deletions

View File

@ -1,6 +1,7 @@
<?php <?php
/* Copyright (C) 2002 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -60,7 +61,7 @@ class Don extends CommonObject
/** /**
* \brief Constructeur * \brief Constructeur
* \param DB Handler d'acc<EFBFBD>s base * \param DB Handler d'acces base
*/ */
function Don($DB) function Don($DB)
{ {
@ -80,8 +81,8 @@ class Don extends CommonObject
/** /**
* \brief Retourne le libell<EFBFBD> du statut d'un don (brouillon, valid<EFBFBD>e, abandonn<EFBFBD>e, pay<EFBFBD>e) * \brief Retourne le libelle du statut d'un don (brouillon, validee, abandonnee, payee)
* \param mode 0=libell<EFBFBD> long, 1=libell<EFBFBD> court, 2=Picto + Libell<EFBFBD> court, 3=Picto, 4=Picto + Libell<EFBFBD> long * \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long
* \return string Libelle * \return string Libelle
*/ */
function getLibStatut($mode=0) function getLibStatut($mode=0)
@ -90,10 +91,10 @@ class Don extends CommonObject
} }
/** /**
* \brief Renvoi le libell<EFBFBD> d'un statut donn<EFBFBD> * \brief Renvoi le libelle d'un statut donne
* \param statut Id statut * \param statut Id statut
* \param mode 0=libell<EFBFBD> long, 1=libell<EFBFBD> court, 2=Picto + Libell<EFBFBD> court, 3=Picto, 4=Picto + Libell<EFBFBD> long, 5=Libell<EFBFBD> court + Picto * \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
* \return string Libell<EFBFBD> du statut * \return string Libelle du statut
*/ */
function LibStatut($statut,$mode=0) function LibStatut($statut,$mode=0)
{ {
@ -137,16 +138,22 @@ class Don extends CommonObject
/** /**
* \brief Initialise le don avec valeurs fictives al<EFBFBD>atoire * \brief Initialise le don avec valeurs fictives alaatoire
* Sert <EFBFBD> g<EFBFBD>n<EFBFBD>rer une recu de don pour l'aperu des mod<EFBFBD>les ou demo * Sert a generer un recu de don pour l'aperu des modeles ou demo
*/ */
function initAsSpecimen() function initAsSpecimen()
{ {
global $user,$langs; global $conf, $user,$langs;
// Charge tableau des id de soci<EFBFBD>t<EFBFBD> socids // Charge tableau des id de societe socids
$socids = array(); $socids = array();
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE client=1 LIMIT 10";
$sql = "SELECT rowid";
$sql.= " FROM ".MAIN_DB_PREFIX."societe";
$sql.= " WHERE client = 1";
$sql.= " AND entity = ".$conf->entity;
$sql.= " LIMIT 10";
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if ($resql) if ($resql)
{ {
@ -161,7 +168,7 @@ class Don extends CommonObject
} }
} }
// Initialise param<EFBFBD>tres // Initialise parametres
$this->id=0; $this->id=0;
$this->ref = 'SPECIMEN'; $this->ref = 'SPECIMEN';
$this->specimen=1; $this->specimen=1;
@ -206,7 +213,7 @@ class Don extends CommonObject
{ {
if ((strlen(trim($this->nom)) + strlen(trim($this->prenom))) == 0) if ((strlen(trim($this->nom)) + strlen(trim($this->prenom))) == 0)
{ {
$error_string[$err] = "Vous devez saisir vos nom et pr<EFBFBD>nom ou le nom de votre soci<63>t<EFBFBD>."; $error_string[$err] = "Vous devez saisir vos nom et prenom ou le nom de votre societe.";
$err++; $err++;
} }
} }
@ -242,7 +249,7 @@ class Don extends CommonObject
{ {
if (!isset($map[substr($this->amount, $i, 1)] )) if (!isset($map[substr($this->amount, $i, 1)] ))
{ {
$error_string[$err] = "Le montant du don contient un/des caract<EFBFBD>re(s) invalide(s)"; $error_string[$err] = "Le montant du don contient un/des caractere(s) invalide(s)";
$err++; $err++;
$amount_invalid = 1; $amount_invalid = 1;
break; break;
@ -279,20 +286,56 @@ class Don extends CommonObject
} }
/** /**
* \brief Cr<EFBFBD>ation du don en base * \brief Creation du don en base
* \param user Objet utilisateur qui cr<EFBFBD>e le don * \param user Objet utilisateur qui cree le don
* \return int Id don cr<EFBFBD>e si ok, <0 si ko * \return int Id don cree si ok, <0 si ko
* \TODO add numbering module for Ref
*/ */
function create($user) function create($user)
{ {
global $conf;
$this->date = $this->db->idate($this->date); $this->date = $this->db->idate($this->date);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."don (datec, amount, fk_paiement,prenom, nom, societe,adresse, cp, ville, pays, public,"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."don (";
$sql .= " fk_don_projet,"; $sql.= "datec";
$sql .= " note, fk_user_author, fk_user_valid, datedon, email)"; $sql.= ", entity";
$sql .= " VALUES (".$this->db->idate(mktime()).",".price2num($this->amount).", $this->modepaiementid,'$this->prenom','$this->nom','$this->societe','$this->adresse', '$this->cp','$this->ville','$this->pays',$this->public, "; $sql.= ", amount";
$sql .= " ".($this->projetid > 0?$this->projetid:"null").","; $sql.= ", fk_paiement";
$sql .= " '".addslashes($this->note)."', ".$user->id.", null, '$this->date','$this->email')"; $sql.= ", prenom";
$sql.= ", nom";
$sql.= ", societe";
$sql.= ", adresse";
$sql.= ", cp";
$sql.= ", ville";
$sql.= ", pays";
$sql.= ", public";
$sql.= ", fk_don_projet";
$sql.= ", note";
$sql.= ", fk_user_author";
$sql.= ", fk_user_valid";
$sql.= ", datedon";
$sql.= ", email";
$sql.= ") VALUES (";
$sql.= $this->db->idate(mktime());
$sql.= ", ".$conf->entity;
$sql.= ", ".price2num($this->amount);
$sql.= ", ".$this->modepaiementid;
$sql.= ", '".addslashes($this->prenom)."'";
$sql.= ", '".addslashes($this->nom)."'";
$sql.= ", '".addslashes($this->societe)."'";
$sql.= ", '".addslashes($this->adresse)."'";
$sql.= ", '".$this->cp."'";
$sql.= ", '".addslashes($this->ville)."'";
$sql.= ", '".addslashes($this->pays)."'"; // TODO use fk_pays
$sql.= ", ".$this->public;
$sql.= ", ".($this->projetid > 0?$this->projetid:"null");
$sql.= ", '".addslashes($this->note)."'";
$sql.= ", ".$user->id;
$sql.= ", null";
$sql.= ", '".$this->date."'";
$sql.= ", '".$this->email."'";
$sql.= ")";
dol_syslog("Don::create sql=".$sql, LOG_DEBUG); dol_syslog("Don::create sql=".$sql, LOG_DEBUG);
$result = $this->db->query($sql); $result = $this->db->query($sql);
@ -351,7 +394,7 @@ class Don extends CommonObject
/* /*
* \brief Suppression du don de la base * \brief Suppression du don de la base
* \param rowid id du don <EFBFBD> supprimer * \param rowid id du don a supprimer
*/ */
function delete($rowid) function delete($rowid)
{ {
@ -377,8 +420,8 @@ class Don extends CommonObject
} }
/* /*
* \brief Charge l'objet don en m<EFBFBD>moire depuis la base de donn<EFBFBD>e * \brief Charge l'objet don en memoire depuis la base de donnee
* \param rowid Id du don <EFBFBD> charger * \param rowid Id du don a charger
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function fetch($rowid) function fetch($rowid)
@ -434,7 +477,7 @@ class Don extends CommonObject
/* /*
* \brief Valide une promesse de don * \brief Valide une promesse de don
* \param rowid id du don <EFBFBD> modifier * \param rowid id du don a modifier
* \param userid utilisateur qui valide la promesse * \param userid utilisateur qui valide la promesse
* *
*/ */
@ -462,8 +505,8 @@ class Don extends CommonObject
} }
/* /*
* \brief Classe le don comme pay<EFBFBD>, le don a <EFBFBD>t<EFBFBD> recu * \brief Classe le don comme paye, le don a ete recu
* \param rowid id du don <EFBFBD> modifier * \param rowid id du don a modifier
* \param modepaiementd mode de paiement * \param modepaiementd mode de paiement
*/ */
function set_paye($rowid, $modepaiement='') function set_paye($rowid, $modepaiement='')
@ -496,8 +539,8 @@ class Don extends CommonObject
/* /*
* \brief Classe le don comme encaiss<EFBFBD> * \brief Classe le don comme encaisse
* \param rowid id du don <EFBFBD> modifier * \param rowid id du don a modifier
* *
*/ */
function set_encaisse($rowid) function set_encaisse($rowid)
@ -525,15 +568,18 @@ class Don extends CommonObject
/** /**
* \brief Somme des dons * \brief Somme des dons
* \param param 1=promesses de dons valid<EFBFBD>es , 2=xxx, 3=encaiss<EFBFBD>s * \param param 1=promesses de dons validees , 2=xxx, 3=encaisses
*/ */
function sum_donations($param) function sum_donations($param)
{ {
global $conf;
$result=0; $result=0;
$sql = "SELECT sum(amount) as total"; $sql = "SELECT sum(amount) as total";
$sql.= " FROM ".MAIN_DB_PREFIX."don"; $sql.= " FROM ".MAIN_DB_PREFIX."don";
$sql.= " WHERE fk_statut = ".$param; $sql.= " WHERE fk_statut = ".$param;
$sql.= " AND entity = ".$conf->entity;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)

View File

@ -499,3 +499,6 @@ ALTER TABLE llx_adherent DROP INDEX idx_adherent_fk_soc;
ALTER TABLE llx_propaldet ADD INDEX idx_propaldet_fk_propal (fk_propal); ALTER TABLE llx_propaldet ADD INDEX idx_propaldet_fk_propal (fk_propal);
-- V4.1 delete from llx_propaldet where fk_propal not in (select rowid from llx_propal); -- V4.1 delete from llx_propaldet where fk_propal not in (select rowid from llx_propal);
ALTER TABLE llx_propaldet ADD CONSTRAINT fk_propaldet_fk_propal FOREIGN KEY (fk_propal) REFERENCES llx_propal (rowid); ALTER TABLE llx_propaldet ADD CONSTRAINT fk_propaldet_fk_propal FOREIGN KEY (fk_propal) REFERENCES llx_propal (rowid);
ALTER TABLE llx_don ADD COLUMN ref varchar(30) DEFAULT NULL AFTER rowid;
ALTER TABLE llx_don ADD COLUMN entity integer DEFAULT 1 NOT NULL AFTER ref;

View File

@ -1,5 +1,6 @@
-- =================================================================== -- ===================================================================
-- Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
-- Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
-- --
-- This program is free software; you can redistribute it and/or modify -- 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 -- it under the terms of the GNU General Public License as published by
@ -22,9 +23,11 @@
create table llx_don create table llx_don
( (
rowid integer AUTO_INCREMENT PRIMARY KEY, rowid integer AUTO_INCREMENT PRIMARY KEY,
ref varchar(30) DEFAULT NULL, -- Ref donation (TODO change to NOT NULL)
entity integer DEFAULT 1 NOT NULL, -- multi company id
tms timestamp, tms timestamp,
fk_statut smallint NOT NULL DEFAULT 0,-- etat du don promesse/valid fk_statut smallint NOT NULL DEFAULT 0, -- etat du don promesse/valid
datec datetime, -- date de création de l'enregistrement datec datetime, -- date de creation de l'enregistrement
datedon datetime, -- date du don/promesse datedon datetime, -- date du don/promesse
amount real DEFAULT 0, amount real DEFAULT 0,
fk_paiement integer, fk_paiement integer,