mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-05 17:18:13 +01:00
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop Conflicts: htdocs/install/mysql/migration/3.3.0-3.4.0.sql htdocs/install/mysql/tables/llx_expedition.key.sql htdocs/install/mysql/tables/llx_expedition.sql
This commit is contained in:
18
ChangeLog
18
ChangeLog
@@ -89,24 +89,6 @@ WARNING: If you used external modules, some of them may need to be upgraded due
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
***** ChangeLog for 3.3.2 compared to 3.3.1 *****
|
|
||||||
|
|
||||||
-Fix: Ducth (nl_NL) translation
|
|
||||||
-Fix: [ bug #790 ] Spanish localtax RE not being correctly calculated
|
|
||||||
-Generalize fix: file with a specific mask not found, again
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
***** ChangeLog for 3.3.1 compared to 3.3 *****
|
|
||||||
|
|
||||||
- Fix: [ bug #733 ] Mass emailing tools do not support <style HTML tag
|
|
||||||
- Fix: Package for launchpad
|
|
||||||
- Fix: [ bug #736 ] Missing column in llx_c_chargesociales
|
|
||||||
- Fix: Localtax2 for Spain must be based into buyer
|
|
||||||
- Fix: [ bug #762 ] Bad profit calculation in Reporting
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
***** ChangeLog for 3.3 compared to 3.2.3 *****
|
***** ChangeLog for 3.3 compared to 3.2.3 *****
|
||||||
For users:
|
For users:
|
||||||
- New: Add holiday module, to declare and follow holidays of your employees.
|
- New: Add holiday module, to declare and follow holidays of your employees.
|
||||||
|
|||||||
@@ -187,8 +187,9 @@ if ($id > 0)
|
|||||||
dol_fiche_head($head, 'customer', $langs->trans("ThirdParty"),0,'company');
|
dol_fiche_head($head, 'customer', $langs->trans("ThirdParty"),0,'company');
|
||||||
|
|
||||||
|
|
||||||
print '<table width="100%" class="notopnoleftnoright">';
|
print '<div class="fichecenter"><div class="fichehalfleft">';
|
||||||
print '<tr><td valign="top" class="notopnoleft">';
|
//print '<table width="100%" class="notopnoleftnoright">';
|
||||||
|
//print '<tr><td valign="top" class="notopnoleft">';
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
@@ -440,10 +441,11 @@ if ($id > 0)
|
|||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
print "</td>\n";
|
|
||||||
|
|
||||||
|
print '</div><div class="fichehalfright"><div class="ficheaddleft">';
|
||||||
|
//print "</td>\n";
|
||||||
|
//print '<td valign="top" width="50%" class="notopnoleftnoright">';
|
||||||
|
|
||||||
print '<td valign="top" width="50%" class="notopnoleftnoright">';
|
|
||||||
|
|
||||||
// Nbre max d'elements des petites listes
|
// Nbre max d'elements des petites listes
|
||||||
$MAXLIST=4;
|
$MAXLIST=4;
|
||||||
@@ -507,8 +509,8 @@ if ($id > 0)
|
|||||||
print " ".img_warning();
|
print " ".img_warning();
|
||||||
}
|
}
|
||||||
print '</td><td align="right" width="80">'.dol_print_date($db->jdate($objp->dp),'day')."</td>\n";
|
print '</td><td align="right" width="80">'.dol_print_date($db->jdate($objp->dp),'day')."</td>\n";
|
||||||
print '<td align="right" width="120">'.price($objp->total_ht).'</td>';
|
print '<td align="right" style="min-width: 60px">'.price($objp->total_ht).'</td>';
|
||||||
print '<td align="right" width="100" nowrap="nowrap">'.$propal_static->LibStatut($objp->fk_statut,5).'</td></tr>';
|
print '<td align="right" style="min-width: 60px" nowrap="nowrap">'.$propal_static->LibStatut($objp->fk_statut,5).'</td></tr>';
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@@ -576,11 +578,11 @@ if ($id > 0)
|
|||||||
{
|
{
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print "<tr $bc[$var]>";
|
print "<tr ".$bc[$var].">";
|
||||||
print '<td nowrap="nowrap"><a href="'.DOL_URL_ROOT.'/commande/fiche.php?id='.$objp->cid.'">'.img_object($langs->trans("ShowOrder"),"order").' '.$objp->ref."</a>\n";
|
print '<td nowrap="nowrap"><a href="'.DOL_URL_ROOT.'/commande/fiche.php?id='.$objp->cid.'">'.img_object($langs->trans("ShowOrder"),"order").' '.$objp->ref."</a>\n";
|
||||||
print '</td><td align="right" width="80">'.dol_print_date($db->jdate($objp->dc),'day')."</td>\n";
|
print '</td><td align="right" width="80">'.dol_print_date($db->jdate($objp->dc),'day')."</td>\n";
|
||||||
print '<td align="right" width="120">'.price($objp->total_ht).'</td>';
|
print '<td align="right" style="min-width: 60px">'.price($objp->total_ht).'</td>';
|
||||||
print '<td align="right" width="100">'.$commande_static->LibStatut($objp->fk_statut,$objp->facture,5).'</td></tr>';
|
print '<td align="right" style="min-width: 60px" nowrap="nowrap">'.$commande_static->LibStatut($objp->fk_statut,$objp->facture,5).'</td></tr>';
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
@@ -781,10 +783,12 @@ if ($id > 0)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</td></tr>";
|
print '</div></div></div>';
|
||||||
print "</table>";
|
print '<div style="clear:both"></div>';
|
||||||
|
//print "</td></tr>";
|
||||||
|
//print "</table>";
|
||||||
|
|
||||||
print "\n</div>\n";
|
dol_fiche_end();
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -331,7 +331,6 @@ class Conf
|
|||||||
|
|
||||||
// societe
|
// societe
|
||||||
if (empty($this->global->SOCIETE_CODECLIENT_ADDON)) $this->global->SOCIETE_CODECLIENT_ADDON="mod_codeclient_leopard";
|
if (empty($this->global->SOCIETE_CODECLIENT_ADDON)) $this->global->SOCIETE_CODECLIENT_ADDON="mod_codeclient_leopard";
|
||||||
if (empty($this->global->SOCIETE_CODEFOURNISSEUR_ADDON)) $this->global->SOCIETE_CODEFOURNISSEUR_ADDON=$this->global->SOCIETE_CODECLIENT_ADDON;
|
|
||||||
if (empty($this->global->SOCIETE_CODECOMPTA_ADDON)) $this->global->SOCIETE_CODECOMPTA_ADDON="mod_codecompta_panicum";
|
if (empty($this->global->SOCIETE_CODECOMPTA_ADDON)) $this->global->SOCIETE_CODECOMPTA_ADDON="mod_codecompta_panicum";
|
||||||
|
|
||||||
// Security
|
// Security
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* 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
|
||||||
* the Free Software Foundation; either version 3 of the License, or
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* or see http://www.gnu.org/
|
* or see http://www.gnu.org/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php
|
* \file htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php
|
||||||
@@ -191,7 +191,9 @@ class doc_generic_order_odt extends ModelePDFCommandes
|
|||||||
{
|
{
|
||||||
$tmpdir=trim($tmpdir);
|
$tmpdir=trim($tmpdir);
|
||||||
$tmpdir=preg_replace('/DOL_DATA_ROOT/',DOL_DATA_ROOT,$tmpdir);
|
$tmpdir=preg_replace('/DOL_DATA_ROOT/',DOL_DATA_ROOT,$tmpdir);
|
||||||
if (! $tmpdir) { unset($listofdir[$key]); continue; }
|
if (! $tmpdir) {
|
||||||
|
unset($listofdir[$key]); continue;
|
||||||
|
}
|
||||||
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
|
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,20 +2,20 @@
|
|||||||
/* Copyright (C) 2010-2012 Laurent Destailleur <ely@users.sourceforge.net>
|
/* Copyright (C) 2010-2012 Laurent Destailleur <ely@users.sourceforge.net>
|
||||||
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
|
|
||||||
* 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
|
||||||
* the Free Software Foundation; either version 3 of the License, or
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* or see http://www.gnu.org/
|
* or see http://www.gnu.org/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php
|
* \file htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php
|
||||||
@@ -214,7 +214,9 @@ class doc_generic_invoice_odt extends ModelePDFFactures
|
|||||||
{
|
{
|
||||||
$tmpdir=trim($tmpdir);
|
$tmpdir=trim($tmpdir);
|
||||||
$tmpdir=preg_replace('/DOL_DATA_ROOT/',DOL_DATA_ROOT,$tmpdir);
|
$tmpdir=preg_replace('/DOL_DATA_ROOT/',DOL_DATA_ROOT,$tmpdir);
|
||||||
if (! $tmpdir) { unset($listofdir[$key]); continue; }
|
if (! $tmpdir) {
|
||||||
|
unset($listofdir[$key]); continue;
|
||||||
|
}
|
||||||
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
|
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
'object_note_private'=>$object->note_private,
|
'object_note_private'=>$object->note_private,
|
||||||
'object_note_public'=>$object->note_public,
|
'object_note_public'=>$object->note_public,
|
||||||
'object_public'=>$object->public,
|
'object_public'=>$object->public,
|
||||||
'object_statut'=>html_entity_decode($object->getLibStatut())
|
'object_statut'=>$object->getLibStatut()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -384,6 +384,14 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add odtgeneration hook
|
||||||
|
if (! is_object($hookmanager))
|
||||||
|
{
|
||||||
|
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
|
||||||
|
$hookmanager=new HookManager($this->db);
|
||||||
|
}
|
||||||
|
$hookmanager->initHooks(array('odtgeneration'));
|
||||||
|
global $action;
|
||||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||||
$sav_charset_output=$outputlangs->charset_output;
|
$sav_charset_output=$outputlangs->charset_output;
|
||||||
$outputlangs->charset_output='UTF-8';
|
$outputlangs->charset_output='UTF-8';
|
||||||
@@ -470,7 +478,6 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
|
|
||||||
// Make substitutions into odt of user info
|
// Make substitutions into odt of user info
|
||||||
$tmparray=$this->get_substitutionarray_user($user,$outputlangs);
|
$tmparray=$this->get_substitutionarray_user($user,$outputlangs);
|
||||||
//var_dump($tmparray); exit;
|
|
||||||
foreach($tmparray as $key=>$value)
|
foreach($tmparray as $key=>$value)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -504,6 +511,7 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
else // Text
|
else // Text
|
||||||
{
|
{
|
||||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||||
|
$odfHandler->setVarsHeadFooter($key, $value, true, 'UTF-8');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(OdfException $e)
|
catch(OdfException $e)
|
||||||
@@ -534,6 +542,9 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
// Replace tags of object + external modules
|
// Replace tags of object + external modules
|
||||||
$tmparray=$this->get_substitutionarray_object($object,$outputlangs);
|
$tmparray=$this->get_substitutionarray_object($object,$outputlangs);
|
||||||
complete_substitutions_array($tmparray, $outputlangs, $object);
|
complete_substitutions_array($tmparray, $outputlangs, $object);
|
||||||
|
// Call the ODTSubstitution hook
|
||||||
|
$parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray);
|
||||||
|
$reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
foreach($tmparray as $key=>$value)
|
foreach($tmparray as $key=>$value)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -794,7 +805,6 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
$contact['fullname']=$objectdetail->getFullName($outputlangs,1);
|
$contact['fullname']=$objectdetail->getFullName($outputlangs,1);
|
||||||
|
|
||||||
$tmparray=$this->get_substitutionarray_project_contacts($contact,$outputlangs);
|
$tmparray=$this->get_substitutionarray_project_contacts($contact,$outputlangs);
|
||||||
complete_substitutions_array($tmparray, $outputlangs, $contact, $contact, "completesubstitutionarray_lines");
|
|
||||||
foreach($tmparray as $key => $val)
|
foreach($tmparray as $key => $val)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -926,7 +936,7 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
$ref_array['amountttc']='';
|
$ref_array['amountttc']='';
|
||||||
}
|
}
|
||||||
|
|
||||||
$ref_array['status']=html_entity_decode($element->getLibStatut(0));
|
$ref_array['status']=$element->getLibStatut(0);
|
||||||
|
|
||||||
$tmparray=$this->get_substitutionarray_project_reference($ref_array,$outputlangs);
|
$tmparray=$this->get_substitutionarray_project_reference($ref_array,$outputlangs);
|
||||||
|
|
||||||
@@ -958,8 +968,14 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Call the beforeODTSave hook
|
||||||
|
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
|
||||||
|
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
|
||||||
|
|
||||||
// Write new file
|
// Write new file
|
||||||
$odfHandler->saveToDisk($file);
|
$odfHandler->saveToDisk($file);
|
||||||
|
//$odfHandler->exportAsAttachedPDF($file);
|
||||||
|
|
||||||
if (! empty($conf->global->MAIN_UMASK))
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* 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
|
||||||
* the Free Software Foundation; either version 3 of the License, or
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* or see http://www.gnu.org/
|
* or see http://www.gnu.org/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php
|
* \file htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php
|
||||||
@@ -123,7 +123,9 @@ class doc_generic_proposal_odt extends ModelePDFPropales
|
|||||||
{
|
{
|
||||||
$tmpdir=trim($tmpdir);
|
$tmpdir=trim($tmpdir);
|
||||||
$tmpdir=preg_replace('/DOL_DATA_ROOT/',DOL_DATA_ROOT,$tmpdir);
|
$tmpdir=preg_replace('/DOL_DATA_ROOT/',DOL_DATA_ROOT,$tmpdir);
|
||||||
if (! $tmpdir) { unset($listofdir[$key]); continue; }
|
if (! $tmpdir) {
|
||||||
|
unset($listofdir[$key]); continue;
|
||||||
|
}
|
||||||
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
|
if (! is_dir($tmpdir)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -603,7 +603,7 @@ class CommandeFournisseur extends CommonOrder
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Renvoie la reference de commande suivante non utilisee en fonction du modele
|
* Renvoie la reference de commande suivante non utilisee en fonction du modele
|
||||||
* de numerotation actif defini dans COMMANDE_SUPPLIER_ADDON
|
* de numerotation actif defini dans COMMANDE_SUPPLIER_ADDON_NUMBER
|
||||||
*
|
*
|
||||||
* @param Societe $soc objet societe
|
* @param Societe $soc objet societe
|
||||||
* @return string reference libre pour la facture
|
* @return string reference libre pour la facture
|
||||||
@@ -615,14 +615,14 @@ class CommandeFournisseur extends CommonOrder
|
|||||||
|
|
||||||
$dir = DOL_DOCUMENT_ROOT .'/core/modules/supplier_order/';
|
$dir = DOL_DOCUMENT_ROOT .'/core/modules/supplier_order/';
|
||||||
|
|
||||||
if (! empty($conf->global->COMMANDE_SUPPLIER_ADDON))
|
if (! empty($conf->global->COMMANDE_SUPPLIER_ADDON_NUMBER))
|
||||||
{
|
{
|
||||||
$file = $conf->global->COMMANDE_SUPPLIER_ADDON.'.php';
|
$file = $conf->global->COMMANDE_SUPPLIER_ADDON_NUMBER.'.php';
|
||||||
|
|
||||||
if (is_readable($dir.'/'.$file))
|
if (is_readable($dir.'/'.$file))
|
||||||
{
|
{
|
||||||
// Definition du nom de modele de numerotation de commande fournisseur
|
// Definition du nom de modele de numerotation de commande fournisseur
|
||||||
$modName=$conf->global->COMMANDE_SUPPLIER_ADDON;
|
$modName=$conf->global->COMMANDE_SUPPLIER_ADDON_NUMBER;
|
||||||
require_once $dir.'/'.$file;
|
require_once $dir.'/'.$file;
|
||||||
|
|
||||||
// Recuperation de la nouvelle reference
|
// Recuperation de la nouvelle reference
|
||||||
@@ -643,7 +643,7 @@ class CommandeFournisseur extends CommonOrder
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print $langs->trans("Error")." ".$langs->trans("Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File",$conf->global->COMMANDE_SUPPLIER_ADDON);
|
print $langs->trans("Error")." ".$langs->trans("Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File",$conf->global->COMMANDE_SUPPLIER_ADDON_NUMBER);
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once 'zip/PclZipProxy.php';
|
|
||||||
require_once 'zip/PhpZipProxy.php';
|
|
||||||
require 'Segment.php';
|
require 'Segment.php';
|
||||||
class OdfException extends Exception
|
class OdfException extends Exception
|
||||||
{}
|
{}
|
||||||
@@ -130,6 +128,33 @@ class Odf
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assing a template variable
|
||||||
|
*
|
||||||
|
* @param string $key name of the variable within the template
|
||||||
|
* @param string $value replacement value
|
||||||
|
* @param bool $encode if true, special XML characters are encoded
|
||||||
|
* @throws OdfException
|
||||||
|
* @return odf
|
||||||
|
*/
|
||||||
|
public function setVarsHeadFooter($key, $value, $encode = true, $charset = 'ISO-8859')
|
||||||
|
{
|
||||||
|
$tag = $this->config['DELIMITER_LEFT'] . $key . $this->config['DELIMITER_RIGHT'];
|
||||||
|
// TODO Warning string may be:
|
||||||
|
// <text:span text:style-name="T13">{</text:span><text:span text:style-name="T12">aaa</text:span><text:span text:style-name="T13">}</text:span>
|
||||||
|
// instead of {aaa} so we should enhance this function.
|
||||||
|
//print $key.'-'.$value.'-'.strpos($this->contentXml, $this->config['DELIMITER_LEFT'] . $key . $this->config['DELIMITER_RIGHT']).'<br>';
|
||||||
|
if (strpos($this->stylesXml, $tag) === false && strpos($this->stylesXml , $tag) === false) {
|
||||||
|
//if (strpos($this->contentXml, '">'. $key . '</text;span>') === false) {
|
||||||
|
throw new OdfException("var $key not found in the document");
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
$value = $encode ? htmlspecialchars($value) : $value;
|
||||||
|
$value = ($charset == 'ISO-8859') ? utf8_encode($value) : $value;
|
||||||
|
$this->vars[$tag] = str_replace("\n", "<text:line-break/>", $value);
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Evaluating php codes inside the ODT and output the buffer (print, echo) inplace of the code
|
* Evaluating php codes inside the ODT and output the buffer (print, echo) inplace of the code
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -84,16 +84,16 @@ alter table llx_socpeople CHANGE COLUMN cp zip varchar(10);
|
|||||||
alter table llx_societe_rib CHANGE COLUMN adresse_proprio owner_address text;
|
alter table llx_societe_rib CHANGE COLUMN adresse_proprio owner_address text;
|
||||||
alter table llx_societe_address CHANGE COLUMN ville town text;
|
alter table llx_societe_address CHANGE COLUMN ville town text;
|
||||||
alter table llx_societe_address CHANGE COLUMN cp zip varchar(10);
|
alter table llx_societe_address CHANGE COLUMN cp zip varchar(10);
|
||||||
alter table llx_facture_fourn CHANGE COLUMN facnumber ref_supplier varchar(30);
|
|
||||||
|
|
||||||
|
-- remove constraint and index before rename field
|
||||||
-- Rename a field that has a foreign key
|
|
||||||
ALTER TABLE llx_expedition DROP FOREIGN KEY fk_expedition_fk_expedition_methode;
|
ALTER TABLE llx_expedition DROP FOREIGN KEY fk_expedition_fk_expedition_methode;
|
||||||
ALTER TABLE llx_expedition DROP INDEX idx_expedition_fk_expedition_methode;
|
ALTER TABLE llx_expedition DROP INDEX idx_expedition_fk_expedition_methode;
|
||||||
ALTER TABLE llx_expedition CHANGE COLUMN fk_expedition_methode fk_shipping_method integer;
|
ALTER TABLE llx_expedition CHANGE COLUMN fk_expedition_methode fk_shipping_method integer;
|
||||||
|
-- and create the new index and constraint
|
||||||
ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_shipping_method (fk_shipping_method);
|
ALTER TABLE llx_expedition ADD INDEX idx_expedition_fk_shipping_method (fk_shipping_method);
|
||||||
ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_shipping_method FOREIGN KEY (fk_shipping_method) REFERENCES llx_c_shipment_mode (rowid);
|
ALTER TABLE llx_expedition ADD CONSTRAINT fk_expedition_fk_shipping_method FOREIGN KEY (fk_shipping_method) REFERENCES llx_c_shipment_mode (rowid);
|
||||||
|
|
||||||
|
alter table llx_facture_fourn CHANGE COLUMN facnumber ref_supplier varchar(30);
|
||||||
|
|
||||||
ALTER TABLE llx_c_shipment_mode ADD COLUMN tracking VARCHAR(256) NOT NULL DEFAULT '' AFTER description;
|
ALTER TABLE llx_c_shipment_mode ADD COLUMN tracking VARCHAR(256) NOT NULL DEFAULT '' AFTER description;
|
||||||
|
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ function get_server_name()
|
|||||||
/**
|
/**
|
||||||
* is_error
|
* is_error
|
||||||
*
|
*
|
||||||
* @param string $cerr Error value
|
* @param unknown_type $cerr error number
|
||||||
* @return boolean Error key found or not
|
* @return boolean Error key found or not
|
||||||
*/
|
*/
|
||||||
function is_error($cerr)
|
function is_error($cerr)
|
||||||
|
|||||||
@@ -73,8 +73,7 @@ if (! empty($conf->global->MEMBER_PAYONLINE_SENDEMAIL) && preg_match('/MEM=',$fu
|
|||||||
'New subscription payed',
|
'New subscription payed',
|
||||||
$sendto,
|
$sendto,
|
||||||
$from,
|
$from,
|
||||||
'New subscription payed '.$fulltag
|
'New subscription payed '.$fulltag);
|
||||||
);
|
|
||||||
|
|
||||||
$result=$mailfile->sendfile();
|
$result=$mailfile->sendfile();
|
||||||
if ($result)
|
if ($result)
|
||||||
|
|||||||
@@ -103,8 +103,7 @@ if (! empty($conf->global->MEMBER_PAYONLINE_SENDEMAIL) && preg_match('/MEM=',$fu
|
|||||||
'New subscription payed',
|
'New subscription payed',
|
||||||
$sendto,
|
$sendto,
|
||||||
$from,
|
$from,
|
||||||
'New subscription payed '.$fulltag
|
'New subscription payed '.$fulltag);
|
||||||
);
|
|
||||||
|
|
||||||
$result=$mailfile->sendfile();
|
$result=$mailfile->sendfile();
|
||||||
if ($result)
|
if ($result)
|
||||||
|
|||||||
@@ -81,8 +81,7 @@ if (! empty($conf->global->MEMBER_PAYONLINE_SENDEMAIL) && preg_match('/MEM=',$fu
|
|||||||
'New subscription payed',
|
'New subscription payed',
|
||||||
$sendto,
|
$sendto,
|
||||||
$from,
|
$from,
|
||||||
'New subscription payed '.$fulltag
|
'New subscription payed '.$fulltag);
|
||||||
);
|
|
||||||
|
|
||||||
$result=$mailfile->sendfile();
|
$result=$mailfile->sendfile();
|
||||||
if ($result)
|
if ($result)
|
||||||
|
|||||||
@@ -140,8 +140,7 @@ if ($PAYPALTOKEN)
|
|||||||
'New subscription payed',
|
'New subscription payed',
|
||||||
$sendto,
|
$sendto,
|
||||||
$from,
|
$from,
|
||||||
'New subscription payed '.$fulltag
|
'New subscription payed '.$fulltag);
|
||||||
);
|
|
||||||
|
|
||||||
$result=$mailfile->sendfile();
|
$result=$mailfile->sendfile();
|
||||||
if ($result)
|
if ($result)
|
||||||
|
|||||||
@@ -460,8 +460,7 @@ abstract class ActionsCardCommon
|
|||||||
$this->tpl['supplier_enabled'] = 1;
|
$this->tpl['supplier_enabled'] = 1;
|
||||||
|
|
||||||
// Load object modCodeFournisseur
|
// Load object modCodeFournisseur
|
||||||
$module=$conf->global->SOCIETE_CODEFOURNISSEUR_ADDON;
|
$module=$conf->global->SOCIETE_CODECLIENT_ADDON;
|
||||||
if (! $module) $module=$conf->global->SOCIETE_CODECLIENT_ADDON;
|
|
||||||
if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php')
|
if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php')
|
||||||
{
|
{
|
||||||
$module = substr($module, 0, dol_strlen($module)-4);
|
$module = substr($module, 0, dol_strlen($module)-4);
|
||||||
|
|||||||
@@ -1769,15 +1769,15 @@ class Societe extends CommonObject
|
|||||||
function get_codefournisseur($objsoc=0,$type=1)
|
function get_codefournisseur($objsoc=0,$type=1)
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
if (! empty($conf->global->SOCIETE_CODEFOURNISSEUR_ADDON))
|
if (! empty($conf->global->SOCIETE_CODECLIENT_ADDON))
|
||||||
{
|
{
|
||||||
$dirsociete=array_merge(array('/core/modules/societe/'),$conf->modules_parts['societe']);
|
$dirsociete=array_merge(array('/core/modules/societe/'),$conf->modules_parts['societe']);
|
||||||
foreach ($dirsociete as $dirroot)
|
foreach ($dirsociete as $dirroot)
|
||||||
{
|
{
|
||||||
$res=dol_include_once($dirroot.$conf->global->SOCIETE_CODEFOURNISSEUR_ADDON.'.php');
|
$res=dol_include_once($dirroot.$conf->global->SOCIETE_CODECLIENT_ADDON.'.php');
|
||||||
if ($res) break;
|
if ($res) break;
|
||||||
}
|
}
|
||||||
$var = $conf->global->SOCIETE_CODEFOURNISSEUR_ADDON;
|
$var = $conf->global->SOCIETE_CODECLIENT_ADDON;
|
||||||
$mod = new $var;
|
$mod = new $var;
|
||||||
|
|
||||||
$this->code_fournisseur = $mod->getNextValue($objsoc,$type);
|
$this->code_fournisseur = $mod->getNextValue($objsoc,$type);
|
||||||
@@ -1829,16 +1829,16 @@ class Societe extends CommonObject
|
|||||||
function codefournisseur_modifiable()
|
function codefournisseur_modifiable()
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
if (! empty($conf->global->SOCIETE_CODEFOURNISSEUR_ADDON))
|
if (! empty($conf->global->SOCIETE_CODECLIENT_ADDON))
|
||||||
{
|
{
|
||||||
$dirsociete=array_merge(array('/core/modules/societe/'),$conf->modules_parts['societe']);
|
$dirsociete=array_merge(array('/core/modules/societe/'),$conf->modules_parts['societe']);
|
||||||
foreach ($dirsociete as $dirroot)
|
foreach ($dirsociete as $dirroot)
|
||||||
{
|
{
|
||||||
$res=dol_include_once($dirroot.$conf->global->SOCIETE_CODEFOURNISSEUR_ADDON.'.php');
|
$res=dol_include_once($dirroot.$conf->global->SOCIETE_CODECLIENT_ADDON.'.php');
|
||||||
if ($res) break;
|
if ($res) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$var = $conf->global->SOCIETE_CODEFOURNISSEUR_ADDON;
|
$var = $conf->global->SOCIETE_CODECLIENT_ADDON;
|
||||||
|
|
||||||
$mod = new $var;
|
$mod = new $var;
|
||||||
|
|
||||||
@@ -1902,16 +1902,16 @@ class Societe extends CommonObject
|
|||||||
function check_codefournisseur()
|
function check_codefournisseur()
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
if (! empty($conf->global->SOCIETE_CODEFOURNISSEUR_ADDON))
|
if (! empty($conf->global->SOCIETE_CODECLIENT_ADDON))
|
||||||
{
|
{
|
||||||
$dirsociete=array_merge(array('/core/modules/societe/'),$conf->modules_parts['societe']);
|
$dirsociete=array_merge(array('/core/modules/societe/'),$conf->modules_parts['societe']);
|
||||||
foreach ($dirsociete as $dirroot)
|
foreach ($dirsociete as $dirroot)
|
||||||
{
|
{
|
||||||
$res=dol_include_once($dirroot.$conf->global->SOCIETE_CODEFOURNISSEUR_ADDON.'.php');
|
$res=dol_include_once($dirroot.$conf->global->SOCIETE_CODECLIENT_ADDON.'.php');
|
||||||
if ($res) break;
|
if ($res) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$var = $conf->global->SOCIETE_CODEFOURNISSEUR_ADDON;
|
$var = $conf->global->SOCIETE_CODECLIENT_ADDON;
|
||||||
|
|
||||||
$mod = new $var;
|
$mod = new $var;
|
||||||
|
|
||||||
|
|||||||
@@ -561,8 +561,7 @@ else
|
|||||||
if ($res) break;
|
if ($res) break;
|
||||||
}
|
}
|
||||||
$modCodeClient = new $module;
|
$modCodeClient = new $module;
|
||||||
$module=$conf->global->SOCIETE_CODEFOURNISSEUR_ADDON;
|
$module=$conf->global->SOCIETE_CODECLIENT_ADDON;
|
||||||
if (! $module) $module=$conf->global->SOCIETE_CODECLIENT_ADDON;
|
|
||||||
if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php')
|
if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php')
|
||||||
{
|
{
|
||||||
$module = substr($module, 0, dol_strlen($module)-4);
|
$module = substr($module, 0, dol_strlen($module)-4);
|
||||||
@@ -1038,8 +1037,7 @@ else
|
|||||||
{
|
{
|
||||||
$prefixCustomerIsUsed = $modCodeClient->verif_prefixIsUsed();
|
$prefixCustomerIsUsed = $modCodeClient->verif_prefixIsUsed();
|
||||||
}
|
}
|
||||||
$module=$conf->global->SOCIETE_CODEFOURNISSEUR_ADDON;
|
$module=$conf->global->SOCIETE_CODECLIENT_ADDON;
|
||||||
if (! $module) $module=$conf->global->SOCIETE_CODECLIENT_ADDON;
|
|
||||||
if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php')
|
if (substr($module, 0, 15) == 'mod_codeclient_' && substr($module, -3) == 'php')
|
||||||
{
|
{
|
||||||
$module = substr($module, 0, dol_strlen($module)-4);
|
$module = substr($module, 0, dol_strlen($module)-4);
|
||||||
|
|||||||
@@ -856,7 +856,8 @@ div.fichehalfright {
|
|||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
||||||
}
|
}
|
||||||
div.ficheaddleft {
|
div.ficheaddleft {
|
||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; }
|
||||||
|
else print "margin-top: 10px;\n"; ?>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -246,7 +246,8 @@ div.fichehalfright {
|
|||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
||||||
}
|
}
|
||||||
div.ficheaddleft {
|
div.ficheaddleft {
|
||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 10px;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; }
|
||||||
|
else print "margin-top: 10px;\n"; ?>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -291,7 +291,8 @@ div.fichehalfright {
|
|||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
||||||
}
|
}
|
||||||
div.ficheaddleft {
|
div.ficheaddleft {
|
||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 6px;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; }
|
||||||
|
else print "margin-top: 10px;\n"; ?>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -256,7 +256,8 @@ div.fichehalfright {
|
|||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
||||||
}
|
}
|
||||||
div.ficheaddleft {
|
div.ficheaddleft {
|
||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 6px;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; }
|
||||||
|
else print "margin-top: 10px;\n"; ?>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -405,7 +405,8 @@ div.fichehalfright {
|
|||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?>
|
||||||
}
|
}
|
||||||
div.ficheaddleft {
|
div.ficheaddleft {
|
||||||
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } ?>
|
<?php if (empty($conf->dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; }
|
||||||
|
else print "margin-top: 10px;\n"; ?>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user