mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
be52b8d75d
|
|
@ -1,15 +1,15 @@
|
|||
#---------------------------------------------------------
|
||||
# Spec file to build a rpm file
|
||||
#
|
||||
# This is an example to build a rpm file. You can use this
|
||||
# file to build a package for your own distributions and
|
||||
# This is an example to build a rpm file. You can use this
|
||||
# file to build a package for your own distributions and
|
||||
# edit it if you need to match your rules.
|
||||
# --------------------------------------------------------
|
||||
|
||||
Name: dolibarr
|
||||
Version: __VERSION__
|
||||
Release: __RELEASE__%{?dist}
|
||||
Summary: ERP and CRM software for small and medium companies or foundations
|
||||
Summary: ERP and CRM software for small and medium companies or foundations
|
||||
Summary(es): Software ERP y CRM para pequeñas y medianas empresas, asociaciones o autónomos
|
||||
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
||||
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
||||
|
|
@ -25,8 +25,8 @@ BuildArch: noarch
|
|||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
Group: Applications/Productivity
|
||||
Requires: httpd, php >= 5.3.0, php-cli, php-gd, php-ldap, php-imap, php-mysqli, php-nusoap, dejavu-sans-fonts
|
||||
Requires: mysql-server, mysql
|
||||
Requires: httpd, php >= 5.3.0, php-cli, php-gd, php-ldap, php-mysqli, php-nusoap, dejavu-sans-fonts
|
||||
Requires: mariadb-server, mariadb
|
||||
#BuildRequires: desktop-file-utils
|
||||
|
||||
# Set yes to build test package, no for release (this disable need of /usr/bin/php not found by OpenSuse)
|
||||
|
|
@ -34,24 +34,24 @@ AutoReqProv: no
|
|||
|
||||
|
||||
%description
|
||||
An easy to use CRM & ERP open source/free software package for small
|
||||
and medium companies, foundations or freelances. It includes different
|
||||
features for Enterprise Resource Planning (ERP) and Customer Relationship
|
||||
An easy to use CRM & ERP open source/free software package for small
|
||||
and medium companies, foundations or freelances. It includes different
|
||||
features for Enterprise Resource Planning (ERP) and Customer Relationship
|
||||
Management (CRM) but also for different other activities.
|
||||
Dolibarr was designed to provide only features you need and be easy to
|
||||
Dolibarr was designed to provide only features you need and be easy to
|
||||
use.
|
||||
|
||||
%description -l es
|
||||
Un software ERP y CRM para pequeñas y medianas empresas, asociaciones
|
||||
o autónomos. Incluye diferentes funcionalidades para la Planificación
|
||||
o autónomos. Incluye diferentes funcionalidades para la Planificación
|
||||
de Recursos Empresariales (ERP) y Gestión de la Relación con los
|
||||
Clientes (CRM) así como para para otras diferentes actividades.
|
||||
Clientes (CRM) así como para para otras diferentes actividades.
|
||||
Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades
|
||||
que necesita y haciendo hincapié en su facilidad de uso.
|
||||
|
||||
|
||||
%description -l fr
|
||||
Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs,
|
||||
artisans ou associations. Il permet de gérer vos clients, prospect,
|
||||
Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs,
|
||||
artisans ou associations. Il permet de gérer vos clients, prospect,
|
||||
fournisseurs, devis, factures, comptes bancaires, agenda, campagnes mailings
|
||||
et bien d'autres choses dans une interface pensée pour la simplicité.
|
||||
|
||||
|
|
@ -59,9 +59,9 @@ et bien d'autres choses dans une interface pensée pour la simplicité.
|
|||
Un programmo gestionale per piccole e medie
|
||||
imprese, fondazioni e liberi professionisti. Include varie funzionalità per
|
||||
Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori
|
||||
attività. Progettato per poter fornire solo ciò di cui hai bisogno
|
||||
attività. Progettato per poter fornire solo ciò di cui hai bisogno
|
||||
ed essere facile da usare.
|
||||
Programmo web, progettato per poter fornire solo ciò di
|
||||
Programmo web, progettato per poter fornire solo ciò di
|
||||
cui hai bisogno ed essere facile da usare.
|
||||
|
||||
|
||||
|
|
@ -103,7 +103,7 @@ cui hai bisogno ed essere facile da usare.
|
|||
%{__cp} -pr build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz
|
||||
%{__cp} -pr htdocs $RPM_BUILD_ROOT%{_datadir}/%{name}
|
||||
%{__cp} -pr scripts $RPM_BUILD_ROOT%{_datadir}/%{name}
|
||||
%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/ckeditor/_source
|
||||
%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/ckeditor/_source
|
||||
%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/nusoap
|
||||
%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/fonts
|
||||
|
||||
|
|
@ -113,8 +113,8 @@ echo "%dir %{_datadir}/%{name}/htdocs/langs" >> %{name}.lang
|
|||
for i in $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/langs/*_*
|
||||
do
|
||||
lang=$(basename $i)
|
||||
lang1=`expr substr $lang 1 2`;
|
||||
lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`;
|
||||
lang1=`expr substr $lang 1 2`;
|
||||
lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`;
|
||||
echo "%dir %{_datadir}/%{name}/htdocs/langs/${lang}" >> %{name}.lang
|
||||
if [ "$lang1" = "$lang2" ] ; then
|
||||
echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang"
|
||||
|
|
@ -261,7 +261,7 @@ export apachegroup='apache';
|
|||
# Remove dolibarr install/upgrade lock file if it exists
|
||||
%{__rm} -f $docdir/install.lock
|
||||
|
||||
# Create empty directory for uploaded files and generated documents
|
||||
# Create empty directory for uploaded files and generated documents
|
||||
echo Create document directory $docdir
|
||||
%{__mkdir} -p $docdir
|
||||
|
||||
|
|
@ -271,7 +271,7 @@ echo Create document directory $docdir
|
|||
# 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
|
||||
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_FPDI_PATH" $config || [ ! -d "/usr/share/php/fpdi" ] || echo "<?php \$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi'; ?>" >> $config
|
||||
|
|
@ -321,9 +321,9 @@ echo Restart mysql server
|
|||
echo
|
||||
echo "----- Dolibarr %version-%release - (c) Dolibarr dev team -----"
|
||||
echo "Dolibarr files are now installed (into /usr/share/dolibarr)."
|
||||
echo "To finish installation and use Dolibarr, click on the menu"
|
||||
echo "To finish installation and use Dolibarr, click on the menu"
|
||||
echo "entry Dolibarr ERP-CRM or call the following page from your"
|
||||
echo "web browser:"
|
||||
echo "web browser:"
|
||||
echo "http://localhost/dolibarr/"
|
||||
echo "-------------------------------------------------------"
|
||||
echo
|
||||
|
|
@ -339,7 +339,7 @@ then
|
|||
|
||||
# Define vars
|
||||
export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
then
|
||||
|
|
@ -347,7 +347,7 @@ then
|
|||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
fi
|
||||
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#---------------------------------------------------------
|
||||
# Spec file to build a rpm file
|
||||
#
|
||||
# This is an example to build a rpm file. You can use this
|
||||
# file to build a package for your own distributions and
|
||||
# This is an example to build a rpm file. You can use this
|
||||
# file to build a package for your own distributions and
|
||||
# edit it if you need to match your rules.
|
||||
# --------------------------------------------------------
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ Release: __RELEASE__%{?dist}
|
|||
%else
|
||||
Release: __RELEASE__
|
||||
%endif
|
||||
Summary: ERP and CRM software for small and medium companies or foundations
|
||||
Summary: ERP and CRM software for small and medium companies or foundations
|
||||
Summary(es): Software ERP y CRM para pequeñas y medianas empresas, asociaciones o autónomos
|
||||
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
||||
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
||||
|
|
@ -46,26 +46,26 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|||
|
||||
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
|
||||
Group: Applications/Productivity
|
||||
Requires: httpd, php >= 5.3.0, php-cli, php-gd, php-ldap, php-imap, php-mysqli, php-nusoap, dejavu-sans-fonts, php-mbstring, php-xml
|
||||
Requires: mysql-server, mysql
|
||||
Requires: httpd, php >= 5.3.0, php-cli, php-gd, php-ldap, php-mysqli, php-nusoap, dejavu-sans-fonts, php-mbstring, php-xml
|
||||
Requires: mariadb-server, mariadb
|
||||
BuildRequires: desktop-file-utils
|
||||
%else
|
||||
%if 0%{?mdkversion}
|
||||
Group: Applications/Productivity
|
||||
Requires: apache-base, apache-mod_php, php-cgi, php-cli, php-bz2, php-gd, php-ldap, php-imap, php-mysqli, php-openssl, fonts-ttf-dejavu
|
||||
Requires: mysql, mysql-client
|
||||
Requires: apache-base, apache-mod_php, php-cgi, php-cli, php-bz2, php-gd, php-ldap, php-imap, php-mysqli, php-openssl, fonts-ttf-dejavu
|
||||
Requires: mysql, mysql-client
|
||||
%else
|
||||
%if 0%{?suse_version}
|
||||
# Voir http://en.opensuse.org/openSUSE:Packaging_Conventions_RPM_Macros
|
||||
Group: Productivity/Office/Management
|
||||
Requires: apache2, apache2-mod_php, php >= 5.3.0, php-gd, php-ldap, php-imap, php-mysql, php-openssl, dejavu
|
||||
Requires: mysql-community-server, mysql-community-server-client
|
||||
Requires: mysql-community-server, mysql-community-server-client
|
||||
BuildRequires: update-desktop-files fdupes
|
||||
%else
|
||||
Group: Applications/Productivity
|
||||
Requires: httpd, php >= 5.3.0, php-cli, php-gd, php-ldap, php-imap, php-mbstring, php-xml
|
||||
Requires: mysql-server, mysql
|
||||
Requires: php-mysqli >= 4.1.0
|
||||
Requires: mysql-server, mysql
|
||||
Requires: php-mysqli >= 4.1.0
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
|
@ -76,24 +76,24 @@ AutoReqProv: no
|
|||
|
||||
|
||||
%description
|
||||
An easy to use CRM & ERP open source/free software package for small
|
||||
and medium companies, foundations or freelances. It includes different
|
||||
features for Enterprise Resource Planning (ERP) and Customer Relationship
|
||||
An easy to use CRM & ERP open source/free software package for small
|
||||
and medium companies, foundations or freelances. It includes different
|
||||
features for Enterprise Resource Planning (ERP) and Customer Relationship
|
||||
Management (CRM) but also for different other activities.
|
||||
Dolibarr was designed to provide only features you need and be easy to
|
||||
Dolibarr was designed to provide only features you need and be easy to
|
||||
use.
|
||||
|
||||
%description -l es
|
||||
Un software ERP y CRM para pequeñas y medianas empresas, asociaciones
|
||||
o autónomos. Incluye diferentes funcionalidades para la Planificación
|
||||
o autónomos. Incluye diferentes funcionalidades para la Planificación
|
||||
de Recursos Empresariales (ERP) y Gestión de la Relación con los
|
||||
Clientes (CRM) así como para para otras diferentes actividades.
|
||||
Clientes (CRM) así como para para otras diferentes actividades.
|
||||
Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades
|
||||
que necesita y haciendo hincapié en su facilidad de uso.
|
||||
|
||||
%description -l fr
|
||||
Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs,
|
||||
artisans ou associations. Il permet de gérer vos clients, prospect,
|
||||
Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs,
|
||||
artisans ou associations. Il permet de gérer vos clients, prospect,
|
||||
fournisseurs, devis, factures, comptes bancaires, agenda, campagnes mailings
|
||||
et bien d'autres choses dans une interface pensée pour la simplicité.
|
||||
|
||||
|
|
@ -101,9 +101,9 @@ et bien d'autres choses dans une interface pensée pour la simplicité.
|
|||
Un programmo gestionale per piccole e medie
|
||||
imprese, fondazioni e liberi professionisti. Include varie funzionalità per
|
||||
Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori
|
||||
attività. Progettato per poter fornire solo ciò di cui hai bisogno
|
||||
attività. Progettato per poter fornire solo ciò di cui hai bisogno
|
||||
ed essere facile da usare.
|
||||
Programmo web, progettato per poter fornire solo ciò di
|
||||
Programmo web, progettato per poter fornire solo ciò di
|
||||
cui hai bisogno ed essere facile da usare.
|
||||
|
||||
|
||||
|
|
@ -167,7 +167,7 @@ cui hai bisogno ed essere facile da usare.
|
|||
%{__cp} -pr build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz
|
||||
%{__cp} -pr htdocs $RPM_BUILD_ROOT%{_datadir}/%{name}
|
||||
%{__cp} -pr scripts $RPM_BUILD_ROOT%{_datadir}/%{name}
|
||||
%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/ckeditor/_source
|
||||
%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/ckeditor/_source
|
||||
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
|
||||
%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/nusoap
|
||||
%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/includes/fonts
|
||||
|
|
@ -187,8 +187,8 @@ echo "%dir %{_datadir}/%{name}/htdocs/langs" >> %{name}.lang
|
|||
for i in $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs/langs/*_*
|
||||
do
|
||||
lang=$(basename $i)
|
||||
lang1=`expr substr $lang 1 2`;
|
||||
lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`;
|
||||
lang1=`expr substr $lang 1 2`;
|
||||
lang2=`expr substr $lang 4 2 | tr "[:upper:]" "[:lower:]"`;
|
||||
echo "%dir %{_datadir}/%{name}/htdocs/langs/${lang}" >> %{name}.lang
|
||||
if [ "$lang1" = "$lang2" ] ; then
|
||||
echo "%lang(${lang1}) %{_datadir}/%{name}/htdocs/langs/${lang}/*.lang"
|
||||
|
|
@ -393,7 +393,7 @@ echo OS detected: $os
|
|||
# Remove dolibarr install/upgrade lock file if it exists
|
||||
%{__rm} -f $docdir/install.lock
|
||||
|
||||
# Create empty directory for uploaded files and generated documents
|
||||
# Create empty directory for uploaded files and generated documents
|
||||
echo Create document directory $docdir
|
||||
%{__mkdir} -p $docdir
|
||||
|
||||
|
|
@ -524,9 +524,9 @@ fi
|
|||
echo
|
||||
echo "----- Dolibarr %version-%release - (c) Dolibarr dev team -----"
|
||||
echo "Dolibarr files are now installed (into /usr/share/dolibarr)."
|
||||
echo "To finish installation and use Dolibarr, click on the menu"
|
||||
echo "To finish installation and use Dolibarr, click on the menu"
|
||||
echo "entry Dolibarr ERP-CRM or call the following page from your"
|
||||
echo "web browser:"
|
||||
echo "web browser:"
|
||||
echo "http://localhost/dolibarr/"
|
||||
echo "-------------------------------------------------------"
|
||||
echo
|
||||
|
|
@ -567,7 +567,7 @@ then
|
|||
fi
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
||||
# Remove apache link
|
||||
if [ -L $apachelink ] ;
|
||||
then
|
||||
|
|
@ -575,7 +575,7 @@ then
|
|||
%{__rm} -f $apachelink
|
||||
status=purge
|
||||
fi
|
||||
|
||||
|
||||
# Restart web servers if required
|
||||
if [ "x$status" = "xpurge" ] ;
|
||||
then
|
||||
|
|
|
|||
|
|
@ -13,6 +13,10 @@ categorie
|
|||
categories
|
||||
clos
|
||||
crypted
|
||||
contaxt
|
||||
courant
|
||||
datea
|
||||
datee
|
||||
doubleclick
|
||||
errorstring
|
||||
exten
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@
|
|||
return [
|
||||
// # Issue statistics:
|
||||
// PhanPluginUnknownPropertyType : 2250+ occurrences
|
||||
// PhanTypePossiblyInvalidDimOffset : 1600+ occurrences
|
||||
// PhanTypePossiblyInvalidDimOffset : 1560+ occurrences
|
||||
// PhanTypeMismatchArgumentProbablyReal : 1450+ occurrences
|
||||
// PhanPossiblyUndeclaredGlobalVariable : 1390+ occurrences
|
||||
// PhanPossiblyUndeclaredGlobalVariable : 1400+ occurrences
|
||||
// PhanPluginUnknownObjectMethodCall : 1050+ occurrences
|
||||
// PhanUndeclaredProperty : 990+ occurrences
|
||||
// PhanUndeclaredProperty : 940+ occurrences
|
||||
// PhanPluginUnknownArrayMethodParamType : 780+ occurrences
|
||||
// PhanUndeclaredGlobalVariable : 730+ occurrences
|
||||
// PhanPluginUnknownArrayMethodReturnType : 620+ occurrences
|
||||
|
|
@ -27,13 +27,11 @@ return [
|
|||
// PhanPluginUnknownArrayFunctionParamType : 190+ occurrences
|
||||
// PhanTypeMismatchArgumentNullableInternal : 180+ occurrences
|
||||
// PhanTypeInvalidDimOffset : 170+ occurrences
|
||||
// PhanPluginUnknownArrayPropertyType : 150+ occurrences
|
||||
// PhanTypeExpectedObjectPropAccess : 150+ occurrences
|
||||
// PhanPluginUnknownArrayPropertyType : 140+ occurrences
|
||||
// PhanTypeInvalidLeftOperandOfNumericOp : 140+ occurrences
|
||||
// PhanUndeclaredMethod : 120+ occurrences
|
||||
// PhanTypeComparisonFromArray : 80+ occurrences
|
||||
// PhanPluginEmptyStatementIf : 65+ occurrences
|
||||
// PhanTypeConversionFromArray : 65+ occurrences
|
||||
// PhanTypeMismatchDimFetch : 60+ occurrences
|
||||
// PhanRedefineFunction : 55+ occurrences
|
||||
// PhanTypeSuspiciousNonTraversableForeach : 35+ occurrences
|
||||
|
|
@ -41,6 +39,7 @@ return [
|
|||
// PhanEmptyForeach : 20+ occurrences
|
||||
// PhanParamSignatureMismatch : 20+ occurrences
|
||||
// PhanRedefinedClassReference : 20+ occurrences
|
||||
// PhanTypeComparisonFromArray : 15+ occurrences
|
||||
// PhanTypeExpectedObjectPropAccessButGotNull : 15+ occurrences
|
||||
// PhanTypeMismatchDimFetchNullable : 15+ occurrences
|
||||
// PhanUndeclaredConstant : 15+ occurrences
|
||||
|
|
@ -53,27 +52,30 @@ return [
|
|||
// PhanEmptyFQSENInClasslike : 5 occurrences
|
||||
// PhanInvalidFQSENInClasslike : 4 occurrences
|
||||
// PhanParamTooMany : 4 occurrences
|
||||
// PhanTypeConversionFromArray : 3 occurrences
|
||||
// PhanTypeComparisonToArray : 2 occurrences
|
||||
// PhanAccessMethodProtected : 1 occurrence
|
||||
// PhanAccessPropertyStaticAsNonStatic : 1 occurrence
|
||||
// PhanNoopStringLiteral : 1 occurrence
|
||||
// PhanPluginWhitespaceTrailing : 1 occurrence
|
||||
// PhanTypeArraySuspiciousNull : 1 occurrence
|
||||
// PhanTypeMismatchReturn : 1 occurrence
|
||||
|
||||
// Currently, file_suppressions and directory_suppressions are the only supported suppressions
|
||||
'file_suppressions' => [
|
||||
'htdocs/accountancy/admin/productaccount.php' => ['PhanTypeMismatchArgumentNullableInternal', 'PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/accountancy/admin/productaccount.php' => ['PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/accountancy/bookkeeping/balance.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/accountancy/bookkeeping/card.php' => ['PhanPossiblyNullTypeMismatchProperty', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/accountancy/bookkeeping/export.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypeObjectUnsetDeclaredProperty', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/accountancy/bookkeeping/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/accountancy/bookkeeping/listbyaccount.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/accountancy/bookkeeping/export.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypeObjectUnsetDeclaredProperty'],
|
||||
'htdocs/accountancy/bookkeeping/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/accountancy/bookkeeping/listbyaccount.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/accountancy/class/accountancycategory.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayPropertyType', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/accountancy/class/accountancyexport.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/accountancy/class/accountancyimport.class.php' => ['PhanPluginUnknownArrayMethodParamType'],
|
||||
'htdocs/accountancy/class/accountingaccount.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/accountancy/class/accountingjournal.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/accountancy/class/api_accountancy.class.php' => ['PhanPluginUnknownArrayPropertyType', 'PhanTypeObjectUnsetDeclaredProperty'],
|
||||
'htdocs/accountancy/class/bookkeeping.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/accountancy/class/bookkeeping.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeComparisonFromArray', 'PhanTypeComparisonToArray', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/accountancy/class/lettering.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/accountancy/closure/index.php' => ['PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/accountancy/customer/list.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
|
|
@ -194,7 +196,7 @@ return [
|
|||
'htdocs/ai/lib/ai.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/api/class/api.class.php' => ['PhanPluginUnknownArrayMethodParamType'],
|
||||
'htdocs/api/class/api_access.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/api/class/api_documents.class.php' => ['PhanPluginDuplicateExpressionBinaryOp', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/api/class/api_documents.class.php' => ['PhanPluginDuplicateExpressionBinaryOp', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/api/class/api_login.class.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/api/class/api_setup.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownPropertyType', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeObjectUnsetDeclaredProperty', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/api/class/api_status.class.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
|
|
@ -229,7 +231,6 @@ return [
|
|||
'htdocs/bom/bom_card.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/bom/bom_document.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/bom/bom_list.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/bom/bom_net_needs.php' => ['PhanPluginUnknownObjectMethodCall'],
|
||||
'htdocs/bom/class/api_boms.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/bom/class/bom.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanPossiblyNullTypeMismatchProperty', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchProperty', 'PhanTypeObjectUnsetDeclaredProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/bom/lib/bom.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
|
|
@ -267,7 +268,7 @@ return [
|
|||
'htdocs/comm/action/class/cactioncomm.class.php' => ['PhanPluginUnknownArrayPropertyType', 'PhanTypeArraySuspiciousNullable'],
|
||||
'htdocs/comm/action/class/ical.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType'],
|
||||
'htdocs/comm/action/document.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/comm/action/index.php' => ['PhanPluginEmptyStatementIf', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPossiblyNullTypeMismatchProperty', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanTypePossiblyInvalidDimOffset', 'PhanPluginUnknownObjectMethodCall'],
|
||||
'htdocs/comm/action/index.php' => ['PhanPluginEmptyStatementIf', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPossiblyNullTypeMismatchProperty', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/comm/action/info.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/comm/action/list.php' => ['PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/comm/action/pertype.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanTypeArraySuspiciousNullable', 'PhanTypeComparisonFromArray', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchDimFetch'],
|
||||
|
|
@ -332,7 +333,7 @@ return [
|
|||
'htdocs/compta/facture/agenda-rec.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/compta/facture/agenda.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/compta/facture/card-rec.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeInvalidLeftOperandOfNumericOp', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/compta/facture/card.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeArraySuspiciousNullable', 'PhanTypeMismatchDimFetchNullable', 'PhanTypeMismatchProperty', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/compta/facture/card.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeArraySuspiciousNullable', 'PhanTypeMismatchDimFetchNullable', 'PhanTypeMismatchProperty', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/compta/facture/class/api_invoices.class.php' => ['PhanEmptyForeach', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/compta/facture/class/facture-rec.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownPropertyType', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/compta/facture/class/facture.class.php' => ['PhanEmptyForeach', 'PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginEmptyStatementIf', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
|
|
@ -409,7 +410,7 @@ return [
|
|||
'htdocs/contact/card.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/contact/class/contact.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPluginUnknownPropertyType', 'PhanTypeObjectUnsetDeclaredProperty'],
|
||||
'htdocs/contact/consumption.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/contact/list.php' => ['PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/contact/list.php' => ['PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/contact/perso.php' => ['PhanTypeMismatchProperty'],
|
||||
'htdocs/contrat/agenda.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/contrat/card.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredGlobalVariable'],
|
||||
|
|
@ -512,7 +513,7 @@ return [
|
|||
'htdocs/core/class/canvas.class.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/class/ccountry.class.php' => ['PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/cgenericdic.class.php' => ['PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/commondocgenerator.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanTypeComparisonFromArray', 'PhanTypeMismatchProperty', 'PhanTypePossiblyInvalidDimOffset', 'PhanTypeSuspiciousNonTraversableForeach', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/commondocgenerator.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanTypeMismatchProperty', 'PhanTypePossiblyInvalidDimOffset', 'PhanTypeSuspiciousNonTraversableForeach', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/commonhookactions.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayPropertyType'],
|
||||
'htdocs/core/class/commonincoterm.class.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/commoninvoice.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeArraySuspiciousNullable', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
|
|
@ -536,13 +537,12 @@ return [
|
|||
'htdocs/core/class/emailsenderprofile.class.php' => ['PhanPluginUnknownPropertyType', 'PhanTypeObjectUnsetDeclaredProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/evalmath.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownPropertyType', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/class/events.class.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/class/extrafields.class.php' => ['PhanPluginConstantVariableNull', 'PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/core/class/extrafields.class.php' => ['PhanPluginConstantVariableNull', 'PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/core/class/extralanguages.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType'],
|
||||
'htdocs/core/class/fileupload.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchDimFetch'],
|
||||
'htdocs/core/class/fiscalyear.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/class/google.class.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/class/hookmanager.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownObjectMethodCall', 'PhanTypeInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/html.form.class.php' => ['PhanTypeConversionFromArray', 'PhanTypeInvalidDimOffset', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredProperty', 'PhanPluginUnknownObjectMethodCall'],
|
||||
'htdocs/core/class/hookmanager.class.php' => ['PhanTypeInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/html.formaccounting.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/class/html.formadmin.class.php' => ['PhanPluginUnknownArrayMethodParamType'],
|
||||
'htdocs/core/class/html.formbarcode.class.php' => ['PhanPluginUnknownArrayMethodParamType'],
|
||||
|
|
@ -579,7 +579,7 @@ return [
|
|||
'htdocs/core/customreports.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginEmptyStatementIf', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchDimFetchNullable', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/datepicker.php' => ['PhanTypeInvalidDimOffset', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/core/db/Database.interface.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/core/db/mysqli.class.php' => ['PhanParamSignatureMismatch', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeArraySuspiciousNullable', 'PhanTypeComparisonFromArray', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/core/db/mysqli.class.php' => ['PhanParamSignatureMismatch', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeArraySuspiciousNullable', 'PhanTypeComparisonFromArray', 'PhanTypeInvalidDimOffset'],
|
||||
'htdocs/core/db/pgsql.class.php' => ['PhanParamSignatureMismatch', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchDimFetch'],
|
||||
'htdocs/core/db/sqlite3.class.php' => ['PhanParamSignatureMismatch', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeComparisonFromArray', 'PhanTypeInvalidDimOffset', 'PhanTypeObjectUnsetDeclaredProperty', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/extrafieldsinexport.inc.php' => ['PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredGlobalVariable'],
|
||||
|
|
@ -589,76 +589,75 @@ return [
|
|||
'htdocs/core/get_menudiv.php' => ['PhanRedefinedClassReference'],
|
||||
'htdocs/core/lib/accounting.lib.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeInvalidLeftOperandOfNumericOp'],
|
||||
'htdocs/core/lib/admin.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/core/lib/agenda.lib.php' => ['PhanPluginConstantVariableNull', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/lib/agenda.lib.php' => ['PhanPluginConstantVariableNull', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/lib/ajax.lib.php' => ['PhanPluginUnknownArrayFunctionParamType'],
|
||||
'htdocs/core/lib/asset.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/bank.lib.php' => ['PhanPluginEmptyStatementIf', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/lib/asset.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/bank.lib.php' => ['PhanPluginEmptyStatementIf', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/lib/barcode.lib.php' => ['PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/core/lib/categories.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/company.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/core/lib/categories.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/company.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/core/lib/contact.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/contract.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/contract.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/cron.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/customreports.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeMismatchDimFetch'],
|
||||
'htdocs/core/lib/date.lib.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/core/lib/doc.lib.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/lib/donation.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/ecm.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/donation.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/ecm.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/emailing.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/eventorganization.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/expedition.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/expensereport.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/fichinter.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/eventorganization.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/expedition.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/expensereport.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/fichinter.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall'],
|
||||
'htdocs/core/lib/files.lib.php' => ['PhanPluginDuplicateExpressionBinaryOp', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/lib/fiscalyear.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/fourn.lib.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/fourn.lib.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/ftp.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/core/lib/functions.lib.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanTypeArraySuspiciousNullable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/lib/functions2.lib.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/core/lib/functions_ch.lib.php' => ['PhanTypeMismatchDimFetch'],
|
||||
'htdocs/core/lib/functionsnumtoword.lib.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPossiblyUndeclaredVariable', 'PhanTypeInvalidLeftOperandOfNumericOp'],
|
||||
'htdocs/core/lib/geturl.lib.php' => ['PhanPluginConstantVariableNull', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/core/lib/holiday.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/holiday.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/hrm.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/images.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/core/lib/import.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/intracommreport.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/invoice.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/invoice.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/invoice2.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/lib/ldap.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/loan.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeInvalidLeftOperandOfNumericOp'],
|
||||
'htdocs/core/lib/mailmanspip.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/member.lib.php' => ['PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/memory.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeMismatchDimFetch'],
|
||||
'htdocs/core/lib/modulebuilder.lib.php' => ['PhanTypeMismatchDimFetch', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/core/lib/multicurrency.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/oauth.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/order.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/order.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/payments.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/pdf.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanTypeInvalidLeftOperandOfNumericOp', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/lib/prelevement.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/price.lib.php' => ['PhanPluginSuspiciousParamPosition', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/core/lib/product.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/product.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/lib/profid.lib.php' => ['PhanTypeInvalidDimOffset'],
|
||||
'htdocs/core/lib/project.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/lib/propal.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/project.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/lib/propal.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall'],
|
||||
'htdocs/core/lib/receiptprinter.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/reception.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/reception.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/report.lib.php' => ['PhanPluginUnknownArrayFunctionParamType'],
|
||||
'htdocs/core/lib/resource.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/salaries.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/resource.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/salaries.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/security.lib.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeInvalidLeftOperandOfNumericOp'],
|
||||
'htdocs/core/lib/security2.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/lib/sendings.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/lib/signature.lib.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/lib/stock.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/supplier_proposal.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/stock.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/supplier_proposal.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPluginUnknownObjectMethodCall'],
|
||||
'htdocs/core/lib/takepos.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/tax.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/lib/ticket.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/core/lib/ticket.lib.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/treeview.lib.php' => ['PhanPluginUnknownArrayFunctionParamType'],
|
||||
'htdocs/core/lib/trip.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/usergroups.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/lib/usergroups.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/lib/vat.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/core/lib/website.lib.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/core/lib/ws.lib.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -744,7 +743,7 @@ return [
|
|||
'htdocs/core/modules/member/modules_cards.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownObjectMethodCall'],
|
||||
'htdocs/core/modules/member/modules_member.class.php' => ['PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/modules/modFacture.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation'],
|
||||
'htdocs/core/modules/movement/doc/pdf_standard.modules.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginDuplicateExpressionBinaryOp', 'PhanPluginEmptyStatementIf', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanRedefineClass', 'PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/movement/doc/pdf_standard.modules.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginDuplicateExpressionBinaryOp', 'PhanPluginEmptyStatementIf', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanRedefineClass', 'PhanUndeclaredMethod'],
|
||||
'htdocs/core/modules/movement/modules_movement.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/core/modules/mrp/doc/pdf_vinci.modules.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/mrp/mod_mo_advanced.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
|
|
@ -787,7 +786,7 @@ return [
|
|||
'htdocs/core/modules/societe/mod_codecompta_aquarium.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/societe/mod_codecompta_digitaria.php' => ['PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeInvalidLeftOperandOfNumericOp', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/core/modules/societe/modules_societe.class.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/core/modules/stock/doc/pdf_standard.modules.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanRedefineClass', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/stock/doc/pdf_standard.modules.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanRedefineClass', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredMethod'],
|
||||
'htdocs/core/modules/stock/modules_stock.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php' => ['PhanPluginDuplicateExpressionAssignmentOperation', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredMethod'],
|
||||
|
|
@ -803,7 +802,7 @@ return [
|
|||
'htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/modules/supplier_order/modules_commandefournisseur.php' => ['PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanRedefineClass', 'PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanRedefineClass', 'PhanUndeclaredMethod'],
|
||||
'htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/modules/supplier_payment/modules_supplier_payment.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php' => ['PhanPluginConstantVariableBool', 'PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
|
|
@ -876,7 +875,6 @@ return [
|
|||
'htdocs/debugbar/class/DataCollector/DolExceptionsCollector.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/debugbar/class/DataCollector/DolLogsCollector.php' => ['PhanPluginUnknownArrayMethodReturnType', 'PhanRedefinedClassReference'],
|
||||
'htdocs/debugbar/class/DataCollector/DolMemoryCollector.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/debugbar/class/DataCollector/DolMessagesCollector.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/debugbar/class/DataCollector/DolPhpCollector.php' => ['PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType'],
|
||||
'htdocs/debugbar/class/DataCollector/DolQueryCollector.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/debugbar/class/DataCollector/DolRequestDataCollector.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
|
|
@ -1020,7 +1018,7 @@ return [
|
|||
'htdocs/hrm/job_agenda.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/hrm/job_card.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/hrm/job_list.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/hrm/lib/hrm.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/hrm/lib/hrm.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/hrm/lib/hrm_job.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/hrm/lib/hrm_position.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/hrm/lib/hrm_skill.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
|
|
@ -1042,6 +1040,7 @@ return [
|
|||
'htdocs/install/fileconf.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/install/inc.php' => ['PhanRedefineFunction'],
|
||||
'htdocs/install/index.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/install/install.forced.php' => ['PhanPluginWhitespaceTrailing'],
|
||||
'htdocs/install/repair.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/install/step2.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/install/upgrade.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -1057,7 +1056,7 @@ return [
|
|||
'htdocs/knowledgemanagement/knowledgerecord_agenda.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/knowledgemanagement/knowledgerecord_card.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/knowledgemanagement/knowledgerecord_list.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/knowledgemanagement/lib/knowledgemanagement.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/knowledgemanagement/lib/knowledgemanagement.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/knowledgemanagement/lib/knowledgemanagement_knowledgerecord.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/loan/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/loan/class/loan.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownPropertyType', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeObjectUnsetDeclaredProperty'],
|
||||
|
|
@ -1081,7 +1080,7 @@ return [
|
|||
'htdocs/mrp/ajax/ajax_bom.php' => ['PhanTypeObjectUnsetDeclaredProperty'],
|
||||
'htdocs/mrp/class/api_mos.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/mrp/class/mo.class.php' => ['PhanParamSignatureMismatch', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchProperty', 'PhanTypeObjectUnsetDeclaredProperty'],
|
||||
'htdocs/mrp/lib/mrp.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/mrp/lib/mrp.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/mrp/lib/mrp_mo.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/mrp/mo_agenda.php' => ['PhanTypeInvalidLeftOperandOfNumericOp', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/mrp/mo_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -1108,7 +1107,7 @@ return [
|
|||
'htdocs/partnership/class/partnershiputils.class.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/partnership/core/modules/partnership/mod_partnership_advanced.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/partnership/core/modules/partnership/modules_partnership.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/partnership/lib/partnership.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/partnership/lib/partnership.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/partnership/partnership_agenda.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/partnership/partnership_card.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/partnership/partnership_list.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
|
|
@ -1181,7 +1180,7 @@ return [
|
|||
'htdocs/product/stock/stats/expedition.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/stats/mo.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/stats/reception.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/stockatdate.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/product/stock/stockatdate.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/product/stock/stocktransfer/class/stocktransfer.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchProperty', 'PhanTypeObjectUnsetDeclaredProperty'],
|
||||
'htdocs/product/stock/stocktransfer/class/stocktransferline.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanTypeObjectUnsetDeclaredProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/stocktransfer/lib/stocktransfer.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
|
|
@ -1286,7 +1285,7 @@ return [
|
|||
'htdocs/recruitment/core/modules/recruitment/modules_recruitmentcandidature.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/recruitment/core/modules/recruitment/modules_recruitmentjobposition.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/recruitment/index.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/recruitment/lib/recruitment.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeConversionFromArray'],
|
||||
'htdocs/recruitment/lib/recruitment.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/recruitment/lib/recruitment_recruitmentcandidature.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/recruitment/lib/recruitment_recruitmentjobposition.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/recruitment/recruitmentcandidature_agenda.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -1302,7 +1301,7 @@ return [
|
|||
'htdocs/recruitment/recruitmentjobposition_note.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/resource/agenda.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/resource/class/dolresource.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPluginUnknownPropertyType'],
|
||||
'htdocs/resource/class/html.formresource.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanTypeExpectedObjectPropAccess', 'PhanUndeclaredProperty'],
|
||||
'htdocs/resource/class/html.formresource.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanTypeExpectedObjectPropAccess'],
|
||||
'htdocs/resource/element_resource.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/resource/list.php' => ['PhanTypeInvalidDimOffset'],
|
||||
'htdocs/salaries/admin/salaries.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -1390,7 +1389,7 @@ return [
|
|||
'htdocs/ticket/class/actions_ticket.class.php' => ['PhanPluginConstantVariableBool', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/ticket/class/api_tickets.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/ticket/class/cticketcategory.class.php' => ['PhanTypeInvalidDimOffset', 'PhanTypeObjectUnsetDeclaredProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/ticket/class/ticket.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeComparisonFromArray', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchDimFetch', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
'htdocs/ticket/class/ticket.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchDimFetch', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredProperty'],
|
||||
'htdocs/ticket/class/ticketstats.class.php' => ['PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownPropertyType'],
|
||||
'htdocs/ticket/contact.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/ticket/index.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeArraySuspiciousNullable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
|
|
@ -1406,7 +1405,7 @@ return [
|
|||
'htdocs/user/document.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/user/group/card.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/user/group/perms.php' => ['PhanPluginUnknownObjectMethodCall'],
|
||||
'htdocs/user/list.php' => ['PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/user/list.php' => ['PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/user/param_ihm.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/user/passwordforgotten.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/user/perms.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanRedefinedClassReference'],
|
||||
|
|
@ -1437,7 +1436,6 @@ return [
|
|||
'htdocs/webportal/class/webportalorder.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownPropertyType'],
|
||||
'htdocs/webportal/class/webportalpartnership.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/webportal/class/webportalpropal.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/webportal/controllers/document.controller.class.php' => ['PhanTypeMismatchProperty'],
|
||||
'htdocs/webportal/lib/webportal.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
'htdocs/webservices/server_actioncomm.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/webservices/server_category.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredProperty'],
|
||||
|
|
@ -1451,7 +1449,7 @@ return [
|
|||
'htdocs/webservices/server_supplier_invoice.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/webservices/server_thirdparty.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/webservices/server_user.php' => ['PhanPluginUnknownArrayFunctionParamType', 'PhanPluginUnknownArrayFunctionReturnType', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/website/class/website.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownArrayPropertyType', 'PhanPossiblyNullTypeMismatchProperty', 'PhanPossiblyUndeclaredVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeObjectUnsetDeclaredProperty', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/website/class/website.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanPossiblyNullTypeMismatchProperty', 'PhanPossiblyUndeclaredVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeObjectUnsetDeclaredProperty', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/website/class/websitepage.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownPropertyType'],
|
||||
'htdocs/website/index.php' => ['PhanPluginEmptyStatementIf', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypePossiblyInvalidDimOffset'],
|
||||
'htdocs/website/lib/websiteaccount.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
|
||||
|
|
|
|||
|
|
@ -61,7 +61,6 @@ ResourcesLinkedToElement
|
|||
SetupDescription5
|
||||
ShowSending
|
||||
SomethingMakeInstallFromWebNotPossible2
|
||||
StatusMotif0
|
||||
StatusOrderProcessed
|
||||
SuppliersOrdersRunning
|
||||
TasksOnOpenedProject
|
||||
|
|
|
|||
|
|
@ -166,7 +166,8 @@ sed -n 's@> \(.*\)'"@${REPL_STR}@p" \
|
|||
|
||||
|
||||
if [ -s "${UNUSED_FILE}.grep" ] ; then
|
||||
exit_code=1
|
||||
#exit_code=1
|
||||
exit_code=0 # We do not consider adding new entries for future use as an error (even if ignore_translation_keys.lst not filled).
|
||||
|
||||
# Report unused translation in recognizable format
|
||||
git grep -n --column -r -f "${UNUSED_FILE}.grep" -- "${LANG_DIR}"'/*.lang' \
|
||||
|
|
|
|||
|
|
@ -840,7 +840,7 @@ if ($action == 'export_file') {
|
|||
if (getDolGlobalString('ACCOUNTING_EXPORT_MODELCSV') == AccountancyExport::$EXPORT_TYPE_QUADRATUS
|
||||
|| getDolGlobalString('ACCOUNTING_EXPORT_MODELCSV') == AccountancyExport::$EXPORT_TYPE_FEC
|
||||
|| getDolGlobalString('ACCOUNTING_EXPORT_MODELCSV') == AccountancyExport::$EXPORT_TYPE_FEC2
|
||||
) {
|
||||
) {
|
||||
$form_question['notifiedexportfull'] = array(
|
||||
'name' => 'notifiedexportfull',
|
||||
'type' => 'checkbox',
|
||||
|
|
@ -1265,6 +1265,7 @@ while ($i < min($num, $limit)) {
|
|||
}
|
||||
|
||||
// Document ref
|
||||
$modulepart = '';
|
||||
if (!empty($arrayfields['t.doc_ref']['checked'])) {
|
||||
$documentlink = '';
|
||||
$objectstatic = null;
|
||||
|
|
|
|||
|
|
@ -1158,6 +1158,7 @@ while ($i < min($num, $limit)) {
|
|||
}
|
||||
|
||||
// Document ref
|
||||
$modulepart = '';
|
||||
if (!empty($arrayfields['t.doc_ref']['checked'])) {
|
||||
if ($line->doc_type == 'customer_invoice') {
|
||||
$langs->loadLangs(array('bills'));
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
* Copyright (C) 2013-2020 Florian Henry <florian.henry@open-concept.pro>
|
||||
* Copyright (C) 2013-2024 Alexandre Spangaro <aspangaro@easya.solutions>
|
||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -1155,6 +1156,7 @@ while ($i < min($num, $limit)) {
|
|||
}
|
||||
|
||||
// Document ref
|
||||
$modulepart = '';
|
||||
if (!empty($arrayfields['t.doc_ref']['checked'])) {
|
||||
if ($line->doc_type == 'customer_invoice') {
|
||||
$langs->loadLangs(array('bills'));
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2021-2023 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -225,7 +226,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array('socid' => isset($socid) ? $socid : null);
|
||||
$parameters = array('socid' => isset($socid) ? $socid : null, 'arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
* Copyright (C) 2017 Neil Orley <neil.orley@oeris.fr>
|
||||
* Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr>
|
||||
* Copyright (C) 2018-2022 Thibault FOUCART <support@ptibogxiv.net>
|
||||
* Copyright (C) 2024 Jon Bendtsen <jon.bendtsen.github@jonb.dk>
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
@ -1232,7 +1233,170 @@ class Setup extends DolibarrApi
|
|||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** get Extrafield object
|
||||
*
|
||||
* @param string $attrname extrafield attrname
|
||||
* @param string $elementtype extrafield elementtype
|
||||
* @return array List of extra fields
|
||||
*
|
||||
* @url GET extrafields/{elementtype}/{attrname}
|
||||
*
|
||||
* @suppress PhanPluginUnknownArrayMethodParamType Luracast limitation
|
||||
*
|
||||
*/
|
||||
public function getExtrafields($attrname, $elementtype)
|
||||
{
|
||||
$answer = array();
|
||||
|
||||
if (!DolibarrApiAccess::$user->admin) {
|
||||
throw new RestException(403, 'Only an admin user can get list of extrafields');
|
||||
}
|
||||
|
||||
if ($elementtype == 'thirdparty') {
|
||||
$elementtype = 'societe';
|
||||
}
|
||||
if ($elementtype == 'contact') {
|
||||
$elementtype = 'socpeople';
|
||||
}
|
||||
|
||||
$sql = "SELECT t.rowid as id, t.name, t.entity, t.elementtype, t.label, t.type, t.size, t.fieldcomputed, t.fielddefault,";
|
||||
$sql .= " t.fieldunique, t.fieldrequired, t.perms, t.enabled, t.pos, t.alwayseditable, t.param, t.list, t.printable,";
|
||||
$sql .= " t.totalizable, t.langs, t.help, t.css, t.cssview, t.fk_user_author, t.fk_user_modif, t.datec, t.tms";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."extrafields as t";
|
||||
$sql .= " WHERE t.entity IN (".getEntity('extrafields').")";
|
||||
$sql .= " AND t.elementtype = '".$this->db->escape($elementtype)."'";
|
||||
$sql .= " AND t.name = '".$this->db->escape($attrname)."'";
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
if ($this->db->num_rows($resql)) {
|
||||
while ($tab = $this->db->fetch_object($resql)) {
|
||||
// New usage
|
||||
$answer[$tab->elementtype][$tab->name]['id'] = $tab->id;
|
||||
$answer[$tab->elementtype][$tab->name]['type'] = $tab->type;
|
||||
$answer[$tab->elementtype][$tab->name]['label'] = $tab->label;
|
||||
$answer[$tab->elementtype][$tab->name]['size'] = $tab->size;
|
||||
$answer[$tab->elementtype][$tab->name]['elementtype'] = $tab->elementtype;
|
||||
$answer[$tab->elementtype][$tab->name]['default'] = $tab->fielddefault;
|
||||
$answer[$tab->elementtype][$tab->name]['computed'] = $tab->fieldcomputed;
|
||||
$answer[$tab->elementtype][$tab->name]['unique'] = $tab->fieldunique;
|
||||
$answer[$tab->elementtype][$tab->name]['required'] = $tab->fieldrequired;
|
||||
$answer[$tab->elementtype][$tab->name]['param'] = ($tab->param ? jsonOrUnserialize($tab->param) : ''); // This may be a string encoded with serialise() or json_encode()
|
||||
$answer[$tab->elementtype][$tab->name]['pos'] = $tab->pos;
|
||||
$answer[$tab->elementtype][$tab->name]['alwayseditable'] = $tab->alwayseditable;
|
||||
$answer[$tab->elementtype][$tab->name]['perms'] = $tab->perms;
|
||||
$answer[$tab->elementtype][$tab->name]['list'] = $tab->list;
|
||||
$answer[$tab->elementtype][$tab->name]['printable'] = $tab->printable;
|
||||
$answer[$tab->elementtype][$tab->name]['totalizable'] = $tab->totalizable;
|
||||
$answer[$tab->elementtype][$tab->name]['langs'] = $tab->langs;
|
||||
$answer[$tab->elementtype][$tab->name]['help'] = $tab->help;
|
||||
$answer[$tab->elementtype][$tab->name]['css'] = $tab->css;
|
||||
$answer[$tab->elementtype][$tab->name]['cssview'] = $tab->cssview;
|
||||
$answer[$tab->elementtype][$tab->name]['csslist'] = $tab->csslist;
|
||||
$answer[$tab->elementtype][$tab->name]['fk_user_author'] = $tab->fk_user_author;
|
||||
$answer[$tab->elementtype][$tab->name]['fk_user_modif'] = $tab->fk_user_modif;
|
||||
$answer[$tab->elementtype][$tab->name]['datec'] = $tab->datec;
|
||||
$answer[$tab->elementtype][$tab->name]['tms'] = $tab->tms;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new RestException(503, 'Error when retrieving list of extra fields : '.$this->db->lasterror());
|
||||
}
|
||||
|
||||
return $answer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create Extrafield object
|
||||
*
|
||||
* @param string $attrname extrafield attrname
|
||||
* @param string $elementtype extrafield elementtype
|
||||
* @param array $request_data Request datas
|
||||
* @return int ID of extrafield
|
||||
*
|
||||
* @url POST extrafields/{elementtype}/{attrname}
|
||||
*
|
||||
* @suppress PhanPluginUnknownArrayMethodParamType Luracast limitation
|
||||
*
|
||||
*/
|
||||
public function postExtrafields($attrname, $elementtype, $request_data = null)
|
||||
{
|
||||
if (!DolibarrApiAccess::$user->admin) {
|
||||
throw new RestException(403, 'Only an admin user can create an extrafield');
|
||||
}
|
||||
|
||||
$extrafields = new ExtraFields($this->db);
|
||||
|
||||
$result = $extrafields->fetch_name_optionals_label($elementtype, false, $attrname);
|
||||
if ($result) {
|
||||
throw new RestException(409, 'Duplicate extrafield already found from attrname and elementtype');
|
||||
}
|
||||
|
||||
// Check mandatory fields is not working despise being a modified copy from api_thirdparties.class.php
|
||||
// $result = $this->_validateExtrafields($request_data, $extrafields);
|
||||
|
||||
foreach ($request_data as $field => $value) {
|
||||
$extrafields->$field = $this->_checkValForAPI($field, $value, $extrafields);
|
||||
}
|
||||
|
||||
// built in validation
|
||||
$enabled = 1; // hardcoded because it seems to always be 1 in every row in the database
|
||||
if ($request_data['entity']) {
|
||||
$entity = $request_data['entity'];
|
||||
} else {
|
||||
throw new RestException(400, "Entity field absent");
|
||||
}
|
||||
if ($request_data['label']) {
|
||||
$label = $request_data['label'];
|
||||
} else {
|
||||
throw new RestException(400, "label field absent");
|
||||
}
|
||||
|
||||
$alwayseditable = $request_data['alwayseditable'];
|
||||
$default_value = $request_data['default_value'];
|
||||
$totalizable = $request_data['totalizable'];
|
||||
$printable = $request_data['printable'];
|
||||
$required = $request_data['required'];
|
||||
$langfile = $request_data['langfile'];
|
||||
$computed = $request_data['computed'];
|
||||
$unique = $request_data['unique'];
|
||||
$param = $request_data['param'];
|
||||
$perms = $request_data['perms'];
|
||||
$size = $request_data['size'];
|
||||
$type = $request_data['type'];
|
||||
$list = $request_data['list'];
|
||||
$help = $request_data['help'];
|
||||
$pos = $request_data['pos'];
|
||||
$moreparams = array();
|
||||
|
||||
if ( 0 > $extrafields->addExtraField($attrname, $label, $type, $pos, $size, $elementtype, $unique, $required, $default_value, $param, $alwayseditable, $perms, $list, $help, $computed, $entity, $langfile, $enabled, $totalizable, $printable, $moreparams)) {
|
||||
throw new RestException(500, 'Error creating extrafield', array_merge(array($extrafields->errno), $extrafields->errors));
|
||||
}
|
||||
|
||||
$sql = "SELECT t.rowid as id";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."extrafields as t";
|
||||
$sql .= " WHERE elementtype = '".$this->db->escape($elementtype)."'";
|
||||
$sql .= " AND name = '".$this->db->escape($attrname)."'";
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
if ($this->db->num_rows($resql)) {
|
||||
$tab = $this->db->fetch_object($resql);
|
||||
$id = (int) $tab->id;
|
||||
} else {
|
||||
$id = (int) -1;
|
||||
}
|
||||
} else {
|
||||
$id = (int) -2;
|
||||
}
|
||||
|
||||
return $id;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
* Update Extrafield object
|
||||
*
|
||||
* @param string $attrname extrafield attrname
|
||||
|
|
|
|||
|
|
@ -441,6 +441,52 @@ if (Luracast\Restler\Defaults::$returnResponse) {
|
|||
echo $result;
|
||||
}
|
||||
|
||||
if (getDolGlobalInt("API_ENABLE_COUNT_CALLS") && $api->r->responseCode == 200) {
|
||||
$error = 0;
|
||||
$db->begin();
|
||||
$userid = DolibarrApiAccess::$user->id;
|
||||
|
||||
$sql = "SELECT up.value";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."user_param as up";
|
||||
$sql .= " WHERE up.param = 'API_COUNT_CALL'";
|
||||
$sql .= " AND up.fk_user = ".((int) $userid);
|
||||
$sql .= " AND up.entity = ".((int) $conf->entity);
|
||||
|
||||
$result = $db->query($sql);
|
||||
if ($result) {
|
||||
$updateapi = false;
|
||||
$nbrows = $db->num_rows($result);
|
||||
if ($nbrows == 0) {
|
||||
$sql2 = "INSERT INTO ".MAIN_DB_PREFIX."user_param";
|
||||
$sql2 .= " (fk_user, entity, param, value)";
|
||||
$sql2 .= " VALUES (".((int) $userid).", ".((int) $conf->entity).", 'API_COUNT_CALL', 1)";
|
||||
} else {
|
||||
$updateapi = true;
|
||||
$sql2 = "UPDATE ".MAIN_DB_PREFIX."user_param as up";
|
||||
$sql2 .= " SET up.value = up.value + 1";
|
||||
$sql2 .= " WHERE up.param = 'API_COUNT_CALL'";
|
||||
$sql2 .= " AND up.fk_user = ".((int) $userid);
|
||||
$sql2 .= " AND up.entity = ".((int) $conf->entity);
|
||||
}
|
||||
|
||||
$result2 = $db->query($sql2);
|
||||
if (!$result2) {
|
||||
$modeapicall = $updateapi ? 'updating' : 'inserting';
|
||||
dol_syslog('Error while '.$modeapicall. ' API_COUNT_CALL for user '.$userid, LOG_ERR);
|
||||
$error++;
|
||||
}
|
||||
} else {
|
||||
dol_syslog('Error on select API_COUNT_CALL for user '.$userid, LOG_ERR);
|
||||
$error++;
|
||||
}
|
||||
|
||||
if ($error) {
|
||||
$db->rollback();
|
||||
} else {
|
||||
$db->commit();
|
||||
}
|
||||
}
|
||||
|
||||
// Call API termination method
|
||||
$apiMethodInfo = &$api->r->apiMethodInfo;
|
||||
$terminateCall = '_terminate_' . $apiMethodInfo->methodName . '_' . $api->r->responseFormat->getExtension();
|
||||
|
|
|
|||
|
|
@ -1532,8 +1532,8 @@ class BOM extends CommonObject
|
|||
/**
|
||||
* Get Net needs by product
|
||||
*
|
||||
* @param array $TNetNeeds Array of ChildBom and infos linked to
|
||||
* @param float $qty qty needed
|
||||
* @param array<int,float|int> $TNetNeeds Array of ChildBom and infos linked to
|
||||
* @param float $qty qty needed
|
||||
* @return void
|
||||
*/
|
||||
public function getNetNeeds(&$TNetNeeds = array(), $qty = 0)
|
||||
|
|
@ -1557,7 +1557,7 @@ class BOM extends CommonObject
|
|||
/**
|
||||
* Get Net needs Tree by product or bom
|
||||
*
|
||||
* @param array $TNetNeeds Array of ChildBom and infos linked to
|
||||
* @param array<int,array{bom:BOM,parent_id:int,qty:float,level:int}> $TNetNeeds Array of ChildBom and infos linked to
|
||||
* @param float $qty qty needed
|
||||
* @param int $level level of recursivity
|
||||
* @return void
|
||||
|
|
|
|||
|
|
@ -2121,6 +2121,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
|
|||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
} else {
|
||||
'@phan-var-force ActionComm $event';
|
||||
if (empty($reshook)) {
|
||||
// Other calendar
|
||||
if (empty($event->fulldayevent)) {
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ $langs->loadLangs(array("compta", "banks", "bills", "accountancy"));
|
|||
$optioncss = GETPOST('optioncss', 'alpha');
|
||||
$mode = GETPOST('mode', 'alpha');
|
||||
$massaction = GETPOST('massaction', 'aZ09');
|
||||
$toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list
|
||||
$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'directdebitcredittransferlist'; // To manage different context of search
|
||||
|
||||
$limit = GETPOSTINT('limit') ? GETPOSTINT('limit') : $conf->liste_limit;
|
||||
|
|
|
|||
|
|
@ -630,7 +630,7 @@ if (isModEnabled('invoice') && isModEnabled('order') && $user->hasRight("command
|
|||
print "<tr class=\"liste_titre\">";
|
||||
print '<th colspan="2">';
|
||||
print $langs->trans("OrdersDeliveredToBill").' ';
|
||||
print '<a href="'.DOL_URL_ROOT.'/commande/list.php?search_status='.Commande::STATUS_CLOSED.'&billed=0">';
|
||||
print '<a href="'.DOL_URL_ROOT.'/commande/list.php?search_status='.Commande::STATUS_CLOSED.'&search_billed=0">';
|
||||
print '<span class="badge">'.$num.'</span>';
|
||||
print '</a>';
|
||||
print '</th>';
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class RejetPrelevement
|
|||
$this->motifs = array();
|
||||
$this->labelsofinvoicing = array();
|
||||
|
||||
$this->motifs[0] = ""; //$langs->trans("StatusMotif0");
|
||||
$this->motifs[0] = "";
|
||||
$this->motifs[1] = $langs->trans("StatusMotif1");
|
||||
$this->motifs[2] = $langs->trans("StatusMotif2");
|
||||
$this->motifs[3] = $langs->trans("StatusMotif3");
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
* Copyright (C) 2019 Josep Lluís Amador <joseplluis@lliuretic.cat>
|
||||
* Copyright (C) 2020 Open-Dsi <support@open-dsi.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -347,7 +348,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array();
|
||||
$parameters = array('arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
@ -943,6 +944,8 @@ if (isModEnabled('category') && $user->hasRight('societe', 'creer')) {
|
|||
if (GETPOSTINT('nomassaction') || in_array($massaction, array('presend', 'predelete','preaffecttag'))) {
|
||||
$arrayofmassactions = array();
|
||||
}
|
||||
|
||||
$massactionbutton = '';
|
||||
if ($contextpage != 'poslist') {
|
||||
$massactionbutton = $form->selectMassAction('', $arrayofmassactions);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
* Copyright (C) 2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -223,7 +224,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$parameters = array('socid' => $socid, 'arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ if ($action == 'print_file' && $user->hasRight('printing', 'read')) {
|
|||
$classname = 'printing_'.$driver;
|
||||
$printer = new $classname($db);
|
||||
'@phan-var-force PrintingDriver $printer';
|
||||
$langs->load($printer::LANGFILE);
|
||||
$langs->load('printing');
|
||||
//print '<pre>'.print_r($printer, true).'</pre>';
|
||||
|
||||
if (getDolGlobalString($printer->active)) {
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ if (!empty($user->socid)) {
|
|||
|
||||
// We check permission.
|
||||
// Check is done on $user->rights->element->create or $user->rights->element->subelement->create (because $action = 'set')
|
||||
if (preg_match('/status$/', $field) || ($field == 'evenunsubscribe' && $object->table_element == 'mailing')) {
|
||||
if (preg_match('/statu[st]$/', $field) || ($field == 'evenunsubscribe' && $object->table_element == 'mailing')) {
|
||||
restrictedArea($user, $object->module, $object, $object->table_element, $usesublevelpermission);
|
||||
} elseif ($element == 'product' && in_array($field, array('tosell', 'tobuy', 'tobatch'))) { // Special case for products
|
||||
restrictedArea($user, 'produit|service', $object, 'product&product', '', '', 'rowid');
|
||||
|
|
|
|||
|
|
@ -821,14 +821,17 @@ abstract class CommonDocGenerator
|
|||
if (isset($line->fk_product) && $line->fk_product > 0) {
|
||||
$tmpproduct = new Product($this->db);
|
||||
$result = $tmpproduct->fetch($line->fk_product);
|
||||
foreach ($tmpproduct->array_options as $key => $label) {
|
||||
$resarray["line_product_".$key] = $label;
|
||||
if (!empty($tmpproduct->array_options) && is_array($tmpproduct->array_options)) {
|
||||
foreach ($tmpproduct->array_options as $key => $label) {
|
||||
$resarray["line_product_".$key] = $label;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Set unused placeholders as blank
|
||||
$extrafields->fetch_name_optionals_label("product");
|
||||
if ($extrafields->attributes["product"]['count'] > 0) {
|
||||
$extralabels = $extrafields->attributes["product"]['label'];
|
||||
|
||||
foreach ($extralabels as $key => $label) {
|
||||
$resarray['line_product_options_'.$key] = '';
|
||||
}
|
||||
|
|
@ -930,13 +933,17 @@ abstract class CommonDocGenerator
|
|||
$array_other['object_'.$key] = $value;
|
||||
} elseif (is_array($value) && $recursive) {
|
||||
$tmparray = $this->get_substitutionarray_each_var_object($value, $outputlangs, 0);
|
||||
foreach ($tmparray as $key2 => $value2) {
|
||||
$array_other['object_'.$key.'_'.preg_replace('/^object_/', '', $key2)] = $value2;
|
||||
if (!empty($tmparray) && is_array($tmparray)) {
|
||||
foreach ($tmparray as $key2 => $value2) {
|
||||
$array_other['object_'.$key.'_'.preg_replace('/^object_/', '', $key2)] = $value2;
|
||||
}
|
||||
}
|
||||
} elseif (is_object($value) && $recursive) {
|
||||
$tmparray = $this->get_substitutionarray_each_var_object($value, $outputlangs, 0);
|
||||
foreach ($tmparray as $key2 => $value2) {
|
||||
$array_other['object_'.$key.'_'.preg_replace('/^object_/', '', $key2)] = $value2;
|
||||
if (!empty($tmparray) && is_array($tmparray)) {
|
||||
foreach ($tmparray as $key2 => $value2) {
|
||||
$array_other['object_'.$key.'_'.preg_replace('/^object_/', '', $key2)] = $value2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5218,7 +5218,7 @@ class Form
|
|||
* @param string $title Title
|
||||
* @param string $question Question
|
||||
* @param string $action Action
|
||||
* @param array<array{label:string,type:string,size:string,morecss:string,moreattr:string,style:string}> $formquestion An array with complementary inputs to add into forms: array(array('label'=> ,'type'=> , 'size'=>, 'morecss'=>, 'moreattr'=>'autofocus' or 'style=...'))
|
||||
* @param array{text:string}|array<array{label:string,type:string,size:string,morecss:string,moreattr:string,style:string}> $formquestion An array with complementary inputs to add into forms: array(array('label'=> ,'type'=> , 'size'=>, 'morecss'=>, 'moreattr'=>'autofocus' or 'style=...'))
|
||||
* @param string $selectedchoice "" or "no" or "yes"
|
||||
* @param int|string $useajax 0=No, 1=Yes use Ajax to show the popup, 2=Yes and also submit page with &confirm=no if choice is No, 'xxx'=Yes and preoutput confirm box with div id=dialog-confirm-xxx
|
||||
* @param int $height Force height of box
|
||||
|
|
@ -5252,8 +5252,8 @@ class Form
|
|||
* @param array<array{name:string,value:string,values:string[],default:string,label:string,type:string,size:string,morecss:string,moreattr:string,style:string,inputko?:int<0,1>}>|string|null $formquestion An array with complementary inputs to add into forms: array(array('label'=> ,'type'=> , 'size'=>, 'morecss'=>, 'moreattr'=>'autofocus' or 'style=...'))
|
||||
* 'type' can be 'text', 'password', 'checkbox', 'radio', 'date', 'datetime', 'select', 'multiselect', 'morecss',
|
||||
* 'other', 'onecolumn' or 'hidden'...
|
||||
* @param int|string $selectedchoice '' or 'no', or 'yes' or '1', 1, '0' or 0
|
||||
* @param int|string $useajax 0=No, 1=Yes use Ajax to show the popup, 2=Yes and also submit page with &confirm=no if choice is No, 'xxx'=Yes and preoutput confirm box with div id=dialog-confirm-xxx
|
||||
* @param int<0,1>|''|'no'|'yes'|'1'|'0' $selectedchoice '' or 'no', or 'yes' or '1', 1, '0' or 0
|
||||
* @param int<0,2>|string $useajax 0=No, 1=Yes use Ajax to show the popup, 2=Yes and also submit page with &confirm=no if choice is No, 'xxx'=Yes and preoutput confirm box with div id=dialog-confirm-xxx
|
||||
* @param int|string $height Force height of box (0 = auto)
|
||||
* @param int $width Force width of box ('999' or '90%'). Ignored and forced to 90% on smartphones.
|
||||
* @param int $disableformtag 1=Disable form tag. Can be used if we are already inside a <form> section.
|
||||
|
|
@ -5459,7 +5459,8 @@ class Form
|
|||
}
|
||||
}
|
||||
// Add name of fields to propagate with the GET when submitting the form with button KO.
|
||||
if (isset($input['inputko']) && $input['inputko'] == 1 && isset($input['name'])) {
|
||||
// @phan-suppress-next-line PhanTypePossiblyInvalidDimOffset
|
||||
if (is_array($input) && isset($input['inputko']) && $input['inputko'] == 1 && isset($input['name'])) {
|
||||
array_push($inputko, $input['name']);
|
||||
}
|
||||
}
|
||||
|
|
@ -5467,7 +5468,7 @@ class Form
|
|||
|
||||
// Show JQuery confirm box.
|
||||
$formconfirm .= '<div id="' . $dialogconfirm . '" title="' . dol_escape_htmltag($title) . '" style="display: none;">';
|
||||
if (is_array($formquestion) && !empty($formquestion['text'])) {
|
||||
if (is_array($formquestion) && array_key_exists('text', $formquestion) && !empty($formquestion['text'])) {
|
||||
$formconfirm .= '<div class="confirmtext">' . $formquestion['text'] . '</div>' . "\n";
|
||||
}
|
||||
if (!empty($more)) {
|
||||
|
|
@ -5608,7 +5609,7 @@ class Form
|
|||
$formconfirm .= '</td></tr>' . "\n";
|
||||
|
||||
// Line text
|
||||
if (is_array($formquestion) && !empty($formquestion['text'])) {
|
||||
if (is_array($formquestion) && array_key_exists('text', $formquestion) && !empty($formquestion['text'])) {
|
||||
$formconfirm .= '<tr class="valid"><td class="valid" colspan="2">' . $formquestion['text'] . '</td></tr>' . "\n";
|
||||
}
|
||||
|
||||
|
|
@ -8115,8 +8116,10 @@ class Form
|
|||
}
|
||||
} else {
|
||||
// For a property in ->fields
|
||||
$objectdesc = $objectforfieldstmp->fields[$tmparray[1]]['type'];
|
||||
$objectdesc = preg_replace('/^integer[^:]*:/', '', $objectdesc);
|
||||
if (array_key_exists($tmparray[1], $objectforfieldstmp->fields)) {
|
||||
$objectdesc = $objectforfieldstmp->fields[$tmparray[1]]['type'];
|
||||
$objectdesc = preg_replace('/^integer[^:]*:/', '', $objectdesc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -9022,13 +9025,13 @@ class Form
|
|||
//$listoffieldsforselection .= '<li>-----</li>';
|
||||
continue;
|
||||
}
|
||||
if ($val['label']) {
|
||||
if (!empty($val['label']) && $val['label']) {
|
||||
if (!empty($val['langfile']) && is_object($langs)) {
|
||||
$langs->load($val['langfile']);
|
||||
}
|
||||
|
||||
// Note: $val['checked'] <> 0 means we must show the field into the combo list
|
||||
$listoffieldsforselection .= '<li><input type="checkbox" id="checkbox' . $key . '" value="' . $key . '"' . ((empty($val['checked']) || $val['checked'] == '-1') ? '' : ' checked="checked"') . '/><label for="checkbox' . $key . '">' . dol_escape_htmltag($langs->trans($val['label'])) . '</label></li>';
|
||||
// Note: $val['checked'] <> 0 means we must show the field into the combo list @phan-suppress-next-line PhanTypePossiblyInvalidDimOffset
|
||||
$listoffieldsforselection .= '<li><input type="checkbox" id="checkbox' . $key . '" value="' . $key . '"' . ((!array_key_exists('checked', $val) || empty($val['checked']) || $val['checked'] == '-1') ? '' : ' checked="checked"') . '/><label for="checkbox' . $key . '">' . dol_escape_htmltag($langs->trans($val['label'])) . '</label></li>';
|
||||
$listcheckedstring .= (empty($val['checked']) ? '' : $key . ',');
|
||||
}
|
||||
}
|
||||
|
|
@ -9805,6 +9808,7 @@ class Form
|
|||
}
|
||||
}
|
||||
} elseif ($object->element == 'member') {
|
||||
'@phan-var-force Adherent $object';
|
||||
$ret .= $object->ref . '<br>';
|
||||
$fullname = $object->getFullName($langs);
|
||||
if ($object->morphy == 'mor' && $object->societe) {
|
||||
|
|
@ -9817,6 +9821,7 @@ class Form
|
|||
} elseif ($object->element == 'usergroup') {
|
||||
$ret .= dol_htmlentities($object->name);
|
||||
} elseif (in_array($object->element, array('action', 'agenda'))) {
|
||||
'@phan-var-force ActionComm $object';
|
||||
$ret .= $object->ref . '<br>' . $object->label;
|
||||
} elseif (in_array($object->element, array('adherent_type'))) {
|
||||
$ret .= $object->label;
|
||||
|
|
@ -9845,7 +9850,7 @@ class Form
|
|||
/**
|
||||
* Return HTML code to output a barcode
|
||||
*
|
||||
* @param Object $object Object containing data to retrieve file name
|
||||
* @param CommonObject $object Object containing data to retrieve file name
|
||||
* @param int $width Width of photo
|
||||
* @param string $morecss More CSS on img of barcode
|
||||
* @return string HTML code to output barcode
|
||||
|
|
@ -9861,6 +9866,7 @@ class Form
|
|||
|
||||
// Complete object if not complete
|
||||
if (empty($object->barcode_type_code) || empty($object->barcode_type_coder)) {
|
||||
// @phan-suppress-next-line PhanPluginUnknownObjectMethodCall
|
||||
$result = $object->fetch_barcode();
|
||||
//Check if fetch_barcode() failed
|
||||
if ($result < 1) {
|
||||
|
|
@ -9868,7 +9874,7 @@ class Form
|
|||
}
|
||||
}
|
||||
|
||||
// Barcode image
|
||||
// Barcode image @phan-suppress-next-line PhanUndeclaredProperty
|
||||
$url = DOL_URL_ROOT . '/viewimage.php?modulepart=barcode&generator=' . urlencode($object->barcode_type_coder) . '&code=' . urlencode($object->barcode) . '&encoding=' . urlencode($object->barcode_type_code);
|
||||
$out = '<!-- url barcode = ' . $url . ' -->';
|
||||
$out .= '<img src="' . $url . '"' . ($morecss ? ' class="' . $morecss . '"' : '') . '>';
|
||||
|
|
@ -9898,7 +9904,7 @@ class Form
|
|||
global $conf, $langs;
|
||||
|
||||
$entity = (empty($object->entity) ? $conf->entity : $object->entity);
|
||||
$id = (empty($object->id) ? $object->rowid : $object->id);
|
||||
$id = (empty($object->id) ? $object->rowid : $object->id); // @phan-suppress-current-line PhanUndeclaredProperty (->rowid)
|
||||
|
||||
$dir = '';
|
||||
$file = '';
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ class DoliDBMysqli extends DoliDB
|
|||
$this->ok = true;
|
||||
|
||||
// If client is old latin, we force utf8
|
||||
$clientmustbe = empty($conf->db->character_set) ? 'utf8' : $conf->db->character_set;
|
||||
$clientmustbe = empty($conf->db->character_set) ? 'utf8' : (string) $conf->db->character_set;
|
||||
if (preg_match('/latin1/', $clientmustbe)) {
|
||||
$clientmustbe = 'utf8';
|
||||
}
|
||||
|
|
@ -160,7 +160,7 @@ class DoliDBMysqli extends DoliDB
|
|||
|
||||
if ($this->connected) {
|
||||
// If client is old latin, we force utf8
|
||||
$clientmustbe = empty($conf->db->character_set) ? 'utf8' : $conf->db->character_set;
|
||||
$clientmustbe = empty($conf->db->character_set) ? 'utf8' : (string) $conf->db->character_set;
|
||||
if (preg_match('/latin1/', $clientmustbe)) {
|
||||
$clientmustbe = 'utf8';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,9 +32,6 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|||
*/
|
||||
class PrintingDriver
|
||||
{
|
||||
/** Force subclass to implement LANGFILE */
|
||||
const LANGFILE = self::LANGFILE;
|
||||
|
||||
/**
|
||||
* @var DoliDB Database handler.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ class printing_printgcp extends PrintingDriver
|
|||
const PRINTERS_SEARCH_URL = 'https://www.google.com/cloudprint/search';
|
||||
const PRINTERS_GET_JOBS = 'https://www.google.com/cloudprint/jobs';
|
||||
const PRINT_URL = 'https://www.google.com/cloudprint/submit';
|
||||
const LANGFILE = 'printgcp';
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
|
|
|
|||
|
|
@ -81,6 +81,11 @@ class printing_printipp extends PrintingDriver
|
|||
*/
|
||||
public $password;
|
||||
|
||||
/**
|
||||
* @var int Does CUPS connection use SSL ?
|
||||
*/
|
||||
public $ssl;
|
||||
|
||||
/**
|
||||
* @var string Error code (or message)
|
||||
*/
|
||||
|
|
@ -96,8 +101,6 @@ class printing_printipp extends PrintingDriver
|
|||
*/
|
||||
public $db;
|
||||
|
||||
const LANGFILE = 'printipp';
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
|
|
@ -113,10 +116,12 @@ class printing_printipp extends PrintingDriver
|
|||
$this->port = getDolGlobalString('PRINTIPP_PORT');
|
||||
$this->user = getDolGlobalString('PRINTIPP_USER');
|
||||
$this->password = getDolGlobalString('PRINTIPP_PASSWORD');
|
||||
$this->ssl = getDolGlobalInt('PRINTIPP_SSL');
|
||||
$this->conf[] = array('varname' => 'PRINTIPP_HOST', 'required' => 1, 'example' => 'localhost', 'type' => 'text');
|
||||
$this->conf[] = array('varname' => 'PRINTIPP_PORT', 'required' => 1, 'example' => '631', 'type' => 'text');
|
||||
$this->conf[] = array('varname' => 'PRINTIPP_USER', 'required' => 0, 'example' => '', 'type' => 'text', 'moreattributes' => 'autocomplete="off"');
|
||||
$this->conf[] = array('varname' => 'PRINTIPP_PASSWORD', 'required' => 0, 'example' => '', 'type' => 'password', 'moreattributes' => 'autocomplete="off"');
|
||||
$this->conf[] = array('varname' => 'PRINTIPP_SSL', 'required' => 0, 'example' => '', 'type' => 'checkbox', 'moreattributes' => 'autocomplete="off"');
|
||||
$this->conf[] = array('enabled' => 1, 'type' => 'submit');
|
||||
}
|
||||
|
||||
|
|
@ -140,6 +145,7 @@ class printing_printipp extends PrintingDriver
|
|||
$ipp->setLog(DOL_DATA_ROOT.'/dolibarr_printipp.log', 'file', 3); // logging very verbose
|
||||
$ipp->setHost($this->host);
|
||||
$ipp->setPort($this->port);
|
||||
$ipp->ssl = $this->ssl;
|
||||
$ipp->setJobName($file, true);
|
||||
$ipp->setUserName($this->userid);
|
||||
// Set default number of copy
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -2858,10 +2858,10 @@ class EmailCollector extends CommonObject
|
|||
|
||||
foreach ($arrayobject as $key => $objectdesc) {
|
||||
$sql = 'SELECT DISTINCT t.rowid ';
|
||||
$sql .= ' FROM ' . MAIN_DB_PREFIX . $objectdesc['table'] . ' AS t';
|
||||
$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->db->sanitize($objectdesc['table']) . ' AS t';
|
||||
$sql .= ' WHERE ';
|
||||
foreach ($objectdesc['fields'] as $field) {
|
||||
$sql .= "'" .$this->db->escape($subject) . "' LIKE CONCAT('%', t." . $field . ", '%') OR ";
|
||||
$sql .= "('" .$this->db->escape($subject) . "' LIKE CONCAT('%', t." . $this->db->sanitize($field) . ", '%') AND t." . $this->db->sanitize($field) . " <> '') OR ";
|
||||
}
|
||||
$sql = substr($sql, 0, -4);
|
||||
|
||||
|
|
|
|||
|
|
@ -1083,6 +1083,30 @@ class ConferenceOrBoothAttendee extends CommonObject
|
|||
|
||||
return CommonObject::commonReplaceThirdparty($dbs, $origin_id, $dest_id, $tables);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return full name ('name+' '+lastname)
|
||||
*
|
||||
* @param Translate $langs Language object for translation of civility (used only if option is 1)
|
||||
* @param int $option 0=No option
|
||||
* @param int $nameorder -1=Auto, 0=Lastname+Firstname, 1=Firstname+Lastname, 2=Firstname, 3=Firstname if defined else lastname, 4=Lastname, 5=Lastname if defined else firstname
|
||||
* @param int $maxlen Maximum length
|
||||
* @return string String with full name
|
||||
*/
|
||||
public function getFullName($langs, $option = 0, $nameorder = -1, $maxlen = 0)
|
||||
{
|
||||
$lastname = $this->lastname;
|
||||
$firstname = $this->firstname;
|
||||
if (empty($lastname)) {
|
||||
$lastname = (isset($this->lastname) ? $this->lastname : (isset($this->name) ? $this->name : (isset($this->nom) ? $this->nom : (isset($this->societe) ? $this->societe : (isset($this->company) ? $this->company : '')))));
|
||||
}
|
||||
|
||||
$ret = '';
|
||||
|
||||
$ret .= dolGetFirstLastname($firstname, $lastname, $nameorder);
|
||||
|
||||
return dol_trunc($ret, $maxlen);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
* Copyright (C) 2020 Thibault FOUCART <support@ptibogxiv.net>
|
||||
* Copyright (C) 2023 Christophe Battarel <christophe@altairis.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -170,7 +171,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$parameters = array('socid' => $socid, 'arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ if (!$sortorder) {
|
|||
$sortorder = "DESC";
|
||||
}
|
||||
if (!$sortfield) {
|
||||
$sortfield = "d.date_create";
|
||||
$sortfield = "d.tms";
|
||||
}
|
||||
$limit = GETPOSTINT('limit') ? GETPOSTINT('limit') : $conf->liste_limit;
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
* Copyright (C) 2022 Charlène Benke <charlene@patas-monkey.com>
|
||||
* Copyright (C) 2024 William Mead <william.mead@manchenumerique.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -176,7 +177,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$parameters = array('socid' => $socid, 'arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
* Copyright (C) 2012-2016 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2018 Charlene Benke <charlie@patas-monkey.com>
|
||||
* Copyright (C) 2019-2024 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -182,7 +183,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$parameters = array('socid' => $socid, 'arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -281,7 +281,7 @@ if (isModEnabled('holiday') && $user->hasRight('holiday', 'read')) {
|
|||
// Latest modified expense report
|
||||
if (isModEnabled('expensereport') && $user->hasRight('expensereport', 'read')) {
|
||||
$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.email, u.statut as user_status, u.photo,";
|
||||
$sql .= " x.rowid, x.ref, x.date_debut as date, x.tms as dm, x.total_ttc, x.fk_statut as status";
|
||||
$sql .= " x.rowid, x.ref, x.date_debut as date, x.tms as dm, x.total_ht, x.total_ttc, x.fk_statut as status";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."expensereport as x, ".MAIN_DB_PREFIX."user as u";
|
||||
//if (empty($user->rights->societe->client->voir) && !$user->socid) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql .= " WHERE u.rowid = x.fk_user_author";
|
||||
|
|
@ -304,6 +304,7 @@ if (isModEnabled('expensereport') && $user->hasRight('expensereport', 'read')) {
|
|||
print '<table class="noborder centpercent">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<th colspan="2">'.$langs->trans("BoxTitleLastModifiedExpenses", min($max, $num)).'</th>';
|
||||
print '<th class="right">'.$langs->trans("AmountHT").'</th>';
|
||||
print '<th class="right">'.$langs->trans("TotalTTC").'</th>';
|
||||
print '<th></th>';
|
||||
print '<th class="right"><a href="'.DOL_URL_ROOT.'/expensereport/list.php?sortfield=d.tms&sortorder=DESC">';
|
||||
|
|
@ -333,6 +334,7 @@ if (isModEnabled('expensereport') && $user->hasRight('expensereport', 'read')) {
|
|||
print '<tr class="oddeven">';
|
||||
print '<td class="tdoverflowmax200">'.$expensereportstatic->getNomUrl(1).'</td>';
|
||||
print '<td class="tdoverflowmax150">'.$userstatic->getNomUrl(-1).'</td>';
|
||||
print '<td class="right amount">'.price($obj->total_ht).'</td>';
|
||||
print '<td class="right amount">'.price($obj->total_ttc).'</td>';
|
||||
print '<td class="right">'.dol_print_date($db->jdate($obj->dm), 'day').'</td>';
|
||||
print '<td class="right nowraponall" width="16">'.$expensereportstatic->LibStatut($obj->status, 3).'</td>';
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ PRINTIPP_HOST=Print server
|
|||
PRINTIPP_PORT=Port
|
||||
PRINTIPP_USER=Login
|
||||
PRINTIPP_PASSWORD=Password
|
||||
PRINTIPP_SSL=Use SSL
|
||||
NoDefaultPrinterDefined=No default printer defined
|
||||
DefaultPrinter=Default printer
|
||||
Printer=Printer
|
||||
|
|
@ -52,3 +53,4 @@ PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cl
|
|||
PrintingDriverDescprintipp=Configuration variables for printing driver Cups.
|
||||
PrintTestDescprintgcp=List of Printers for Google Cloud Print.
|
||||
PrintTestDescprintipp=List of Printers for Cups.
|
||||
Testbbbb
|
||||
|
|
|
|||
|
|
@ -652,7 +652,7 @@ class MultiCurrency extends CommonObject
|
|||
{
|
||||
global $conf, $db, $langs;
|
||||
|
||||
if (!getDolGlobalString('MULTICURRENCY_DISABLE_SYNC_CURRENCYLAYER')) {
|
||||
if (getDolGlobalString('MULTICURRENCY_DISABLE_SYNC_CURRENCYLAYER')) {
|
||||
if ($mode == "cron") {
|
||||
$this->output = $langs->trans('Use of API for currency update is disabled by option MULTICURRENCY_DISABLE_SYNC_CURRENCYLAYER');
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ if ($mode == 'setup' && $user->admin) {
|
|||
require_once $classfile;
|
||||
$classname = 'printing_'.$driver;
|
||||
$printer = new $classname($db);
|
||||
$langs->load($printer::LANGFILE);
|
||||
$langs->load('printing');
|
||||
|
||||
$i = 0;
|
||||
$submit_enabled = 0;
|
||||
|
|
@ -167,6 +167,15 @@ if ($mode == 'setup' && $user->admin) {
|
|||
print '<td> '.($key['example'] != '' ? $langs->trans("Example").' : '.$key['example'] : '').'</td>';
|
||||
print '</tr>'."\n";
|
||||
break;
|
||||
case "checkbox":
|
||||
print '<tr class="oddeven">';
|
||||
print '<td'.($key['required'] ? ' class=required' : '').'>'.$langs->trans($key['varname']).'</td>';
|
||||
print '<td><input class="width100" type="'.(empty($key['type']) ? 'text' : $key['type']).'" name="setupdriver['.$i.'][value]" value="1" '.((getDolGlobalInt($key['varname'])) ? 'checked' : '');
|
||||
print isset($key['moreattributes']) ? ' '.$key['moreattributes'] : '';
|
||||
print '><input type="hidden" name="setupdriver['.$i.'][varname]" value="'.$key['varname'].'"></td>';
|
||||
print '<td> '.($key['example'] != '' ? $langs->trans("Example").' : '.$key['example'] : '').'</td>';
|
||||
print '</tr>'."\n";
|
||||
break;
|
||||
case "info": // Google Api setup or Google OAuth Token
|
||||
print '<tr class="oddeven">';
|
||||
print '<td'.($key['required'] ? ' class=required' : '').'>';
|
||||
|
|
@ -278,7 +287,7 @@ if ($mode == 'config' && $user->admin) {
|
|||
require_once $classfile;
|
||||
$classname = 'printing_'.$tmpdriver;
|
||||
$printer = new $classname($db);
|
||||
$langs->load($printer::LANGFILE);
|
||||
$langs->load('printing');
|
||||
//print '<pre>'.print_r($printer, true).'</pre>';
|
||||
|
||||
print '<tr class="oddeven">';
|
||||
|
|
@ -324,9 +333,10 @@ if ($mode == 'test' && $user->admin) {
|
|||
}
|
||||
require_once $classfile;
|
||||
$classname = 'printing_'.$driver;
|
||||
$langs->load($driver);
|
||||
$printer = new $classname($db);
|
||||
$langs->load($printer::LANGFILE);
|
||||
$langs->load($driver);
|
||||
$langs->load('printing');
|
||||
|
||||
//print '<pre>'.print_r($printer, true).'</pre>';
|
||||
if (count($printer->getlistAvailablePrinters())) {
|
||||
if ($printer->listAvailablePrinters() == 0) {
|
||||
|
|
|
|||
|
|
@ -1329,6 +1329,7 @@ class Product extends CommonObject
|
|||
if (getDolGlobalInt('MAIN_MULTILANGS')) {
|
||||
if ($this->setMultiLangs($user) < 0) {
|
||||
$this->error = $langs->trans("Error")." : ".$this->db->error()." - ".$sql;
|
||||
$this->db->rollback();
|
||||
return -2;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -186,6 +186,7 @@ if (empty($reshook)) {
|
|||
}
|
||||
|
||||
if ($action == 'save_price' && $usercancreate) {
|
||||
$ref_fourn_price_id = GETPOSTINT('ref_fourn_price_id');
|
||||
$id_fourn = GETPOST("id_fourn");
|
||||
if (empty($id_fourn)) {
|
||||
$id_fourn = GETPOST("search_id_fourn");
|
||||
|
|
@ -270,7 +271,7 @@ if (empty($reshook)) {
|
|||
if (!$error) {
|
||||
$db->begin();
|
||||
|
||||
if (!$error) {
|
||||
if (empty($ref_fourn_price_id)) {
|
||||
$ret = $object->add_fournisseur($user, $id_fourn, $ref_fourn_old, $quantity); // This insert record with no value for price. Values are update later with update_buyprice
|
||||
if ($ret == -3) {
|
||||
$error++;
|
||||
|
|
@ -292,7 +293,7 @@ if (empty($reshook)) {
|
|||
$supplier = new Fournisseur($db);
|
||||
$result = $supplier->fetch($id_fourn);
|
||||
if (GETPOSTISSET('ref_fourn_price_id')) {
|
||||
$object->fetch_product_fournisseur_price(GETPOSTINT('ref_fourn_price_id'));
|
||||
$object->fetch_product_fournisseur_price($ref_fourn_price_id);
|
||||
}
|
||||
$extralabels = $extrafields->fetch_name_optionals_label("product_fournisseur_price");
|
||||
$extrafield_values = $extrafields->getOptionalsFromPost("product_fournisseur_price");
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
* Copyright (C) 2022 Charlene Benke <charlene@patas-monkey.com>
|
||||
* Copyright (C) 2020-2023 Alexandre Spangaro <aspangaro@easya.solutions>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -332,7 +333,7 @@ if (GETPOST('cancel', 'alpha')) {
|
|||
if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') {
|
||||
$massaction = '';
|
||||
}
|
||||
$parameters = array();
|
||||
$parameters = array('arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -87,12 +87,13 @@ if ($user->hasRight('projet', 'all', 'lire') && !$socid) {
|
|||
|
||||
|
||||
$morehtml = '';
|
||||
$morehtml .= '<form name="projectform">';
|
||||
$morehtml .= '<SELECT name="mode">';
|
||||
$morehtml .= '<form name="projectform" method="POST">';
|
||||
$morehtml .= '<SELECT name="mode" id="search_project_user">';
|
||||
$morehtml .= '<option name="all" value="all"'.($mine ? '' : ' selected').'>'.$titleall.'</option>';
|
||||
$morehtml .= '<option name="mine" value="'.$user->id.'"'.(($search_project_user == $user->id) ? ' selected' : '').'>'.$langs->trans("ProjectsImContactFor").'</option>';
|
||||
$morehtml .= '</SELECT>';
|
||||
$morehtml .= '<input type="submit" class="button" name="refresh" value="'.$langs->trans("Refresh").'">';
|
||||
$morehtml .= ajax_combobox("search_project_user", array(), 0, 0, 'resolve', '-1', 'small');
|
||||
$morehtml .= '<input type="submit" class="button smallpaddingimp" name="refresh" value="'.$langs->trans("Refresh").'">';
|
||||
|
||||
if ($mine) {
|
||||
$tooltiphelp = $langs->trans("MyTasksDesc");
|
||||
|
|
|
|||
|
|
@ -1325,7 +1325,7 @@ class Project extends CommonObject
|
|||
|
||||
$langs->load('projects');
|
||||
$option = $params['option'] ?? '';
|
||||
$moreinpopup = $params['morinpopup'] ?? '';
|
||||
$moreinpopup = $params['moreinpopup'] ?? '';
|
||||
|
||||
$datas = [];
|
||||
if ($option != 'nolink') {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
* Copyright (C) 2020 Tobias Sean <tobias.sekan@startmail.com>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -277,7 +278,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$parameters = array('socid' => $socid, 'arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
* Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es>
|
||||
* Copyright (C) 2023 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -164,7 +165,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$parameters = array('socid' => $socid, 'arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -332,9 +332,16 @@ if ($result) {
|
|||
$lastmodified .= '<div class="div-table-responsive-no-min">';
|
||||
$lastmodified .= '<table class="noborder centpercent">';
|
||||
|
||||
$lastmodified .= '<tr class="liste_titre"><th colspan="2">'.$transRecordedType.'</th>';
|
||||
$lastmodified .= '<tr class="liste_titre"><th colspan="2">';
|
||||
//$lastmodified .= img_picto('', 'company', 'class="pictofixedwidth"');
|
||||
$lastmodified .= $transRecordedType;
|
||||
$lastmodified .= '<a class="marginleftonly" href="'.DOL_URL_ROOT.'/societe/list.php?sortfield=s.tms&sortorder=DESC">';
|
||||
$lastmodified .= '<span class="badge marginleftonlyshort">...</span>';
|
||||
$lastmodified .= '</a>';
|
||||
$lastmodified .= '</th>';
|
||||
$lastmodified .= '<th> </th>';
|
||||
$lastmodified .= '<th class="right"><a href="'.DOL_URL_ROOT.'/societe/list.php?sortfield=s.tms&sortorder=DESC">'.img_picto($langs->trans("FullList"), 'company').'</th>';
|
||||
$lastmodified .= '<th class="right">';
|
||||
$lastmodified .= '</th>';
|
||||
$lastmodified .= '</tr>'."\n";
|
||||
|
||||
while ($i < $num) {
|
||||
|
|
@ -353,7 +360,7 @@ if ($result) {
|
|||
$thirdparty_static->email = $objp->email;
|
||||
$thirdparty_static->entity = $objp->entity;
|
||||
$thirdparty_static->code_compta_fournisseur = $objp->code_compta_fournisseur;
|
||||
$thirdparty_static->code_compta = $objp->code_compta;
|
||||
$thirdparty_static->code_compta_client = $objp->code_compta;
|
||||
|
||||
$lastmodified .= '<tr class="oddeven">';
|
||||
// Name
|
||||
|
|
@ -448,9 +455,17 @@ if ($result) {
|
|||
$lastmodifiedcontact .= '<div class="div-table-responsive-no-min">';
|
||||
$lastmodifiedcontact .= '<table class="noborder centpercent">';
|
||||
|
||||
$lastmodifiedcontact .= '<tr class="liste_titre"><th colspan="2">'.$transRecordedType.'</th>';
|
||||
$lastmodifiedcontact .= '<tr class="liste_titre"><th colspan="2">';
|
||||
//$lastmodifiedcontact .= img_picto('', 'contact', 'class="pictofixedwidth"');
|
||||
$lastmodifiedcontact .= $transRecordedType;
|
||||
$lastmodifiedcontact .= '<a class="marginleftonly" href="'.DOL_URL_ROOT.'/contact/list.php?sortfield=s.tms&sortorder=DESC">';
|
||||
//$lastmodifiedcontact .= img_picto($langs->trans("FullList"), 'contact');
|
||||
$lastmodifiedcontact .= '<span class="badge marginleftonlyshort">...</span>';
|
||||
$lastmodifiedcontact .= '</th>';
|
||||
$lastmodifiedcontact .= '<th> </th>';
|
||||
$lastmodifiedcontact .= '<th class="right"><a href="'.DOL_URL_ROOT.'/socpeople/list.php?sortfield=s.tms&sortorder=DESC">'.img_picto($langs->trans("FullList"), 'contact').'</th>';
|
||||
$lastmodifiedcontact .= '<th class="right">';
|
||||
//$lastmodifiedcontact .= '<a href="'.DOL_URL_ROOT.'/contact/list.php?sortfield=s.tms&sortorder=DESC">'.img_picto($langs->trans("FullList"), 'contact');
|
||||
$lastmodifiedcontact .= '</th>';
|
||||
$lastmodifiedcontact .= '</tr>'."\n";
|
||||
|
||||
while ($i < $num) {
|
||||
|
|
@ -469,7 +484,6 @@ if ($result) {
|
|||
$thirdparty_static->email = $objp->email;
|
||||
$thirdparty_static->entity = $objp->entity;
|
||||
$thirdparty_static->code_compta_fournisseur = $objp->code_compta_fournisseur;
|
||||
$thirdparty_static->code_compta = $objp->code_compta;
|
||||
$thirdparty_static->code_compta_client = $objp->code_compta;
|
||||
|
||||
$contact_static->id = $objp->cid;
|
||||
|
|
@ -482,14 +496,14 @@ if ($result) {
|
|||
$contact_static->address = $objp->caddress;
|
||||
|
||||
$lastmodifiedcontact .= '<tr class="oddeven">';
|
||||
// Name
|
||||
$lastmodifiedcontact .= '<td class="nowrap tdoverflowmax200">';
|
||||
$lastmodifiedcontact .= $thirdparty_static->getNomUrl(1);
|
||||
$lastmodifiedcontact .= "</td>\n";
|
||||
// Contact
|
||||
$lastmodifiedcontact .= '<td>';
|
||||
$lastmodifiedcontact .= $contact_static->getNomUrl(1);
|
||||
$lastmodifiedcontact .= '</td>';
|
||||
// Third party
|
||||
$lastmodifiedcontact .= '<td class="nowrap tdoverflowmax200">';
|
||||
$lastmodifiedcontact .= $thirdparty_static->getNomUrl(1);
|
||||
$lastmodifiedcontact .= "</td>\n";
|
||||
// Last modified date
|
||||
$lastmodifiedcontact .= '<td class="right tddate" title="'.dol_escape_htmltag($langs->trans("DateModification").' '.dol_print_date($thirdparty_static->date_modification, 'dayhour', 'tzuserrel')).'">';
|
||||
$lastmodifiedcontact .= dol_print_date($thirdparty_static->date_modification, 'day', 'tzuserrel');
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
* Copyright (C) 2022 Anthony Berton <anthony.berton@bb2a.fr>
|
||||
* Copyright (C) 2023 William Mead <william.mead@manchenumerique.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -376,7 +377,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array();
|
||||
$parameters = array('arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
* Copyright (C) 2018-2023 Charlene Benke <charlene@patas-monkey.com>
|
||||
* Copyright (C) 2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -219,7 +220,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$parameters = array('socid' => $socid, 'arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
|
|||
die('Must be call by steelsheet');
|
||||
}
|
||||
|
||||
$leftmenuwidth = 210;
|
||||
$leftmenuwidth = 240;
|
||||
|
||||
'
|
||||
@phan-var-force string $badgeDanger
|
||||
|
|
|
|||
|
|
@ -314,6 +314,8 @@ print 'fontsize='.$fontsize."\n";
|
|||
print 'nbtopmenuentries='.$nbtopmenuentries."\n";
|
||||
print '*/'."\n";
|
||||
|
||||
$leftmenuwidth = 242;
|
||||
|
||||
?>
|
||||
/* <style type="text/css" > */
|
||||
|
||||
|
|
@ -2279,7 +2281,7 @@ td.showDragHandle {
|
|||
width: 100%;
|
||||
padding-bottom: 20px;
|
||||
<?php if (GETPOST('optioncss', 'aZ09') != 'print') { ?>
|
||||
padding-<?php print $left; ?>: 229px;
|
||||
padding-<?php print $left; ?>: <?php echo $leftmenuwidth + 9; ?>px;
|
||||
padding-top: 16px;
|
||||
<?php } ?>
|
||||
}
|
||||
|
|
@ -2374,7 +2376,7 @@ body.sidebar-collapse .side-nav-vert, body.sidebar-collapse #id-right {
|
|||
|
||||
|
||||
.side-nav-vert {
|
||||
margin-<?php echo $left; ?>: 228px;
|
||||
margin-<?php echo $left; ?>: <?php echo $leftmenuwidth + 6; ?>px;
|
||||
}
|
||||
|
||||
/* body.sidebar-collapse .side-nav, body.sidebar-collapse .login_block_other, body.sidebar-collapse #topmenu-login-dropdown */
|
||||
|
|
@ -3255,7 +3257,7 @@ div.login_block {
|
|||
text-align: center;
|
||||
vertical-align: middle;
|
||||
background: var(--colorbackvmenu1);
|
||||
width: 228px;
|
||||
width: <?php echo $leftmenuwidth + 6; ?>px;
|
||||
height: 68px;
|
||||
<?php if (GETPOST('optioncss', 'aZ09') == 'print') { ?>
|
||||
display: none;
|
||||
|
|
@ -3423,7 +3425,7 @@ div.vmenu, td.vmenu {
|
|||
padding: 0px;
|
||||
padding-bottom: 0px;
|
||||
padding-top: 0px;
|
||||
width: 222px;
|
||||
width: <?php echo $leftmenuwidth; ?>px;
|
||||
}
|
||||
|
||||
.vmenu {
|
||||
|
|
@ -3434,7 +3436,7 @@ div.vmenu, td.vmenu {
|
|||
}
|
||||
|
||||
.vmenusearchselectcombo {
|
||||
width: 202px;
|
||||
width: <?php echo $leftmenuwidth - 20; ?>px;
|
||||
}
|
||||
|
||||
.menu_contenu {
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x'
|
|||
|
||||
// Set parent company
|
||||
if ($action == 'set_thirdparty' && $user->hasRight('ticket', 'write')) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$result = $object->setCustomer(GETPOSTINT('editcustomer'));
|
||||
$url = $_SERVER["PHP_SELF"].'?track_id='.GETPOST('track_id', 'alpha');
|
||||
header("Location: ".$url);
|
||||
|
|
|
|||
|
|
@ -337,7 +337,7 @@ if (empty($reshook)) {
|
|||
if ($action == 'update' && $permissiontoadd && $object->status < Ticket::STATUS_CLOSED) {
|
||||
$error = 0;
|
||||
|
||||
$ret = $object->fetch(GETPOSTINT('id'), GETPOSTINT('ref'), GETPOSTINT('track_id'));
|
||||
$ret = $object->fetch(GETPOSTINT('id'), GETPOSTINT('ref'), GETPOST('track_id', 'alpha'));
|
||||
if ($ret < 0) {
|
||||
$error++;
|
||||
array_push($object->errors, $langs->trans('ErrorTicketIsNotValid'));
|
||||
|
|
@ -490,7 +490,7 @@ if (empty($reshook)) {
|
|||
}
|
||||
|
||||
if (($action == "confirm_close" || $action == "confirm_abandon") && GETPOST('confirm', 'alpha') == 'yes' && $permissiontoadd) {
|
||||
$object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id'));
|
||||
$object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha'));
|
||||
|
||||
if ($object->close($user, ($action == "confirm_abandon" ? 1 : 0))) {
|
||||
setEventMessages($langs->trans('TicketMarkedAsClosed'), null, 'mesgs');
|
||||
|
|
@ -505,7 +505,7 @@ if (empty($reshook)) {
|
|||
}
|
||||
|
||||
if ($action == "confirm_public_close" && GETPOST('confirm', 'alpha') == 'yes' && $permissiontoadd) {
|
||||
$object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id'));
|
||||
$object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha'));
|
||||
if ($_SESSION['email_customer'] == $object->origin_email || $_SESSION['email_customer'] == $object->thirdparty->email) {
|
||||
$object->context['contact_id'] = GETPOSTINT('contact_id');
|
||||
|
||||
|
|
@ -523,7 +523,7 @@ if (empty($reshook)) {
|
|||
}
|
||||
|
||||
if ($action == 'confirm_delete_ticket' && GETPOST('confirm', 'alpha') == "yes" && $permissiontodelete) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
if ($object->delete($user) > 0) {
|
||||
setEventMessages('<div class="confirm">'.$langs->trans('TicketDeletedSuccess').'</div>', null, 'mesgs');
|
||||
header("Location: ".DOL_URL_ROOT."/ticket/list.php");
|
||||
|
|
@ -538,7 +538,7 @@ if (empty($reshook)) {
|
|||
|
||||
// Set parent company
|
||||
if ($action == 'set_thirdparty' && $user->hasRight('ticket', 'write')) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$result = $object->setCustomer(GETPOSTINT('editcustomer'));
|
||||
$url = $_SERVER["PHP_SELF"].'?track_id='.GETPOST('track_id', 'alpha');
|
||||
header("Location: ".$url);
|
||||
|
|
@ -548,7 +548,7 @@ if (empty($reshook)) {
|
|||
|
||||
// Set progress status
|
||||
if ($action == 'set_progression' && $user->hasRight('ticket', 'write')) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$result = $object->setProgression(GETPOST('progress', 'alpha'));
|
||||
|
||||
$url = 'card.php?track_id='.$object->track_id;
|
||||
|
|
@ -559,7 +559,7 @@ if (empty($reshook)) {
|
|||
|
||||
// Set categories
|
||||
if ($action == 'set_categories' && $user->hasRight('ticket', 'write')) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$result = $object->setCategories(GETPOST('categories', 'array'));
|
||||
|
||||
$url = 'card.php?track_id='.$object->track_id;
|
||||
|
|
@ -593,7 +593,7 @@ if (empty($reshook)) {
|
|||
}
|
||||
|
||||
if ($action == 'confirm_reopen' && $user->hasRight('ticket', 'manage') && !GETPOST('cancel')) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
// prevent browser refresh from reopening ticket several times
|
||||
if ($object->status == Ticket::STATUS_CLOSED || $object->status == Ticket::STATUS_CANCELED) {
|
||||
if ($object->fk_user_assign != null) {
|
||||
|
|
@ -613,7 +613,7 @@ if (empty($reshook)) {
|
|||
}
|
||||
} elseif ($action == 'classin' && $permissiontoadd) {
|
||||
// Categorisation dans projet
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$object->setProject($projectid);
|
||||
$url = 'card.php?track_id='.$object->track_id;
|
||||
header("Location: ".$url);
|
||||
|
|
@ -621,7 +621,7 @@ if (empty($reshook)) {
|
|||
}
|
||||
} elseif ($action == 'setcontract' && $permissiontoadd) {
|
||||
// Categorisation dans contrat
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$object->setContract(GETPOSTINT('contractid'));
|
||||
$url = 'card.php?track_id='.$object->track_id;
|
||||
header("Location: ".$url);
|
||||
|
|
@ -650,7 +650,7 @@ if (empty($reshook)) {
|
|||
$action = 'view';
|
||||
} elseif ($action == 'confirm_set_status' && $permissiontoadd && !GETPOST('cancel')) {
|
||||
// Reopen ticket
|
||||
if ($object->fetch(GETPOSTINT('id'), GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$new_status = GETPOSTINT('new_status');
|
||||
//$old_status = $object->status;
|
||||
$res = $object->setStatut($new_status);
|
||||
|
|
@ -667,7 +667,7 @@ if (empty($reshook)) {
|
|||
|
||||
// Action to update an extrafield
|
||||
if ($action == "update_extras" && $permissiontoadd) {
|
||||
$object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id'));
|
||||
$object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha'));
|
||||
|
||||
$ret = $extrafields->setOptionalsFromPost(null, $object, GETPOST('attribute', 'restricthtml'));
|
||||
if ($ret < 0) {
|
||||
|
|
@ -691,7 +691,7 @@ if (empty($reshook)) {
|
|||
}
|
||||
|
||||
if ($action == "change_property" && GETPOST('btn_update_ticket_prop', 'alpha') && $permissiontoadd) {
|
||||
$object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id'));
|
||||
$object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha'));
|
||||
|
||||
$object->type_code = GETPOST('update_value_type', 'aZ09');
|
||||
$object->severity_code = GETPOST('update_value_severity', 'aZ09');
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ if ($action == 'deletecontact' && $user->hasRight('ticket', 'write')) {
|
|||
|
||||
// Set parent company
|
||||
if ($action == 'set_thirdparty' && $user->hasRight('ticket', 'write')) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$result = $object->setCustomer(GETPOSTINT('editcustomer'));
|
||||
$url = $_SERVER["PHP_SELF"].'?track_id='.GETPOST('track_id', 'alpha');
|
||||
header("Location: ".$url);
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php';
|
|||
|
||||
// Set parent company
|
||||
if ($action == 'set_thirdparty' && $user->hasRight('ticket', 'write')) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$result = $object->setCustomer(GETPOSTINT('editcustomer'));
|
||||
$url = $_SERVER["PHP_SELF"].'?track_id='.GETPOST('track_id', 'alpha');
|
||||
header("Location: ".$url);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
* Copyright (C) 2019-2020 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2023 Charlene Benke <charlene@patas-monkey.com>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -197,7 +198,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array();
|
||||
$parameters = array('arrayfields' => &$arrayfields);
|
||||
if ($socid > 0) {
|
||||
$parameters['socid'] = $socid;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x'
|
|||
|
||||
// Set parent company
|
||||
if ($action == 'set_thirdparty' && $user->hasRight('ticket', 'write')) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOSTINT('track_id')) >= 0) {
|
||||
if ($object->fetch(GETPOSTINT('id'), '', GETPOST('track_id', 'alpha')) >= 0) {
|
||||
$result = $object->setCustomer(GETPOSTINT('editcustomer'));
|
||||
$url = $_SERVER["PHP_SELF"].'?track_id='.GETPOST('track_id', 'alpha');
|
||||
header("Location: ".$url);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2016 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -237,7 +238,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array();
|
||||
$parameters = array('arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
/* Copyright (C) 2016 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2022 Open-Dsi <support@open-dsi.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -172,7 +173,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa
|
|||
$massaction = '';
|
||||
}
|
||||
|
||||
$parameters = array();
|
||||
$parameters = array('arrayfields' => &$arrayfields);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) {
|
||||
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user