2004-10-20 00:24:10 +02:00
|
|
|
|
<?php
|
2005-05-14 16:22:08 +02:00
|
|
|
|
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
|
|
|
|
|
* Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
|
|
|
|
|
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
|
|
|
|
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
2003-09-14 12:35:52 +02:00
|
|
|
|
*
|
|
|
|
|
|
* 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$
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
2005-01-14 19:46:23 +01:00
|
|
|
|
/** \defgroup comptabilite Module comptabilite
|
2004-08-14 14:21:24 +02:00
|
|
|
|
\brief Module pour inclure des fonctions de comptabilit<EFBFBD> (gestion de comptes comptables et rapports)
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
2005-01-14 19:46:23 +01:00
|
|
|
|
/**
|
2004-08-14 14:21:24 +02:00
|
|
|
|
\file htdocs/includes/modules/modComptabilite.class.php
|
2004-08-15 14:40:18 +02:00
|
|
|
|
\ingroup comptabilite
|
2004-08-14 14:21:24 +02:00
|
|
|
|
\brief Fichier de description et activation du module Comptabilite
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
2003-11-13 16:09:12 +01:00
|
|
|
|
include_once "DolibarrModules.class.php";
|
2003-09-14 12:35:52 +02:00
|
|
|
|
|
2005-01-14 19:46:23 +01:00
|
|
|
|
/** \class modComptabilite
|
2004-08-15 14:40:18 +02:00
|
|
|
|
\brief Classe de description et activation du module Comptabilite
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
2003-11-13 16:09:12 +01:00
|
|
|
|
class modComptabilite extends DolibarrModules
|
2003-09-14 12:35:52 +02:00
|
|
|
|
{
|
|
|
|
|
|
|
2004-11-23 21:04:19 +01:00
|
|
|
|
/**
|
|
|
|
|
|
* \brief Constructeur. Definit les noms, constantes et boites
|
|
|
|
|
|
* \param DB handler d'acc<EFBFBD>s base
|
|
|
|
|
|
*/
|
2004-08-07 19:14:42 +02:00
|
|
|
|
function modComptabilite($DB)
|
2003-09-14 12:35:52 +02:00
|
|
|
|
{
|
2005-08-14 20:03:00 +02:00
|
|
|
|
global $conf;
|
|
|
|
|
|
|
2003-09-14 12:35:52 +02:00
|
|
|
|
$this->db = $DB ;
|
2006-01-22 19:31:56 +01:00
|
|
|
|
$this->id = 'comptabilite'; // Same value xxx than in file modXxx.class.php file
|
2004-06-26 19:15:28 +02:00
|
|
|
|
$this->numero = 10 ;
|
|
|
|
|
|
|
|
|
|
|
|
$this->family = "financial";
|
2003-11-13 16:09:12 +01:00
|
|
|
|
$this->name = "Comptabilite";
|
|
|
|
|
|
$this->description = "Gestion sommaire de comptabilit<69>";
|
2005-07-24 16:18:56 +02:00
|
|
|
|
|
|
|
|
|
|
$this->revision = explode(" ","$Revision$");
|
|
|
|
|
|
$this->version = $this->revision[1];
|
|
|
|
|
|
|
2005-10-22 15:45:24 +02:00
|
|
|
|
$this->const_name = 'MAIN_MODULE_COMPTABILITE';
|
2006-03-31 23:36:50 +02:00
|
|
|
|
$this->special = 0;
|
|
|
|
|
|
|
2004-06-26 19:15:28 +02:00
|
|
|
|
// Config pages
|
2005-01-03 14:00:04 +01:00
|
|
|
|
$this->config_page_url = "compta.php";
|
2004-06-26 19:15:28 +02:00
|
|
|
|
|
|
|
|
|
|
// D<>pendances
|
2006-05-20 12:10:41 +02:00
|
|
|
|
$this->depends = array("modFacture","modBanque");
|
|
|
|
|
|
$this->requiredby = array();
|
2005-08-13 22:17:45 +02:00
|
|
|
|
$this->conflictwith = array("modComptabiliteExpert");
|
2006-05-20 12:10:41 +02:00
|
|
|
|
$this->langfiles = array("compta");
|
2004-06-26 19:15:28 +02:00
|
|
|
|
|
2004-11-27 13:54:08 +01:00
|
|
|
|
// Constantes
|
2003-09-14 12:35:52 +02:00
|
|
|
|
$this->const = array();
|
2004-11-27 13:54:08 +01:00
|
|
|
|
|
2005-08-14 20:03:00 +02:00
|
|
|
|
// R<>pertoires
|
2005-01-03 14:00:04 +01:00
|
|
|
|
$this->dirs = array();
|
2005-08-14 20:03:00 +02:00
|
|
|
|
$this->dirs[0] = $conf->compta->dir_output;
|
|
|
|
|
|
$this->dirs[1] = $conf->compta->dir_output."/rapport";
|
|
|
|
|
|
$this->dirs[2] = $conf->compta->dir_output."/export";
|
|
|
|
|
|
$this->dirs[3] = $conf->compta->dir_images;
|
2005-01-03 14:00:04 +01:00
|
|
|
|
|
2004-11-27 13:54:08 +01:00
|
|
|
|
// Boites
|
2003-09-14 12:35:52 +02:00
|
|
|
|
$this->boxes = array();
|
2004-11-27 13:54:08 +01:00
|
|
|
|
|
|
|
|
|
|
// Permissions
|
|
|
|
|
|
$this->rights = array();
|
|
|
|
|
|
$this->rights_class = 'compta';
|
2005-10-08 21:13:58 +02:00
|
|
|
|
$r=0;
|
|
|
|
|
|
|
|
|
|
|
|
$r++;
|
|
|
|
|
|
$this->rights[$r][0] = 91;
|
|
|
|
|
|
$this->rights[$r][1] = 'Lire les charges';
|
|
|
|
|
|
$this->rights[$r][2] = 'r';
|
|
|
|
|
|
$this->rights[$r][3] = 1;
|
|
|
|
|
|
$this->rights[$r][4] = 'charges';
|
|
|
|
|
|
$this->rights[$r][5] = 'lire';
|
|
|
|
|
|
|
|
|
|
|
|
$r++;
|
|
|
|
|
|
$this->rights[$r][0] = 92;
|
|
|
|
|
|
$this->rights[$r][1] = 'Cr<43>er modifier les charges';
|
|
|
|
|
|
$this->rights[$r][2] = 'w';
|
|
|
|
|
|
$this->rights[$r][3] = 0;
|
|
|
|
|
|
$this->rights[$r][4] = 'charges';
|
|
|
|
|
|
$this->rights[$r][5] = 'creer';
|
|
|
|
|
|
|
|
|
|
|
|
$r++;
|
|
|
|
|
|
$this->rights[$r][0] = 93;
|
|
|
|
|
|
$this->rights[$r][1] = 'Supprimer les charges';
|
|
|
|
|
|
$this->rights[$r][2] = 'd';
|
|
|
|
|
|
$this->rights[$r][3] = 0;
|
|
|
|
|
|
$this->rights[$r][4] = 'charges';
|
|
|
|
|
|
$this->rights[$r][5] = 'supprimer';
|
|
|
|
|
|
|
|
|
|
|
|
$r++;
|
|
|
|
|
|
$this->rights[$r][0] = 95;
|
|
|
|
|
|
$this->rights[$r][1] = 'Lire CA, bilans, r<>sultats';
|
|
|
|
|
|
$this->rights[$r][2] = 'r';
|
|
|
|
|
|
$this->rights[$r][3] = 1;
|
|
|
|
|
|
$this->rights[$r][4] = 'resultat';
|
|
|
|
|
|
$this->rights[$r][5] = 'lire';
|
|
|
|
|
|
|
|
|
|
|
|
$r++;
|
|
|
|
|
|
$this->rights[$r][0] = 96;
|
|
|
|
|
|
$this->rights[$r][1] = 'Param<61>trer la ventilation';
|
|
|
|
|
|
$this->rights[$r][2] = 'r';
|
|
|
|
|
|
$this->rights[$r][3] = 0;
|
|
|
|
|
|
$this->rights[$r][4] = 'ventilation';
|
|
|
|
|
|
$this->rights[$r][5] = 'parametrer';
|
|
|
|
|
|
|
|
|
|
|
|
$r++;
|
|
|
|
|
|
$this->rights[$r][0] = 97;
|
2006-05-20 12:10:41 +02:00
|
|
|
|
$this->rights[$r][1] = 'Lire les ventilations de factures';
|
|
|
|
|
|
$this->rights[$r][2] = 'r';
|
|
|
|
|
|
$this->rights[$r][3] = 1;
|
|
|
|
|
|
$this->rights[$r][4] = 'ventilation';
|
|
|
|
|
|
$this->rights[$r][5] = 'lire';
|
|
|
|
|
|
|
|
|
|
|
|
$r++;
|
|
|
|
|
|
$this->rights[$r][0] = 98;
|
|
|
|
|
|
$this->rights[$r][1] = 'Ventiler les lignes de factures';
|
2005-10-08 21:13:58 +02:00
|
|
|
|
$this->rights[$r][2] = 'r';
|
|
|
|
|
|
$this->rights[$r][3] = 0;
|
|
|
|
|
|
$this->rights[$r][4] = 'ventilation';
|
|
|
|
|
|
$this->rights[$r][5] = 'creer';
|
|
|
|
|
|
|
2006-05-20 12:10:41 +02:00
|
|
|
|
/*
|
|
|
|
|
|
Ce n'est pas un module en particulier qui doit conditionner l'acc<EFBFBD>s <EFBFBD> un espace
|
|
|
|
|
|
partag<EFBFBD> par plusieurs module. C'est au sein de l'espace compta/tr<EFBFBD>so que chaque zone
|
|
|
|
|
|
est prot<EFBFBD>g<EFBFBD>e par le droit ad<EFBFBD>quat.
|
|
|
|
|
|
Sinon on bloque aussi utilisation du module banque, tva, des commandes <EFBFBD> facturer,
|
|
|
|
|
|
ou d'un autre module de compta.
|
2005-10-08 21:13:58 +02:00
|
|
|
|
$r++;
|
|
|
|
|
|
$this->rights[$r][0] = 98;
|
|
|
|
|
|
$this->rights[$r][1] = "Acc<EFBFBD>s <20> l'espace compta/tr<74>so";
|
|
|
|
|
|
$this->rights[$r][2] = 'r';
|
|
|
|
|
|
$this->rights[$r][3] = 0;
|
|
|
|
|
|
$this->rights[$r][4] = 'general';
|
|
|
|
|
|
$this->rights[$r][5] = 'lire';
|
2006-05-20 12:10:41 +02:00
|
|
|
|
*/
|
2005-09-06 16:02:05 +02:00
|
|
|
|
|
2005-05-14 16:22:08 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* \brief Fonction appel<EFBFBD>e lors de l'activation du module. Ins<EFBFBD>re en base les constantes, boites, permissions du module.
|
|
|
|
|
|
* D<EFBFBD>finit <EFBFBD>galement les r<EFBFBD>pertoires de donn<EFBFBD>es <EFBFBD> cr<EFBFBD>er pour ce module.
|
|
|
|
|
|
*/
|
|
|
|
|
|
function init()
|
|
|
|
|
|
{
|
|
|
|
|
|
global $conf;
|
|
|
|
|
|
|
2005-08-14 20:03:00 +02:00
|
|
|
|
// Nettoyage avant activation
|
2005-05-14 16:22:08 +02:00
|
|
|
|
$this->remove();
|
|
|
|
|
|
|
2003-09-14 12:35:52 +02:00
|
|
|
|
return $this->_init($sql);
|
|
|
|
|
|
}
|
2004-11-23 21:04:19 +01:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* \brief Fonction appel<EFBFBD>e lors de la d<EFBFBD>sactivation d'un module.
|
|
|
|
|
|
* Supprime de la base les constantes, boites et permissions du module.
|
2003-09-14 12:35:52 +02:00
|
|
|
|
*/
|
2004-08-07 19:14:42 +02:00
|
|
|
|
function remove()
|
2003-09-14 12:35:52 +02:00
|
|
|
|
{
|
2005-01-14 19:46:23 +01:00
|
|
|
|
$sql = array();
|
2003-09-14 12:35:52 +02:00
|
|
|
|
|
|
|
|
|
|
return $this->_remove($sql);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
?>
|