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)
|
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
|
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
|
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:
|
JS libraries:
|
||||||
jQuery 1.7.1 GPL and MIT Licence Yes JS library
|
jQuery 1.7.1 GPL and MIT Licence Yes JS library
|
||||||
|
|||||||
@ -2,8 +2,13 @@
|
|||||||
English Dolibarr ChangeLog
|
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 *****
|
***** 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, ...).
|
with format .DEB (for Debian, Ubuntu, ...).
|
||||||
|
|
||||||
# To build a debian package, you need first
|
# To build a debian package, you need first
|
||||||
# apt-get -i debhelper
|
# apt-get -i debhelper dpkg-source gpg lintian
|
||||||
# apt-get -i dpkg-source
|
|
||||||
# apt-get -i gpg
|
|
||||||
|
|
||||||
|
|
||||||
# This is standard command to work on Debian packaging:
|
# 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 --purge Remove config files and interactive saved answers
|
||||||
#
|
#
|
||||||
# dpkg-buildpackage -us -uc Build a source and binary package
|
# dpkg-buildpackage -us -uc Build a source and binary package
|
||||||
|
#
|
||||||
|
# gdebi package.deb Install a package + dependencies
|
||||||
|
|
||||||
To submit a package to Debian:
|
To submit a package to Debian:
|
||||||
|
|
||||||
|
|||||||
@ -9,13 +9,11 @@ Build-Depends: debhelper (>= 7), po-debconf, dpatch
|
|||||||
Package: dolibarr
|
Package: dolibarr
|
||||||
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
|
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
|
||||||
php5-mysql | php5-mysqli,
|
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,
|
libphp-adodb,
|
||||||
libfpdi-php,
|
|
||||||
libfpdf-tpl-php,
|
|
||||||
libnusoap-php,
|
libnusoap-php,
|
||||||
libphp-pclzip,
|
libphp-pclzip,
|
||||||
libjs-jquery, libjs-jquery-ui, libjs-flot, ckeditor,
|
libjs-jquery, libjs-jquery-ui, ckeditor,
|
||||||
ttf-dejavu-core,
|
ttf-dejavu-core,
|
||||||
xdg-utils,
|
xdg-utils,
|
||||||
mysql-server,
|
mysql-server,
|
||||||
|
|||||||
@ -6,11 +6,10 @@ Installed-Size: 61200
|
|||||||
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
|
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
|
||||||
php5-mysql | php5-mysqli,
|
php5-mysql | php5-mysqli,
|
||||||
php5-cli, php5-curl, php5-gd, php5-ldap, php-pear, php-mail-mime, php5-geoip,
|
php5-cli, php5-curl, php5-gd, php5-ldap, php-pear, php-mail-mime, php5-geoip,
|
||||||
|
libphp-adodb,
|
||||||
libnusoap-php,
|
libnusoap-php,
|
||||||
libphp-pclzip,
|
libphp-pclzip,
|
||||||
libfpdi-php,
|
libjs-jquery, libjs-jquery-ui, ckeditor,
|
||||||
libfpdf-tpl-php,
|
|
||||||
ckeditor,
|
|
||||||
ttf-dejavu-core,
|
ttf-dejavu-core,
|
||||||
xdg-utils,
|
xdg-utils,
|
||||||
mysql-server
|
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
|
Dolibarr was designed to be easy to use. Only features you need are
|
||||||
visible, depending on which module were activated.
|
visible, depending on which module were activated.
|
||||||
|
Most common used modules are:
|
||||||
.
|
.
|
||||||
Customers, Suppliers or Prospects directory,
|
Customers, Suppliers or Prospects directory,
|
||||||
Contacts directory,
|
Contacts directory,
|
||||||
|
|||||||
@ -83,8 +83,9 @@ case "$1" in
|
|||||||
chown -R root:www-data $installconfig
|
chown -R root:www-data $installconfig
|
||||||
chmod -R 660 $installconfig
|
chmod -R 660 $installconfig
|
||||||
|
|
||||||
if [ ! -s $config ]
|
# If a conf already exists and its content was already completed by installer
|
||||||
then
|
if [ ! -s $config ] || ! grep -q "File generated by" $config
|
||||||
|
then
|
||||||
# Create an empty conf.php with permission to web server
|
# Create an empty conf.php with permission to web server
|
||||||
echo Create empty file $config
|
echo Create empty file $config
|
||||||
touch $config
|
touch $config
|
||||||
@ -93,17 +94,17 @@ case "$1" in
|
|||||||
else
|
else
|
||||||
# File already exist. We add params not found.
|
# File already exist. We add params not found.
|
||||||
echo Add new params to overwrite path to use shared libraries/fonts
|
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_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 || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $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_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_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 || echo "<?php \$dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip'; ?>" >> $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_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_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_CKEDITOR" $config || [ ! -d "/usr/share/javascript/ckeditor" ] || 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" $config || [ ! -d "/usr/share/javascript/jquery" ] || 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_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 || echo "<?php \$dolibarr_js_JQUERY_FLOT='/javascript/flot'; ?>" >> $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
|
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
|
fi
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,8 @@
|
|||||||
#
|
#
|
||||||
# see: dh_installdeb(1)
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
set -e
|
#set -e
|
||||||
|
set +e
|
||||||
|
|
||||||
# summary of how this script can be called:
|
# summary of how this script can be called:
|
||||||
# * <postrm> `remove'
|
# * <postrm> `remove'
|
||||||
|
|||||||
@ -27,7 +27,7 @@ $force_install_lockinstall='444';
|
|||||||
|
|
||||||
// Value to overwrite path to use shared libraries/fonts instead of embedded one
|
// 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_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_GEOIP_PATH='';
|
||||||
$force_dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
|
$force_dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
|
||||||
$force_dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip';
|
$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_CKEDITOR='/javascript/ckeditor';
|
||||||
$force_dolibarr_js_JQUERY='/javascript/jquery';
|
$force_dolibarr_js_JQUERY='/javascript/jquery';
|
||||||
$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
|
$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';
|
$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/jstree
|
||||||
rm -fr htdocs/includes/jquery/plugins/lightbox
|
rm -fr htdocs/includes/jquery/plugins/lightbox
|
||||||
rm -fr htdocs/includes/jquery/plugins/mobile
|
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/PDF
|
||||||
rm -fr htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip
|
rm -fr htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip
|
||||||
rm -fr htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-2.33
|
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
|
# This could be handy for archiving the generated documentation or
|
||||||
# if some version control system is used.
|
# 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)
|
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
|
||||||
# base path where the generated documentation will be put.
|
# base path where the generated documentation will be put.
|
||||||
|
|||||||
@ -217,6 +217,26 @@ echo Create document directory $docdir
|
|||||||
# Set correct owner on config files
|
# Set correct owner on config files
|
||||||
%{__chown} -R root:$apachegroup /etc/dolibarr/*
|
%{__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
|
# Create config for se $seconfig
|
||||||
echo Add SE Linux permissions for dolibarr
|
echo Add SE Linux permissions for dolibarr
|
||||||
# semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local
|
# semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local
|
||||||
|
|||||||
@ -254,6 +254,26 @@ fi
|
|||||||
# Set correct owner on config files
|
# Set correct owner on config files
|
||||||
%{__chown} -R root:$apachegroup /etc/dolibarr/*
|
%{__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
|
# Create config for se $seconfig
|
||||||
if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then
|
if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then
|
||||||
echo Add SE Linux permissions for dolibarr
|
echo Add SE Linux permissions for dolibarr
|
||||||
|
|||||||
@ -214,6 +214,26 @@ echo Create document directory $docdir
|
|||||||
# Set correct owner on config files
|
# Set correct owner on config files
|
||||||
%{__chown} -R root:$apachegroup /etc/dolibarr/*
|
%{__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
|
# Create a config link dolibarr.conf
|
||||||
if [ ! -L $apachelink ]; then
|
if [ ! -L $apachelink ]; then
|
||||||
echo Create dolibarr web server config link $apachelink
|
echo Create dolibarr web server config link $apachelink
|
||||||
|
|||||||
@ -219,6 +219,26 @@ echo Create document directory $docdir
|
|||||||
# Set correct owner on config files
|
# Set correct owner on config files
|
||||||
%{__chown} -R root:$apachegroup /etc/dolibarr/*
|
%{__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
|
# Create a config link dolibarr.conf
|
||||||
if [ ! -L $apachelink ]; then
|
if [ ! -L $apachelink ]; then
|
||||||
echo Create dolibarr web server config link $apachelink
|
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='/javascript/jquery';
|
||||||
//$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
|
//$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';
|
$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
|
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) {
|
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
|
* Replace in tcpdf_config.php
|
||||||
define ('K_PATH_CACHE', K_PATH_MAIN.'cache/');
|
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//'`;
|
export mydir=`echo "$0" | sed -e 's/initdemo.sh//'`;
|
||||||
if [ "x$mydir" = "x" ]
|
if [ "x$mydir" = "x" ]
|
||||||
then
|
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");
|
$langs->load("mails");
|
||||||
|
|
||||||
|
|
||||||
|
$action=GETPOST('action','alpha');
|
||||||
|
$rowid=GETPOST('rowid','int');
|
||||||
|
$typeid=GETPOST('typeid','int');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if (! $user->rights->adherent->cotisation->lire) accessforbidden();
|
$result=restrictedArea($user,'adherent',$rowid);
|
||||||
|
|
||||||
$object = new Adherent($db);
|
$object = new Adherent($db);
|
||||||
$extrafields = new ExtraFields($db);
|
$extrafields = new ExtraFields($db);
|
||||||
@ -50,10 +54,6 @@ $errmsg='';
|
|||||||
$defaultdelay=1;
|
$defaultdelay=1;
|
||||||
$defaultdelayunit='y';
|
$defaultdelayunit='y';
|
||||||
|
|
||||||
$action=GETPOST('action');
|
|
||||||
$rowid=GETPOST('rowid');
|
|
||||||
$typeid=GETPOST('typeid');
|
|
||||||
|
|
||||||
if ($rowid)
|
if ($rowid)
|
||||||
{
|
{
|
||||||
// Load member
|
// Load member
|
||||||
|
|||||||
@ -968,7 +968,7 @@ class Adherent extends CommonObject
|
|||||||
*/
|
*/
|
||||||
function fetch($rowid,$ref='',$fk_soc='')
|
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 = "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,";
|
$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."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.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON d.rowid = u.fk_member";
|
||||||
$sql.= " WHERE d.fk_adherent_type = t.rowid";
|
$sql.= " WHERE d.fk_adherent_type = t.rowid";
|
||||||
$sql.= " AND d.entity = ".$conf->entity;
|
if ($rowid) $sql.= " AND d.rowid=".$rowid;
|
||||||
if ($ref) $sql.= " AND d.rowid='".$ref."'";
|
elseif ($ref || $fk_soc) {
|
||||||
elseif ($fk_soc) $sql.= " AND d.fk_soc='".$fk_soc."'";
|
$sql.= " AND d.entity IN (".getEntity().")";
|
||||||
else $sql.= " AND d.rowid=".$rowid;
|
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);
|
dol_syslog(get_class($this)."::fetch sql=".$sql);
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2002-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2002-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
* 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>
|
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -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.class.php");
|
||||||
require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_type.class.php");
|
require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_type.class.php");
|
||||||
|
|
||||||
|
$langs->load("members");
|
||||||
$langs->load("companies");
|
$langs->load("companies");
|
||||||
$langs->load('other');
|
$langs->load('other');
|
||||||
|
|
||||||
|
$id=GETPOST('id','int');
|
||||||
|
$action=GETPOST('action','alpha');
|
||||||
|
$confirm=GETPOST('confirm','alpha');
|
||||||
$mesg = "";
|
$mesg = "";
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$id = GETPOST('id','int');
|
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
{
|
{
|
||||||
$id = $user->societe_id;
|
$id = $user->societe_id;
|
||||||
}
|
}
|
||||||
//$result = restrictedArea($user, 'societe', $id);
|
$result=restrictedArea($user,'adherent',$id);
|
||||||
|
|
||||||
// Get parameters
|
// Get parameters
|
||||||
$sortfield = GETPOST("sortfield",'alpha');
|
$sortfield = GETPOST("sortfield",'alpha');
|
||||||
@ -65,7 +68,7 @@ $upload_dir = $conf->adherent->dir_output . "/" . get_exdir($id,2,0,1) . '/' . $
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Envoie fichier
|
// 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");
|
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
|
// 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).
|
$file = $upload_dir . "/" . $_GET['urlfile']; // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP).
|
||||||
dol_delete_file($file);
|
dol_delete_file($file);
|
||||||
@ -197,21 +200,21 @@ if ($id > 0)
|
|||||||
/*
|
/*
|
||||||
* Confirmation suppression fichier
|
* 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>';
|
if ($ret == 'html') print '<br>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Affiche formulaire upload
|
// Affiche formulaire upload
|
||||||
$formfile=new FormFile($db);
|
$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
|
// List of document
|
||||||
$param='&socid='.$societe->id;
|
$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>";
|
print "<br><br>";
|
||||||
}
|
}
|
||||||
@ -226,9 +229,7 @@ else
|
|||||||
print $langs->trans("ErrorRecordNotFound");
|
print $langs->trans("ErrorRecordNotFound");
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -41,21 +41,22 @@ $langs->load("bills");
|
|||||||
$langs->load("members");
|
$langs->load("members");
|
||||||
$langs->load("users");
|
$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
|
// Security check
|
||||||
if (! $user->rights->adherent->lire) accessforbidden();
|
$result=restrictedArea($user,'adherent',$rowid);
|
||||||
|
|
||||||
$object = new Adherent($db);
|
$object = new Adherent($db);
|
||||||
$extrafields = new ExtraFields($db);
|
$extrafields = new ExtraFields($db);
|
||||||
|
|
||||||
$errmsg=''; $errmsgs=array();
|
$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)
|
if ($rowid > 0)
|
||||||
{
|
{
|
||||||
// Load member
|
// Load member
|
||||||
@ -67,16 +68,12 @@ if ($rowid > 0)
|
|||||||
if ($object->user_id)
|
if ($object->user_id)
|
||||||
{
|
{
|
||||||
// $user est le user qui edite, $object->user_id est l'id de l'utilisateur lies au membre edite
|
// $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)
|
$caneditfielduser=((($user->id == $object->user_id) && $user->rights->user->self->creer)
|
||||||
|| (($user->id != $object->user_id) && $user->rights->user->user->creer) );
|
|| (($user->id != $object->user_id) && $user->rights->user->user->creer));
|
||||||
$caneditpassworduser=( (($user->id == $object->user_id) && $user->rights->user->self->password)
|
$caneditpassworduser=((($user->id == $object->user_id) && $user->rights->user->self->password)
|
||||||
|| (($user->id != $object->user_id) && $user->rights->user->user->password) );
|
|| (($user->id != $object->user_id) && $user->rights->user->user->password));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
accessforbidden();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Define variables to know what current user can do on members
|
// Define variables to know what current user can do on members
|
||||||
$canaddmember=$user->rights->adherent->creer;
|
$canaddmember=$user->rights->adherent->creer;
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
|
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
|
||||||
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
* 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
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -59,7 +60,10 @@ $AdherentType=array();
|
|||||||
$sql = "SELECT t.rowid, t.libelle, t.cotisation,";
|
$sql = "SELECT t.rowid, t.libelle, t.cotisation,";
|
||||||
$sql.= " d.statut, count(d.rowid) as somme";
|
$sql.= " d.statut, count(d.rowid) as somme";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent_type as t";
|
$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";
|
$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);
|
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)
|
// 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 = "SELECT count(*) as somme , d.fk_adherent_type";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t";
|
$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.entity IN (".getEntity().")";
|
||||||
$sql.= " WHERE d.statut = 1 AND d.datefin >= ".$db->idate($now);
|
//$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.= " AND t.rowid = d.fk_adherent_type";
|
||||||
$sql.= " GROUP BY 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.= " a.tms as datem, datefin as date_end_subscription,";
|
||||||
$sql.= " ta.rowid as typeid, ta.libelle, ta.cotisation";
|
$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.= " 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->order("a.tms","DESC");
|
||||||
$sql.= $db->plimit($max, 0);
|
$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.= " 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.= " 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.= " 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->order("c.tms","DESC");
|
||||||
$sql.= $db->plimit($max, 0);
|
$sql.= $db->plimit($max, 0);
|
||||||
|
|
||||||
@ -350,7 +357,8 @@ $numb=0;
|
|||||||
|
|
||||||
$sql = "SELECT c.cotisation, c.dateadh";
|
$sql = "SELECT c.cotisation, c.dateadh";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."cotisation as c";
|
$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 != '')
|
if(isset($date_select) && $date_select != '')
|
||||||
{
|
{
|
||||||
$sql .= " AND dateadh LIKE '$date_select%'";
|
$sql .= " AND dateadh LIKE '$date_select%'";
|
||||||
@ -406,7 +414,6 @@ print '</td></tr>';
|
|||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2005-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* 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
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -32,8 +32,10 @@ $langs->load("bills");
|
|||||||
$langs->load("members");
|
$langs->load("members");
|
||||||
$langs->load("users");
|
$langs->load("users");
|
||||||
|
|
||||||
if (!$user->rights->adherent->lire)
|
$id=(GETPOST('id','int') ? GETPOST('id','int') : GETPOST('rowid','int'));
|
||||||
accessforbidden();
|
|
||||||
|
// 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');
|
llxHeader('',$langs->trans("Member"),'EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros');
|
||||||
|
|
||||||
$adh = new Adherent($db);
|
$adh = new Adherent($db);
|
||||||
$adh->id=$_GET["id"];
|
$adh->fetch($id);
|
||||||
$adh->fetch($_GET["id"]);
|
$adh->info($id);
|
||||||
$adh->info($_GET["id"]);
|
|
||||||
|
|
||||||
$head = member_prepare_head($adh);
|
$head = member_prepare_head($adh);
|
||||||
|
|
||||||
@ -59,7 +60,6 @@ print '</td></tr></table>';
|
|||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
llxFooter();
|
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.class.php');
|
||||||
require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_type.class.php");
|
require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_type.class.php");
|
||||||
|
|
||||||
$action=GETPOST('action');
|
$langs->load("companies");
|
||||||
$id=GETPOST('id','int');
|
$langs->load("members");
|
||||||
|
|
||||||
$langs->load("companies");
|
|
||||||
$langs->load("members");
|
|
||||||
$langs->load("bills");
|
$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);
|
$object = new Adherent($db);
|
||||||
$result=$object->fetch($id);
|
$result=$object->fetch($id);
|
||||||
@ -49,7 +50,7 @@ if ($result > 0)
|
|||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($_POST["action"] == 'update' && $user->rights->adherent->creer && ! $_POST["cancel"])
|
if ($action == 'update' && $user->rights->adherent->creer && ! $_POST["cancel"])
|
||||||
{
|
{
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
@ -174,7 +175,7 @@ if ($id)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -73,7 +73,8 @@ if ($mode)
|
|||||||
$data = array();
|
$data = array();
|
||||||
$sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, c.code, c.libelle as label";
|
$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.=" 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";
|
$sql.=" GROUP BY c.libelle, c.code";
|
||||||
//print $sql;
|
//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.=" 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_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.=" 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";
|
$sql.=" GROUP BY p.libelle, p.code, c.nom";
|
||||||
//print $sql;
|
//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.="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.=" FROM ".MAIN_DB_PREFIX."adherent as d";
|
||||||
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p on d.pays = p.rowid";
|
$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";
|
$sql.=" GROUP BY p.libelle, p.code, d.ville";
|
||||||
//print $sql;
|
//print $sql;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* 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
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
|
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
|
||||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* 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
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -49,8 +49,8 @@ $pagenext = $page + 1;
|
|||||||
if (! $sortorder) { $sortorder="DESC"; }
|
if (! $sortorder) { $sortorder="DESC"; }
|
||||||
if (! $sortfield) { $sortfield="d.nom"; }
|
if (! $sortfield) { $sortfield="d.nom"; }
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if (! $user->rights->adherent->lire) accessforbidden();
|
$result=restrictedArea($user,'adherent',$rowid,'adherent_type');
|
||||||
|
|
||||||
if (GETPOST('button_removefilter'))
|
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 = "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);
|
$result = $db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
@ -267,10 +268,8 @@ if ($rowid > 0)
|
|||||||
if ($action != 'edit')
|
if ($action != 'edit')
|
||||||
{
|
{
|
||||||
$adht = new AdherentType($db);
|
$adht = new AdherentType($db);
|
||||||
$adht->id = $rowid;
|
|
||||||
$adht->fetch($rowid);
|
$adht->fetch($rowid);
|
||||||
|
|
||||||
|
|
||||||
$h=0;
|
$h=0;
|
||||||
|
|
||||||
$head[$h][0] = $_SERVER["PHP_SELF"].'?rowid='.$adht->id;
|
$head[$h][0] = $_SERVER["PHP_SELF"].'?rowid='.$adht->id;
|
||||||
@ -344,7 +343,7 @@ if ($rowid > 0)
|
|||||||
$sql.= " t.libelle as type, t.cotisation";
|
$sql.= " t.libelle as type, t.cotisation";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t";
|
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t";
|
||||||
$sql.= " WHERE d.fk_adherent_type = t.rowid ";
|
$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;
|
$sql.= " AND t.rowid = ".$adht->id;
|
||||||
if ($sall)
|
if ($sall)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -156,7 +156,6 @@ if (is_resource($handle))
|
|||||||
// Info
|
// Info
|
||||||
$htmltooltip='';
|
$htmltooltip='';
|
||||||
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
|
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
|
||||||
$facture->type=0;
|
|
||||||
$nextval=$module->getNextValue($mysoc,$contract);
|
$nextval=$module->getNextValue($mysoc,$contract);
|
||||||
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
|
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
|
||||||
{
|
{
|
||||||
|
|||||||
@ -387,7 +387,6 @@ foreach ($dirmodels as $reldir)
|
|||||||
// Info
|
// Info
|
||||||
$htmltooltip='';
|
$htmltooltip='';
|
||||||
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
|
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
|
||||||
$facture->type=0;
|
|
||||||
$nextval=$module->getNextValue($mysoc,$expedition);
|
$nextval=$module->getNextValue($mysoc,$expedition);
|
||||||
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
|
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 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
* 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>
|
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -292,7 +292,6 @@ foreach ($conf->file->dol_document_root as $dirroot)
|
|||||||
// Info
|
// Info
|
||||||
$htmltooltip='';
|
$htmltooltip='';
|
||||||
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
|
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
|
||||||
$facture->type=0;
|
|
||||||
$nextval=$module->getNextValue($mysoc,$livraison);
|
$nextval=$module->getNextValue($mysoc,$livraison);
|
||||||
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
|
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
|
||||||
{
|
{
|
||||||
|
|||||||
@ -222,13 +222,13 @@ foreach ($dirmodels as $reldir)
|
|||||||
print '</td>'."\n";
|
print '</td>'."\n";
|
||||||
|
|
||||||
print '<td align="center">';
|
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');
|
print img_picto($langs->trans("Activated"),'switch_on');
|
||||||
}
|
}
|
||||||
else
|
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>';
|
print '</td>';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?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
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -167,10 +167,11 @@ if (preg_match('/^confirm/i',$choice))
|
|||||||
{
|
{
|
||||||
print '<br>';
|
print '<br>';
|
||||||
$formquestion=array();
|
$formquestion=array();
|
||||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?choice=allfiles',$langs->trans('Purge'),$langs->trans('ConfirmPurge').' '.img_warning(),'purge',$formquestion,'no',2);
|
print $form->formconfirm($_SERVER["PHP_SELF"].'?choice=allfiles', $langs->trans('Purge'), $langs->trans('ConfirmPurge').' '.img_warning(), 'purge', $formquestion, 'no', 2);
|
||||||
if ($ret == 'html') print '<br>';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
|
||||||
|
$db->close();
|
||||||
?>
|
?>
|
||||||
@ -87,7 +87,8 @@ $workflow=array(
|
|||||||
//, 'propal' => array('WORKFLOW_PROPAL_AUTOCREATE_INVOICE')
|
//, '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)
|
foreach($workflow as $child => $parents)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -75,7 +75,7 @@ if ($id || $ref)
|
|||||||
$objecttype = 'adherent&categorie';
|
$objecttype = 'adherent&categorie';
|
||||||
$objectid = isset($id)?$id:(isset($ref)?$ref:'');
|
$objectid = isset($id)?$id:(isset($ref)?$ref:'');
|
||||||
$dbtablename = 'adherent';
|
$dbtablename = 'adherent';
|
||||||
$fieldid = isset($ref)?'ref':'rowid';
|
$fieldid = ! empty($ref)?'ref':'rowid';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -55,14 +55,10 @@ class Categorie
|
|||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @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->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
|
* @param DoliDB $db Database handler
|
||||||
*/
|
*/
|
||||||
function Commande($db)
|
function __construct($db)
|
||||||
{
|
{
|
||||||
global $langs;
|
|
||||||
$langs->load('orders');
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
|
|
||||||
$this->remise = 0;
|
$this->remise = 0;
|
||||||
|
|||||||
@ -464,7 +464,28 @@ else if ($action == 'setconditions' && $user->rights->commande->creer)
|
|||||||
{
|
{
|
||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
$result=$object->setPaymentTerms(GETPOST('cond_reglement_id','int'));
|
$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)
|
else if ($action == 'setremisepercent' && $user->rights->commande->creer)
|
||||||
|
|||||||
@ -16,9 +16,7 @@
|
|||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
* or see http://www.gnu.org/
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -12,8 +12,7 @@
|
|||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -357,7 +357,11 @@ class Conf
|
|||||||
$this->product->limit_size=$this->global->PRODUIT_LIMIT_SIZE;
|
$this->product->limit_size=$this->global->PRODUIT_LIMIT_SIZE;
|
||||||
|
|
||||||
// conf->theme et $this->css
|
// 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->theme=$this->global->MAIN_THEME;
|
||||||
$this->css = "/theme/".$this->theme."/style.css.php";
|
$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 $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 $height Force height of box
|
||||||
* @param int $width Force width of bow
|
* @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)
|
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
|
* @return int Nb of loaded lines, 0 if already loaded, <0 if KO
|
||||||
*/
|
*/
|
||||||
function load_cache_vatrates($country_code)
|
function load_cache_vatrates($country_code)
|
||||||
{
|
{
|
||||||
|
global $langs;
|
||||||
|
|
||||||
if (count($this->cache_vatrates)) return 0; // Cache deja charge
|
if (count($this->cache_vatrates)) return 0; // Cache deja charge
|
||||||
|
|
||||||
$sql = "SELECT DISTINCT t.taux, t.recuperableonly";
|
$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)
|
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;
|
global $langs;
|
||||||
|
|
||||||
if ($value_as_key) $array=array_combine($array, $array);
|
if ($value_as_key) $array=array_combine($array, $array);
|
||||||
|
|
||||||
$out='<select id="'.$htmlname.'" '.($disabled?'disabled="disabled" ':'').'class="flat" name="'.$htmlname.'" '.($option != ''?$option:'').'>';
|
$out='<select id="'.$htmlname.'" '.($disabled?'disabled="disabled" ':'').'class="flat" name="'.$htmlname.'" '.($option != ''?$option:'').'>';
|
||||||
@ -3411,7 +3413,7 @@ class Form
|
|||||||
}
|
}
|
||||||
|
|
||||||
$out.='>';
|
$out.='>';
|
||||||
|
|
||||||
$newval=($translate?$langs->trans(ucfirst($value)):$value);
|
$newval=($translate?$langs->trans(ucfirst($value)):$value);
|
||||||
if ($key_in_label)
|
if ($key_in_label)
|
||||||
{
|
{
|
||||||
@ -3432,7 +3434,7 @@ class Form
|
|||||||
$out.="</select>";
|
$out.="</select>";
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show a multiselect form from an array.
|
* Show a multiselect form from an array.
|
||||||
*
|
*
|
||||||
@ -3472,7 +3474,7 @@ class Form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($array))
|
if (! empty($array))
|
||||||
{
|
{
|
||||||
foreach ($array as $key => $value)
|
foreach ($array as $key => $value)
|
||||||
@ -3495,7 +3497,7 @@ class Form
|
|||||||
$out.= ' selected="selected"';
|
$out.= ' selected="selected"';
|
||||||
}
|
}
|
||||||
$out.= '>';
|
$out.= '>';
|
||||||
|
|
||||||
$newval = ($translate ? $langs->trans(ucfirst($value)) : $value);
|
$newval = ($translate ? $langs->trans(ucfirst($value)) : $value);
|
||||||
$newval = ($key_in_label ? $key.' - '.$newval : $newval);
|
$newval = ($key_in_label ? $key.' - '.$newval : $newval);
|
||||||
$out.= dol_htmlentitiesbr($newval);
|
$out.= dol_htmlentitiesbr($newval);
|
||||||
@ -3504,7 +3506,7 @@ class Form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
$out.= '</select>'."\n";
|
$out.= '</select>'."\n";
|
||||||
|
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -130,7 +130,7 @@ class InfoBox
|
|||||||
{
|
{
|
||||||
//dol_print_error($db);
|
//dol_print_error($db);
|
||||||
$this->error=$db->error();
|
$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();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,7 +155,7 @@ class InfoBox
|
|||||||
|
|
||||||
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
|
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;
|
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.fk_user = ".$userid;
|
||||||
$sql.= " AND ".MAIN_DB_PREFIX."boxes.position = ".$zone;
|
$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);
|
$result = $db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
@ -192,7 +192,7 @@ class InfoBox
|
|||||||
$part=explode(':',$collist);
|
$part=explode(':',$collist);
|
||||||
$colonne=$part[0];
|
$colonne=$part[0];
|
||||||
$list=$part[1];
|
$list=$part[1];
|
||||||
dol_syslog(get_class($this)."::saveboxorder column=".$colonne.' list='.$list);
|
dol_syslog(get_class()."::saveboxorder column=".$colonne.' list='.$list);
|
||||||
|
|
||||||
$i=0;
|
$i=0;
|
||||||
$listarray=explode(',',$list);
|
$listarray=explode(',',$list);
|
||||||
@ -212,7 +212,7 @@ class InfoBox
|
|||||||
$sql.= " ".$userid;
|
$sql.= " ".$userid;
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::saveboxorder sql=".$sql);
|
dol_syslog(get_class()."::saveboxorder sql=".$sql);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
@ -238,7 +238,7 @@ class InfoBox
|
|||||||
{
|
{
|
||||||
$this->error=$db->lasterror();
|
$this->error=$db->lasterror();
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
dol_syslog(get_class($this)."::saveboxorder ".$this->error);
|
dol_syslog(get_class()."::saveboxorder ".$this->error);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2163,7 +2163,7 @@ function dol_print_error($db='',$error='')
|
|||||||
$syslog.=", msg=".$msg;
|
$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();
|
xdebug_print_function_stack();
|
||||||
$out.='<b>XDebug informations:</b>'."<br>\n";
|
$out.='<b>XDebug informations:</b>'."<br>\n";
|
||||||
|
|||||||
@ -241,7 +241,7 @@ class pdf_edison extends ModelePDFCommandes
|
|||||||
$nblineFollowDesc = 0;
|
$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);
|
$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_top_in_current_page=$tab_top_newpage;
|
||||||
$tab_height_in_current_page=$tab_height_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)
|
if ($pagenb == 1)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -71,7 +71,7 @@ class ModelNumRefContracts
|
|||||||
/**
|
/**
|
||||||
* Test if existing numbers make problems with numbering
|
* 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()
|
function canBeActivated()
|
||||||
{
|
{
|
||||||
@ -81,9 +81,11 @@ class ModelNumRefContracts
|
|||||||
/**
|
/**
|
||||||
* Return next value
|
* 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;
|
global $langs;
|
||||||
return $langs->trans("NotAvailable");
|
return $langs->trans("NotAvailable");
|
||||||
|
|||||||
@ -114,9 +114,11 @@ abstract class ModelNumRefExpedition
|
|||||||
/**
|
/**
|
||||||
* Return next value
|
* 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;
|
global $langs;
|
||||||
return $langs->trans("NotAvailable");
|
return $langs->trans("NotAvailable");
|
||||||
|
|||||||
@ -350,7 +350,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
$tab_top_in_current_page=$tab_top_newpage;
|
$tab_top_in_current_page=$tab_top_newpage;
|
||||||
$tab_height_in_current_page=$tab_height_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)
|
if ($pagenb == 1)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -260,7 +260,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
$pdf->MultiCell(21, 3, $total_excl_tax, 0, 'R', 0);
|
$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);
|
$this->_tableau($pdf, $tab_top, $tab_height, $nexY, $object, $outputlangs);
|
||||||
$nexY = $iniY;
|
$nexY = $iniY;
|
||||||
|
|||||||
@ -106,7 +106,7 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder
|
|||||||
* @param Object $object Object we need next value for
|
* @param Object $object Object we need next value for
|
||||||
* @return string Value if KO, <0 if KO
|
* @return string Value if KO, <0 if KO
|
||||||
*/
|
*/
|
||||||
function getNextValue($objsoc=0,$object='')
|
function getNextValue($objsoc,$object)
|
||||||
{
|
{
|
||||||
global $db,$conf;
|
global $db,$conf;
|
||||||
|
|
||||||
|
|||||||
@ -102,16 +102,16 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
|
|||||||
* Return next value
|
* Return next value
|
||||||
*
|
*
|
||||||
* @param Societe $objsoc Object third party
|
* @param Societe $objsoc Object third party
|
||||||
* @param Object $livraison Object delivery
|
* @param Object $object Object delivery
|
||||||
* @return string Value if OK, 0 if KO
|
* @return string Value if OK, 0 if KO
|
||||||
*/
|
*/
|
||||||
function getNextValue($objsoc=0,$livraison='')
|
function getNextValue($objsoc,$object)
|
||||||
{
|
{
|
||||||
global $db,$conf;
|
global $db,$conf;
|
||||||
|
|
||||||
require_once(DOL_DOCUMENT_ROOT ."/core/lib/functions2.lib.php");
|
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;
|
$mask=$conf->global->LIVRAISON_SAPHIR_MASK;
|
||||||
|
|
||||||
if (! $mask)
|
if (! $mask)
|
||||||
|
|||||||
@ -116,9 +116,11 @@ abstract class ModeleNumRefDeliveryOrder
|
|||||||
/**
|
/**
|
||||||
* Renvoi prochaine valeur attribuee
|
* 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;
|
global $langs;
|
||||||
return $langs->trans("NotAvailable");
|
return $langs->trans("NotAvailable");
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* 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>
|
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* Classe de description et activation du module Fournisseur
|
||||||
* \brief Classe de description et activation du module Fournisseur
|
|
||||||
*/
|
*/
|
||||||
class modFournisseur extends DolibarrModules
|
class modFournisseur extends DolibarrModules
|
||||||
{
|
{
|
||||||
@ -222,6 +221,13 @@ class modFournisseur extends DolibarrModules
|
|||||||
$this->rights[$r][4] = 'facture';
|
$this->rights[$r][4] = 'facture';
|
||||||
$this->rights[$r][5] = 'export';
|
$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
|
// Exports
|
||||||
//--------
|
//--------
|
||||||
@ -232,8 +238,8 @@ class modFournisseur extends DolibarrModules
|
|||||||
$this->export_label[$r]='Factures fournisseurs et lignes de facture';
|
$this->export_label[$r]='Factures fournisseurs et lignes de facture';
|
||||||
$this->export_icon[$r]='bill';
|
$this->export_icon[$r]='bill';
|
||||||
$this->export_permission[$r]=array(array("fournisseur","facture","export"));
|
$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_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.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_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_start[$r]='SELECT DISTINCT ';
|
||||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s';
|
$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_label[$r]='Factures fournisseurs et reglements';
|
||||||
$this->export_icon[$r]='bill';
|
$this->export_icon[$r]='bill';
|
||||||
$this->export_permission[$r]=array(array("fournisseur","facture","export"));
|
$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_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.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_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_start[$r]='SELECT DISTINCT ';
|
||||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s';
|
$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] .=' 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] .=' WHERE f.fk_soc = s.rowid';
|
||||||
$this->export_sql_end[$r] .=' AND f.entity = '.$conf->entity;
|
$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
|
<?php
|
||||||
/* Copyright (C) 2010 Regis Houssin <regis@dolibarr.fr>
|
/* Copyright (C) 2010-2012 Regis Houssin <regis@dolibarr.fr>
|
||||||
* Copyright (C) 2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -102,7 +102,7 @@ class mod_project_simple extends ModeleNumRefProjects
|
|||||||
* @param Project $project Object project
|
* @param Project $project Object project
|
||||||
* @return string Value if OK, 0 if KO
|
* @return string Value if OK, 0 if KO
|
||||||
*/
|
*/
|
||||||
function getNextValue($objsoc=0,$project='')
|
function getNextValue($objsoc,$project)
|
||||||
{
|
{
|
||||||
global $db,$conf;
|
global $db,$conf;
|
||||||
|
|
||||||
|
|||||||
@ -104,7 +104,7 @@ class mod_project_universal extends ModeleNumRefProjects
|
|||||||
* @param Project $project Object project
|
* @param Project $project Object project
|
||||||
* @return string Value if OK, 0 if KO
|
* @return string Value if OK, 0 if KO
|
||||||
*/
|
*/
|
||||||
function getNextValue($objsoc=0,$project='')
|
function getNextValue($objsoc,$project)
|
||||||
{
|
{
|
||||||
global $db,$conf;
|
global $db,$conf;
|
||||||
|
|
||||||
|
|||||||
@ -110,10 +110,12 @@ abstract class ModeleNumRefProjects
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Renvoi prochaine valeur attribuee
|
* 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;
|
global $langs;
|
||||||
return $langs->trans("NotAvailable");
|
return $langs->trans("NotAvailable");
|
||||||
|
|||||||
@ -332,7 +332,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
$tab_top_in_current_page=$tab_top_newpage;
|
$tab_top_in_current_page=$tab_top_newpage;
|
||||||
$tab_height_in_current_page=$tab_height_middlepage;
|
$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)
|
if ($pagenb == 1)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -332,7 +332,7 @@ class pdf_jaune extends ModelePDFPropales
|
|||||||
$tab_top_in_current_page=$tab_top_newpage;
|
$tab_top_in_current_page=$tab_top_newpage;
|
||||||
$tab_height_in_current_page=$tab_height_middlepage;
|
$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)
|
if ($pagenb == 1)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -76,6 +76,12 @@ if (! $result && ! empty($_SERVER["GATEWAY_INTERFACE"])) // If install not do
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Disable php display errors
|
||||||
|
if (! empty($dolibarr_main_prod))
|
||||||
|
{
|
||||||
|
ini_set('display_errors','Off');
|
||||||
|
}
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
$dolibarr_main_data_root=trim($dolibarr_main_data_root);
|
$dolibarr_main_data_root=trim($dolibarr_main_data_root);
|
||||||
$dolibarr_main_url_root=trim($dolibarr_main_url_root);
|
$dolibarr_main_url_root=trim($dolibarr_main_url_root);
|
||||||
|
|||||||
@ -41,17 +41,13 @@ class Fournisseur extends Societe
|
|||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
*/
|
*/
|
||||||
function Fournisseur($db)
|
function __construct($db)
|
||||||
{
|
{
|
||||||
global $config;
|
|
||||||
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->client = 0;
|
$this->client = 0;
|
||||||
$this->fournisseur = 0;
|
$this->fournisseur = 0;
|
||||||
$this->effectif_id = 0;
|
$this->effectif_id = 0;
|
||||||
$this->forme_juridique_code = 0;
|
$this->forme_juridique_code = 0;
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -31,8 +31,7 @@ require_once(DOL_DOCUMENT_ROOT."/commande/class/commande.class.php");
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \class CommandeFournisseur
|
* Class to manage predefined suppliers products
|
||||||
* \brief Class to manage predefined suppliers products
|
|
||||||
*/
|
*/
|
||||||
class CommandeFournisseur extends Commande
|
class CommandeFournisseur extends Commande
|
||||||
{
|
{
|
||||||
@ -47,12 +46,14 @@ class CommandeFournisseur extends Commande
|
|||||||
var $ref_supplier;
|
var $ref_supplier;
|
||||||
var $brouillon;
|
var $brouillon;
|
||||||
var $statut; // 0=Draft -> 1=Validated -> 2=Approved -> 3=Process runing -> 4=Received partially -> 5=Received totally -> (reopen) 4=Received partially
|
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
|
// -> 7=Canceled/Never received -> (reopen) 3=Process runing
|
||||||
// -> 6=Canceled -> (reopen) 2=Approved
|
// -> 6=Canceled -> (reopen) 2=Approved
|
||||||
// -> 9=Refused -> (reopen) 1=Validated
|
// -> 9=Refused -> (reopen) 1=Validated
|
||||||
var $socid;
|
var $socid;
|
||||||
var $fourn_id;
|
var $fourn_id;
|
||||||
var $date;
|
var $date;
|
||||||
|
var $date_valid;
|
||||||
|
var $date_cloture;
|
||||||
var $date_commande;
|
var $date_commande;
|
||||||
var $date_livraison; // Date livraison souhaitee
|
var $date_livraison; // Date livraison souhaitee
|
||||||
var $total_ht;
|
var $total_ht;
|
||||||
@ -69,7 +70,10 @@ class CommandeFournisseur extends Commande
|
|||||||
var $cond_reglement_code;
|
var $cond_reglement_code;
|
||||||
var $mode_reglement_id;
|
var $mode_reglement_id;
|
||||||
var $mode_reglement_code;
|
var $mode_reglement_code;
|
||||||
|
var $user_author_id;
|
||||||
|
var $user_valid_id;
|
||||||
|
var $user_cloture_id;
|
||||||
|
|
||||||
var $extraparams=array();
|
var $extraparams=array();
|
||||||
|
|
||||||
|
|
||||||
@ -111,8 +115,10 @@ class CommandeFournisseur extends Commande
|
|||||||
// Check parameters
|
// Check parameters
|
||||||
if (empty($id) && empty($ref)) return -1;
|
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.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.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.= " c.note as note_private, c.note_public, c.model_pdf, c.extraparams,";
|
||||||
$sql.= " cm.libelle as methode_commande,";
|
$sql.= " cm.libelle as methode_commande,";
|
||||||
@ -140,17 +146,22 @@ class CommandeFournisseur extends Commande
|
|||||||
|
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
$this->ref = $obj->ref;
|
$this->ref = $obj->ref;
|
||||||
|
$this->ref_supplier = $obj->ref_supplier;
|
||||||
$this->socid = $obj->fk_soc;
|
$this->socid = $obj->fk_soc;
|
||||||
$this->fourn_id = $obj->fk_soc;
|
$this->fourn_id = $obj->fk_soc;
|
||||||
$this->statut = $obj->fk_statut;
|
$this->statut = $obj->fk_statut;
|
||||||
$this->user_author_id = $obj->fk_user_author;
|
$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_ht = $obj->total_ht;
|
||||||
$this->total_tva = $obj->tva;
|
$this->total_tva = $obj->tva;
|
||||||
$this->total_localtax1 = $obj->localtax1;
|
$this->total_localtax1 = $obj->localtax1;
|
||||||
$this->total_localtax2 = $obj->localtax2;
|
$this->total_localtax2 = $obj->localtax2;
|
||||||
$this->total_ttc = $obj->total_ttc;
|
$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 = $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->date_livraison = $this->db->jdate($obj->date_livraison);
|
||||||
$this->remise_percent = $obj->remise_percent;
|
$this->remise_percent = $obj->remise_percent;
|
||||||
$this->methode_commande_id = $obj->fk_methode_commande;
|
$this->methode_commande_id = $obj->fk_methode_commande;
|
||||||
@ -170,7 +181,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$this->note_private = $obj->note_private;
|
$this->note_private = $obj->note_private;
|
||||||
$this->note_public = $obj->note_public;
|
$this->note_public = $obj->note_public;
|
||||||
$this->modelpdf = $obj->model_pdf;
|
$this->modelpdf = $obj->model_pdf;
|
||||||
|
|
||||||
$this->extraparams = (array) json_decode($obj->extraparams, true);
|
$this->extraparams = (array) json_decode($obj->extraparams, true);
|
||||||
|
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
@ -286,17 +297,18 @@ class CommandeFournisseur extends Commande
|
|||||||
/**
|
/**
|
||||||
* Validate an order
|
* Validate an order
|
||||||
*
|
*
|
||||||
* @param User $user Validator User
|
* @param User $user Validator User
|
||||||
* @return int <0 if KO, >0 if OK
|
* @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;
|
global $langs,$conf;
|
||||||
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
|
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
|
||||||
|
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
dol_syslog("CommandeFournisseur::Valid");
|
dol_syslog(get_class($this)."::valid");
|
||||||
$result = 0;
|
$result = 0;
|
||||||
if ($user->rights->fournisseur->commande->valider)
|
if ($user->rights->fournisseur->commande->valider)
|
||||||
{
|
{
|
||||||
@ -327,7 +339,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if (! $resql)
|
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);
|
dol_print_error($this->db);
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
@ -345,7 +357,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$dirdest = $conf->fournisseur->dir_output.'/commande/'.$newref;
|
$dirdest = $conf->fournisseur->dir_output.'/commande/'.$newref;
|
||||||
if (file_exists($dirsource))
|
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))
|
if (@rename($dirsource, $dirdest))
|
||||||
{
|
{
|
||||||
@ -381,7 +393,7 @@ class CommandeFournisseur extends Commande
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::valid ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR);
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
return -1;
|
return -1;
|
||||||
@ -390,7 +402,7 @@ class CommandeFournisseur extends Commande
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error='Not Authorized';
|
$this->error='Not Authorized';
|
||||||
dol_syslog("CommandeFournisseur::valid ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -412,7 +424,7 @@ class CommandeFournisseur extends Commande
|
|||||||
// Protection
|
// Protection
|
||||||
if ($this->statut == 0)
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -428,7 +440,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$sql.= " SET fk_statut = 0";
|
$sql.= " SET fk_statut = 0";
|
||||||
$sql.= " WHERE rowid = ".$this->id;
|
$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 ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
// If stock is incremented on validate order, we must redecrement it
|
// If stock is incremented on validate order, we must redecrement it
|
||||||
@ -619,7 +631,7 @@ class CommandeFournisseur extends Commande
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_print_error($db,"CommandeFournisseur::getNextNumRef ".$obj->error);
|
dol_print_error($db, get_class($this)."::getNextNumRef ".$obj->error);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -649,7 +661,7 @@ class CommandeFournisseur extends Commande
|
|||||||
|
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::Approve");
|
dol_syslog(get_class($this)."::approve");
|
||||||
|
|
||||||
if ($user->rights->fournisseur->commande->approuver)
|
if ($user->rights->fournisseur->commande->approuver)
|
||||||
{
|
{
|
||||||
@ -708,13 +720,13 @@ class CommandeFournisseur extends Commande
|
|||||||
{
|
{
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
$this->error=$this->db->lasterror();
|
$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;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::Approve Not Authorized", LOG_ERR);
|
dol_syslog(get_class($this)."::approve Not Authorized", LOG_ERR);
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -731,7 +743,7 @@ class CommandeFournisseur extends Commande
|
|||||||
|
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
dol_syslog("CommandeFournisseur::Refuse");
|
dol_syslog(get_class($this)."::refuse");
|
||||||
$result = 0;
|
$result = 0;
|
||||||
if ($user->rights->fournisseur->commande->approuver)
|
if ($user->rights->fournisseur->commande->approuver)
|
||||||
{
|
{
|
||||||
@ -755,13 +767,13 @@ class CommandeFournisseur extends Commande
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::Refuse Error -1");
|
dol_syslog(get_class($this)."::refuse Error -1");
|
||||||
$result = -1;
|
$result = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::Refuse Not Authorized");
|
dol_syslog(get_class($this)."::refuse Not Authorized");
|
||||||
}
|
}
|
||||||
return $result ;
|
return $result ;
|
||||||
}
|
}
|
||||||
@ -789,7 +801,7 @@ class CommandeFournisseur extends Commande
|
|||||||
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = ".$statut;
|
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = ".$statut;
|
||||||
$sql .= " WHERE rowid = ".$this->id;
|
$sql .= " WHERE rowid = ".$this->id;
|
||||||
dol_syslog("CommandeFournisseur::Cancel sql=".$sql);
|
dol_syslog(get_class($this)."::cancel sql=".$sql);
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
$result = 0;
|
$result = 0;
|
||||||
@ -818,13 +830,13 @@ class CommandeFournisseur extends Commande
|
|||||||
{
|
{
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
dol_syslog("CommandeFournisseur::Cancel ".$this->error);
|
dol_syslog(get_class($this)."::cancel ".$this->error);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::Cancel Not Authorized");
|
dol_syslog(get_class($this)."::cancel Not Authorized");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -841,14 +853,14 @@ class CommandeFournisseur extends Commande
|
|||||||
*/
|
*/
|
||||||
function commande($user, $date, $methode, $comment='')
|
function commande($user, $date, $methode, $comment='')
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::Commande");
|
dol_syslog(get_class($this)."::commande");
|
||||||
$result = 0;
|
$result = 0;
|
||||||
if ($user->rights->fournisseur->commande->commander)
|
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 = "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;
|
$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))
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
$result = 0;
|
$result = 0;
|
||||||
@ -856,13 +868,13 @@ class CommandeFournisseur extends Commande
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::Commande Error -1", LOG_ERR);
|
dol_syslog(get_class($this)."::cCommande Error -1", LOG_ERR);
|
||||||
$result = -1;
|
$result = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::Commande User not Authorized", LOG_ERR);
|
dol_syslog(get_class($this)."::commande User not Authorized", LOG_ERR);
|
||||||
}
|
}
|
||||||
return $result ;
|
return $result ;
|
||||||
}
|
}
|
||||||
@ -890,7 +902,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$sql.= ", entity";
|
$sql.= ", entity";
|
||||||
$sql.= ", fk_soc";
|
$sql.= ", fk_soc";
|
||||||
$sql.= ", date_creation";
|
$sql.= ", date_creation";
|
||||||
$sql.= ", date_livraison";
|
//$sql.= ", date_livraison";
|
||||||
$sql.= ", fk_user_author";
|
$sql.= ", fk_user_author";
|
||||||
$sql.= ", fk_statut";
|
$sql.= ", fk_statut";
|
||||||
$sql.= ", source";
|
$sql.= ", source";
|
||||||
@ -902,7 +914,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$sql.= ", ".$conf->entity;
|
$sql.= ", ".$conf->entity;
|
||||||
$sql.= ", ".$this->socid;
|
$sql.= ", ".$this->socid;
|
||||||
$sql.= ", ".$this->db->idate($now);
|
$sql.= ", ".$this->db->idate($now);
|
||||||
$sql.= ", ".$this->db->idate($now);
|
//$sql.= ", ".$this->db->idate($now);
|
||||||
$sql.= ", ".$user->id;
|
$sql.= ", ".$user->id;
|
||||||
$sql.= ", 0";
|
$sql.= ", 0";
|
||||||
$sql.= ", 0";
|
$sql.= ", 0";
|
||||||
@ -974,7 +986,7 @@ class CommandeFournisseur extends Commande
|
|||||||
{
|
{
|
||||||
global $langs,$mysoc;
|
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');
|
include_once(DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php');
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
@ -1032,14 +1044,14 @@ class CommandeFournisseur extends Commande
|
|||||||
{
|
{
|
||||||
$this->error="No price found for this quantity. Quantity may be too low ?";
|
$this->error="No price found for this quantity. Quantity may be too low ?";
|
||||||
$this->db->rollback();
|
$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;
|
return -1;
|
||||||
}
|
}
|
||||||
if ($result < -1)
|
if ($result < -1)
|
||||||
{
|
{
|
||||||
$this->error=$prod->error;
|
$this->error=$prod->error;
|
||||||
$this->db->rollback();
|
$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;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1093,7 +1105,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$sql.= "'".price2num($total_ttc)."'";
|
$sql.= "'".price2num($total_ttc)."'";
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
dol_syslog('FournisseurCommande::addline sql='.$sql);
|
dol_syslog(get_class($this)."::addline sql=".$sql);
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
//print $sql;
|
//print $sql;
|
||||||
if ($resql)
|
if ($resql)
|
||||||
@ -1107,7 +1119,7 @@ class CommandeFournisseur extends Commande
|
|||||||
{
|
{
|
||||||
$this->error=$this->db->error();
|
$this->error=$this->db->error();
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
dol_syslog('FournisseurCommande::addline '.$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::addline ".$this->error, LOG_ERR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1148,7 +1160,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$sql.= " (fk_commande,fk_product, qty, fk_entrepot, fk_user, datec) VALUES ";
|
$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)."')";
|
$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);
|
$resql = $this->db->query($sql);
|
||||||
if (! $resql)
|
if (! $resql)
|
||||||
{
|
{
|
||||||
@ -1166,7 +1178,7 @@ class CommandeFournisseur extends Commande
|
|||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
$this->error=$mouv->error;
|
$this->error=$mouv->error;
|
||||||
dol_syslog("CommandeFournisseur::DispatchProduct ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::DispatchProduct ".$this->error, LOG_ERR);
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1236,14 +1248,14 @@ class CommandeFournisseur extends Commande
|
|||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE fk_commande =". $this->id ;
|
$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) )
|
if (! $this->db->query($sql) )
|
||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseur WHERE rowid =".$this->id;
|
$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 ($resql = $this->db->query($sql) )
|
||||||
{
|
{
|
||||||
if ($this->db->affected_rows($resql) < 1)
|
if ($this->db->affected_rows($resql) < 1)
|
||||||
@ -1265,7 +1277,7 @@ class CommandeFournisseur extends Commande
|
|||||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||||
// Fin appel triggers
|
// Fin appel triggers
|
||||||
|
|
||||||
dol_syslog("CommandeFournisseur::delete : Success");
|
dol_syslog(get_class($this)."::delete : Success");
|
||||||
$this->db->commit();
|
$this->db->commit();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -1322,7 +1334,7 @@ class CommandeFournisseur extends Commande
|
|||||||
{
|
{
|
||||||
$result = 0;
|
$result = 0;
|
||||||
|
|
||||||
dol_syslog("CommandeFournisseur::Livraison");
|
dol_syslog(get_class($this)."::Livraison");
|
||||||
|
|
||||||
if ($user->rights->fournisseur->commande->receptionner)
|
if ($user->rights->fournisseur->commande->receptionner)
|
||||||
{
|
{
|
||||||
@ -1340,7 +1352,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$sql.= " WHERE rowid = ".$this->id;
|
$sql.= " WHERE rowid = ".$this->id;
|
||||||
$sql.= " AND fk_statut IN (3,4)"; // Process running or Partially received
|
$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);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
@ -1353,19 +1365,19 @@ class CommandeFournisseur extends Commande
|
|||||||
{
|
{
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
$this->error=$this->db->lasterror();
|
$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;
|
$result = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::Livraison Error -2", LOG_ERR);
|
dol_syslog(get_class($this)."::Livraison Error -2", LOG_ERR);
|
||||||
$result = -2;
|
$result = -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("CommandeFournisseur::Livraison Not Authorized");
|
dol_syslog(get_class($this)."::Livraison Not Authorized");
|
||||||
$result = -3;
|
$result = -3;
|
||||||
}
|
}
|
||||||
return $result ;
|
return $result ;
|
||||||
@ -1386,7 +1398,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$sql.= " SET date_livraison = ".($date_livraison ? "'".$this->db->idate($date_livraison)."'" : 'null');
|
$sql.= " SET date_livraison = ".($date_livraison ? "'".$this->db->idate($date_livraison)."'" : 'null');
|
||||||
$sql.= " WHERE rowid = ".$this->id;
|
$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);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
@ -1396,7 +1408,7 @@ class CommandeFournisseur extends Commande
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error=$this->db->error();
|
$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;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1579,7 +1591,7 @@ class CommandeFournisseur extends Commande
|
|||||||
$sql.= ",product_type='".$type."'";
|
$sql.= ",product_type='".$type."'";
|
||||||
$sql.= " WHERE rowid = ".$rowid;
|
$sql.= " WHERE rowid = ".$rowid;
|
||||||
|
|
||||||
dol_syslog("CommandeFournisseur::updateline sql=".$sql);
|
dol_syslog(get_class($this)."::updateline sql=".$sql);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
@ -1592,7 +1604,7 @@ class CommandeFournisseur extends Commande
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error=$this->db->error();
|
$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();
|
$this->db->rollback();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1600,7 +1612,7 @@ class CommandeFournisseur extends Commande
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error="Order status makes operation forbidden";
|
$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;
|
return -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1617,7 +1629,7 @@ class CommandeFournisseur extends Commande
|
|||||||
{
|
{
|
||||||
global $user,$langs,$conf;
|
global $user,$langs,$conf;
|
||||||
|
|
||||||
dol_syslog("CommandeFournisseur::initAsSpecimen");
|
dol_syslog(get_class($this)."::initAsSpecimen");
|
||||||
|
|
||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
|
|
||||||
@ -1742,8 +1754,7 @@ class CommandeFournisseur extends Commande
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \class CommandeFournisseurLigne
|
* Classe de gestion des lignes de commande
|
||||||
* \brief Classe de gestion des lignes de commande
|
|
||||||
*/
|
*/
|
||||||
class CommandeFournisseurLigne extends OrderLine
|
class CommandeFournisseurLigne extends OrderLine
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
//============================================================+
|
//============================================================+
|
||||||
// File name : 2dbarcodes.php
|
// File name : 2dbarcodes.php
|
||||||
// Version : 1.0.009
|
// Version : 1.0.013
|
||||||
// Begin : 2009-04-07
|
// Begin : 2009-04-07
|
||||||
// Last Update : 2011-06-01
|
// Last Update : 2012-01-12
|
||||||
// Author : Nicola Asuni - Tecnick.com S.r.l - Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
|
// 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)
|
// 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.
|
// 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.
|
* PHP class to creates array representations for 2D barcodes to be used with TCPDF.
|
||||||
* @package com.tecnick.tcpdf
|
* @package com.tecnick.tcpdf
|
||||||
* @author Nicola Asuni
|
* @author Nicola Asuni
|
||||||
* @version 1.0.009
|
* @version 1.0.013
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class TCPDF2DBarcode
|
* @class TCPDF2DBarcode
|
||||||
* PHP class to creates array representations for 2D barcodes to be used with TCPDF (http://www.tcpdf.org).
|
* PHP class to creates array representations for 2D barcodes to be used with TCPDF (http://www.tcpdf.org).
|
||||||
* @package com.tecnick.tcpdf
|
* @package com.tecnick.tcpdf
|
||||||
* @version 1.0.009
|
* @version 1.0.013
|
||||||
* @author Nicola Asuni
|
* @author Nicola Asuni
|
||||||
*/
|
*/
|
||||||
class TCPDF2DBarcode {
|
class TCPDF2DBarcode {
|
||||||
@ -63,7 +63,7 @@ class TCPDF2DBarcode {
|
|||||||
* <li>$arrcode['num_cols'] required number of columns</li>
|
* <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>
|
* <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 $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) {
|
public function __construct($code, $type) {
|
||||||
$this->setBarcode($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).
|
* @param $color (string) Foreground color (in SVG format) for bar elements (background is transparent).
|
||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
public function getBarcodeSVG($w=2, $h=3, $color='black') {
|
public function getBarcodeSVG($w=3, $h=3, $color='black') {
|
||||||
// send XML headers
|
// send headers
|
||||||
$code = $this->getBarcodeSVGcode($w, $h, $color);
|
$code = $this->getBarcodeSVGcode($w, $h, $color);
|
||||||
header('Content-Type: application/svg+xml');
|
header('Content-Type: application/svg+xml');
|
||||||
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
|
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".'<desc>'.strtr($this->barcode_array['code'], $repstr).'</desc>'."\n";
|
||||||
$svg .= "\t".'<g id="elements" fill="'.$color.'" stroke="none">'."\n";
|
$svg .= "\t".'<g id="elements" fill="'.$color.'" stroke="none">'."\n";
|
||||||
// print barcode elements
|
// print barcode elements
|
||||||
$xstart = 0;
|
|
||||||
$y = 0;
|
$y = 0;
|
||||||
// for each row
|
// for each row
|
||||||
for ($r = 0; $r < $this->barcode_array['num_rows']; ++$r) {
|
for ($r = 0; $r < $this->barcode_array['num_rows']; ++$r) {
|
||||||
$x = $xstart;
|
$x = 0;
|
||||||
// for each column
|
// for each column
|
||||||
for ($c = 0; $c < $this->barcode_array['num_cols']; ++$c) {
|
for ($c = 0; $c < $this->barcode_array['num_cols']; ++$c) {
|
||||||
if ($this->barcode_array['bcode'][$r][$c] == 1) {
|
if ($this->barcode_array['bcode'][$r][$c] == 1) {
|
||||||
@ -134,22 +133,112 @@ class TCPDF2DBarcode {
|
|||||||
return $svg;
|
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.
|
* Set the barcode.
|
||||||
* @param $code (string) code to print
|
* @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
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function setBarcode($code, $type) {
|
public function setBarcode($code, $type) {
|
||||||
$mode = explode(',', $type);
|
$mode = explode(',', $type);
|
||||||
$qrtype = strtoupper($mode[0]);
|
$qrtype = strtoupper($mode[0]);
|
||||||
switch ($qrtype) {
|
switch ($qrtype) {
|
||||||
case 'QRCODE': { // QR-CODE
|
case 'DATAMATRIX': { // DATAMATRIX (ISO/IEC 16022)
|
||||||
require_once(dirname(__FILE__).'/qrcode.php');
|
require_once(dirname(__FILE__).'/datamatrix.php');
|
||||||
if (!isset($mode[1]) OR (!in_array($mode[1],array('L','M','Q','H')))) {
|
$qrcode = new Datamatrix($code);
|
||||||
$mode[1] = 'L'; // Ddefault: Low error correction
|
|
||||||
}
|
|
||||||
$qrcode = new QRcode($code, strtoupper($mode[1]));
|
|
||||||
$this->barcode_array = $qrcode->getBarcodeArray();
|
$this->barcode_array = $qrcode->getBarcodeArray();
|
||||||
$this->barcode_array['code'] = $code;
|
$this->barcode_array['code'] = $code;
|
||||||
break;
|
break;
|
||||||
@ -185,6 +274,16 @@ class TCPDF2DBarcode {
|
|||||||
$this->barcode_array['code'] = $code;
|
$this->barcode_array['code'] = $code;
|
||||||
break;
|
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 'RAW':
|
||||||
case 'RAW2': { // RAW MODE
|
case 'RAW2': { // RAW MODE
|
||||||
// remove spaces
|
// 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)
|
5.9.098 (2011-06-23)
|
||||||
- The Named Destination feature was fixed.
|
- The Named Destination feature was fixed.
|
||||||
|
|
||||||
@ -13,7 +237,7 @@
|
|||||||
- Font subsetting was fixed to include all parts of composite fonts.
|
- Font subsetting was fixed to include all parts of composite fonts.
|
||||||
|
|
||||||
5.9.094 (2011-06-17)
|
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)
|
5.9.093 (2011-06-16)
|
||||||
- Method setStartingPageNumber() was added to set starting page number (for automatic page numbering).
|
- 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
|
TCPDF is free software: you can redistribute it and/or modify it
|
||||||
under the terms of the GNU Lesser General Public License as
|
under the terms of the GNU Lesser General Public License as
|
||||||
published by the Free Software Foundation, either version 3 of the
|
published by the Free Software Foundation, either version 3 of the
|
||||||
License, or (at your option) any later version. Additionally,
|
License, or (at your option) any later version.
|
||||||
YOU CAN'T REMOVE ANY TCPDF COPYRIGHT NOTICE OR LINK FROM THE
|
|
||||||
GENERATED PDF DOCUMENTS.
|
|
||||||
|
|
||||||
**********************************************************************
|
**********************************************************************
|
||||||
**********************************************************************
|
**********************************************************************
|
||||||
|
|||||||
@ -8,16 +8,16 @@ http://sourceforge.net/donate/index.php?group_id=128076
|
|||||||
------------------------------------------------------------
|
------------------------------------------------------------
|
||||||
|
|
||||||
Name: TCPDF
|
Name: TCPDF
|
||||||
Version: 5.9.098
|
Version: 5.9.156
|
||||||
Release date: 2011-06-23
|
Release date: 2012-04-10
|
||||||
Author: Nicola Asuni
|
Author: Nicola Asuni
|
||||||
|
|
||||||
Copyright (c) 2002-2011:
|
Copyright (c) 2002-2012:
|
||||||
Nicola Asuni
|
Nicola Asuni
|
||||||
Tecnick.com s.r.l.
|
Tecnick.com LTD
|
||||||
Via Della Pace, 11
|
Manor Coach House, Church Hill
|
||||||
09044 Quartucciu (CA)
|
Aldershot, Hants, GU12 4RQ
|
||||||
ITALY
|
UK
|
||||||
www.tecnick.com
|
www.tecnick.com
|
||||||
|
|
||||||
URLs:
|
URLs:
|
||||||
@ -31,13 +31,13 @@ Main Features:
|
|||||||
* no external libraries are required for the basic functions;
|
* no external libraries are required for the basic functions;
|
||||||
* all standard page formats, custom page formats, custom margins and units of measure;
|
* all standard page formats, custom page formats, custom margins and units of measure;
|
||||||
* UTF-8 Unicode and Right-To-Left languages;
|
* 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;
|
* font subsetting;
|
||||||
* methods to publish some XHTML + CSS code, Javascript and Forms;
|
* methods to publish some XHTML + CSS code, Javascript and Forms;
|
||||||
* images, graphic (geometric figures) and transformation methods;
|
* 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)
|
* 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;
|
* 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;
|
||||||
* Grayscale, RGB, CMYK, Spot Colors and Transparencies;
|
* JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
|
||||||
* automatic page header and footer management;
|
* automatic page header and footer management;
|
||||||
* document encryption up to 256 bit and digital signature certifications;
|
* document encryption up to 256 bit and digital signature certifications;
|
||||||
* transactions to UNDO commands;
|
* transactions to UNDO commands;
|
||||||
@ -53,6 +53,8 @@ Main Features:
|
|||||||
* move and delete pages;
|
* move and delete pages;
|
||||||
* page compression (requires php-zlib extension);
|
* page compression (requires php-zlib extension);
|
||||||
* XOBject Templates;
|
* XOBject Templates;
|
||||||
|
* Layers and object visibility.
|
||||||
|
* PDF/A-1b support.
|
||||||
|
|
||||||
Installation (full instructions on http: www.tcpdf.org):
|
Installation (full instructions on http: www.tcpdf.org):
|
||||||
1. copy the folder on your Web server
|
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
|
3. call the examples/example_001.php page with your browser to see an example
|
||||||
|
|
||||||
Source Code Documentation:
|
Source Code Documentation:
|
||||||
doc/index.html
|
http://www.tcpdf.org
|
||||||
http://www.tcpdf.org/doc/
|
|
||||||
|
|
||||||
For Additional Documentation:
|
Additional Documentation:
|
||||||
http://www.tcpdf.org
|
http://www.tcpdf.org
|
||||||
|
|
||||||
License
|
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
|
TCPDF is free software: you can redistribute it and/or modify it
|
||||||
under the terms of the GNU Lesser General Public License as
|
under the terms of the GNU Lesser General Public License as
|
||||||
published by the Free Software Foundation, either version 3 of the
|
published by the Free Software Foundation, either version 3 of the
|
||||||
License, or (at your option) any later version. Additionally,
|
License, or (at your option) any later version.
|
||||||
YOU CAN'T REMOVE ANY TCPDF COPYRIGHT NOTICE OR LINK FROM THE
|
|
||||||
GENERATED PDF DOCUMENTS.
|
|
||||||
|
|
||||||
TCPDF is distributed in the hope that it will be useful, but
|
TCPDF is distributed in the hope that it will be useful, but
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
@ -87,4 +86,12 @@ License
|
|||||||
|
|
||||||
See LICENSE.TXT file for more information.
|
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
|
<?php
|
||||||
//============================================================+
|
//============================================================+
|
||||||
// File name : barcodes.php
|
// File name : barcodes.php
|
||||||
// Version : 1.0.017
|
// Version : 1.0.023
|
||||||
// Begin : 2008-06-09
|
// Begin : 2008-06-09
|
||||||
// Last Update : 2011-06-01
|
// Last Update : 2012-01-14
|
||||||
// Author : Nicola Asuni - Tecnick.com S.r.l - Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
|
// 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)
|
// 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.
|
// 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.
|
* PHP class to creates array representations for common 1D barcodes to be used with TCPDF.
|
||||||
* @package com.tecnick.tcpdf
|
* @package com.tecnick.tcpdf
|
||||||
* @author Nicola Asuni
|
* @author Nicola Asuni
|
||||||
* @version 1.0.017
|
* @version 1.0.023
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class TCPDFBarcode
|
* @class TCPDFBarcode
|
||||||
* PHP class to creates array representations for common 1D barcodes to be used with TCPDF (http://www.tcpdf.org).<br>
|
* PHP class to creates array representations for common 1D barcodes to be used with TCPDF (http://www.tcpdf.org).<br>
|
||||||
* @package com.tecnick.tcpdf
|
* @package com.tecnick.tcpdf
|
||||||
* @version 1.0.017
|
* @version 1.0.023
|
||||||
* @author Nicola Asuni
|
* @author Nicola Asuni
|
||||||
*/
|
*/
|
||||||
class TCPDFBarcode {
|
class TCPDFBarcode {
|
||||||
@ -91,7 +91,7 @@ class TCPDFBarcode {
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
public function getBarcodeSVG($w=2, $h=30, $color='black') {
|
public function getBarcodeSVG($w=2, $h=30, $color='black') {
|
||||||
// send XML headers
|
// send headers
|
||||||
$code = $this->getBarcodeSVGcode($w, $h, $color);
|
$code = $this->getBarcodeSVGcode($w, $h, $color);
|
||||||
header('Content-Type: application/svg+xml');
|
header('Content-Type: application/svg+xml');
|
||||||
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
|
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
|
||||||
@ -136,6 +136,93 @@ class TCPDFBarcode {
|
|||||||
return $svg;
|
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.
|
* Set the barcode.
|
||||||
* @param $code (string) code to print
|
* @param $code (string) code to print
|
||||||
@ -284,50 +371,50 @@ class TCPDFBarcode {
|
|||||||
* @protected
|
* @protected
|
||||||
*/
|
*/
|
||||||
protected function barcode_code39($code, $extended=false, $checksum=false) {
|
protected function barcode_code39($code, $extended=false, $checksum=false) {
|
||||||
$chr['0'] = '111221211';
|
$chr['0'] = '111331311';
|
||||||
$chr['1'] = '211211112';
|
$chr['1'] = '311311113';
|
||||||
$chr['2'] = '112211112';
|
$chr['2'] = '113311113';
|
||||||
$chr['3'] = '212211111';
|
$chr['3'] = '313311111';
|
||||||
$chr['4'] = '111221112';
|
$chr['4'] = '111331113';
|
||||||
$chr['5'] = '211221111';
|
$chr['5'] = '311331111';
|
||||||
$chr['6'] = '112221111';
|
$chr['6'] = '113331111';
|
||||||
$chr['7'] = '111211212';
|
$chr['7'] = '111311313';
|
||||||
$chr['8'] = '211211211';
|
$chr['8'] = '311311311';
|
||||||
$chr['9'] = '112211211';
|
$chr['9'] = '113311311';
|
||||||
$chr['A'] = '211112112';
|
$chr['A'] = '311113113';
|
||||||
$chr['B'] = '112112112';
|
$chr['B'] = '113113113';
|
||||||
$chr['C'] = '212112111';
|
$chr['C'] = '313113111';
|
||||||
$chr['D'] = '111122112';
|
$chr['D'] = '111133113';
|
||||||
$chr['E'] = '211122111';
|
$chr['E'] = '311133111';
|
||||||
$chr['F'] = '112122111';
|
$chr['F'] = '113133111';
|
||||||
$chr['G'] = '111112212';
|
$chr['G'] = '111113313';
|
||||||
$chr['H'] = '211112211';
|
$chr['H'] = '311113311';
|
||||||
$chr['I'] = '112112211';
|
$chr['I'] = '113113311';
|
||||||
$chr['J'] = '111122211';
|
$chr['J'] = '111133311';
|
||||||
$chr['K'] = '211111122';
|
$chr['K'] = '311111133';
|
||||||
$chr['L'] = '112111122';
|
$chr['L'] = '113111133';
|
||||||
$chr['M'] = '212111121';
|
$chr['M'] = '313111131';
|
||||||
$chr['N'] = '111121122';
|
$chr['N'] = '111131133';
|
||||||
$chr['O'] = '211121121';
|
$chr['O'] = '311131131';
|
||||||
$chr['P'] = '112121121';
|
$chr['P'] = '113131131';
|
||||||
$chr['Q'] = '111111222';
|
$chr['Q'] = '111111333';
|
||||||
$chr['R'] = '211111221';
|
$chr['R'] = '311111331';
|
||||||
$chr['S'] = '112111221';
|
$chr['S'] = '113111331';
|
||||||
$chr['T'] = '111121221';
|
$chr['T'] = '111131331';
|
||||||
$chr['U'] = '221111112';
|
$chr['U'] = '331111113';
|
||||||
$chr['V'] = '122111112';
|
$chr['V'] = '133111113';
|
||||||
$chr['W'] = '222111111';
|
$chr['W'] = '333111111';
|
||||||
$chr['X'] = '121121112';
|
$chr['X'] = '131131113';
|
||||||
$chr['Y'] = '221121111';
|
$chr['Y'] = '331131111';
|
||||||
$chr['Z'] = '122121111';
|
$chr['Z'] = '133131111';
|
||||||
$chr['-'] = '121111212';
|
$chr['-'] = '131111313';
|
||||||
$chr['.'] = '221111211';
|
$chr['.'] = '331111311';
|
||||||
$chr[' '] = '122111211';
|
$chr[' '] = '133111311';
|
||||||
$chr['$'] = '121212111';
|
$chr['$'] = '131313111';
|
||||||
$chr['/'] = '121211121';
|
$chr['/'] = '131311131';
|
||||||
$chr['+'] = '121112121';
|
$chr['+'] = '131113131';
|
||||||
$chr['%'] = '111212121';
|
$chr['%'] = '111313131';
|
||||||
$chr['*'] = '121121211';
|
$chr['*'] = '131131311';
|
||||||
$code = strtoupper($code);
|
$code = strtoupper($code);
|
||||||
if ($extended) {
|
if ($extended) {
|
||||||
// extended mode
|
// extended mode
|
||||||
@ -362,6 +449,7 @@ class TCPDFBarcode {
|
|||||||
$bararray['maxw'] += $w;
|
$bararray['maxw'] += $w;
|
||||||
++$k;
|
++$k;
|
||||||
}
|
}
|
||||||
|
// intercharacter gap
|
||||||
$bararray['bcode'][$k] = array('t' => false, 'w' => 1, 'h' => 1, 'p' => 0);
|
$bararray['bcode'][$k] = array('t' => false, 'w' => 1, 'h' => 1, 'p' => 0);
|
||||||
$bararray['maxw'] += 1;
|
$bararray['maxw'] += 1;
|
||||||
++$k;
|
++$k;
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@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:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
//============================================================+
|
//============================================================+
|
||||||
// File name : ces.php
|
// File name : ces.php
|
||||||
// Begin : 2010-10-26
|
// Begin : 2010-10-26
|
||||||
// Last Update : 2010-10-26
|
// Last Update : 2010-11-22
|
||||||
//
|
//
|
||||||
// Description : Language module for TCPDF
|
// Description : Language module for TCPDF
|
||||||
// (contains translated texts)
|
// (contains translated texts)
|
||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
@ -40,7 +40,7 @@ $l['a_meta_dir'] = 'ltr';
|
|||||||
$l['a_meta_language'] = 'cs';
|
$l['a_meta_language'] = 'cs';
|
||||||
|
|
||||||
// TRANSLATIONS --------------------------------------
|
// TRANSLATIONS --------------------------------------
|
||||||
$l['w_page'] = 'stránky';
|
$l['w_page'] = 'stránka';
|
||||||
|
|
||||||
//============================================================+
|
//============================================================+
|
||||||
// END OF FILE
|
// END OF FILE
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@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:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@tecnick.com
|
// info@tecnick.com
|
||||||
//============================================================+
|
//============================================================+
|
||||||
|
|||||||
@ -12,10 +12,10 @@
|
|||||||
//
|
//
|
||||||
// (c) Copyright:
|
// (c) Copyright:
|
||||||
// Nicola Asuni
|
// Nicola Asuni
|
||||||
// Tecnick.com s.r.l.
|
// Tecnick.com LTD
|
||||||
// Via Della Pace, 11
|
// Manor Coach House, Church Hill
|
||||||
// 09044 Quartucciu (CA)
|
// Aldershot, Hants, GU12 4RQ
|
||||||
// ITALY
|
// UK
|
||||||
// www.tecnick.com
|
// www.tecnick.com
|
||||||
// info@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