Ajout gestion des documents

This commit is contained in:
Rodolphe Quiedeville 2007-04-10 12:08:44 +00:00
parent d850290f6a
commit 0cd6d59f27

View File

@ -1,9 +1,9 @@
<?php <?php
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* 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
@ -35,11 +35,16 @@
*/ */
class DolibarrModules class DolibarrModules
{ {
var $db; // Handler d'accès aux bases //! Handler d'accès aux bases
var $db;
var $boxes; // Tableau des boites //! Tableau des boites
var $const; // Tableau des constantes var $boxes;
var $rights; // Tableau des droits //! Tableau des constantes
var $const;
//! Tableau des droits
var $rights;
//! Tableau des documents
var $docs;
var $dbversion; var $dbversion;
@ -109,15 +114,34 @@ class DolibarrModules
} }
} }
// Créé les documents générables
if (is_array($this->docs))
{
foreach ($this->docs as $key => $doc)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_generator (name,classfile,class) VALUES ";
$sql .= "('".addslashes($doc[0])."','".$doc[1]."','".$doc[2]."');";
$result=$this->db->query($sql);
if (! $result)
{
dolibarr_syslog("DolibarrModules.class::init Error sql=".$sql." - ".$this->db->error());
$err++;
}
}
}
// Renvoi valeur de retour // Renvoi valeur de retour
if ($err > 0) return 0; if ($err > 0) return 0;
return 1; return 1;
} }
/**
/** \brief Fonction de désactivation. Supprime de la base les constantes et boites du module \brief Fonction de désactivation. Supprime de la base les constantes et boites du module
* \param array_sql tableau de requete sql a exécuter à la désactivation \param array_sql tableau de requete sql a exécuter à la désactivation
* \return int 1 si ok, 0 si erreur \return int 1 si ok, 0 si erreur
*/ */
function _remove($array_sql) function _remove($array_sql)
{ {
@ -135,6 +159,9 @@ class DolibarrModules
// Supprime les boites de la liste des boites disponibles // Supprime les boites de la liste des boites disponibles
$err+=$this->delete_boxes(); $err+=$this->delete_boxes();
// Supprime les documents generables
$err+=$this->delete_docs();
// Exécute les requetes sql complémentaires // Exécute les requetes sql complémentaires
for ($i = 0 ; $i < sizeof($array_sql) ; $i++) for ($i = 0 ; $i < sizeof($array_sql) ; $i++)
{ {
@ -405,6 +432,34 @@ class DolibarrModules
} }
/**
\brief Supprime les documents
\return int Nombre d'erreurs (0 si ok)
*/
function delete_docs()
{
// Créé les documents générables
if (is_array($this->docs))
{
foreach ($this->docs as $key => $doc)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."document_generator ";
$sql .= "WHERE name= '".addslashes($doc[0])."' AND classfile='".$doc[1]."'AND class='".$doc[2]."';";
$result=$this->db->query($sql);
if (! $result)
{
dolibarr_syslog("DolibarrModules.class::delete_docs Error sql=".$sql." - ".$this->db->error());
$err++;
}
}
}
return $err;
}
/** /**
\brief Supprime les boites \brief Supprime les boites
\return int Nombre d'erreurs (0 si ok) \return int Nombre d'erreurs (0 si ok)