2005-08-13 22:17:45 +02:00
< ? php
/* Copyright ( C ) 2003 Rodolphe Quiedeville < rodolphe @ quiedeville . org >
2009-01-21 14:20:26 +01:00
* Copyright ( C ) 2004 - 2009 Laurent Destailleur < eldy @ users . sourceforge . net >
2005-08-13 22:17:45 +02:00
* Copyright ( C ) 2004 Sebastien Di Cintio < sdicintio @ ressource - toi . org >
* Copyright ( C ) 2004 Benoit Mortier < benoit . mortier @ opensides . be >
*
* 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 .
*/
2009-06-16 22:21:51 +02:00
/** \defgroup accounting Module accounting
2009-07-30 00:52:08 +02:00
* \brief Module to include accounting features
2009-06-16 22:21:51 +02:00
* \version $Id $
2008-10-01 21:10:17 +02:00
*/
2005-08-13 22:17:45 +02:00
/**
2009-06-16 22:21:51 +02:00
* \file htdocs / includes / modules / modAccounting . class . php
* \ingroup accounting
* \brief Fichier de description et activation du module Comptabilite Expert
2008-10-01 21:10:17 +02:00
*/
2005-08-13 22:17:45 +02:00
2007-10-10 01:15:25 +02:00
include_once ( DOL_DOCUMENT_ROOT . " /includes/modules/DolibarrModules.class.php " );
2005-08-13 22:17:45 +02:00
/**
2009-06-16 22:21:51 +02:00
* \class modAccounting
* \brief Classe de description et activation du module Comptabilite Expert
2008-10-01 21:10:17 +02:00
*/
2009-06-16 22:21:51 +02:00
class modAccounting extends DolibarrModules
2005-08-13 22:17:45 +02:00
{
2008-10-01 21:10:17 +02:00
/**
* \brief Constructeur . Definit les noms , constantes et boites
* \param DB handler d ' acces base
*/
2009-06-16 22:21:51 +02:00
function modAccounting ( $DB )
2008-10-01 21:10:17 +02:00
{
global $conf ;
$this -> db = $DB ;
2009-06-17 01:47:49 +02:00
$this -> numero = 1400 ;
2008-10-01 21:10:17 +02:00
$this -> family = " financial " ;
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
2009-10-21 15:09:42 +02:00
$this -> name = preg_replace ( '/^mod/i' , '' , get_class ( $this ));
2009-06-16 23:11:25 +02:00
$this -> description = " Gestion complete de comptabilite (doubles parties) " ;
2008-10-01 21:10:17 +02:00
2008-12-15 23:25:59 +01:00
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
//$this->version = 'dolibarr';
2008-10-01 21:10:17 +02:00
$this -> version = " development " ;
2008-10-06 09:39:52 +02:00
$this -> const_name = 'MAIN_MODULE_' . strtoupper ( $this -> name );
2008-10-01 21:10:17 +02:00
$this -> special = 0 ;
// Config pages
2009-06-16 22:21:51 +02:00
$this -> config_page_url = array ( " accounting.php " );
2008-10-01 21:10:17 +02:00
2009-06-16 23:11:25 +02:00
// Dependancies
2009-07-29 18:13:33 +02:00
$this -> depends = array ( " modFacture " , " modBanque " , " modTax " );
2008-10-01 21:10:17 +02:00
$this -> requiredby = array ();
$this -> conflictwith = array ( " modComptabilite " );
$this -> langfiles = array ( " compta " );
2009-06-16 23:11:25 +02:00
// Constants
$this -> const = array ( 0 => array ( 'MAIN_COMPANY_CODE_ALWAYS_REQUIRED' , 'chaine' , '1' , 'With this constants on, third party codes are always required whatever is numbering module behaviour' , 0 )); // List of particular constants to add when module is enabled
2009-05-04 13:40:00 +02:00
2009-04-28 15:52:08 +02:00
// Data directories to create when module is enabled
2009-06-16 22:21:51 +02:00
$this -> dirs = array ( " /accounting/temp " );
2009-05-04 13:40:00 +02:00
// Boxes
2008-10-01 21:10:17 +02:00
$this -> boxes = array ();
// Permissions
$this -> rights = array ();
2009-06-16 22:21:51 +02:00
$this -> rights_class = 'accounting' ;
2008-10-01 21:10:17 +02:00
2009-06-17 01:47:49 +02:00
$this -> rights [ 1 ][ 0 ] = 1401 ;
2008-10-01 21:10:17 +02:00
$this -> rights [ 1 ][ 1 ] = 'Lire le plan de compte' ;
$this -> rights [ 1 ][ 2 ] = 'r' ;
$this -> rights [ 1 ][ 3 ] = 1 ;
$this -> rights [ 1 ][ 4 ] = 'plancompte' ;
$this -> rights [ 1 ][ 5 ] = 'lire' ;
2009-06-17 01:47:49 +02:00
$this -> rights [ 2 ][ 0 ] = 1402 ;
2008-10-01 21:10:17 +02:00
$this -> rights [ 2 ][ 1 ] = 'Creer/modifier un plan de compte' ;
$this -> rights [ 2 ][ 2 ] = 'w' ;
$this -> rights [ 2 ][ 3 ] = 0 ;
$this -> rights [ 2 ][ 4 ] = 'plancompte' ;
$this -> rights [ 2 ][ 5 ] = 'creer' ;
2009-06-17 01:47:49 +02:00
$this -> rights [ 3 ][ 0 ] = 1403 ;
2008-10-01 21:10:17 +02:00
$this -> rights [ 3 ][ 1 ] = 'Cloturer plan de compte' ;
$this -> rights [ 3 ][ 2 ] = 'w' ;
$this -> rights [ 3 ][ 3 ] = 0 ;
$this -> rights [ 3 ][ 4 ] = 'plancompte' ;
$this -> rights [ 3 ][ 5 ] = 'cloturer' ;
2009-06-17 01:47:49 +02:00
$this -> rights [ 4 ][ 0 ] = 1411 ;
2008-10-01 21:10:17 +02:00
$this -> rights [ 4 ][ 1 ] = 'Lire les mouvements comptables' ;
$this -> rights [ 4 ][ 2 ] = 'r' ;
$this -> rights [ 4 ][ 3 ] = 1 ;
$this -> rights [ 4 ][ 4 ] = 'mouvements' ;
$this -> rights [ 4 ][ 5 ] = 'lire' ;
2009-06-17 01:47:49 +02:00
$this -> rights [ 5 ][ 0 ] = 1412 ;
2008-10-01 21:10:17 +02:00
$this -> rights [ 5 ][ 1 ] = 'Creer/modifier/annuler les mouvements comptables' ;
$this -> rights [ 5 ][ 2 ] = 'w' ;
$this -> rights [ 5 ][ 3 ] = 0 ;
$this -> rights [ 5 ][ 4 ] = 'mouvements' ;
$this -> rights [ 5 ][ 5 ] = 'creer' ;
2009-06-17 01:47:49 +02:00
$this -> rights [ 6 ][ 0 ] = 1415 ;
2008-10-01 21:10:17 +02:00
$this -> rights [ 6 ][ 1 ] = 'Lire CA, bilans, resultats, journaux, grands livres' ;
$this -> rights [ 6 ][ 2 ] = 'r' ;
$this -> rights [ 6 ][ 3 ] = 0 ;
$this -> rights [ 6 ][ 4 ] = 'comptarapport' ;
$this -> rights [ 6 ][ 5 ] = 'lire' ;
}
/**
* \brief Fonction appelee lors de l ' activation du module . Insere en base les constantes , boites , permissions du module .
* Definit egalement les repertoires de donnees e creer pour ce module .
*/
2009-06-16 23:11:25 +02:00
function init ( $options = '' )
2008-10-01 21:10:17 +02:00
{
2009-06-16 23:11:25 +02:00
// Prevent pb of modules not correctly disabled
//$this->remove($options);
2008-10-01 21:10:17 +02:00
2009-06-16 23:11:25 +02:00
$sql = array ();
2008-10-01 21:10:17 +02:00
2009-06-16 23:11:25 +02:00
return $this -> _init ( $sql , $options );
2008-10-01 21:10:17 +02:00
}
/**
* \brief Fonction appelee lors de la desactivation d ' un module .
* Supprime de la base les constantes , boites et permissions du module .
*/
2009-06-16 23:11:25 +02:00
function remove ( $options = '' )
2008-10-01 21:10:17 +02:00
{
2009-06-16 23:11:25 +02:00
global $conf ;
$sql = array ( " DELETE FROM " . MAIN_DB_PREFIX . " const where name='MAIN_COMPANY_CODE_ALWAYS_REQUIRED' and entity IN ('0',' " . $conf -> entity . " ') " );
2008-10-01 21:10:17 +02:00
2009-06-16 23:11:25 +02:00
return $this -> _remove ( $sql , $options );
2008-10-01 21:10:17 +02:00
}
2005-08-13 22:17:45 +02:00
}
?>