forked from Wavyzz/dolibarr
Compare commits
45 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f32bc24285 | ||
|
|
e8400afeba | ||
|
|
c24659b3a5 | ||
|
|
dc5ad1a0f3 | ||
|
|
f4428c8a8a | ||
|
|
1561062285 | ||
|
|
469e700895 | ||
|
|
2af8f295b1 | ||
|
|
187feff7d5 | ||
|
|
ad49f965d5 | ||
|
|
d6d7665e65 | ||
|
|
9518cb7836 | ||
|
|
ee1e266774 | ||
|
|
76d9ba6a43 | ||
|
|
676191c1f9 | ||
|
|
c92471d40b | ||
|
|
fb0a99cb55 | ||
|
|
49dcc32374 | ||
|
|
e13974b5f3 | ||
|
|
2c71c898eb | ||
|
|
a4841dacda | ||
|
|
94d1f23721 | ||
|
|
880a27f827 | ||
|
|
4f0758f9b1 | ||
|
|
c8c9ea797d | ||
|
|
cf1d269f15 | ||
|
|
8ae0939ae5 | ||
|
|
694eef9386 | ||
|
|
f6057bd794 | ||
|
|
7ecafc2e54 | ||
|
|
8b2dc49734 | ||
|
|
7ab46b8e7b | ||
|
|
6d2db1c09f | ||
|
|
b4ae479a69 | ||
|
|
2e8d2b884f | ||
|
|
c66304e217 | ||
|
|
f543f00024 | ||
|
|
56556ba222 | ||
|
|
b8c51e3760 | ||
|
|
389d64c25b | ||
|
|
5b02a3a67c | ||
|
|
5de7f77a09 | ||
|
|
b89b7405f8 | ||
|
|
b96bff4770 | ||
|
|
ee84457104 |
@@ -2,7 +2,11 @@
|
||||
English Dolibarr ChangeLog
|
||||
--------------------------------------------------------------
|
||||
|
||||
***** ChangeLog for 3.3.3 compared to 3.3.2 *****
|
||||
|
||||
- Fix: [ bug #903 ] Fatal error: Call to undefined function dol_get_first_day() in htdocs/commande/liste.php
|
||||
- Fix: [ bug #934 ] Error on proformat invoice creation (pgsql)
|
||||
- Fix: [ bug #947 ] Can't create proposal lines with unit price = 0
|
||||
|
||||
***** ChangeLog for 3.3.2 compared to 3.3.1 *****
|
||||
|
||||
@@ -33,6 +37,7 @@ English Dolibarr ChangeLog
|
||||
- Fix: [ bug #866 ] Standing order from an invoice suggests invoice total amount instead of remaining to pay
|
||||
- Fix: [ bug #788 ] Date of linked interventions are not shown
|
||||
- Fix: external users should not see costprice and margin infos
|
||||
- Fix: [ bug #806 ] Tasks are ordered alphabetically instead of chronological order
|
||||
|
||||
***** ChangeLog for 3.3.1 compared to 3.3 *****
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
dolibarr (3.3.2+nmu1) unstable; urgency=low
|
||||
dolibarr (3.3.3+nmu1) unstable; urgency=low
|
||||
|
||||
* Non-maintainer upload.
|
||||
* New upstream release.
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
; ----- Change this -----
|
||||
AppName=DoliWamp
|
||||
; DoliWamp-x.x.x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
AppVerName=DoliWamp-3.3.2
|
||||
AppVerName=DoliWamp-3.3.3
|
||||
; DoliWamp-x.x x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
OutputBaseFilename=DoliWamp-3.3.2
|
||||
OutputBaseFilename=DoliWamp-3.3.3
|
||||
; Define full path from wich all relative path are defined
|
||||
; You must modify this to put here your dolibarr root directory
|
||||
;SourceDir=C:\Documents and Settings\ldestailleur\git\dolibarr_old
|
||||
|
||||
@@ -10,7 +10,7 @@ use Cwd;
|
||||
$PROJECT="dolibarr";
|
||||
$MAJOR="3";
|
||||
$MINOR="3";
|
||||
$BUILD="2"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate
|
||||
$BUILD="3"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate
|
||||
$RPMSUBVERSION="auto"; # auto use value found into BUILD
|
||||
|
||||
@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
</Company_Info>
|
||||
<Program_Info>
|
||||
<Program_Name>Dolibarr</Program_Name>
|
||||
<Program_Version>3.3.0</Program_Version>
|
||||
<Program_Release_Month>02</Program_Release_Month>
|
||||
<Program_Version>3.3.2</Program_Version>
|
||||
<Program_Release_Month>05</Program_Release_Month>
|
||||
<Program_Release_Day>17</Program_Release_Day>
|
||||
<Program_Release_Year>2013</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
</Company_Info>
|
||||
<Program_Info>
|
||||
<Program_Name>DoliWamp</Program_Name>
|
||||
<Program_Version>3.3.0</Program_Version>
|
||||
<Program_Release_Month>02</Program_Release_Month>
|
||||
<Program_Version>3.3.2</Program_Version>
|
||||
<Program_Release_Month>05</Program_Release_Month>
|
||||
<Program_Release_Day>17</Program_Release_Day>
|
||||
<Program_Release_Year>2013</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
|
||||
@@ -30,7 +30,7 @@ return "Regis Houssin";
|
||||
# script_dolibarr_versions()
|
||||
sub script_dolibarr_versions
|
||||
{
|
||||
return ( "3.3.2", "3.3.1", "3.3.0", "3.2.1", "3.1.1" );
|
||||
return ( "3.3.3", "3.3.2", "3.3.1", "3.3.0", "3.2.1", "3.1.1" );
|
||||
}
|
||||
|
||||
sub script_dolibarr_category
|
||||
|
||||
@@ -302,35 +302,38 @@ echo "-------------------------------------------------------"
|
||||
echo
|
||||
|
||||
|
||||
#---- postun (after uninstall)
|
||||
#---- postun (after upgrade or uninstall)
|
||||
%postun
|
||||
|
||||
# Define vars
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
if [ "x$1" = "x0" ] ;
|
||||
then
|
||||
echo "Delete apache config link for Dolibarr ($apachelink)"
|
||||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
fi
|
||||
# Remove
|
||||
echo "Removed package"
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
# Restart web server
|
||||
echo Restart web server
|
||||
if [ -f %{_sysconfdir}/init.d/httpd ]; then
|
||||
%{_sysconfdir}/init.d/httpd restart
|
||||
fi
|
||||
if [ -f %{_sysconfdir}/init.d/apache2 ]; then
|
||||
%{_sysconfdir}/init.d/apache2 restart
|
||||
fi
|
||||
# Define vars
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
then
|
||||
echo "Delete apache config link for Dolibarr ($apachelink)"
|
||||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
fi
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
# Restart web server
|
||||
echo Restart web server
|
||||
/sbin/service httpd restart
|
||||
fi
|
||||
else
|
||||
# Upgrade
|
||||
echo "No remove ation done (this is an upgrade)"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Apr 22 2013 Laurent Destailleur 3.3.2-0.3
|
||||
* Mon Apr 22 2013 Laurent Destailleur 3.3.3-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
@@ -448,11 +448,22 @@ if [ -f %{_sysconfdir}/init.d/apache2 ]; then
|
||||
%{_sysconfdir}/init.d/apache2 restart
|
||||
fi
|
||||
|
||||
# Restart mysql
|
||||
echo Restart mysql
|
||||
# Restart mysql server
|
||||
echo Restart mysql server
|
||||
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
|
||||
/sbin/service mysqld restart
|
||||
%else
|
||||
%if 0%{?suse_version}
|
||||
/sbin/service mysql restart
|
||||
%else
|
||||
if [ -f /etc/init.d/mysqld ]; then
|
||||
/etc/init.d/mysqld restart
|
||||
fi
|
||||
if [ -f /etc/init.d/mysql ]; then
|
||||
/etc/init.d/mysql restart
|
||||
fi
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Show result
|
||||
echo
|
||||
@@ -467,59 +478,71 @@ echo
|
||||
|
||||
|
||||
|
||||
#---- postun (after uninstall)
|
||||
#---- postun (after upgrade or uninstall)
|
||||
%postun
|
||||
|
||||
# Define vars
|
||||
os='unknown';
|
||||
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
%else
|
||||
%if 0%{?suse_version}
|
||||
export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
%else
|
||||
if [ -d %{_sysconfdir}/httpd/conf.d ]; then
|
||||
export os='fedora-redhat';
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
fi
|
||||
if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then
|
||||
export os='opensuse';
|
||||
export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
fi
|
||||
if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then
|
||||
export os='mageia-mandriva';
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
fi
|
||||
if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then
|
||||
export os='ubuntu-debian';
|
||||
export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
fi
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
if [ "x$1" = "x0" ] ;
|
||||
then
|
||||
echo "Delete apache config link for Dolibarr ($apachelink)"
|
||||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
fi
|
||||
# Remove
|
||||
echo "Removed package"
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
# Restart web server
|
||||
echo Restart web server
|
||||
if [ -f %{_sysconfdir}/init.d/httpd ]; then
|
||||
%{_sysconfdir}/init.d/httpd restart
|
||||
fi
|
||||
if [ -f %{_sysconfdir}/init.d/apache2 ]; then
|
||||
%{_sysconfdir}/init.d/apache2 restart
|
||||
fi
|
||||
# Define vars
|
||||
os='unknown';
|
||||
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
%else
|
||||
%if 0%{?suse_version}
|
||||
export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
%else
|
||||
if [ -d %{_sysconfdir}/httpd/conf.d ]; then
|
||||
export os='fedora-redhat';
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
fi
|
||||
if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then
|
||||
export os='opensuse';
|
||||
export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
fi
|
||||
if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then
|
||||
export os='mageia-mandriva';
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
fi
|
||||
if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then
|
||||
export os='ubuntu-debian';
|
||||
export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
fi
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
then
|
||||
echo "Delete apache config link for Dolibarr ($apachelink)"
|
||||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
fi
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
# Restart web server
|
||||
echo Restart web server
|
||||
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion}
|
||||
/sbin/service httpd restart
|
||||
%else
|
||||
if [ -f %{_sysconfdir}/init.d/httpd ]; then
|
||||
%{_sysconfdir}/init.d/httpd restart
|
||||
fi
|
||||
if [ -f %{_sysconfdir}/init.d/apache2 ]; then
|
||||
%{_sysconfdir}/init.d/apache2 restart
|
||||
fi
|
||||
%endif
|
||||
fi
|
||||
else
|
||||
# Upgrade
|
||||
echo "No remove ation done (this is an upgrade)"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Apr 22 2013 Laurent Destailleur 3.3.2-0.3
|
||||
* Mon Apr 22 2013 Laurent Destailleur 3.3.3-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
@@ -278,6 +278,9 @@ echo Restart mysql
|
||||
if [ -f /etc/init.d/mysqld ]; then
|
||||
/etc/init.d/mysqld restart
|
||||
fi
|
||||
if [ -f /etc/init.d/mysql ]; then
|
||||
/etc/init.d/mysql restart
|
||||
fi
|
||||
|
||||
# Show result
|
||||
echo
|
||||
@@ -291,35 +294,44 @@ echo "-------------------------------------------------------"
|
||||
echo
|
||||
|
||||
|
||||
#---- postun (after uninstall)
|
||||
#---- postun (after upgrade or uninstall)
|
||||
%postun
|
||||
|
||||
# Define vars
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
if [ "x$1" = "x0" ] ;
|
||||
then
|
||||
echo "Delete apache config link for Dolibarr ($apachelink)"
|
||||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
fi
|
||||
# Remove
|
||||
echo "Removed package"
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
# Restart web server
|
||||
echo Restart web server
|
||||
if [ -f %{_sysconfdir}/init.d/httpd ]; then
|
||||
%{_sysconfdir}/init.d/httpd restart
|
||||
fi
|
||||
if [ -f %{_sysconfdir}/init.d/apache2 ]; then
|
||||
%{_sysconfdir}/init.d/apache2 restart
|
||||
fi
|
||||
# Define vars
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
then
|
||||
echo "Delete apache config link for Dolibarr ($apachelink)"
|
||||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
fi
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
# Restart web server
|
||||
echo Restart web server
|
||||
if [ -f %{_sysconfdir}/init.d/httpd ]; then
|
||||
%{_sysconfdir}/init.d/httpd restart
|
||||
fi
|
||||
if [ -f %{_sysconfdir}/init.d/apache2 ]; then
|
||||
%{_sysconfdir}/init.d/apache2 restart
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# Upgrade
|
||||
echo "No remove ation done (this is an upgrade)"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Apr 22 2013 Laurent Destailleur 3.3.2-0.3
|
||||
* Mon Apr 22 2013 Laurent Destailleur 3.3.3-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
@@ -286,9 +286,7 @@ fi
|
||||
|
||||
# Restart mysql
|
||||
echo Restart mysql
|
||||
if [ -f /etc/init.d/mysqld ]; then
|
||||
/etc/init.d/mysqld restart
|
||||
fi
|
||||
/sbin/service mysql restart
|
||||
|
||||
# Show result
|
||||
echo
|
||||
@@ -302,35 +300,43 @@ echo "-------------------------------------------------------"
|
||||
echo
|
||||
|
||||
|
||||
#---- postun (after uninstall)
|
||||
#---- postun (after upgrade or uninstall)
|
||||
%postun
|
||||
|
||||
# Define vars
|
||||
export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
if [ "x$1" = "x0" ] ;
|
||||
then
|
||||
echo "Delete apache config link for Dolibarr ($apachelink)"
|
||||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
# Remove
|
||||
echo "Removed package"
|
||||
|
||||
# Define vars
|
||||
export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
then
|
||||
echo "Delete apache config link for Dolibarr ($apachelink)"
|
||||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
fi
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
# Restart web server
|
||||
echo Restart web server
|
||||
if [ -f %{_sysconfdir}/init.d/httpd ]; then
|
||||
%{_sysconfdir}/init.d/httpd restart
|
||||
fi
|
||||
if [ -f %{_sysconfdir}/init.d/apache2 ]; then
|
||||
%{_sysconfdir}/init.d/apache2 restart
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# Upgrade
|
||||
echo "No remove ation done (this is an upgrade)"
|
||||
fi
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
# Restart web server
|
||||
echo Restart web server
|
||||
if [ -f %{_sysconfdir}/init.d/httpd ]; then
|
||||
%{_sysconfdir}/init.d/httpd restart
|
||||
fi
|
||||
if [ -f %{_sysconfdir}/init.d/apache2 ]; then
|
||||
%{_sysconfdir}/init.d/apache2 restart
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Apr 22 2013 Laurent Destailleur 3.3.2-0.3
|
||||
* Mon Apr 22 2013 Laurent Destailleur 3.3.3-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
@@ -118,12 +118,12 @@ print '<br>';
|
||||
|
||||
print $langs->trans("NoteOnPathLocation").'<br>';
|
||||
|
||||
$url1='http://www.maxmind.com/app/perl?rId=awstats';
|
||||
$url1='http://www.maxmind.com/en/city?rId=awstats';
|
||||
print $langs->trans("YouCanDownloadFreeDatFileTo",'<a href="'.$url1.'" target="_blank">'.$url1.'</a>');
|
||||
|
||||
print '<br>';
|
||||
|
||||
$url2='http://www.maxmind.com/app/perl?rId=awstats';
|
||||
$url2='http://www.maxmind.com/en/city?rId=awstats';
|
||||
print $langs->trans("YouCanDownloadAdvancedDatFileTo",'<a href="'.$url2.'" target="_blank">'.$url2.'</a>');
|
||||
|
||||
if ($geoip)
|
||||
|
||||
@@ -68,7 +68,7 @@ print '<br>';
|
||||
print '<br>';
|
||||
//print '<hr style="color: #DDDDDD;">';
|
||||
print img_picto('','puce').' '.$langs->trans("SetupDescription4",DOL_URL_ROOT.'/admin/modules.php?mainmenu=home');
|
||||
if (count($conf->modules) <= 1) // If only user module enabled
|
||||
if (count($conf->modules) <= (empty($conf->global->MAIN_MINNB_MODULE)?1:$conf->global->MAIN_MINNB_MODULE)) // If only user module enabled
|
||||
{
|
||||
$langs->load("errors");
|
||||
$warnpicto=img_warning($langs->trans("WarningMandatorySetupNotComplete"));
|
||||
|
||||
@@ -153,9 +153,9 @@ $sql.= " ua.login as loginauthor, ua.rowid as useridauthor,";
|
||||
$sql.= " ut.login as logintodo, ut.rowid as useridtodo,";
|
||||
$sql.= " ud.login as logindone, ud.rowid as useriddone,";
|
||||
$sql.= " sp.name, sp.firstname";
|
||||
$sql.= " FROM (".MAIN_DB_PREFIX."c_actioncomm as c,";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_actioncomm as c,";
|
||||
$sql.= " ".MAIN_DB_PREFIX.'user as u,';
|
||||
$sql.= " ".MAIN_DB_PREFIX."actioncomm as a)";
|
||||
$sql.= " ".MAIN_DB_PREFIX."actioncomm as a";
|
||||
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON a.fk_soc = sc.fk_soc";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON a.fk_soc = s.rowid";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople as sp ON a.fk_contact = sp.rowid";
|
||||
|
||||
@@ -641,7 +641,8 @@ else if ($action == "addline" && $user->rights->propal->creer)
|
||||
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")), 'errors');
|
||||
$error++;
|
||||
}
|
||||
if ((empty($idprod) || GETPOST('usenewaddlineform')) && (!($price_ht != 0) || $price_ht == '')) // Unit price can be 0 but not ''. Also price can be negative for proposal.
|
||||
|
||||
if ((empty($idprod) || GETPOST('usenewaddlineform')) && $price_ht == '') // Unit price can be 0 but not ''. Also price can be negative for proposal.
|
||||
{
|
||||
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("UnitPriceHT")), 'errors');
|
||||
$error++;
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
|
||||
|
||||
@@ -122,8 +122,8 @@ class FactureRec extends Facture
|
||||
$sql.= ", '".$facsrc->socid."'";
|
||||
$sql.= ", ".$conf->entity;
|
||||
$sql.= ", ".$this->db->idate($now);
|
||||
$sql.= ", '".$facsrc->amount."'";
|
||||
$sql.= ", '".$facsrc->remise."'";
|
||||
$sql.= ", ".(!empty($facsrc->amount)?$facsrc->amount:'0');
|
||||
$sql.= ", ".(!empty($facsrc->remise)?$this->remise:'0');
|
||||
$sql.= ", '".$this->db->escape($this->note)."'";
|
||||
$sql.= ", '".$user->id."'";
|
||||
$sql.= ", ".(! empty($facsrc->fk_project)?"'".$facsrc->fk_project."'":"null");
|
||||
|
||||
@@ -400,7 +400,7 @@ if ($resql)
|
||||
print '<td align="right"><b>'.price($total_tva).' '.getCurrencySymbol($conf->currency).'</b></td>';
|
||||
print '<td align="right"><b>'.price($total_ttc).' '.getCurrencySymbol($conf->currency).'</b></td>';
|
||||
print '<td align="right"><b>'.price($total_paid).' '.getCurrencySymbol($conf->currency).'</b></td>';
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="right"><b>'.price($total_ttc - $total_paid).' '.getCurrencySymbol($conf->currency).'</b></td>';
|
||||
print '<td align="center"> </td>';
|
||||
print '<td align="center"> </td>';
|
||||
print "</tr>\n";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -57,7 +57,7 @@ if ($sortorder == "") $sortorder="DESC";
|
||||
if ($sortfield == "") $sortfield="p.datec";
|
||||
|
||||
$rej = new RejetPrelevement($db, $user);
|
||||
$ligne = new LignePrelevement($db);
|
||||
$ligne = new LignePrelevement($db, $user);
|
||||
|
||||
/*
|
||||
* Liste des factures
|
||||
|
||||
@@ -1068,7 +1068,13 @@ abstract class CommonObject
|
||||
// We frist search all lines that are parent lines (for multilevel details lines)
|
||||
$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.$this->table_element_line;
|
||||
$sql.= ' WHERE '.$this->fk_element.' = '.$this->id;
|
||||
$sql.= ' AND fk_parent_line IS NULL';
|
||||
|
||||
//This test is to fix Fix [ bug #911 ] Reorder intervention do not work in 3.3
|
||||
//Do not merge in 3.4 'table column fk_parent_line already added into 3.4
|
||||
if ($this->table_element_line != 'fichinterdet') {
|
||||
$sql.= ' AND fk_parent_line IS NULL';
|
||||
}
|
||||
|
||||
$sql.= ' ORDER BY rang ASC, rowid '.$rowidorder;
|
||||
|
||||
dol_syslog(get_class($this)."::line_order search all parent lines sql=".$sql, LOG_DEBUG);
|
||||
|
||||
@@ -184,11 +184,10 @@ function show_array_actions_to_do($max=5)
|
||||
$sql = "SELECT a.id, a.label, a.datep as dp, a.datep2 as dp2, a.fk_user_author, a.percent,";
|
||||
$sql.= " c.code, c.libelle,";
|
||||
$sql.= " s.nom as sname, s.rowid, s.client";
|
||||
$sql.= " FROM (".MAIN_DB_PREFIX."c_actioncomm as c,";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_actioncomm as c,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."actioncomm as a";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON a.fk_soc = s.rowid";
|
||||
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql.= ")";
|
||||
$sql.= " WHERE c.id = a.fk_action";
|
||||
$sql.= " AND a.entity = ".$conf->entity;
|
||||
$sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep2 > '".$db->idate($now)."'))";
|
||||
@@ -283,11 +282,10 @@ function show_array_last_actions_done($max=5)
|
||||
$sql = "SELECT a.id, a.percent, a.datep as da, a.datep2 as da2, a.fk_user_author, a.label,";
|
||||
$sql.= " c.code, c.libelle,";
|
||||
$sql.= " s.rowid, s.nom as sname, s.client";
|
||||
$sql.= " FROM (".MAIN_DB_PREFIX."c_actioncomm as c,";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_actioncomm as c,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."actioncomm as a";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON a.fk_soc = s.rowid";
|
||||
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql.=")";
|
||||
$sql.= " WHERE c.id = a.fk_action";
|
||||
$sql.= " AND a.entity = ".$conf->entity;
|
||||
$sql.= " AND (a.percent >= 100 OR (a.percent = -1 AND a.datep2 <= '".$db->idate($now)."'))";
|
||||
|
||||
@@ -1118,7 +1118,7 @@ function pdf_getlineupexcltax($object,$i,$outputlangs,$hidedetails=0,$hookmanage
|
||||
}
|
||||
else
|
||||
{
|
||||
if (empty($hidedetails) || $hidedetails > 1) return price($sign * $object->lines[$i]->subprice);
|
||||
if (empty($hidedetails) || $hidedetails > 1) return price($sign * $object->lines[$i]->subprice, 0, $outputlangs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1144,7 +1144,7 @@ function pdf_getlineupwithtax($object,$i,$outputlangs,$hidedetails=0)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (empty($hidedetails) || $hidedetails > 1) return price(($object->lines[$i]->subprice) + ($object->lines[$i]->subprice)*($object->lines[$i]->tva_tx)/100);
|
||||
if (empty($hidedetails) || $hidedetails > 1) return price(($object->lines[$i]->subprice) + ($object->lines[$i]->subprice)*($object->lines[$i]->tva_tx)/100, 0, $outputlangs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1328,7 +1328,7 @@ function pdf_getlinetotalexcltax($object,$i,$outputlangs,$hidedetails=0,$hookman
|
||||
}
|
||||
else
|
||||
{
|
||||
if (empty($hidedetails) || $hidedetails > 1) return price($sign * $object->lines[$i]->total_ht);
|
||||
if (empty($hidedetails) || $hidedetails > 1) return price($sign * $object->lines[$i]->total_ht, 0, $outputlangs);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1362,7 +1362,7 @@ function pdf_getlinetotalwithtax($object,$i,$outputlangs,$hidedetails=0)
|
||||
else
|
||||
{
|
||||
if (empty($hidedetails) || $hidedetails > 1) return
|
||||
price(($object->lines[$i]->total_ht) + ($object->lines[$i]->total_ht)*($object->lines[$i]->tva_tx)/100);
|
||||
price(($object->lines[$i]->total_ht) + ($object->lines[$i]->total_ht)*($object->lines[$i]->tva_tx)/100, 0, $outputlangs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -660,7 +660,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after)
|
||||
}
|
||||
$newmenu->add("/admin/company.php?mainmenu=home", $langs->trans("MenuCompanySetup").' '.$warnpicto,1);
|
||||
$warnpicto='';
|
||||
if (count($conf->modules) <= 1) // If only user module enabled
|
||||
if (count($conf->modules) <= (empty($conf->global->MAIN_MINNB_MODULE)?1:$conf->global->MAIN_MINNB_MODULE)) // If only user module enabled
|
||||
{
|
||||
$langs->load("errors");
|
||||
$warnpicto=img_warning($langs->trans("WarningMandatorySetupNotComplete"));
|
||||
|
||||
@@ -702,7 +702,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT"), 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + 0);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht + (! empty($object->remise)?$object->remise:0)), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht + (! empty($object->remise)?$object->remise:0), 0, $outputlangs), 0, 'R', 1);
|
||||
|
||||
// Show VAT by rates and total
|
||||
$pdf->SetFillColor(248,248,248);
|
||||
@@ -743,7 +743,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -776,7 +776,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -803,7 +803,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -834,14 +834,14 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -874,7 +874,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -882,7 +882,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -897,7 +897,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalTTC"), $useborder, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc), $useborder, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc, 0, $outputlangs), $useborder, 'R', 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -919,7 +919,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("AlreadyPaid"), 0, 'L', 0);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle), 0, 'R', 0);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle, 0, $outputlangs), 0, 'R', 0);
|
||||
|
||||
$index++;
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
@@ -928,7 +928,7 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("RemainderToPay"), $useborder, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($resteapayer), $useborder, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($resteapayer, 0, $outputlangs), $useborder, 'R', 1);
|
||||
|
||||
$pdf->SetFont('','', $default_font_size - 1);
|
||||
$pdf->SetTextColor(0,0,0);
|
||||
|
||||
@@ -589,7 +589,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetXY($tab3_posx, $tab3_top+$y);
|
||||
$pdf->MultiCell(20, 3, dol_print_date($obj->datef,'day',false,$outputlangs,true), 0, 'L', 0);
|
||||
$pdf->SetXY($tab3_posx+21, $tab3_top+$y);
|
||||
$pdf->MultiCell(20, 3, price($obj->amount_ttc), 0, 'L', 0);
|
||||
$pdf->MultiCell(20, 3, price($obj->amount_ttc, 0, $outputlangs), 0, 'L', 0);
|
||||
$pdf->SetXY($tab3_posx+40, $tab3_top+$y);
|
||||
$pdf->MultiCell(20, 3, $text, 0, 'L', 0);
|
||||
$pdf->SetXY($tab3_posx+58, $tab3_top+$y);
|
||||
@@ -626,7 +626,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetXY($tab3_posx, $tab3_top+$y);
|
||||
$pdf->MultiCell(20, 3, dol_print_date($this->db->jdate($row->date),'day',false,$outputlangs,true), 0, 'L', 0);
|
||||
$pdf->SetXY($tab3_posx+21, $tab3_top+$y);
|
||||
$pdf->MultiCell(20, 3, price($sign * $row->amount), 0, 'L', 0);
|
||||
$pdf->MultiCell(20, 3, price($sign * $row->amount, 0, $outputlangs), 0, 'L', 0);
|
||||
$pdf->SetXY($tab3_posx+40, $tab3_top+$y);
|
||||
$oper = $outputlangs->transnoentitiesnoconv("PaymentTypeShort" . $row->code);
|
||||
|
||||
@@ -832,7 +832,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetXY($col1x, $tab2_top + 0);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT"), 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + 0);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * ($object->total_ht + (! empty($object->remise)?$object->remise:0))), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * ($object->total_ht + (! empty($object->remise)?$object->remise:0)), 0, $outputlangs), 0, 'R', 1);
|
||||
|
||||
// Show VAT by rates and total
|
||||
$pdf->SetFillColor(248,248,248);
|
||||
@@ -874,7 +874,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -908,7 +908,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -935,7 +935,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -966,14 +966,14 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1007,7 +1007,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1015,7 +1015,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1030,7 +1030,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalTTC"), $useborder, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * $object->total_ttc), $useborder, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($sign * $object->total_ttc, 0, $outputlangs), $useborder, 'R', 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1049,7 +1049,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("Paid"), 0, 'L', 0);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle + $depositsamount), 0, 'R', 0);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle + $depositsamount, 0, $outputlangs), 0, 'R', 0);
|
||||
|
||||
// Credit note
|
||||
if ($creditnoteamount)
|
||||
@@ -1058,7 +1058,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("CreditNotes"), 0, 'L', 0);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($creditnoteamount), 0, 'R', 0);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($creditnoteamount, 0, $outputlangs), 0, 'R', 0);
|
||||
}
|
||||
|
||||
// Escompte
|
||||
@@ -1070,7 +1070,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("EscompteOffered"), $useborder, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc - $deja_regle - $creditnoteamount - $depositsamount), $useborder, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc - $deja_regle - $creditnoteamount - $depositsamount, 0, $outputlangs), $useborder, 'R', 1);
|
||||
|
||||
$resteapayer=0;
|
||||
}
|
||||
@@ -1081,7 +1081,7 @@ class pdf_crabe extends ModelePDFFactures
|
||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("RemainderToPay"), $useborder, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($resteapayer), $useborder, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($resteapayer, 0, $outputlangs), $useborder, 'R', 1);
|
||||
|
||||
// Fin
|
||||
$pdf->SetFont('','', $default_font_size - 1);
|
||||
|
||||
@@ -169,7 +169,7 @@ class MailingTargets // This can't be abstract as it is used for some method
|
||||
$sql .= "'".$this->db->escape($cibles[$i]['email'])."',";
|
||||
$sql .= "'".$this->db->escape($cibles[$i]['other'])."',";
|
||||
$sql .= "'".$this->db->escape($cibles[$i]['source_url'])."',";
|
||||
$sql .= "'".$this->db->escape($cibles[$i]['source_id'])."',";
|
||||
$sql .= "".(empty($cibles[$i]['source_id']) ? 'null' : "'".$this->db->escape($cibles[$i]['source_id'])."'").",";
|
||||
if (! empty($conf->global->MAILING_EMAIL_UNSUBSCRIBE)) {
|
||||
$sql .= "'".$this->db->escape(md5($cibles[$i]['email'].';'.$cibles[$i]['name'].';'.$mailing_id.';'.$conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY))."',";
|
||||
}
|
||||
|
||||
@@ -175,11 +175,9 @@ class mailing_thirdparties_services_expired extends MailingTargets
|
||||
* For example if this selector is used to extract 500 different
|
||||
* emails from a text file, this function must return 500.
|
||||
*
|
||||
* @param int $filter Filter
|
||||
* @param string $option Option
|
||||
* @return int Number of recipients
|
||||
*/
|
||||
function getNbOfRecipients($sql,$filter=1,$option='')
|
||||
function getNbOfRecipients($sql='')
|
||||
{
|
||||
$now=dol_now();
|
||||
|
||||
|
||||
@@ -735,7 +735,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT"), 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + 0);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht + (! empty($object->remise)?$object->remise:0)), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht + (! empty($object->remise)?$object->remise:0), 0, $outputlangs), 0, 'R', 1);
|
||||
|
||||
// Show VAT by rates and total
|
||||
$pdf->SetFillColor(248,248,248);
|
||||
@@ -777,7 +777,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -811,7 +811,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -838,7 +838,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -869,14 +869,14 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -909,7 +909,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
if ($localtax_type == '7') { // amount on order
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvakey, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -917,7 +917,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -932,7 +932,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalTTC"), $useborder, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc), $useborder, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc, 0, $outputlangs), $useborder, 'R', 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -951,7 +951,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("AlreadyPaid"), 0, 'L', 0);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle), 0, 'R', 0);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle, 0, $outputlangs), 0, 'R', 0);
|
||||
|
||||
/*
|
||||
if ($object->close_code == 'discount_vat')
|
||||
@@ -963,7 +963,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("EscompteOffered"), $useborder, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc - $deja_regle), $useborder, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc - $deja_regle, 0, $outputlangs), $useborder, 'R', 1);
|
||||
|
||||
$resteapayer=0;
|
||||
}
|
||||
@@ -976,7 +976,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("RemainderToPay"), $useborder, 'L', 1);
|
||||
|
||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($resteapayer), $useborder, 'R', 1);
|
||||
$pdf->MultiCell($largcol2, $tab2_hl, price($resteapayer, 0, $outputlangs), $useborder, 'R', 1);
|
||||
|
||||
$pdf->SetFont('','', $default_font_size - 1);
|
||||
$pdf->SetTextColor(0,0,0);
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
* \brief File that include conf.php file and commons lib like functions.lib.php
|
||||
*/
|
||||
|
||||
if (! defined('DOL_VERSION')) define('DOL_VERSION','3.3.2');
|
||||
if (! defined('DOL_VERSION')) define('DOL_VERSION','3.3.3');
|
||||
if (! defined('EURO')) define('EURO',chr(128));
|
||||
|
||||
// Define syslog constants
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
// dullus for text Justification.
|
||||
// Bob Vincent (pillarsdotnet@users.sourceforge.net) for <li> value attribute.
|
||||
// Patrick Benny for text stretch suggestion on Cell().
|
||||
// Johannes Güntert for JavaScript support.
|
||||
// Johannes G<EFBFBD>ntert for JavaScript support.
|
||||
// Denis Van Nuffelen for Dynamic Form.
|
||||
// Jacek Czekaj for multibyte justification
|
||||
// Anthony Ferrara for the reintroduction of legacy image methods.
|
||||
@@ -87,7 +87,7 @@
|
||||
// Mohamad Ali Golkar, Saleh AlMatrafe, Charles Abbott for Arabic and Persian support.
|
||||
// Moritz Wagner and Andreas Wurmser for graphic functions.
|
||||
// Andrew Whitehead for core fonts support.
|
||||
// Esteban Joël Marín for OpenType font conversion.
|
||||
// Esteban Jo<EFBFBD>l Mar<EFBFBD>n for OpenType font conversion.
|
||||
// Teus Hagen for several suggestions and fixes.
|
||||
// Yukihiro Nakadaira for CID-0 CJK fonts fixes.
|
||||
// Kosmas Papachristos for some CSS improvements.
|
||||
@@ -5324,7 +5324,7 @@ class TCPDF {
|
||||
$cbbox = array();
|
||||
}
|
||||
// initialize subsetchars
|
||||
$subsetchars = array();
|
||||
$subsetchars = array_fill(0, 256, true);
|
||||
$this->setFontBuffer($fontkey, array('fontkey' => $fontkey, 'i' => $this->numfonts, 'type' => $type, 'name' => $name, 'desc' => $desc, 'up' => $up, 'ut' => $ut, 'cw' => $cw, 'cbbox' => $cbbox, 'dw' => $dw, 'enc' => $enc, 'cidinfo' => $cidinfo, 'file' => $file, 'ctg' => $ctg, 'subset' => $subset, 'subsetchars' => $subsetchars));
|
||||
if ($this->inxobj) {
|
||||
// we are inside an XObject template
|
||||
@@ -7123,7 +7123,7 @@ class TCPDF {
|
||||
* @param $cellpadding (float) Internal cell padding, if empty uses default cell padding.
|
||||
* @param $border (mixed) Indicates if borders must be drawn around the cell. The value can be a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul> or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul> or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
|
||||
* @return float Return the minimal height needed for multicell method for printing the $txt param.
|
||||
* @author Alexander Escalona Fernández, Nicola Asuni
|
||||
* @author Alexander Escalona Fern<EFBFBD>ndez, Nicola Asuni
|
||||
* @public
|
||||
* @since 4.5.011
|
||||
*/
|
||||
@@ -7230,7 +7230,7 @@ class TCPDF {
|
||||
* @param $cellpadding (float) Internal cell padding, if empty uses default cell padding.
|
||||
* @param $border (mixed) Indicates if borders must be drawn around the cell. The value can be a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul> or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul> or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
|
||||
* @return float Return the minimal height needed for multicell method for printing the $txt param.
|
||||
* @author Nicola Asuni, Alexander Escalona Fernández
|
||||
* @author Nicola Asuni, Alexander Escalona Fern<EFBFBD>ndez
|
||||
* @public
|
||||
*/
|
||||
public function getStringHeight($w, $txt, $reseth=false, $autopadding=true, $cellpadding='', $border=0) {
|
||||
@@ -15417,7 +15417,7 @@ class TCPDF {
|
||||
}
|
||||
|
||||
/**
|
||||
* Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bézier control points.
|
||||
* Append a cubic B<EFBFBD>zier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the B<EFBFBD>zier control points.
|
||||
* The new current point shall be (x3, y3).
|
||||
* @param $x1 (float) Abscissa of control point 1.
|
||||
* @param $y1 (float) Ordinate of control point 1.
|
||||
@@ -15435,7 +15435,7 @@ class TCPDF {
|
||||
}
|
||||
|
||||
/**
|
||||
* Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bézier control points.
|
||||
* Append a cubic B<EFBFBD>zier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using the current point and (x2, y2) as the B<EFBFBD>zier control points.
|
||||
* The new current point shall be (x3, y3).
|
||||
* @param $x2 (float) Abscissa of control point 2.
|
||||
* @param $y2 (float) Ordinate of control point 2.
|
||||
@@ -15451,7 +15451,7 @@ class TCPDF {
|
||||
}
|
||||
|
||||
/**
|
||||
* Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bézier control points.
|
||||
* Append a cubic B<EFBFBD>zier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the B<EFBFBD>zier control points.
|
||||
* The new current point shall be (x3, y3).
|
||||
* @param $x1 (float) Abscissa of control point 1.
|
||||
* @param $y1 (float) Ordinate of control point 1.
|
||||
@@ -16855,7 +16855,7 @@ class TCPDF {
|
||||
/**
|
||||
* Insert Named Destinations.
|
||||
* @protected
|
||||
* @author Johannes Güntert, Nicola Asuni
|
||||
* @author Johannes G<EFBFBD>ntert, Nicola Asuni
|
||||
* @since 5.9.098 (2011-06-23)
|
||||
*/
|
||||
protected function _putdests() {
|
||||
@@ -17054,7 +17054,7 @@ class TCPDF {
|
||||
* Adds a javascript
|
||||
* @param $script (string) Javascript code
|
||||
* @public
|
||||
* @author Johannes Güntert, Nicola Asuni
|
||||
* @author Johannes G<EFBFBD>ntert, Nicola Asuni
|
||||
* @since 2.1.002 (2008-02-12)
|
||||
*/
|
||||
public function IncludeJS($script) {
|
||||
@@ -17083,7 +17083,7 @@ class TCPDF {
|
||||
/**
|
||||
* Create a javascript PDF string.
|
||||
* @protected
|
||||
* @author Johannes Güntert, Nicola Asuni
|
||||
* @author Johannes G<EFBFBD>ntert, Nicola Asuni
|
||||
* @since 2.1.002 (2008-02-12)
|
||||
*/
|
||||
protected function _putjavascript() {
|
||||
@@ -19146,7 +19146,7 @@ class TCPDF {
|
||||
* @param $col1 (array) first color (Grayscale, RGB or CMYK components).
|
||||
* @param $col2 (array) second color (Grayscale, RGB or CMYK components).
|
||||
* @param $coords (array) array of the form (x1, y1, x2, y2) which defines the gradient vector (see linear_gradient_coords.jpg). The default value is from left to right (x1=0, y1=0, x2=1, y2=0).
|
||||
* @author Andreas Würmser, Nicola Asuni
|
||||
* @author Andreas W<EFBFBD>rmser, Nicola Asuni
|
||||
* @since 3.1.000 (2008-06-09)
|
||||
* @public
|
||||
*/
|
||||
@@ -19164,7 +19164,7 @@ class TCPDF {
|
||||
* @param $col1 (array) first color (Grayscale, RGB or CMYK components).
|
||||
* @param $col2 (array) second color (Grayscale, RGB or CMYK components).
|
||||
* @param $coords (array) array of the form (fx, fy, cx, cy, r) where (fx, fy) is the starting point of the gradient with color1, (cx, cy) is the center of the circle with color2, and r is the radius of the circle (see radial_gradient_coords.jpg). (fx, fy) should be inside the circle, otherwise some areas will not be defined.
|
||||
* @author Andreas Würmser, Nicola Asuni
|
||||
* @author Andreas W<EFBFBD>rmser, Nicola Asuni
|
||||
* @since 3.1.000 (2008-06-09)
|
||||
* @public
|
||||
*/
|
||||
@@ -19187,7 +19187,7 @@ class TCPDF {
|
||||
* @param $coords_min (array) minimum value used by the coordinates. If a coordinate's value is smaller than this it will be cut to coords_min. default: 0
|
||||
* @param $coords_max (array) maximum value used by the coordinates. If a coordinate's value is greater than this it will be cut to coords_max. default: 1
|
||||
* @param $antialias (boolean) A flag indicating whether to filter the shading function to prevent aliasing artifacts.
|
||||
* @author Andreas Würmser, Nicola Asuni
|
||||
* @author Andreas W<EFBFBD>rmser, Nicola Asuni
|
||||
* @since 3.1.000 (2008-06-09)
|
||||
* @public
|
||||
*/
|
||||
@@ -19279,7 +19279,7 @@ class TCPDF {
|
||||
* @param $y (float) ordinate of the top left corner of the rectangle.
|
||||
* @param $w (float) width of the rectangle.
|
||||
* @param $h (float) height of the rectangle.
|
||||
* @author Andreas Würmser, Nicola Asuni
|
||||
* @author Andreas W<EFBFBD>rmser, Nicola Asuni
|
||||
* @since 3.1.000 (2008-06-09)
|
||||
* @protected
|
||||
*/
|
||||
@@ -20797,19 +20797,19 @@ class TCPDF {
|
||||
// remove empty blocks
|
||||
$cssdata = preg_replace('/([^\}\{]+)\{\}/', '', $cssdata);
|
||||
// replace media type parenthesis
|
||||
$cssdata = preg_replace('/@media[\s]+([^\{]*)\{/i', '@media \\1§', $cssdata);
|
||||
$cssdata = preg_replace('/\}\}/si', '}§', $cssdata);
|
||||
$cssdata = preg_replace('/@media[\s]+([^\{]*)\{/i', '@media \\1<EFBFBD>', $cssdata);
|
||||
$cssdata = preg_replace('/\}\}/si', '}<EFBFBD>', $cssdata);
|
||||
// trim string
|
||||
$cssdata = trim($cssdata);
|
||||
// find media blocks (all, braille, embossed, handheld, print, projection, screen, speech, tty, tv)
|
||||
$cssblocks = array();
|
||||
$matches = array();
|
||||
if (preg_match_all('/@media[\s]+([^\§]*)§([^§]*)§/i', $cssdata, $matches) > 0) {
|
||||
if (preg_match_all('/@media[\s]+([^\<EFBFBD>]*)<EFBFBD>([^<EFBFBD>]*)<EFBFBD>/i', $cssdata, $matches) > 0) {
|
||||
foreach ($matches[1] as $key => $type) {
|
||||
$cssblocks[$type] = $matches[2][$key];
|
||||
}
|
||||
// remove media blocks
|
||||
$cssdata = preg_replace('/@media[\s]+([^\§]*)§([^§]*)§/i', '', $cssdata);
|
||||
$cssdata = preg_replace('/@media[\s]+([^\<EFBFBD>]*)<EFBFBD>([^<EFBFBD>]*)<EFBFBD>/i', '', $cssdata);
|
||||
}
|
||||
// keep 'all' and 'print' media, other media types are discarded
|
||||
if (isset($cssblocks['all']) AND !empty($cssblocks['all'])) {
|
||||
@@ -29032,7 +29032,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'Q': { // quadratic Bézier curveto
|
||||
case 'Q': { // quadratic B<EFBFBD>zier curveto
|
||||
foreach ($params as $ck => $cp) {
|
||||
$params[$ck] = $cp;
|
||||
if ((($ck + 1) % 4) == 0) {
|
||||
@@ -29058,7 +29058,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'T': { // shorthand/smooth quadratic Bézier curveto
|
||||
case 'T': { // shorthand/smooth quadratic B<EFBFBD>zier curveto
|
||||
foreach ($params as $ck => $cp) {
|
||||
$params[$ck] = $cp;
|
||||
if (($ck % 2) != 0) {
|
||||
|
||||
@@ -42,7 +42,7 @@ ErrCatAlreadyExists=Este nombre esta siendo utilizado
|
||||
AddProductToCat=¿Añadir este producto a una categoría?
|
||||
ImpossibleAddCat=Imposible añadir la categoría
|
||||
ImpossibleAssociateCategory=Imposible asociar la categoría
|
||||
WasAddedSuccessfully=se ha añadido con éxito.
|
||||
WasAddedSuccessfully=La categoría se ha añadido con éxito.
|
||||
ObjectAlreadyLinkedToCategory=El elemento ya está enlazado a esta categoría
|
||||
CategorySuccessfullyCreated=La categoría %s se insertado correctamente.
|
||||
ProductIsInCategories=Este producto/servicio se encuentra en las siguientes categorías
|
||||
|
||||
3
htdocs/langs/es_MX/banks.lang
Normal file
3
htdocs/langs/es_MX/banks.lang
Normal file
@@ -0,0 +1,3 @@
|
||||
# Dolibarr language file - es_MX - banks
|
||||
CHARSET=UTF-8
|
||||
BankAccountDomiciliation=Tarjeta
|
||||
@@ -1,23 +1,26 @@
|
||||
# Dolibarr language file - es_MX - bills
|
||||
CHARSET=UTF-8
|
||||
InvoiceAvoir=Nota de crédito
|
||||
InvoiceAvoirAsk=Nota de crédito para corregir la factura
|
||||
InvoiceAvoirDesc=La <b>nota de crédito</b> es una factura negativa destinada a compensar un importe de factura que difiere del importe realmente pagado (por haber pagado de más o por devolución de productos, por ejemplo).
|
||||
InvoiceHasAvoir=Corregida por una o más notas de crédito
|
||||
ConfirmConvertToReduc=¿Quiere convertir esta nota de crédito en una reducción futura?<br>El importe de esta nota de crédito se almacenará para este cliente. Podrá utilizarse para reducir el importe de una próxima factura del cliente.
|
||||
AddBill=Crear factura o nota de crédito
|
||||
EnterPaymentDueToCustomer=Realizar pago de notas de crédito al cliente
|
||||
ErrorInvoiceAvoirMustBeNegative=Error, una factura de tipo nota de crédito debe tener un importe negativo
|
||||
ConfirmClassifyPaidPartiallyReasonAvoir=El resto a pagar <b>(%s %s)</b> se ha regularizado (ya que artículo se ha devuelto, olvidado entregar, descuento no definido...) mediante una nota de crédito
|
||||
ConfirmClassifyPaidPartiallyReasonOtherDesc=Esta elección será posible, por ejemplo, en los casos siguiente:<br>-pago parcial ya que una partida de productos se ha devuleto.<br>- reclamado por no entregar productos de la factura <br>En todos los casos, la reclamación debe regularizarse mediante una nota de crédito
|
||||
ShowInvoiceAvoir=Ver nota de crédito
|
||||
AlreadyPaidNoCreditNotesNoDeposits=Ya pagado (excluidos las notas de crédito y anticipos)
|
||||
ShowDiscount=Ver la nota de crédito
|
||||
CreditNote=Nota de crédito
|
||||
CreditNotes=Notas de crédito
|
||||
DiscountFromCreditNote=Descuento resultante de la nota de crédito %s
|
||||
AbsoluteDiscountUse=Este tipo de crédito no puede ser utilizado en una factura antes de su validación
|
||||
CreditNoteDepositUse=La factura debe de estar validada para poder utilizar este tipo de créditos
|
||||
CreditNoteConvertedIntoDiscount=Esta nota de crédito se convirtió en %s
|
||||
TerreNumRefModelDesc1=Devuelve el número bajo el formato %syymm-nnnn para las facturas y %syymm-nnnn para las notas de crédito donde yy es el año, mm. el mes y nnnn un contador secuencial sin ruptura y sin permanencia a 0
|
||||
AddCreditNote=Crear nota de crédito
|
||||
# Dolibarr language file - es_MX - bills
|
||||
CHARSET=UTF-8
|
||||
InvoiceAvoir=Nota de crédito
|
||||
InvoiceAvoirAsk=Nota de crédito para corregir la factura
|
||||
InvoiceAvoirDesc=La <b>nota de crédito</b> es una factura negativa destinada a compensar un importe de factura que difiere del importe realmente pagado (por haber pagado de más o por devolución de productos, por ejemplo).
|
||||
InvoiceHasAvoir=Corregida por una o más notas de crédito
|
||||
ConfirmConvertToReduc=¿Quiere convertir esta nota de crédito en una reducción futura?<br>El importe de esta nota de crédito se almacenará para este cliente. Podrá utilizarse para reducir el importe de una próxima factura del cliente.
|
||||
AddBill=Crear factura o nota de crédito
|
||||
EnterPaymentDueToCustomer=Realizar pago de notas de crédito al cliente
|
||||
ErrorInvoiceAvoirMustBeNegative=Error, una factura de tipo nota de crédito debe tener un importe negativo
|
||||
ConfirmClassifyPaidPartiallyReasonAvoir=El resto a pagar <b>(%s %s)</b> se ha regularizado (ya que artículo se ha devuelto, olvidado entregar, descuento no definido...) mediante una nota de crédito
|
||||
ConfirmClassifyPaidPartiallyReasonOtherDesc=Esta elección será posible, por ejemplo, en los casos siguiente:<br>-pago parcial ya que una partida de productos se ha devuleto.<br>- reclamado por no entregar productos de la factura <br>En todos los casos, la reclamación debe regularizarse mediante una nota de crédito
|
||||
ShowInvoiceAvoir=Ver nota de crédito
|
||||
AlreadyPaidNoCreditNotesNoDeposits=Ya pagado (excluidos las notas de crédito y anticipos)
|
||||
ShowDiscount=Ver la nota de crédito
|
||||
CreditNote=Nota de crédito
|
||||
CreditNotes=Notas de crédito
|
||||
DiscountFromCreditNote=Descuento resultante de la nota de crédito %s
|
||||
AbsoluteDiscountUse=Este tipo de crédito no puede ser utilizado en una factura antes de su validación
|
||||
CreditNoteDepositUse=La factura debe de estar validada para poder utilizar este tipo de créditos
|
||||
CreditNoteConvertedIntoDiscount=Esta nota de crédito se convirtió en %s
|
||||
TerreNumRefModelDesc1=Devuelve el número bajo el formato %syymm-nnnn para las facturas y %syymm-nnnn para las notas de crédito donde yy es el año, mm. el mes y nnnn un contador secuencial sin ruptura y sin permanencia a 0
|
||||
AddCreditNote=Crear nota de crédito
|
||||
BillTo=Receptor
|
||||
Residence=Tarjeta
|
||||
PaymentByTransferOnThisBankAccount=Cuenta para depositos y transferencias
|
||||
3
htdocs/langs/es_MX/categories.lang
Normal file
3
htdocs/langs/es_MX/categories.lang
Normal file
@@ -0,0 +1,3 @@
|
||||
# Dolibarr language file - es_MX - categories
|
||||
CHARSET=UTF-8
|
||||
NotCategorized=Sin Categoría
|
||||
@@ -1,3 +1,5 @@
|
||||
# Dolibarr language file - es_MX - companies
|
||||
CHARSET=UTF-8
|
||||
CompanyHasCreditNote=Este cliente tiene <b>%s %s</b> notas de crédito/anticipos disponibles
|
||||
# Dolibarr language file - es_MX - companies
|
||||
CHARSET=UTF-8
|
||||
State=Estado
|
||||
Town=Municipio
|
||||
CompanyHasCreditNote=Este cliente tiene <b>%s %s</b> notas de crédito/anticipos disponibles
|
||||
7
htdocs/langs/es_MX/main.lang
Normal file
7
htdocs/langs/es_MX/main.lang
Normal file
@@ -0,0 +1,7 @@
|
||||
# Dolibarr language file - es_MX - main
|
||||
CHARSET=UTF-8
|
||||
SeparatorDecimal=.
|
||||
SeparatorThousand=,
|
||||
AmountHT=Subtotal
|
||||
TotalHT=Subtotal
|
||||
TotalVAT=IVA
|
||||
@@ -85,8 +85,8 @@ NewSoldeCP=Nouveau Solde
|
||||
alreadyCPexist=Une demande de congés à déjà été effectuée sur cette période.
|
||||
UserName=Nom Prénom
|
||||
Employee=Salarié
|
||||
FirstDayOfHoliday=Premier jour de congès
|
||||
LastDayOfHoliday=Dernier jour de congès
|
||||
FirstDayOfHoliday=Premier jour de congés
|
||||
LastDayOfHoliday=Dernier jour de congés
|
||||
HolidaysMonthlyUpdate=Mise à jour mensuelle
|
||||
ManualUpdate=Mise à jour manuelle
|
||||
|
||||
|
||||
@@ -2157,13 +2157,13 @@ class Product extends CommonObject
|
||||
'fullpath' => $compl_path.$label, // Label
|
||||
'type'=>$type // Nb of units that compose parent product
|
||||
);
|
||||
}
|
||||
|
||||
// Recursive call if child is an array
|
||||
if (is_array($desc_pere['childs']))
|
||||
{
|
||||
//print 'YYY We go down for '.$desc_pere[3]." -> \n";
|
||||
$this ->fetch_prod_arbo($desc_pere['childs'], $compl_path.$desc_pere[3]." -> ", $desc_pere[1]*$multiply, $level+1);
|
||||
// Recursive call if child is an array
|
||||
if (is_array($desc_pere['childs']))
|
||||
{
|
||||
//print 'YYY We go down for '.$desc_pere[3]." -> \n";
|
||||
$this ->fetch_prod_arbo($desc_pere['childs'], $compl_path.$desc_pere[3]." -> ", $desc_pere[1]*$multiply, $level+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
|
||||
*
|
||||
* Copyright (C) 2013 Jean Heimburger <jean@tiaris.info>
|
||||
|
||||
* 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 3 of the License, or
|
||||
@@ -129,15 +130,39 @@ else
|
||||
$sql.= ' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||
if (! empty($search_categ) || ! empty($catid)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_product as cp ON p.rowid = cp.fk_product"; // We'll need this table joined to the select in order to filter by categ
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as pfp ON p.rowid = pfp.fk_product";
|
||||
// multilang
|
||||
if ($conf->global->MAIN_MULTILANGS) // si l'option est active
|
||||
{
|
||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_lang as pl ON pl.fk_product = p.rowid AND pl.lang = '".$langs->getDefaultLang() ."'";
|
||||
}
|
||||
$sql.= ' WHERE p.entity IN ('.getEntity('product', 1).')';
|
||||
if ($sall)
|
||||
{
|
||||
$sql.= " AND (p.ref LIKE '%".$db->escape($sall)."%' OR p.label LIKE '%".$db->escape($sall)."%' OR p.description LIKE '%".$db->escape($sall)."%' OR p.note LIKE '%".$db->escape($sall)."%'";
|
||||
if (! empty($conf->barcode->enabled))
|
||||
{
|
||||
$sql.= " OR p.barcode LIKE '%".$db->escape($sall)."%'";
|
||||
}
|
||||
$sql.= ')';
|
||||
// For natural search
|
||||
$scrit = explode(' ', $sall);
|
||||
// multilang
|
||||
if ($conf->global->MAIN_MULTILANGS) // si l'option est active
|
||||
{
|
||||
foreach ($scrit as $crit) {
|
||||
$sql.= " AND (p.ref LIKE '%".$db->escape($crit)."%' OR p.label LIKE '%".$db->escape($crit)."%' OR p.description LIKE '%".$db->escape($crit)."%' OR p.note LIKE '%".$db->escape($crit)."%' OR pl.description LIKE '%".$db->escape($sall)."%' OR pl.note LIKE '%".$db->escape($sall)."%'";
|
||||
if (! empty($conf->barcode->enabled))
|
||||
{
|
||||
$sql.= " OR p.barcode LIKE '%".$db->escape($crit)."%'";
|
||||
}
|
||||
$sql.= ')';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach ($scrit as $crit) {
|
||||
$sql.= " AND (p.ref LIKE '%".$db->escape($crit)."%' OR p.label LIKE '%".$db->escape($crit)."%' OR p.description LIKE '%".$db->escape($crit)."%' OR p.note LIKE '%".$db->escape($crit)."%'";
|
||||
if (! empty($conf->barcode->enabled))
|
||||
{
|
||||
$sql.= " OR p.barcode LIKE '%".$db->escape($crit)."%'";
|
||||
}
|
||||
$sql.= ')';
|
||||
}
|
||||
}
|
||||
}
|
||||
// if the type is not 1, we show all products (type = 0,2,3)
|
||||
if (dol_strlen($type))
|
||||
|
||||
@@ -479,7 +479,7 @@ class Task extends CommonObject
|
||||
|
||||
/**
|
||||
* Return list of tasks for all projects or for one particular project
|
||||
* Sort order is on project, then on position of task, and last on title of first level task
|
||||
* Sort order is on project, then on position of task, and last on start date of first level task
|
||||
*
|
||||
* @param User $usert Object user to limit tasks affected to a particular user
|
||||
* @param User $userp Object user to limit projects of a particular user and public projects
|
||||
@@ -519,7 +519,7 @@ class Task extends CommonObject
|
||||
if ($projectid) $sql.= " AND p.rowid in (".$projectid.")";
|
||||
}
|
||||
if ($filteronprojref) $sql.= " AND p.ref LIKE '%".$filteronprojref."%'";
|
||||
$sql.= " ORDER BY p.ref, t.rang, t.label";
|
||||
$sql.= " ORDER BY p.ref, t.rang, t.dateo";
|
||||
|
||||
//print $sql;
|
||||
dol_syslog(get_class($this)."::getTasksArray sql=".$sql, LOG_DEBUG);
|
||||
|
||||
@@ -98,7 +98,7 @@ if ($mode == 'search')
|
||||
if ($search_categ) $sql.= " AND s.rowid = cs.fk_societe"; // Join for the needed table to filter by categ
|
||||
if (! $user->rights->societe->lire || ! $user->rights->fournisseur->lire)
|
||||
{
|
||||
if (! $user->rights->fournisseur->lire) $sql.=" AND s.fourn != 1";
|
||||
if (! $user->rights->fournisseur->lire) $sql.=" AND s.fournisseur != 1";
|
||||
}
|
||||
// Insert sale filter
|
||||
if ($search_sale)
|
||||
|
||||
Reference in New Issue
Block a user