From 92f8579f0a661b033f8bc5d8cc4681570d9a3cb3 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Fri, 17 Feb 2006 17:16:31 +0000 Subject: [PATCH] =?UTF-8?q?D=E9but=20ajout=20mod=E9les=20commande=20et=20f?= =?UTF-8?q?acture=20fournisseur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/admin/fournisseur.php | 254 ++++++++++++++++++ .../includes/modules/modFournisseur.class.php | 13 +- 2 files changed, 265 insertions(+), 2 deletions(-) create mode 100644 htdocs/admin/fournisseur.php diff --git a/htdocs/admin/fournisseur.php b/htdocs/admin/fournisseur.php new file mode 100644 index 00000000000..57056893e1c --- /dev/null +++ b/htdocs/admin/fournisseur.php @@ -0,0 +1,254 @@ + + * Copyright (C) 2004 Laurent Destailleur + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2005-2006 Regis Houssin + * + * 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$ + */ + +/** + \file htdocs/admin/fournisseur.php + \ingroup fournisseur + \brief Page d'administration-configuration du module Fournisseur + \version $Revision$ +*/ + +require("./pre.inc.php"); + +$langs->load("admin"); +$langs->load("orders"); + +llxHeader(); + +if (!$user->admin) + accessforbidden(); + + +// positionne la variable pour le test d'affichage de l'icone + +$commande_fournisseur_addon_var = COMMANDE_SUPPLIER_ADDON; +$commande_fournisseur_addon_var_pdf = COMMANDE_SUPPLIER_ADDON_PDF; + + +/* + * Actions + */ + +if ($_GET["action"] == 'setmod') +{ + $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'COMMANDE_SUPPLIER_ADDON' ;"; + $db->query($sql); + $sql = ''; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES + ('COMMANDE_SUPPLIER_ADDON','".$_GET["value"]."',0) ; "; + + if ($db->query($sql)) + { + // la constante qui a été lue en avant du nouveau set + // on passe donc par une variable pour avoir un affichage cohérent + $commande_fournisseur_addon_var = $_GET["value"]; + } +} +if ($_GET["action"] == 'set') +{ + $sql = "INSERT INTO ".MAIN_DB_PREFIX."commande_fournisseur_model_pdf (nom) VALUES ('".$_GET["value"]."')"; + + if ($db->query($sql)) + { + + } +} +$propale_fournisseur_addon_var_pdf = $conf->global->COMMANDE_SUPPLIER_ADDON_PDF; +if ($_GET["action"] == 'setpdf') +{ + + if (dolibarr_set_const($db, "COMMANDE_SUPPLIER_ADDON_PDF",$_GET["value"])) + $commande_fournisseur_addon_var_pdf = $_GET["value"]; + + // On active le modele + $sql_del = "delete from ".MAIN_DB_PREFIX."commande_fournisseur_model_pdf where nom = '".$_GET["value"]."';"; + $db->query($sql_del); + + $sql = "INSERT INTO ".MAIN_DB_PREFIX."commande_fournisseur_model_pdf (nom) VALUES ('".$_GET["value"]."')"; + if ($db->query($sql)) + { + + } +} +if ($_GET["action"] == 'del') +{ + $sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseur_model_pdf WHERE nom='".$_GET["value"]."'"; + + if ($db->query($sql)) + { + + } +} +$propale_fournisseur_addon_var_pdf = $conf->global->COMMANDE_SUPPLIER_ADDON_PDF; + +$dir = "../fourn/commande/modules/"; + +print_titre($langs->trans("OrdersSetup")); + +print "
"; + +print_titre($langs->trans("OrdersNumberingModules")); + +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +clearstatcache(); + +$dir = "../fourn/commande/modules/"; +$handle = opendir($dir); +if ($handle) +{ + $var=true; + + while (($file = readdir($handle))!==false) + { + if (substr($file, 0, 13) == 'mod_commande_fournisseur_' && substr($file, strlen($file)-3, 3) == 'php') + { + $file = substr($file, 0, strlen($file)-4); + + require_once(DOL_DOCUMENT_ROOT ."/fourn/commande/modules/".$file.".php"); + + $modCommande = new $file; + + $var=!$var; + print ''; + + print ''; + + if ($commande_fournisseur_addon_var == "$file") + { + print ''; + } + else + { + print ''; + } + + print ''; + } + } + closedir($handle); +} + +print '
'.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Example").''.$langs->trans("Activated").'
'.$modCommande->nom."\n"; + print $modCommande->info(); + print ''; + print $modCommande->getExample(); + print ''; + print img_tick(); + print ''.$langs->trans("Activate").'
'; + +/* + * PDF + */ +print '
'; +print_titre("Modèles de commande fournisseur pdf"); + +print "\n"; +print "\n"; +print " \n"; +print " \n"; +print ' \n"; +print ' \n"; +print "\n"; + +clearstatcache(); + +$def = array(); +$sql = "SELECT nom FROM ".MAIN_DB_PREFIX."commande_fournisseur_model_pdf"; +$resql=$db->query($sql); +if ($resql) +{ + $i = 0; + $num_rows=$db->num_rows($resql); + while ($i < $num_rows) + { + $array = $db->fetch_array($resql); + array_push($def, $array[0]); + $i++; + } +} +else +{ + dolibarr_print_error($db); +} +$dir = "../fourn/commande/modules/pdf/"; +$handle=opendir($dir); +$var=True; +while (($file = readdir($handle))!==false) +{ + if (eregi('\.modules\.php$',$file) && substr($file,0,4) == 'pdf_') + { + $var = !$var; + $name = substr($file, 4, strlen($file) -16); + $classname = substr($file, 0, strlen($file) -12); + + $var=!$var; + print "\n \n \n \n \n \n '; + } +} +closedir($handle); + +print '
".$langs->trans("Name")."".$langs->trans("Description")."'.$langs->trans("Activated")."'.$langs->trans("Default")."
"; + print "$name"; + print "\n"; + require_once($dir.$file); + $obj = new $classname($db); + + print $obj->description; + + print "\n"; + + if (in_array($name, $def)) + { + print img_tick(); + print ""; + print ''.$langs->trans("Disable").''; + } + else + { + print " "; + print ""; + print ''.$langs->trans("Activate").''; + } + + print ""; + + if ($commande_fournisseur_addon_var_pdf == "$name") + { + print img_tick(); + } + else + { + print ''.$langs->trans("Activate").''; + } + print '
'; + +llxFooter('$Date$ - $Revision$'); +?> diff --git a/htdocs/includes/modules/modFournisseur.class.php b/htdocs/includes/modules/modFournisseur.class.php index 9983682c745..9e1b2607791 100644 --- a/htdocs/includes/modules/modFournisseur.class.php +++ b/htdocs/includes/modules/modFournisseur.class.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2005 Laurent Destailleur + * Copyright (C) 2005-2006 Regis Houssin * * 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 @@ -66,11 +67,19 @@ class modFournisseur extends DolibarrModules $this->const[0][0] = "COMMANDE_SUPPLIER_ADDON_PDF"; $this->const[0][1] = "chaine"; $this->const[0][2] = "muscadet"; - + + $this->const[1][0] = "COMMANDE_SUPPLIER_ADDON"; + $this->const[1][1] = "chaine"; + $this->const[1][2] = "diamant"; + // Dépendances $this->depends = array("modSociete"); $this->requiredby = array(); - $this->langfiles = array("bills","companies","suppliers"); + $this->langfiles = array("bills","companies","suppliers"); + + + // Config pages + $this->config_page_url = "fournisseur.php"; // Constantes $this->const = array();