Ajout option MAIN_MULTILANGS pour avoir une interface qui gère plusieurs langues (rend obsolete le param PRODUIT_MULTILANGS)

This commit is contained in:
Laurent Destailleur 2006-03-21 23:47:01 +00:00
parent e11d993a80
commit 16ff828b60
32 changed files with 374 additions and 283 deletions

View File

@ -49,31 +49,33 @@ $searchformtitle=array($langs->trans("Companies"),$langs->trans("Contacts"),$lan
if (isset($_POST["action"]) && $_POST["action"] == 'update') if (isset($_POST["action"]) && $_POST["action"] == 'update')
{ {
dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["main_lang_default"]); dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["main_lang_default"]);
dolibarr_set_const($db, "SIZE_LISTE_LIMIT", $_POST["size_liste_limit"]); dolibarr_set_const($db, "MAIN_MULTILANGS", $_POST["main_multilangs"]);
dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", $_POST["disable_javascript"]); dolibarr_set_const($db, "MAIN_SIZE_LISTE_LIMIT", $_POST["main_size_liste_limit"]);
dolibarr_set_const($db, "MAIN_POPUP_CALENDAR", $_POST["popup_calendar"]); dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", $_POST["disable_javascript"]);
dolibarr_set_const($db, "MAIN_POPUP_CALENDAR", $_POST["popup_calendar"]);
dolibarr_set_const($db, "MAIN_SHOW_BUGTRACK_LINK", $_POST["bugtrack"]); dolibarr_set_const($db, "MAIN_SHOW_BUGTRACK_LINK", $_POST["bugtrack"]);
dolibarr_set_const($db, "MAIN_SHOW_WORKBOARD", $_POST["workboard"]); dolibarr_set_const($db, "MAIN_SHOW_WORKBOARD", $_POST["workboard"]);
dolibarr_set_const($db, "MAIN_MENU_BARRETOP", $_POST["main_menu_barretop"]); dolibarr_set_const($db, "MAIN_MENU_BARRETOP", $_POST["main_menu_barretop"]);
dolibarr_set_const($db, "MAIN_MENU_BARRELEFT", $_POST["main_menu_barreleft"]); dolibarr_set_const($db, "MAIN_MENU_BARRELEFT", $_POST["main_menu_barreleft"]);
dolibarr_set_const($db, "MAIN_MENUFRONT_BARRETOP", $_POST["main_menufront_barretop"]); dolibarr_set_const($db, "MAIN_MENUFRONT_BARRETOP", $_POST["main_menufront_barretop"]);
dolibarr_set_const($db, "MAIN_MENUFRONT_BARRELEFT", $_POST["main_menufront_barreleft"]); dolibarr_set_const($db, "MAIN_MENUFRONT_BARRELEFT",$_POST["main_menufront_barreleft"]);
dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"]); dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"]);
dolibarr_set_const($db, "MAIN_SEARCHFORM_CONTACT",$_POST["main_searchform_contact"]); dolibarr_set_const($db, "MAIN_SEARCHFORM_CONTACT", $_POST["main_searchform_contact"]);
dolibarr_set_const($db, "MAIN_SEARCHFORM_SOCIETE",$_POST["main_searchform_societe"]); dolibarr_set_const($db, "MAIN_SEARCHFORM_SOCIETE", $_POST["main_searchform_societe"]);
dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE",$_POST["main_searchform_produitservice"]); dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE",$_POST["main_searchform_produitservice"]);
dolibarr_set_const($db, "MAIN_MOTD", trim($_POST["main_motd"])); dolibarr_set_const($db, "MAIN_MOTD", $_POST["main_motd"]);
$_SESSION["mainmenu"]=""; // Le gestionnaire de menu a pu changer $_SESSION["mainmenu"]=""; // Le gestionnaire de menu a pu changer
Header("Location: ihm.php?mainmenu=home&leftmenu=setup"); Header("Location: ihm.php?mainmenu=home&leftmenu=setup");
exit;
} }
@ -103,7 +105,12 @@ if (isset($_GET["action"]) && $_GET["action"] == 'edit')
// Taille max des listes // Taille max des listes
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("DefaultMaxSizeList").'</td><td><input class="flat" name="size_liste_limit" size="4" value="' . SIZE_LISTE_LIMIT . '"></td></tr>'; print '<tr '.$bc[$var].'><td>'.$langs->trans("DefaultMaxSizeList").'</td><td><input class="flat" name="main_size_liste_limit" size="4" value="' . $conf->global->MAIN_SIZE_LISTE_LIMIT . '"></td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("EnableMultilangInterface").'</td><td>';
$html->selectyesnonum('main_multilangs',$conf->global->MAIN_MULTILANGS);
print '</td></tr>';
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'"><td width="35%">'.$langs->trans("ShowBugTrackLink").'</td><td>'; print '<tr '.$bc[$var].'"><td width="35%">'.$langs->trans("ShowBugTrackLink").'</td><td>';
@ -212,7 +219,10 @@ else
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("DefaultLanguage").'</td><td>' . ($conf->global->MAIN_LANG_DEFAULT=='auto'?$langs->trans("AutoDetectLang"):$conf->global->MAIN_LANG_DEFAULT) . '</td></tr>'; print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("DefaultLanguage").'</td><td>' . ($conf->global->MAIN_LANG_DEFAULT=='auto'?$langs->trans("AutoDetectLang"):$conf->global->MAIN_LANG_DEFAULT) . '</td></tr>';
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("DefaultMaxSizeList").'</td><td>' . $conf->global->SIZE_LISTE_LIMIT . '</td></tr>'; print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("EnableMultilangInterface").'</td><td>' . yn($conf->global->MAIN_MULTILANGS) . '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("DefaultMaxSizeList").'</td><td>' . $conf->global->MAIN_SIZE_LISTE_LIMIT . '</td></tr>';
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'"><td width="35%">'.$langs->trans("ShowBugTrackLink").'</td><td>'; print '<tr '.$bc[$var].'"><td width="35%">'.$langs->trans("ShowBugTrackLink").'</td><td>';

View File

@ -585,9 +585,11 @@ if ($_POST['action'] == 'send' || $_POST['action'] == 'relance')
/* /*
* Générer ou regénérer le document PDF * Générer ou regénérer le document PDF
*/ */
if ($_GET['action'] == 'builddoc') if ($_REQUEST['action'] == 'builddoc') // En get ou en post
{ {
facture_pdf_create($db, $_GET['facid']); $outputlangs = new Translate(DOL_DOCUMENT_ROOT ."/langs");
$outputlangs->setDefaultLang($_REQUEST['lang_id']);
facture_pdf_create($db, $_REQUEST['facid'], '', '', $outputlangs);
} }
/********************************************************************* /*********************************************************************
@ -1754,9 +1756,8 @@ else
$filename=sanitize_string($fac->ref); $filename=sanitize_string($fac->ref);
$filedir=$conf->facture->dir_output . '/' . sanitize_string($fac->ref); $filedir=$conf->facture->dir_output . '/' . sanitize_string($fac->ref);
$urlsource=$_SERVER['PHP_SELF'].'?facid='.$fac->id; $urlsource=$_SERVER['PHP_SELF'].'?facid='.$fac->id;
// $genallowed=($fac->statut == 1 && ($fac->paye == 0 || $user->admin) && $user->rights->facture->creer); $genallowed=($fac->statut == 1 && $user->rights->facture->creer);
// $delallowed=$user->rights->facture->supprimer; // $delallowed=$user->rights->facture->supprimer;
$genallowed=0;
$delallowed=0; $delallowed=0;
$var=true; $var=true;

View File

@ -624,7 +624,7 @@ class Form
$sqld.= " ORDER BY p.nbvente DESC"; $sqld.= " ORDER BY p.nbvente DESC";
// inutile de faire la requete si l'option n'est pas active // inutile de faire la requete si l'option n'est pas active
if ($conf->global->PRODUIT_MULTILANGS == 1) if ($conf->global->MAIN_MULTILANGS)
{ {
$resultd = $this->db->query($sqld); $resultd = $this->db->query($sqld);
if ( $resultd ) $objtp = $this->db->fetch_object($resultd); if ( $resultd ) $objtp = $this->db->fetch_object($resultd);
@ -642,7 +642,7 @@ class Form
$objp = $this->db->fetch_object($result); $objp = $this->db->fetch_object($result);
// Multilangs : modification des donnée si une traduction existe // Multilangs : modification des donnée si une traduction existe
if ($conf->global->PRODUIT_MULTILANGS == 1) if ($conf->global->MAIN_MULTILANGS)
if ( $objp->rowid == $objtp->fk_product ) // si on a une traduction if ( $objp->rowid == $objtp->fk_product ) // si on a une traduction
{ {
if ( $objtp->label != '') $objp->label = $objtp->label; if ( $objtp->label != '') $objp->label = $objtp->label;
@ -2086,7 +2086,7 @@ class Form
$modellist=$model->liste_modeles($this->db); $modellist=$model->liste_modeles($this->db);
} }
} }
else if ($modulepart == 'commande') else if ($modulepart == 'commande')
{ {
if (is_array($genallowed)) $modellist=$genallowed; if (is_array($genallowed)) $modellist=$genallowed;
else else
@ -2150,10 +2150,17 @@ class Form
print_titre($langs->trans("Documents")); print_titre($langs->trans("Documents"));
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
print '<tr '.$bc[$var].'><td>'.$langs->trans('Model').'</td><td align="center">'; print '<tr '.$bc[$var].'>';
print '<td>'.$langs->trans('Model').'</td>';
print '<td align="center">';
$this->select_array('model',$modellist,$modelselected,0,0,1); $this->select_array('model',$modellist,$modelselected,0,0,1);
$texte=$langs->trans('Generate'); $texte=$langs->trans('Generate');
print '</td><td align="center" colspan="2"><input class="button" type="submit" value="'.$texte.'">'; print '</td>';
print '<td align="center">';
$this->select_lang($langs->getDefaultLang());
print '</td>';
print '<td align="center" colspan="'.($delallowed?'2':'1').'">';
print '<input class="button" type="submit" value="'.$texte.'">';
print '</td></tr>'; print '</td></tr>';
} }
@ -2198,12 +2205,18 @@ class Form
// Affiche colonne type MIME // Affiche colonne type MIME
print '<td nowrap>'.$mimetype.'</td>'; print '<td nowrap>'.$mimetype.'</td>';
// Affiche nom fichier avec lien download // Affiche nom fichier avec lien download
print '<td><a href="'.DOL_URL_ROOT . '/document.php?modulepart='.$modulepart.'&file='.urlencode($relativepath).'">'.$file.'</a></td>'; print '<td><a href="'.DOL_URL_ROOT . '/document.php?modulepart='.$modulepart.'&file='.urlencode($relativepath).'">'.$file.'</a>';
print '</td>';
// Affiche taille fichier // Affiche taille fichier
print '<td align="right">'.filesize($filedir."/".$file). ' bytes</td>'; print '<td align="right">'.filesize($filedir."/".$file). ' bytes</td>';
// Affiche date fichier // Affiche date fichier
print '<td align="right">'.strftime("%d %b %Y %H:%M:%S",filemtime($filedir."/".$file)).'</td>'; print '<td align="right">'.strftime("%d %b %Y %H:%M:%S",filemtime($filedir."/".$file)).'</td>';
if ($delallowed)
{
print '<td><a href="'.$urlsource.'&action=remove_file&modulepart='.$modulepart.'&file='.urlencode($relativepath).'">'.img_delete().'</a></td>';
}
print '</tr>'; print '</tr>';
$i++; $i++;

View File

@ -80,7 +80,7 @@ class box_produits extends ModeleBoxes {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
// Multilangs // Multilangs
if ($conf->global->PRODUIT_MULTILANGS == 1) // si l'option est active if ($conf->global->MAIN_MULTILANGS) // si l'option est active
{ {
$sqld = "SELECT label FROM ".MAIN_DB_PREFIX."product_det"; $sqld = "SELECT label FROM ".MAIN_DB_PREFIX."product_det";
$sqld.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'"; $sqld.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'";

View File

@ -91,7 +91,7 @@ class box_services_vendus extends ModeleBoxes {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
// Multilangs // Multilangs
if ($conf->global->PRODUIT_MULTILANGS == 1) // si l'option est active if ($conf->global->MAIN_MULTILANGS) // si l'option est active
{ {
$sqld = "SELECT label FROM ".MAIN_DB_PREFIX."product_det"; $sqld = "SELECT label FROM ".MAIN_DB_PREFIX."product_det";
$sqld.= " WHERE fk_product=".$objp->pid." AND lang='". $langs->getDefaultLang() ."'"; $sqld.= " WHERE fk_product=".$objp->pid." AND lang='". $langs->getDefaultLang() ."'";

View File

@ -133,54 +133,66 @@ class ModeleNumRefCommandes
} }
} }
function commande_pdf_create($db, $comid, $modele='')
/*
\brief Crée un bon de commande sur disque en fonction du modèle de COMMANDE_ADDON_PDF
\param db objet base de donnée
\param id id de la propale à créer
\param modele force le modele à utiliser ('' par defaut)
\param outputlangs objet lang a utiliser pour traduction
*/
function commande_pdf_create($db, $id, $modele='', $outputlangs='')
{ {
global $langs; global $conf,$langs;
$langs->load("orders"); $langs->load("orders");
$dir = DOL_DOCUMENT_ROOT."/includes/modules/commande/"; $dir = DOL_DOCUMENT_ROOT."/includes/modules/commande/";
// Positionne modele sur le nom du modele de facture à utiliser // Positionne modele sur le nom du modele de facture à utiliser
if (! strlen($modele)) if (! strlen($modele))
{ {
if (defined("COMMANDE_ADDON_PDF") && COMMANDE_ADDON_PDF) if ($conf->global->COMMANDE_ADDON_PDF)
{ {
$modele = COMMANDE_ADDON_PDF; $modele = $conf->global->COMMANDE_ADDON_PDF;
} }
else else
{ {
print $langs->trans("Error")." ".$langs->trans("Error_PROPALE_ADDON_PDF_NotDefined"); print $langs->trans("Error")." ".$langs->trans("Error_COMMANDE_ADDON_PDF_NotDefined");
return 0; return 0;
} }
} }
// Charge le modele
$file = "pdf_".$modele.".modules.php";
if (file_exists($dir.$file))
{
$classname = "pdf_".$modele;
require_once($dir.$file);
$obj = new $classname($db); // Charge le modele
$file = "pdf_".$modele.".modules.php";
if (file_exists($dir.$file))
{
$classname = "pdf_".$modele;
require_once($dir.$file);
if ( $obj->write_pdf_file($comid) > 0) $obj = new $classname($db);
{
// on supprime l'image correspondant au preview if ( $obj->write_pdf_file($id, $outputlangs) > 0)
commande_delete_preview($db, $comid); {
return 1; // on supprime l'image correspondant au preview
} commande_delete_preview($db, $id);
else return 1;
{ }
dolibarr_syslog("Erreur dans commande_pdf_create"); else
dolibarr_print_error($db,$obj->pdferror()); {
return 0; dolibarr_syslog("Erreur dans commande_pdf_create");
} dolibarr_print_error($db,$obj->pdferror());
} return 0;
else }
{ }
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file); else
return 0; {
} print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file);
return 0;
}
} }
function commande_delete_preview($db, $propalid) function commande_delete_preview($db, $propalid)
{ {
global $langs,$conf; global $langs,$conf;

View File

@ -134,38 +134,55 @@ class ModeleNumRefDons
/** /**
\brief Crée un don sur disque en fonction du modèle de DON_ADDON_PDF \brief Crée un don sur disque en fonction du modèle de DON_ADDON_PDF
\param db objet base de donnée \param db objet base de donnée
\param donid id de la facture à créer \param id id du don à créer
\param message message \param message message
\return int 0 si KO, 1 si OK \param modele force le modele à utiliser ('' par defaut)
\param outputlangs objet lang a utiliser pour traduction
\return int 0 si KO, 1 si OK
*/ */
function don_create($db, $donid, $message="") function don_create($db, $id, $message='', $modele='', $outputlangs='')
{ {
global $langs; global $conf, $langs;
$langs->load("bills"); $langs->load("bills");
define("DON_ADDON",'html_cerfafr'); // todo forcé ici
$conf->global->DON_ADDON='html_cerfafr';
$dir = DOL_DOCUMENT_ROOT . "/includes/modules/dons/"; $dir = DOL_DOCUMENT_ROOT . "/includes/modules/dons/";
if (defined("DON_ADDON") && DON_ADDON) // Positionne modele sur le nom du modele à utiliser
{ if (! strlen($modele))
$file = DON_ADDON.".modules.php"; {
if ($conf->global->DON_ADDON_PDF)
{
$modele = $conf->global->DON_ADDON_PDF;
}
else
{
print $langs->trans("Error")." ".$langs->trans("Error_DON_ADDON_PDF_NotDefined");
return 0;
}
}
$classname = DON_ADDON; // Charge le modele
$file = $modele.".modules.php";
if (file_exists($dir.$file))
{
$classname = $modele;
require_once($dir.$file); require_once($dir.$file);
$obj = new $classname($db); $obj = new $classname($db);
$obj->message = $message; $obj->message = $message;
if ( $obj->write_file($donid) > 0) if ( $obj->write_file($id,$outputlangs) > 0)
{ {
// Succès de la création de la facture. On génère le fichier meta // Succès de la création de la facture. On génère le fichier meta
don_meta_create($db, $donid); don_meta_create($db, $id);
// et on supprime l'image correspondant au preview // et on supprime l'image correspondant au preview
don_delete_preview($db, $donid); don_delete_preview($db, $id);
return 1; return 1;
} }
@ -176,11 +193,11 @@ function don_create($db, $donid, $message="")
return 0; return 0;
} }
} }
else else
{ {
print $langs->trans("Error")." ".$langs->trans("Error_DON_ADDON_PDF_NotDefined"); print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file);
return 0; return 0;
} }
} }
/** /**

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005 Regis Houssin <regis.houssin@cap-networks.com> * Copyright (C) 2005 Regis Houssin <regis.houssin@cap-networks.com>
* *
@ -43,43 +43,45 @@ require_once(DOL_DOCUMENT_ROOT."/compta/bank/account.class.php"); // Requis ca
class ModelePDFFactures extends FPDF class ModelePDFFactures extends FPDF
{ {
var $error=''; var $error='';
/** /**
* \brief Renvoi le dernier message d'erreur de création de facture * \brief Renvoi le dernier message d'erreur de création de facture
*/ */
function pdferror() function pdferror()
{ {
return $this->error; return $this->error;
} }
/** /**
* \brief Renvoi la liste des modèles actifs * \brief Renvoi la liste des modèles actifs
* \param db Handler de base * \param db Handler de base
*/ */
function liste_modeles($db) function liste_modeles($db)
{ {
$liste=array(); $liste=array();
$sql =""; $sql ="SELECT value, value from ".MAIN_DB_PREFIX."const";
$sql.=" where name='FACTURE_ADDON_PDF'";
$resql = $db->query($sql); $resql = $db->query($sql);
if ($resql) if ($resql)
{ {
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
$i = 0; $i = 0;
while ($i < $num) while ($i < $num)
{ {
$row = $db->fetch_row($resql); $row = $db->fetch_row($resql);
$liste[$row[0]]=$row[1]; $liste[$row[0]]=$row[1];
$i++; $i++;
} }
} }
else else
{ {
return -1; dolibarr_print_error($db);
} return -1;
return $liste; }
} return $liste;
}
} }
@ -133,52 +135,68 @@ class ModeleNumRefFactures
/** /**
\brief Crée un facture sur disque en fonction du modèle de FACTURE_ADDON_PDF \brief Crée un facture sur disque en fonction du modèle de FACTURE_ADDON_PDF
\param db objet base de donnée \param db objet base de donnée
\param facid id de la facture à créer \param id id de la facture à créer
\param message message \param message message
\return int 0 si KO, 1 si OK \param modele force le modele à utiliser ('' par defaut)
\param outputlangs objet lang a utiliser pour traduction
\return int 0 si KO, 1 si OK
*/ */
function facture_pdf_create($db, $facid, $message="") function facture_pdf_create($db, $id, $message='', $modele='', $outputlangs='')
{ {
global $langs; global $conf,$langs;
$langs->load("bills"); $langs->load("bills");
$dir = DOL_DOCUMENT_ROOT . "/includes/modules/facture/"; $dir = DOL_DOCUMENT_ROOT . "/includes/modules/facture/";
if (defined("FACTURE_ADDON_PDF") && FACTURE_ADDON_PDF) // Positionne modele sur le nom du modele à utiliser
{ if (! strlen($modele))
$file = "pdf_".FACTURE_ADDON_PDF.".modules.php";
$classname = "pdf_".FACTURE_ADDON_PDF;
require_once($dir.$file);
$obj = new $classname($db);
$obj->message = $message;
if ( $obj->write_pdf_file($facid) > 0)
{ {
// Succès de la création de la facture. On génère le fichier meta if ($conf->global->FACTURE_ADDON_PDF)
facture_meta_create($db, $facid); {
$modele = $conf->global->FACTURE_ADDON_PDF;
// et on supprime l'image correspondant au preview }
facture_delete_preview($db, $facid); else
{
return 1; //TODO A MODIFIER print $langs->trans("Error")." ".$langs->trans("Error_FACTURE_ADDON_PDF_NotDefined");
} return 0;
else }
{
dolibarr_syslog("Erreur dans facture_pdf_create");
dolibarr_print_error($db,$obj->pdferror());
return 0;
} }
} // Charge le modele
else $file = "pdf_".$modele.".modules.php";
{ if (file_exists($dir.$file))
print $langs->trans("Error")." ".$langs->trans("Error_FACTURE_ADDON_PDF_NotDefined"); {
return 0; $classname = "pdf_".$modele;
} require_once($dir.$file);
$obj = new $classname($db);
$obj->message = $message;
if ($obj->write_pdf_file($id, $outputlangs) > 0)
{
// Succès de la création de la facture. On génère le fichier meta
facture_meta_create($db, $id);
// et on supprime l'image correspondant au preview
facture_delete_preview($db, $id);
return 1;
}
else
{
dolibarr_syslog("Erreur dans facture_pdf_create");
dolibarr_print_error($db,$obj->pdferror());
return 0;
}
}
else
{
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file);
return 0;
}
} }
/** /**

View File

@ -139,42 +139,57 @@ class ModeleNumRefFicheinter
/** /**
\brief Crée une fiche intervention sur disque en fonction du modèle de FICHEINTER_ADDON_PDF \brief Crée une fiche intervention sur disque en fonction du modèle de FICHEINTER_ADDON_PDF
\param db objet base de donnée \param db objet base de donnée
\param facid id de la facture à créer \param id id de la fiche à créer
\return int 0 si KO, 1 si OK \param modele force le modele à utiliser ('' par defaut)
\param outputlangs objet lang a utiliser pour traduction
\return int 0 si KO, 1 si OK
*/ */
function fichinter_pdf_create($db, $facid) function fichinter_pdf_create($db, $facid, $modele='', $outputlangs)
{ {
global $langs; global $conf,$langs;
$langs->load("ficheinter"); $langs->load("ficheinter");
$dir = DOL_DOCUMENT_ROOT."/includes/modules/fichinter/"; $dir = DOL_DOCUMENT_ROOT."/includes/modules/fichinter/";
if (defined("FICHEINTER_ADDON_PDF") && FICHEINTER_ADDON_PDF) // Positionne modele sur le nom du modele de facture à utiliser
{ if (! strlen($modele))
$file = "pdf_".FICHEINTER_ADDON_PDF.".modules.php";
$classname = "pdf_".FICHEINTER_ADDON_PDF;
require_once($dir.$file);
$obj = new $classname($db);
if ( $obj->write_pdf_file($facid) > 0)
{ {
return 1; if ($conf->global->FICHEINTER_ADDON_PDF)
{
$modele = $conf->global->FICHEINTER_ADDON_PDF;
}
else
{
print $langs->trans("Error")." ".$langs->trans("Error_FICHEINTER_ADDON_PDF_NotDefined");
return 0;
}
} }
else
// Charge le modele
$file = "pdf_".$modele.".modules.php";
if (file_exists($dir.$file))
{ {
dolibarr_print_error($db,$obj->pdferror()); $classname = "pdf_".$modele;
return 0; require_once($dir.$file);
$obj = new $classname($db);
if ( $obj->write_pdf_file($id,$outputlangs) > 0)
{
return 1;
}
else
{
dolibarr_print_error($db,$obj->pdferror());
return 0;
}
}
else
{
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file);
return 0;
} }
}
else
{
print $langs->trans("Error")." ".$langs->trans("Error_FICHEINTER_ADDON_PDF_NotDefined");
return 0;
}
} }
?> ?>

View File

@ -132,59 +132,62 @@ class ModeleNumRefPropales
/** /**
\brief Crée une propale sur disque en fonction du modèle de PROPALE_ADDON_PDF \brief Crée une propale sur disque en fonction du modèle de PROPALE_ADDON_PDF
\param db objet base de donnée \param db objet base de donnée
\param facid id de la facture à créer \param id id de la propale à créer
\param modele force le modele à utiliser ('' par defaut) \param modele force le modele à utiliser ('' par defaut)
\param outputlangs objet lang a utiliser pour traduction
\return int 0 si KO, 1 si OK
*/ */
function propale_pdf_create($db, $facid, $modele='') function propale_pdf_create($db, $id, $modele='', $outputlangs='')
{ {
global $langs; global $langs;
$langs->load("propale"); $langs->load("propale");
$dir = DOL_DOCUMENT_ROOT."/includes/modules/propale/"; $dir = DOL_DOCUMENT_ROOT."/includes/modules/propale/";
// Positionne modele sur le nom du modele de facture à utiliser // Positionne modele sur le nom du modele de facture à utiliser
if (! strlen($modele)) if (! strlen($modele))
{
if (defined("PROPALE_ADDON_PDF") && PROPALE_ADDON_PDF)
{ {
$modele = PROPALE_ADDON_PDF; if ($conf->global->PROPALE_ADDON_PDF)
{
$modele = $conf->global->PROPALE_ADDON_PDF;
}
else
{
print $langs->trans("Error")." ".$langs->trans("Error_PROPALE_ADDON_PDF_NotDefined");
return 0;
}
} }
else
{
print $langs->trans("Error")." ".$langs->trans("Error_PROPALE_ADDON_PDF_NotDefined");
return 0;
}
}
// Charge le modele // Charge le modele
$file = "pdf_propale_".$modele.".modules.php"; $file = "pdf_propale_".$modele.".modules.php";
if (file_exists($dir.$file)) if (file_exists($dir.$file))
{
$classname = "pdf_propale_".$modele;
require_once($dir.$file);
$obj = new $classname($db);
if ( $obj->write_pdf_file($facid) > 0)
{ {
// on supprime l'image correspondant au preview $classname = "pdf_propale_".$modele;
propale_delete_preview($db, $facid); require_once($dir.$file);
return 1;
$obj = new $classname($db);
if ( $obj->write_pdf_file($id, $outputlangs) > 0)
{
// on supprime l'image correspondant au preview
propale_delete_preview($db, $id);
return 1;
}
else
{
dolibarr_syslog("Erreur dans propale_pdf_create");
dolibarr_print_error($db,$obj->pdferror());
return 0;
}
} }
else else
{ {
dolibarr_syslog("Erreur dans propale_pdf_create"); print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file);
dolibarr_print_error($db,$obj->pdferror()); return 0;
return 0;
} }
}
else
{
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file);
return 0;
}
} }
/** /**
\brief Supprime l'image de prévisualitation, pour le cas de régénération de propal \brief Supprime l'image de prévisualitation, pour le cas de régénération de propal
\param db objet base de donnée \param db objet base de donnée

View File

@ -301,6 +301,7 @@ DefaultMaxSizeList=Default max length for list
MessageOfDay=Message of day MessageOfDay=Message of day
PermanentLeftSearchForm=Permanent search form on left menu PermanentLeftSearchForm=Permanent search form on left menu
DefaultLanguage=Default language to use (language code) DefaultLanguage=Default language to use (language code)
EnableMultilangInterface=Enable multi-langual interface
SystemSuccessfulyUpdated=Your sustem has been updated successfully SystemSuccessfulyUpdated=Your sustem has been updated successfully
CompanyInfo=Company/foundation informations CompanyInfo=Company/foundation informations
CompanyIds=Company/foundation identities CompanyIds=Company/foundation identities

View File

@ -300,6 +300,7 @@ MaxSizeList=Longueur maximale des listes
DefaultMaxSizeList=Longueur maximale par défaut des listes DefaultMaxSizeList=Longueur maximale par défaut des listes
MessageOfDay=Message du jour MessageOfDay=Message du jour
DefaultLanguage=Langue par défaut à utiliser (code langue) DefaultLanguage=Langue par défaut à utiliser (code langue)
EnableMultilangInterface=Activer l'interface multi-langage
PermanentLeftSearchForm=Zone de recherche permanente du menu de gauche PermanentLeftSearchForm=Zone de recherche permanente du menu de gauche
SystemSuccessfulyUpdated=Votre système a été correctement mis à jour SystemSuccessfulyUpdated=Votre système a été correctement mis à jour
CompanyInfo=Informations sur la société/association CompanyInfo=Informations sur la société/association

View File

@ -161,9 +161,9 @@ if ($user->admin)
* Overwrite configs global par configs perso * Overwrite configs global par configs perso
* ------------------------------------------ * ------------------------------------------
*/ */
if (isset($user->conf->SIZE_LISTE_LIMIT) && $user->conf->SIZE_LISTE_LIMIT > 0) if (isset($user->conf->MAIN_SIZE_LISTE_LIMIT) && $user->conf->MAIN_SIZE_LISTE_LIMIT > 0)
{ {
$conf->liste_limit = $user->conf->SIZE_LISTE_LIMIT; $conf->liste_limit = $user->conf->MAIN_SIZE_LISTE_LIMIT;
} }
if (isset($user->conf->PRODUIT_LIMIT_SIZE)) if (isset($user->conf->PRODUIT_LIMIT_SIZE))
{ {

View File

@ -384,8 +384,8 @@ else {
} }
// $conf->liste_limit = constante de taille maximale des listes // $conf->liste_limit = constante de taille maximale des listes
if (! $conf->global->SIZE_LISTE_LIMIT) $conf->global->SIZE_LISTE_LIMIT=20; if (! $conf->global->MAIN_SIZE_LISTE_LIMIT) $conf->global->MAIN_SIZE_LISTE_LIMIT=20;
$conf->liste_limit=$conf->global->SIZE_LISTE_LIMIT; $conf->liste_limit=$conf->global->MAIN_SIZE_LISTE_LIMIT;
// $conf->produit->limit_size = constante de taille maximale des select de produit // $conf->produit->limit_size = constante de taille maximale des select de produit
if (! isset($conf->global->PRODUIT_LIMIT_SIZE)) $conf->global->PRODUIT_LIMIT_SIZE=50; if (! isset($conf->global->PRODUIT_LIMIT_SIZE)) $conf->global->PRODUIT_LIMIT_SIZE=50;

View File

@ -225,7 +225,7 @@ class Product
if ( $this->db->query($sql) ) if ( $this->db->query($sql) )
{ {
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
if ( $this->setMultiLangs() < 0) if ( $this->setMultiLangs() < 0)
{ {
$this->error=$langs->trans("Error")." : ".$this->db->error()." - ".$sql; $this->error=$langs->trans("Error")." : ".$this->db->error()." - ".$sql;
@ -679,7 +679,7 @@ class Product
$this->db->free(); $this->db->free();
// multilangs // multilangs
if( $conf->global->PRODUIT_MULTILANGS == 1 ) $this->getMultiLangs(); if( $conf->global->MAIN_MULTILANGS) $this->getMultiLangs();
// multiprix // multiprix

View File

@ -102,7 +102,7 @@ if($product->type == 0)
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -129,7 +129,7 @@ if ($_GET["id"] || $_GET["ref"])
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -145,7 +145,7 @@ if ($product->id)
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -457,7 +457,7 @@ if ($_GET["id"] || $_GET["ref"])
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -212,7 +212,7 @@ if ($_GET["id"] || $_GET["ref"])
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -141,7 +141,7 @@ if ($result)
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
//Multilangs //Multilangs
if ($conf->global->PRODUIT_MULTILANGS == 1) if ($conf->global->MAIN_MULTILANGS)
{ {
$sql = "SELECT label FROM ".MAIN_DB_PREFIX."product_det"; $sql = "SELECT label FROM ".MAIN_DB_PREFIX."product_det";
$sql.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'"; $sql.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'";

View File

@ -225,7 +225,7 @@ if ($resql)
$objp = $db->fetch_object($resql); $objp = $db->fetch_object($resql);
// Multilangs // Multilangs
if ($conf->global->PRODUIT_MULTILANGS == 1) // si l'option est active if ($conf->global->MAIN_MULTILANGS) // si l'option est active
{ {
$sql = "SELECT label FROM ".MAIN_DB_PREFIX."product_det"; $sql = "SELECT label FROM ".MAIN_DB_PREFIX."product_det";
$sql.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'"; $sql.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'";

View File

@ -141,7 +141,7 @@ if ($_GET["id"] || $_GET["ref"])
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -85,7 +85,7 @@ if ($result)
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
// Multilangs // Multilangs
if ($conf->global->PRODUIT_MULTILANGS == 1) // si l'option est active if ($conf->global->MAIN_MULTILANGS) // si l'option est active
{ {
$sql = "SELECT label FROM ".MAIN_DB_PREFIX."product_det"; $sql = "SELECT label FROM ".MAIN_DB_PREFIX."product_det";
$sql.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'"; $sql.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'";

View File

@ -142,7 +142,7 @@ if($product->type == 0)
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -199,7 +199,7 @@ if ($id || $ref)
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -121,7 +121,7 @@ if ($_GET["id"] || $_GET["ref"])
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -169,7 +169,7 @@ if ($_GET["id"] || $_GET["ref"])
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -290,7 +290,7 @@ else
$objp = $db->fetch_object($resql); $objp = $db->fetch_object($resql);
// Multilangs // Multilangs
if ($conf->global->PRODUIT_MULTILANGS == 1) // si l'option est active if ($conf->global->MAIN_MULTILANGS) // si l'option est active
{ {
$sql = "SELECT label FROM ".MAIN_DB_PREFIX."product_det"; $sql = "SELECT label FROM ".MAIN_DB_PREFIX."product_det";
$sql.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'"; $sql.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'";

View File

@ -154,7 +154,7 @@ if ($_GET["id"] || $_GET["ref"])
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -179,7 +179,7 @@ if($product->type == 0)
} }
// Multilangs // Multilangs
if($conf->global->PRODUIT_MULTILANGS == 1) if($conf->global->MAIN_MULTILANGS)
{ {
$head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id; $head[$h][0] = DOL_URL_ROOT."/product/traduction.php?id=".$product->id;
$head[$h][1] = $langs->trans("Translation"); $head[$h][1] = $langs->trans("Translation");

View File

@ -69,8 +69,8 @@ if ($_POST["action"] == 'update')
$tabparam["MAIN_MENU_BARRETOP"]=$_POST["main_menu_barretop"]; $tabparam["MAIN_MENU_BARRETOP"]=$_POST["main_menu_barretop"];
$tabparam["MAIN_MENU_BARRELEFT"]=$_POST["main_menu_barreleft"]; $tabparam["MAIN_MENU_BARRELEFT"]=$_POST["main_menu_barreleft"];
if ($_POST["check_SIZE_LISTE_LIMIT"]=="on") $tabparam["SIZE_LISTE_LIMIT"]=$_POST["size_liste_limit"]; if ($_POST["check_SIZE_LISTE_LIMIT"]=="on") $tabparam["MAIN_SIZE_LISTE_LIMIT"]=$_POST["main_size_liste_limit"];
else $tabparam["SIZE_LISTE_LIMIT"]=''; else $tabparam["MAIN_SIZE_LISTE_LIMIT"]='';
if ($_POST["check_MAIN_THEME"]=="on") $tabparam["MAIN_THEME"]=$_POST["main_theme"]; if ($_POST["check_MAIN_THEME"]=="on") $tabparam["MAIN_THEME"]=$_POST["main_theme"];
else $tabparam["MAIN_THEME"]=''; else $tabparam["MAIN_THEME"]='';
@ -157,9 +157,9 @@ if ($_GET["action"] == 'edit')
// Taille max des listes // Taille max des listes
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("MaxSizeList").'</td>'; print '<tr '.$bc[$var].'><td>'.$langs->trans("MaxSizeList").'</td>';
print '<td>'.$conf->global->SIZE_LISTE_LIMIT.'</td>'; print '<td>'.$conf->global->MAIN_SIZE_LISTE_LIMIT.'</td>';
print '<td align="left" nowrap="nowrap" width="20%"><input name="check_SIZE_LISTE_LIMIT" type="checkbox" '.($fuser->conf->SIZE_LISTE_LIMIT?" checked":"").'> '.$langs->trans("UsePersonalValue").'</td>'; print '<td align="left" nowrap="nowrap" width="20%"><input name="check_SIZE_LISTE_LIMIT" type="checkbox" '.($fuser->conf->MAIN_SIZE_LISTE_LIMIT?" checked":"").'> '.$langs->trans("UsePersonalValue").'</td>';
print '<td><input class="flat" name="size_liste_limit" size="4" value="' . $fuser->conf->SIZE_LISTE_LIMIT . '"></td></tr>'; print '<td><input class="flat" name="main_size_liste_limit" size="4" value="' . $fuser->conf->SIZE_LISTE_LIMIT . '"></td></tr>';
print '</table><br>'; print '</table><br>';
@ -192,9 +192,9 @@ else
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("MaxSizeList").'</td>'; print '<tr '.$bc[$var].'><td>'.$langs->trans("MaxSizeList").'</td>';
print '<td>'.$conf->global->SIZE_LISTE_LIMIT.'</td>'; print '<td>'.$conf->global->MAIN_SIZE_LISTE_LIMIT.'</td>';
print '<td align="left" nowrap="nowrap" width="20%"><input type="checkbox" disabled '.($fuser->conf->SIZE_LISTE_LIMIT?" checked":"").'> '.$langs->trans("UsePersonalValue").'</td>'; print '<td align="left" nowrap="nowrap" width="20%"><input type="checkbox" disabled '.($fuser->conf->MAIN_SIZE_LISTE_LIMIT?" checked":"").'> '.$langs->trans("UsePersonalValue").'</td>';
print '<td>' . $fuser->conf->SIZE_LISTE_LIMIT . '</td></tr>'; print '<td>' . $fuser->conf->MAIN_SIZE_LISTE_LIMIT . '</td></tr>';
print '</table><br>'; print '</table><br>';