mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Merge remote-tracking branch 'dolibarr/develop' into develop
This commit is contained in:
commit
548bbe78e6
|
|
@ -18,7 +18,7 @@ GeoIP 2004 LGPL 2.1 Yes Sample code to m
|
|||
NuSoap 0.9.5 LGPL 2.1 Yes Library to develop SOAP Web services (not into rpm and deb package)
|
||||
OdtPHP 1.0.1 GPL 2.0 Yes Library to build/edit ODT files
|
||||
PHPExcel 1.7.6 LGPL 2.1 Yes Read/Write XLS files, read ODS files
|
||||
TCPDF 5.9.098 LGPL 3.0 Yes PDF generation
|
||||
TCPDF 5.9.156 LGPL 3.0 Yes PDF generation
|
||||
|
||||
JS libraries:
|
||||
jQuery 1.7.1 GPL and MIT Licence Yes JS library
|
||||
|
|
|
|||
|
|
@ -2,8 +2,13 @@
|
|||
English Dolibarr ChangeLog
|
||||
--------------------------------------------------------------
|
||||
|
||||
***** ChangeLog for 3.3 compared to 3.2 *****
|
||||
|
||||
***** ChangeLog for 3.3 compared to 3.2 *****
|
||||
For users:
|
||||
- New: Add supplier ref on supplier orders.
|
||||
- New: Can export supplier orders.
|
||||
|
||||
For developers:
|
||||
|
||||
|
||||
***** ChangeLog for 3.2 compared to 3.1 *****
|
||||
|
|
|
|||
|
|
@ -8,9 +8,7 @@ script to build a package, ready to be distributed,
|
|||
with format .DEB (for Debian, Ubuntu, ...).
|
||||
|
||||
# To build a debian package, you need first
|
||||
# apt-get -i debhelper
|
||||
# apt-get -i dpkg-source
|
||||
# apt-get -i gpg
|
||||
# apt-get -i debhelper dpkg-source gpg lintian
|
||||
|
||||
|
||||
# This is standard command to work on Debian packaging:
|
||||
|
|
@ -35,7 +33,8 @@ with format .DEB (for Debian, Ubuntu, ...).
|
|||
# dpkg --purge Remove config files and interactive saved answers
|
||||
#
|
||||
# dpkg-buildpackage -us -uc Build a source and binary package
|
||||
|
||||
#
|
||||
# gdebi package.deb Install a package + dependencies
|
||||
|
||||
To submit a package to Debian:
|
||||
|
||||
|
|
|
|||
|
|
@ -9,13 +9,11 @@ Build-Depends: debhelper (>= 7), po-debconf, dpatch
|
|||
Package: dolibarr
|
||||
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
|
||||
php5-mysql | php5-mysqli,
|
||||
php5-cli, php5-curl, php5-gd, php5-ldap, php-pear, php-mail-mime, php5-geoip, php-fpdf,
|
||||
php5-cli, php5-curl, php5-gd, php5-ldap, php-pear, php-mail-mime, php5-geoip,
|
||||
libphp-adodb,
|
||||
libfpdi-php,
|
||||
libfpdf-tpl-php,
|
||||
libnusoap-php,
|
||||
libphp-pclzip,
|
||||
libjs-jquery, libjs-jquery-ui, libjs-flot, ckeditor,
|
||||
libjs-jquery, libjs-jquery-ui, ckeditor,
|
||||
ttf-dejavu-core,
|
||||
xdg-utils,
|
||||
mysql-server,
|
||||
|
|
|
|||
|
|
@ -6,11 +6,10 @@ Installed-Size: 61200
|
|||
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
|
||||
php5-mysql | php5-mysqli,
|
||||
php5-cli, php5-curl, php5-gd, php5-ldap, php-pear, php-mail-mime, php5-geoip,
|
||||
libphp-adodb,
|
||||
libnusoap-php,
|
||||
libphp-pclzip,
|
||||
libfpdi-php,
|
||||
libfpdf-tpl-php,
|
||||
ckeditor,
|
||||
libjs-jquery, libjs-jquery-ui, ckeditor,
|
||||
ttf-dejavu-core,
|
||||
xdg-utils,
|
||||
mysql-server
|
||||
|
|
@ -27,6 +26,7 @@ Description: Web based software to manage a small company or foundation
|
|||
.
|
||||
Dolibarr was designed to be easy to use. Only features you need are
|
||||
visible, depending on which module were activated.
|
||||
Most common used modules are:
|
||||
.
|
||||
Customers, Suppliers or Prospects directory,
|
||||
Contacts directory,
|
||||
|
|
|
|||
|
|
@ -83,8 +83,9 @@ case "$1" in
|
|||
chown -R root:www-data $installconfig
|
||||
chmod -R 660 $installconfig
|
||||
|
||||
if [ ! -s $config ]
|
||||
then
|
||||
# If a conf already exists and its content was already completed by installer
|
||||
if [ ! -s $config ] || ! grep -q "File generated by" $config
|
||||
then
|
||||
# Create an empty conf.php with permission to web server
|
||||
echo Create empty file $config
|
||||
touch $config
|
||||
|
|
@ -93,17 +94,17 @@ case "$1" in
|
|||
else
|
||||
# File already exist. We add params not found.
|
||||
echo Add new params to overwrite path to use shared libraries/fonts
|
||||
grep -q -c "dolibarr_lib_ADODB_PATH" $config || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_FPDI_PATH" $config || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_CKEDITOR" $config || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY" $config || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_UI" $config || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_FLOT" $config || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
|
||||
grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf'; ?>" >> $config
|
||||
fi
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
#set -e
|
||||
set +e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ $force_install_lockinstall='444';
|
|||
|
||||
// Value to overwrite path to use shared libraries/fonts instead of embedded one
|
||||
$force_dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';
|
||||
$force_dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi';
|
||||
//$force_dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi';
|
||||
$force_dolibarr_lib_GEOIP_PATH='';
|
||||
$force_dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
|
||||
$force_dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip';
|
||||
|
|
@ -36,7 +36,7 @@ $force_dolibarr_lib_TCPDF_PATH='';
|
|||
$force_dolibarr_js_CKEDITOR='/javascript/ckeditor';
|
||||
$force_dolibarr_js_JQUERY='/javascript/jquery';
|
||||
$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
|
||||
$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';
|
||||
//$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';
|
||||
$force_dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf';
|
||||
|
||||
?>
|
||||
|
|
@ -104,6 +104,7 @@ clean:
|
|||
rm -fr htdocs/includes/jquery/plugins/jstree
|
||||
rm -fr htdocs/includes/jquery/plugins/lightbox
|
||||
rm -fr htdocs/includes/jquery/plugins/mobile
|
||||
rm -fr htdocs/includes/jquery/plugins/multiselect
|
||||
rm -fr htdocs/includes/phpexcel/PHPExcel/Shared/PDF
|
||||
rm -fr htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip
|
||||
rm -fr htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-2.33
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ PROJECT_NAME = dolibarr
|
|||
# This could be handy for archiving the generated documentation or
|
||||
# if some version control system is used.
|
||||
|
||||
PROJECT_NUMBER = 3.2.0
|
||||
PROJECT_NUMBER = 3.3.0
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||
# base path where the generated documentation will be put.
|
||||
|
|
|
|||
|
|
@ -217,6 +217,26 @@ echo Create document directory $docdir
|
|||
# Set correct owner on config files
|
||||
%{__chown} -R root:$apachegroup /etc/dolibarr/*
|
||||
|
||||
# If a conf already exists and its content was already completed by installer
|
||||
export config=%{_sysconfdir}/dolibarr/conf.php
|
||||
if [ -s $config ] && grep -q "File generated by" $config
|
||||
then
|
||||
# File already exist. We add params not found.
|
||||
echo Add new params to overwrite path to use shared libraries/fonts
|
||||
grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
|
||||
grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf'; ?>" >> $config
|
||||
fi
|
||||
|
||||
# Create config for se $seconfig
|
||||
echo Add SE Linux permissions for dolibarr
|
||||
# semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local
|
||||
|
|
|
|||
|
|
@ -254,6 +254,26 @@ fi
|
|||
# Set correct owner on config files
|
||||
%{__chown} -R root:$apachegroup /etc/dolibarr/*
|
||||
|
||||
# If a conf already exists and its content was already completed by installer
|
||||
export config=%{_sysconfdir}/dolibarr/conf.php
|
||||
if [ -s $config ] && grep -q "File generated by" $config
|
||||
then
|
||||
# File already exist. We add params not found.
|
||||
echo Add new params to overwrite path to use shared libraries/fonts
|
||||
grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
|
||||
grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf'; ?>" >> $config
|
||||
fi
|
||||
|
||||
# Create config for se $seconfig
|
||||
if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then
|
||||
echo Add SE Linux permissions for dolibarr
|
||||
|
|
|
|||
|
|
@ -214,6 +214,26 @@ echo Create document directory $docdir
|
|||
# Set correct owner on config files
|
||||
%{__chown} -R root:$apachegroup /etc/dolibarr/*
|
||||
|
||||
# If a conf already exists and its content was already completed by installer
|
||||
export confcomplete=`grep -c "File generated by" %{_sysconfdir}/dolibarr/conf.php 2>/dev/null`
|
||||
if [ -s %{_sysconfdir}/dolibarr/conf.php -a "x$confcomplete" != "x0" ]
|
||||
then
|
||||
# File already exist. We add params not found.
|
||||
echo Add new params to overwrite path to use shared libraries/fonts
|
||||
grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
|
||||
grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/TTF/dejavu/DejaVuSans-Bold.ttf'; ?>" >> $config
|
||||
fi
|
||||
|
||||
# Create a config link dolibarr.conf
|
||||
if [ ! -L $apachelink ]; then
|
||||
echo Create dolibarr web server config link $apachelink
|
||||
|
|
|
|||
|
|
@ -219,6 +219,26 @@ echo Create document directory $docdir
|
|||
# Set correct owner on config files
|
||||
%{__chown} -R root:$apachegroup /etc/dolibarr/*
|
||||
|
||||
# If a conf already exists and its content was already completed by installer
|
||||
export config=%{_sysconfdir}/dolibarr/conf.php
|
||||
if [ -s $config ] && grep -q "File generated by" $config
|
||||
then
|
||||
# File already exist. We add params not found.
|
||||
echo Add new params to overwrite path to use shared libraries/fonts
|
||||
grep -q -c "dolibarr_lib_ADODB_PATH" $config || [ ! -d "/usr/share/php/adodb" ] || echo "<?php \$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_GEOIP_PATH" $config || echo "<?php \$dolibarr_lib_GEOIP_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_NUSOAP_PATH" $config || [ ! -d "/usr/share/php/nusoap" ] || echo "<?php \$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; ?>" >> $config
|
||||
grep -q -c "dolibarr_lib_ODTPHP_PATHTOPCLZIP" $config || [ ! -d "/usr/share/php/libphp-pclzip" ] || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_PHPEXCEL_PATH" $config || echo "<?php \$dolibarr_lib_PHPEXCEL_PATH=''; ?>" >> $config
|
||||
#grep -q -c "dolibarr_lib_TCPDF_PATH" $config || echo "<?php \$dolibarr_lib_TCPDF_PATH=''; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || echo "<?php \$dolibarr_js_CKEDITOR='/javascript/ckeditor'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY" $config || [ ! -d "/usr/share/javascript/jquery" ] || echo "<?php \$dolibarr_js_JQUERY='/javascript/jquery'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_UI" $config || [ ! -d "/usr/share/javascript/jquery-ui" ] || echo "<?php \$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; ?>" >> $config
|
||||
grep -q -c "dolibarr_js_JQUERY_FLOT" $config || [ ! -d "/usr/share/javascript/flot" ] || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $config
|
||||
grep -q -c "dolibarr_font_DOL_DEFAULT_TTF_BOLD" $config || echo "<?php \$dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/DejaVuSans-Bold.ttf'; ?>" >> $config
|
||||
fi
|
||||
|
||||
# Create a config link dolibarr.conf
|
||||
if [ ! -L $apachelink ]; then
|
||||
echo Create dolibarr web server config link $apachelink
|
||||
|
|
|
|||
|
|
@ -30,6 +30,6 @@ $force_dolibarr_lib_TCPDF_PATH='';
|
|||
//$force_dolibarr_js_JQUERY='/javascript/jquery';
|
||||
//$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
|
||||
//$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';
|
||||
$force_dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype';
|
||||
$force_dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/DejaVuSans-Bold.ttf';
|
||||
|
||||
?>
|
||||
|
|
@ -30,7 +30,7 @@ public function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false, $ln=
|
|||
by
|
||||
public function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false, $ln=1, $x='', $y='', $reseth=true, $stretch=0, $ishtml=false, $autopadding=false, $maxh=0, $valign='T', $fitcell=false) {
|
||||
|
||||
* Removed all fonts except dejavu* (greek, arab, persan, romanian, turkish), freemono* (russian), stsongstdlight* (chinese), helvetica* (all other) and useless directories (fonts/utils, docs, cache, images)
|
||||
* Removed all fonts except dejavu* (used by greek, arab, persan, romanian, turkish), freemono* (russian), stsongstdlight* (chinese), helvetica* (all other) and useless directories (fonts/utils, docs, cache, images)
|
||||
|
||||
* Replace in tcpdf_config.php
|
||||
define ('K_PATH_CACHE', K_PATH_MAIN.'cache/');
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
#------------------------------------------------------
|
||||
|
||||
|
||||
export dumpfile="mysqldump_dolibarr_3.1.0.sql"
|
||||
export dumpfile=`ls mysqldump_dolibarr_*.sql | sort | tail -n 1`
|
||||
export mydir=`echo "$0" | sed -e 's/initdemo.sh//'`;
|
||||
if [ "x$mydir" = "x" ]
|
||||
then
|
||||
|
|
|
|||
6200
dev/initdata/mysqldump_dolibarr_3.2.0.sql
Normal file
6200
dev/initdata/mysqldump_dolibarr_3.2.0.sql
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -39,8 +39,12 @@ $langs->load("users");
|
|||
$langs->load("mails");
|
||||
|
||||
|
||||
$action=GETPOST('action','alpha');
|
||||
$rowid=GETPOST('rowid','int');
|
||||
$typeid=GETPOST('typeid','int');
|
||||
|
||||
// Security check
|
||||
if (! $user->rights->adherent->cotisation->lire) accessforbidden();
|
||||
$result=restrictedArea($user,'adherent',$rowid);
|
||||
|
||||
$object = new Adherent($db);
|
||||
$extrafields = new ExtraFields($db);
|
||||
|
|
@ -50,10 +54,6 @@ $errmsg='';
|
|||
$defaultdelay=1;
|
||||
$defaultdelayunit='y';
|
||||
|
||||
$action=GETPOST('action');
|
||||
$rowid=GETPOST('rowid');
|
||||
$typeid=GETPOST('typeid');
|
||||
|
||||
if ($rowid)
|
||||
{
|
||||
// Load member
|
||||
|
|
|
|||
|
|
@ -968,7 +968,7 @@ class Adherent extends CommonObject
|
|||
*/
|
||||
function fetch($rowid,$ref='',$fk_soc='')
|
||||
{
|
||||
global $conf, $langs;
|
||||
global $langs;
|
||||
|
||||
$sql = "SELECT d.rowid, d.civilite, d.prenom as firstname, d.nom as lastname, d.societe, d.fk_soc, d.statut, d.public, d.adresse as address, d.cp as zip, d.ville as town, d.note,";
|
||||
$sql.= " d.email, d.phone, d.phone_perso, d.phone_mobile, d.login, d.pass,";
|
||||
|
|
@ -989,10 +989,12 @@ class Adherent extends CommonObject
|
|||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as dep ON d.fk_departement = dep.rowid";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON d.rowid = u.fk_member";
|
||||
$sql.= " WHERE d.fk_adherent_type = t.rowid";
|
||||
$sql.= " AND d.entity = ".$conf->entity;
|
||||
if ($ref) $sql.= " AND d.rowid='".$ref."'";
|
||||
elseif ($fk_soc) $sql.= " AND d.fk_soc='".$fk_soc."'";
|
||||
else $sql.= " AND d.rowid=".$rowid;
|
||||
if ($rowid) $sql.= " AND d.rowid=".$rowid;
|
||||
elseif ($ref || $fk_soc) {
|
||||
$sql.= " AND d.entity IN (".getEntity().")";
|
||||
if ($ref) $sql.= " AND d.rowid='".$ref."'";
|
||||
elseif ($fk_soc) $sql.= " AND d.fk_soc='".$fk_soc."'";
|
||||
}
|
||||
|
||||
dol_syslog(get_class($this)."::fetch sql=".$sql);
|
||||
$resql=$this->db->query($sql);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/* Copyright (C) 2002-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
@ -31,18 +31,21 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php");
|
|||
require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_type.class.php");
|
||||
|
||||
$langs->load("members");
|
||||
$langs->load("companies");
|
||||
$langs->load('other');
|
||||
|
||||
|
||||
$id=GETPOST('id','int');
|
||||
$action=GETPOST('action','alpha');
|
||||
$confirm=GETPOST('confirm','alpha');
|
||||
$mesg = "";
|
||||
|
||||
// Security check
|
||||
$id = GETPOST('id','int');
|
||||
if ($user->societe_id > 0)
|
||||
{
|
||||
$id = $user->societe_id;
|
||||
}
|
||||
//$result = restrictedArea($user, 'societe', $id);
|
||||
$result=restrictedArea($user,'adherent',$id);
|
||||
|
||||
// Get parameters
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
|
|
@ -65,7 +68,7 @@ $upload_dir = $conf->adherent->dir_output . "/" . get_exdir($id,2,0,1) . '/' . $
|
|||
*/
|
||||
|
||||
// Envoie fichier
|
||||
if ( $_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC))
|
||||
if ($_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC))
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
|
||||
|
||||
|
|
@ -96,7 +99,7 @@ if ( $_POST["sendit"] && ! empty($conf->global->MAIN_UPLOAD_DOC))
|
|||
}
|
||||
|
||||
// Suppression fichier
|
||||
if ($_REQUEST['action'] == 'confirm_deletefile' && $_REQUEST['confirm'] == 'yes')
|
||||
if ($action == 'confirm_deletefile' && $confirm == 'yes')
|
||||
{
|
||||
$file = $upload_dir . "/" . $_GET['urlfile']; // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP).
|
||||
dol_delete_file($file);
|
||||
|
|
@ -197,21 +200,21 @@ if ($id > 0)
|
|||
/*
|
||||
* Confirmation suppression fichier
|
||||
*/
|
||||
if ($_GET['action'] == 'delete')
|
||||
if ($action == 'delete')
|
||||
{
|
||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?id='.$_GET["id"].'&urlfile='.urldecode($_GET["urlfile"]), $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile', '', 0, 1);
|
||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?id='.$member->id.'&urlfile='.urldecode($_GET["urlfile"]), $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile', '', 0, 1);
|
||||
if ($ret == 'html') print '<br>';
|
||||
}
|
||||
|
||||
|
||||
// Affiche formulaire upload
|
||||
$formfile=new FormFile($db);
|
||||
$formfile->form_attach_new_file(DOL_URL_ROOT.'/adherents/document.php?id='.$id,'',0,0,$user->rights->adherent->creer);
|
||||
$formfile->form_attach_new_file(DOL_URL_ROOT.'/adherents/document.php?id='.$member->id,'',0,0,$user->rights->adherent->creer);
|
||||
|
||||
|
||||
// List of document
|
||||
$param='&socid='.$societe->id;
|
||||
$formfile->list_of_documents($filearray,$member,'member',$param, 0, get_exdir($id,2,0,1).'/'.$id.'/');
|
||||
$formfile->list_of_documents($filearray,$member,'member',$param, 0, get_exdir($member->id,2,0,1).'/'.$member->id.'/');
|
||||
|
||||
print "<br><br>";
|
||||
}
|
||||
|
|
@ -226,9 +229,7 @@ else
|
|||
print $langs->trans("ErrorRecordNotFound");
|
||||
}
|
||||
|
||||
$db->close();
|
||||
|
||||
|
||||
llxFooter();
|
||||
|
||||
$db->close();
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -41,21 +41,22 @@ $langs->load("bills");
|
|||
$langs->load("members");
|
||||
$langs->load("users");
|
||||
|
||||
|
||||
$action=GETPOST('action','alpha');
|
||||
$confirm=GETPOST('confirm','alpha');
|
||||
$rowid=GETPOST('rowid','int');
|
||||
$typeid=GETPOST('typeid','int');
|
||||
$userid=GETPOST('userid','int');
|
||||
$socid=GETPOST('socid','int');
|
||||
|
||||
// Security check
|
||||
if (! $user->rights->adherent->lire) accessforbidden();
|
||||
$result=restrictedArea($user,'adherent',$rowid);
|
||||
|
||||
$object = new Adherent($db);
|
||||
$extrafields = new ExtraFields($db);
|
||||
|
||||
$errmsg=''; $errmsgs=array();
|
||||
|
||||
$action=GETPOST('action','alpha');
|
||||
$confirm=GETPOST('confirm','alpha');
|
||||
$rowid=GETPOST('rowid','int');
|
||||
$typeid=GETPOST('typeid','int');
|
||||
$userid=GETPOST('userid','int');
|
||||
$socid=GETPOST('socid','int');
|
||||
|
||||
if ($rowid > 0)
|
||||
{
|
||||
// Load member
|
||||
|
|
@ -67,16 +68,12 @@ if ($rowid > 0)
|
|||
if ($object->user_id)
|
||||
{
|
||||
// $user est le user qui edite, $object->user_id est l'id de l'utilisateur lies au membre edite
|
||||
$caneditfielduser=( (($user->id == $object->user_id) && $user->rights->user->self->creer)
|
||||
|| (($user->id != $object->user_id) && $user->rights->user->user->creer) );
|
||||
$caneditpassworduser=( (($user->id == $object->user_id) && $user->rights->user->self->password)
|
||||
|| (($user->id != $object->user_id) && $user->rights->user->user->password) );
|
||||
$caneditfielduser=((($user->id == $object->user_id) && $user->rights->user->self->creer)
|
||||
|| (($user->id != $object->user_id) && $user->rights->user->user->creer));
|
||||
$caneditpassworduser=((($user->id == $object->user_id) && $user->rights->user->self->password)
|
||||
|| (($user->id != $object->user_id) && $user->rights->user->user->password));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
accessforbidden();
|
||||
}
|
||||
|
||||
// Define variables to know what current user can do on members
|
||||
$canaddmember=$user->rights->adherent->creer;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
<?php
|
||||
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
|
||||
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
|
||||
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -59,7 +60,10 @@ $AdherentType=array();
|
|||
$sql = "SELECT t.rowid, t.libelle, t.cotisation,";
|
||||
$sql.= " d.statut, count(d.rowid) as somme";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent_type as t";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."adherent as d ON t.rowid = d.fk_adherent_type";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."adherent as d";
|
||||
$sql.= " ON t.rowid = d.fk_adherent_type";
|
||||
$sql.= " AND d.entity IN (".getEntity().")";
|
||||
$sql.= " WHERE t.entity IN (".getEntity().")";
|
||||
$sql.= " GROUP BY t.rowid, t.libelle, t.cotisation, d.statut";
|
||||
|
||||
dol_syslog("index.php::select nb of members by type sql=".$sql, LOG_DEBUG);
|
||||
|
|
@ -94,8 +98,9 @@ $now=dol_now();
|
|||
// old rule: uptodate = if type does not need payment, that end date is null, if type need payment that end date is in future)
|
||||
$sql = "SELECT count(*) as somme , d.fk_adherent_type";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t";
|
||||
//$sql.= " WHERE d.statut = 1 AND ((t.cotisation = 0 AND d.datefin IS NULL) OR d.datefin >= ".$db->idate($now).')';
|
||||
$sql.= " WHERE d.statut = 1 AND d.datefin >= ".$db->idate($now);
|
||||
$sql.= " WHERE d.entity IN (".getEntity().")";
|
||||
//$sql.= " AND d.statut = 1 AND ((t.cotisation = 0 AND d.datefin IS NULL) OR d.datefin >= ".$db->idate($now).')';
|
||||
$sql.= " AND d.statut = 1 AND d.datefin >= ".$db->idate($now);
|
||||
$sql.= " AND t.rowid = d.fk_adherent_type";
|
||||
$sql.= " GROUP BY d.fk_adherent_type";
|
||||
|
||||
|
|
@ -212,7 +217,8 @@ $sql = "SELECT a.rowid, a.statut, a.nom as lastname, a.prenom as firstname,";
|
|||
$sql.= " a.tms as datem, datefin as date_end_subscription,";
|
||||
$sql.= " ta.rowid as typeid, ta.libelle, ta.cotisation";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as a, ".MAIN_DB_PREFIX."adherent_type as ta";
|
||||
$sql.= " WHERE a.fk_adherent_type = ta.rowid";
|
||||
$sql.= " WHERE a.entity IN (".getEntity().")";
|
||||
$sql.= " AND a.fk_adherent_type = ta.rowid";
|
||||
$sql.= $db->order("a.tms","DESC");
|
||||
$sql.= $db->plimit($max, 0);
|
||||
|
||||
|
|
@ -264,7 +270,8 @@ $sql = "SELECT a.rowid, a.statut, a.nom, a.prenom,";
|
|||
$sql.= " datefin as date_end_subscription,";
|
||||
$sql.= " c.rowid as cid, c.tms as datem, c.datec as datec, c.dateadh as date_start, c.datef as date_end, c.cotisation";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as a, ".MAIN_DB_PREFIX."cotisation as c";
|
||||
$sql.= " WHERE c.fk_adherent = a.rowid";
|
||||
$sql.= " WHERE a.entity IN (".getEntity().")";
|
||||
$sql.= " AND c.fk_adherent = a.rowid";
|
||||
$sql.= $db->order("c.tms","DESC");
|
||||
$sql.= $db->plimit($max, 0);
|
||||
|
||||
|
|
@ -350,7 +357,8 @@ $numb=0;
|
|||
|
||||
$sql = "SELECT c.cotisation, c.dateadh";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."cotisation as c";
|
||||
$sql.= " WHERE d.rowid = c.fk_adherent";
|
||||
$sql.= " WHERE d.entity IN (".getEntity().")";
|
||||
$sql.= " AND d.rowid = c.fk_adherent";
|
||||
if(isset($date_select) && $date_select != '')
|
||||
{
|
||||
$sql .= " AND dateadh LIKE '$date_select%'";
|
||||
|
|
@ -406,7 +414,6 @@ print '</td></tr>';
|
|||
print '</table>';
|
||||
|
||||
|
||||
$db->close();
|
||||
|
||||
llxFooter();
|
||||
$db->close();
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/* Copyright (C) 2005-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2006 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -32,8 +32,10 @@ $langs->load("bills");
|
|||
$langs->load("members");
|
||||
$langs->load("users");
|
||||
|
||||
if (!$user->rights->adherent->lire)
|
||||
accessforbidden();
|
||||
$id=(GETPOST('id','int') ? GETPOST('id','int') : GETPOST('rowid','int'));
|
||||
|
||||
// Security check
|
||||
$result=restrictedArea($user,'adherent',$id);
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -43,9 +45,8 @@ if (!$user->rights->adherent->lire)
|
|||
llxHeader('',$langs->trans("Member"),'EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros');
|
||||
|
||||
$adh = new Adherent($db);
|
||||
$adh->id=$_GET["id"];
|
||||
$adh->fetch($_GET["id"]);
|
||||
$adh->info($_GET["id"]);
|
||||
$adh->fetch($id);
|
||||
$adh->info($id);
|
||||
|
||||
$head = member_prepare_head($adh);
|
||||
|
||||
|
|
@ -59,7 +60,6 @@ print '</td></tr></table>';
|
|||
print '</div>';
|
||||
|
||||
|
||||
$db->close();
|
||||
|
||||
llxFooter();
|
||||
$db->close();
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -27,14 +27,15 @@ require_once(DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php');
|
|||
require_once(DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php');
|
||||
require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_type.class.php");
|
||||
|
||||
$action=GETPOST('action');
|
||||
$id=GETPOST('id','int');
|
||||
|
||||
$langs->load("companies");
|
||||
$langs->load("members");
|
||||
$langs->load("companies");
|
||||
$langs->load("members");
|
||||
$langs->load("bills");
|
||||
|
||||
if (!$user->rights->adherent->lire) accessforbidden();
|
||||
$action=GETPOST('action','alpha');
|
||||
$id=GETPOST('id','int');
|
||||
|
||||
// Security check
|
||||
$result=restrictedArea($user,'adherent',$id);
|
||||
|
||||
$object = new Adherent($db);
|
||||
$result=$object->fetch($id);
|
||||
|
|
@ -49,7 +50,7 @@ if ($result > 0)
|
|||
* Actions
|
||||
*/
|
||||
|
||||
if ($_POST["action"] == 'update' && $user->rights->adherent->creer && ! $_POST["cancel"])
|
||||
if ($action == 'update' && $user->rights->adherent->creer && ! $_POST["cancel"])
|
||||
{
|
||||
$db->begin();
|
||||
|
||||
|
|
@ -174,7 +175,7 @@ if ($id)
|
|||
|
||||
}
|
||||
|
||||
$db->close();
|
||||
|
||||
llxFooter();
|
||||
$db->close();
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -73,7 +73,8 @@ if ($mode)
|
|||
$data = array();
|
||||
$sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, c.code, c.libelle as label";
|
||||
$sql.=" FROM ".MAIN_DB_PREFIX."adherent as d LEFT JOIN ".MAIN_DB_PREFIX."c_pays as c on d.pays = c.rowid";
|
||||
$sql.=" WHERE d.statut = 1";
|
||||
$sql.=" WHERE d.entity IN (".getEntity().")";
|
||||
$sql.=" AND d.statut = 1";
|
||||
$sql.=" GROUP BY c.libelle, c.code";
|
||||
//print $sql;
|
||||
}
|
||||
|
|
@ -88,7 +89,8 @@ if ($mode)
|
|||
$sql.=" FROM ".MAIN_DB_PREFIX."adherent as d LEFT JOIN ".MAIN_DB_PREFIX."c_departements as c on d.fk_departement = c.rowid";
|
||||
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_regions as r on c.fk_region = r.code_region";
|
||||
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p on d.pays = p.rowid";
|
||||
$sql.=" WHERE d.statut = 1";
|
||||
$sql.=" WHERE d.entity IN (".getEntity().")";
|
||||
$sql.=" AND d.statut = 1";
|
||||
$sql.=" GROUP BY p.libelle, p.code, c.nom";
|
||||
//print $sql;
|
||||
}
|
||||
|
|
@ -102,7 +104,8 @@ if ($mode)
|
|||
$sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, p.code, p.libelle as label, d.ville as label2";
|
||||
$sql.=" FROM ".MAIN_DB_PREFIX."adherent as d";
|
||||
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p on d.pays = p.rowid";
|
||||
$sql.=" WHERE d.statut = 1";
|
||||
$sql.=" WHERE d.entity IN (".getEntity().")";
|
||||
$sql.=" AND d.statut = 1";
|
||||
$sql.=" GROUP BY p.libelle, p.code, d.ville";
|
||||
//print $sql;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* 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
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
|
||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -49,8 +49,8 @@ $pagenext = $page + 1;
|
|||
if (! $sortorder) { $sortorder="DESC"; }
|
||||
if (! $sortfield) { $sortfield="d.nom"; }
|
||||
|
||||
// Security check
|
||||
if (! $user->rights->adherent->lire) accessforbidden();
|
||||
// Security check
|
||||
$result=restrictedArea($user,'adherent',$rowid,'adherent_type');
|
||||
|
||||
if (GETPOST('button_removefilter'))
|
||||
{
|
||||
|
|
@ -153,7 +153,8 @@ if (! $rowid && $action != 'create' && $action != 'edit')
|
|||
|
||||
|
||||
$sql = "SELECT d.rowid, d.libelle, d.cotisation, d.vote";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."adherent_type as d";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent_type as d";
|
||||
$sql.= " WHERE d.entity IN (".getEntity().")";
|
||||
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
|
|
@ -267,10 +268,8 @@ if ($rowid > 0)
|
|||
if ($action != 'edit')
|
||||
{
|
||||
$adht = new AdherentType($db);
|
||||
$adht->id = $rowid;
|
||||
$adht->fetch($rowid);
|
||||
|
||||
|
||||
$h=0;
|
||||
|
||||
$head[$h][0] = $_SERVER["PHP_SELF"].'?rowid='.$adht->id;
|
||||
|
|
@ -344,7 +343,7 @@ if ($rowid > 0)
|
|||
$sql.= " t.libelle as type, t.cotisation";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t";
|
||||
$sql.= " WHERE d.fk_adherent_type = t.rowid ";
|
||||
$sql.= " AND d.entity = ".$conf->entity;
|
||||
$sql.= " AND d.entity IN (".getEntity().")";
|
||||
$sql.= " AND t.rowid = ".$adht->id;
|
||||
if ($sall)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -156,7 +156,6 @@ if (is_resource($handle))
|
|||
// Info
|
||||
$htmltooltip='';
|
||||
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
|
||||
$facture->type=0;
|
||||
$nextval=$module->getNextValue($mysoc,$contract);
|
||||
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
|
||||
{
|
||||
|
|
|
|||
|
|
@ -387,7 +387,6 @@ foreach ($dirmodels as $reldir)
|
|||
// Info
|
||||
$htmltooltip='';
|
||||
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
|
||||
$facture->type=0;
|
||||
$nextval=$module->getNextValue($mysoc,$expedition);
|
||||
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
@ -292,7 +292,6 @@ foreach ($conf->file->dol_document_root as $dirroot)
|
|||
// Info
|
||||
$htmltooltip='';
|
||||
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
|
||||
$facture->type=0;
|
||||
$nextval=$module->getNextValue($mysoc,$livraison);
|
||||
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
|
||||
{
|
||||
|
|
|
|||
|
|
@ -222,13 +222,13 @@ foreach ($dirmodels as $reldir)
|
|||
print '</td>'."\n";
|
||||
|
||||
print '<td align="center">';
|
||||
if ($conf->global->PROJECT_ADDON == $classname)
|
||||
if ($conf->global->PROJECT_ADDON == 'mod_'.$classname)
|
||||
{
|
||||
print img_picto($langs->trans("Activated"),'switch_on');
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&value='.$classname.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'switch_off').'</a>';
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&value=mod_'.$classname.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'switch_off').'</a>';
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Copyright (C) 2006-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
/* Copyright (C) 2006-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -167,10 +167,11 @@ if (preg_match('/^confirm/i',$choice))
|
|||
{
|
||||
print '<br>';
|
||||
$formquestion=array();
|
||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?choice=allfiles',$langs->trans('Purge'),$langs->trans('ConfirmPurge').' '.img_warning(),'purge',$formquestion,'no',2);
|
||||
if ($ret == 'html') print '<br>';
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?choice=allfiles', $langs->trans('Purge'), $langs->trans('ConfirmPurge').' '.img_warning(), 'purge', $formquestion, 'no', 2);
|
||||
}
|
||||
|
||||
|
||||
llxFooter();
|
||||
|
||||
$db->close();
|
||||
?>
|
||||
|
|
@ -87,7 +87,8 @@ $workflow=array(
|
|||
//, 'propal' => array('WORKFLOW_PROPAL_AUTOCREATE_INVOICE')
|
||||
)
|
||||
);
|
||||
$workflow = array_merge($workflow, $conf->modules_parts['workflow']);
|
||||
|
||||
if (! empty($conf->modules_parts['workflow'])) $workflow = array_merge($workflow, $conf->modules_parts['workflow']);
|
||||
|
||||
foreach($workflow as $child => $parents)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ if ($id || $ref)
|
|||
$objecttype = 'adherent&categorie';
|
||||
$objectid = isset($id)?$id:(isset($ref)?$ref:'');
|
||||
$dbtablename = 'adherent';
|
||||
$fieldid = isset($ref)?'ref':'rowid';
|
||||
$fieldid = ! empty($ref)?'ref':'rowid';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,14 +55,10 @@ class Categorie
|
|||
* Constructor
|
||||
*
|
||||
* @param DoliDB $db Database handler
|
||||
* @param int $id Id of category to fetch during init
|
||||
*/
|
||||
function Categorie($db, $id=-1)
|
||||
function __construct($db)
|
||||
{
|
||||
$this->db = $db;
|
||||
$this->id = $id;
|
||||
|
||||
if ($id != -1) $this->fetch($this->id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -106,10 +106,8 @@ class Commande extends CommonObject
|
|||
*
|
||||
* @param DoliDB $db Database handler
|
||||
*/
|
||||
function Commande($db)
|
||||
function __construct($db)
|
||||
{
|
||||
global $langs;
|
||||
$langs->load('orders');
|
||||
$this->db = $db;
|
||||
|
||||
$this->remise = 0;
|
||||
|
|
|
|||
|
|
@ -464,7 +464,28 @@ else if ($action == 'setconditions' && $user->rights->commande->creer)
|
|||
{
|
||||
$object->fetch($id);
|
||||
$result=$object->setPaymentTerms(GETPOST('cond_reglement_id','int'));
|
||||
if ($result < 0) dol_print_error($db,$object->error);
|
||||
if ($result < 0)
|
||||
{
|
||||
dol_print_error($db,$object->error);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
|
||||
{
|
||||
// Define output language
|
||||
$outputlangs = $langs;
|
||||
$newlang=GETPOST('lang_id','alpha');
|
||||
if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
|
||||
if (! empty($newlang))
|
||||
{
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$outputlangs->setDefaultLang($newlang);
|
||||
}
|
||||
|
||||
$ret=$object->fetch($id); // Reload to get new records
|
||||
commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, GETPOST('hidedetails'), GETPOST('hidedesc'), GETPOST('hideref'), $hookmanager);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if ($action == 'setremisepercent' && $user->rights->commande->creer)
|
||||
|
|
|
|||
|
|
@ -16,9 +16,7 @@
|
|||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* or see http://www.gnu.org/
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -12,8 +12,7 @@
|
|||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -357,7 +357,11 @@ class Conf
|
|||
$this->product->limit_size=$this->global->PRODUIT_LIMIT_SIZE;
|
||||
|
||||
// conf->theme et $this->css
|
||||
if (empty($this->global->MAIN_THEME)) $this->global->MAIN_THEME="eldy";
|
||||
if (empty($this->global->MAIN_THEME))
|
||||
{
|
||||
if (isset($_SERVER["HTTP_USER_AGENT"]) && preg_match('/(epiphany|iceweasel)/i',$_SERVER["HTTP_USER_AGENT"])) $this->global->MAIN_THEME="auguria";
|
||||
else $this->global->MAIN_THEME="eldy";
|
||||
}
|
||||
$this->theme=$this->global->MAIN_THEME;
|
||||
$this->css = "/theme/".$this->theme."/style.css.php";
|
||||
|
||||
|
|
|
|||
|
|
@ -2138,7 +2138,7 @@ class Form
|
|||
* @param int $useajax 0=No, 1=Yes, 2=Yes but submit page with &confirm=no if choice is No, 'xxx'=preoutput confirm box with div id=dialog-confirm-xxx
|
||||
* @param int $height Force height of box
|
||||
* @param int $width Force width of bow
|
||||
* @return string 'ajax' if a confirm ajax popup is shown, 'html' if it's an html form
|
||||
* @return string HTML ajax code if a confirm ajax popup is required, Pure HTML code if it's an html form
|
||||
*/
|
||||
function formconfirm($page, $title, $question, $action, $formquestion='', $selectedchoice="", $useajax=0, $height=170, $width=500)
|
||||
{
|
||||
|
|
@ -2885,7 +2885,9 @@ class Form
|
|||
* @return int Nb of loaded lines, 0 if already loaded, <0 if KO
|
||||
*/
|
||||
function load_cache_vatrates($country_code)
|
||||
{
|
||||
{
|
||||
global $langs;
|
||||
|
||||
if (count($this->cache_vatrates)) return 0; // Cache deja charge
|
||||
|
||||
$sql = "SELECT DISTINCT t.taux, t.recuperableonly";
|
||||
|
|
@ -3389,7 +3391,7 @@ class Form
|
|||
function selectarray($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $option='', $translate=0, $maxlen=0, $disabled=0)
|
||||
{
|
||||
global $langs;
|
||||
|
||||
|
||||
if ($value_as_key) $array=array_combine($array, $array);
|
||||
|
||||
$out='<select id="'.$htmlname.'" '.($disabled?'disabled="disabled" ':'').'class="flat" name="'.$htmlname.'" '.($option != ''?$option:'').'>';
|
||||
|
|
@ -3411,7 +3413,7 @@ class Form
|
|||
}
|
||||
|
||||
$out.='>';
|
||||
|
||||
|
||||
$newval=($translate?$langs->trans(ucfirst($value)):$value);
|
||||
if ($key_in_label)
|
||||
{
|
||||
|
|
@ -3432,7 +3434,7 @@ class Form
|
|||
$out.="</select>";
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Show a multiselect form from an array.
|
||||
*
|
||||
|
|
@ -3472,7 +3474,7 @@ class Form
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (! empty($array))
|
||||
{
|
||||
foreach ($array as $key => $value)
|
||||
|
|
@ -3495,7 +3497,7 @@ class Form
|
|||
$out.= ' selected="selected"';
|
||||
}
|
||||
$out.= '>';
|
||||
|
||||
|
||||
$newval = ($translate ? $langs->trans(ucfirst($value)) : $value);
|
||||
$newval = ($key_in_label ? $key.' - '.$newval : $newval);
|
||||
$out.= dol_htmlentitiesbr($newval);
|
||||
|
|
@ -3504,7 +3506,7 @@ class Form
|
|||
}
|
||||
}
|
||||
$out.= '</select>'."\n";
|
||||
|
||||
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ class InfoBox
|
|||
{
|
||||
//dol_print_error($db);
|
||||
$this->error=$db->error();
|
||||
dol_syslog(get_class($this)."::listBoxes Error ".$this->error, LOG_ERR);
|
||||
dol_syslog(get_class()."::listBoxes Error ".$this->error, LOG_ERR);
|
||||
return array();
|
||||
}
|
||||
|
||||
|
|
@ -155,7 +155,7 @@ class InfoBox
|
|||
|
||||
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
|
||||
|
||||
dol_syslog(get_class($this)."::saveboxorder zone=".$zone." userid=".$userid);
|
||||
dol_syslog(get_class()."::saveboxorder zone=".$zone." userid=".$userid);
|
||||
|
||||
if (! $userid || $userid == 0) return 0;
|
||||
|
||||
|
|
@ -182,7 +182,7 @@ class InfoBox
|
|||
$sql.= " AND ".MAIN_DB_PREFIX."boxes.fk_user = ".$userid;
|
||||
$sql.= " AND ".MAIN_DB_PREFIX."boxes.position = ".$zone;
|
||||
|
||||
dol_syslog(get_class($this)."::saveboxorder sql=".$sql);
|
||||
dol_syslog(get_class()."::saveboxorder sql=".$sql);
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
{
|
||||
|
|
@ -192,7 +192,7 @@ class InfoBox
|
|||
$part=explode(':',$collist);
|
||||
$colonne=$part[0];
|
||||
$list=$part[1];
|
||||
dol_syslog(get_class($this)."::saveboxorder column=".$colonne.' list='.$list);
|
||||
dol_syslog(get_class()."::saveboxorder column=".$colonne.' list='.$list);
|
||||
|
||||
$i=0;
|
||||
$listarray=explode(',',$list);
|
||||
|
|
@ -212,7 +212,7 @@ class InfoBox
|
|||
$sql.= " ".$userid;
|
||||
$sql.= ")";
|
||||
|
||||
dol_syslog(get_class($this)."::saveboxorder sql=".$sql);
|
||||
dol_syslog(get_class()."::saveboxorder sql=".$sql);
|
||||
$result = $db->query($sql);
|
||||
if ($result < 0)
|
||||
{
|
||||
|
|
@ -238,7 +238,7 @@ class InfoBox
|
|||
{
|
||||
$this->error=$db->lasterror();
|
||||
$db->rollback();
|
||||
dol_syslog(get_class($this)."::saveboxorder ".$this->error);
|
||||
dol_syslog(get_class()."::saveboxorder ".$this->error);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2163,7 +2163,7 @@ function dol_print_error($db='',$error='')
|
|||
$syslog.=", msg=".$msg;
|
||||
}
|
||||
}
|
||||
if (empty($dolibarr_main_prod) && $_SERVER['DOCUMENT_ROOT'] && function_exists('xdebug_call_file'))
|
||||
if (empty($dolibarr_main_prod) && $_SERVER['DOCUMENT_ROOT'] && function_exists('xdebug_print_function_stack') && function_exists('xdebug_call_file'))
|
||||
{
|
||||
xdebug_print_function_stack();
|
||||
$out.='<b>XDebug informations:</b>'."<br>\n";
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ class pdf_edison extends ModelePDFCommandes
|
|||
$nblineFollowDesc = 0;
|
||||
}
|
||||
|
||||
if (($nexY+$nblineFollowDesc) > ($tab_top+$tab_height) && $i < ($nblignes - 1))
|
||||
if ((($nexY+$nblineFollowDesc) > ($tab_top+$tab_height) && $i < ($nblignes - 1)) || (isset($object->lines[$i+1]->pagebreak) && $object->lines[$i+1]->pagebreak))
|
||||
{
|
||||
$this->_tableau($pdf, $tab_top, $tab_height, $nexY, $outputlangs);
|
||||
|
||||
|
|
|
|||
|
|
@ -350,7 +350,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||
$tab_top_in_current_page=$tab_top_newpage;
|
||||
$tab_height_in_current_page=$tab_height_newpage;
|
||||
}
|
||||
if (($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblignes - 1))
|
||||
if ((($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblignes - 1)) || (isset($object->lines[$i+1]->pagebreak) && $object->lines[$i+1]->pagebreak))
|
||||
{
|
||||
if ($pagenb == 1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ class ModelNumRefContracts
|
|||
/**
|
||||
* Test if existing numbers make problems with numbering
|
||||
*
|
||||
* @return boolean false if conflit, true if ok
|
||||
* @return boolean false if conflit, true if ok
|
||||
*/
|
||||
function canBeActivated()
|
||||
{
|
||||
|
|
@ -81,9 +81,11 @@ class ModelNumRefContracts
|
|||
/**
|
||||
* Return next value
|
||||
*
|
||||
* @return string Value
|
||||
* @param Societe $objsoc third party object
|
||||
* @param Object $contract contract object
|
||||
* @return string Value
|
||||
*/
|
||||
function getNextValue()
|
||||
function getNextValue($objsoc, $contrat)
|
||||
{
|
||||
global $langs;
|
||||
return $langs->trans("NotAvailable");
|
||||
|
|
|
|||
|
|
@ -114,9 +114,11 @@ abstract class ModelNumRefExpedition
|
|||
/**
|
||||
* Return next value
|
||||
*
|
||||
* @return string Value
|
||||
* @param Societe $objsoc Third party object
|
||||
* @param Object $shipment Shipment object
|
||||
* @return string Value
|
||||
*/
|
||||
function getNextValue()
|
||||
function getNextValue($objsoc, $shipment)
|
||||
{
|
||||
global $langs;
|
||||
return $langs->trans("NotAvailable");
|
||||
|
|
|
|||
|
|
@ -350,7 +350,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||
$tab_top_in_current_page=$tab_top_newpage;
|
||||
$tab_height_in_current_page=$tab_height_newpage;
|
||||
}
|
||||
if (($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblignes - 1))
|
||||
if ((($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblignes - 1)) || (isset($object->lines[$i+1]->pagebreak) && $object->lines[$i+1]->pagebreak))
|
||||
{
|
||||
if ($pagenb == 1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||
$pdf->MultiCell(21, 3, $total_excl_tax, 0, 'R', 0);
|
||||
|
||||
|
||||
if ($nexY > 200 && $i < $nblignes - 1)
|
||||
if (($nexY > 200 && $i < $nblignes - 1) || (isset($object->lines[$i+1]->pagebreak) && $object->lines[$i+1]->pagebreak))
|
||||
{
|
||||
$this->_tableau($pdf, $tab_top, $tab_height, $nexY, $object, $outputlangs);
|
||||
$nexY = $iniY;
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder
|
|||
* @param Object $object Object we need next value for
|
||||
* @return string Value if KO, <0 if KO
|
||||
*/
|
||||
function getNextValue($objsoc=0,$object='')
|
||||
function getNextValue($objsoc,$object)
|
||||
{
|
||||
global $db,$conf;
|
||||
|
||||
|
|
|
|||
|
|
@ -102,16 +102,16 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
|
|||
* Return next value
|
||||
*
|
||||
* @param Societe $objsoc Object third party
|
||||
* @param Object $livraison Object delivery
|
||||
* @param Object $object Object delivery
|
||||
* @return string Value if OK, 0 if KO
|
||||
*/
|
||||
function getNextValue($objsoc=0,$livraison='')
|
||||
function getNextValue($objsoc,$object)
|
||||
{
|
||||
global $db,$conf;
|
||||
|
||||
require_once(DOL_DOCUMENT_ROOT ."/core/lib/functions2.lib.php");
|
||||
|
||||
// On d<EFBFBD>fini critere recherche compteur
|
||||
// On defini critere recherche compteur
|
||||
$mask=$conf->global->LIVRAISON_SAPHIR_MASK;
|
||||
|
||||
if (! $mask)
|
||||
|
|
|
|||
|
|
@ -116,9 +116,11 @@ abstract class ModeleNumRefDeliveryOrder
|
|||
/**
|
||||
* Renvoi prochaine valeur attribuee
|
||||
*
|
||||
* @return string Valeur
|
||||
* @param Societe $objsoc Object third party
|
||||
* @param Object $object Object delivery
|
||||
* @return string Valeur
|
||||
*/
|
||||
function getNextValue()
|
||||
function getNextValue($objsoc, $object)
|
||||
{
|
||||
global $langs;
|
||||
return $langs->trans("NotAvailable");
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
@ -28,8 +28,7 @@ include_once(DOL_DOCUMENT_ROOT ."/core/modules/DolibarrModules.class.php");
|
|||
|
||||
|
||||
/**
|
||||
* \class modFournisseur
|
||||
* \brief Classe de description et activation du module Fournisseur
|
||||
* Classe de description et activation du module Fournisseur
|
||||
*/
|
||||
class modFournisseur extends DolibarrModules
|
||||
{
|
||||
|
|
@ -222,6 +221,13 @@ class modFournisseur extends DolibarrModules
|
|||
$this->rights[$r][4] = 'facture';
|
||||
$this->rights[$r][5] = 'export';
|
||||
|
||||
$r++;
|
||||
$this->rights[$r][0] = 1237;
|
||||
$this->rights[$r][1] = 'Exporter les commande fournisseurs, attributs';
|
||||
$this->rights[$r][2] = 'r';
|
||||
$this->rights[$r][3] = 0;
|
||||
$this->rights[$r][4] = 'commande';
|
||||
$this->rights[$r][5] = 'export';
|
||||
|
||||
// Exports
|
||||
//--------
|
||||
|
|
@ -232,8 +238,8 @@ class modFournisseur extends DolibarrModules
|
|||
$this->export_label[$r]='Factures fournisseurs et lignes de facture';
|
||||
$this->export_icon[$r]='bill';
|
||||
$this->export_permission[$r]=array(array("fournisseur","facture","export"));
|
||||
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','c.code'=>'CountryCode','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.total_tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_ttc'=>"LineTotalTTC",'fd.tva'=>"LineTotalVAT",'fd.product_type'=>'TypeOfLineServiceOrProduct','fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel');
|
||||
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','c.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total_ht'=>"invoice",'f.total_ttc'=>"invoice",'f.total_tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'fd.rowid'=>'invoice_line','fd.description'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva'=>"invoice_line",'fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product');
|
||||
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','c.code'=>'CountryCode','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.idprof5'=>'ProfId5','s.idprof6'=>'ProfId6','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.total_tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_ttc'=>"LineTotalTTC",'fd.tva'=>"LineTotalVAT",'fd.product_type'=>'TypeOfLineServiceOrProduct','fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel');
|
||||
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','c.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.idprof5'=>'company','s.idprof6'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total_ht'=>"invoice",'f.total_ttc'=>"invoice",'f.total_tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'fd.rowid'=>'invoice_line','fd.description'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva'=>"invoice_line",'fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product');
|
||||
|
||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s';
|
||||
|
|
@ -248,8 +254,8 @@ class modFournisseur extends DolibarrModules
|
|||
$this->export_label[$r]='Factures fournisseurs et reglements';
|
||||
$this->export_icon[$r]='bill';
|
||||
$this->export_permission[$r]=array(array("fournisseur","facture","export"));
|
||||
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','c.code'=>'CountryCode','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.total_tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'p.rowid'=>'PaymentId','pf.amount'=>'AmountPayment','p.datep'=>'DatePayment','p.num_paiement'=>'PaymentNumber');
|
||||
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','c.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total_ht'=>"invoice",'f.total_ttc'=>"invoice",'f.total_tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'p.rowid'=>'payment','pf.amount'=>'payment','p.datep'=>'payment','p.num_paiement'=>'payment');
|
||||
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','c.code'=>'CountryCode','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.idprof5'=>'ProfId5','s.idprof6'=>'ProfId6','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.total_tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'p.rowid'=>'PaymentId','pf.amount'=>'AmountPayment','p.datep'=>'DatePayment','p.num_paiement'=>'PaymentNumber');
|
||||
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','c.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.idprof5'=>'company','s.idprof6'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total_ht'=>"invoice",'f.total_ttc'=>"invoice",'f.total_tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'p.rowid'=>'payment','pf.amount'=>'payment','p.datep'=>'payment','p.num_paiement'=>'payment');
|
||||
|
||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s';
|
||||
|
|
@ -259,6 +265,23 @@ class modFournisseur extends DolibarrModules
|
|||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn as p ON pf.fk_paiementfourn = p.rowid';
|
||||
$this->export_sql_end[$r] .=' WHERE f.fk_soc = s.rowid';
|
||||
$this->export_sql_end[$r] .=' AND f.entity = '.$conf->entity;
|
||||
|
||||
$r++;
|
||||
$this->export_code[$r]=$this->rights_class.'_'.$r;
|
||||
$this->export_label[$r]='Commandes fournisseurs et lignes de commandes';
|
||||
$this->export_icon[$r]='order';
|
||||
$this->export_permission[$r]=array(array("fournisseur","commande","export"));
|
||||
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','c.code'=>'CountryCode','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.idprof5'=>'ProfId5','s.idprof6'=>'ProfId6','s.tva_intra'=>'VATIntra','f.rowid'=>"OrderId",'f.ref'=>"Ref",'f.ref_supplier'=>"RefSupplier",'f.date_creation'=>"DateCreation",'f.date_commande'=>"OrderDate",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.fk_statut'=>'Status','f.note'=>"Note",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_ttc'=>"LineTotalTTC",'fd.total_tva'=>"LineTotalVAT",'fd.product_type'=>'TypeOfLineServiceOrProduct','fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel');
|
||||
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','c.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.idprof5'=>'company','s.idprof6'=>'company','s.tva_intra'=>'company','f.rowid'=>"order",'f.ref'=>"order",'f.ref_supplier'=>"order",'f.date_creation'=>"order",'f.date_commande'=>"order",'f.total_ht'=>"order",'f.total_ttc'=>"order",'f.tva'=>"order",'f.fk_statut'=>'order','f.note'=>"order",'fd.rowid'=>'order_line','fd.description'=>"order_line",'fd.tva_tx'=>"order_line",'fd.qty'=>"order_line",'fd.total_ht'=>"order_line",'fd.total_ttc'=>"order_line",'fd.total_tva'=>"order_line",'fd.product_type'=>'order_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product');
|
||||
|
||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as c ON s.fk_pays = c.rowid,';
|
||||
$this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'commande_fournisseur as f, '.MAIN_DB_PREFIX.'commande_fournisseurdet as fd';
|
||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product as p on (fd.fk_product = p.rowid)';
|
||||
$this->export_sql_end[$r] .=' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_commande';
|
||||
$this->export_sql_end[$r] .=' AND f.entity = '.$conf->entity;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/* Copyright (C) 2010 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
/* Copyright (C) 2010-2012 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -102,7 +102,7 @@ class mod_project_simple extends ModeleNumRefProjects
|
|||
* @param Project $project Object project
|
||||
* @return string Value if OK, 0 if KO
|
||||
*/
|
||||
function getNextValue($objsoc=0,$project='')
|
||||
function getNextValue($objsoc,$project)
|
||||
{
|
||||
global $db,$conf;
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ class mod_project_universal extends ModeleNumRefProjects
|
|||
* @param Project $project Object project
|
||||
* @return string Value if OK, 0 if KO
|
||||
*/
|
||||
function getNextValue($objsoc=0,$project='')
|
||||
function getNextValue($objsoc,$project)
|
||||
{
|
||||
global $db,$conf;
|
||||
|
||||
|
|
|
|||
|
|
@ -110,10 +110,12 @@ abstract class ModeleNumRefProjects
|
|||
|
||||
/**
|
||||
* Renvoi prochaine valeur attribuee
|
||||
*
|
||||
* @return string Valeur
|
||||
*
|
||||
* @param Societe $objsoc Object third party
|
||||
* @param Project $project Object project
|
||||
* @return string Valeur
|
||||
*/
|
||||
function getNextValue()
|
||||
function getNextValue($objsoc, $project)
|
||||
{
|
||||
global $langs;
|
||||
return $langs->trans("NotAvailable");
|
||||
|
|
|
|||
|
|
@ -332,7 +332,7 @@ class pdf_azur extends ModelePDFPropales
|
|||
$tab_top_in_current_page=$tab_top_newpage;
|
||||
$tab_height_in_current_page=$tab_height_middlepage;
|
||||
}
|
||||
if (($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblignes - 1))
|
||||
if ((($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblignes - 1)) || (isset($object->lines[$i+1]->pagebreak) && $object->lines[$i+1]->pagebreak))
|
||||
{
|
||||
if ($pagenb == 1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -332,7 +332,7 @@ class pdf_jaune extends ModelePDFPropales
|
|||
$tab_top_in_current_page=$tab_top_newpage;
|
||||
$tab_height_in_current_page=$tab_height_middlepage;
|
||||
}
|
||||
if (($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblignes - 1))
|
||||
if ((($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblignes - 1)) || (isset($object->lines[$i+1]->pagebreak) && $object->lines[$i+1]->pagebreak))
|
||||
{
|
||||
if ($pagenb == 1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -76,6 +76,12 @@ if (! $result && ! empty($_SERVER["GATEWAY_INTERFACE"])) // If install not do
|
|||
exit;
|
||||
}
|
||||
|
||||
// Disable php display errors
|
||||
if (! empty($dolibarr_main_prod))
|
||||
{
|
||||
ini_set('display_errors','Off');
|
||||
}
|
||||
|
||||
// Clean parameters
|
||||
$dolibarr_main_data_root=trim($dolibarr_main_data_root);
|
||||
$dolibarr_main_url_root=trim($dolibarr_main_url_root);
|
||||
|
|
|
|||
|
|
@ -41,17 +41,13 @@ class Fournisseur extends Societe
|
|||
*
|
||||
* @param DoliDB $db Database handler
|
||||
*/
|
||||
function Fournisseur($db)
|
||||
function __construct($db)
|
||||
{
|
||||
global $config;
|
||||
|
||||
$this->db = $db;
|
||||
$this->client = 0;
|
||||
$this->fournisseur = 0;
|
||||
$this->effectif_id = 0;
|
||||
$this->forme_juridique_code = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -31,8 +31,7 @@ require_once(DOL_DOCUMENT_ROOT."/commande/class/commande.class.php");
|
|||
|
||||
|
||||
/**
|
||||
* \class CommandeFournisseur
|
||||
* \brief Class to manage predefined suppliers products
|
||||
* Class to manage predefined suppliers products
|
||||
*/
|
||||
class CommandeFournisseur extends Commande
|
||||
{
|
||||
|
|
@ -47,12 +46,14 @@ class CommandeFournisseur extends Commande
|
|||
var $ref_supplier;
|
||||
var $brouillon;
|
||||
var $statut; // 0=Draft -> 1=Validated -> 2=Approved -> 3=Process runing -> 4=Received partially -> 5=Received totally -> (reopen) 4=Received partially
|
||||
// -> 7=Canceled/Never received -> (reopen) 3=Process runing
|
||||
// -> 6=Canceled -> (reopen) 2=Approved
|
||||
// -> 9=Refused -> (reopen) 1=Validated
|
||||
// -> 7=Canceled/Never received -> (reopen) 3=Process runing
|
||||
// -> 6=Canceled -> (reopen) 2=Approved
|
||||
// -> 9=Refused -> (reopen) 1=Validated
|
||||
var $socid;
|
||||
var $fourn_id;
|
||||
var $date;
|
||||
var $date_valid;
|
||||
var $date_cloture;
|
||||
var $date_commande;
|
||||
var $date_livraison; // Date livraison souhaitee
|
||||
var $total_ht;
|
||||
|
|
@ -69,7 +70,10 @@ class CommandeFournisseur extends Commande
|
|||
var $cond_reglement_code;
|
||||
var $mode_reglement_id;
|
||||
var $mode_reglement_code;
|
||||
|
||||
var $user_author_id;
|
||||
var $user_valid_id;
|
||||
var $user_cloture_id;
|
||||
|
||||
var $extraparams=array();
|
||||
|
||||
|
||||
|
|
@ -111,8 +115,10 @@ class CommandeFournisseur extends Commande
|
|||
// Check parameters
|
||||
if (empty($id) && empty($ref)) return -1;
|
||||
|
||||
$sql = "SELECT c.rowid, c.ref, c.date_creation, c.fk_soc, c.fk_user_author, c.fk_statut, c.amount_ht, c.total_ht, c.total_ttc, c.tva,";
|
||||
$sql = "SELECT c.rowid, c.ref, ref_supplier, c.fk_soc, c.fk_statut, c.amount_ht, c.total_ht, c.total_ttc, c.tva,";
|
||||
$sql.= " c.localtax1, c.localtax2, ";
|
||||
$sql.= " c.date_creation, c.date_valid, c.date_cloture,";
|
||||
$sql.= " c.fk_user_author, c.fk_user_valid, c.fk_user_cloture,";
|
||||
$sql.= " c.date_commande as date_commande, c.date_livraison as date_livraison, c.fk_cond_reglement, c.fk_mode_reglement, c.fk_projet as fk_project, c.remise_percent, c.source, c.fk_methode_commande,";
|
||||
$sql.= " c.note as note_private, c.note_public, c.model_pdf, c.extraparams,";
|
||||
$sql.= " cm.libelle as methode_commande,";
|
||||
|
|
@ -140,17 +146,22 @@ class CommandeFournisseur extends Commande
|
|||
|
||||
$this->id = $obj->rowid;
|
||||
$this->ref = $obj->ref;
|
||||
$this->ref_supplier = $obj->ref_supplier;
|
||||
$this->socid = $obj->fk_soc;
|
||||
$this->fourn_id = $obj->fk_soc;
|
||||
$this->statut = $obj->fk_statut;
|
||||
$this->user_author_id = $obj->fk_user_author;
|
||||
$this->user_valid_id = $obj->fk_user_valid;
|
||||
$this->user_cloture_id = $obj->fk_user_cloture;
|
||||
$this->total_ht = $obj->total_ht;
|
||||
$this->total_tva = $obj->tva;
|
||||
$this->total_localtax1 = $obj->localtax1;
|
||||
$this->total_localtax2 = $obj->localtax2;
|
||||
$this->total_ttc = $obj->total_ttc;
|
||||
$this->date_commande = $this->db->jdate($obj->date_commande); // date a laquelle la commande a ete transmise
|
||||
$this->date = $this->db->jdate($obj->date_creation);
|
||||
$this->date_valid = $this->db->jdate($obj->date_valid);
|
||||
$this->date_cloture = $this->db->jdate($obj->date_cloture);
|
||||
$this->date_commande = $this->db->jdate($obj->date_commande); // date a laquelle la commande a ete transmise
|
||||
$this->date_livraison = $this->db->jdate($obj->date_livraison);
|
||||
$this->remise_percent = $obj->remise_percent;
|
||||
$this->methode_commande_id = $obj->fk_methode_commande;
|
||||
|
|
@ -170,7 +181,7 @@ class CommandeFournisseur extends Commande
|
|||
$this->note_private = $obj->note_private;
|
||||
$this->note_public = $obj->note_public;
|
||||
$this->modelpdf = $obj->model_pdf;
|
||||
|
||||
|
||||
$this->extraparams = (array) json_decode($obj->extraparams, true);
|
||||
|
||||
$this->db->free($resql);
|
||||
|
|
@ -286,17 +297,18 @@ class CommandeFournisseur extends Commande
|
|||
/**
|
||||
* Validate an order
|
||||
*
|
||||
* @param User $user Validator User
|
||||
* @return int <0 if KO, >0 if OK
|
||||
* @param User $user Validator User
|
||||
* @param int $idwarehouse Id of warehouse to use for stock decrease
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function valid($user)
|
||||
function valid($user,$idwarehouse=0)
|
||||
{
|
||||
global $langs,$conf;
|
||||
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
|
||||
|
||||
$error=0;
|
||||
|
||||
dol_syslog("CommandeFournisseur::Valid");
|
||||
dol_syslog(get_class($this)."::valid");
|
||||
$result = 0;
|
||||
if ($user->rights->fournisseur->commande->valider)
|
||||
{
|
||||
|
|
@ -327,7 +339,7 @@ class CommandeFournisseur extends Commande
|
|||
$resql=$this->db->query($sql);
|
||||
if (! $resql)
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::valid() Echec update - 10 - sql=".$sql, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::valid Echec update - 10 - sql=".$sql, LOG_ERR);
|
||||
dol_print_error($this->db);
|
||||
$error++;
|
||||
}
|
||||
|
|
@ -345,7 +357,7 @@ class CommandeFournisseur extends Commande
|
|||
$dirdest = $conf->fournisseur->dir_output.'/commande/'.$newref;
|
||||
if (file_exists($dirsource))
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::valid() rename dir ".$dirsource." into ".$dirdest);
|
||||
dol_syslog(get_class($this)."::valid rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
if (@rename($dirsource, $dirdest))
|
||||
{
|
||||
|
|
@ -381,7 +393,7 @@ class CommandeFournisseur extends Commande
|
|||
}
|
||||
else
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::valid ".$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR);
|
||||
$this->db->rollback();
|
||||
$this->error=$this->db->lasterror();
|
||||
return -1;
|
||||
|
|
@ -390,7 +402,7 @@ class CommandeFournisseur extends Commande
|
|||
else
|
||||
{
|
||||
$this->error='Not Authorized';
|
||||
dol_syslog("CommandeFournisseur::valid ".$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -412,7 +424,7 @@ class CommandeFournisseur extends Commande
|
|||
// Protection
|
||||
if ($this->statut == 0)
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::set_draft already draft status", LOG_WARNING);
|
||||
dol_syslog(get_class($this)."::set_draft already draft status", LOG_WARNING);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -428,7 +440,7 @@ class CommandeFournisseur extends Commande
|
|||
$sql.= " SET fk_statut = 0";
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
|
||||
dol_syslog("CommandeFournisseur::set_draft sql=".$sql, LOG_DEBUG);
|
||||
dol_syslog(get_class($this)."::set_draft sql=".$sql, LOG_DEBUG);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
// If stock is incremented on validate order, we must redecrement it
|
||||
|
|
@ -619,7 +631,7 @@ class CommandeFournisseur extends Commande
|
|||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db,"CommandeFournisseur::getNextNumRef ".$obj->error);
|
||||
dol_print_error($db, get_class($this)."::getNextNumRef ".$obj->error);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -649,7 +661,7 @@ class CommandeFournisseur extends Commande
|
|||
|
||||
$error=0;
|
||||
|
||||
dol_syslog(get_class($this)."::Approve");
|
||||
dol_syslog(get_class($this)."::approve");
|
||||
|
||||
if ($user->rights->fournisseur->commande->approuver)
|
||||
{
|
||||
|
|
@ -708,13 +720,13 @@ class CommandeFournisseur extends Commande
|
|||
{
|
||||
$this->db->rollback();
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog("CommandeFournisseur::Approve Error ",$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::approve Error ",$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::Approve Not Authorized", LOG_ERR);
|
||||
dol_syslog(get_class($this)."::approve Not Authorized", LOG_ERR);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -731,7 +743,7 @@ class CommandeFournisseur extends Commande
|
|||
|
||||
$error=0;
|
||||
|
||||
dol_syslog("CommandeFournisseur::Refuse");
|
||||
dol_syslog(get_class($this)."::refuse");
|
||||
$result = 0;
|
||||
if ($user->rights->fournisseur->commande->approuver)
|
||||
{
|
||||
|
|
@ -755,13 +767,13 @@ class CommandeFournisseur extends Commande
|
|||
}
|
||||
else
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::Refuse Error -1");
|
||||
dol_syslog(get_class($this)."::refuse Error -1");
|
||||
$result = -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::Refuse Not Authorized");
|
||||
dol_syslog(get_class($this)."::refuse Not Authorized");
|
||||
}
|
||||
return $result ;
|
||||
}
|
||||
|
|
@ -789,7 +801,7 @@ class CommandeFournisseur extends Commande
|
|||
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = ".$statut;
|
||||
$sql .= " WHERE rowid = ".$this->id;
|
||||
dol_syslog("CommandeFournisseur::Cancel sql=".$sql);
|
||||
dol_syslog(get_class($this)."::cancel sql=".$sql);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
$result = 0;
|
||||
|
|
@ -818,13 +830,13 @@ class CommandeFournisseur extends Commande
|
|||
{
|
||||
$this->db->rollback();
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog("CommandeFournisseur::Cancel ".$this->error);
|
||||
dol_syslog(get_class($this)."::cancel ".$this->error);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::Cancel Not Authorized");
|
||||
dol_syslog(get_class($this)."::cancel Not Authorized");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -841,14 +853,14 @@ class CommandeFournisseur extends Commande
|
|||
*/
|
||||
function commande($user, $date, $methode, $comment='')
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::Commande");
|
||||
dol_syslog(get_class($this)."::commande");
|
||||
$result = 0;
|
||||
if ($user->rights->fournisseur->commande->commander)
|
||||
{
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = 3, fk_methode_commande=".$methode.",date_commande=".$this->db->idate("$date");
|
||||
$sql .= " WHERE rowid = ".$this->id;
|
||||
|
||||
dol_syslog("CommandeFournisseur::Commande sql=".$sql, LOG_DEBUG);
|
||||
dol_syslog(get_class($this)."::commande sql=".$sql, LOG_DEBUG);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
$result = 0;
|
||||
|
|
@ -856,13 +868,13 @@ class CommandeFournisseur extends Commande
|
|||
}
|
||||
else
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::Commande Error -1", LOG_ERR);
|
||||
dol_syslog(get_class($this)."::cCommande Error -1", LOG_ERR);
|
||||
$result = -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::Commande User not Authorized", LOG_ERR);
|
||||
dol_syslog(get_class($this)."::commande User not Authorized", LOG_ERR);
|
||||
}
|
||||
return $result ;
|
||||
}
|
||||
|
|
@ -890,7 +902,7 @@ class CommandeFournisseur extends Commande
|
|||
$sql.= ", entity";
|
||||
$sql.= ", fk_soc";
|
||||
$sql.= ", date_creation";
|
||||
$sql.= ", date_livraison";
|
||||
//$sql.= ", date_livraison";
|
||||
$sql.= ", fk_user_author";
|
||||
$sql.= ", fk_statut";
|
||||
$sql.= ", source";
|
||||
|
|
@ -902,7 +914,7 @@ class CommandeFournisseur extends Commande
|
|||
$sql.= ", ".$conf->entity;
|
||||
$sql.= ", ".$this->socid;
|
||||
$sql.= ", ".$this->db->idate($now);
|
||||
$sql.= ", ".$this->db->idate($now);
|
||||
//$sql.= ", ".$this->db->idate($now);
|
||||
$sql.= ", ".$user->id;
|
||||
$sql.= ", 0";
|
||||
$sql.= ", 0";
|
||||
|
|
@ -974,7 +986,7 @@ class CommandeFournisseur extends Commande
|
|||
{
|
||||
global $langs,$mysoc;
|
||||
|
||||
dol_syslog("FournisseurCommande::addline $desc, $pu_ht, $qty, $txtva, $txlocaltax1, $txlocaltax2. $fk_product, $fk_prod_fourn_price, $fourn_ref, $remise_percent, $price_base_type, $pu_ttc, $type");
|
||||
dol_syslog(get_class($this)."::addline $desc, $pu_ht, $qty, $txtva, $txlocaltax1, $txlocaltax2. $fk_product, $fk_prod_fourn_price, $fourn_ref, $remise_percent, $price_base_type, $pu_ttc, $type");
|
||||
include_once(DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php');
|
||||
|
||||
// Clean parameters
|
||||
|
|
@ -1032,14 +1044,14 @@ class CommandeFournisseur extends Commande
|
|||
{
|
||||
$this->error="No price found for this quantity. Quantity may be too low ?";
|
||||
$this->db->rollback();
|
||||
dol_syslog("FournisseurCommande::addline result=".$result." - ".$this->error, LOG_DEBUG);
|
||||
dol_syslog(get_class($this)."::addline result=".$result." - ".$this->error, LOG_DEBUG);
|
||||
return -1;
|
||||
}
|
||||
if ($result < -1)
|
||||
{
|
||||
$this->error=$prod->error;
|
||||
$this->db->rollback();
|
||||
dol_syslog("Fournisseur.commande::addline result=".$result." - ".$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::addline result=".$result." - ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1093,7 +1105,7 @@ class CommandeFournisseur extends Commande
|
|||
$sql.= "'".price2num($total_ttc)."'";
|
||||
$sql.= ")";
|
||||
|
||||
dol_syslog('FournisseurCommande::addline sql='.$sql);
|
||||
dol_syslog(get_class($this)."::addline sql=".$sql);
|
||||
$resql=$this->db->query($sql);
|
||||
//print $sql;
|
||||
if ($resql)
|
||||
|
|
@ -1107,7 +1119,7 @@ class CommandeFournisseur extends Commande
|
|||
{
|
||||
$this->error=$this->db->error();
|
||||
$this->db->rollback();
|
||||
dol_syslog('FournisseurCommande::addline '.$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::addline ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1148,7 +1160,7 @@ class CommandeFournisseur extends Commande
|
|||
$sql.= " (fk_commande,fk_product, qty, fk_entrepot, fk_user, datec) VALUES ";
|
||||
$sql.= " ('".$this->id."','".$product."','".$qty."',".($entrepot>0?"'".$entrepot."'":"null").",'".$user->id."','".$this->db->idate($now)."')";
|
||||
|
||||
dol_syslog("CommandeFournisseur::DispatchProduct sql=".$sql);
|
||||
dol_syslog(get_class($this)."::DispatchProduct sql=".$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql)
|
||||
{
|
||||
|
|
@ -1166,7 +1178,7 @@ class CommandeFournisseur extends Commande
|
|||
if ($result < 0)
|
||||
{
|
||||
$this->error=$mouv->error;
|
||||
dol_syslog("CommandeFournisseur::DispatchProduct ".$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::DispatchProduct ".$this->error, LOG_ERR);
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
|
|
@ -1236,14 +1248,14 @@ class CommandeFournisseur extends Commande
|
|||
$this->db->begin();
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE fk_commande =". $this->id ;
|
||||
dol_syslog("FournisseurCommande::delete sql=".$sql, LOG_DEBUG);
|
||||
dol_syslog(get_class($this)."::delete sql=".$sql, LOG_DEBUG);
|
||||
if (! $this->db->query($sql) )
|
||||
{
|
||||
$error++;
|
||||
}
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseur WHERE rowid =".$this->id;
|
||||
dol_syslog("FournisseurCommande::delete sql=".$sql, LOG_DEBUG);
|
||||
dol_syslog(get_class($this)."::delete sql=".$sql, LOG_DEBUG);
|
||||
if ($resql = $this->db->query($sql) )
|
||||
{
|
||||
if ($this->db->affected_rows($resql) < 1)
|
||||
|
|
@ -1265,7 +1277,7 @@ class CommandeFournisseur extends Commande
|
|||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
|
||||
dol_syslog("CommandeFournisseur::delete : Success");
|
||||
dol_syslog(get_class($this)."::delete : Success");
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -1322,7 +1334,7 @@ class CommandeFournisseur extends Commande
|
|||
{
|
||||
$result = 0;
|
||||
|
||||
dol_syslog("CommandeFournisseur::Livraison");
|
||||
dol_syslog(get_class($this)."::Livraison");
|
||||
|
||||
if ($user->rights->fournisseur->commande->receptionner)
|
||||
{
|
||||
|
|
@ -1340,7 +1352,7 @@ class CommandeFournisseur extends Commande
|
|||
$sql.= " WHERE rowid = ".$this->id;
|
||||
$sql.= " AND fk_statut IN (3,4)"; // Process running or Partially received
|
||||
|
||||
dol_syslog("CommandeFournisseur::Livraison sql=".$sql);
|
||||
dol_syslog(get_class($this)."::Livraison sql=".$sql);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
|
|
@ -1353,19 +1365,19 @@ class CommandeFournisseur extends Commande
|
|||
{
|
||||
$this->db->rollback();
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog("CommandeFournisseur::Livraison Error ".$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::Livraison Error ".$this->error, LOG_ERR);
|
||||
$result = -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::Livraison Error -2", LOG_ERR);
|
||||
dol_syslog(get_class($this)."::Livraison Error -2", LOG_ERR);
|
||||
$result = -2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_syslog("CommandeFournisseur::Livraison Not Authorized");
|
||||
dol_syslog(get_class($this)."::Livraison Not Authorized");
|
||||
$result = -3;
|
||||
}
|
||||
return $result ;
|
||||
|
|
@ -1386,7 +1398,7 @@ class CommandeFournisseur extends Commande
|
|||
$sql.= " SET date_livraison = ".($date_livraison ? "'".$this->db->idate($date_livraison)."'" : 'null');
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
|
||||
dol_syslog("CommandeFournisseur::set_date_livraison sql=".$sql,LOG_DEBUG);
|
||||
dol_syslog(get_class($this)."::set_date_livraison sql=".$sql,LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
|
|
@ -1396,7 +1408,7 @@ class CommandeFournisseur extends Commande
|
|||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dol_syslog("CommandeFournisseur::set_date_livraison ".$this->error,LOG_ERR);
|
||||
dol_syslog(get_class($this)."::set_date_livraison ".$this->error,LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1579,7 +1591,7 @@ class CommandeFournisseur extends Commande
|
|||
$sql.= ",product_type='".$type."'";
|
||||
$sql.= " WHERE rowid = ".$rowid;
|
||||
|
||||
dol_syslog("CommandeFournisseur::updateline sql=".$sql);
|
||||
dol_syslog(get_class($this)."::updateline sql=".$sql);
|
||||
$result = $this->db->query($sql);
|
||||
if ($result > 0)
|
||||
{
|
||||
|
|
@ -1592,7 +1604,7 @@ class CommandeFournisseur extends Commande
|
|||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dol_syslog("CommandeFournisseur::updateline ".$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::updateline ".$this->error, LOG_ERR);
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -1600,7 +1612,7 @@ class CommandeFournisseur extends Commande
|
|||
else
|
||||
{
|
||||
$this->error="Order status makes operation forbidden";
|
||||
dol_syslog("CommandeFournisseur::updateline ".$this->error, LOG_ERR);
|
||||
dol_syslog(get_class($this)."::updateline ".$this->error, LOG_ERR);
|
||||
return -2;
|
||||
}
|
||||
}
|
||||
|
|
@ -1617,7 +1629,7 @@ class CommandeFournisseur extends Commande
|
|||
{
|
||||
global $user,$langs,$conf;
|
||||
|
||||
dol_syslog("CommandeFournisseur::initAsSpecimen");
|
||||
dol_syslog(get_class($this)."::initAsSpecimen");
|
||||
|
||||
$now=dol_now();
|
||||
|
||||
|
|
@ -1742,8 +1754,7 @@ class CommandeFournisseur extends Commande
|
|||
|
||||
|
||||
/**
|
||||
* \class CommandeFournisseurLigne
|
||||
* \brief Classe de gestion des lignes de commande
|
||||
* Classe de gestion des lignes de commande
|
||||
*/
|
||||
class CommandeFournisseurLigne extends OrderLine
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<?php
|
||||
//============================================================+
|
||||
// File name : 2dbarcodes.php
|
||||
// Version : 1.0.009
|
||||
// Version : 1.0.013
|
||||
// Begin : 2009-04-07
|
||||
// Last Update : 2011-06-01
|
||||
// Author : Nicola Asuni - Tecnick.com S.r.l - Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
|
||||
// Last Update : 2012-01-12
|
||||
// Author : Nicola Asuni - Tecnick.com LTD - Manor Coach House, Church Hill, Aldershot, Hants, GU12 4RQ, UK - www.tecnick.com - info@tecnick.com
|
||||
// License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
|
||||
// -------------------------------------------------------------------
|
||||
// Copyright (C) 2009-2011 Nicola Asuni - Tecnick.com S.r.l.
|
||||
// Copyright (C) 2009-2012 Nicola Asuni - Tecnick.com LTD
|
||||
//
|
||||
// This file is part of TCPDF software library.
|
||||
//
|
||||
|
|
@ -37,14 +37,14 @@
|
|||
* PHP class to creates array representations for 2D barcodes to be used with TCPDF.
|
||||
* @package com.tecnick.tcpdf
|
||||
* @author Nicola Asuni
|
||||
* @version 1.0.009
|
||||
* @version 1.0.013
|
||||
*/
|
||||
|
||||
/**
|
||||
* @class TCPDF2DBarcode
|
||||
* PHP class to creates array representations for 2D barcodes to be used with TCPDF (http://www.tcpdf.org).
|
||||
* @package com.tecnick.tcpdf
|
||||
* @version 1.0.009
|
||||
* @version 1.0.013
|
||||
* @author Nicola Asuni
|
||||
*/
|
||||
class TCPDF2DBarcode {
|
||||
|
|
@ -63,7 +63,7 @@ class TCPDF2DBarcode {
|
|||
* <li>$arrcode['num_cols'] required number of columns</li>
|
||||
* <li>$arrcode['bcode'][$r][$c] value of the cell is $r row and $c column (0 = transparent, 1 = black)</li></ul>
|
||||
* @param $code (string) code to print
|
||||
* @param $type (string) type of barcode: <ul><li>RAW: raw mode - comma-separad list of array rows</li><li>RAW2: raw mode - array rows are surrounded by square parenthesis.</li><li>QRCODE : QR-CODE Low error correction</li><li>QRCODE,L : QR-CODE Low error correction</li><li>QRCODE,M : QR-CODE Medium error correction</li><li>QRCODE,Q : QR-CODE Better error correction</li><li>QRCODE,H : QR-CODE Best error correction</li><li>PDF417 : PDF417 (ISO/IEC 15438:2006)</li><li>PDF417,a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6 : PDF417 with parameters: a = aspect ratio (width/height); e = error correction level (0-8); t = total number of macro segments; s = macro segment index (0-99998); f = file ID; o0 = File Name (text); o1 = Segment Count (numeric); o2 = Time Stamp (numeric); o3 = Sender (text); o4 = Addressee (text); o5 = File Size (numeric); o6 = Checksum (numeric). NOTES: Parameters t, s and f are required for a Macro Control Block, all other parametrs are optional. To use a comma character ',' on text options, replace it with the character 255: "\xff".</li></ul>
|
||||
* @param $type (string) type of barcode: <ul><li>DATAMATRIX : Datamatrix (ISO/IEC 16022)</li><li>PDF417 : PDF417 (ISO/IEC 15438:2006)</li><li>PDF417,a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6 : PDF417 with parameters: a = aspect ratio (width/height); e = error correction level (0-8); t = total number of macro segments; s = macro segment index (0-99998); f = file ID; o0 = File Name (text); o1 = Segment Count (numeric); o2 = Time Stamp (numeric); o3 = Sender (text); o4 = Addressee (text); o5 = File Size (numeric); o6 = Checksum (numeric). NOTES: Parameters t, s and f are required for a Macro Control Block, all other parametrs are optional. To use a comma character ',' on text options, replace it with the character 255: "\xff".</li><li>QRCODE : QRcode Low error correction</li><li>QRCODE,L : QRcode Low error correction</li><li>QRCODE,M : QRcode Medium error correction</li><li>QRCODE,Q : QRcode Better error correction</li><li>QRCODE,H : QR-CODE Best error correction</li><li>RAW: raw mode - comma-separad list of array rows</li><li>RAW2: raw mode - array rows are surrounded by square parenthesis.</li><li>TEST : Test matrix</li></ul>
|
||||
*/
|
||||
public function __construct($code, $type) {
|
||||
$this->setBarcode($code, $type);
|
||||
|
|
@ -84,8 +84,8 @@ class TCPDF2DBarcode {
|
|||
* @param $color (string) Foreground color (in SVG format) for bar elements (background is transparent).
|
||||
* @public
|
||||
*/
|
||||
public function getBarcodeSVG($w=2, $h=3, $color='black') {
|
||||
// send XML headers
|
||||
public function getBarcodeSVG($w=3, $h=3, $color='black') {
|
||||
// send headers
|
||||
$code = $this->getBarcodeSVGcode($w, $h, $color);
|
||||
header('Content-Type: application/svg+xml');
|
||||
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
|
||||
|
|
@ -114,11 +114,10 @@ class TCPDF2DBarcode {
|
|||
$svg .= "\t".'<desc>'.strtr($this->barcode_array['code'], $repstr).'</desc>'."\n";
|
||||
$svg .= "\t".'<g id="elements" fill="'.$color.'" stroke="none">'."\n";
|
||||
// print barcode elements
|
||||
$xstart = 0;
|
||||
$y = 0;
|
||||
// for each row
|
||||
for ($r = 0; $r < $this->barcode_array['num_rows']; ++$r) {
|
||||
$x = $xstart;
|
||||
$x = 0;
|
||||
// for each column
|
||||
for ($c = 0; $c < $this->barcode_array['num_cols']; ++$c) {
|
||||
if ($this->barcode_array['bcode'][$r][$c] == 1) {
|
||||
|
|
@ -134,22 +133,112 @@ class TCPDF2DBarcode {
|
|||
return $svg;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an HTML representation of barcode.
|
||||
* @param $w (int) Width of a single rectangle element in pixels.
|
||||
* @param $h (int) Height of a single rectangle element in pixels.
|
||||
* @param $color (string) Foreground color for bar elements (background is transparent).
|
||||
* @return string HTML code.
|
||||
* @public
|
||||
*/
|
||||
public function getBarcodeHTML($w=10, $h=10, $color='black') {
|
||||
$html = '<div style="font-size:0;position:relative;width:'.($w * $this->barcode_array['num_cols']).'px;height:'.($h * $this->barcode_array['num_rows']).'px;">'."\n";
|
||||
// print barcode elements
|
||||
$y = 0;
|
||||
// for each row
|
||||
for ($r = 0; $r < $this->barcode_array['num_rows']; ++$r) {
|
||||
$x = 0;
|
||||
// for each column
|
||||
for ($c = 0; $c < $this->barcode_array['num_cols']; ++$c) {
|
||||
if ($this->barcode_array['bcode'][$r][$c] == 1) {
|
||||
// draw a single barcode cell
|
||||
$html .= '<div style="background-color:'.$color.';width:'.$w.'px;height:'.$h.'px;position:absolute;left:'.$x.'px;top:'.$y.'px;"> </div>'."\n";
|
||||
}
|
||||
$x += $w;
|
||||
}
|
||||
$y += $h;
|
||||
}
|
||||
$html .= '</div>'."\n";
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a PNG image representation of barcode (requires GD or Imagick library).
|
||||
* @param $w (int) Width of a single rectangle element in pixels.
|
||||
* @param $h (int) Height of a single rectangle element in pixels.
|
||||
* @param $color (array) RGB (0-255) foreground color for bar elements (background is transparent).
|
||||
* @return image or false in case of error.
|
||||
* @public
|
||||
*/
|
||||
public function getBarcodePNG($w=3, $h=3, $color=array(0,0,0)) {
|
||||
// calculate image size
|
||||
$width = ($this->barcode_array['num_cols'] * $w);
|
||||
$height = ($this->barcode_array['num_rows'] * $h);
|
||||
if (function_exists('imagecreate')) {
|
||||
// GD library
|
||||
$imagick = false;
|
||||
$png = imagecreate($width, $height);
|
||||
$bgcol = imagecolorallocate($png, 255, 255, 255);
|
||||
imagecolortransparent($png, $bgcol);
|
||||
$fgcol = imagecolorallocate($png, $color[0], $color[1], $color[2]);
|
||||
} elseif (extension_loaded('imagick')) {
|
||||
$imagick = true;
|
||||
$bgcol = new imagickpixel('rgb(255,255,255');
|
||||
$fgcol = new imagickpixel('rgb('.$color[0].','.$color[1].','.$color[2].')');
|
||||
$png = new Imagick();
|
||||
$png->newImage($width, $height, 'none', 'png');
|
||||
$bar = new imagickdraw();
|
||||
$bar->setfillcolor($fgcol);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
// print barcode elements
|
||||
$y = 0;
|
||||
// for each row
|
||||
for ($r = 0; $r < $this->barcode_array['num_rows']; ++$r) {
|
||||
$x = 0;
|
||||
// for each column
|
||||
for ($c = 0; $c < $this->barcode_array['num_cols']; ++$c) {
|
||||
if ($this->barcode_array['bcode'][$r][$c] == 1) {
|
||||
// draw a single barcode cell
|
||||
if ($imagick) {
|
||||
$bar->rectangle($x, $y, ($x + $w), ($y + $h));
|
||||
} else {
|
||||
imagefilledrectangle($png, $x, $y, ($x + $w), ($y + $h), $fgcol);
|
||||
}
|
||||
}
|
||||
$x += $w;
|
||||
}
|
||||
$y += $h;
|
||||
}
|
||||
// send headers
|
||||
header('Content-Type: image/png');
|
||||
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
|
||||
header('Pragma: public');
|
||||
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
|
||||
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
|
||||
if ($imagick) {
|
||||
$png->drawimage($bar);
|
||||
echo $png;
|
||||
} else {
|
||||
imagepng($png);
|
||||
imagedestroy($png);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the barcode.
|
||||
* @param $code (string) code to print
|
||||
* @param $type (string) type of barcode: <ul><li>RAW: raw mode - comma-separad list of array rows</li><li>RAW2: raw mode - array rows are surrounded by square parenthesis.</li><li>QRCODE : QR-CODE Low error correction</li><li>QRCODE,L : QR-CODE Low error correction</li><li>QRCODE,M : QR-CODE Medium error correction</li><li>QRCODE,Q : QR-CODE Better error correction</li><li>QRCODE,H : QR-CODE Best error correction</li><li>PDF417 : PDF417 (ISO/IEC 15438:2006)</li><li>PDF417,a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6 : PDF417 with parameters: a = aspect ratio (width/height); e = error correction level (0-8); t = total number of macro segments; s = macro segment index (0-99998); f = file ID; o0 = File Name (text); o1 = Segment Count (numeric); o2 = Time Stamp (numeric); o3 = Sender (text); o4 = Addressee (text); o5 = File Size (numeric); o6 = Checksum (numeric). NOTES: Parameters t, s and f are required for a Macro Control Block, all other parametrs are optional. To use a comma character ',' on text options, replace it with the character 255: "\xff".</li></ul>
|
||||
* @param $type (string) type of barcode: <ul><li>DATAMATRIX : Datamatrix (ISO/IEC 16022)</li><li>PDF417 : PDF417 (ISO/IEC 15438:2006)</li><li>PDF417,a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6 : PDF417 with parameters: a = aspect ratio (width/height); e = error correction level (0-8); t = total number of macro segments; s = macro segment index (0-99998); f = file ID; o0 = File Name (text); o1 = Segment Count (numeric); o2 = Time Stamp (numeric); o3 = Sender (text); o4 = Addressee (text); o5 = File Size (numeric); o6 = Checksum (numeric). NOTES: Parameters t, s and f are required for a Macro Control Block, all other parametrs are optional. To use a comma character ',' on text options, replace it with the character 255: "\xff".</li><li>QRCODE : QRcode Low error correction</li><li>QRCODE,L : QRcode Low error correction</li><li>QRCODE,M : QRcode Medium error correction</li><li>QRCODE,Q : QRcode Better error correction</li><li>QRCODE,H : QR-CODE Best error correction</li><li>RAW: raw mode - comma-separad list of array rows</li><li>RAW2: raw mode - array rows are surrounded by square parenthesis.</li><li>TEST : Test matrix</li></ul>
|
||||
* @return array
|
||||
*/
|
||||
public function setBarcode($code, $type) {
|
||||
$mode = explode(',', $type);
|
||||
$qrtype = strtoupper($mode[0]);
|
||||
switch ($qrtype) {
|
||||
case 'QRCODE': { // QR-CODE
|
||||
require_once(dirname(__FILE__).'/qrcode.php');
|
||||
if (!isset($mode[1]) OR (!in_array($mode[1],array('L','M','Q','H')))) {
|
||||
$mode[1] = 'L'; // Ddefault: Low error correction
|
||||
}
|
||||
$qrcode = new QRcode($code, strtoupper($mode[1]));
|
||||
case 'DATAMATRIX': { // DATAMATRIX (ISO/IEC 16022)
|
||||
require_once(dirname(__FILE__).'/datamatrix.php');
|
||||
$qrcode = new Datamatrix($code);
|
||||
$this->barcode_array = $qrcode->getBarcodeArray();
|
||||
$this->barcode_array['code'] = $code;
|
||||
break;
|
||||
|
|
@ -185,6 +274,16 @@ class TCPDF2DBarcode {
|
|||
$this->barcode_array['code'] = $code;
|
||||
break;
|
||||
}
|
||||
case 'QRCODE': { // QR-CODE
|
||||
require_once(dirname(__FILE__).'/qrcode.php');
|
||||
if (!isset($mode[1]) OR (!in_array($mode[1],array('L','M','Q','H')))) {
|
||||
$mode[1] = 'L'; // Ddefault: Low error correction
|
||||
}
|
||||
$qrcode = new QRcode($code, strtoupper($mode[1]));
|
||||
$this->barcode_array = $qrcode->getBarcodeArray();
|
||||
$this->barcode_array['code'] = $code;
|
||||
break;
|
||||
}
|
||||
case 'RAW':
|
||||
case 'RAW2': { // RAW MODE
|
||||
// remove spaces
|
||||
|
|
|
|||
|
|
@ -1,3 +1,227 @@
|
|||
5.9.156 (2012-04-10)
|
||||
- Bug item #3515885 "TOC and booklet: left and right page exchanged".
|
||||
- SetAutoPageBreak(false) now works also in multicolumn mode.
|
||||
|
||||
5.9.155 (2012-04-02)
|
||||
- Bug item #3512596 "font import problems" was fixed.
|
||||
- Method addTTFfont() was modified to extract only specified Platform ID and Encoding ID (check the source code documentation).
|
||||
- All fonts were updated.
|
||||
- Bug item #3513867 "booklet and setHeaderTemplateAutoreset: header shifted left" was fixed.
|
||||
- Bug item #3513749 "TCPDF Superscript/Subscript" was fixed.
|
||||
|
||||
5.9.154 (2012-03-29)
|
||||
- A debug echo was removed.
|
||||
|
||||
5.9.153 (2012-03-28)
|
||||
- A bug on font conversion was fixed.
|
||||
- All fonts were updated.
|
||||
- Method isCharDefined() was added to find if a character is defined on the selected font.
|
||||
- Method replaceMissingChars() was added to automatically replace missing chars on selected font.
|
||||
- SetFont() method was fixed.
|
||||
|
||||
5.9.152 (2012-03-23)
|
||||
- The following overprint methods were added: setOverprint(), getOverprint().
|
||||
- Signature of setAlpha() method was changed and method getAlpha() was added.
|
||||
- stroke-opacity support was added on SVG.
|
||||
- The following date methods were added: setDocCreationTimestamp(), setDocModificationTimestamp(), getDocCreationTimestamp(), getDocModificationTimestamp(), getFormattedDate(), getTimestamp().
|
||||
- Signature of _datestring() method was changed.
|
||||
- Method getFontBBox() was added.
|
||||
- Method setPageBoxTypes() was aded.
|
||||
|
||||
5.9.151 (2012-03-22)
|
||||
- Bug item #3509889 "Transform() distorts PDF" was fixed.
|
||||
- Precision of real number were extended.
|
||||
- ComboBox and ListBox methods were fixed.
|
||||
- Bulgarian language file was added.
|
||||
- addTOC() method was improved to include bookmark color and font style.
|
||||
|
||||
5.9.150 (2012-03-16)
|
||||
- A bug related to form fields in PDF/A mode was fixed.
|
||||
|
||||
5.9.149 (2012-02-21)
|
||||
- Bug item #3489933 "SVG Parser treats tspan like text" was fixed.
|
||||
|
||||
5.9.148 (2012-02-17)
|
||||
- Bug item #3488600 "Multiple radiobutton sets get first set value" was fixed.
|
||||
|
||||
5.9.147 (2012-02-14)
|
||||
- A problem with SVG gradients has been fixed.
|
||||
|
||||
5.9.146 (2012-02-12)
|
||||
- Bug item #3486880 "$filehash undefine error" was fixed.
|
||||
- The default font is now the one specified at PDF_FONT_NAME_MAIN constant.
|
||||
|
||||
5.9.145 (2012-01-28)
|
||||
- Japanese language file was added.
|
||||
- TCPDF license and README.TXT files were updated.
|
||||
|
||||
5.9.144 (2012-01-12)
|
||||
- HTML output on barcode classes was improved.
|
||||
|
||||
5.9.143 (2012-01-08)
|
||||
- Bug item #3471057 "setCreator() has no effect" was fixed.
|
||||
|
||||
5.9.142 (2011-12-23)
|
||||
- Source code documentation was updated.
|
||||
|
||||
5.9.141 (2011-12-14)
|
||||
- Some minor bugs were fixed.
|
||||
|
||||
5.9.140 (2011-12-13)
|
||||
- SVG now supports embedded images encoded as base64.
|
||||
|
||||
5.9.139 (2011-12-11)
|
||||
- Spot color methods were fixed.
|
||||
|
||||
5.9.138 (2011-12-10)
|
||||
- cropMark() method was improved (check source code documentation).
|
||||
- Example n. 56 was updated.
|
||||
- Bug item #3452390 "Check Box still not ticked when set to true" was fixed.
|
||||
|
||||
5.9.137 (2011-12-01)
|
||||
- Bug item #3447005 "Background color and border of Form Elements is printed" was fixed.
|
||||
- Color support for Form elements was improved.
|
||||
|
||||
5.9.136 (2011-11-27)
|
||||
- Bug item #3443387 "SetMargins with keep option does not work for top margin" was fixed.
|
||||
|
||||
5.9.135 (2011-11-04)
|
||||
- Bug item #3433406 "Double keywords in description" was fixed.
|
||||
|
||||
5.9.134 (2011-10-29)
|
||||
- The default value for $defcol parameter on convertHTMLColorToDec() method was fixed.
|
||||
- Deafult HTTP headers were changed to avoid browser caching.
|
||||
- Some deprecated syntax were replaced.
|
||||
|
||||
5.9.133 (2011-10-26)
|
||||
- Bug item #3428446 "copyPage method not working when diskcache enabled" was fixed.
|
||||
|
||||
5.9.132 (2011-10-20)
|
||||
- Bug item #3426167 "bug in function convertHTMLColorToDec()" was fixed.
|
||||
|
||||
5.9.131 (2011-10-13)
|
||||
- An error message was added to ImagePngAlpha() method.
|
||||
|
||||
5.9.130 (2011-10-12)
|
||||
- Now you can set image data strings on HTML img tag by encoding the image binary data in this way: $imgsrc = '@'.base64_encode($imgdata);
|
||||
|
||||
5.9.129 (2011-10-07)
|
||||
- Core fonts metrics was fixed (replace all helvetica and times php files on fonts folder).
|
||||
- Form fields support was improved and some problems were fixed (check the example n. 14).
|
||||
- Bug item #3420249 "Issue with booklet and MultiCell" was fixed.
|
||||
|
||||
5.9.128 (2011-10-06)
|
||||
- Method addTTFfont() was improved (check the source code documentation).
|
||||
- Method setExtraXMP() to set custom XMP data was added.
|
||||
|
||||
5.9.127 (2011-10-04)
|
||||
- Readonly mode option was activated for radiobuttons.
|
||||
|
||||
5.9.126 (2011-10-03)
|
||||
- Bug item #3417989 "Graphics State operator in form XObject fails to render" was fixed.
|
||||
- Xobjects problems with transparency, gradients and spot colors were fixed.
|
||||
|
||||
5.9.125 (2011-10-03)
|
||||
- Support for 8-digit CMYK hexadecimal color representation was added (to be used with XHTML and SVG).
|
||||
- Spot colors support was improved (check example n. 37).
|
||||
- Color methods were improved.
|
||||
|
||||
5.9.124 (2011-10-02)
|
||||
- Core fonts were updated.
|
||||
|
||||
5.9.123 (2011-10-02)
|
||||
- The method addTTFfont() wad added to automatically convert TTF fonts (check the new fonts guide at http://www.tcpdf.org).
|
||||
- Old font utils were removed.
|
||||
- All fonts were updated and new arabic fonts were added (almohanad were removed and replaced by aefurat and aealarabiya).
|
||||
- The file unicode_data.php was updated.
|
||||
- The file encodings_maps.php was added.
|
||||
- PDF/A files are now compressed to save space.
|
||||
- XHTML input form fields now support text-alignment attribute.
|
||||
|
||||
5.9.122 (2011-09-29)
|
||||
- PDF/A-1b compliance was improved to pass some online testing.
|
||||
|
||||
5.9.121 (2011-09-28)
|
||||
- This version includes support for PDF/A-1b format (the class constructor signature was changed - see example n. 65).
|
||||
- Method setSRGBmode() was added to force sRGB_IEC61966-2.1 black scaled ICC color profile for the whole document (file sRGB.icc was added).
|
||||
- 14 new fonts were added to allow embedding core fonts (for PDF/A compliance).
|
||||
- Font utils were fixed.
|
||||
|
||||
5.9.120 (2011-09-22)
|
||||
- This version includes a fix for _getTrueTypeFontSubset() method.
|
||||
|
||||
5.9.119 (2011-09-19)
|
||||
- This version includes a fix for extra page numbering on TOC.
|
||||
|
||||
5.9.118 (2011-09-17)
|
||||
- This version includes some changes that allows you to add a bookmark for a page that do not exist.
|
||||
|
||||
5.9.117 (2011-09-15)
|
||||
- TCPDFBarcode and TCPDF2DBarcode classes were extended to include a method for exporting barcodes as PNG images.
|
||||
|
||||
5.9.116 (2011-09-14)
|
||||
- Datamatrix class was improved and documentation was fixed.
|
||||
|
||||
5.9.115 (2011-09-13)
|
||||
- Datamatrix ECC200 barcode support was added (a new datamatrix.php file was added) - check example n. 50.
|
||||
- getBarcodeHTML() method was added on TCPDFBarcode and TCPDF2DBarcode classes to return an HTML representation of the barcode.
|
||||
- cURL options on Image() method were improved.
|
||||
- A bug on write2DBarcode() was fixed.
|
||||
|
||||
5.9.114 (2011-09-04)
|
||||
- A bug related to column position was fixed.
|
||||
|
||||
5.9.113 (2011-08-24)
|
||||
- This release include two new experimental files for parsing an existing PDF document (the integration with TCPDF is under development).
|
||||
|
||||
5.9.112 (2011-08-18)
|
||||
- A newline character was added after the 'trailer' keyword for compatibility with some parsers.
|
||||
- Support for layers was improved.
|
||||
|
||||
5.9.111 (2011-08-17)
|
||||
- Barcode CODE 39 default gap was restored at 1.
|
||||
|
||||
5.9.110 (2011-08-17)
|
||||
- Barcode CODE 39 was fixed.
|
||||
|
||||
5.9.109 (2011-08-12)
|
||||
- Method getNumLines() was fixed.
|
||||
- A bug related to page break in multi-column mode was fixed.
|
||||
|
||||
5.9.108 (2011-08-09)
|
||||
- A bug on PHP4 version was fixed.
|
||||
|
||||
5.9.107 (2011-08-08)
|
||||
- This version includes a minor bugfix.
|
||||
|
||||
5.9.106 (2011-08-04)
|
||||
- This version includes transparency groups: check the new parameter on startTemplate() method and example 62.
|
||||
|
||||
5.9.105 (2011-08-04)
|
||||
- Bug item #3386153 "Check Box not ticked when set to true" was fixed.
|
||||
|
||||
5.9.104 (2011-08-01)
|
||||
- Bug item #3383698 "imagemagick, resize and dpi" was fixed.
|
||||
|
||||
5.9.103 (2011-07-16)
|
||||
- Alignment of XHTML lines was improved.
|
||||
- Spell of the "length" word was fixed.
|
||||
|
||||
5.9.102 (2011-07-13)
|
||||
- Methods startLayer() and endLayer() were added to support arbitrary PDF layers.
|
||||
- Some improvements/fixes for images were added (thanks to Brendan Abbott).
|
||||
|
||||
5.9.101 (2011-07-07)
|
||||
- Support for JPEG and PNG ICC Color Profiles was added.
|
||||
- Method addEmptySignatureAppearance() was added to add empty signature fields (see example n. 52).
|
||||
- Bug item #3354332 "Strange line spacing with reduced font-size in writeHTML" was fixed.
|
||||
|
||||
5.9.100 (2011-06-29)
|
||||
- An SVG bug has been fixed.
|
||||
|
||||
5.9.099 (2011-06-27)
|
||||
- Bug item #3335045 "Font freesans seems somehow corrupted in footer" was fixed.
|
||||
|
||||
5.9.098 (2011-06-23)
|
||||
- The Named Destination feature was fixed.
|
||||
|
||||
|
|
@ -13,7 +237,7 @@
|
|||
- Font subsetting was fixed to include all parts of composite fonts.
|
||||
|
||||
5.9.094 (2011-06-17)
|
||||
- Bug item #3317898 "Page Group numbering broken in 5.9.093" was fixed.
|
||||
- Bug item #3317898 "Page Group numbering broken in 5.9.093" was fixed.
|
||||
|
||||
5.9.093 (2011-06-16)
|
||||
- Method setStartingPageNumber() was added to set starting page number (for automatic page numbering).
|
||||
|
|
|
|||
|
|
@ -5,9 +5,7 @@
|
|||
TCPDF is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version. Additionally,
|
||||
YOU CAN'T REMOVE ANY TCPDF COPYRIGHT NOTICE OR LINK FROM THE
|
||||
GENERATED PDF DOCUMENTS.
|
||||
License, or (at your option) any later version.
|
||||
|
||||
**********************************************************************
|
||||
**********************************************************************
|
||||
|
|
|
|||
|
|
@ -8,16 +8,16 @@ http://sourceforge.net/donate/index.php?group_id=128076
|
|||
------------------------------------------------------------
|
||||
|
||||
Name: TCPDF
|
||||
Version: 5.9.098
|
||||
Release date: 2011-06-23
|
||||
Version: 5.9.156
|
||||
Release date: 2012-04-10
|
||||
Author: Nicola Asuni
|
||||
|
||||
Copyright (c) 2002-2011:
|
||||
Copyright (c) 2002-2012:
|
||||
Nicola Asuni
|
||||
Tecnick.com s.r.l.
|
||||
Via Della Pace, 11
|
||||
09044 Quartucciu (CA)
|
||||
ITALY
|
||||
Tecnick.com LTD
|
||||
Manor Coach House, Church Hill
|
||||
Aldershot, Hants, GU12 4RQ
|
||||
UK
|
||||
www.tecnick.com
|
||||
|
||||
URLs:
|
||||
|
|
@ -31,13 +31,13 @@ Main Features:
|
|||
* no external libraries are required for the basic functions;
|
||||
* all standard page formats, custom page formats, custom margins and units of measure;
|
||||
* UTF-8 Unicode and Right-To-Left languages;
|
||||
* TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0 fonts;
|
||||
* TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 and CID-0 fonts;
|
||||
* font subsetting;
|
||||
* methods to publish some XHTML + CSS code, Javascript and Forms;
|
||||
* images, graphic (geometric figures) and transformation methods;
|
||||
* supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http: www.imagemagick.org/www/formats.html)
|
||||
* 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, QR-Code, PDF417;
|
||||
* Grayscale, RGB, CMYK, Spot Colors and Transparencies;
|
||||
* 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417;
|
||||
* JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
|
||||
* automatic page header and footer management;
|
||||
* document encryption up to 256 bit and digital signature certifications;
|
||||
* transactions to UNDO commands;
|
||||
|
|
@ -53,6 +53,8 @@ Main Features:
|
|||
* move and delete pages;
|
||||
* page compression (requires php-zlib extension);
|
||||
* XOBject Templates;
|
||||
* Layers and object visibility.
|
||||
* PDF/A-1b support.
|
||||
|
||||
Installation (full instructions on http: www.tcpdf.org):
|
||||
1. copy the folder on your Web server
|
||||
|
|
@ -60,21 +62,18 @@ Installation (full instructions on http: www.tcpdf.org):
|
|||
3. call the examples/example_001.php page with your browser to see an example
|
||||
|
||||
Source Code Documentation:
|
||||
doc/index.html
|
||||
http://www.tcpdf.org/doc/
|
||||
http://www.tcpdf.org
|
||||
|
||||
For Additional Documentation:
|
||||
Additional Documentation:
|
||||
http://www.tcpdf.org
|
||||
|
||||
License
|
||||
Copyright (C) 2002-2011 Nicola Asuni - Tecnick.com S.r.l.
|
||||
Copyright (C) 2002-2012 Nicola Asuni - Tecnick.com LTD
|
||||
|
||||
TCPDF is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version. Additionally,
|
||||
YOU CAN'T REMOVE ANY TCPDF COPYRIGHT NOTICE OR LINK FROM THE
|
||||
GENERATED PDF DOCUMENTS.
|
||||
License, or (at your option) any later version.
|
||||
|
||||
TCPDF is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
|
|
@ -87,4 +86,12 @@ License
|
|||
|
||||
See LICENSE.TXT file for more information.
|
||||
|
||||
Third party fonts
|
||||
This library includes third party font files released with different licenses.
|
||||
These fonts are not required by TCPDF but have been included as you convenience.
|
||||
The original TTF font files have been renamed for compatibility with TCPDF and compressed using the gzcompress PHP function that uses the ZLIB data format (.z files).
|
||||
To get the original distribution archives please check the information on fonts subfolders:
|
||||
- DejaVu fonts 2.33 (Bitstream) - Copyright, License and other info: fonts/dejavu-fonts-ttf-2.33
|
||||
- GNU FreeFont (GNU-GPLv3) - Copyright, License and other info: fonts/freefont-20100919
|
||||
|
||||
============================================================
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<?php
|
||||
//============================================================+
|
||||
// File name : barcodes.php
|
||||
// Version : 1.0.017
|
||||
// Version : 1.0.023
|
||||
// Begin : 2008-06-09
|
||||
// Last Update : 2011-06-01
|
||||
// Author : Nicola Asuni - Tecnick.com S.r.l - Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
|
||||
// Last Update : 2012-01-14
|
||||
// Author : Nicola Asuni - Tecnick.com LTD - Manor Coach House, Church Hill, Aldershot, Hants, GU12 4RQ, UK - www.tecnick.com - info@tecnick.com
|
||||
// License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
|
||||
// -------------------------------------------------------------------
|
||||
// Copyright (C) 2008-2011 Nicola Asuni - Tecnick.com S.r.l.
|
||||
// Copyright (C) 2008-2012 Nicola Asuni - Tecnick.com LTD
|
||||
//
|
||||
// This file is part of TCPDF software library.
|
||||
//
|
||||
|
|
@ -37,14 +37,14 @@
|
|||
* PHP class to creates array representations for common 1D barcodes to be used with TCPDF.
|
||||
* @package com.tecnick.tcpdf
|
||||
* @author Nicola Asuni
|
||||
* @version 1.0.017
|
||||
* @version 1.0.023
|
||||
*/
|
||||
|
||||
/**
|
||||
* @class TCPDFBarcode
|
||||
* PHP class to creates array representations for common 1D barcodes to be used with TCPDF (http://www.tcpdf.org).<br>
|
||||
* @package com.tecnick.tcpdf
|
||||
* @version 1.0.017
|
||||
* @version 1.0.023
|
||||
* @author Nicola Asuni
|
||||
*/
|
||||
class TCPDFBarcode {
|
||||
|
|
@ -91,7 +91,7 @@ class TCPDFBarcode {
|
|||
* @public
|
||||
*/
|
||||
public function getBarcodeSVG($w=2, $h=30, $color='black') {
|
||||
// send XML headers
|
||||
// send headers
|
||||
$code = $this->getBarcodeSVGcode($w, $h, $color);
|
||||
header('Content-Type: application/svg+xml');
|
||||
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
|
||||
|
|
@ -136,6 +136,93 @@ class TCPDFBarcode {
|
|||
return $svg;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an HTML representation of barcode.
|
||||
* @param $w (int) Width of a single bar element in pixels.
|
||||
* @param $h (int) Height of a single bar element in pixels.
|
||||
* @param $color (string) Foreground color for bar elements (background is transparent).
|
||||
* @return string HTML code.
|
||||
* @public
|
||||
*/
|
||||
public function getBarcodeHTML($w=2, $h=30, $color='black') {
|
||||
$html = '<div style="font-size:0;position:relative;width:'.($this->barcode_array['maxw'] * $w).'px;height:'.($h).'px;">'."\n";
|
||||
// print bars
|
||||
$x = 0;
|
||||
foreach ($this->barcode_array['bcode'] as $k => $v) {
|
||||
$bw = round(($v['w'] * $w), 3);
|
||||
$bh = round(($v['h'] * $h / $this->barcode_array['maxh']), 3);
|
||||
if ($v['t']) {
|
||||
$y = round(($v['p'] * $h / $this->barcode_array['maxh']), 3);
|
||||
// draw a vertical bar
|
||||
$html .= '<div style="background-color:'.$color.';width:'.$bw.'px;height:'.$bh.'px;position:absolute;left:'.$x.'px;top:'.$y.'px;"> </div>'."\n";
|
||||
}
|
||||
$x += $bw;
|
||||
}
|
||||
$html .= '</div>'."\n";
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a PNG image representation of barcode (requires GD or Imagick library).
|
||||
* @param $w (int) Width of a single bar element in pixels.
|
||||
* @param $h (int) Height of a single bar element in pixels.
|
||||
* @param $color (array) RGB (0-255) foreground color for bar elements (background is transparent).
|
||||
* @return image or false in case of error.
|
||||
* @public
|
||||
*/
|
||||
public function getBarcodePNG($w=2, $h=30, $color=array(0,0,0)) {
|
||||
// calculate image size
|
||||
$width = ($this->barcode_array['maxw'] * $w);
|
||||
$height = $h;
|
||||
if (function_exists('imagecreate')) {
|
||||
// GD library
|
||||
$imagick = false;
|
||||
$png = imagecreate($width, $height);
|
||||
$bgcol = imagecolorallocate($png, 255, 255, 255);
|
||||
imagecolortransparent($png, $bgcol);
|
||||
$fgcol = imagecolorallocate($png, $color[0], $color[1], $color[2]);
|
||||
} elseif (extension_loaded('imagick')) {
|
||||
$imagick = true;
|
||||
$bgcol = new imagickpixel('rgb(255,255,255');
|
||||
$fgcol = new imagickpixel('rgb('.$color[0].','.$color[1].','.$color[2].')');
|
||||
$png = new Imagick();
|
||||
$png->newImage($width, $height, 'none', 'png');
|
||||
$bar = new imagickdraw();
|
||||
$bar->setfillcolor($fgcol);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
// print bars
|
||||
$x = 0;
|
||||
foreach ($this->barcode_array['bcode'] as $k => $v) {
|
||||
$bw = round(($v['w'] * $w), 3);
|
||||
$bh = round(($v['h'] * $h / $this->barcode_array['maxh']), 3);
|
||||
if ($v['t']) {
|
||||
$y = round(($v['p'] * $h / $this->barcode_array['maxh']), 3);
|
||||
// draw a vertical bar
|
||||
if ($imagick) {
|
||||
$bar->rectangle($x, $y, ($x + $bw), ($y + $bh));
|
||||
} else {
|
||||
imagefilledrectangle($png, $x, $y, ($x + $bw), ($y + $bh), $fgcol);
|
||||
}
|
||||
}
|
||||
$x += $bw;
|
||||
}
|
||||
// send headers
|
||||
header('Content-Type: image/png');
|
||||
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
|
||||
header('Pragma: public');
|
||||
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
|
||||
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
|
||||
if ($imagick) {
|
||||
$png->drawimage($bar);
|
||||
echo $png;
|
||||
} else {
|
||||
imagepng($png);
|
||||
imagedestroy($png);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the barcode.
|
||||
* @param $code (string) code to print
|
||||
|
|
@ -284,50 +371,50 @@ class TCPDFBarcode {
|
|||
* @protected
|
||||
*/
|
||||
protected function barcode_code39($code, $extended=false, $checksum=false) {
|
||||
$chr['0'] = '111221211';
|
||||
$chr['1'] = '211211112';
|
||||
$chr['2'] = '112211112';
|
||||
$chr['3'] = '212211111';
|
||||
$chr['4'] = '111221112';
|
||||
$chr['5'] = '211221111';
|
||||
$chr['6'] = '112221111';
|
||||
$chr['7'] = '111211212';
|
||||
$chr['8'] = '211211211';
|
||||
$chr['9'] = '112211211';
|
||||
$chr['A'] = '211112112';
|
||||
$chr['B'] = '112112112';
|
||||
$chr['C'] = '212112111';
|
||||
$chr['D'] = '111122112';
|
||||
$chr['E'] = '211122111';
|
||||
$chr['F'] = '112122111';
|
||||
$chr['G'] = '111112212';
|
||||
$chr['H'] = '211112211';
|
||||
$chr['I'] = '112112211';
|
||||
$chr['J'] = '111122211';
|
||||
$chr['K'] = '211111122';
|
||||
$chr['L'] = '112111122';
|
||||
$chr['M'] = '212111121';
|
||||
$chr['N'] = '111121122';
|
||||
$chr['O'] = '211121121';
|
||||
$chr['P'] = '112121121';
|
||||
$chr['Q'] = '111111222';
|
||||
$chr['R'] = '211111221';
|
||||
$chr['S'] = '112111221';
|
||||
$chr['T'] = '111121221';
|
||||
$chr['U'] = '221111112';
|
||||
$chr['V'] = '122111112';
|
||||
$chr['W'] = '222111111';
|
||||
$chr['X'] = '121121112';
|
||||
$chr['Y'] = '221121111';
|
||||
$chr['Z'] = '122121111';
|
||||
$chr['-'] = '121111212';
|
||||
$chr['.'] = '221111211';
|
||||
$chr[' '] = '122111211';
|
||||
$chr['$'] = '121212111';
|
||||
$chr['/'] = '121211121';
|
||||
$chr['+'] = '121112121';
|
||||
$chr['%'] = '111212121';
|
||||
$chr['*'] = '121121211';
|
||||
$chr['0'] = '111331311';
|
||||
$chr['1'] = '311311113';
|
||||
$chr['2'] = '113311113';
|
||||
$chr['3'] = '313311111';
|
||||
$chr['4'] = '111331113';
|
||||
$chr['5'] = '311331111';
|
||||
$chr['6'] = '113331111';
|
||||
$chr['7'] = '111311313';
|
||||
$chr['8'] = '311311311';
|
||||
$chr['9'] = '113311311';
|
||||
$chr['A'] = '311113113';
|
||||
$chr['B'] = '113113113';
|
||||
$chr['C'] = '313113111';
|
||||
$chr['D'] = '111133113';
|
||||
$chr['E'] = '311133111';
|
||||
$chr['F'] = '113133111';
|
||||
$chr['G'] = '111113313';
|
||||
$chr['H'] = '311113311';
|
||||
$chr['I'] = '113113311';
|
||||
$chr['J'] = '111133311';
|
||||
$chr['K'] = '311111133';
|
||||
$chr['L'] = '113111133';
|
||||
$chr['M'] = '313111131';
|
||||
$chr['N'] = '111131133';
|
||||
$chr['O'] = '311131131';
|
||||
$chr['P'] = '113131131';
|
||||
$chr['Q'] = '111111333';
|
||||
$chr['R'] = '311111331';
|
||||
$chr['S'] = '113111331';
|
||||
$chr['T'] = '111131331';
|
||||
$chr['U'] = '331111113';
|
||||
$chr['V'] = '133111113';
|
||||
$chr['W'] = '333111111';
|
||||
$chr['X'] = '131131113';
|
||||
$chr['Y'] = '331131111';
|
||||
$chr['Z'] = '133131111';
|
||||
$chr['-'] = '131111313';
|
||||
$chr['.'] = '331111311';
|
||||
$chr[' '] = '133111311';
|
||||
$chr['$'] = '131313111';
|
||||
$chr['/'] = '131311131';
|
||||
$chr['+'] = '131113131';
|
||||
$chr['%'] = '111313131';
|
||||
$chr['*'] = '131131311';
|
||||
$code = strtoupper($code);
|
||||
if ($extended) {
|
||||
// extended mode
|
||||
|
|
@ -362,6 +449,7 @@ class TCPDFBarcode {
|
|||
$bararray['maxw'] += $w;
|
||||
++$k;
|
||||
}
|
||||
// intercharacter gap
|
||||
$bararray['bcode'][$k] = array('t' => false, 'w' => 1, 'h' => 1, 'p' => 0);
|
||||
$bararray['maxw'] += 1;
|
||||
++$k;
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
47
htdocs/includes/tcpdf/config/lang/bul.php
Normal file
47
htdocs/includes/tcpdf/config/lang/bul.php
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
//============================================================+
|
||||
// File name : bul.php
|
||||
// Begin : 2004-03-03
|
||||
// Last Update : 2010-03-22
|
||||
//
|
||||
// Description : Language module for TCPDF
|
||||
// (contains translated texts)
|
||||
// Arabic
|
||||
//
|
||||
// Author: Nicola Asuni
|
||||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
||||
/**
|
||||
* TCPDF language file (contains translated texts).
|
||||
* @package com.tecnick.tcpdf
|
||||
* @brief TCPDF language file: Bulgarian
|
||||
* @author Nicola Asuni
|
||||
* @since 2012-03-22
|
||||
*/
|
||||
|
||||
// Bulgarian
|
||||
|
||||
global $l;
|
||||
$l = Array();
|
||||
|
||||
// PAGE META DESCRIPTORS --------------------------------------
|
||||
|
||||
$l['a_meta_charset'] = 'UTF-8';
|
||||
$l['a_meta_dir'] = 'ltr';
|
||||
$l['a_meta_language'] = 'bg';
|
||||
|
||||
// TRANSLATIONS --------------------------------------
|
||||
$l['w_page'] = 'страница';
|
||||
|
||||
//============================================================+
|
||||
// END OF FILE
|
||||
//============================================================+
|
||||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
//============================================================+
|
||||
// File name : ces.php
|
||||
// Begin : 2010-10-26
|
||||
// Last Update : 2010-10-26
|
||||
// Last Update : 2010-11-22
|
||||
//
|
||||
// Description : Language module for TCPDF
|
||||
// (contains translated texts)
|
||||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
@ -40,7 +40,7 @@ $l['a_meta_dir'] = 'ltr';
|
|||
$l['a_meta_language'] = 'cs';
|
||||
|
||||
// TRANSLATIONS --------------------------------------
|
||||
$l['w_page'] = 'stránky';
|
||||
$l['w_page'] = 'stránka';
|
||||
|
||||
//============================================================+
|
||||
// END OF FILE
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
47
htdocs/includes/tcpdf/config/lang/jpn.php
Normal file
47
htdocs/includes/tcpdf/config/lang/jpn.php
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
//============================================================+
|
||||
// File name : jpn.php
|
||||
// Begin : 2011-01-24
|
||||
// Last Update : 2011-01-24
|
||||
//
|
||||
// Description : Language module for TCPDF
|
||||
// (contains translated texts)
|
||||
// Japanese
|
||||
//
|
||||
// Author: Nicola Asuni - Translation by redcocker
|
||||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
||||
/**
|
||||
* TCPDF language file (contains translated texts).
|
||||
* @package com.tecnick.tcpdf
|
||||
* @brief TCPDF language file: Japanese
|
||||
* @author Nicola Asuni - Translation by redcocker
|
||||
* @since 2012-01-24
|
||||
*/
|
||||
|
||||
// Japanese
|
||||
|
||||
global $l;
|
||||
$l = Array();
|
||||
|
||||
// PAGE META DESCRIPTORS --------------------------------------
|
||||
|
||||
$l['a_meta_charset'] = 'UTF-8';
|
||||
$l['a_meta_dir'] = 'ltr';
|
||||
$l['a_meta_language'] = 'ja';
|
||||
|
||||
// TRANSLATIONS --------------------------------------
|
||||
$l['w_page'] = 'ページ';
|
||||
|
||||
//============================================================+
|
||||
// END OF FILE
|
||||
//============================================================+
|
||||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
//
|
||||
// (c) Copyright:
|
||||
// Nicola Asuni
|
||||
// Tecnick.com s.r.l.
|
||||
// Via Della Pace, 11
|
||||
// 09044 Quartucciu (CA)
|
||||
// ITALY
|
||||
// Tecnick.com LTD
|
||||
// Manor Coach House, Church Hill
|
||||
// Aldershot, Hants, GU12 4RQ
|
||||
// UK
|
||||
// www.tecnick.com
|
||||
// info@tecnick.com
|
||||
//============================================================+
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user