diff --git a/.codeclimate.yml b/.codeclimate.yml index 0c62d4ed5eb..f6fbf2fe168 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -6,7 +6,6 @@ languages: engines: phpcodesniffer: true exclude_paths: - - 'build/*' - 'dev/*' - 'doc/*' - 'test/*' diff --git a/.github/workflows/doxygen-gh-pages.yml.disabled b/.github/workflows/doxygen-gh-pages.yml.disabled index 33dd47aa6e6..7c91b892378 100644 --- a/.github/workflows/doxygen-gh-pages.yml.disabled +++ b/.github/workflows/doxygen-gh-pages.yml.disabled @@ -8,7 +8,7 @@ on: - develop permissions: contents: write - + jobs: build: runs-on: ubuntu-latest @@ -18,16 +18,16 @@ jobs: with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages - folder: build/html - config_file: build/doxygen/dolibarr-doxygen.doxyfile + folder: dev/build/html + config_file: dev/build/doxygen/dolibarr-doxygen.doxyfile # - name: Deploy # uses: JamesIves/github-pages-deploy-action@v4 # with: # branch: gh-pages -# folder: build/html # The folder the action should deploy. +# folder: dev/build/html # The folder the action should deploy. # target-folder: docs/html2 - + #jobs: # doxygen: # runs-on: ubuntu-latest diff --git a/.github/workflows/exakat.yml b/.github/workflows/exakat.yml index 420ca085cad..2d53ce8f49c 100644 --- a/.github/workflows/exakat.yml +++ b/.github/workflows/exakat.yml @@ -22,6 +22,6 @@ jobs: uses: docker://exakat/exakat-ga with: ignore_rules: 'Classes/UseInstanceof,Constants/ConstantStrangeNames,Performances/PrePostIncrement,Functions/UndefinedFunctions,Functions/WrongNumberOfArguments,Functions/WrongTypeWithCall,Variables/UndefinedVariable,Classes/DontUnsetProperties,Classes/NonPpp,Classes/StaticMethodsCalledFromObject,Classes/UseClassOperator,Functions/UsesDefaultArguments,Php/NoClassInGlobal,Php/ShouldUseCoalesce,Php/WrongTypeForNativeFunction,Structures/AddZero,Structures/DropElseAfterReturn,Structures/IfWithSameConditions,Structures/MergeIfThen,Structures/NestedTernary,Structures/ElseIfElseif,Structures/ExitUsage,Structures/RepeatedPrint,Structures/RepeatedRegex,Structures/SameConditions,Structures/SwitchWithoutDefault,Structures/ShouldMakeTernary,Structures/UselessParenthesis,Structures/UseConstant' - ignore_dirs: '/htdocs/includes/,/htdocs/install/doctemplates/,/build/,/dev/,/doc/,/scripts/,/test/' + ignore_dirs: '/htdocs/includes/,/htdocs/install/doctemplates/,/dev/,/doc/,/scripts/,/test/' file_extensions: php project_reports: Perfile diff --git a/.github/workflows/github_ci_php71_pgsql.yml.disabled b/.github/workflows/github_ci_php71_pgsql.yml.disabled index d324d1c1481..b2997a041b6 100644 --- a/.github/workflows/github_ci_php71_pgsql.yml.disabled +++ b/.github/workflows/github_ci_php71_pgsql.yml.disabled @@ -35,14 +35,14 @@ jobs: --health-timeout 5s --health-retries 5 ports: - - 5432:5432 + - 5432:5432 steps: # git clone dolibarr into GITHUB_WORKSPACE = /home/runner/work/dolibarr/dolibarr - uses: actions/checkout@v3 with: fetch-depth: 1 - + - name: Version PHP run: | php -i | head - @@ -59,7 +59,7 @@ jobs: sudo apt install apache2 php7.1 php7.1-cli php7.1-curl php7.1-mysql php7.1-pgsql php7.1-gd php7.1-imap php7.1-intl php7.1-ldap php7.1-xml php7.1-mbstring php7.1-xml php7.1-zip libapache2-mod-php7.1 sudo update-alternatives --set php /usr/bin/php7.1 php -i | head - - + cd $GITHUB_WORKSPACE ls $GITHUB_WORKSPACE composer -n require --ignore-platform-reqs phpunit/phpunit ^7.5 \ @@ -76,7 +76,7 @@ jobs: sudo rm -fr htdocs/includes/phpunit/php-code-coverage/src/Report/Html - name: Adding path of binaries tools installed by composer to the PATH - run: | + run: | export PATH="$GITHUB_WORKSPACE/htdocs/includes/bin:$PATH" echo $PATH # We must have a directory bin created by the previous composer call @@ -107,32 +107,32 @@ jobs: psql --version echo "Check pgloader version" pgloader --version - + - name: Create database run: | pwd - echo GITHUB_WORKSPACE = $GITHUB_WORKSPACE + echo GITHUB_WORKSPACE = $GITHUB_WORKSPACE sudo apt-get install -y mysql-client mysql --version | head - mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e "SELECT VERSION();" | head - mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e "SHOW DATABASES" - + echo "Drop and create database" mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e 'DROP DATABASE IF EXISTS travis;' mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e "CREATE DATABASE IF NOT EXISTS travis CHARACTER SET = 'utf8';" mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e "CREATE USER 'travis'@'127.0.0.1' IDENTIFIED BY 'password';" mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e 'GRANT ALL PRIVILEGES ON travis.* TO travis@127.0.0.1;' mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e 'FLUSH PRIVILEGES;' - - mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -D travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql - - mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -D travis -e "UPDATE llx_const set value = '0666' WHERE name = 'MAIN_UMASK';" - echo "Init postgresql database" + mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -D travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql + + mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -D travis -e "UPDATE llx_const set value = '0666' WHERE name = 'MAIN_UMASK';" + + echo "Init postgresql database" ps fauxww | grep postgres ls /etc/postgresql/14/main/ sudo chmod -R a+rwx /etc/postgresql/14/main/pg_hba.conf - + sudo sed -i -e '/local.*peer/s/postgres/all/' -e 's/peer\|md5/trust/g' /etc/postgresql/14/main/pg_hba.conf sudo cat /etc/postgresql/14/main/pg_hba.conf @@ -144,7 +144,7 @@ jobs: sudo mkdir -p /tmp/pgloader sudo chmod -R a+rwx /tmp/pgloader/ - + echo sudo pgloader mysql://root:password@127.0.0.1:32574/travis postgresql://postgres:postgres@127.0.0.1:5432/travis sudo pgloader mysql://root:password@127.0.0.1:32574/travis postgresql://postgres:postgres@127.0.0.1:5432/travis echo 'ALTER SEQUENCE llx_accountingaccount_rowid_seq RENAME TO llx_accounting_account_rowid_seq' | psql postgresql://postgres:postgres@127.0.0.1:5432/travis @@ -190,7 +190,7 @@ jobs: echo '$'force_install_mainforcehttps=false';' >> $INSTALL_FORCED_FILE echo '$'force_install_main_data_root=\'/var/www/html\'';' >> $INSTALL_FORCED_FILE cat $INSTALL_FORCED_FILE - + - name: Create document directory run: | echo "Create documents directory and set permissions" @@ -199,9 +199,9 @@ jobs: sudo chmod -R a+rwx /var/www/html/documents sudo echo "***** First line of dolibarr.log" > /var/www/html/documents/dolibarr.log sudo chmod a+rwx /var/www/html/documents/dolibarr.log - + - name: Copy app into /var/www - run: | + run: | sudo cp -r $GITHUB_WORKSPACE/htdocs/. /var/www/html sudo mv /var/www/html/index.html /var/www/html/index.disabled.html sudo ln -fs /var/www/html /var/www/htdocs @@ -217,7 +217,7 @@ jobs: a2query -s a2query -m ls /etc/apache2/sites-available - #sudo cp -f $GITHUB_WORKSPACE/build/travis-ci/apache-githubaction.conf /etc/apache2/sites-available/000-default.conf + #sudo cp -f $GITHUB_WORKSPACE/dev/build/travis-ci/apache-githubaction.conf /etc/apache2/sites-available/000-default.conf #sudo sed -e "s?%GITHUB_WORKSPACE%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf a2ensite 000-default a2enmod php7.1 @@ -245,7 +245,7 @@ jobs: # The wget should return a page with line ' wget -O - --debug http://127.0.0.1 > $GITHUB_WORKSPACE/test.html 2>&1 head -n 200 $GITHUB_WORKSPACE/test.html - + echo Logs are... #sudo cat /tmp/install.log sudo cat /var/log/apache2/access.log @@ -287,7 +287,7 @@ jobs: php upgrade.php 6.0.0 7.0.0 ignoredbversion > $GITHUB_WORKSPACE/upgrade600700.log php upgrade2.php 6.0.0 7.0.0 > $GITHUB_WORKSPACE/upgrade600700-2.log php step5.php 6.0.0 7.0.0 > $GITHUB_WORKSPACE/upgrade600700-3.log - + echo "\dt llx_c_paiement" | psql 'postgresql://postgres:postgres@127.0.0.1:5432/travis' echo "\dt llx_c_payment_term" | psql 'postgresql://postgres:postgres@127.0.0.1:5432/travis' @@ -324,17 +324,17 @@ jobs: php upgrade.php 17.0.0 18.0.0 ignoredbversion > $GITHUB_WORKSPACE/upgrade17001800.log php upgrade2.php 17.0.0 18.0.0 > $GITHUB_WORKSPACE/upgrade17001800-2.log php step5.php 17.0.0 18.0.0 > $GITHUB_WORKSPACE/upgrade17001800-3.log - + - name: Result of migration scripts if: always() run: | ls -alrt $GITHUB_WORKSPACE/ - + echo Show content of last file cat "$(ls -rt $GITHUB_WORKSPACE/ | tail -n1)" - name: Enabling new modules - run: | + run: | # Enable modules not enabled into original dump set -e cd /var/www/html/install @@ -361,5 +361,4 @@ jobs: includes/bin/phpunit -d memory_limit=-1 -c /var/www/test/phpunit/phpunittest.xml /var/www/test/phpunit/AllTests.php phpunitresult=$? echo "Phpunit return code = $phpunitresult" - set +e - + set +e diff --git a/.github/workflows/github_ci_php81_mysql.yml.disabled b/.github/workflows/github_ci_php81_mysql.yml.disabled index 047fcd63fb5..c303b3125c1 100644 --- a/.github/workflows/github_ci_php81_mysql.yml.disabled +++ b/.github/workflows/github_ci_php81_mysql.yml.disabled @@ -28,7 +28,7 @@ jobs: - uses: actions/checkout@v3 with: fetch-depth: 1 - + - name: Version PHP run: | php -i | head - @@ -38,14 +38,14 @@ jobs: sudo composer self-update 2.2.18 sudo chmod -R a+rwx /home/runner composer -n config -g vendor-dir htdocs/includes - + sudo add-apt-repository -y ppa:ondrej/php sudo apt-get update sudo apt-get install -y pgloader memcached sudo apt install apache2 php8.1 php8.1-cli php8.1-curl php8.1-mysql php8.1-pgsql php8.1-gd php8.1-imap php8.1-intl php8.1-ldap php8.1-xml php8.1-mbstring php8.1-xml php8.1-zip libapache2-mod-php8.1 sudo update-alternatives --set php /usr/bin/php8.1 php -i | head - - + cd $GITHUB_WORKSPACE ls $GITHUB_WORKSPACE composer -n require --ignore-platform-reqs phpunit/phpunit ^8 \ @@ -56,7 +56,7 @@ jobs: sudo rm -fr htdocs/includes/phpunit/php-code-coverage/src/Report/Html - name: Adding path of binaries tools installed by composer to the PATH - run: | + run: | export PATH="$GITHUB_WORKSPACE/htdocs/includes/bin:$PATH" echo $PATH # We must have a directory bin created by the previous composer call @@ -87,26 +87,26 @@ jobs: psql --version echo "Check pgloader version" pgloader --version - + - name: Create database run: | pwd - echo GITHUB_WORKSPACE = $GITHUB_WORKSPACE + echo GITHUB_WORKSPACE = $GITHUB_WORKSPACE sudo apt-get install -y mysql-client mysql --version | head - mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e "SELECT VERSION();" | head - mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e "SHOW DATABASES" - + echo "Drop and create database" mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e 'DROP DATABASE IF EXISTS travis;' mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e "CREATE DATABASE IF NOT EXISTS travis CHARACTER SET = 'utf8';" mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e "CREATE USER 'travis'@'127.0.0.1' IDENTIFIED BY 'password';" mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e 'GRANT ALL PRIVILEGES ON travis.* TO travis@127.0.0.1;' mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -e 'FLUSH PRIVILEGES;' - - mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -D travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql - mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -D travis -e "UPDATE llx_const set value = '0666' WHERE name = 'MAIN_UMASK';" + mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -D travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql + + mysql --host 127.0.0.1 --port 32574 -uroot -ppassword -D travis -e "UPDATE llx_const set value = '0666' WHERE name = 'MAIN_UMASK';" - name: Generate Dolibarr conf file run: | @@ -145,7 +145,7 @@ jobs: echo '$'force_install_mainforcehttps=false';' >> $INSTALL_FORCED_FILE echo '$'force_install_main_data_root=\'/var/www/html\'';' >> $INSTALL_FORCED_FILE cat $INSTALL_FORCED_FILE - + - name: Create document directory run: | echo "Create documents directory and set permissions" @@ -154,9 +154,9 @@ jobs: sudo chmod -R a+rwx /var/www/html/documents sudo echo "***** First line of dolibarr.log" > /var/www/html/documents/dolibarr.log sudo chmod a+rwx /var/www/html/documents/dolibarr.log - + - name: Copy app into /var/www - run: | + run: | sudo cp -r $GITHUB_WORKSPACE/htdocs/. /var/www/html sudo mv /var/www/html/index.html /var/www/html/index.disabled.html sudo ln -fs /var/www/html /var/www/htdocs @@ -172,7 +172,7 @@ jobs: a2query -s a2query -m ls /etc/apache2/sites-available - #sudo cp -f $GITHUB_WORKSPACE/build/travis-ci/apache-githubaction.conf /etc/apache2/sites-available/000-default.conf + #sudo cp -f $GITHUB_WORKSPACE/dev/build/travis-ci/apache-githubaction.conf /etc/apache2/sites-available/000-default.conf #sudo sed -e "s?%GITHUB_WORKSPACE%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf a2ensite 000-default a2enmod php8.1 @@ -200,7 +200,7 @@ jobs: # The wget should return a page with line ' wget -O - --debug http://127.0.0.1 > $GITHUB_WORKSPACE/test.html 2>&1 head -n 200 $GITHUB_WORKSPACE/test.html - + echo Logs are... #sudo cat /tmp/install.log sudo cat /var/log/apache2/access.log @@ -274,17 +274,17 @@ jobs: php upgrade.php 17.0.0 18.0.0 ignoredbversion > $GITHUB_WORKSPACE/upgrade17001800.log php upgrade2.php 17.0.0 18.0.0 > $GITHUB_WORKSPACE/upgrade17001800-2.log php step5.php 17.0.0 18.0.0 > $GITHUB_WORKSPACE/upgrade17001800-3.log - + - name: Result of migration scripts if: always() run: | ls -alrt $GITHUB_WORKSPACE/ - + echo Show content of last file cat "$(ls -rt $GITHUB_WORKSPACE/ | tail -n1)" - name: Enabling new modules - run: | + run: | # Enable modules not enabled into original dump set -e cd /var/www/html/install @@ -311,7 +311,7 @@ jobs: includes/bin/phpunit -d memory_limit=-1 -c /var/www/test/phpunit/phpunittest.xml /var/www/test/phpunit/AllTests.php phpunitresult=$? echo "Phpunit return code = $phpunitresult" - set +e + set +e - name: Code quality check - Lint if: github.event_name == 'push' @@ -325,10 +325,9 @@ jobs: - name: Code quality check - phpcs if: github.event_name == 'push' run: | - htdocs/includes/bin/phpcs -s -p -d memory_limit=-1 --extensions=php --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 --runtime-set ignore_warnings_on_exit true .; + htdocs/includes/bin/phpcs -s -p -d memory_limit=-1 --extensions=php --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 --runtime-set ignore_warnings_on_exit true .; - name: Code quality check - var-dump-check if: github.event_name == 'push' run: | htdocs/includes/bin/var-dump-check --extensions php --tracy --exclude htdocs/includes --exclude test/ --exclude htdocs/public/test/ --exclude htdocs/core/lib/functions.lib.php . - diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml index 844ad46af3c..ddc3c6ccc4e 100644 --- a/.github/workflows/phpstan.yml +++ b/.github/workflows/phpstan.yml @@ -67,7 +67,7 @@ jobs: - name: Run PHPStan id: phpstan run: | - phpstan -vvv analyse --error-format=checkstyle --memory-limit 7G -a build/phpstan/bootstrap_action.php | tee _stan.xml | cs2pr --graceful-warnings + phpstan -vvv analyse --error-format=checkstyle --memory-limit 7G -a dev/build/phpstan/bootstrap_action.php | tee _stan.xml | cs2pr --graceful-warnings # continue-on-error: true # Save cache @@ -90,4 +90,4 @@ jobs: # id: phpstan-baseline # if: ${{ success() }} # run: | - # phpstan -vv analyse --memory-limit 7G -a build/phpstan/bootstrap_action.php --generate-baseline build/phpstan/phpstan-baseline.neon + # phpstan -vv analyse --memory-limit 7G -a dev/build/phpstan/bootstrap_action.php --generate-baseline dev/build/phpstan/phpstan-baseline.neon diff --git a/.github/workflows/phpstan_baseline.yml b/.github/workflows/phpstan_baseline.yml index 9503c25de77..9cea77150dd 100644 --- a/.github/workflows/phpstan_baseline.yml +++ b/.github/workflows/phpstan_baseline.yml @@ -60,8 +60,8 @@ jobs: github_token: ${{ env.GH_TOKEN }} phpstan_path: phpstan configuration_path: phpstan.neon.dist - phpstan_additional_arguments: --memory-limit 7G -a build/phpstan/bootstrap_action.php - baseline_path: build/phpstan/phpstan-baseline.neon + phpstan_additional_arguments: --memory-limit 7G -a dev/build/phpstan/bootstrap_action.php + baseline_path: dev/build/phpstan/phpstan-baseline.neon commit_name: Dolibot commit_email: dolibarr-bot@users.noreply.github.com commit_message: PHPStan > Update baseline diff --git a/.github/workflows/pr-18.yaml b/.github/workflows/pr-18.yaml index 67075183b60..c4f20739faf 100644 --- a/.github/workflows/pr-18.yaml +++ b/.github/workflows/pr-18.yaml @@ -20,12 +20,21 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Install GitHub CLI - run: | - sudo apt update - sudo apt install gh -y + #- name: Install GitHub CLI + # run: | + # sudo apt update + # sudo apt install gh -y - - name: Assign reviewer + - name: Assign reviewer method 1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + url: ${{ github.event.pull_request.html_url }} + run: | + gh pr edit "$url" --add-assignee rycks --add-reviewer rycks + gh pr merge "$url" --merge --auto + + + - name: Assign reviewer method 2 env: #REVIEWER: "eldy,lvessiller-opendsi,rycks" # Remplacez par le nom d'utilisateur GitHub du reviewer REVIEWER: "rycks" # Remplacez par le nom d'utilisateur GitHub du reviewer diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index dc0bfbdf63c..e1f97436b60 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -9,10 +9,9 @@ on: env: ENVGHT: ${{ secrets.GITHUB_TOKEN }} ENVGHU: ${{ github.token }} - VARAAA: ${{ vars.AAA }} - SECBBB: ${{ secrets.BBB }} - VARREPORGCCC: ${{ vars.CCC }} - ENVFIX: "abc" + TEST_ACCESS_KEY: ${{ secrets.TEST_ACCESS_KEY }} + TEST_VAR_REPO: ${{ vars.TEST_VAR_REPO }} + ENVLOCAL: "varenvlocal" jobs: testjob: @@ -25,14 +24,6 @@ jobs: echo "secrets.GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" echo "GITHUB_EVENT_PATH=$GITHUB_EVENT_PATH" echo "repo-token: ${{secrets.GITHUB_TOKEN}}" - echo "variable org: ${{vars.AAA}}" - echo "env prg: ${{env.AAA}}" - echo "env prg: ${{env.VARAAA}}" - echo "secret org: ${{secrets.BBB}}" - echo "variable repository of orga: ${{vars.CCC}}" - echo "ENVGHT: ${{env.ENVGHT}}" - echo "ENVGHU: ${{env.ENVGHU}}" - echo "VARAAA: ${{vars.AAA}}" - echo "ENVAAA: ${{env.VARAAA}}" - echo "VARREPORGCCC: ${{env.VARREPORGCCC}}" - echo "ENVFIX: ${{env.ENVFIX}}" + echo "secret repository TEST_ACCESS_KEY: ${{secrets.TEST_ACCESS_KEY}}" + echo "variable repository : ${{vars.TEST_VAR_REPO}}" + echo "ENVLOCAL: ${{env.ENVLOCAL}}" diff --git a/.gitignore b/.gitignore index 0a6e4cf6655..434764e4f06 100644 --- a/.gitignore +++ b/.gitignore @@ -47,8 +47,8 @@ htdocs/.well-known/apple-developer-merchantid-domain-association /output/ # Node Modules -build/yarn-error.log -build/node_modules/ +dev/build/yarn-error.log +dev/build/node_modules/ node_modules/ vendor/ @@ -84,8 +84,8 @@ doc/install.lock /INI_PHPUNIT # ignore cache builds -/build/phpstan/phpstan -/build/phpstan/bootstrap_custom.php +/dev/build/phpstan/phpstan +/dev/build/phpstan/bootstrap_custom.php phpstan_custom.neon /.php-cs-fixer.cache /.php_cs.cache diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5f75f64fc16..2c2226fb84b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -51,8 +51,8 @@ repos: exclude: (?x)^( dev/tools/dolibarr-postgres2mysql.php |test/other/test_serialize.php |test/phpunit/textutf8.txt |test/phpunit/textiso.txt |htdocs/includes/.* - |htdocs/modulebuilder/template/.* |build/debian/dolibarr.postrm |build/debian/dolibarr.postinst - |build/debian/dolibarr.config )$ + |htdocs/modulebuilder/template/.* |dev/build/debian/dolibarr.postrm |dev/build/debian/dolibarr.postinst + |dev/build/debian/dolibarr.config )$ # Fix the first UTF8 byte - id: fix-byte-order-marker # Check that there are no files that have are the same when uppercased (conflict on windows) @@ -160,6 +160,8 @@ repos: ] pass_filenames: false # Run on all files - id: php-lint + exclude: + (?x)^(htdocs/includes/symfony/.*)$ - id: php-stan stages: [manual] files: \.(php)$ diff --git a/.travis.yml b/.travis.yml index ad037e8fe31..22fef0806a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -313,7 +313,7 @@ before_script: - | echo "Setting up Apache" sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars - sudo cp -f build/travis-ci/apache.conf /etc/apache2/sites-available/000-default.conf + sudo cp -f dev/build/travis-ci/apache.conf /etc/apache2/sites-available/000-default.conf sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf sudo cat /etc/apache2/sites-available/000-default.conf sudo service apache2 restart diff --git a/ChangeLog b/ChangeLog index bcff698e623..b7439b5e742 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,25 @@ English Dolibarr ChangeLog -------------------------------------------------------------- + +***** ChangeLog for 22.0.0 compared to 21.0 ***** + +For users: +---------- + + +For developers: +---------- + + +WARNING: +-------- + +The following changes may create regressions for some external modules, but were necessary to make Dolibarr better: +* The directory /build has been moved into /dev/build. + + + ***** ChangeLog for 21.0.0 compared to 20.0 ***** For users: @@ -217,6 +236,66 @@ The following changes may create regressions for some external modules, but were * If you were using the substitution key __MEMBER_CIVILITY__, you must now use __MEMBER_TITLE__ +***** ChangeLog for 20.0.3 compared to 20.0.2 ***** +FIX: 17.0 - missing error handling for FactureRec::fetch in card-rec.php +FIX: 17.0 - warnings due to uninitialized variables + delete code that doesn't apply to recurring invoices (AFAIK, there is no recurring credit note feature) +FIX: #31159 - TVA Account by country is not used (#31984) +FIX: #31724 (#31885) +FIX: #31890 store empty line extrafields (#32152) +FIX: #31997 +FIX: #32007 missing parameter on function multiSelectArrayWithCheckbox (#32008) +FIX: #32021 +FIX: #32171 (#32172) +FIX: #32178: repair.php: fix missing 'as' with Postgres (#32179) +FIX: #32259 +FIX: #32317 Error with report by month sales tax +FIX: #32391 +FIX: #32402 Social Contribution - Update - Drop the attached employee +FIX: #32408 Dict - module Event organisation is stable now +FIX: #32467 +FIX: Accounting Closure Duplicates, Subledger accounts, Account Labels and more... Update bookkeeping.class.php +FIX: add a line in expensereport refused +FIX: All contacts were loaded even if no thirdparty was selected (#31877) +FIX: asset: missing ref_ext field used in CommonObject::isExistingObject() (#31870) +FIX: assets: division by zero when trying to calculate depreciation on assets that don't have it (#31858) +FIX: avoid php8 warnings +FIX: broken feature, check if module is enabled +FIX: broken feature, entity can not be empty ! +FIX: broken feature, wrong GETPOSTINT parameter +FIX: BUG #32454 (Third party creating vendor) +FIX: calculate start date of cloned task from cloned project (#31799) +FIX: can not convert to reduc if draft status +FIX: comparing strings with numbers can be touchy +FIX: Debug option not working replaced by the one that works. +FIX: default user in stat page +FIX: Ensure extraparams cannot be selected by the user (#32132) +FIX: GETPOST "$check" parameter can't be empty +FIX: Hidden dropdown download link in project +FIX: stop doing a full closure without duplicate lines generated by an unclean database +FIX: in projet/element.php total_time is always back to 0 +FIX: (invoice): mutlicurrency_tx correct value +FIX: invoice: revenue stamp wrongly converted to int (#31840) +FIX: issue #28222 Edit date extrafield displayed on all on lines (#31914) +FIX: "location_incoterms" is a string +FIX: missing hook parameters +FIX: missing saving MAIN_SECURITY_MAX_NUMBER_FAILED_AUTH +FIX: old copy not needed in supplier order create method (#31733) +FIX: send mail to BCC when email formatted as Fullname (#31983) +FIX: set birthday alert (#32133) +FIX: Status not correct in Public ticket list (#31922) +FIX: swiftmailer: correctly set errors-to header (#31826) +FIX: TakePos barcode rule (#31857) +FIX: Takepos: set the country of the default customer (#31915) +FIX: Update Accounting closure with missing too many A-Nouveau #30039) +FIX: Update on a sold line of bank entry set the type to empty, now it's fixed #22539 (#31888) +FIX: update status on create supplier order for trigger (#31642) +FIX: use tax with code on supplier order line give tax code missing in supplier invoice (#32018) +FIX: warning in agenda when user have no color and AGENDA_NO_TRANSPARENT_ON_NOT_BUSY=1 +FIX: when create intervention from propal (or other object), element link is missing after creation (#32035) +FIX: with no perm on supplier, must not see supplier of the best price +FIX: wrong check +FIX: wrong trigger name (MODIFY instead UPDATE) + ***** ChangeLog for 20.0.2 compared to 20.0.1 ***** FIX: fatal when updating recurring supplier invoice line with php8 ($remise_percent is '' instead of 0) (#31713) FIX: supplier invoice template card: buyer and seller swapped in VAT-related function calls (probably a copy-paste from customer invoice templates) (#31446) diff --git a/build/debian/compat b/build/debian/compat deleted file mode 100644 index 9a037142aa3..00000000000 --- a/build/debian/compat +++ /dev/null @@ -1 +0,0 @@ -10 \ No newline at end of file diff --git a/build/debian/po/POTFILES.in b/build/debian/po/POTFILES.in deleted file mode 100644 index 40130aadd20..00000000000 --- a/build/debian/po/POTFILES.in +++ /dev/null @@ -1 +0,0 @@ -[type: gettext/rfc822deb] dolibarr.templates \ No newline at end of file diff --git a/build/debian/source/format b/build/debian/source/format deleted file mode 100644 index 46ebe026659..00000000000 --- a/build/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) \ No newline at end of file diff --git a/build/flatpack/org.flatpak.Dolibarr.json b/build/flatpack/org.flatpak.Dolibarr.json deleted file mode 100644 index 69140d32372..00000000000 --- a/build/flatpack/org.flatpak.Dolibarr.json +++ /dev/null @@ -1 +0,0 @@ -"Help wanted..." \ No newline at end of file diff --git a/build/phpstan/README b/build/phpstan/README deleted file mode 100644 index 30f7a20b24e..00000000000 --- a/build/phpstan/README +++ /dev/null @@ -1,26 +0,0 @@ -PHPStan (https://phpstan.org) ------------------------------ - -PHPStan requires PHP >= 7.1 - -Config File is: ./phpstan.neon - -= Installation = - -cd ./build/phpstan -mkdir phpstan -cd phpstan -composer require --dev phpstan/phpstan - - -= Build report from CLI = - -In dolibarr/ -mv htdocs/custom /tmp/ -php build/phpstan/phpstan/vendor/bin/phpstan -v analyze -c ./phpstan.neon -a build/phpstan/bootstrap.php --memory-limit 4G --error-format=table htdocs/commande/class -php build/phpstan/phpstan/vendor/bin/phpstan -v analyze -c ./phpstan.neon -a build/phpstan/bootstrap.php --memory-limit 4G --error-format=table htdocs/ -mv /tmp/custom htdocs - -Build HTML report from Cron: -Example of line to add into a cron to generate a HTML report: -0 1 5 * * cd /home/dolibarr/preview.dolibarr.org/dolibarr; chmod -R u+w /home/dolibarr/preview.dolibarr.org/dolibarr; git pull; /home/dolibarr/phpstan/vendor/bin/phpstan -v analyze --memory-limit 4G --error-format=github | awk ' BEGIN{ print "Date "strftime("%Y-%m-%d")"
" } { print $0"
" } END{ print NR } ' > /home/dolibarr/doxygen.dolibarr.org/phpstan/index.html diff --git a/build/.gitignore b/dev/build/.gitignore similarity index 100% rename from build/.gitignore rename to dev/build/.gitignore diff --git a/build/README b/dev/build/README similarity index 97% rename from build/README rename to dev/build/README index dc9c743175f..d1107129de0 100644 --- a/build/README +++ b/dev/build/README @@ -1,13 +1,13 @@ README (English) -Path: /dolibarr/build/README +Path: /dolibarr/dev/build/README ################################################## Building packages ################################################## All sub-directories of "build" directory contains files (setup or binary tools) required to build automatically Dolibarr packages. -The build directory and all its contents is absolutely not required to make Dolibarr working. +The build directory and all its contents is absolutely not required to make Dolibarr working. It is here only to build Dolibarr packages, and those generated packages will not contains this "build" directory. @@ -21,7 +21,7 @@ There are several tools: See makepack-howto.txt for prerequisites. -------------------------------------------------------------------------------------------------- - + - To build a theme package, launch the script > perl makepack-dolibarrtheme.pl diff --git a/build/composer/README b/dev/build/composer/README similarity index 97% rename from build/composer/README rename to dev/build/composer/README index 5d39336a337..6595b9200cf 100644 --- a/build/composer/README +++ b/dev/build/composer/README @@ -5,7 +5,7 @@ update-alternatives --config php -* To list packages +* To list packages cd htdocs/includes/diroflib composer install @@ -37,4 +37,3 @@ Edit composer.json to change version to "x.y.z" composer -v update --root-reqs --no-dev --ignore-platform-reqs composer -v update --root-reqs --no-dev --ignore-platform-reqs [--no-autoloader] [--dry-run] ccampbell/chromephp - diff --git a/build/debian/README.Debian b/dev/build/debian/README.Debian similarity index 100% rename from build/debian/README.Debian rename to dev/build/debian/README.Debian diff --git a/build/debian/README.howto b/dev/build/debian/README.howto similarity index 95% rename from build/debian/README.howto rename to dev/build/debian/README.howto index f01add2f013..1e8e6d56d7a 100644 --- a/build/debian/README.howto +++ b/dev/build/debian/README.howto @@ -43,16 +43,16 @@ END # Complete .bashrc with DEBEMAIL and DEBFULLNAME Example: -export DEBFULLNAME="Laurent Destailleur (eldy)" +export DEBFULLNAME="Laurent Destailleur (eldy)" export DEBEMAIL=eldy@users.sourceforge.net Other example: -export DEBFULLNAME="Laurent Destailleur" +export DEBFULLNAME="Laurent Destailleur" export DEBEMAIL="eldy@destailleur.fr" export QUILT_PATCHES=debian/patches -# Note: alioth.debian.org is outdated --> https://alioth-archive.debian.org/ --> https://salsa.debian.org/public +# Note: alioth.debian.org is outdated --> https://alioth-archive.debian.org/ --> https://salsa.debian.org/public * Create an account login * Update your ~/.ssh/config file to add: Host svn.debian.org git.debian.org bzr.debian.org hg.debian.org darcs.debian.org arch.debian.org @@ -72,10 +72,10 @@ export QUILT_PATCHES=debian/patches # podebconf-report-po --from email@email.com To send email to ask translations # Edit manually file XX.po and remove all lines "#, fuzzy" when translation is complete # msgfmt -v -c -o /dev/null XX.po To have status of translation for language XX - + # To check package integrity -# lintian --pedantic -E -I package.deb To test a binary package -# lintian --pedantic -E -I package.dsc To test a source package +# lintian --pedantic -E -I package.deb To test a binary package +# lintian --pedantic -E -I package.dsc To test a source package # To manipulate packages # dpkg -l List all packages @@ -84,7 +84,7 @@ export QUILT_PATCHES=debian/patches # dpkg -I package.deb Give information on package # dpkg -i package.deb Install a package # dpkg-reconfigure -plow package Reconfigure package -# dpkg -L packagename List content of installed package +# dpkg -L packagename List content of installed package # dpkg -r packagename Remove config files and interactive saved answers # dpkg -s packagename Give status of installed package # dpkg --purge Remove config files and interactive saved answers @@ -104,9 +104,9 @@ See page https://www.debian.org/devel/wnpp/#l1 for example of ITP requests conte - Wait until you received bug number. For first ITP submission of Dolibarr, bug id was 634783. -- Check bug is into database by searching with id on +- Check bug is into database by searching with id on https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634783 - + - Add a line for upstream into file changelog with bug number - Call for a mentor on ML debian-mentors to upload packages @@ -129,26 +129,26 @@ To set status of a bug to "pending" > bts --smtp-host=yoursmtpserver tag 999999 +pending or replay to email 999999@bugs.debian.org + submitter of bug -With a message starting with: +With a message starting with: Control: tag -1 +pending Thanks. Fixed into git. or replay to email control@bugs.debian.org -With only message +With only message tag 729538 +pending To remove status of a bug without "moreinfo" (bug can be processed) or replay to email 999999@bugs.debian.org + submitter of bug -With a message starting with: +With a message starting with: Control: tag -1 -moreinfo Thanks. Fixed into git. or replay to email control@bugs.debian.org -With only message +With only message tag 729538 -moreinfo @@ -172,7 +172,7 @@ Pour lister les env chroot or > ls /srv/chroot -Puis pour se connecter et préparer l'environnement +Puis pour se connecter et préparer l'environnement > schroot -c name_of_chroot (example schroot -c unstable-amd64-sbuild) > cat /etc/debian_chroot to check which debian branch we are into > apt-get install vim dialog @@ -212,7 +212,7 @@ or better * You can then create a PHP project from Eclipse called tcpdf-debian from git clone dir and make link to git. - + * If local branch upstream and pristine-tar does not exists, create it from origin/upstream and origin/pristine. @@ -220,7 +220,7 @@ from origin/upstream and origin/pristine. > debian/get-orig-source.sh If script fails with error Bad certificate, you can set "export PERL_LWP_SSL_VERIFY_HOSTNAME=0" to solve this. -* Some files are removed from archive by the get-orig-source.sh +* Some files are removed from archive by the get-orig-source.sh * Modify the tag file to replace sRGB.icc with correct free version and rename file into tcpdf_x.y.z+dfsgw.orig.tar.xz @@ -243,14 +243,14 @@ Warning: Date must have format reported by "date -R" Warning: Name and email must match value into debian/control file (Entry added here is used by next step). * We try to build package -> rm -fr ../build-area; +> rm -fr ../build-area; > git-buildpackage -us -uc --git-debian-branch=[master|jessie] --git-upstream-branch=[upstream|upstream-x.y.z] ou > git-buildpackage -us -uc --git-ignore-branch --git-upstream-branch=[upstream|upstream-x.y.z] Note: To build an old version, do: git checkout oldtagname -b newbranchname; git-buildpackage -us -uc --git-debian-branch=newbranchname --git-upstream-branch=[upstream|upstream-3.5.x] Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommitted file -Note: You can use git-buildpackage -us -uc -d if you want to test build when dependencies does not match +Note: You can use git-buildpackage -us -uc -d if you want to test build when dependencies does not match Note: Package is built into directory ../build-area Note: To compare 2 packages: debdiff package1.dsc package2.dsc @@ -297,7 +297,7 @@ from origin/upstream and origin/pristine. > debian/get-orig-source.sh If script fails with error Bad certificate, you can set "export PERL_LWP_SSL_VERIFY_HOSTNAME=0" to solve this. -* Edit orig.tar.gz file to remove +* Edit orig.tar.gz file to remove - debian - htdocs/includes/ckeditor - htdocs/includes/jquery/css @@ -311,7 +311,7 @@ If script fails with error Bad certificate, you can set "export PERL_LWP_SSL_VER - htdocs/includes/restler/framework/Luracast/Restler/explorer - htdocs/includes/swiftmailer - htdocs/includes/tcpdf or htdocs/includes/tecnickcom -And rename file into +And rename file into dolibarr-x.y.z+dfsgw.tgz (x.y.z = version, w start from 1 and is increased for each new git-import-orig already done) @@ -343,7 +343,7 @@ To update dolibarr debian package when only files into debian has changed: To update dolibarr debian package when only files not into debian has changed: -* Checkout the branch you want to work on: master of debian/... +* Checkout the branch you want to work on: master of debian/... * Manually, add patches into debian/patches and update the file debian/series, or do the 2 steps with "quilt import filepatch.patch" * You can test patching of series with "quilt push" (autant de fois que de patch). Avec "quilt pop -a", on revient a l'état du upstream sans les patch. * Update the debian/changelog to add entry of change. @@ -358,7 +358,7 @@ ou Note: To build an old version, do: git checkout oldtagname -b newbranchname; git-buildpackage -us -uc --git-debian-branch=newbranchname --git-upstream-branch=[upstream|upstream-jessie|upstream-3.5.x|3.5.5] Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommitted file -Note: You can use git-buildpackage -us -uc -d if you want to test build when dependencies does not match +Note: You can use git-buildpackage -us -uc -d if you want to test build when dependencies does not match Note: Package is built into directory ../build-area Note: To compare 2 packages: debdiff package1.dsc package2.dsc @@ -382,7 +382,7 @@ Note: If there was errors managed manually, you may need to make a git commit bu * Package arrives into FTPmaster taskboard with status NEW (pending upload). You can view it at: http://ftp-master.debian.org/new/ - + * Once package is validated, you should see it into area unstable at: http://packages.qa.debian.org @@ -390,7 +390,7 @@ http://packages.qa.debian.org -##### Send an unblock request to make a full update of a stable package +##### Send an unblock request to make a full update of a stable package Use this to move from unstable to testing. @@ -402,7 +402,7 @@ Fill message, for example: "Please unblock package dolibarr A security error CVE-2015-3935 was reported and is fixed into package 3.5.7. Note that package 3.5.7 contains not only fixed for bugs reported to debian. It includes other fixes, but they are all related to stability or security, -so it is a better solution to validate this maintenance release than applying a patch of the only CVE-2015-3935. +so it is a better solution to validate this maintenance release than applying a patch of the only CVE-2015-3935. After discussion with ..., it appears that security holes are enough to request this unblock request." @@ -423,14 +423,14 @@ Pro are: - Patches were already tested because deployed and used by several thousands of users. - It is easier for package maintener to include this official set of fixes than applying one patch after one patch for each debian report or backported each patch into a dedicated version. - Debian maintenance version is inline with official project maintenance version (better when all fixes are not related to the way the software is packaged) -Cons are: +Cons are: - The patch include more than the only one security reported fixes So I just need to know if it's ok to push such a version 3.5.7 (fixes for 3.5.* branch) instead of only one fix for only the few (the only) reported debian bugs, since it provides more stability and is for me a more secured process. " -##### Send an request to ask a simple fix of a stable package +##### Send an request to ask a simple fix of a stable package Use this to ask to apply patches on a stable version. @@ -442,7 +442,7 @@ Fill message, for example: "Please unblock package dolibarr A security error CVE-2015-3935 was reported and is fixed into package 3.5.7. Note that package 3.5.7 contains not only fixed for bugs reported to debian. It includes other fixes, but they are all related to stability or security, -so it is a better solution to validate this maintenance release than applying a patch of the only CVE-2015-3935. +so it is a better solution to validate this maintenance release than applying a patch of the only CVE-2015-3935. After discussion with ..., it appears that security holes are enough to request this unblock request." Note: If there is a response to ask more information, don't forget to remove the tag during answer. diff --git a/build/debian/apache/.htaccess b/dev/build/debian/apache/.htaccess similarity index 100% rename from build/debian/apache/.htaccess rename to dev/build/debian/apache/.htaccess diff --git a/build/debian/apache/dolibarr.conf b/dev/build/debian/apache/dolibarr.conf similarity index 100% rename from build/debian/apache/dolibarr.conf rename to dev/build/debian/apache/dolibarr.conf diff --git a/build/debian/changelog b/dev/build/debian/changelog similarity index 81% rename from build/debian/changelog rename to dev/build/debian/changelog index 326405a6d2b..7ad3facc917 100644 --- a/build/debian/changelog +++ b/dev/build/debian/changelog @@ -2,5 +2,5 @@ dolibarr (__VERSION__) UNRELEASED; urgency=low [ Laurent Destailleur (eldy) ] * New upstream release. - - -- Laurent Destailleur (eldy) Tue, 12 May 2015 12:00:00 +0100 + + -- Laurent Destailleur (eldy) Tue, 12 May 2015 12:00:00 +0100 diff --git a/dev/build/debian/compat b/dev/build/debian/compat new file mode 100644 index 00000000000..f599e28b8ab --- /dev/null +++ b/dev/build/debian/compat @@ -0,0 +1 @@ +10 diff --git a/build/debian/conf.php.install b/dev/build/debian/conf.php.install similarity index 99% rename from build/debian/conf.php.install rename to dev/build/debian/conf.php.install index c373664deef..0d5cd22ad53 100644 --- a/build/debian/conf.php.install +++ b/dev/build/debian/conf.php.install @@ -137,7 +137,7 @@ $dolibarr_main_db_collation='latin1_swedish_ci'; # Default value: dolibarr # Possible values: Any values found in files in htdocs/core/login directory after # the "function_" string and before the ".php" string. You can also separate several -# values using a ",". In this case, Dolibarr will check login/pass for each value in +# values using a ",". In this case, Dolibarr will check login/pass for each value in # order defined into value. However, note that this can't work with all values. # Examples: # $dolibarr_main_authentication='http'; @@ -235,4 +235,3 @@ $dolibarr_main_prod='0'; # dolibarr_main_distrib # A key to identify the distribution used for first installation $dolibarr_main_distrib = 'debian'; - diff --git a/build/debian/control b/dev/build/debian/control similarity index 97% rename from build/debian/control rename to dev/build/debian/control index b2890253b32..73a9bc0f68c 100644 --- a/build/debian/control +++ b/dev/build/debian/control @@ -7,7 +7,7 @@ Standards-Version: 3.9.6 Homepage: https://www.dolibarr.org Build-Depends: debhelper (>= 9), po-debconf # This package need at least debian 7 or ubuntu 13.04 or any distribution based on this version - + Package: dolibarr Architecture: all # For debian 7 or 8 or 9 @@ -35,8 +35,8 @@ Recommends: apache2 | lighttpd | httpd, php-xml, php-mbstring, php-intl Suggests: www-browser, php5-geoip Description: Web based software to manage a company or foundation - Dolibarr ERP & CRM is an easy to use open source/free software package for - companies, foundations or freelances. It includes different + Dolibarr ERP & CRM is an easy to use open source/free software package for + companies, foundations or freelances. It includes different features for Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) but also for different other activities. . diff --git a/build/debian/copyright b/dev/build/debian/copyright similarity index 99% rename from build/debian/copyright rename to dev/build/debian/copyright index 5f1b73d9b64..719e6dc5de0 100644 --- a/build/debian/copyright +++ b/dev/build/debian/copyright @@ -38,7 +38,7 @@ Copyright: 2002-2009, Rodolphe Quiedeville 2011, Herve Prot 2011, Remy Younes 2012-2013, Christophe Battarel - + License: GPL-3+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public @@ -147,7 +147,7 @@ Comments: ------------------------------------------------------------ Files: doc/images/* -Copyright: Laurent Destailleur +Copyright: Laurent Destailleur License: CC-BY-SA-3.0 You are free: to Share (to copy, distribute and transmit the work) and @@ -306,7 +306,7 @@ Comment: Files: htdocs/includes/odtphp/* Copyright: 2008, Julien Pauli - 2008, Cyril PIERRE de GEYER + 2008, Cyril PIERRE de GEYER 2010, Laurent Destailleur License: GPL-2+ This program is free software; you can redistribute it diff --git a/build/debian/dolibarr.config b/dev/build/debian/dolibarr.config old mode 100644 new mode 100755 similarity index 100% rename from build/debian/dolibarr.config rename to dev/build/debian/dolibarr.config diff --git a/build/debian/dolibarr.desktop b/dev/build/debian/dolibarr.desktop similarity index 97% rename from build/debian/dolibarr.desktop rename to dev/build/debian/dolibarr.desktop index dd59be792d2..99a941d8831 100644 --- a/build/debian/dolibarr.desktop +++ b/dev/build/debian/dolibarr.desktop @@ -12,7 +12,7 @@ Comment[es]=Software para gestión de PYMES, profesionales independientes, auto Comment[fr]=L'ERP & CRM simple pour la gestion des PME et associations Comment[it]=Programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti # Command to open an URL -# For Fedora: xdg-open +# For Fedora: xdg-open # For Debian/Ubuntu: xdg-open or x-www-browser # (exo-open for xfde, gnome-open for gnome, ...) Exec=xdg-open http://localhost/dolibarr diff --git a/build/debian/dolibarr.docs b/dev/build/debian/dolibarr.docs similarity index 100% rename from build/debian/dolibarr.docs rename to dev/build/debian/dolibarr.docs diff --git a/build/debian/dolibarr.install b/dev/build/debian/dolibarr.install similarity index 91% rename from build/debian/dolibarr.install rename to dev/build/debian/dolibarr.install index a49ad442eb5..331be0333e3 100644 --- a/build/debian/dolibarr.install +++ b/dev/build/debian/dolibarr.install @@ -8,4 +8,4 @@ htdocs usr/share/dolibarr/ scripts usr/share/dolibarr/ doc/install usr/share/doc/dolibarr/ doc/user usr/share/doc/dolibarr/ -doc/index.html usr/share/doc/dolibarr/ \ No newline at end of file +doc/index.html usr/share/doc/dolibarr/ diff --git a/build/debian/dolibarr.lintian-overrides b/dev/build/debian/dolibarr.lintian-overrides similarity index 98% rename from build/debian/dolibarr.lintian-overrides rename to dev/build/debian/dolibarr.lintian-overrides index 90120971ce9..63e742c70ec 100644 --- a/build/debian/dolibarr.lintian-overrides +++ b/dev/build/debian/dolibarr.lintian-overrides @@ -7,4 +7,4 @@ dolibarr: apache2-deprecated-auth-config Order dolibarr: apache2-deprecated-auth-config Allow # Ignore warning required for a good install process dolibarr: apache2-reverse-dependency-calls-wrapper-script postinst a2enmod -dolibarr: apache2-reverse-dependency-calls-wrapper-script postinst a2enconf \ No newline at end of file +dolibarr: apache2-reverse-dependency-calls-wrapper-script postinst a2enconf diff --git a/build/debian/dolibarr.postinst b/dev/build/debian/dolibarr.postinst old mode 100644 new mode 100755 similarity index 100% rename from build/debian/dolibarr.postinst rename to dev/build/debian/dolibarr.postinst diff --git a/build/debian/dolibarr.postrm b/dev/build/debian/dolibarr.postrm old mode 100644 new mode 100755 similarity index 100% rename from build/debian/dolibarr.postrm rename to dev/build/debian/dolibarr.postrm diff --git a/build/debian/dolibarr.templates b/dev/build/debian/dolibarr.templates similarity index 100% rename from build/debian/dolibarr.templates rename to dev/build/debian/dolibarr.templates diff --git a/build/debian/dolibarr.templates.futur b/dev/build/debian/dolibarr.templates.futur similarity index 99% rename from build/debian/dolibarr.templates.futur rename to dev/build/debian/dolibarr.templates.futur index a6fc2c94670..0c70e8475e9 100644 --- a/build/debian/dolibarr.templates.futur +++ b/dev/build/debian/dolibarr.templates.futur @@ -102,4 +102,3 @@ Description: Delete database ? # Delete also all uploaded and generated files (datas related # to this quetion are all files found into /usr/share/dolibarr/documents, # uploaded or generated when using Dolibarr) ? - \ No newline at end of file diff --git a/build/debian/dolibarr.xpm b/dev/build/debian/dolibarr.xpm similarity index 100% rename from build/debian/dolibarr.xpm rename to dev/build/debian/dolibarr.xpm diff --git a/build/debian/get-orig-source.sh b/dev/build/debian/get-orig-source.sh similarity index 100% rename from build/debian/get-orig-source.sh rename to dev/build/debian/get-orig-source.sh diff --git a/build/debian/install.forced.php.install b/dev/build/debian/install.forced.php.install similarity index 97% rename from build/debian/install.forced.php.install rename to dev/build/debian/install.forced.php.install index 801b1b372af..64b6f8cbb32 100644 --- a/build/debian/install.forced.php.install +++ b/dev/build/debian/install.forced.php.install @@ -27,7 +27,7 @@ $force_install_lockinstall='444'; $force_install_distrib='debian'; // Value to overwrite path to use shared libraries/fonts instead of embedded one. -// If during install, we enable/disable declaration to use non embedded libraries, we must also check they are +// If during install, we enable/disable declaration to use non embedded libraries, we must also check they are // - not removed from package (see rm in rules file), // - declared into dependencies (see Depends in control file) //$force_dolibarr_lib_TCPDF_PATH=''; diff --git a/build/debian/lighttpd/50-dolibarr.conf b/dev/build/debian/lighttpd/50-dolibarr.conf similarity index 81% rename from build/debian/lighttpd/50-dolibarr.conf rename to dev/build/debian/lighttpd/50-dolibarr.conf index e3d1bdfce7e..523bd0a62f8 100644 --- a/build/debian/lighttpd/50-dolibarr.conf +++ b/dev/build/debian/lighttpd/50-dolibarr.conf @@ -1,11 +1,11 @@ # Alias for dolibarr directory -alias.url += ( +alias.url += ( "/dolibarr" => "/usr/share/dolibarr/htdocs", ) # Disallow access to libraries -#$HTTP["url"] =~ "^/dolibarr/libraries" { -# url.access-deny = ( "" ) +#$HTTP["url"] =~ "^/dolibarr/libraries" { +# url.access-deny = ( "" ) #} # Limit access to setup script diff --git a/build/debian/patches/series b/dev/build/debian/patches/series similarity index 100% rename from build/debian/patches/series rename to dev/build/debian/patches/series diff --git a/build/debian/patches/use-etc-dolibarr-conf.patch b/dev/build/debian/patches/use-etc-dolibarr-conf.patch similarity index 99% rename from build/debian/patches/use-etc-dolibarr-conf.patch rename to dev/build/debian/patches/use-etc-dolibarr-conf.patch index c5cede64470..8f14d52acb2 100644 --- a/build/debian/patches/use-etc-dolibarr-conf.patch +++ b/dev/build/debian/patches/use-etc-dolibarr-conf.patch @@ -19,8 +19,8 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -//$conffiletoshow = "/etc/dolibarr/conf.php"; +$conffile = "/etc/dolibarr/conf.php"; +$conffiletoshow = "/etc/dolibarr/conf.php"; - - + + // Include configuration --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -32,6 +32,6 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -//$conffiletoshow = "/etc/dolibarr/conf.php"; +$conffile = "/etc/dolibarr/conf.php"; +$conffiletoshow = "/etc/dolibarr/conf.php"; - + $short_options = "c:h"; $long_options = array( diff --git a/dev/build/debian/po/POTFILES.in b/dev/build/debian/po/POTFILES.in new file mode 100644 index 00000000000..7075002fe62 --- /dev/null +++ b/dev/build/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] dolibarr.templates diff --git a/build/debian/po/fr.po b/dev/build/debian/po/fr.po similarity index 100% rename from build/debian/po/fr.po rename to dev/build/debian/po/fr.po diff --git a/build/debian/po/templates.pot b/dev/build/debian/po/templates.pot similarity index 100% rename from build/debian/po/templates.pot rename to dev/build/debian/po/templates.pot diff --git a/build/debian/rules b/dev/build/debian/rules similarity index 93% rename from build/debian/rules rename to dev/build/debian/rules index 5f8b14e49ea..f22c7f1d0a8 100755 --- a/build/debian/rules +++ b/dev/build/debian/rules @@ -66,7 +66,7 @@ override_dh_install: rm -fr dev/xdebug rm -f dev/dolibarr_changes.txt rm -f dev/README - + rm -f doc/images/dolibarr_screenshot2.png rm -f doc/images/dolibarr_screenshot3.png rm -f doc/images/dolibarr_screenshot4.png @@ -81,17 +81,17 @@ override_dh_install: rm -fr test - rm -fr build/aps - rm -fr build/dmg - rm -fr build/doap - rm -fr build/exe - rm -fr build/launchpad - rm -fr build/live - rm -fr build/patch - rm -fr build/perl - rm -fr build/rpm - rm -fr build/zip - + rm -fr dev/build/aps + rm -fr dev/build/dmg + rm -fr dev/build/doap + rm -fr dev/build/exe + rm -fr dev/build/launchpad + rm -fr dev/build/live + rm -fr dev/build/patch + rm -fr dev/build/perl + rm -fr dev/build/rpm + rm -fr dev/build/zip + # clean from all PHP embedded libraries (we use package dependencies instead) # rm -fr htdocs/includes/geoip # rm -fr htdocs/includes/nusoap @@ -128,4 +128,3 @@ override_dh_fixperms: # Give rights to the webserver on the upload directory chown www-data:www-data debian/dolibarr/var/lib/dolibarr/documents chmod 2775 debian/dolibarr/var/lib/dolibarr/documents - diff --git a/dev/build/debian/source/format b/dev/build/debian/source/format new file mode 100644 index 00000000000..163aaf8d82b --- /dev/null +++ b/dev/build/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/build/debian/source/lintian-overrides b/dev/build/debian/source/lintian-overrides similarity index 99% rename from build/debian/source/lintian-overrides rename to dev/build/debian/source/lintian-overrides index e64eae84887..ed3a130fbc9 100644 --- a/build/debian/source/lintian-overrides +++ b/dev/build/debian/source/lintian-overrides @@ -14,4 +14,3 @@ source-is-missing htdocs/includes/restler/framework/Luracast/Restler/explorer/li # Those are false positives, the files are their own sources since # they are data files source-is-missing htdocs/includes/mobiledetect/mobiledetectlib/Mobile_Detect.json - diff --git a/build/debian/source/options b/dev/build/debian/source/options similarity index 100% rename from build/debian/source/options rename to dev/build/debian/source/options diff --git a/build/debian/watch b/dev/build/debian/watch similarity index 100% rename from build/debian/watch rename to dev/build/debian/watch diff --git a/build/dmg/dolimamp/README b/dev/build/dmg/dolimamp/README similarity index 85% rename from build/dmg/dolimamp/README rename to dev/build/dmg/dolimamp/README index 56929860bde..0a57996fcef 100644 --- a/build/dmg/dolimamp/README +++ b/dev/build/dmg/dolimamp/README @@ -4,4 +4,4 @@ DOLIMAMP Package tools ################################################## This directory contains files and docs used to build -a DoliMamp package for Mac OS X. \ No newline at end of file +a DoliMamp package for Mac OS X. diff --git a/build/dmg/dolimamp/install.forced.php b/dev/build/dmg/dolimamp/install.forced.php similarity index 100% rename from build/dmg/dolimamp/install.forced.php rename to dev/build/dmg/dolimamp/install.forced.php diff --git a/build/doap/README b/dev/build/doap/README similarity index 100% rename from build/doap/README rename to dev/build/doap/README diff --git a/build/docker-dev/.dockerignore b/dev/build/docker-dev/.dockerignore similarity index 100% rename from build/docker-dev/.dockerignore rename to dev/build/docker-dev/.dockerignore diff --git a/build/docker-dev/Dockerfile b/dev/build/docker-dev/Dockerfile similarity index 100% rename from build/docker-dev/Dockerfile rename to dev/build/docker-dev/Dockerfile diff --git a/build/docker-dev/README.md b/dev/build/docker-dev/README.md similarity index 97% rename from build/docker-dev/README.md rename to dev/build/docker-dev/README.md index 66358bf2bbe..bb5c82391f1 100644 --- a/build/docker-dev/README.md +++ b/dev/build/docker-dev/README.md @@ -10,7 +10,7 @@ Before build/run, define the variable HOST_USER_ID as following: Go in repository build/docker : - cd build/docker + cd dev/build/docker And then, you can run : diff --git a/build/docker-dev/docker-compose.yml b/dev/build/docker-dev/docker-compose.yml similarity index 100% rename from build/docker-dev/docker-compose.yml rename to dev/build/docker-dev/docker-compose.yml diff --git a/build/docker-dev/docker-run.sh b/dev/build/docker-dev/docker-run.sh similarity index 100% rename from build/docker-dev/docker-run.sh rename to dev/build/docker-dev/docker-run.sh diff --git a/build/docker-dev/mariadb/Dockerfile b/dev/build/docker-dev/mariadb/Dockerfile similarity index 100% rename from build/docker-dev/mariadb/Dockerfile rename to dev/build/docker-dev/mariadb/Dockerfile diff --git a/build/docker/.github/workflows/build.yml b/dev/build/docker/.github/workflows/build.yml similarity index 100% rename from build/docker/.github/workflows/build.yml rename to dev/build/docker/.github/workflows/build.yml diff --git a/build/docker/.github/workflows/test.yml b/dev/build/docker/.github/workflows/test.yml similarity index 100% rename from build/docker/.github/workflows/test.yml rename to dev/build/docker/.github/workflows/test.yml diff --git a/build/docker/.gitignore b/dev/build/docker/.gitignore similarity index 100% rename from build/docker/.gitignore rename to dev/build/docker/.gitignore diff --git a/build/docker/Dockerfile b/dev/build/docker/Dockerfile similarity index 100% rename from build/docker/Dockerfile rename to dev/build/docker/Dockerfile diff --git a/build/docker/README.md b/dev/build/docker/README.md similarity index 100% rename from build/docker/README.md rename to dev/build/docker/README.md diff --git a/build/docker/docker-compose.yml b/dev/build/docker/docker-compose.yml similarity index 100% rename from build/docker/docker-compose.yml rename to dev/build/docker/docker-compose.yml diff --git a/build/docker/docker-run.sh b/dev/build/docker/docker-run.sh similarity index 100% rename from build/docker/docker-run.sh rename to dev/build/docker/docker-run.sh diff --git a/build/doxygen/dolibarr-doxygen-build.pl b/dev/build/doxygen/dolibarr-doxygen-build.pl similarity index 85% rename from build/doxygen/dolibarr-doxygen-build.pl rename to dev/build/doxygen/dolibarr-doxygen-build.pl index 32a852f22d8..08deb42d6cd 100755 --- a/build/doxygen/dolibarr-doxygen-build.pl +++ b/dev/build/doxygen/dolibarr-doxygen-build.pl @@ -19,7 +19,7 @@ my $dir = getcwd; print "Current dir is: $dir\n"; #print "Running dir for doxygen must be: $DIR\n"; -if (! -s "build/doxygen/$CONFFILE") +if (! -s "dev/build/doxygen/$CONFFILE") { print "Error: current directory for building Dolibarr doxygen documentation is not correct.\n"; print "\n"; @@ -27,7 +27,7 @@ if (! -s "build/doxygen/$CONFFILE") print '> perl .\dolibarr-doxygen-build.pl (on Windows)'."\n"; print '> perl ../dolibarr-doxygen-build.pl (on Linux or BSD)'."\n"; sleep 4; - exit 1; + exit 1; } $SOURCE="."; @@ -47,8 +47,8 @@ $version=$MAJOR.".".$MINOR.".".$BUILD; print "Running doxygen for version ".$version.", please wait...\n"; -print "cat build/doxygen/$CONFFILE | sed -e 's/x\.y\.z/".$version."/' | doxygen $OPTIONS - 2>&1\n"; -$result=`cat build/doxygen/$CONFFILE | sed -e 's/x\.y\.z/$version/' | doxygen $OPTIONS - 2>&1`; +print "cat dev/build/doxygen/$CONFFILE | sed -e 's/x\.y\.z/".$version."/' | doxygen $OPTIONS - 2>&1\n"; +$result=`cat dev/build/doxygen/$CONFFILE | sed -e 's/x\.y\.z/$version/' | doxygen $OPTIONS - 2>&1`; print $result; diff --git a/build/doxygen/dolibarr-doxygen-filter.pl b/dev/build/doxygen/dolibarr-doxygen-filter.pl similarity index 100% rename from build/doxygen/dolibarr-doxygen-filter.pl rename to dev/build/doxygen/dolibarr-doxygen-filter.pl diff --git a/build/doxygen/dolibarr-doxygen-getversion.pl b/dev/build/doxygen/dolibarr-doxygen-getversion.pl similarity index 97% rename from build/doxygen/dolibarr-doxygen-getversion.pl rename to dev/build/doxygen/dolibarr-doxygen-getversion.pl index 6d05037e7dd..31c52434d1f 100755 --- a/build/doxygen/dolibarr-doxygen-getversion.pl +++ b/dev/build/doxygen/dolibarr-doxygen-getversion.pl @@ -8,7 +8,7 @@ # Usage: dolibarr-doxygen-getversion.pl pathtofilefromdolibarrroot $file=$ARGV[0]; -if (! $file) +if (! $file) { print "Usage: dolibarr-doxygen-getversion.pl pathtofilefromdolibarrroot\n"; exit; diff --git a/build/doxygen/dolibarr-doxygen.doxyfile b/dev/build/doxygen/dolibarr-doxygen.doxyfile similarity index 98% rename from build/doxygen/dolibarr-doxygen.doxyfile rename to dev/build/doxygen/dolibarr-doxygen.doxyfile index d6fc7b1ef9e..fb9a116409c 100644 --- a/build/doxygen/dolibarr-doxygen.doxyfile +++ b/dev/build/doxygen/dolibarr-doxygen.doxyfile @@ -89,7 +89,7 @@ REPEAT_BRIEF = YES # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" -ABBREVIATE_BRIEF = +ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief @@ -126,7 +126,7 @@ STRIP_FROM_PATH = "/home/dolibarr/doxygen.dolibarr.org/" # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems @@ -182,7 +182,7 @@ TAB_SIZE = 2 # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. -ALIASES = +ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. @@ -469,7 +469,7 @@ GENERATE_DEPRECATEDLIST = YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. -ENABLED_SECTIONS = +ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in @@ -515,7 +515,7 @@ SHOW_NAMESPACES = NO # is used as the file version. See the manual for examples. #FILE_VERSION_FILTER = dolibarr-doxygen-getversion.pl -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated @@ -524,7 +524,7 @@ FILE_VERSION_FILTER = # You can optionally specify a file name after the option, if omitted # DoxygenLayout.xml will be used as the name of the layout file. -LAYOUT_FILE = +LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages @@ -575,7 +575,7 @@ WARN_FORMAT = "$file:$line: $text" # and error messages should be written. If left blank the output is written # to stderr. -WARN_LOGFILE = build/html/doxygen_warnings.log +WARN_LOGFILE = dev/build/html/doxygen_warnings.log #--------------------------------------------------------------------------- # configuration options related to the input files @@ -638,13 +638,13 @@ EXCLUDE_PATTERNS = */CVS/* # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test -EXCLUDE_SYMBOLS = +EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). -#EXAMPLE_PATH = htdocs/modulebuilder/template +#EXAMPLE_PATH = htdocs/modulebuilder/template # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp @@ -678,7 +678,7 @@ IMAGE_PATH = doc/images # Works on Linux only #INPUT_FILTER = ../dolibarr-doxygen-filter.pl #INPUT_FILTER = "perl ../dolibarr-doxygen-filter.pl" -INPUT_FILTER = +INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. @@ -689,7 +689,7 @@ INPUT_FILTER = # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. -FILTER_PATTERNS = +FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source @@ -774,7 +774,7 @@ ALPHABETICAL_INDEX = YES # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output @@ -804,14 +804,14 @@ HTML_FILE_EXTENSION = .html # standard header. # Does not work with 1.7.3 -#HTML_HEADER = build/doxygen/doxygen_header.html +#HTML_HEADER = dev/build/doxygen/doxygen_header.html # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. # Does not work with 1.7.3 -HTML_FOOTER = build/doxygen/doxygen_footer.html +HTML_FOOTER = dev/build/doxygen/doxygen_footer.html # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to @@ -820,7 +820,7 @@ HTML_FOOTER = build/doxygen/doxygen_footer.html # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! -HTML_STYLESHEET = +HTML_STYLESHEET = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the stylesheet and background images @@ -927,14 +927,14 @@ GENERATE_HTMLHELP = NO # can add a path in front of the file if the result should not be # written to the html output directory. -CHM_FILE = +CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. -HHC_LOCATION = +HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that @@ -946,7 +946,7 @@ GENERATE_CHI = NO # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a @@ -970,7 +970,7 @@ GENERATE_QHP = NO # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. -QCH_FILE = +QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see @@ -988,14 +988,14 @@ QHP_VIRTUAL_FOLDER = doc # add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters -QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see # # Qt Help Project / Custom Filters. -QHP_CUST_FILTER_ATTRS = +QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's @@ -1003,14 +1003,14 @@ QHP_CUST_FILTER_ATTRS = # # Qt Help Project / Filter Attributes. -QHP_SECT_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. -QHG_LOCATION = +QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help @@ -1146,14 +1146,14 @@ PAPER_TYPE = a4 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. -EXTRA_PACKAGES = +EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! -LATEX_HEADER = +LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will @@ -1223,12 +1223,12 @@ RTF_HYPERLINKS = NO # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. -RTF_STYLESHEET_FILE = +RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. -RTF_EXTENSIONS_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output @@ -1278,13 +1278,13 @@ XML_OUTPUT = xml # which can be used by a validating XML parser to check the # syntax of the XML files. -#XML_SCHEMA = +#XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. -#XML_DTD = +#XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting @@ -1338,7 +1338,7 @@ PERLMOD_PRETTY = YES # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor @@ -1372,14 +1372,14 @@ SEARCH_INCLUDES = YES # contain include files that are not input files but should be processed by # the preprocessor. -INCLUDE_PATH = +INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. -INCLUDE_FILE_PATTERNS = +INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of @@ -1389,14 +1389,14 @@ INCLUDE_FILE_PATTERNS = # undefined via #undef or recursively expanded use the := operator # instead of the = operator. -PREDEFINED = +PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone @@ -1427,12 +1427,12 @@ SKIP_FUNCTION_MACROS = YES # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. -TAGFILES = +TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. -GENERATE_TAGFILE = +GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes @@ -1471,7 +1471,7 @@ CLASS_DIAGRAMS = NO # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. -#MSCGEN_PATH = +#MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented @@ -1515,7 +1515,7 @@ DOT_FONTSIZE = 10 # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. -DOT_FONTPATH = +DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and @@ -1598,13 +1598,13 @@ DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. -DOT_PATH = +DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). -DOTFILE_DIRS = +DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph @@ -1655,4 +1655,4 @@ DOT_CLEANUP = YES FULL_SIDEBAR = NO -HTML_EXTRA_STYLESHEET = build/doxygen/doxygen-awesome.css +HTML_EXTRA_STYLESHEET = dev/build/doxygen/doxygen-awesome.css diff --git a/build/doxygen/doxygen-awesome.css b/dev/build/doxygen/doxygen-awesome.css similarity index 99% rename from build/doxygen/doxygen-awesome.css rename to dev/build/doxygen/doxygen-awesome.css index 21150c99adc..65fdbb400f2 100644 --- a/build/doxygen/doxygen-awesome.css +++ b/dev/build/doxygen/doxygen-awesome.css @@ -204,7 +204,7 @@ html { --code-background: #2a2c2f; --tablehead-background: #2a2c2f; - + --blockquote-background: #222325; --blockquote-foreground: #7e8c92; @@ -884,7 +884,7 @@ div.header { flex-wrap: nowrap; align-items: flex-start; } - + div.contents .textblock { min-width: 200px; flex-grow: 1; @@ -973,21 +973,21 @@ html.dark-mode div.contents table iframe { h2.groupheader { border-bottom: 0px; color: var(--page-foreground-color); - box-shadow: - 100px 0 var(--page-background-color), + box-shadow: + 100px 0 var(--page-background-color), -100px 0 var(--page-background-color), 100px 0.75px var(--separator-color), -100px 0.75px var(--separator-color), - 500px 0 var(--page-background-color), + 500px 0 var(--page-background-color), -500px 0 var(--page-background-color), 500px 0.75px var(--separator-color), -500px 0.75px var(--separator-color), - 900px 0 var(--page-background-color), + 900px 0 var(--page-background-color), -900px 0 var(--page-background-color), 900px 0.75px var(--separator-color), -900px 0.75px var(--separator-color), 1400px 0 var(--page-background-color), - -1400px 0 var(--page-background-color), + -1400px 0 var(--page-background-color), 1400px 0.75px var(--separator-color), -1400px 0.75px var(--separator-color), 1900px 0 var(--page-background-color), @@ -1143,8 +1143,8 @@ div.toc li a.aboveActive { div.contents .toc.interactive > h3::before { content: ""; - width: 0; - height: 0; + width: 0; + height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--primary-color); @@ -1822,8 +1822,8 @@ table.memberdecls img[src="closed.png"], table.memberdecls img[src="open.png"], div.dynheader img[src="open.png"], div.dynheader img[src="closed.png"] { - width: 0; - height: 0; + width: 0; + height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--primary-color); @@ -1841,7 +1841,7 @@ table.memberdecls img { table.memberdecls img[src="closed.png"], div.dynheader img[src="closed.png"] { transform: rotate(-90deg); - + } .compoundTemplParams { @@ -1884,7 +1884,7 @@ div.dynheader img[src="closed.png"] { margin-bottom: calc(0px - var(--page-font-size)); } - table.memberdecls .memItemRight, + table.memberdecls .memItemRight, table.memberdecls .mdescRight, table.memberdecls .memTemplItemRight { border-top: 0; @@ -2070,8 +2070,8 @@ html.dark-mode .iconfopen, html.dark-mode .iconfclosed { background-color: transparent; } -/* - Class Index Doxygen 1.8 +/* + Class Index Doxygen 1.8 */ table.classindex { @@ -2212,7 +2212,7 @@ div.contents .toc::-webkit-scrollbar-thumb { background-color: transparent; border: var(--webkit-scrollbar-padding) solid transparent; border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); - background-clip: padding-box; + background-clip: padding-box; } #nav-tree:hover::-webkit-scrollbar-thumb, @@ -2406,8 +2406,8 @@ h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a. #MSearchBox .left { - background: none !important; + background: none !important; } #MSearchBox .right { - background: none !important; + background: none !important; } diff --git a/build/doxygen/doxygen_footer.html b/dev/build/doxygen/doxygen_footer.html similarity index 97% rename from build/doxygen/doxygen_footer.html rename to dev/build/doxygen/doxygen_footer.html index 2615af0b485..1a43e7e9dc0 100644 --- a/build/doxygen/doxygen_footer.html +++ b/dev/build/doxygen/doxygen_footer.html @@ -1,4 +1,4 @@ - @@ -23,4 +23,4 @@ File added into doxygen generated documentation - \ No newline at end of file + diff --git a/build/doxygen/doxygen_header.html b/dev/build/doxygen/doxygen_header.html similarity index 99% rename from build/doxygen/doxygen_header.html rename to dev/build/doxygen/doxygen_header.html index f60f4829d76..9ab8aa57a0c 100644 --- a/build/doxygen/doxygen_header.html +++ b/dev/build/doxygen/doxygen_header.html @@ -48,5 +48,3 @@ - - diff --git a/build/exakat/README.md b/dev/build/exakat/README.md similarity index 100% rename from build/exakat/README.md rename to dev/build/exakat/README.md diff --git a/build/exe/doliwamp/.gitignore b/dev/build/exe/doliwamp/.gitignore similarity index 100% rename from build/exe/doliwamp/.gitignore rename to dev/build/exe/doliwamp/.gitignore diff --git a/build/exe/doliwamp/Languages/MyBasque.isl b/dev/build/exe/doliwamp/Languages/MyBasque.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyBasque.isl rename to dev/build/exe/doliwamp/Languages/MyBasque.isl diff --git a/build/exe/doliwamp/Languages/MyBrazilianPortuguese.isl b/dev/build/exe/doliwamp/Languages/MyBrazilianPortuguese.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyBrazilianPortuguese.isl rename to dev/build/exe/doliwamp/Languages/MyBrazilianPortuguese.isl diff --git a/build/exe/doliwamp/Languages/MyCatalan.isl b/dev/build/exe/doliwamp/Languages/MyCatalan.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyCatalan.isl rename to dev/build/exe/doliwamp/Languages/MyCatalan.isl diff --git a/build/exe/doliwamp/Languages/MyCzech.isl b/dev/build/exe/doliwamp/Languages/MyCzech.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyCzech.isl rename to dev/build/exe/doliwamp/Languages/MyCzech.isl diff --git a/build/exe/doliwamp/Languages/MyDanish.isl b/dev/build/exe/doliwamp/Languages/MyDanish.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyDanish.isl rename to dev/build/exe/doliwamp/Languages/MyDanish.isl diff --git a/build/exe/doliwamp/Languages/MyDutch.isl b/dev/build/exe/doliwamp/Languages/MyDutch.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyDutch.isl rename to dev/build/exe/doliwamp/Languages/MyDutch.isl diff --git a/build/exe/doliwamp/Languages/MyEnglish.isl b/dev/build/exe/doliwamp/Languages/MyEnglish.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyEnglish.isl rename to dev/build/exe/doliwamp/Languages/MyEnglish.isl diff --git a/build/exe/doliwamp/Languages/MyFinnish.isl b/dev/build/exe/doliwamp/Languages/MyFinnish.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyFinnish.isl rename to dev/build/exe/doliwamp/Languages/MyFinnish.isl diff --git a/build/exe/doliwamp/Languages/MyFrench.isl b/dev/build/exe/doliwamp/Languages/MyFrench.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyFrench.isl rename to dev/build/exe/doliwamp/Languages/MyFrench.isl diff --git a/build/exe/doliwamp/Languages/MyGerman.isl b/dev/build/exe/doliwamp/Languages/MyGerman.isl similarity index 97% rename from build/exe/doliwamp/Languages/MyGerman.isl rename to dev/build/exe/doliwamp/Languages/MyGerman.isl index 7d7fa1662a8..b78c2155e27 100644 --- a/build/exe/doliwamp/Languages/MyGerman.isl +++ b/dev/build/exe/doliwamp/Languages/MyGerman.isl @@ -21,7 +21,7 @@ DoYouWantToStart=Möchten Sie den Installationsprozess starten? TechnicalParameters=technische Parameter IfFirstInstall=Geben Sie bei der Erstinstallation einige technische Parameter an. Wenn Sie nicht verstehen, sich nicht sicher sind oder ein Upgrade durchführen, belassen Sie einfach die Standardwerte. -; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS +; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS SMTPServer=SMTP Server (your own or ISP SMTP server, first install only) : ApachePort=Apache Port (first install only, Standard ist 80) : MySqlPort=MySQL Port (first install only, Standard ist 3306) : @@ -29,7 +29,7 @@ MySqlPassword=MySQL Server und Datenbank Passwort für root (first install only) FailedToDeleteLock=Fehler beim Löschen der Datei %1/www/dolibarr/install.lock. Sie können die Warnung ignorieren, müssen sie jedoch möglicherweise später manuell entfernen, wenn Sie dazu aufgefordert werden. Klicken Sie auf OK, um fortzufahren ... -PortAlreadyInUse=Port %1 scheint bereits verwendet zu werden. Sie sollten zurückgehen und einen anderen Wert für %2 Port wählen. Auswahl abbrechen und einen anderen Wert wählen ? +PortAlreadyInUse=Port %1 scheint bereits verwendet zu werden. Sie sollten zurückgehen und einen anderen Wert für %2 Port wählen. Auswahl abbrechen und einen anderen Wert wählen ? FirefoxDetected=Firefox wurde auf Ihrem Computer erkannt. Möchten Sie ihn als Standardbrowser für Dolibarr verwenden? ChromeDetected=Chrome wurde auf Ihrem Computer erkannt. Möchten Sie ihn als Standardbrowser für Dolibarr verwenden? diff --git a/build/exe/doliwamp/Languages/MyHebrew.isl b/dev/build/exe/doliwamp/Languages/MyHebrew.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyHebrew.isl rename to dev/build/exe/doliwamp/Languages/MyHebrew.isl diff --git a/build/exe/doliwamp/Languages/MyHungarian.isl b/dev/build/exe/doliwamp/Languages/MyHungarian.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyHungarian.isl rename to dev/build/exe/doliwamp/Languages/MyHungarian.isl diff --git a/build/exe/doliwamp/Languages/MyItalian.isl b/dev/build/exe/doliwamp/Languages/MyItalian.isl similarity index 98% rename from build/exe/doliwamp/Languages/MyItalian.isl rename to dev/build/exe/doliwamp/Languages/MyItalian.isl index bb85ba864b6..8d72059f862 100644 --- a/build/exe/doliwamp/Languages/MyItalian.isl +++ b/dev/build/exe/doliwamp/Languages/MyItalian.isl @@ -9,4 +9,4 @@ ProgramOnTheWeb=%1 sul Web UninstallProgram=Disinstalla %1 LaunchProgram=Avvia %1 AssocFileExtension=&Associa l'estensione %2 a %1 -AssocingFileExtension=Associazione dell'estensione %2 a %1 in corso... \ No newline at end of file +AssocingFileExtension=Associazione dell'estensione %2 a %1 in corso... diff --git a/build/exe/doliwamp/Languages/MyJapanese.isl b/dev/build/exe/doliwamp/Languages/MyJapanese.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyJapanese.isl rename to dev/build/exe/doliwamp/Languages/MyJapanese.isl diff --git a/build/exe/doliwamp/Languages/MyNorwegian.isl b/dev/build/exe/doliwamp/Languages/MyNorwegian.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyNorwegian.isl rename to dev/build/exe/doliwamp/Languages/MyNorwegian.isl diff --git a/build/exe/doliwamp/Languages/MyPolish.isl b/dev/build/exe/doliwamp/Languages/MyPolish.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyPolish.isl rename to dev/build/exe/doliwamp/Languages/MyPolish.isl diff --git a/build/exe/doliwamp/Languages/MyPortuguese.isl b/dev/build/exe/doliwamp/Languages/MyPortuguese.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyPortuguese.isl rename to dev/build/exe/doliwamp/Languages/MyPortuguese.isl diff --git a/build/exe/doliwamp/Languages/MyRussian.isl b/dev/build/exe/doliwamp/Languages/MyRussian.isl similarity index 100% rename from build/exe/doliwamp/Languages/MyRussian.isl rename to dev/build/exe/doliwamp/Languages/MyRussian.isl diff --git a/build/exe/doliwamp/Languages/MySlovak.isl b/dev/build/exe/doliwamp/Languages/MySlovak.isl similarity index 90% rename from build/exe/doliwamp/Languages/MySlovak.isl rename to dev/build/exe/doliwamp/Languages/MySlovak.isl index 28e66e0f8a5..578415e631d 100644 --- a/build/exe/doliwamp/Languages/MySlovak.isl +++ b/dev/build/exe/doliwamp/Languages/MySlovak.isl @@ -5,7 +5,7 @@ AdditionalIcons= CreateDesktopIcon=Vytvori zstupcu na &ploche CreateQuickLaunchIcon=Vytvori zstupcu na paneli &Rchle spustenie ProgramOnTheWeb=Aplikcia %1 na internete -UninstallProgram=Odintalova aplikciu %1 +UninstallProgram=Odintalova aplikciu %1 LaunchProgram=Spusti aplikciu %1 AssocFileExtension=Vytvori &asociciu medzi sbormi typu %2 a aplikciou %1 AssocingFileExtension=Vytvra sa asocicia medzi sbormi typu %2 a aplikciou %1... diff --git a/build/exe/doliwamp/Languages/MySlovenian.isl b/dev/build/exe/doliwamp/Languages/MySlovenian.isl similarity index 100% rename from build/exe/doliwamp/Languages/MySlovenian.isl rename to dev/build/exe/doliwamp/Languages/MySlovenian.isl diff --git a/build/exe/doliwamp/Languages/MySpanish.isl b/dev/build/exe/doliwamp/Languages/MySpanish.isl similarity index 99% rename from build/exe/doliwamp/Languages/MySpanish.isl rename to dev/build/exe/doliwamp/Languages/MySpanish.isl index 4500e776672..6789bf008c0 100644 --- a/build/exe/doliwamp/Languages/MySpanish.isl +++ b/dev/build/exe/doliwamp/Languages/MySpanish.isl @@ -42,6 +42,6 @@ DoliWampWillStartApacheMysql=El instalador DoliWamp intentará iniciar o reinici OldVersionFoundAndMoveInNew=Se ha encontrado una versión antigua de base de datos y ha sido movida para ser utilizada por la nueva versión de Dolibarr OldVersionFoundButFailedToMoveInNew=Se ha encontrado una versión antigua de base de datos, pero no se pudo mover para ser utilizada por la nueva versión de Dolibarr - + DLLMissing=Su instalación Windows no tiene el componente "Microsoft Visual C++ Redistributable for Visual Studio 2017". Instale primero la versión de 32-bit (vcredist_x86.exe) (puedes encontrarlo en https://www.microsoft.com/en-us/download/) y reiniciar después la instalación/actualización de DoliWamp. ContinueAnyway=Continua igualmente (el proceso de instalación podría fallar sin este prerequisito) diff --git a/build/exe/doliwamp/Makefile b/dev/build/exe/doliwamp/Makefile similarity index 98% rename from build/exe/doliwamp/Makefile rename to dev/build/exe/doliwamp/Makefile index 3344232b177..f2727e54298 100644 --- a/build/exe/doliwamp/Makefile +++ b/dev/build/exe/doliwamp/Makefile @@ -1,7 +1,7 @@ #-------------------------------------------------------------------# # Makefile to build UsedPort exe #-------------------------------------------------------------------# -# 1.0 Laurent Destailleur Creation +# 1.0 Laurent Destailleur Creation #-------------------------------------------------------------------# # Works with GCC CYGWIN, GCC MINGW #-------------------------------------------------------------------# @@ -126,7 +126,7 @@ $(LIBDIR)%.obj: %.cpp $(CPP) -c $(CFLAGS) $(SRC)$< $(OUT)$@ # @echo ----- Archivage en $(ARCHIVE) # $(AR) $(ARCHIVE) $@ - + $(LIBDIR)%.o: %.c @echo ----- Compilation C by $(COMP) $(CC) - $@ @echo CC=$(CC) diff --git a/build/exe/doliwamp/README.md b/dev/build/exe/doliwamp/README.md similarity index 100% rename from build/exe/doliwamp/README.md rename to dev/build/exe/doliwamp/README.md diff --git a/build/exe/doliwamp/UsedPort.cpp b/dev/build/exe/doliwamp/UsedPort.cpp similarity index 98% rename from build/exe/doliwamp/UsedPort.cpp rename to dev/build/exe/doliwamp/UsedPort.cpp index a63938c5038..5d77f7c9ec5 100644 --- a/build/exe/doliwamp/UsedPort.cpp +++ b/dev/build/exe/doliwamp/UsedPort.cpp @@ -5,7 +5,7 @@ // GCC CYGWIN 3.4.4 (May need cygwin1.dll, depending on functions used) // GCC MINGW 3.4.5 // Not tested with: -// VC++ 4.0.0 +// VC++ 4.0.0 // GCC Linux 3.4.4 //--------------------------------------------------------------------------- // 06/09/09 1.0 Laurent Destailleur Creation @@ -122,7 +122,7 @@ mailentry tabmails[MAX_MAILS+1]; // Tab of mails entries First=1 int iRet; int iNbUnread; // Nb of unread mails unsigned long int lSizeUnread; // Size of all unread mails -int Port=0; +int Port=0; char Host[MAXHOSTNAMELEN]=""; #ifdef _WIN32 WSADATA Data; @@ -153,7 +153,7 @@ int testConnect() SOCKET sc; char s[2048],t[256]; int i; - + startgetmess: @@ -177,7 +177,7 @@ startgetmess: { return(DoQuit(FAILED_TO_RESOLVE_HOST)); } - + //***** Connect to server SOCKADDR_IN sin; sin.sin_port = htons((u_short) Port); @@ -190,7 +190,7 @@ startgetmess: #ifdef _WIN32 if (connect(sc,(LPSOCKADDR) &sin,sizeof(sin))) #else - if (connect(sc,(const struct sockaddr *) &sin,sizeof(sin))) + if (connect(sc,(const struct sockaddr *) &sin,sizeof(sin))) #endif { printf("Failed to connect !\n"); @@ -223,7 +223,7 @@ int Ack(SOCKET sc) int rlen; int Received = 0; - if (!buf) + if (!buf) if ((buf = (char *) malloc(liSizeOfMail+1)) == NULL) // The first time, create buf return(OUT_OF_MEMORY); again: @@ -310,7 +310,7 @@ if (help|invalide) { printf("\n"); exit(-1); } - + // Print input values diff --git a/build/exe/doliwamp/UsedPort.exe b/dev/build/exe/doliwamp/UsedPort.exe similarity index 100% rename from build/exe/doliwamp/UsedPort.exe rename to dev/build/exe/doliwamp/UsedPort.exe diff --git a/build/exe/doliwamp/builddemosslfiles.bat.install b/dev/build/exe/doliwamp/builddemosslfiles.bat.install similarity index 100% rename from build/exe/doliwamp/builddemosslfiles.bat.install rename to dev/build/exe/doliwamp/builddemosslfiles.bat.install diff --git a/build/exe/doliwamp/ca_demo_dolibarr.crt b/dev/build/exe/doliwamp/ca_demo_dolibarr.crt similarity index 100% rename from build/exe/doliwamp/ca_demo_dolibarr.crt rename to dev/build/exe/doliwamp/ca_demo_dolibarr.crt diff --git a/build/exe/doliwamp/ca_demo_dolibarr.key b/dev/build/exe/doliwamp/ca_demo_dolibarr.key similarity index 100% rename from build/exe/doliwamp/ca_demo_dolibarr.key rename to dev/build/exe/doliwamp/ca_demo_dolibarr.key diff --git a/build/exe/doliwamp/config.inc.php.install b/dev/build/exe/doliwamp/config.inc.php.install similarity index 100% rename from build/exe/doliwamp/config.inc.php.install rename to dev/build/exe/doliwamp/config.inc.php.install diff --git a/build/exe/doliwamp/dolibarr.conf.install b/dev/build/exe/doliwamp/dolibarr.conf.install similarity index 84% rename from build/exe/doliwamp/dolibarr.conf.install rename to dev/build/exe/doliwamp/dolibarr.conf.install index db7a3ddc048..2b5e5589695 100644 --- a/build/exe/doliwamp/dolibarr.conf.install +++ b/dev/build/exe/doliwamp/dolibarr.conf.install @@ -1,4 +1,4 @@ -Alias /dolibarr "WAMPROOT/www/dolibarr/htdocs/" +Alias /dolibarr "WAMPROOT/www/dolibarr/htdocs/" # NOTE FOR APACHE 2.2: # To restrict access to dolibarr from outside set lines @@ -9,7 +9,7 @@ Alias /dolibarr "WAMPROOT/www/dolibarr/htdocs/" # # instead of # -# Order Allow,Deny +# Order Allow,Deny # Allow from all # # NOTE FOR APACHE 2.3: @@ -26,4 +26,4 @@ Alias /dolibarr "WAMPROOT/www/dolibarr/htdocs/" Options Indexes FollowSymLinks MultiViews AllowOverride all Require all granted - \ No newline at end of file + diff --git a/build/exe/doliwamp/doliwamp.bmp b/dev/build/exe/doliwamp/doliwamp.bmp similarity index 100% rename from build/exe/doliwamp/doliwamp.bmp rename to dev/build/exe/doliwamp/doliwamp.bmp diff --git a/build/exe/doliwamp/doliwamp.iss b/dev/build/exe/doliwamp/doliwamp.iss similarity index 98% rename from build/exe/doliwamp/doliwamp.iss rename to dev/build/exe/doliwamp/doliwamp.iss index 1a14058de68..063c9047bd5 100644 --- a/build/exe/doliwamp/doliwamp.iss +++ b/dev/build/exe/doliwamp/doliwamp.iss @@ -8,7 +8,7 @@ ; package contains only one user called root with no password. ; For this, you can edit the mysql.user table of the source database to keep ; only the root user with no password, stop server and catch -; files user.MY* to put them in the Dolibarr build/exe/doliwamp/mysql directory. +; files user.MY* to put them in the Dolibarr dev/build/exe/doliwamp/mysql directory. ; ;---------------------------------------------------------------------------------------- @@ -24,7 +24,7 @@ OutputBaseFilename=__FILENAMEEXEDOLIWAMP__ ;OutputManifestFile=build\doliwampbuild.log ; Define full path from which all relative path are defined ; You must modify this to put here your dolibarr root directory -SourceDir=..\..\.. +SourceDir=..\..\..\.. AppId=doliwamp AppPublisher=DoliCloud AppPublisherURL=https://www.dolicloud.com @@ -205,20 +205,20 @@ begin if Result then begin - + //---------------------------------------------- // Test if msvcr110 DLL has been installed //---------------------------------------------- - + if not FileExists ('c:/windows/system32/msvcr110.dll') and not FileExists ('c:/windows/sysWOW64/msvcr110.dll') and not FileExists ('c:/winnt/system32/msvcr110.dll') and not FileExists ('c:/winnt/sysWOW64/msvcr110.dll') then begin - // TODO - offer to install the component by opening the URL in the default browser, abort installation if user doesn't accept + // TODO - offer to install the component by opening the URL in the default browser, abort installation if user doesn't accept Result := MsgBox(CustomMessage('DLLMissing')+#13#13+CustomMessage('ContinueAnyway'), mbConfirmation, MB_YESNO) = IDYES; - + end; // Pb seems similar with msvcp110.dll //vcredist_x64.exe - + end; end; @@ -307,7 +307,7 @@ begin Page.Add(CustomMessage('MySqlPort'), False); Page.Add(CustomMessage('MySqlPassword'), False); end; - + // Default values Page.Values[0] := smtpServer; Page.Values[1] := apachePort; @@ -348,7 +348,7 @@ var themessage: String; begin res := True; - + //MsgBox(''+CurPageID,mbConfirmation,MB_YESNO); if CurPageID = Page.ID then @@ -361,12 +361,12 @@ begin pathWithSlashes := path; StringChange (pathWithSlashes, '\','/'); - + // Migration of database // datadir := pathWithSlashes+'/bin/mariadb/mariadb10.6.5/data'; // exedirold := pathWithSlashes+'/bin/mariadb/mariadb10.6.5/'; // exedirnew := pathWithSlashes+'/bin/mariadb/mariadb10.6.5/'; - + // If we have a new database version, we should only copy old my.ini file into new directory // and change only all basedir= strings to use new version. Like this, data dir is still correct. // Install of service and stop/start scripts are already rebuild by installer. @@ -391,7 +391,7 @@ begin // Copie des dll de php vers apache //---------------------------------------------- // TODO Update this list when changing PHP/Apache versions - + phpDllCopy := 'libssh2.dll'; filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); phpDllCopy := 'icuuc64.dll'; @@ -424,7 +424,7 @@ begin if not FileExists (srcFile) then begin firstinstall := true; - + // Values from wizard mysmtp := Page.Values[0]; myporta := Page.Values[1]; @@ -435,7 +435,7 @@ begin else begin firstinstall := false; - + // Values from registry mysmtp := smtpServer; myporta := apachePort; @@ -443,13 +443,13 @@ begin myport := mysqlPort; mypass := newPassword; end; - + paramok := True; // TODO Test if choice of param is ok if firstinstall if (firstinstall) then begin - + // Test serveur SMTP // if paramok then // begin @@ -463,7 +463,7 @@ begin // paramok := False; // end; // end; - + if paramok then begin // Test port Apache @@ -477,7 +477,7 @@ begin paramok := False; end; end; - + if paramok then begin // Test port Mysql @@ -491,13 +491,13 @@ begin paramok := False; end; end; - + end; - + if paramok then begin - + //---------------------------------------------- // check that we don't try an upgrade (mysql upgrade no supported) //---------------------------------------------- @@ -512,7 +512,7 @@ begin //---------------------------------------------- // Rename file c:/windows/php.ini (we don't want it) //---------------------------------------------- - + if FileExists ('c:/windows/php.ini') then begin if MsgBox('A previous c:/windows/php.ini file has been detected in your Windows directory. Do you want DoliWamp to rename it to php_old.ini to avoid conflicts ?',mbConfirmation,MB_YESNO) = IDYES then @@ -527,28 +527,28 @@ begin RenameFile('c:/winnt/php.ini','c:/winnt/php_old.ini'); end; end; - - - + + + //---------------------------------------------- // Create rundoliwamp.bat, rundolihelp.bat and rundoliadmin.bat (if not exists) //---------------------------------------------- - + destFile := pathWithSlashes+'/rundoliwamp.bat'; srcFile := pathWithSlashes+'/rundoliwamp.bat.install'; - + destFileH := pathWithSlashes+'/rundolihelp.bat'; srcFileH := pathWithSlashes+'/rundolihelp.bat.install'; - + destFileA := pathWithSlashes+'/rundoliadmin.bat'; srcFileA := pathWithSlashes+'/rundoliadmin.bat.install'; - + if (not FileExists (destFile) or not FileExists (destFileH) or not FileExists (destFileA)) and (FileExists(srcFile) and FileExists(srcFileH) and FileExists(srcFileA)) then begin //navigateur browser := 'iexplore.exe'; - + if browser = 'iexplore.exe' then begin if FileExists (pfPath+'/Google/Chrome/Application/chrome.exe') then @@ -570,7 +570,7 @@ begin end; end; end; - + if browser = 'iexplore.exe' then begin if FileExists (winPath+'/SystemApps/Microsoft.MicrosoftEdge_8wekyb3d8bbwe/MicrosoftEdge.exe') then @@ -604,19 +604,19 @@ begin GetOpenFileName(CustomMessage('ChooseDefaultBrowser'), browser, winPath, 'exe files (*.exe)|*.exe|All files (*.*)|*.*' ,'exe'); end; end; - + LoadStringFromFile (srcFile, srcContents); StringChangeEx (srcContents, 'WAMPBROWSER', browser, True); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True); SaveStringToFile(destFile,srcContents, False); - + LoadStringFromFile (srcFileH, srcContents); StringChangeEx (srcContents, 'WAMPBROWSER', browser, True); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True); SaveStringToFile(destFileH,srcContents, False); - + LoadStringFromFile (srcFileA, srcContents); StringChangeEx (srcContents, 'WAMPBROWSER', browser, True); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True); @@ -628,23 +628,23 @@ begin if MsgBox(CustomMessage('DoliWampWillStartApacheMysql'),mbConfirmation,MB_YESNO) = IDYES then begin - + //---------------------------------------------- // Create file alias dolibarr (if not exists) //---------------------------------------------- - + destFile := pathWithSlashes+'/alias/dolibarr.conf'; srcFile := pathWithSlashes+'/alias/dolibarr.conf.install'; - + if FileExists(srcFile) then begin if not FileExists (destFile) then begin LoadStringFromFile (srcFile, srcContents); - + StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); - + SaveStringToFile(destFile, srcContents, False); end else @@ -652,25 +652,25 @@ begin // We must replace to use format 2.4 of apache DeleteFile(destFile); LoadStringFromFile (srcFile, srcContents); - + StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); - + SaveStringToFile(destFile, srcContents, False); end; end; DeleteFile(srcFile); - - - - + + + + //---------------------------------------------- // Create file httpd.conf (if not exists) //---------------------------------------------- - + destFile := pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/conf/httpd.conf'; srcFile := pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/conf/httpd.conf.install'; - + if not FileExists (destFile) and FileExists (srcFile) then begin LoadStringFromFile (srcFile, srcContents); @@ -681,42 +681,42 @@ begin StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True); - + SaveStringToFile(destFile,srcContents, False); end; - - - - + + + + //---------------------------------------------- // Create file my.ini (if not exists) //---------------------------------------------- - + destFile := pathWithSlashes+'/bin/mariadb/mariadb'+mysqlVersion+'/my.ini'; srcFile := pathWithSlashes+'/bin/mariadb/mariadb'+mysqlVersion+'/my.ini.install'; - + if not FileExists (destFile) then begin LoadStringFromFile (srcFile, srcContents); - + //installDir et version de php StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); - + SaveStringToFile(destFile,srcContents, False); end; - - - - + + + + //---------------------------------------------- // Create file index.php (always but archive if exists) //---------------------------------------------- - + destFile := pathWithSlashes+'/www/index.php'; srcFile := pathWithSlashes+'/www/index.php.install'; - + if not FileExists (destFile) then begin LoadStringFromFile (srcFile, srcContents); @@ -738,164 +738,164 @@ begin StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True); SaveStringToFile(destFile, srcContents, False); end; - - - - - + + + + + //---------------------------------------------- // Create file dolibarr parametres predefinis install web (if not exists) //---------------------------------------------- - + destFile := pathWithSlashes+'/www/dolibarr/htdocs/install/install.forced.php'; srcFile := pathWithSlashes+'/www/dolibarr/htdocs/install/install.forced.php.install'; - + if not FileExists (destFile) and FileExists (srcFile) then begin LoadStringFromFile (srcFile, srcContents); - + StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); - - SaveStringToFile(destFile,srcContents, False); - end; - - - - //---------------------------------------------- - // Create file install_services.bat (always) - //---------------------------------------------- - - destFile := pathWithSlashes+'/install_services.bat'; - srcFile := pathWithSlashes+'/install_services.bat.install'; - - if FileExists(srcFile) then - begin - LoadStringFromFile (srcFile, srcContents); - - //version de apache et mysql - StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); - StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); - StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); - StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); - StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); - - SaveStringToFile(destFile,srcContents, False); - end; - - - - //---------------------------------------------- - // Create file uninstall_services.bat (always) - //---------------------------------------------- - - destFile := pathWithSlashes+'/uninstall_services.bat'; - srcFile := pathWithSlashes+'/uninstall_services.bat.install'; - - if FileExists (srcFile) then - begin - LoadStringFromFile (srcFile, srcContents); - - //version de apache et mysql - StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); - StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); - StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); - - SaveStringToFile(destFile,srcContents, False); - end; - - - - //---------------------------------------------- - // Create file mysqlinitpassword.bat (always) - //---------------------------------------------- - - destFile := pathWithSlashes+'/mysqlinitpassword.bat'; - srcFile := pathWithSlashes+'/mysqlinitpassword.bat.install'; - - if FileExists (srcFile) then - begin - LoadStringFromFile (srcFile, srcContents); - - //version de apache et mysql - StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); - StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); - StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); - - SaveStringToFile(destFile,srcContents, False); - end; - - - //---------------------------------------------- - // Create file mysqltestinstall.bat (always) - //---------------------------------------------- - - destFile := pathWithSlashes+'/mysqltestinstall.bat'; - srcFile := pathWithSlashes+'/mysqltestinstall.bat.install'; - - if FileExists (srcFile) then - begin - LoadStringFromFile (srcFile, srcContents); - - //version de apache et mysql - StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); - StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); - StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); - StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); - - SaveStringToFile(destFile,srcContents, False); - end; - - - //---------------------------------------------- - // Create file startdoliwamp_manual_donotuse.bat (always) - //---------------------------------------------- - - destFile := pathWithSlashes+'/startdoliwamp_manual_donotuse.bat'; - srcFile := pathWithSlashes+'/startdoliwamp_manual_donotuse.bat.install'; - - if FileExists (srcFile) then - begin - LoadStringFromFile (srcFile, srcContents); - - //version de apache et mysql - StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); - StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); - StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); - StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); - - SaveStringToFile(destFile,srcContents, False); - end; - - - //---------------------------------------------- - // Create file builddemosslfiles.bat (always) - //---------------------------------------------- - - destFile := pathWithSlashes+'/builddemosslfiles.bat'; - srcFile := pathWithSlashes+'/builddemosslfiles.bat.install'; - - if FileExists (srcFile) then - begin - LoadStringFromFile (srcFile, srcContents); - - //version de apache et mysql - StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); - StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); - + SaveStringToFile(destFile,srcContents, False); end; - + + + //---------------------------------------------- + // Create file install_services.bat (always) + //---------------------------------------------- + + destFile := pathWithSlashes+'/install_services.bat'; + srcFile := pathWithSlashes+'/install_services.bat.install'; + + if FileExists(srcFile) then + begin + LoadStringFromFile (srcFile, srcContents); + + //version de apache et mysql + StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); + StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); + StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); + StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); + StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); + + SaveStringToFile(destFile,srcContents, False); + end; + + + + //---------------------------------------------- + // Create file uninstall_services.bat (always) + //---------------------------------------------- + + destFile := pathWithSlashes+'/uninstall_services.bat'; + srcFile := pathWithSlashes+'/uninstall_services.bat.install'; + + if FileExists (srcFile) then + begin + LoadStringFromFile (srcFile, srcContents); + + //version de apache et mysql + StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); + StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); + StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); + + SaveStringToFile(destFile,srcContents, False); + end; + + + + //---------------------------------------------- + // Create file mysqlinitpassword.bat (always) + //---------------------------------------------- + + destFile := pathWithSlashes+'/mysqlinitpassword.bat'; + srcFile := pathWithSlashes+'/mysqlinitpassword.bat.install'; + + if FileExists (srcFile) then + begin + LoadStringFromFile (srcFile, srcContents); + + //version de apache et mysql + StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); + StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); + StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); + + SaveStringToFile(destFile,srcContents, False); + end; + + + //---------------------------------------------- + // Create file mysqltestinstall.bat (always) + //---------------------------------------------- + + destFile := pathWithSlashes+'/mysqltestinstall.bat'; + srcFile := pathWithSlashes+'/mysqltestinstall.bat.install'; + + if FileExists (srcFile) then + begin + LoadStringFromFile (srcFile, srcContents); + + //version de apache et mysql + StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); + StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); + StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); + StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); + + SaveStringToFile(destFile,srcContents, False); + end; + + + //---------------------------------------------- + // Create file startdoliwamp_manual_donotuse.bat (always) + //---------------------------------------------- + + destFile := pathWithSlashes+'/startdoliwamp_manual_donotuse.bat'; + srcFile := pathWithSlashes+'/startdoliwamp_manual_donotuse.bat.install'; + + if FileExists (srcFile) then + begin + LoadStringFromFile (srcFile, srcContents); + + //version de apache et mysql + StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); + StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); + StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); + StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); + + SaveStringToFile(destFile,srcContents, False); + end; + + + //---------------------------------------------- + // Create file builddemosslfiles.bat (always) + //---------------------------------------------- + + destFile := pathWithSlashes+'/builddemosslfiles.bat'; + srcFile := pathWithSlashes+'/builddemosslfiles.bat.install'; + + if FileExists (srcFile) then + begin + LoadStringFromFile (srcFile, srcContents); + + //version de apache et mysql + StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); + StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); + + SaveStringToFile(destFile,srcContents, False); + end; + + //---------------------------------------------- // Create file php.ini in php (if not exists) //---------------------------------------------- - + destFile := pathWithSlashes+'/bin/php/php'+phpVersion+'/php.ini'; srcFile := pathWithSlashes+'/bin/php/php'+phpVersion+'/php.ini.install'; - + if not FileExists (destFile) and FileExists(srcFile) then begin LoadStringFromFile (srcFile, srcContents); @@ -904,14 +904,14 @@ begin StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True); SaveStringToFile(destFile,srcContents, False); end; - + //---------------------------------------------- // Create file php.ini in apache (if not exists) //---------------------------------------------- - + destFile := pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/php.ini'; srcFile := pathWithSlashes+'/bin/php/php'+phpVersion+'/php.ini.install'; - + if not FileExists (destFile) and FileExists(srcFile) then begin LoadStringFromFile (srcFile, srcContents); @@ -920,61 +920,61 @@ begin StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True); SaveStringToFile(destFile,srcContents, False); end; - - - + + + // Uninstall services batFile := path+'\uninstall_services.bat'; Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult); - + // Install services batFile := path+'\install_services.bat'; Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult); - + // Start services batFile := path+'\startdoliwamp.bat'; Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult); //MsgBox(myResult,mbInformation,MB_OK); - + // Change mysql password (works only if not yet defined) batFile := path+'\mysqlinitpassword.bat'; Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult); - + // Remove dangerous files batFile := path+'\removefiles.bat'; Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult); - + // Save parameters to registry RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'smtpServer', mysmtp); RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'apachePort', myporta); RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'apachePSSL', myportas); RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'mysqlPort', myport); RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'newPassword', mypass); - - + + res := True; - + end else begin - + // MsgBox('Apache and Mysql installation has been canceled. Please select parameters to start their installation.',mbInformation,MB_OK) res := False; - + end; - + end else begin - + //MsgBox('Selected values seems to be already used. Please choose other values.',mbInformation,MB_OK); - + res := False; end; - + end; diff --git a/build/exe/doliwamp/doliwampoff.ico b/dev/build/exe/doliwamp/doliwampoff.ico similarity index 100% rename from build/exe/doliwamp/doliwampoff.ico rename to dev/build/exe/doliwamp/doliwampoff.ico diff --git a/build/exe/doliwamp/doliwampon.ico b/dev/build/exe/doliwamp/doliwampon.ico similarity index 100% rename from build/exe/doliwamp/doliwampon.ico rename to dev/build/exe/doliwamp/doliwampon.ico diff --git a/build/exe/doliwamp/doliwampsmall.bmp b/dev/build/exe/doliwamp/doliwampsmall.bmp similarity index 100% rename from build/exe/doliwamp/doliwampsmall.bmp rename to dev/build/exe/doliwamp/doliwampsmall.bmp diff --git a/build/exe/doliwamp/httpd.conf.install b/dev/build/exe/doliwamp/httpd.conf.install similarity index 99% rename from build/exe/doliwamp/httpd.conf.install rename to dev/build/exe/doliwamp/httpd.conf.install index 6a65e0833f9..6a90f70212b 100644 --- a/build/exe/doliwamp/httpd.conf.install +++ b/dev/build/exe/doliwamp/httpd.conf.install @@ -584,7 +584,7 @@ AddType application/x-pkcs7-crl .crl #SSLPassPhraseDialog builtin # Inter-Process Session Cache: -# Configure the SSL Session Cache: First the mechanism +# Configure the SSL Session Cache: First the mechanism # to use and second the expiring timeout (in seconds). #SSLSessionCache "dbm:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_scache" #SSLSessionCache "shmcb:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_scache(512000)" @@ -592,7 +592,7 @@ AddType application/x-pkcs7-crl .crl # Semaphore: # Configure the path to the mutual exclusion semaphore the -# SSL engine uses internally for inter-process synchronization. +# SSL engine uses internally for inter-process synchronization. #SSLMutex "file:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_mutex" ## @@ -712,7 +712,7 @@ SSLCertificateKeyFile "WAMPROOT/myserver.key" # and no other module can change it. # o OptRenegotiate: # This enables optimized SSL connection renegotiation handling when SSL -# directives are used in per-directory context. +# directives are used in per-directory context. #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire # # SSLOptions +StdEnvVars @@ -738,7 +738,7 @@ SSLCertificateKeyFile "WAMPROOT/myserver.key" # alert of the client. This is 100% SSL/TLS standard compliant, but in # practice often causes hanging connections with brain-dead browsers. Use # this only for browsers where you know that their SSL implementation -# works correctly. +# works correctly. # Notice: Most problems of broken clients are also related to the HTTP # keep-alive facility, so you usually additionally want to disable # keep-alive for those clients, too. Use variable "nokeepalive" for this. @@ -749,8 +749,8 @@ SSLCertificateKeyFile "WAMPROOT/myserver.key" # nokeepalive ssl-unclean-shutdown \ # downgrade-1.0 force-response-1.0 - + -Include "${INSTALL_DIR}/alias/*.conf" \ No newline at end of file +Include "${INSTALL_DIR}/alias/*.conf" diff --git a/build/exe/doliwamp/index.php.install b/dev/build/exe/doliwamp/index.php.install similarity index 100% rename from build/exe/doliwamp/index.php.install rename to dev/build/exe/doliwamp/index.php.install diff --git a/build/exe/doliwamp/install.forced.php.install b/dev/build/exe/doliwamp/install.forced.php.install similarity index 99% rename from build/exe/doliwamp/install.forced.php.install rename to dev/build/exe/doliwamp/install.forced.php.install index 8947154a57b..8e86efa7654 100644 --- a/build/exe/doliwamp/install.forced.php.install +++ b/dev/build/exe/doliwamp/install.forced.php.install @@ -25,4 +25,4 @@ $force_install_lockinstall='644'; $force_install_distrib='doliwamp'; $force_install_module=''; -?> \ No newline at end of file +?> diff --git a/build/exe/doliwamp/install_services.bat.install b/dev/build/exe/doliwamp/install_services.bat.install similarity index 97% rename from build/exe/doliwamp/install_services.bat.install rename to dev/build/exe/doliwamp/install_services.bat.install index 981c8b18b70..39318b5e6c6 100644 --- a/build/exe/doliwamp/install_services.bat.install +++ b/dev/build/exe/doliwamp/install_services.bat.install @@ -6,7 +6,7 @@ REM -------------------------------------------------------- echo ---- Execute install_services.bat >> doliwamp.log 2>>&1 REM NET STOP doliwampapache -REM NET STOP doliwampmysqld +REM NET STOP doliwampmysqld cd "WAMPROOT" diff --git a/build/exe/doliwamp/my.ini.install b/dev/build/exe/doliwamp/my.ini.install similarity index 99% rename from build/exe/doliwamp/my.ini.install rename to dev/build/exe/doliwamp/my.ini.install index 4d2037d8e97..cfe94ec2748 100644 --- a/build/exe/doliwamp/my.ini.install +++ b/dev/build/exe/doliwamp/my.ini.install @@ -11,16 +11,16 @@ # (@localstatedir@ for this installation) or to # ~/.my.cnf to set user-specific options. # -# On Windows you should keep this file in the installation directory +# On Windows you should keep this file in the installation directory # of your server (e.g. C:\Program Files\MySQL\MySQL Server 4.1). To -# make sure the server reads the config file use the startup option -# "--defaults-file". +# make sure the server reads the config file use the startup option +# "--defaults-file". # -# To run run the server from the command line, execute this in a +# To run run the server from the command line, execute this in a # command line shell, e.g. # mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 4.1\my.ini" # -# To install the server as a Windows service manually, execute this in a +# To install the server as a Windows service manually, execute this in a # command line shell, e.g. # mysqld --install MySQL41 --defaults-file="C:\Program Files\MySQL\MySQL Server 4.1\my.ini" # @@ -57,7 +57,7 @@ port=WAMPMYSQLPORT # ---------------------------------------------------------------------- # # The following options will be read by the MySQL Server. Make sure that -# you have installed the server correctly (see above) so it reads this +# you have installed the server correctly (see above) so it reads this # file. # diff --git a/build/exe/doliwamp/mysqlinitpassword.bat.install b/dev/build/exe/doliwamp/mysqlinitpassword.bat.install similarity index 89% rename from build/exe/doliwamp/mysqlinitpassword.bat.install rename to dev/build/exe/doliwamp/mysqlinitpassword.bat.install index 4b9e9ac4173..70f07e76168 100644 --- a/build/exe/doliwamp/mysqlinitpassword.bat.install +++ b/dev/build/exe/doliwamp/mysqlinitpassword.bat.install @@ -3,11 +3,11 @@ REM ----------------------------------- REM This script initialize Mysql root password WHEN PASSWORD IS EMPTY. REM An error is returned IF PASSWORD IS ALREADY SET. REM ----------------------------------- -REM To change password, run following SQL command: +REM To change password, run following SQL command: REM GRANT ALL ON *.* TO login@localhost IDENTIFIED BY "newpassword" REM echo ---- Show content of script mysqlinitpassword before running it >> doliwamp.log 2>>&1 -REM type .\mysqlinitpassword.bat >> doliwamp.log 2>>&1 +REM type .\mysqlinitpassword.bat >> doliwamp.log 2>>&1 REM Wait the mysql init by first startup is ok REM sleep is not a windows command @@ -20,4 +20,3 @@ echo For an update, you will get an "Access denied" error, ignore this error. >> .\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysqladmin -v -w6 -P WAMPMYSQLPORT -u root password WAMPMYSQLNEWPASSWORD >> doliwamp.log 2>>&1 echo ---- End script >> doliwamp.log 2>>&1 - diff --git a/build/exe/doliwamp/mysqltestinstall.bat.install b/dev/build/exe/doliwamp/mysqltestinstall.bat.install similarity index 89% rename from build/exe/doliwamp/mysqltestinstall.bat.install rename to dev/build/exe/doliwamp/mysqltestinstall.bat.install index b718cf94ac8..2736506ded2 100644 --- a/build/exe/doliwamp/mysqltestinstall.bat.install +++ b/dev/build/exe/doliwamp/mysqltestinstall.bat.install @@ -2,7 +2,7 @@ REM ------------------------------------------------------------ REM Launch a test to connect to mysql REM ------------------------------------------------------------ -REM To change password, run following SQL command: +REM To change password, run following SQL command: REM GRANT ALL ON *.* TO login@localhost IDENTIFIED BY "newpassword" echo ----------------------------------------------------------- @@ -16,7 +16,7 @@ echo ------------------------------------------------------------ SET SAVES= -SET /P SAVES=Enter password to test: +SET /P SAVES=Enter password to test: echo Try to connect to mysql with this password .\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysql -P WAMPMYSQLPORT -u root -p%SAVES% diff --git a/build/exe/doliwamp/openssl.conf b/dev/build/exe/doliwamp/openssl.conf similarity index 98% rename from build/exe/doliwamp/openssl.conf rename to dev/build/exe/doliwamp/openssl.conf index c053b07c508..ff2d7562552 100644 --- a/build/exe/doliwamp/openssl.conf +++ b/dev/build/exe/doliwamp/openssl.conf @@ -48,7 +48,7 @@ string_mask = nombstr [ req_distinguished_name ] countryName = Country Name (2 letter code) -countryName_default = +countryName_default = countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) @@ -87,4 +87,3 @@ basicConstraints = CA:true [ crl_ext ] authorityKeyIdentifier = keyid:always,issuer:always - diff --git a/build/exe/doliwamp/php.ini.install b/dev/build/exe/doliwamp/php.ini.install similarity index 99% rename from build/exe/doliwamp/php.ini.install rename to dev/build/exe/doliwamp/php.ini.install index cae5269f52e..1a82b065aed 100644 --- a/build/exe/doliwamp/php.ini.install +++ b/dev/build/exe/doliwamp/php.ini.install @@ -44,7 +44,7 @@ ; If you use constants in your value, and these constants belong to a ; dynamically loaded extension (either a PHP extension or a Zend extension), ; you may only use these constants *after* the line that loads the extension. -; +; ; ;;;;;;;;;;;;;;;;;;; ; About this file ; @@ -361,11 +361,11 @@ error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT ; ; possible values for display_errors: ; -; Off - Do not display any errors -; stderr - Display errors to STDERR (affects only CGI/CLI binaries!) +; Off - Do not display any errors +; stderr - Display errors to STDERR (affects only CGI/CLI binaries!) ; On or stdout - Display errors to STDOUT (default) -; -; To output errors to STDERR with CGI/CLI: +; +; To output errors to STDERR with CGI/CLI: ;display_errors = "stderr" ; ; Default @@ -714,9 +714,9 @@ date.timezone = UTC ;PCRE library backtracking limit. ;pcre.backtrack_limit=100000 -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the ;stack size limit imposed by the Operating System). ;pcre.recursion_limit=100000 @@ -1047,7 +1047,7 @@ session.cookie_path = / session.cookie_domain = ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -session.cookie_httponly = +session.cookie_httponly = ; Handler used to serialize data. php is the standard serializer of PHP. session.serialize_handler = php @@ -1174,7 +1174,7 @@ mssql.secure_connection = Off ; FreeTDS defaults to 4096 ;mssql.max_procs = -1 -; Specify client character set. +; Specify client character set. ; If empty or not set the client charset from freetds.comf is used ; This is only used when compiled with FreeTDS ;mssql.charset = "ISO-8859-1" @@ -1300,7 +1300,7 @@ tidy.clean_output = Off soap.wsdl_cache_enabled=1 ; Sets the directory name where SOAP extension will put cache files. soap.wsdl_cache_dir="/tmp" -; (time to live) Sets the number of second while cached file will be used +; (time to live) Sets the number of second while cached file will be used ; instead of original one. soap.wsdl_cache_ttl=86400 diff --git a/build/exe/doliwamp/phpmyadmin.conf.install b/dev/build/exe/doliwamp/phpmyadmin.conf.install similarity index 93% rename from build/exe/doliwamp/phpmyadmin.conf.install rename to dev/build/exe/doliwamp/phpmyadmin.conf.install index 5f0e806d47b..33a55ec8651 100644 --- a/build/exe/doliwamp/phpmyadmin.conf.install +++ b/dev/build/exe/doliwamp/phpmyadmin.conf.install @@ -1,9 +1,9 @@ -Alias /phpmyadmin "WAMPROOT/apps/phpmyadminWAMPPHPMYADMINVERSION/" +Alias /phpmyadmin "WAMPROOT/apps/phpmyadminWAMPPHPMYADMINVERSION/" # NOTE FOR APACHE 2.2: # To grant access to dolibarr from outside set lines # -# Order Allow,Deny +# Order Allow,Deny # Allow from all # # instead of @@ -26,4 +26,4 @@ Alias /phpmyadmin "WAMPROOT/apps/phpmyadminWAMPPHPMYADMINVERSION/" Options Indexes FollowSymLinks MultiViews AllowOverride all Require local - \ No newline at end of file + diff --git a/build/exe/doliwamp/removefiles.bat b/dev/build/exe/doliwamp/removefiles.bat similarity index 97% rename from build/exe/doliwamp/removefiles.bat rename to dev/build/exe/doliwamp/removefiles.bat index f00e46be7b9..06d9a9f8fa0 100644 --- a/build/exe/doliwamp/removefiles.bat +++ b/dev/build/exe/doliwamp/removefiles.bat @@ -1,3 +1,2 @@ @echo off del /F .\mysqlinitpassword.bat - diff --git a/build/exe/doliwamp/rundoliadmin.bat.install b/dev/build/exe/doliwamp/rundoliadmin.bat.install similarity index 97% rename from build/exe/doliwamp/rundoliadmin.bat.install rename to dev/build/exe/doliwamp/rundoliadmin.bat.install index c5186c7d1e7..a52ec3005f1 100644 --- a/build/exe/doliwamp/rundoliadmin.bat.install +++ b/dev/build/exe/doliwamp/rundoliadmin.bat.install @@ -4,4 +4,4 @@ REM ---------------------------- REM Go to admin center page start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/ -REM FOR EDGE start microsoft-edge:"http://localhost:WAMPAPACHEPORT/" \ No newline at end of file +REM FOR EDGE start microsoft-edge:"http://localhost:WAMPAPACHEPORT/" diff --git a/build/exe/doliwamp/rundolihelp.bat.install b/dev/build/exe/doliwamp/rundolihelp.bat.install similarity index 92% rename from build/exe/doliwamp/rundolihelp.bat.install rename to dev/build/exe/doliwamp/rundolihelp.bat.install index c1c4a7c3d27..3275636d554 100644 --- a/build/exe/doliwamp/rundolihelp.bat.install +++ b/dev/build/exe/doliwamp/rundolihelp.bat.install @@ -5,4 +5,4 @@ REM --------------------------- REM Go to help center page echo Please wait... start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/support/ -REM FOR EDGE start microsoft-edge:"http://localhost:WAMPAPACHEPORT/dolibarr/support/" \ No newline at end of file +REM FOR EDGE start microsoft-edge:"http://localhost:WAMPAPACHEPORT/dolibarr/support/" diff --git a/build/exe/doliwamp/rundoliwamp.bat.install b/dev/build/exe/doliwamp/rundoliwamp.bat.install similarity index 100% rename from build/exe/doliwamp/rundoliwamp.bat.install rename to dev/build/exe/doliwamp/rundoliwamp.bat.install diff --git a/build/exe/doliwamp/startdoliwamp.bat b/dev/build/exe/doliwamp/startdoliwamp.bat similarity index 100% rename from build/exe/doliwamp/startdoliwamp.bat rename to dev/build/exe/doliwamp/startdoliwamp.bat diff --git a/build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install b/dev/build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install similarity index 98% rename from build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install rename to dev/build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install index 675cfd4750e..12d0503f157 100644 --- a/build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install +++ b/dev/build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install @@ -9,11 +9,11 @@ REM ----------------------------------------------------- echo Running Apache as user process (this process does not return so we use "start") start WAMPROOT\bin\apache\apacheWAMPAPACHEVERSION\bin\httpd.exe -f conf\httpd.conf -echo +echo echo Running Mysql as user process (this process does not return so we use "start") REM start WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --defaults-file=WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\my.ini --console REM start WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld.exe --defaults-file=WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\my.ini --console start WAMPROOT\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysqld.exe --defaults-file=WAMPROOT\bin\mariadb\mariadbWAMPMYSQLVERSION\my.ini --console -pause \ No newline at end of file +pause diff --git a/build/exe/doliwamp/stopdoliwamp.bat b/dev/build/exe/doliwamp/stopdoliwamp.bat similarity index 95% rename from build/exe/doliwamp/stopdoliwamp.bat rename to dev/build/exe/doliwamp/stopdoliwamp.bat index e7f8caefb77..4de82daa007 100644 --- a/build/exe/doliwamp/stopdoliwamp.bat +++ b/dev/build/exe/doliwamp/stopdoliwamp.bat @@ -8,7 +8,7 @@ echo ---- Execute stopdoliwamp.bat >> doliwamp.log 2>>&1 echo NET STOP doliwampapache >> doliwamp.log 2>>&1 NET STOP doliwampapache echo NET STOP doliwampmysqld >> doliwamp.log 2>>&1 -NET STOP doliwampmysqld +NET STOP doliwampmysqld echo Please wait... echo ---- End script >> doliwamp.log 2>>&1 diff --git a/build/exe/doliwamp/uninstall_services.bat.install b/dev/build/exe/doliwamp/uninstall_services.bat.install similarity index 96% rename from build/exe/doliwamp/uninstall_services.bat.install rename to dev/build/exe/doliwamp/uninstall_services.bat.install index a7329ab1b8f..1a9db9438e7 100644 --- a/build/exe/doliwamp/uninstall_services.bat.install +++ b/dev/build/exe/doliwamp/uninstall_services.bat.install @@ -9,7 +9,7 @@ echo ---- Execute uninstall_services.bat >> doliwamp.log 2>>&1 NET STOP doliwampapache .\bin\apache\apacheWAMPAPACHEVERSION\bin\httpd.exe -k uninstall -n doliwampapache -NET STOP doliwampmysqld +NET STOP doliwampmysqld REM Mysql 5.0- REM .\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --remove doliwampmysqld REM Mysql 5.1+ diff --git a/dev/build/flatpack/org.flatpak.Dolibarr.json b/dev/build/flatpack/org.flatpak.Dolibarr.json new file mode 100644 index 00000000000..effbff7a10a --- /dev/null +++ b/dev/build/flatpack/org.flatpak.Dolibarr.json @@ -0,0 +1 @@ +"Help wanted..." diff --git a/build/generate_filelist_xml.php b/dev/build/generate_filelist_xml.php similarity index 99% rename from build/generate_filelist_xml.php rename to dev/build/generate_filelist_xml.php index c97194efa18..13c07c7da19 100755 --- a/build/generate_filelist_xml.php +++ b/dev/build/generate_filelist_xml.php @@ -18,7 +18,7 @@ */ /** - * \file build/generate_filelist_xml.php + * \file dev/build/generate_filelist_xml.php * \ingroup dev * \brief This script create a xml checksum file */ diff --git a/build/gource/README.md b/dev/build/gource/README.md similarity index 75% rename from build/gource/README.md rename to dev/build/gource/README.md index 548d01ebccb..8356d788084 100644 --- a/build/gource/README.md +++ b/dev/build/gource/README.md @@ -1,10 +1,10 @@ # Command to run gource on Dolibarr git project. cd ~/git/dolibarr -gource -a 0.5 -c 4 -i 0 --max-files 0 --dir-name-depth 2 --max-file-lag 0.1 --max-user-speed 150 --user-friction 1 --user-scale 3 --file-filter svgs --file-filter _source --file-filter tests --file-show-filter htdocs --date-format "%d %b %Y" -logo doc/images/appicon_64.png --highlight-users --highlight-colour FFFF88 -s 0.5 -1280x720 -r 25 -title 'Dolibarr ERP CRM Genesis' --stop-at-end --filename-time 2 --user-image-dir build/gource/avatars --hide filenames +gource -a 0.5 -c 4 -i 0 --max-files 0 --dir-name-depth 2 --max-file-lag 0.1 --max-user-speed 150 --user-friction 1 --user-scale 3 --file-filter svgs --file-filter _source --file-filter tests --file-show-filter htdocs --date-format "%d %b %Y" -logo doc/images/appicon_64.png --highlight-users --highlight-colour FFFF88 -s 0.5 -1280x720 -r 25 -title 'Dolibarr ERP CRM Genesis' --stop-at-end --filename-time 2 --user-image-dir dev/build/gource/avatars --hide filenames # To build a mp4 video # Change -crf 1 to -crf 50 for max compression (best is 5) cd ~/git/dolibarr -gource -a 0.5 -c 4 -i 0 --max-files 0 --dir-name-depth 2 --max-file-lag 0.1 --max-user-speed 150 --user-friction 1 --user-scale 3 --file-filter svgs --file-filter _source --file-filter tests --file-show-filter htdocs --date-format "%d %b %Y" -logo doc/images/appicon_64.png --highlight-users --highlight-colour FFFF88 -s 0.4 -1280x720 -r 25 -title 'Dolibarr ERP CRM Genesis' --stop-at-end --filename-time 2 --user-image-dir build/gource/avatars --hide filenames -o - | ffmpeg -y -r 25 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset slow -pix_fmt yuv420p -crf 5 -threads 0 -bf 0 dolibarr_genesis.mp4 +gource -a 0.5 -c 4 -i 0 --max-files 0 --dir-name-depth 2 --max-file-lag 0.1 --max-user-speed 150 --user-friction 1 --user-scale 3 --file-filter svgs --file-filter _source --file-filter tests --file-show-filter htdocs --date-format "%d %b %Y" -logo doc/images/appicon_64.png --highlight-users --highlight-colour FFFF88 -s 0.4 -1280x720 -r 25 -title 'Dolibarr ERP CRM Genesis' --stop-at-end --filename-time 2 --user-image-dir dev/build/gource/avatars --hide filenames -o - | ffmpeg -y -r 25 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset slow -pix_fmt yuv420p -crf 5 -threads 0 -bf 0 dolibarr_genesis.mp4 diff --git a/build/gource/avatars/.gitignore b/dev/build/gource/avatars/.gitignore similarity index 100% rename from build/gource/avatars/.gitignore rename to dev/build/gource/avatars/.gitignore diff --git a/build/gource/avatars/README.md b/dev/build/gource/avatars/README.md similarity index 85% rename from build/gource/avatars/README.md rename to dev/build/gource/avatars/README.md index c0b3c6d79af..89aefaea466 100644 --- a/build/gource/avatars/README.md +++ b/dev/build/gource/avatars/README.md @@ -1 +1 @@ -Directory that will be filled with avatars images of developers for gource \ No newline at end of file +Directory that will be filled with avatars images of developers for gource diff --git a/build/gource/getavatars.pl b/dev/build/gource/getavatars.pl similarity index 96% rename from build/gource/getavatars.pl rename to dev/build/gource/getavatars.pl index 1f73da34e91..1f9b2ceffd5 100755 --- a/build/gource/getavatars.pl +++ b/dev/build/gource/getavatars.pl @@ -31,7 +31,7 @@ while() { #try and fetch image - my $grav_url = "http://www.gravatar.com/avatar/".md5_hex(lc $email)."?d=404&size=".$size; + my $grav_url = "http://www.gravatar.com/avatar/".md5_hex(lc $email)."?d=404&size=".$size; warn "fetching image for '$author' $email ($grav_url)...\n"; @@ -46,4 +46,3 @@ while() { } close GITLOG; - diff --git a/build/launchpad/README b/dev/build/launchpad/README similarity index 94% rename from build/launchpad/README rename to dev/build/launchpad/README index b1ebcd25678..7350c805a5a 100644 --- a/build/launchpad/README +++ b/dev/build/launchpad/README @@ -21,17 +21,17 @@ a package onto LaunchPad - Link project to official SCM server - Upload SSH public key onto account - Upload you GPG sign key -- Run from command line: +- Run from command line: bzr launchpad-login yourlogin bzr whoami "Your Name " bzr whoami - Edit file ~/.bashrc to add -DEBFULLNAME="" -DEBEMAIL="" +DEBFULLNAME="" +DEBEMAIL="" - Create a Bazaar directory mkdir bzr -If you want to build/test package locally: +If you want to build or test package locally: - Create a file ~/.pbuilderrc with content COMPONENTS="main universe multiverse restricted" - Create chroot ubuntu env @@ -40,15 +40,15 @@ If you want to build/test package locally: # Push/declare Dolibarr sources to Launchpad #---------------------------------- -- From Launchpad project (https://launchpad.net/dolibarr), register a series: +- From Launchpad project (https://launchpad.net/dolibarr), register a series: Call it 'trunk' or 'stable' Use branch (dev): https://launchpad.net/~eldy/dolibarr/develop https://launchpad.net/~eldy/dolibarr/stable - or + or Use URL pattern (stable): For stable: http://www.dolibarr.org/files/lastbuild/package_debian-ubuntu/dolibarr_x.z.*.tar.gz - + - For Dev, you can also add link series to GIT HEAD. - For stable, you can init from command line cd bzr/dolibarr-stable @@ -131,7 +131,7 @@ List of recipes created https://code.launchpad.net/~eldy/+recipe/dolibarr-dev https://code.launchpad.net/~eldy/+recipe/dolibarr-stable - + # To get/download package from PPA: #---------------------------------- @@ -140,17 +140,15 @@ https://code.launchpad.net/~eldy/+recipe/dolibarr-stable > sudo apt-key add ~/.gnupg/pubring.gpg - Add Dolibarr Launchpad repository to your system setup by adding the two lines to /etc/apt/sources.list -For the development snapshot version: -deb http://ppa.launchpad.net/yourlogin/dolibarr-dev/ubuntu precise main -deb-src http://ppa.launchpad.net/yourlogin/dolibarr-dev/ubuntu precise main +For the development snapshot version: +deb http://ppa.launchpad.net/yourlogin/dolibarr-dev/ubuntu precise main +deb-src http://ppa.launchpad.net/yourlogin/dolibarr-dev/ubuntu precise main For the stable version: -deb http://ppa.launchpad.net/yourlogin/dolibarr-stable/ubuntu precise main -deb-src http://ppa.launchpad.net/yourlogin/dolibarr-stable/ubuntu precise main +deb http://ppa.launchpad.net/yourlogin/dolibarr-stable/ubuntu precise main +deb-src http://ppa.launchpad.net/yourlogin/dolibarr-stable/ubuntu precise main - Update your package cache: > apt-get update -- Install Dolibarr: +- Install Dolibarr: > apt-get install dolibarr - - diff --git a/build/makepack-dolibarr.pl b/dev/build/makepack-dolibarr.pl similarity index 85% rename from build/makepack-dolibarr.pl rename to dev/build/makepack-dolibarr.pl index 9370d504627..0e0f9412596 100755 --- a/build/makepack-dolibarr.pl +++ b/dev/build/makepack-dolibarr.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl #---------------------------------------------------------------------------- -# \file build/makepack-dolibarr.pl +# \file dev/build/makepack-dolibarr.pl # \brief Dolibarr package builder (tgz, zip, rpm, deb, exe, aps) # \author (c)2004-2023 Laurent Destailleur # @@ -36,7 +36,7 @@ $PUBLISHBETARC="dolibarr\@vmprod1.dolibarr.org:/home/dolibarr/asso.dolibarr.org/ "RPM_FEDORA"=>"rpmbuild", "RPM_MANDRIVA"=>"rpmbuild", "RPM_OPENSUSE"=>"rpmbuild", -"DEB"=>"dpkg dpatch", +"DEB"=>"dpkg", "FLATPACK"=>"flatpack", "EXEDOLIWAMP"=>"ISCC.exe", "SNAPSHOT"=>"tar" @@ -63,7 +63,7 @@ $VERSION="4.0"; ($DIR=$0) =~ s/([^\/\\]+)$//; ($PROG=$1) =~ s/\.([^\.]*)$//; $Extension=$1; $DIR||='.'; $DIR =~ s/([^\/\\])[\\\/]+$/$1/; -$SOURCE="$DIR/.."; +$SOURCE="$DIR/../.."; $DESTI="$SOURCE/build"; if ($SOURCE !~ /^\// && $SOURCE !~ /^[a-z]:/i) { @@ -410,8 +410,8 @@ if ($nboftargetok) { exit; } - print 'Create xml check file with md5 checksum with command php '.$SOURCE.'/build/generate_filelist_xml.php release='.$MAJOR.'.'.$MINOR.'.'.$BUILD."\n"; - $ret=`php $SOURCE/build/generate_filelist_xml.php release=$MAJOR.$MINOR.$BUILD`; + print 'Create xml check file with md5 checksum with command php '.$SOURCE.'/dev/build/generate_filelist_xml.php release='.$MAJOR.'.'.$MINOR.'.'.$BUILD."\n"; + $ret=`php $SOURCE/dev/build/generate_filelist_xml.php release=$MAJOR.$MINOR.$BUILD`; print $ret."\n"; # Copy to final dir $NEWDESTI=$DESTI; @@ -468,8 +468,8 @@ if ($nboftargetok) { print "Copy $SOURCE into $BUILDROOT/$PROJECT\n"; $ret=`cp -pr "$SOURCE" "$BUILDROOT/$PROJECT"`; - #print "Copy $SOURCE/build/debian/apache/.htaccess into $BUILDROOT/$PROJECT/build/debian/apache/.htaccess\n"; - #$ret=`cp -pr "$SOURCE/build/debian/apache/.htaccess" "$BUILDROOT/$PROJECT/build/debian/apache/.htaccess"`; + #print "Copy $SOURCE/dev/build/debian/apache/.htaccess into $BUILDROOT/$PROJECT/dev/build/debian/apache/.htaccess\n"; + #$ret=`cp -pr "$SOURCE/dev/build/debian/apache/.htaccess" "$BUILDROOT/$PROJECT/dev/build/debian/apache/.htaccess"`; } print "Clean $BUILDROOT\n"; $ret=`rm -f $BUILDROOT/$PROJECT/.buildpath`; @@ -492,22 +492,22 @@ if ($nboftargetok) { $ret=`rm -f $BUILDROOT/$PROJECT/pom.xml`; $ret=`rm -f $BUILDROOT/$PROJECT/README-*.md`; - $ret=`rm -fr $BUILDROOT/$PROJECT/build/html`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/Doli*-*`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.deb`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.dsc`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.tar.gz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.tar.xz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.deb`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.rpm`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tar`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tar.gz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tar.xz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tgz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.xz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.zip`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/doxygen/doxygen_warnings.log`; - $ret=`rm -fr $BUILDROOT/$PROJECT/build/phpstan/phpstan`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/build/html`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/Doli*-*`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr_*.deb`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr_*.dsc`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr_*.tar.gz`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr_*.tar.xz`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr-*.deb`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr-*.rpm`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr-*.tar`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr-*.tar.gz`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr-*.tar.xz`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr-*.tgz`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr-*.xz`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/dolibarr-*.zip`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/build/doxygen/doxygen_warnings.log`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/build/phpstan/phpstan`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/cache.manifest`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php.mysql`; @@ -702,11 +702,11 @@ if ($nboftargetok) { $cmd="cp -pr \"$BUILDROOT/$PROJECT/\" \"$BUILDROOT/$FILENAMETGZ\""; $ret=`$cmd`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ/build/exe`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ/dev/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ/htdocs/includes/ckeditor/_source`; # We can't remove it with exclude file, we need it for some tarball packages print "Compress $FILENAMETGZ into $FILENAMETGZ.tgz...\n"; - $cmd="tar --exclude-vcs --exclude-from \"$BUILDROOT/$PROJECT/build/tgz/tar_exclude.txt\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMETGZ.tgz\" $FILENAMETGZ"; + $cmd="tar --exclude-vcs --exclude-from \"$BUILDROOT/$PROJECT/dev/build/tgz/tar_exclude.txt\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMETGZ.tgz\" $FILENAMETGZ"; print "$cmd\n"; $ret=`$cmd`; @@ -734,7 +734,7 @@ if ($nboftargetok) { $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMEXZ\""; $ret=`$cmd`; - $ret=`rm -fr $BUILDROOT/$FILENAMEXZ/build/exe`; + $ret=`rm -fr $BUILDROOT/$FILENAMEXZ/dev/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMEXZ/htdocs/includes/ckeditor/_source`; # We can't remove it with exclude file, we need it for some tarball packages print "Compress $FILENAMEXZ into $FILENAMEXZ.xz...\n"; @@ -771,7 +771,7 @@ if ($nboftargetok) { $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMEZIP\""; $ret=`$cmd`; - $ret=`rm -fr $BUILDROOT/$FILENAMEZIP/build/exe`; + $ret=`rm -fr $BUILDROOT/$FILENAMEZIP/dev/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMEZIP/htdocs/includes/ckeditor/_source`; # We can't remove it with exclude file, we need it for some tarball packages print "Compress $FILENAMEZIP into $FILENAMEZIP.zip...\n"; @@ -779,7 +779,7 @@ if ($nboftargetok) { print "Go to directory $BUILDROOT\n"; $olddir=getcwd(); chdir("$BUILDROOT"); - $cmd= "7z a -r -tzip -xr\@\"$BUILDROOT\/$FILENAMEZIP\/build\/zip\/zip_exclude.txt\" -mx $BUILDROOT/$FILENAMEZIP.zip $FILENAMEZIP\/*"; + $cmd= "7z a -r -tzip -xr\@\"$BUILDROOT\/$FILENAMEZIP\/dev\/build\/zip\/zip_exclude.txt\" -mx $BUILDROOT/$FILENAMEZIP.zip $FILENAMEZIP\/*"; print $cmd."\n"; $ret= `$cmd`; chdir("$olddir"); @@ -829,7 +829,7 @@ if ($nboftargetok) { # Build tgz print "Compress $FILENAMETGZ2 into $FILENAMETGZ2.tgz...\n"; - $ret=`tar --exclude-from "$SOURCE/build/tgz/tar_exclude.txt" --directory "$BUILDROOT" -czvf "$BUILDROOT/$FILENAMETGZ2.tgz" $FILENAMETGZ2`; + $ret=`tar --exclude-from "$SOURCE/dev/build/tgz/tar_exclude.txt" --directory "$BUILDROOT" -czvf "$BUILDROOT/$FILENAMETGZ2.tgz" $FILENAMETGZ2`; print "Move $BUILDROOT/$FILENAMETGZ2.tgz to $RPMDIR/SOURCES/$FILENAMETGZ2.tgz\n"; $cmd="mv $BUILDROOT/$FILENAMETGZ2.tgz $RPMDIR/SOURCES/$FILENAMETGZ2.tgz"; @@ -846,8 +846,8 @@ if ($nboftargetok) { $datestring = $lang->time2str("%a %b %e %Y", time); $changelogstring="* ".$datestring." Laurent Destailleur (eldy) $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n- Upstream release\n"; - print "Generate file $BUILDROOT/$BUILDFIC from $SOURCE/build/rpm/${BUILDFICSRC}\n"; - open (SPECFROM,"<$SOURCE/build/rpm/${BUILDFICSRC}") || die "Error"; + print "Generate file $BUILDROOT/$BUILDFIC from $SOURCE/dev/build/rpm/${BUILDFICSRC}\n"; + open (SPECFROM,"<$SOURCE/dev/build/rpm/${BUILDFICSRC}") || die "Error"; open (SPECTO,">$BUILDROOT/$BUILDFIC") || die "Error"; while () { $_ =~ s/__FILENAMETGZ__/$FILENAMETGZ/; @@ -860,7 +860,7 @@ if ($nboftargetok) { close SPECTO; print "Copy patch file to $RPMDIR/SOURCES\n"; - $ret=`cp "$SOURCE/build/rpm/dolibarr-forrpm.patch" "$RPMDIR/SOURCES"`; + $ret=`cp "$SOURCE/dev/build/rpm/dolibarr-forrpm.patch" "$RPMDIR/SOURCES"`; $ret=`chmod 644 $RPMDIR/SOURCES/dolibarr-forrpm.patch`; print "Launch RPM build (rpmbuild --clean -ba $BUILDROOT/${BUILDFIC})\n"; @@ -917,40 +917,40 @@ if ($nboftargetok) { print "Remove other files\n"; $ret=`rm -f $BUILDROOT/$PROJECT.tmp/README-FR.md`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README-FR`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/aps`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/dmg`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/pad/README`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/tgz/README`; - #$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/debian`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/debian/po`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/debian/source`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/changelog`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/compat`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/control*`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/copyright`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.config`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.desktop`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.docs`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.install`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.lintian-overrides`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.postrm`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.postinst`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.templates`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.templates.futur`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/rules`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/README.Debian`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/README.howto`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/watch`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/doap`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/exe`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/launchpad`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/live`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/patch`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/perl`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/rpm`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/zip`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/README`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/README-FR`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/aps`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/dmg`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/pad/README`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/tgz/README`; + #$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/debian`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/debian/po`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/debian/source`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/changelog`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/compat`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/control*`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/copyright`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/dolibarr.config`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/dolibarr.desktop`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/dolibarr.docs`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/dolibarr.install`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/dolibarr.lintian-overrides`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/dolibarr.postrm`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/dolibarr.postinst`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/dolibarr.templates`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/dolibarr.templates.futur`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/rules`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/README.Debian`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/README.howto`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/dev/build/debian/watch`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/doap`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/exe`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/launchpad`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/live`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/patch`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/perl`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/rpm`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/dev/build/zip`; # Removed duplicate license files $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/ckeditor/_source/LICENSE.md`; $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/LICENSE.md`; @@ -978,10 +978,10 @@ if ($nboftargetok) { # Prepare source package (init debian dir) print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n"; $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`; - print "Copy $SOURCE/build/debian/xxx to $BUILDROOT/$PROJECT.tmp/debian\n"; + print "Copy $SOURCE/dev/build/debian/xxx to $BUILDROOT/$PROJECT.tmp/debian\n"; # Add files for dpkg-source (changelog) - #$ret=`cp -f "$SOURCE/build/debian/changelog" "$BUILDROOT/$PROJECT.tmp/debian"`; - open (SPECFROM,"<$SOURCE/build/debian/changelog") || die "Error"; + #$ret=`cp -f "$SOURCE/dev/build/debian/changelog" "$BUILDROOT/$PROJECT.tmp/debian"`; + open (SPECFROM,"<$SOURCE/dev/build/debian/changelog") || die "Error"; open (SPECTO,">$BUILDROOT/$PROJECT.tmp/debian/changelog") || die "Error"; while () { $_ =~ s/__VERSION__/$MAJOR.$MINOR.$newbuild/; @@ -990,28 +990,28 @@ if ($nboftargetok) { close SPECFROM; close SPECTO; # Add files for dpkg-source - $ret=`cp -f "$SOURCE/build/debian/compat" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/control" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/copyright" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.desktop" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.docs" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.install" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.lintian-overrides" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.xpm" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/rules" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/watch" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -fr "$SOURCE/build/debian/patches" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -fr "$SOURCE/build/debian/po" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -fr "$SOURCE/build/debian/source" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -fr "$SOURCE/build/debian/apache" "$BUILDROOT/$PROJECT.tmp/debian/apache"`; - $ret=`cp -f "$SOURCE/build/debian/apache/.htaccess" "$BUILDROOT/$PROJECT.tmp/debian/apache"`; - $ret=`cp -fr "$SOURCE/build/debian/lighttpd" "$BUILDROOT/$PROJECT.tmp/debian/lighttpd"`; - # Add files also required to build binary package - $ret=`cp -f "$SOURCE/build/debian/dolibarr.config" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.postinst" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.postrm" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.templates" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/install.forced.php.install" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/compat" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/control" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/copyright" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/dolibarr.desktop" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/dolibarr.docs" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/dolibarr.install" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/dolibarr.lintian-overrides" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/dolibarr.xpm" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/rules" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/watch" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -fr "$SOURCE/dev/build/debian/patches" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -fr "$SOURCE/dev/build/debian/po" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -fr "$SOURCE/dev/build/debian/source" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -fr "$SOURCE/dev/build/debian/apache" "$BUILDROOT/$PROJECT.tmp/debian/apache"`; + $ret=`cp -f "$SOURCE/dev/build/debian/apache/.htaccess" "$BUILDROOT/$PROJECT.tmp/debian/apache"`; + $ret=`cp -fr "$SOURCE/dev/build/debian/lighttpd" "$BUILDROOT/$PROJECT.tmp/debian/lighttpd"`; + # Add files also required to dev/build binary package + $ret=`cp -f "$SOURCE/dev/build/debian/dolibarr.config" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/dolibarr.postinst" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/dolibarr.postrm" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/dolibarr.templates" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/dev/build/debian/install.forced.php.install" "$BUILDROOT/$PROJECT.tmp/debian"`; # Set owners and permissions #print "Set owners on files/dir\n"; @@ -1055,7 +1055,7 @@ if ($nboftargetok) { # We need a tarball to be able to build "quilt" debian package (not required for native but we need patch so it is not a native) print "Compress $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build into $BUILDROOT/$FILENAMEDEBNATIVE.orig.tar.gz...\n"; - $cmd="tar --exclude-vcs --exclude-from \"$BUILDROOT/$PROJECT/build/tgz/tar_exclude.txt\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMEDEBNATIVE.orig.tar.gz\" $PROJECT-$MAJOR.$MINOR.$build"; + $cmd="tar --exclude-vcs --exclude-from \"$BUILDROOT/$PROJECT/dev/build/tgz/tar_exclude.txt\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMEDEBNATIVE.orig.tar.gz\" $PROJECT-$MAJOR.$MINOR.$build"; print $cmd."\n"; $ret=`$cmd`; @@ -1105,11 +1105,11 @@ if ($nboftargetok) { $SOURCEBACK=$SOURCE; $SOURCEBACK =~ s/\//\\/g; - print "Prepare file \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\" from \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.iss\"\n"; + print "Prepare file \"$SOURCEBACK\\dev\\build\\exe\\doliwamp\\doliwamp.tmp.iss\" from \"$SOURCEBACK\\dev\\build\\exe\\doliwamp\\doliwamp.iss\"\n"; - #$ret=`cat "$SOURCE/build/exe/doliwamp/doliwamp.iss" | sed -e 's/__FILENAMEEXEDOLIWAMP__/$FILENAMEEXEDOLIWAMP/g' > "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`; - open(IN, '<' . $SOURCE."/build/exe/doliwamp/doliwamp.iss") or die $!; - open(OUT, '>' . "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss") or die $!; + #$ret=`cat "$SOURCE/dev/build/exe/doliwamp/doliwamp.iss" | sed -e 's/__FILENAMEEXEDOLIWAMP__/$FILENAMEEXEDOLIWAMP/g' > "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`; + open(IN, '<' . $SOURCE."/dev/build/exe/doliwamp/doliwamp.iss") or die $!; + open(OUT, '>' . "$SOURCE/dev/build/exe/doliwamp/doliwamp.tmp.iss") or die $!; while() { $_ =~ s/__FILENAMEEXEDOLIWAMP__/$FILENAMEEXEDOLIWAMP/g; @@ -1118,30 +1118,30 @@ if ($nboftargetok) { close(IN); close(OUT); - print "Compil exe $FILENAMEEXEDOLIWAMP.exe file from iss file \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\" on OS $OS\n"; + print "Compil exe $FILENAMEEXEDOLIWAMP.exe file from iss file \"$SOURCEBACK\\dev\\build\\exe\\doliwamp\\doliwamp.tmp.iss\" on OS $OS\n"; if ($OS eq 'windows') { - $cmd= "ISCC.exe \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\""; + $cmd= "ISCC.exe \"$SOURCEBACK\\dev\\build\\exe\\doliwamp\\doliwamp.tmp.iss\""; } else { - #$cmd= "wine ISCC.exe \"Z:$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\""; + #$cmd= "wine ISCC.exe \"Z:$SOURCEBACK\\dev\\build\\exe\\doliwamp\\doliwamp.tmp.iss\""; } print "$cmd\n"; $ret= `$cmd`; print "ret=$ret\n"; # Move to final dir - print "Move \"$SOURCE\\build\\$FILENAMEEXEDOLIWAMP.exe\" to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n"; - rename("$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe","$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"); - print "Move $SOURCE/build/$FILENAMEEXEDOLIWAMP.exe to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n"; + print "Move \"$SOURCE\\dev\\build\\$FILENAMEEXEDOLIWAMP.exe\" to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n"; + rename("$SOURCE/dev/build/$FILENAMEEXEDOLIWAMP.exe","$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"); + print "Move $SOURCE/dev/build/$FILENAMEEXEDOLIWAMP.exe to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n"; use File::Copy; - #$ret=`mv "$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe" "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"`; - $ret=move("$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe", "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"); + #$ret=`mv "$SOURCE/dev/build/$FILENAMEEXEDOLIWAMP.exe" "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"`; + $ret=move("$SOURCE/dev/build/$FILENAMEEXEDOLIWAMP.exe", "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"); - print "Remove tmp file $SOURCE/build/exe/doliwamp/doliwamp.tmp.iss\n"; - #$ret=`rm "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`; - $ret=unlink("$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"); + print "Remove tmp file $SOURCE/dev/build/exe/doliwamp/doliwamp.tmp.iss\n"; + #$ret=`rm "$SOURCE/dev/build/exe/doliwamp/doliwamp.tmp.iss"`; + $ret=unlink("$SOURCE/dev/build/exe/doliwamp/doliwamp.tmp.iss"); next; } diff --git a/build/makepack-dolibarrmodule.conf b/dev/build/makepack-dolibarrmodule.conf similarity index 93% rename from build/makepack-dolibarrmodule.conf rename to dev/build/makepack-dolibarrmodule.conf index 33cd433ea98..caa17a9f851 100644 --- a/build/makepack-dolibarrmodule.conf +++ b/dev/build/makepack-dolibarrmodule.conf @@ -13,4 +13,4 @@ htdocs/mymodule/core/triggers/interface_mymodule.class.php htdocs/mymodule/page1.php htdocs/mymodule/page2.php htdocs/mymodule/sql/script1.sql -htdocs/mymodule/sql/script2.sql \ No newline at end of file +htdocs/mymodule/sql/script2.sql diff --git a/build/makepack-dolibarrmodule.pl b/dev/build/makepack-dolibarrmodule.pl similarity index 94% rename from build/makepack-dolibarrmodule.pl rename to dev/build/makepack-dolibarrmodule.pl index 8fbb28dc35f..bc0022a67fc 100755 --- a/build/makepack-dolibarrmodule.pl +++ b/dev/build/makepack-dolibarrmodule.pl @@ -7,6 +7,8 @@ #---------------------------------------------------------------------------- use Cwd; +use Term::ANSIColor; + $OWNER="ldestailleur"; $GROUP="ldestailleur"; @@ -63,7 +65,7 @@ if (! $TEMP || ! -d $TEMP) { print "$PROG.$Extension aborted.\n"; sleep 2; exit 2; -} +} $BUILDROOT="$TEMP/dolibarr-buildroot"; @@ -74,11 +76,11 @@ for (0..@ARGV-1) { if ($ARGV[$_] =~ /^-*target=(\w+)/i) { $target=$1; $batch=1; } if ($ARGV[$_] =~ /^-*desti=(.+)/i) { $DESTI=$1; } if ($ARGV[$_] =~ /^-*prefix=(.+)/i) { - $PREFIX=$1; - $FILENAMESNAPSHOT.="-".$PREFIX; + $PREFIX=$1; + $FILENAMESNAPSHOT.="-".$PREFIX; } } -$SOURCE="$DIR/.."; +$SOURCE="$DIR/../.."; $DESTI="$SOURCE/build"; if ($ENV{"DESTIMODULES"}) { $DESTI = $ENV{"DESTIMODULES"}; } # Force output dir if env DESTIMODULES is defined $NEWDESTI=$DESTI; @@ -105,7 +107,7 @@ if ($PROJECTINPUT eq "all") closedir(DIR); foreach my $xxx (0..@rv-1) { if ($rv[$xxx] =~ /^makepack\-(.*)\.conf$/) - { + { @PROJECTLIST[$xxx]=$1; } } @@ -118,9 +120,9 @@ else # Loop on each projects foreach my $PROJECT (@PROJECTLIST) { - + $PROJECTLC=lc($PROJECT); - + if (! -f "makepack-".$PROJECT.".conf") { print "Error: can't open conf file makepack-".$PROJECT.".conf\n"; @@ -131,15 +133,15 @@ foreach my $PROJECT (@PROJECTLIST) { sleep 2; exit 2; } - + # Get version $MAJOR, $MINOR and $BUILD print "Version detected for module ".$PROJECT.": "; $result=open(IN,"<".$SOURCE."/htdocs/".$PROJECTLC."/core/modules/mod".$PROJECT.".class.php"); $custom=false; - if (! $result) { + if (! $result) { $result=open(IN,"<".$SOURCE."/htdocs/custom/".$PROJECTLC."/core/modules/mod".$PROJECT.".class.php"); if (! $result) { - die "Error: Can't open descriptor file ".$SOURCE."/htdocs/(or /htdocs/custom/)".$PROJECTLC."/core/modules/mod".$PROJECT.".class.php for reading.\n"; + die "Error: Can't open descriptor file ".$SOURCE."/htdocs/(or /htdocs/custom/)".$PROJECTLC."/core/modules/mod".$PROJECT.".class.php for reading.\n"; }else{ $custom = true; } @@ -158,7 +160,7 @@ foreach my $PROJECT (@PROJECTLIST) { $MINOR=; chomp($MINOR); } - + $FILENAME="$PROJECTLC"; $FILENAMETGZ="module_$PROJECTLC-$MAJOR.$MINOR".($BUILD ne ''?".$BUILD":""); $FILENAMEZIP="module_$PROJECTLC-$MAJOR.$MINOR".($BUILD ne ''?".$BUILD":""); @@ -170,29 +172,29 @@ foreach my $PROJECT (@PROJECTLIST) { # mandrake $RPMDIR="/usr/src/RPM"; } - - + + # Choose package targets #----------------------- $target="ZIP"; # Dolibarr modules are this format $CHOOSEDTARGET{uc($target)}=1; - - + + # Test if requirement is ok #-------------------------- foreach my $target (keys %CHOOSEDTARGET) { foreach my $req (split(/[,\s]/,$REQUIREMENTTARGET{$target})) { - # Test + # Test print "Test requirement for target $target: Search '$req'... "; $ret=`"$req" 2>&1`; $coderetour=$?; $coderetour2=$coderetour>>8; - if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/)) && $PROGPATH) { + if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/)) && $PROGPATH) { # Not found error, we try in PROGPATH $ret=`"$PROGPATH/$ALTERNATEPATH{$req}/$req\" 2>&1`; $coderetour=$?; $coderetour2=$coderetour>>8; $REQUIREMENTTARGET{$target}="$PROGPATH/$ALTERNATEPATH{$req}/$req"; - } - + } + if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/))) { # Not found error print "Not found\nCan't build target $target. Requirement '$req' not found in PATH\n"; @@ -204,9 +206,9 @@ foreach my $PROJECT (@PROJECTLIST) { } } } - + print "\n"; - + # Check if there is at least on target to build #---------------------------------------------- $nboftargetok=0; @@ -214,7 +216,7 @@ foreach my $PROJECT (@PROJECTLIST) { $nboftargetneedcvs=0; foreach my $target (keys %CHOOSEDTARGET) { if ($CHOOSEDTARGET{$target} < 0) { next; } - if ($target ne 'EXE' && $target ne 'EXEDOLIWAMP') + if ($target ne 'EXE' && $target ne 'EXEDOLIWAMP') { $nboftargetneedbuildroot++; } @@ -224,9 +226,9 @@ foreach my $PROJECT (@PROJECTLIST) { } $nboftargetok++; } - + if ($nboftargetok) { - + # Update CVS if required #----------------------- if ($nboftargetneedcvs) @@ -238,7 +240,7 @@ foreach my $PROJECT (@PROJECTLIST) { $ret=`cvs update -P -d 2>&1`; chdir("$olddir"); } - + # Update buildroot if required #----------------------------- if ($nboftargetneedbuildroot) @@ -246,18 +248,18 @@ foreach my $PROJECT (@PROJECTLIST) { if (! $copyalreadydone) { print "Delete directory $BUILDROOT\n"; $ret=`rm -fr "$BUILDROOT"`; - + mkdir "$BUILDROOT"; mkdir "$BUILDROOT/$PROJECTLC"; - + $result=open(IN,") { $entry=$_; - + if ($entry =~ /^#/) { next; } # Do not process comments - + $entry =~ s/\n//; if ($entry =~ /^!(.*)$/) # Exclude so remove file/dir @@ -265,9 +267,9 @@ foreach my $PROJECT (@PROJECTLIST) { print "Remove $BUILDROOT/$PROJECTLC/$1\n"; $ret=`rm -fr "$BUILDROOT/$PROJECTLC/"$1`; if ($? != 0) { die "Failed to delete a file to exclude declared into makepack-".$PROJECT.".conf file (Fails on line ".$entry.")\n"; } - next; + next; } - + $entry =~ /^(.*)\/[^\/]+/; print "Create directory $BUILDROOT/$PROJECTLC/$1\n"; $ret=`mkdir -p "$BUILDROOT/$PROJECTLC/$1"`; @@ -275,18 +277,18 @@ foreach my $PROJECT (@PROJECTLIST) { { print "Copy $SOURCE/$entry into $BUILDROOT/$PROJECTLC/$entry\n"; $ret=`cp -pr "$SOURCE/$entry" "$BUILDROOT/$PROJECTLC/$entry"`; - if ($? != 0) { die "Failed to make copy of a file declared into makepack-".$PROJECT.".conf file (Fails on line ".$entry.")\n"; } + if ($? != 0) { die "Failed to make copy of a file declared into makepack-".$PROJECT.".conf file (Fails on line ".$entry.")\n"; } } - - } + + } close IN; - + @timearray=localtime(time()); $fulldate=($timearray[5]+1900).'-'.($timearray[4]+1).'-'.$timearray[3].' '.$timearray[2].':'.$timearray[1]; - open(VF,">$BUILDROOT/$PROJECTLC/build/version-".$PROJECTLC.".txt"); - - print "Create version file $BUILDROOT/$PROJECTLC/build/version-".$PROJECTLC.".txt with date ".$fulldate."\n"; - $ret=`mkdir -p "$BUILDROOT/$PROJECTLC/build"`; + open(VF,">$BUILDROOT/$PROJECTLC/dev/build/version-".$PROJECTLC.".txt"); + + print "Create version file $BUILDROOT/$PROJECTLC/dev/build/version-".$PROJECTLC.".txt with date ".$fulldate."\n"; + $ret=`mkdir -p "$BUILDROOT/$PROJECTLC/dev/build"`; print VF "Version: ".$MAJOR.".".$MINOR.($BUILD ne ''?".$BUILD":"")."\n"; print VF "Build : ".$fulldate."\n"; close VF; @@ -297,7 +299,7 @@ foreach my $PROJECT (@PROJECTLIST) { $ret=`rm -fr $BUILDROOT/$PROJECTLC/.project`; $ret=`rm -fr $BUILDROOT/$PROJECTLC/.settings`; $ret=`rm -fr $BUILDROOT/$PROJECTLC/index.php`; - $ret=`rm -fr $BUILDROOT/$PROJECTLC/build/html`; + $ret=`rm -fr $BUILDROOT/$PROJECTLC/dev/build/html`; $ret=`rm -fr $BUILDROOT/$PROJECTLC/documents`; $ret=`rm -fr $BUILDROOT/$PROJECTLC/document`; $ret=`rm -fr $BUILDROOT/$PROJECTLC/htdocs/conf/conf.php.mysql`; @@ -312,18 +314,18 @@ foreach my $PROJECT (@PROJECTLIST) { $ret=`rm -fr $BUILDROOT/$PROJECTLC/test`; $ret=`rm -fr $BUILDROOT/$PROJECTLC/Thumbs.db $BUILDROOT/$PROJECTLC/*/Thumbs.db $BUILDROOT/$PROJECTLC/*/*/Thumbs.db $BUILDROOT/$PROJECTLC/*/*/*/Thumbs.db $BUILDROOT/$PROJECTLC/*/*/*/*/Thumbs.db`; $ret=`rm -fr $BUILDROOT/$PROJECTLC/CVS* $BUILDROOT/$PROJECTLC/*/CVS* $BUILDROOT/$PROJECTLC/*/*/CVS* $BUILDROOT/$PROJECTLC/*/*/*/CVS* $BUILDROOT/$PROJECTLC/*/*/*/*/CVS* $BUILDROOT/$PROJECTLC/*/*/*/*/*/CVS*`; - } - + } + # Build package for each target #------------------------------ foreach my $target (keys %CHOOSEDTARGET) { if ($CHOOSEDTARGET{$target} < 0) { next; } - + print "\nBuild package for target $target\n"; - + if ($target eq 'TGZ') { $NEWDESTI=$DESTI; - if (-d $DESTI.'/../modules') { $NEWDESTI=$DESTI.'/../modules'; } + if (-d $DESTI.'/../modules') { $NEWDESTI=$DESTI.'/../modules'; } print "Remove target $FILENAMETGZ.tgz...\n"; unlink("$NEWDESTI/$FILENAMETGZ.tgz"); @@ -340,15 +342,15 @@ foreach my $PROJECT (@PROJECTLIST) { } next; } - + if ($target eq 'ZIP') { $NEWDESTI=$DESTI; if (-d $DESTI.'/../modules') { $NEWDESTI=$DESTI.'/../modules'; } - + print "Remove target $FILENAMEZIP.zip...\n"; unlink "$NEWDESTI/$FILENAMEZIP.zip"; print "Compress $FILENAMEZIP into $FILENAMEZIP.zip...\n"; - + print "Go to directory $BUILDROOT/$PROJECTLC\n"; $olddir=getcwd(); chdir("$BUILDROOT/$PROJECTLC"); @@ -356,13 +358,13 @@ foreach my $PROJECT (@PROJECTLIST) { print $cmd."\n"; $ret= `$cmd`; chdir("$olddir"); - + print "Move $FILENAMEZIP.zip to $NEWDESTI/$FILENAMEZIP.zip\n"; $ret=`mv "$BUILDROOT/$FILENAMEZIP.zip" "$NEWDESTI/$FILENAMEZIP.zip"`; $ret=`chown $OWNER.$GROUP "$NEWDESTI/$FILENAMEZIP.zip"`; next; } - + if ($target eq 'EXE') { $NEWDESTI=$DESTI; if (-d $DESTI.'/../modules') { $NEWDESTI=$DESTI.'/../modules'; } @@ -377,11 +379,11 @@ foreach my $PROJECT (@PROJECTLIST) { rename("$SOURCE\\build\\exe\\$FILENAMEEXE.exe","$NEWDESTI/$FILENAMEEXE.exe"); next; } - + } - + } - + print "\n----- Summary -----\n"; foreach my $target (keys %CHOOSEDTARGET) { if ($CHOOSEDTARGET{$target} < 0) { diff --git a/build/makepack-dolibarrtheme.pl b/dev/build/makepack-dolibarrtheme.pl similarity index 97% rename from build/makepack-dolibarrtheme.pl rename to dev/build/makepack-dolibarrtheme.pl index 2171d87922e..7a6c31fb0f8 100755 --- a/build/makepack-dolibarrtheme.pl +++ b/dev/build/makepack-dolibarrtheme.pl @@ -1,11 +1,12 @@ #!/usr/bin/perl #----------------------------------------------------------------------------- -# \file build/makepack-dolibarrtheme.pl +# \file dev/build/makepack-dolibarrtheme.pl # \brief Script to build a theme Package for Dolibarr # \author (c)2005-2009 Laurent Destailleur #----------------------------------------------------------------------------- use Cwd; +use Term::ANSIColor; $PROJECT="dolibarr"; @@ -66,7 +67,7 @@ if (! $TEMP || ! -d $TEMP) { print "makepack-dolibarrtheme.pl aborted.\n"; sleep 2; exit 2; -} +} $BUILDROOT="$TEMP/dolibarr-buildroot"; @@ -108,7 +109,7 @@ if (-d "/usr/src/RPM") { $RPMDIR="/usr/src/RPM"; } -$SOURCE="$DIR/.."; +$SOURCE="$DIR/../.."; $DESTI="$SOURCE/build"; @@ -128,13 +129,13 @@ else { $cpt++; printf(" %d - %3s (%s)\n",$cpt,$target,"Need ".$REQUIREMENTTARGET{$target}); } - + # Are asked to select the file to move print "Choose one package number or several separated with space: "; - $NUM_SCRIPT=; + $NUM_SCRIPT=; chomp($NUM_SCRIPT); if ($NUM_SCRIPT =~ s/-//g) { - # Do not do copy + # Do not do copy $copyalreadydone=1; } if ($NUM_SCRIPT !~ /^[0-$cpt\s]+$/) @@ -164,16 +165,16 @@ else { #-------------------------- foreach my $target (keys %CHOOSEDTARGET) { foreach my $req (split(/[,\s]/,$REQUIREMENTTARGET{$target})) { - # Test + # Test print "Test requirement for target $target: Search '$req'... "; $ret=`"$req" 2>&1`; $coderetour=$?; $coderetour2=$coderetour>>8; - if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/)) && $PROGPATH) { + if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/)) && $PROGPATH) { # Not found error, we try in PROGPATH $ret=`"$PROGPATH/$ALTERNATEPATH{$req}/$req\" 2>&1`; $coderetour=$?; $coderetour2=$coderetour>>8; $REQUIREMENTTARGET{$target}="$PROGPATH/$ALTERNATEPATH{$req}/$req"; - } + } if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/))) { # Not found error @@ -218,15 +219,15 @@ if ($nboftargetok) { print "Clean $BUILDROOT\n"; $ret=`rm -fr $BUILDROOT/htdocs/theme/$PROJECT/Thumbs.db $BUILDROOT/htdocs/theme/$PROJECT/*/Thumbs.db $BUILDROOT/htdocs/theme/$PROJECT/*/*/Thumbs.db $BUILDROOT/htdocs/theme/$PROJECT/*/*/*/Thumbs.db`; $ret=`rm -fr $BUILDROOT/htdocs/theme/$PROJECT/CVS* $BUILDROOT/htdocs/theme/$PROJECT/*/CVS* $BUILDROOT/htdocs/theme/$PROJECT/*/*/CVS* $BUILDROOT/htdocs/theme/$PROJECT/*/*/*/CVS* $BUILDROOT/htdocs/theme/$PROJECT/*/*/*/*/CVS* $BUILDROOT/htdocs/theme/$PROJECT/*/*/*/*/*/CVS*`; - - + + # Build package for each target #------------------------------ foreach my $target (keys %CHOOSEDTARGET) { if ($CHOOSEDTARGET{$target} < 0) { next; } - + print "\nBuild package for target $target\n"; - + if ($target eq 'TGZ') { unlink $FILENAMETGZ.tgz; print "Compress $BUILDROOT/htdocs into $FILENAMETGZ.tgz...\n"; @@ -248,7 +249,7 @@ if ($nboftargetok) { $ret=`mv "$FILENAMEZIP.zip" "$DESTI/$FILENAMEZIP.zip"`; next; } - + } } diff --git a/build/makepack-howto.txt b/dev/build/makepack-howto.txt similarity index 97% rename from build/makepack-howto.txt rename to dev/build/makepack-howto.txt index 674d6e2fd01..aed7f0685fd 100644 --- a/build/makepack-howto.txt +++ b/dev/build/makepack-howto.txt @@ -15,11 +15,11 @@ Prerequisites to build autoexe DoliWamp package from Linux (solution seems broke For example by running isetup-5.5.8.exe (https://www.jrsoftware.org) https://files.jrsoftware.org/is/5/ > Install WampServer into "C:\wamp64" to have Apache, PHP and MariaDB For example by running wampserver3.2.6_x64.exe (https://www.wampserver.com). - See file build/exe/doliwamp.iss to know the doliwamp version currently setup. + See file dev/build/exe/doliwamp.iss to know the doliwamp version currently setup. > Add path to ISCC into PATH windows var: Launch wine cmd, then regedit and add entry int HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment\PATH > To build manually the .exe from Windows (running from makepack-dolibarr.pl script is however recommended), - open file build/exe/doliwamp.iss and click on button "Compile". + open file dev/build/exe/doliwamp.iss and click on button "Compile". The .exe file will be build into directory build. diff --git a/build/obs/README b/dev/build/obs/README similarity index 89% rename from build/obs/README rename to dev/build/obs/README index 6b047b42fcf..31be61db275 100644 --- a/build/obs/README +++ b/dev/build/obs/README @@ -1,19 +1,19 @@ README (English) ################################################## OBS Package tools -OBE - openSUSE Build Service +OBE - openSUSE Build Service ################################################## -This directory contains an instruction to explain +This directory contains an instruction to explain how to publish a package onto OBS. -# Create a project onto OBS ---------------------------- -https://build.opensuse.org +# Create a project onto OBS +--------------------------- +https://build.opensuse.org -# Packaging rules: +# Packaging rules: ------------------ https://en.opensuse.org/Portal:Packaging @@ -55,4 +55,4 @@ For example: https://bugzilla.novell.com/show_bug.cgi?id=848083 to be a maintene https://build.opensuse.org/project/show/Application:ERP - Once done, go into project, category, subproject and enter a subproject for your application. For example: Dolibarr -- Then go onto project into your home and ask a publish to the category/you project your created. +- Then go onto project into your home and ask a publish to the category/you project your created. diff --git a/build/pad/DoliWamp.pml b/dev/build/pad/DoliWamp.pml similarity index 99% rename from build/pad/DoliWamp.pml rename to dev/build/pad/DoliWamp.pml index cf3ed134961..05c87787ea5 100644 --- a/build/pad/DoliWamp.pml +++ b/dev/build/pad/DoliWamp.pml @@ -42,7 +42,7 @@ DoliWamp, the easy to use Dolibarr for Windows to manage your company,foundation DoliWamp is the Dolibarr ERP/CRM for Windows, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs. DoliWamp is the Dolibarr ERP/CRM autoinstaller for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. Dolibarr ERP/CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. - DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop. + DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop. DoliWamp is the auto-installer for Windows users with no technical knowledge to install Dolibarr ERP/CRM and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. diff --git a/build/pad/Dolibarr developpers.cml b/dev/build/pad/Dolibarr developpers.cml similarity index 100% rename from build/pad/Dolibarr developpers.cml rename to dev/build/pad/Dolibarr developpers.cml diff --git a/build/pad/Dolibarr.pml b/dev/build/pad/Dolibarr.pml similarity index 99% rename from build/pad/Dolibarr.pml rename to dev/build/pad/Dolibarr.pml index 7e83081975c..166a4bd8619 100644 --- a/build/pad/Dolibarr.pml +++ b/dev/build/pad/Dolibarr.pml @@ -45,7 +45,7 @@ Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. We can say Dolibarr is an ERP or CRM (or both depending on activated modules). It's an OpenSource project base on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems). Dolibarr differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install Simple to use -Simple to develop +Simple to develop Note that Dolibarr is also available with an auto-installer for Windows or Ubuntu users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. This version is called DoliWamp (for Windows) or DoliBuntu (for Ubuntu/Debian). @@ -65,7 +65,7 @@ Note that Dolibarr is also available with an auto-installer for Windows or Ubunt Dolibarr ERP/CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP). Dolibarr vient compléter les offres déjà nombreuses de logiciels de cette catégorie (comme OpenBravo, OpenERP, SugarCRM, Neogia, Compiere, etc.) mais se démarque par le fait qu'ici tout est fait pour offrir de la simplicité (règle des 3 S): Simple pour l'installation (avec au choix des installeurs clé en main pour ceux qui ignorent comment installer un serveur Web, ou une installation manuelle) Simple pour l'utilisation (fonctions modulaires pour ne pas surcharger les menus, informations claires à la saisie) -Simple pour le développement (pas de frameworks lourds). +Simple pour le développement (pas de frameworks lourds). Dolibarr intègre en effet sa propre architecture (design patterns) permettant à tout développeur d'être tout de suite opérationnel sans connaissances particulières autre que le PHP. diff --git a/build/pad/NLTechno.cml b/dev/build/pad/NLTechno.cml similarity index 100% rename from build/pad/NLTechno.cml rename to dev/build/pad/NLTechno.cml diff --git a/build/pad/README b/dev/build/pad/README similarity index 100% rename from build/pad/README rename to dev/build/pad/README diff --git a/build/pad/pad_dolibarr.xml b/dev/build/pad/pad_dolibarr.xml similarity index 99% rename from build/pad/pad_dolibarr.xml rename to dev/build/pad/pad_dolibarr.xml index 3ebda35f2fd..2660541a6c7 100644 --- a/build/pad/pad_dolibarr.xml +++ b/dev/build/pad/pad_dolibarr.xml @@ -75,7 +75,7 @@ Dolibarr ERP & CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. We can say Dolibarr is an ERP or CRM (or both depending on activated modules). It's an OpenSource project base on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems). Dolibarr differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, Odoo, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install Simple to use -Simple to develop +Simple to develop Note that Dolibarr is also available with an auto-installer for Windows or Ubuntu users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. This version is called DoliWamp (for Windows) or DoliBuntu (for Ubuntu/Debian). @@ -87,7 +87,7 @@ Note that Dolibarr is also available with an auto-installer for Windows or Ubunt Dolibarr ERP & CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP). Dolibarr vient compléter les offres déjà nombreuses de logiciels de cette catégorie (comme OpenBravo, OpenERP, SugarCRM, Neogia, Compiere, etc.) mais se démarque par le fait qu'ici tout est fait pour offrir de la simplicité (règle des 3 S): Simple pour l'installation (avec au choix des installeurs clé en main pour ceux qui ignorent comment installer un serveur Web, ou une installation manuelle) Simple pour l'utilisation (fonctions modulaires pour ne pas surcharger les menus, informations claires à la saisie) -Simple pour le développement (pas de frameworks lourds). +Simple pour le développement (pas de frameworks lourds). Dolibarr intègre en effet sa propre architecture (design patterns) permettant à tout développeur d'être tout de suite opérationnel sans connaissances particulières autre que le PHP. diff --git a/build/pad/pad_dolibarr_nos.xml b/dev/build/pad/pad_dolibarr_nos.xml similarity index 99% rename from build/pad/pad_dolibarr_nos.xml rename to dev/build/pad/pad_dolibarr_nos.xml index 64d1d56dd5a..27a4f4497f6 100644 --- a/build/pad/pad_dolibarr_nos.xml +++ b/dev/build/pad/pad_dolibarr_nos.xml @@ -75,7 +75,7 @@ Dolibarr ERP & CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. We can say Dolibarr is an ERP or CRM (or both depending on activated modules). It's an OpenSource project base on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems). Dolibarr differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install Simple to use -Simple to develop +Simple to develop Note that Dolibarr is also available with an auto-installer for Windows or Ubuntu users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. This version is called DoliWamp (for Windows) or DoliBuntu (for Ubuntu/Debian). @@ -87,7 +87,7 @@ Note that Dolibarr is also available with an auto-installer for Windows or Ubunt Dolibarr ERP & CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP). Dolibarr vient compléter les offres déjà nombreuses de logiciels de cette catégorie (comme OpenBravo, OpenERP, SugarCRM, Neogia, Compiere, etc.) mais se démarque par le fait qu'ici tout est fait pour offrir de la simplicité (règle des 3 S): Simple pour l'installation (avec au choix des installeurs clé en main pour ceux qui ignorent comment installer un serveur Web, ou une installation manuelle) Simple pour l'utilisation (fonctions modulaires pour ne pas surcharger les menus, informations claires à la saisie) -Simple pour le développement (pas de frameworks lourds). +Simple pour le développement (pas de frameworks lourds). Dolibarr intègre en effet sa propre architecture (design patterns) permettant à tout développeur d'être tout de suite opérationnel sans connaissances particulières autre que le PHP. diff --git a/build/pad/pad_doliwamp.xml b/dev/build/pad/pad_doliwamp.xml similarity index 99% rename from build/pad/pad_doliwamp.xml rename to dev/build/pad/pad_doliwamp.xml index d5d4a1d6703..24d20b918e7 100644 --- a/build/pad/pad_doliwamp.xml +++ b/dev/build/pad/pad_doliwamp.xml @@ -72,7 +72,7 @@ DoliWamp, the easy to use Dolibarr for Windows to manage your company,foundation DoliWamp is the Dolibarr ERP/CRM for Windows, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs. DoliWamp is the Dolibarr ERP/CRM autoinstaller for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. Dolibarr ERP/CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. - DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop. + DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop. DoliWamp is the auto-installer for Windows users with no technical knowledge to install Dolibarr ERP/CRM and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. diff --git a/build/pad/pad_doliwamp_nos.xml b/dev/build/pad/pad_doliwamp_nos.xml similarity index 99% rename from build/pad/pad_doliwamp_nos.xml rename to dev/build/pad/pad_doliwamp_nos.xml index 4360e92c3e4..f24d55ed950 100644 --- a/build/pad/pad_doliwamp_nos.xml +++ b/dev/build/pad/pad_doliwamp_nos.xml @@ -72,7 +72,7 @@ DoliWamp, the easy to use Dolibarr for Windows to manage your company,foundation DoliWamp is the Dolibarr ERP/CRM for Windows, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs. DoliWamp is the Dolibarr ERP/CRM autoinstaller for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. Dolibarr ERP/CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. - DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop. + DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop. DoliWamp is the auto-installer for Windows users with no technical knowledge to install Dolibarr ERP/CRM and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. diff --git a/build/patch/README b/dev/build/patch/README similarity index 89% rename from build/patch/README rename to dev/build/patch/README index 6b63713122f..5c2bb973d5d 100644 --- a/build/patch/README +++ b/dev/build/patch/README @@ -3,7 +3,7 @@ README (English) Building a Patch file ################################################## -This directory contains tools to build a patch after a developer has made changes on files in its Dolibarr tree. +This directory contains tools to build a patch after a developer has made changes on files in its Dolibarr tree. The output patch file can then be submitted on Dolibarr dev mailing-list, with explanation on its goal, for inclusion in main branch. Using this tool is now deprecated. You must use git pull requests to submit contributions. diff --git a/build/patch/buildpatch.sh b/dev/build/patch/buildpatch.sh similarity index 96% rename from build/patch/buildpatch.sh rename to dev/build/patch/buildpatch.sh index a2c5787e853..8f672c0b395 100755 --- a/build/patch/buildpatch.sh +++ b/dev/build/patch/buildpatch.sh @@ -1,6 +1,6 @@ #!/bin/bash #---------------------------------------------------------------------------- -# \file build/patch/buildpatch.sh +# \file dev/build/patch/buildpatch.sh # \brief Create patch files # \author (c)2009-2011 Laurent Destailleur #---------------------------------------------------------------------------- diff --git a/build/pdf/README.txt b/dev/build/pdf/README.txt similarity index 80% rename from build/pdf/README.txt rename to dev/build/pdf/README.txt index 7a5424ca3d5..3a0f43ff2ea 100644 --- a/build/pdf/README.txt +++ b/dev/build/pdf/README.txt @@ -1,7 +1,7 @@ To make htmldoc working from wiki.dolibarr.org, the wiki must be modified to have -To disable part of content, add: -class="htmldoc-ignore" +To disable part of content, add: +class="htmldoc-ignore" with css .htmldoc-ignore { display: none; } diff --git a/build/pdf/htmldoc_en.book b/dev/build/pdf/htmldoc_en.book similarity index 100% rename from build/pdf/htmldoc_en.book rename to dev/build/pdf/htmldoc_en.book diff --git a/build/perl/virtualmin/README b/dev/build/perl/virtualmin/README similarity index 89% rename from build/perl/virtualmin/README rename to dev/build/perl/virtualmin/README index 6da04e5f0b8..cde6224c024 100644 --- a/build/perl/virtualmin/README +++ b/dev/build/perl/virtualmin/README @@ -7,4 +7,4 @@ This script will install automatically Dolibarr from Virtualmin. (Included in the professional version and can be added in the GPL version) https://www.virtualmin.com -http://www.webmin.com/virtualmin.html \ No newline at end of file +http://www.webmin.com/virtualmin.html diff --git a/build/perl/virtualmin/dolibarr.pl b/dev/build/perl/virtualmin/dolibarr.pl similarity index 99% rename from build/perl/virtualmin/dolibarr.pl rename to dev/build/perl/virtualmin/dolibarr.pl index b5bacf59356..6ac8b9449cb 100644 --- a/build/perl/virtualmin/dolibarr.pl +++ b/dev/build/perl/virtualmin/dolibarr.pl @@ -252,7 +252,7 @@ if ($upgrade) { ©_source_dest_as_domain_user($d, $oldcfile, $cfile); ©_source_dest_as_domain_user($d, $olddocdir, $docdir); ©_source_dest_as_domain_user($d, $oldaltdir, $altdir); - + # First page (Update database schema) local @params = ( [ "action", "upgrade" ], [ "versionfrom", $upgrade->{'version'} ], @@ -260,7 +260,7 @@ if ($upgrade) { ); local $err = &call_dolibarr_wizard_page(\@params, "upgrade", $d, $opts); return (-1, "Dolibarr wizard failed : $err") if ($err); - + # Second page (Migrate some data) local @params = ( [ "action", "upgrade" ], [ "versionfrom", $upgrade->{'version'} ], @@ -268,7 +268,7 @@ if ($upgrade) { ); local $err = &call_dolibarr_wizard_page(\@params, "upgrade2", $d, $opts); return (-1, "Dolibarr wizard failed : $err") if ($err); - + # Third page (Update version number) local @params = ( [ "action", "upgrade" ], [ "versionfrom", $upgrade->{'version'} ], @@ -278,12 +278,12 @@ if ($upgrade) { local $p = $ver >= 3.8 ? "step5" : "etape5"; local $err = &call_dolibarr_wizard_page(\@params, $p, $d, $opts); return (-1, "Dolibarr wizard failed : $err") if ($err); - + # Remove the installation directory. (deprecated) # local $dinstall = "$opts->{'dir'}/install"; # $dinstall =~ s/\/$//; # $out = &run_as_domain_user($d, "rm -rf ".quotemeta($dinstall)); - + } else { # First page (Db connection and config file creation) @@ -305,13 +305,13 @@ else { local $p = $ver >= 3.8 ? "step1" : "etape1"; local $err = &call_dolibarr_wizard_page(\@params, $p, $d, $opts); return (-1, "Dolibarr wizard failed : $err") if ($err); - + # Second page (Populate database) local @params = ( [ "action", "set" ] ); local $p = $ver >= 3.8 ? "step2" : "etape2"; local $err = &call_dolibarr_wizard_page(\@params, $p, $d, $opts); return (-1, "Dolibarr wizard failed : $err") if ($err); - + # Third page (Add administrator account) local @params = ( [ "action", "set" ], [ "login", "admin" ], @@ -322,17 +322,17 @@ else { local $p = $ver >= 3.8 ? "step5" : "etape5"; local $err = &call_dolibarr_wizard_page(\@params, $p, $d, $opts); return (-1, "Dolibarr wizard failed : $err") if ($err); - + # Remove the installation directory (deprecated) # local $dinstall = "$opts->{'dir'}/install"; # $dinstall =~ s/\/$//; # $out = &run_as_domain_user($d, "rm -rf ".quotemeta($dinstall)); - + # Protect config file &set_permissions_as_domain_user($d, 0644, $cfile); &set_permissions_as_domain_user($d, 0755, $cfiledir); } - + # Return a URL for the user local $rp = $opts->{'dir'}; $rp =~ s/^$d->{'home'}\///; diff --git a/dev/build/phpstan/README b/dev/build/phpstan/README new file mode 100644 index 00000000000..07e192f88ab --- /dev/null +++ b/dev/build/phpstan/README @@ -0,0 +1,26 @@ +PHPStan (https://phpstan.org) +----------------------------- + +PHPStan requires PHP >= 7.1 + +Config File is: ./phpstan.neon + += Installation = + +cd ./dev/build/phpstan +mkdir phpstan +cd phpstan +composer require --dev phpstan/phpstan + + += Build report from CLI = + +In dolibarr/ +mv htdocs/custom /tmp/ +php dev/build/phpstan/phpstan/vendor/bin/phpstan -v analyze -c ./phpstan.neon -a dev/build/phpstan/bootstrap.php --memory-limit 4G --error-format=table htdocs/commande/class +php dev/build/phpstan/phpstan/vendor/bin/phpstan -v analyze -c ./phpstan.neon -a dev/build/phpstan/bootstrap.php --memory-limit 4G --error-format=table htdocs/ +mv /tmp/custom htdocs + +Build HTML report from Cron: +Example of line to add into a cron to generate a HTML report: +0 1 5 * * cd /home/dolibarr/preview.dolibarr.org/dolibarr; chmod -R u+w /home/dolibarr/preview.dolibarr.org/dolibarr; git reset --hard HEAD; git pull; /home/dolibarr/preview.dolibarr.org/dolibarr/dev/build/phpstan/vendor/bin/phpstan -v analyze --memory-limit 4G --error-format=github | awk ' BEGIN{ print "Date "strftime("%Y-%m-%d")"
" } { print $0"
" } END{ print NR } ' > /home/dolibarr/cti.dolibarr.org/phpstanindex.html diff --git a/build/phpstan/bootstrap.php b/dev/build/phpstan/bootstrap.php similarity index 96% rename from build/phpstan/bootstrap.php rename to dev/build/phpstan/bootstrap.php index c756ecfd4ae..c0806621641 100644 --- a/build/phpstan/bootstrap.php +++ b/dev/build/phpstan/bootstrap.php @@ -42,4 +42,4 @@ if (!defined("NOHTTPSREDIRECT")) { global $conf, $db, $hookmanager, $langs, $mysoc, $user; -include_once __DIR__ . '/../../htdocs/main.inc.php'; +include_once __DIR__ . '/../../../htdocs/main.inc.php'; diff --git a/build/phpstan/bootstrap_action.php b/dev/build/phpstan/bootstrap_action.php similarity index 89% rename from build/phpstan/bootstrap_action.php rename to dev/build/phpstan/bootstrap_action.php index f1a6a638f91..69e8f3d4f81 100644 --- a/build/phpstan/bootstrap_action.php +++ b/dev/build/phpstan/bootstrap_action.php @@ -27,9 +27,9 @@ if (!defined("NOHTTPSREDIRECT")) { } // Defined some constants and load Dolibarr env to reduce PHPStan bootstrap that fails to load a lot of things. -$dolibarr_main_document_root = __DIR__ . '/../../htdocs'; -define('DOL_DOCUMENT_ROOT', __DIR__ . '/../../htdocs'); -define('DOL_DATA_ROOT', __DIR__ . '/../../documents'); +$dolibarr_main_document_root = __DIR__ . '/../../../htdocs'; +define('DOL_DOCUMENT_ROOT', __DIR__ . '/../../../htdocs'); +define('DOL_DATA_ROOT', __DIR__ . '/../../../documents'); define('DOL_URL_ROOT', '/'); define('DOL_MAIN_URL_ROOT', '/'); define('MAIN_DB_PREFIX', 'llx_'); diff --git a/build/phpstan/phpstan-baseline.neon b/dev/build/phpstan/phpstan-baseline.neon similarity index 74% rename from build/phpstan/phpstan-baseline.neon rename to dev/build/phpstan/phpstan-baseline.neon index a3ec7716200..9650d6771b0 100644 --- a/build/phpstan/phpstan-baseline.neon +++ b/dev/build/phpstan/phpstan-baseline.neon @@ -4,33748 +4,33622 @@ parameters: message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 3 - path: ../../htdocs/accountancy/admin/accountmodel.php + path: ../../../htdocs/accountancy/admin/accountmodel.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 3 - path: ../../htdocs/accountancy/admin/accountmodel.php + path: ../../../htdocs/accountancy/admin/accountmodel.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 3 - path: ../../htdocs/accountancy/admin/accountmodel.php + path: ../../../htdocs/accountancy/admin/accountmodel.php - message: '#^Loose comparison using \=\= between ''type_cdr'' and ''type_cdr'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/accountancy/admin/accountmodel.php + path: ../../../htdocs/accountancy/admin/accountmodel.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/card.php + path: ../../../htdocs/accountancy/admin/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/accountancy/admin/card.php + path: ../../../htdocs/accountancy/admin/card.php - message: '#^Variable \$cat_id in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/admin/categories.php + path: ../../../htdocs/accountancy/admin/categories.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/accountancy/admin/categories_list.php + path: ../../../htdocs/accountancy/admin/categories_list.php - message: '#^Loose comparison using \=\= between 32 and 32 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/categories_list.php + path: ../../../htdocs/accountancy/admin/categories_list.php - message: '#^Parameter \#12 \$tabcomplete of function complete_dictionary_with_modules expects array\\>\>, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/accountancy/admin/categories_list.php + path: ../../../htdocs/accountancy/admin/categories_list.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 4 - path: ../../htdocs/accountancy/admin/fiscalyear_card.php + path: ../../../htdocs/accountancy/admin/fiscalyear_card.php - message: '#^Loose comparison using \=\= between ''ACCOUNTING_LABEL…'' and ''ACCOUNTING_LABEL…'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/index.php + path: ../../../htdocs/accountancy/admin/index.php - message: '#^Loose comparison using \=\= between ''ACCOUNTING_LENGTH…'' and ''ACCOUNTING_LENGTH…'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/index.php + path: ../../../htdocs/accountancy/admin/index.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/index.php + path: ../../../htdocs/accountancy/admin/index.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/index.php + path: ../../../htdocs/accountancy/admin/index.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 7 - path: ../../htdocs/accountancy/admin/journals_list.php + path: ../../../htdocs/accountancy/admin/journals_list.php - message: '#^Loose comparison using \!\= between 35 and 10 will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/journals_list.php + path: ../../../htdocs/accountancy/admin/journals_list.php - message: '#^Parameter \#12 \$tabcomplete of function complete_dictionary_with_modules expects array\\>\>, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/accountancy/admin/journals_list.php + path: ../../../htdocs/accountancy/admin/journals_list.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/journals_list.php + path: ../../../htdocs/accountancy/admin/journals_list.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/productaccount.php + path: ../../../htdocs/accountancy/admin/productaccount.php - message: '#^Variable \$defaultvalue in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 6 - path: ../../htdocs/accountancy/admin/productaccount.php + path: ../../../htdocs/accountancy/admin/productaccount.php - message: '#^Variable \$toselect in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/admin/productaccount.php + path: ../../../htdocs/accountancy/admin/productaccount.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/report_list.php + path: ../../../htdocs/accountancy/admin/report_list.php - message: '#^Loose comparison using \=\= between 45 and 45 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/report_list.php + path: ../../../htdocs/accountancy/admin/report_list.php - message: '#^Parameter \#12 \$tabcomplete of function complete_dictionary_with_modules expects array\\>\>, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/accountancy/admin/report_list.php + path: ../../../htdocs/accountancy/admin/report_list.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/accountancy/admin/report_list.php + path: ../../../htdocs/accountancy/admin/report_list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 3 - path: ../../htdocs/accountancy/admin/subaccount.php + path: ../../../htdocs/accountancy/admin/subaccount.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/admin/subaccount.php + path: ../../../htdocs/accountancy/admin/subaccount.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/accountancy/bookkeeping/balance.php + path: ../../../htdocs/accountancy/bookkeeping/balance.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/accountancy/bookkeeping/balance.php + path: ../../../htdocs/accountancy/bookkeeping/balance.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/bookkeeping/balance.php + path: ../../../htdocs/accountancy/bookkeeping/balance.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/accountancy/bookkeeping/balance.php + path: ../../../htdocs/accountancy/bookkeeping/balance.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/bookkeeping/balance.php + path: ../../../htdocs/accountancy/bookkeeping/balance.php - message: '#^Variable \$filter might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/accountancy/bookkeeping/balance.php + path: ../../../htdocs/accountancy/bookkeeping/balance.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/accountancy/bookkeeping/export.php + path: ../../../htdocs/accountancy/bookkeeping/export.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/accountancy/bookkeeping/export.php + path: ../../../htdocs/accountancy/bookkeeping/export.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/bookkeeping/export.php + path: ../../../htdocs/accountancy/bookkeeping/export.php - message: '#^Variable \$filter might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/accountancy/bookkeeping/export.php + path: ../../../htdocs/accountancy/bookkeeping/export.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/bookkeeping/list.php + path: ../../../htdocs/accountancy/bookkeeping/list.php - message: '#^Variable \$documentlink might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/accountancy/bookkeeping/list.php + path: ../../../htdocs/accountancy/bookkeeping/list.php - message: '#^Variable \$filter might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/accountancy/bookkeeping/list.php + path: ../../../htdocs/accountancy/bookkeeping/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/bookkeeping/listbyaccount.php + path: ../../../htdocs/accountancy/bookkeeping/listbyaccount.php - message: '#^Property AccountancyCategory\:\:\$active \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancycategory.class.php + path: ../../../htdocs/accountancy/class/accountancycategory.class.php - message: '#^Property AccountancyCategory\:\:\$category_type \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancycategory.class.php + path: ../../../htdocs/accountancy/class/accountancycategory.class.php - message: '#^Property AccountancyCategory\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancycategory.class.php + path: ../../../htdocs/accountancy/class/accountancycategory.class.php - message: '#^Property AccountancyCategory\:\:\$fk_country \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancycategory.class.php + path: ../../../htdocs/accountancy/class/accountancycategory.class.php - message: '#^Property AccountancyCategory\:\:\$formula \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancycategory.class.php + path: ../../../htdocs/accountancy/class/accountancycategory.class.php - message: '#^Property AccountancyCategory\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancycategory.class.php + path: ../../../htdocs/accountancy/class/accountancycategory.class.php - message: '#^Property AccountancyCategory\:\:\$position \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancycategory.class.php + path: ../../../htdocs/accountancy/class/accountancycategory.class.php - message: '#^Property AccountancyCategory\:\:\$range_account \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancycategory.class.php + path: ../../../htdocs/accountancy/class/accountancycategory.class.php - message: '#^Property AccountancyCategory\:\:\$sens \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancycategory.class.php + path: ../../../htdocs/accountancy/class/accountancycategory.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Loose comparison using \=\= between 2 and 2 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 6 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Variable \$archiveFullName in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Variable \$archivePath in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Variable \$completefilename in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Variable \$downloadFileFullName in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Variable \$downloadFileMimeType in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Variable \$downloadFilePath in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Variable \$exportFileFullName in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Variable \$exportFilePath in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Variable \$invoice might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/accountancy/class/accountancyexport.class.php + path: ../../../htdocs/accountancy/class/accountancyexport.class.php - message: '#^Property AccountancyReport\:\:\$active \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancyreport.class.php + path: ../../../htdocs/accountancy/class/accountancyreport.class.php - message: '#^Property AccountancyReport\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancyreport.class.php + path: ../../../htdocs/accountancy/class/accountancyreport.class.php - message: '#^Property AccountancyReport\:\:\$fk_country \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancyreport.class.php + path: ../../../htdocs/accountancy/class/accountancyreport.class.php - message: '#^Property AccountancyReport\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/accountancyreport.class.php + path: ../../../htdocs/accountancy/class/accountancyreport.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/accountancy/class/accountingaccount.class.php + path: ../../../htdocs/accountancy/class/accountingaccount.class.php - message: '#^Property AccountingAccount\:\:\$account_number \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/accountancy/class/accountingaccount.class.php + path: ../../../htdocs/accountancy/class/accountingaccount.class.php - message: '#^Property AccountingAccount\:\:\$fk_pcg_version \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/accountancy/class/accountingaccount.class.php + path: ../../../htdocs/accountancy/class/accountingaccount.class.php - message: '#^Property AccountingAccount\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/accountancy/class/accountingaccount.class.php + path: ../../../htdocs/accountancy/class/accountingaccount.class.php - message: '#^Property AccountingAccount\:\:\$labelshort \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/accountancy/class/accountingaccount.class.php + path: ../../../htdocs/accountancy/class/accountingaccount.class.php - message: '#^Property AccountingAccount\:\:\$pcg_type \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/accountancy/class/accountingaccount.class.php + path: ../../../htdocs/accountancy/class/accountingaccount.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/accountancy/class/accountingaccount.class.php + path: ../../../htdocs/accountancy/class/accountingaccount.class.php - message: '#^Call to function array_key_exists\(\) with ''error'' and array\{ref\: mixed, label\: mixed, acquisition_value_ht\: mixed, depreciation\: non\-empty\-array\\}\>, disposal\?\: array\{date\: mixed, amount\: mixed, subject_to_vat\: bool\}\} will always evaluate to false\.$#' identifier: function.impossibleType count: 1 - path: ../../htdocs/accountancy/class/accountingjournal.class.php + path: ../../../htdocs/accountancy/class/accountingjournal.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Parameter \#2 \$callback of function array_filter expects \(callable\(string\)\: bool\)\|null, ''strlen'' given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$amount \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$code_journal \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$credit \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$debit \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$doc_ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$doc_type \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$fk_doc \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$fk_docdet \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$fk_user_author \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$import_key \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$journal_label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$label_compte \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$label_operation \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$montant \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$numero_compte \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$piece_num \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$sens \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Property BookKeeping\:\:\$thirdparty_code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/class/bookkeeping.class.php + path: ../../../htdocs/accountancy/class/bookkeeping.class.php - message: '#^Call to function is_array\(\) with non\-empty\-array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/accountancy/class/lettering.class.php + path: ../../../htdocs/accountancy/class/lettering.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/accountancy/class/lettering.class.php + path: ../../../htdocs/accountancy/class/lettering.class.php - message: '#^Parameter \#1 \$document_ids of method Lettering\:\:getBankLinesFromFkDocAndDocType\(\) expects array\\>, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/accountancy/class/lettering.class.php + path: ../../../htdocs/accountancy/class/lettering.class.php - message: '#^Parameter \#1 \$link_by_element of method Lettering\:\:getGroupElements\(\) expects array\\>, array\\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/accountancy/class/lettering.class.php + path: ../../../htdocs/accountancy/class/lettering.class.php - message: '#^Parameter \#3 \$link_key of method Lettering\:\:getGroupElements\(\) expects string, int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/accountancy/class/lettering.class.php + path: ../../../htdocs/accountancy/class/lettering.class.php - message: '#^Variable \$save_element_by_link might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/accountancy/class/lettering.class.php + path: ../../../htdocs/accountancy/class/lettering.class.php - message: '#^Variable \$save_link_by_element might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/accountancy/class/lettering.class.php + path: ../../../htdocs/accountancy/class/lettering.class.php - message: '#^Parameter \#2 \$callback of function array_filter expects \(callable\(string\)\: bool\)\|null, ''strlen'' given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/accountancy/closure/index.php + path: ../../../htdocs/accountancy/closure/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/accountancy/closure/index.php + path: ../../../htdocs/accountancy/closure/index.php - message: '#^Variable \$current_fiscal_period in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 4 - path: ../../htdocs/accountancy/closure/index.php + path: ../../../htdocs/accountancy/closure/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/customer/card.php + path: ../../../htdocs/accountancy/customer/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/accountancy/customer/index.php + path: ../../../htdocs/accountancy/customer/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/customer/lines.php + path: ../../../htdocs/accountancy/customer/lines.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/accountancy/customer/lines.php + path: ../../../htdocs/accountancy/customer/lines.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/customer/list.php + path: ../../../htdocs/accountancy/customer/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/accountancy/customer/list.php + path: ../../../htdocs/accountancy/customer/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/customer/list.php + path: ../../../htdocs/accountancy/customer/list.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/expensereport/card.php + path: ../../../htdocs/accountancy/expensereport/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/accountancy/expensereport/index.php + path: ../../../htdocs/accountancy/expensereport/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/expensereport/lines.php + path: ../../../htdocs/accountancy/expensereport/lines.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/accountancy/expensereport/lines.php + path: ../../../htdocs/accountancy/expensereport/lines.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/expensereport/list.php + path: ../../../htdocs/accountancy/expensereport/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/accountancy/expensereport/list.php + path: ../../../htdocs/accountancy/expensereport/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/expensereport/list.php + path: ../../../htdocs/accountancy/expensereport/list.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/accountancy/index.php + path: ../../../htdocs/accountancy/index.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/accountancy/index.php + path: ../../../htdocs/accountancy/index.php - message: '#^Call to function is_array\(\) with non\-empty\-array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/accountancy/journal/bankjournal.php + path: ../../../htdocs/accountancy/journal/bankjournal.php - message: '#^Call to function is_array\(\) with non\-empty\-array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 3 - path: ../../htdocs/accountancy/journal/bankjournal.php + path: ../../../htdocs/accountancy/journal/bankjournal.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/accountancy/journal/bankjournal.php + path: ../../../htdocs/accountancy/journal/bankjournal.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/accountancy/journal/bankjournal.php + path: ../../../htdocs/accountancy/journal/bankjournal.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/accountancy/journal/bankjournal.php + path: ../../../htdocs/accountancy/journal/bankjournal.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/accountancy/journal/expensereportsjournal.php + path: ../../../htdocs/accountancy/journal/expensereportsjournal.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/journal/expensereportsjournal.php + path: ../../../htdocs/accountancy/journal/expensereportsjournal.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/accountancy/journal/expensereportsjournal.php + path: ../../../htdocs/accountancy/journal/expensereportsjournal.php - message: '#^Variable \$def_tva might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/accountancy/journal/expensereportsjournal.php + path: ../../../htdocs/accountancy/journal/expensereportsjournal.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/accountancy/journal/purchasesjournal.php + path: ../../../htdocs/accountancy/journal/purchasesjournal.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/accountancy/journal/sellsjournal.php + path: ../../../htdocs/accountancy/journal/sellsjournal.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/accountancy/journal/variousjournal.php + path: ../../../htdocs/accountancy/journal/variousjournal.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/supplier/card.php + path: ../../../htdocs/accountancy/supplier/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/accountancy/supplier/index.php + path: ../../../htdocs/accountancy/supplier/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/supplier/lines.php + path: ../../../htdocs/accountancy/supplier/lines.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/accountancy/supplier/lines.php + path: ../../../htdocs/accountancy/supplier/lines.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/accountancy/supplier/list.php + path: ../../../htdocs/accountancy/supplier/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/accountancy/supplier/list.php + path: ../../../htdocs/accountancy/supplier/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/accountancy/supplier/list.php + path: ../../../htdocs/accountancy/supplier/list.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/adherents/admin/member.php + path: ../../../htdocs/adherents/admin/member.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/adherents/card.php + path: ../../../htdocs/adherents/card.php - message: '#^Variable \$public in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/adherents/card.php + path: ../../../htdocs/adherents/card.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Call to function method_exists\(\) with \$this\(Adherent\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Call to function method_exists\(\) with \$this\(Adherent\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Call to function property_exists\(\) with \$this\(Adherent\) and ''photo'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Call to function property_exists\(\) with \$this\(Adherent\) and ''societe'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 5 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Property Adherent\:\:\$last_subscription_amount \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/adherents/class/adherent.class.php + path: ../../../htdocs/adherents/class/adherent.class.php - message: '#^Call to function method_exists\(\) with \$this\(AdherentType\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent_type.class.php + path: ../../../htdocs/adherents/class/adherent_type.class.php - message: '#^Call to function method_exists\(\) with \$this\(AdherentType\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent_type.class.php + path: ../../../htdocs/adherents/class/adherent_type.class.php - message: '#^Call to function property_exists\(\) with \$this\(AdherentType\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent_type.class.php + path: ../../../htdocs/adherents/class/adherent_type.class.php - message: '#^Call to function property_exists\(\) with \$this\(AdherentType\) and ''vote'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/adherent_type.class.php + path: ../../../htdocs/adherents/class/adherent_type.class.php - message: '#^Loose comparison using \!\= between '''' and ''nolink'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/adherents/class/adherent_type.class.php + path: ../../../htdocs/adherents/class/adherent_type.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/adherents/class/adherent_type.class.php + path: ../../../htdocs/adherents/class/adherent_type.class.php - message: '#^Property AdherentType\:\:\$duration \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/adherents/class/adherent_type.class.php + path: ../../../htdocs/adherents/class/adherent_type.class.php - message: '#^Property AdherentType\:\:\$subscription \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/adherents/class/adherent_type.class.php + path: ../../../htdocs/adherents/class/adherent_type.class.php - message: '#^Property AdherentType\:\:\$vote \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/adherents/class/adherent_type.class.php + path: ../../../htdocs/adherents/class/adherent_type.class.php - message: '#^Call to function property_exists\(\) with \$this\(Subscription\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/subscription.class.php + path: ../../../htdocs/adherents/class/subscription.class.php - message: '#^Call to function property_exists\(\) with \$this\(Subscription\) and ''datef'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/subscription.class.php + path: ../../../htdocs/adherents/class/subscription.class.php - message: '#^Call to function property_exists\(\) with \$this\(Subscription\) and ''dateh'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/adherents/class/subscription.class.php + path: ../../../htdocs/adherents/class/subscription.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/adherents/class/subscription.class.php + path: ../../../htdocs/adherents/class/subscription.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/adherents/class/subscription.class.php + path: ../../../htdocs/adherents/class/subscription.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/adherents/list.php + path: ../../../htdocs/adherents/list.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/adherents/list.php + path: ../../../htdocs/adherents/list.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/adherents/list.php + path: ../../../htdocs/adherents/list.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/adherents/list.php + path: ../../../htdocs/adherents/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/adherents/list.php + path: ../../../htdocs/adherents/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/adherents/list.php + path: ../../../htdocs/adherents/list.php - message: '#^Variable \$diroutputmassaction might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/adherents/list.php + path: ../../../htdocs/adherents/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/adherents/messaging.php + path: ../../../htdocs/adherents/messaging.php - message: '#^Property Partnership\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/adherents/partnership.php + path: ../../../htdocs/adherents/partnership.php - message: '#^Property Partnership\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/adherents/partnership.php + path: ../../../htdocs/adherents/partnership.php - message: '#^Variable \$bankline in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/adherents/subscription/card.php + path: ../../../htdocs/adherents/subscription/card.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/adherents/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/adherents/tpl/linkedobjectblock.tpl.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/adherents/type.php + path: ../../../htdocs/adherents/type.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/admin/accountant.php + path: ../../../htdocs/admin/accountant.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/admin/agenda.php + path: ../../../htdocs/admin/agenda.php - message: '#^Variable \$errorsaved in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/bank.php + path: ../../../htdocs/admin/bank.php - message: '#^Call to function is_object\(\) with ModeleBoxes will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/admin/boxes.php + path: ../../../htdocs/admin/boxes.php - message: '#^Variable \$massaction might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/const.php + path: ../../../htdocs/admin/const.php - message: '#^Offset ''css'' on array\{css\: ''minwidth200'', enabled\: mixed\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/admin/dav.php + path: ../../../htdocs/admin/dav.php - message: '#^Call to function is_null\(\) with null will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/admin/dict.php + path: ../../../htdocs/admin/dict.php - message: '#^Loose comparison using \!\= between ''create'' and ''edit'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/admin/dict.php + path: ../../../htdocs/admin/dict.php - message: '#^Parameter \#12 \$tabcomplete of function complete_dictionary_with_modules expects array\\>\>, array\\|string\>\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/admin/dict.php + path: ../../../htdocs/admin/dict.php - message: '#^Variable \$param in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/dict.php + path: ../../../htdocs/admin/dict.php - message: '#^Variable \$rowidcol in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/dict.php + path: ../../../htdocs/admin/dict.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/admin/emailcollector_card.php + path: ../../../htdocs/admin/emailcollector_card.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/emailcollector_list.php + path: ../../../htdocs/admin/emailcollector_list.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/admin/eventorganization.php + path: ../../../htdocs/admin/eventorganization.php - message: '#^Loose comparison using \=\= between 1 and 1 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/admin/eventorganization.php + path: ../../../htdocs/admin/eventorganization.php - message: '#^Offset ''css'' on array\{type\: ''category\:customer''\|''emailtemplate…''\|''product''\|''securekey''\|''textarea''\|''thirdparty_type\:'', enabled\: 1, css\: ''''\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/admin/eventorganization.php + path: ../../../htdocs/admin/eventorganization.php - message: '#^Variable \$arrayofparameters in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/eventorganization.php + path: ../../../htdocs/admin/eventorganization.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/events.php + path: ../../../htdocs/admin/events.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/fediverse.php + path: ../../../htdocs/admin/fediverse.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/admin/geoipmaxmind.php + path: ../../../htdocs/admin/geoipmaxmind.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/admin/hrm.php + path: ../../../htdocs/admin/hrm.php - message: '#^Loose comparison using \=\= between ''varchar'' and ''html'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/admin/hrm.php + path: ../../../htdocs/admin/hrm.php - message: '#^Loose comparison using \=\= between ''varchar'' and ''product'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/admin/hrm.php + path: ../../../htdocs/admin/hrm.php - message: '#^Loose comparison using \=\= between ''varchar'' and ''securekey'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/admin/hrm.php + path: ../../../htdocs/admin/hrm.php - message: '#^Loose comparison using \=\= between ''varchar'' and ''yesno'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/admin/hrm.php + path: ../../../htdocs/admin/hrm.php - message: '#^Loose comparison using \=\= between 1 and 1 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/admin/hrm.php + path: ../../../htdocs/admin/hrm.php - message: '#^Offset ''css'' on array\{type\: ''integer''\|''varchar'', enabled\: 1, css\: ''''\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/admin/hrm.php + path: ../../../htdocs/admin/hrm.php - message: '#^Variable \$arrayofparameters in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/hrm.php + path: ../../../htdocs/admin/hrm.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/hrm.php + path: ../../../htdocs/admin/hrm.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 1 - path: ../../htdocs/admin/index.php + path: ../../../htdocs/admin/index.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/admin/index.php + path: ../../../htdocs/admin/index.php - message: '#^Variable \$setupcompanynotcomplete in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/index.php + path: ../../../htdocs/admin/index.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 1 - path: ../../htdocs/admin/knowledgemanagement.php + path: ../../../htdocs/admin/knowledgemanagement.php - message: '#^Offset ''includedocgeneration'' on array\{label\: ''KnowledgeManagement'', includerefgeneration\: 1, includedocgeneration\: 0, class\: ''KnowledgeRecord''\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/admin/knowledgemanagement.php + path: ../../../htdocs/admin/knowledgemanagement.php - message: '#^Offset ''includerefgeneration'' on array\{label\: ''KnowledgeManagement'', includerefgeneration\: 1, includedocgeneration\: 0, class\: ''KnowledgeRecord''\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/admin/knowledgemanagement.php + path: ../../../htdocs/admin/knowledgemanagement.php - message: '#^Variable \$arrayofparameters in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/knowledgemanagement.php + path: ../../../htdocs/admin/knowledgemanagement.php - message: '#^Variable \$setupnotempty in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/knowledgemanagement.php + path: ../../../htdocs/admin/knowledgemanagement.php - message: '#^Parameter \#12 \$localtaxes_array of function calcul_price_total expects array\{string, int\|string, string, int\|string, string, string\}\|array\{string, int\|string, string, string\}, array\{\} given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/admin/limits.php + path: ../../../htdocs/admin/limits.php - message: '#^Variable \$aCurrencies in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/admin/limits.php + path: ../../../htdocs/admin/limits.php - message: '#^Call to function is_array\(\) with non\-empty\-list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/admin/mails.php + path: ../../../htdocs/admin/mails.php - message: '#^Variable \$text in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 4 - path: ../../htdocs/admin/mails.php + path: ../../../htdocs/admin/mails.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/admin/mails_emailing.php + path: ../../../htdocs/admin/mails_emailing.php - message: '#^Variable \$text in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/admin/mails_emailing.php + path: ../../../htdocs/admin/mails_emailing.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/admin/mails_passwordreset.php + path: ../../../htdocs/admin/mails_passwordreset.php - message: '#^Variable \$text in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/admin/mails_passwordreset.php + path: ../../../htdocs/admin/mails_passwordreset.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/admin/mails_senderprofile_list.php + path: ../../../htdocs/admin/mails_senderprofile_list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/mails_senderprofile_list.php + path: ../../../htdocs/admin/mails_senderprofile_list.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 4 - path: ../../htdocs/admin/mails_templates.php + path: ../../../htdocs/admin/mails_templates.php - message: '#^Loose comparison using \!\= between ''create'' and ''edit'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/admin/mails_templates.php + path: ../../../htdocs/admin/mails_templates.php - message: '#^Loose comparison using \=\= between ''create'' and ''edit'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/admin/mails_templates.php + path: ../../../htdocs/admin/mails_templates.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/admin/mails_templates.php + path: ../../../htdocs/admin/mails_templates.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/admin/mails_templates.php + path: ../../../htdocs/admin/mails_templates.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/admin/mails_ticket.php + path: ../../../htdocs/admin/mails_ticket.php - message: '#^Variable \$text in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/admin/mails_ticket.php + path: ../../../htdocs/admin/mails_ticket.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/admin/menus/edit.php + path: ../../../htdocs/admin/menus/edit.php - message: '#^Property Menubase\:\:\$target \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/admin/menus/edit.php + path: ../../../htdocs/admin/menus/edit.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/admin/modules.php + path: ../../../htdocs/admin/modules.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/admin/modules.php + path: ../../../htdocs/admin/modules.php - message: '#^Property DolibarrModules\:\:\$langfiles \(array\\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/admin/modules.php + path: ../../../htdocs/admin/modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/admin/modules.php + path: ../../../htdocs/admin/modules.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/admin/modules.php + path: ../../../htdocs/admin/modules.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/admin/notification.php + path: ../../../htdocs/admin/notification.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/admin/notification.php + path: ../../../htdocs/admin/notification.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/admin/oauth.php + path: ../../../htdocs/admin/oauth.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/admin/oauthlogintokens.php + path: ../../../htdocs/admin/oauthlogintokens.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/admin/oauthlogintokens.php + path: ../../../htdocs/admin/oauthlogintokens.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/admin/oauthlogintokens.php + path: ../../../htdocs/admin/oauthlogintokens.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/admin/oauthlogintokens.php + path: ../../../htdocs/admin/oauthlogintokens.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/admin/openinghours.php + path: ../../../htdocs/admin/openinghours.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/admin/pdf.php + path: ../../../htdocs/admin/pdf.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/admin/perms.php + path: ../../../htdocs/admin/perms.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/admin/security.php + path: ../../../htdocs/admin/security.php - message: '#^Variable \$max in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/admin/security_file.php + path: ../../../htdocs/admin/security_file.php - message: '#^Variable \$smsfile might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/admin/sms.php + path: ../../../htdocs/admin/sms.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/admin/stocktransfer.php + path: ../../../htdocs/admin/stocktransfer.php - message: '#^Variable \$setupnotempty in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/stocktransfer.php + path: ../../../htdocs/admin/stocktransfer.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/admin/system/about.php + path: ../../../htdocs/admin/system/about.php - message: '#^Variable \$conffiletoshowshort might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/system/constall.php + path: ../../../htdocs/admin/system/constall.php - message: '#^Variable \$row might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/system/dbtable.php + path: ../../../htdocs/admin/system/dbtable.php - message: '#^Variable \$conffiletoshowshort might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/system/dolibarr.php + path: ../../../htdocs/admin/system/dolibarr.php - message: '#^Variable \$ignore in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/system/dolibarr.php + path: ../../../htdocs/admin/system/dolibarr.php - message: '#^Call to function is_array\(\) with non\-empty\-list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/admin/system/filecheck.php + path: ../../../htdocs/admin/system/filecheck.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/admin/system/filecheck.php + path: ../../../htdocs/admin/system/filecheck.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/admin/system/filecheck.php + path: ../../../htdocs/admin/system/filecheck.php - message: '#^Parameter \#1 \$file_list of function getFilesUpdated expects array\{insignature\: array\, missing\?\: array\, updated\: array\\}, array\{\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/admin/system/filecheck.php + path: ../../../htdocs/admin/system/filecheck.php - message: '#^Parameter \#1 \$size of function dol_print_size expects int, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/admin/system/filecheck.php + path: ../../../htdocs/admin/system/filecheck.php - message: '#^Loose comparison using \!\= between '''' and ''kanban'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/admin/system/modules.php + path: ../../../htdocs/admin/system/modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/admin/system/modules.php + path: ../../../htdocs/admin/system/modules.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/system/modules.php + path: ../../../htdocs/admin/system/modules.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/admin/system/perf.php + path: ../../../htdocs/admin/system/perf.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/admin/system/phpinfo.php + path: ../../../htdocs/admin/system/phpinfo.php - message: '#^Variable \$title in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/admin/system/phpinfo.php + path: ../../../htdocs/admin/system/phpinfo.php - message: '#^Call to function function_exists\(\) with ''exec''\|''popen'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/admin/system/security.php + path: ../../../htdocs/admin/system/security.php - message: '#^Variable \$dolibarr_main_document_root might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/system/security.php + path: ../../../htdocs/admin/system/security.php - message: '#^Variable \$dolibarr_main_prod might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/system/security.php + path: ../../../htdocs/admin/system/security.php - message: '#^Call to function is_bool\(\) with true will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/admin/system/xdebug.php + path: ../../../htdocs/admin/system/xdebug.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/admin/tools/dolibarr_export.php + path: ../../../htdocs/admin/tools/dolibarr_export.php - message: '#^Variable \$dolibarr_main_db_name might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/admin/tools/dolibarr_export.php + path: ../../../htdocs/admin/tools/dolibarr_export.php - message: '#^Variable \$dolibarr_main_db_user might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/admin/tools/dolibarr_export.php + path: ../../../htdocs/admin/tools/dolibarr_export.php - message: '#^Variable \$dolibarr_main_db_host might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/admin/tools/dolibarr_import.php + path: ../../../htdocs/admin/tools/dolibarr_import.php - message: '#^Variable \$dolibarr_main_db_name might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/admin/tools/dolibarr_import.php + path: ../../../htdocs/admin/tools/dolibarr_import.php - message: '#^Variable \$dolibarr_main_db_user might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/admin/tools/dolibarr_import.php + path: ../../../htdocs/admin/tools/dolibarr_import.php - message: '#^Variable \$ExecTimeLimit in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/tools/export.php + path: ../../../htdocs/admin/tools/export.php - message: '#^Variable \$MemoryLimit in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/tools/export.php + path: ../../../htdocs/admin/tools/export.php - message: '#^Variable \$massaction might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/tools/export.php - - - - message: '#^Variable \$ExecTimeLimit in empty\(\) always exists and is not falsy\.$#' - identifier: empty.variable - count: 1 - path: ../../htdocs/admin/tools/export_files.php - - - - message: '#^Variable \$ExecTimeLimit in empty\(\) always exists and is not falsy\.$#' - identifier: empty.variable - count: 1 - path: ../../htdocs/admin/tools/purge.php - - - - message: '#^Variable \$dolibarr_main_data_root might not be defined\.$#' - identifier: variable.undefined - count: 2 - path: ../../htdocs/admin/tools/purge.php + path: ../../../htdocs/admin/tools/export.php - message: '#^Method Documentation\:\:displayMenu\(\) has parameter \$menu with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/admin/tools/ui/class/documentation.class.php + path: ../../../htdocs/admin/tools/ui/class/documentation.class.php - message: '#^Method Documentation\:\:displaySummary\(\) has parameter \$menu with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/admin/tools/ui/class/documentation.class.php + path: ../../../htdocs/admin/tools/ui/class/documentation.class.php - message: '#^Method Documentation\:\:setMenu\(\) should return mixed but return statement is missing\.$#' identifier: return.missing count: 1 - path: ../../htdocs/admin/tools/ui/class/documentation.class.php + path: ../../../htdocs/admin/tools/ui/class/documentation.class.php - message: '#^Method Documentation\:\:showCode\(\) has parameter \$lines with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/admin/tools/ui/class/documentation.class.php + path: ../../../htdocs/admin/tools/ui/class/documentation.class.php - message: '#^Property Documentation\:\:\$menu type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/admin/tools/ui/class/documentation.class.php + path: ../../../htdocs/admin/tools/ui/class/documentation.class.php - message: '#^Property Documentation\:\:\$summary type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/admin/tools/ui/class/documentation.class.php + path: ../../../htdocs/admin/tools/ui/class/documentation.class.php - message: '#^Property Documentation\:\:\$view type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/admin/tools/ui/class/documentation.class.php + path: ../../../htdocs/admin/tools/ui/class/documentation.class.php - message: '#^Variable \$massactionbutton in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/admin/translation.php + path: ../../../htdocs/admin/translation.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/admin/triggers.php + path: ../../../htdocs/admin/triggers.php - message: '#^Variable \$label might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/admin/usergroup.php + path: ../../../htdocs/admin/usergroup.php - message: '#^Variable \$scandir might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/admin/usergroup.php + path: ../../../htdocs/admin/usergroup.php - message: '#^Variable \$arrayofparameters might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/webhook.php + path: ../../../htdocs/admin/webhook.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/webhook.php + path: ../../../htdocs/admin/webhook.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 5 - path: ../../htdocs/admin/website.php + path: ../../../htdocs/admin/website.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 4 - path: ../../htdocs/admin/website.php + path: ../../../htdocs/admin/website.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 3 - path: ../../htdocs/admin/website.php + path: ../../../htdocs/admin/website.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/admin/website.php + path: ../../../htdocs/admin/website.php - message: '#^Parameter \#1 \$array of function dol_sort_array contains unresolvable type\.$#' identifier: argument.unresolvableType count: 1 - path: ../../htdocs/admin/workflow.php + path: ../../../htdocs/admin/workflow.php - message: '#^Return type of call to function dol_sort_array contains unresolvable type\.$#' identifier: function.unresolvableReturnType count: 1 - path: ../../htdocs/admin/workflow.php + path: ../../../htdocs/admin/workflow.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/admin/workstation.php + path: ../../../htdocs/admin/workstation.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/admin/workstation.php + path: ../../../htdocs/admin/workstation.php - message: '#^Variable \$arrayofparameters might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/admin/workstation.php + path: ../../../htdocs/admin/workstation.php - message: '#^Variable \$label might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/admin/workstation.php + path: ../../../htdocs/admin/workstation.php - message: '#^Variable \$scandir might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/admin/workstation.php + path: ../../../htdocs/admin/workstation.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/admin/workstation.php + path: ../../../htdocs/admin/workstation.php - message: '#^Loose comparison using \=\= between ''edit'' and ''edit'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/ai/admin/setup.php + path: ../../../htdocs/ai/admin/setup.php - message: '#^Unable to resolve the template type T in call to method DolibarrApi\:\:_cleanObjectDatas\(\)$#' identifier: argument.templateType count: 1 - path: ../../htdocs/api/class/api.class.php + path: ../../../htdocs/api/class/api.class.php - message: '#^Method DolibarrApiAccess\:\:verifyAccess\(\) has parameter \$m with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_access.class.php + path: ../../../htdocs/api/class/api_access.class.php - message: '#^Property DolibarrApiAccess\:\:\$requires type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_access.class.php + path: ../../../htdocs/api/class/api_access.class.php - message: '#^Call to function is_object\(\) with ActionComm\|Adherent\|Commande\|CommandeFournisseur\|Contact\|Contrat\|ExpenseReport\|Facture\|FactureFournisseur\|Fichinter\|Mo\|Product\|Project\|Propal\|Task will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Method Documents\:\:builddoc\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Method Documents\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Method Documents\:\:getDocumentsListByElement\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Method Documents\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Method Documents\:\:post\(\) has parameter \$array_options with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Variable \$disablevirusscan in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Variable \$modulepart in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Variable \$relativefile might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/api/class/api_documents.class.php + path: ../../../htdocs/api/class/api_documents.class.php - message: '#^Method Login\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_login.class.php + path: ../../../htdocs/api/class/api_login.class.php - message: '#^Method Login\:\:loginUnsecured\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_login.class.php + path: ../../../htdocs/api/class/api_login.class.php - message: '#^Comparison operation "\<\=" between 0 and 0 is always true\.$#' identifier: smallerOrEqual.alwaysTrue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:deleteExtrafieldsFromNames\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getAvailability\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getCheckIntegrity\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getEstablishments\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getExtrafields\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfCivilities\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfContactTypes\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfCountries\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfCurrencies\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfEventTypes\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfExpenseReportsTypes\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfExtrafields\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfIncoterms\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfLegalForm\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfMeasuringUnits\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfRegions\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfStaff\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfStates\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfTowns\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getListOfsocialNetworks\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getOrderingMethods\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getOrderingOrigins\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getPaymentTerms\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getPaymentTypes\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getShippingModes\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getTicketsCategories\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getTicketsSeverities\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:getTicketsTypes\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:postExtrafields\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:translateLabel\(\) has parameter \$dict with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Setup\:\:updateExtrafields\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Parameter \#1 \$file_list of function getFilesUpdated expects array\{insignature\: array\, missing\?\: array\, updated\: array\\}, array\{\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Variable \$multicurrency in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Variable \$tmpfilelist3 in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/api/class/api_setup.class.php + path: ../../../htdocs/api/class/api_setup.class.php - message: '#^Method Status\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/api/class/api_status.class.php + path: ../../../htdocs/api/class/api_status.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/api/index.php + path: ../../../htdocs/api/index.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/accountancy_codes.php + path: ../../../htdocs/asset/accountancy_codes.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/asset/admin/setup.php + path: ../../../htdocs/asset/admin/setup.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/asset/admin/setup.php + path: ../../../htdocs/asset/admin/setup.php - message: '#^Loose comparison using \=\= between 1 and 1 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/asset/admin/setup.php + path: ../../../htdocs/asset/admin/setup.php - message: '#^Variable \$arrayofparameters in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/asset/admin/setup.php + path: ../../../htdocs/asset/admin/setup.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/admin/setup.php + path: ../../../htdocs/asset/admin/setup.php - message: '#^Variable \$setupnotempty in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/asset/admin/setup.php + path: ../../../htdocs/asset/admin/setup.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/asset/card.php + path: ../../../htdocs/asset/card.php - message: '#^Property Asset\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/card.php + path: ../../../htdocs/asset/card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/card.php + path: ../../../htdocs/asset/card.php - message: '#^Loose comparison using \=\= between 0 and 9 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/asset/class/asset.class.php + path: ../../../htdocs/asset/class/asset.class.php - message: '#^Loose comparison using \=\= between 9 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/asset/class/asset.class.php + path: ../../../htdocs/asset/class/asset.class.php - message: '#^Parameter \#4 \$depreciation_ht of method Asset\:\:addDepreciationLine\(\) expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/asset/class/asset.class.php + path: ../../../htdocs/asset/class/asset.class.php - message: '#^Parameter \#5 \$cumulative_depreciation_ht of method Asset\:\:addDepreciationLine\(\) expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/asset/class/asset.class.php + path: ../../../htdocs/asset/class/asset.class.php - message: '#^Property Asset\:\:\$date_start \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/asset/class/asset.class.php + path: ../../../htdocs/asset/class/asset.class.php - message: '#^Property Asset\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/class/asset.class.php + path: ../../../htdocs/asset/class/asset.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/class/asset.class.php + path: ../../../htdocs/asset/class/asset.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/asset/class/asset.class.php + path: ../../../htdocs/asset/class/asset.class.php - message: '#^Call to function is_callable\(\) with array\{\$this\(AssetDepreciationOptions\), ''validateField''\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/asset/class/assetdepreciationoptions.class.php + path: ../../../htdocs/asset/class/assetdepreciationoptions.class.php - message: '#^Call to function property_exists\(\) with AssetModel and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/asset/class/assetmodel.class.php + path: ../../../htdocs/asset/class/assetmodel.class.php - message: '#^Call to function property_exists\(\) with AssetModel and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/asset/class/assetmodel.class.php + path: ../../../htdocs/asset/class/assetmodel.class.php - message: '#^Call to function property_exists\(\) with AssetModel and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/asset/class/assetmodel.class.php + path: ../../../htdocs/asset/class/assetmodel.class.php - message: '#^Call to function property_exists\(\) with AssetModel and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/asset/class/assetmodel.class.php + path: ../../../htdocs/asset/class/assetmodel.class.php - message: '#^Call to function property_exists\(\) with AssetModel and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/asset/class/assetmodel.class.php + path: ../../../htdocs/asset/class/assetmodel.class.php - message: '#^Property AssetModel\:\:\$asset_accountancy_codes \(AssetAccountancyCodes\) in empty\(\) is not falsy\.$#' identifier: empty.property count: 2 - path: ../../htdocs/asset/class/assetmodel.class.php + path: ../../../htdocs/asset/class/assetmodel.class.php - message: '#^Property AssetModel\:\:\$asset_depreciation_options \(AssetDepreciationOptions\) in empty\(\) is not falsy\.$#' identifier: empty.property count: 2 - path: ../../htdocs/asset/class/assetmodel.class.php + path: ../../../htdocs/asset/class/assetmodel.class.php - message: '#^Property AssetModel\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/class/assetmodel.class.php + path: ../../../htdocs/asset/class/assetmodel.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/class/assetmodel.class.php + path: ../../../htdocs/asset/class/assetmodel.class.php - message: '#^Variable \$lines in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/asset/depreciation.php + path: ../../../htdocs/asset/depreciation.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/depreciation_options.php + path: ../../../htdocs/asset/depreciation_options.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/asset/list.php + path: ../../../htdocs/asset/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/asset/list.php + path: ../../../htdocs/asset/list.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/model/accountancy_codes.php + path: ../../../htdocs/asset/model/accountancy_codes.php - message: '#^Variable \$backtopageforcancel might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/model/accountancy_codes.php + path: ../../../htdocs/asset/model/accountancy_codes.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/model/agenda.php + path: ../../../htdocs/asset/model/agenda.php - message: '#^Property AssetModel\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/model/card.php + path: ../../../htdocs/asset/model/card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/model/card.php + path: ../../../htdocs/asset/model/card.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/asset/model/card.php + path: ../../../htdocs/asset/model/card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/model/depreciation_options.php + path: ../../../htdocs/asset/model/depreciation_options.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/asset/model/list.php + path: ../../../htdocs/asset/model/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/asset/model/list.php + path: ../../../htdocs/asset/model/list.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/asset/model/note.php + path: ../../../htdocs/asset/model/note.php - message: '#^Variable \$assetaccountancycodes might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/tpl/accountancy_codes_edit.tpl.php + path: ../../../htdocs/asset/tpl/accountancy_codes_edit.tpl.php - message: '#^Variable \$parameters might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/tpl/accountancy_codes_edit.tpl.php + path: ../../../htdocs/asset/tpl/accountancy_codes_edit.tpl.php - message: '#^Variable \$assetaccountancycodes might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/tpl/accountancy_codes_view.tpl.php + path: ../../../htdocs/asset/tpl/accountancy_codes_view.tpl.php - message: '#^Variable \$parameters might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/tpl/accountancy_codes_view.tpl.php + path: ../../../htdocs/asset/tpl/accountancy_codes_view.tpl.php - message: '#^Variable \$parameters might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/tpl/depreciation_options_edit.tpl.php + path: ../../../htdocs/asset/tpl/depreciation_options_edit.tpl.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/tpl/depreciation_options_view.tpl.php + path: ../../../htdocs/asset/tpl/depreciation_options_view.tpl.php - message: '#^Variable \$parameters might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/tpl/depreciation_options_view.tpl.php + path: ../../../htdocs/asset/tpl/depreciation_options_view.tpl.php - message: '#^Variable \$parameters might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/tpl/depreciation_view.tpl.php + path: ../../../htdocs/asset/tpl/depreciation_view.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/asset/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/asset/tpl/linkedobjectblock.tpl.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 4 - path: ../../htdocs/barcode/printsheet.php + path: ../../../htdocs/barcode/printsheet.php - message: '#^Variable \$code might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/barcode/printsheet.php + path: ../../../htdocs/barcode/printsheet.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/blockedlog/admin/blockedlog_list.php + path: ../../../htdocs/blockedlog/admin/blockedlog_list.php - message: '#^Strict comparison using \=\=\= between ''facture'' and ''facture'' will always evaluate to true\.$#' identifier: identical.alwaysTrue count: 1 - path: ../../htdocs/blockedlog/ajax/block-add.php + path: ../../../htdocs/blockedlog/ajax/block-add.php - message: '#^Call to function is_object\(\) with Don\|Facture\|FactureFournisseur\|PaymentVarious will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/blockedlog/class/blockedlog.class.php + path: ../../../htdocs/blockedlog/class/blockedlog.class.php - message: '#^Dead catch \- Exception is never thrown in the try block\.$#' identifier: catch.neverThrown count: 1 - path: ../../htdocs/blockedlog/class/blockedlog.class.php + path: ../../../htdocs/blockedlog/class/blockedlog.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/blockedlog/class/blockedlog.class.php + path: ../../../htdocs/blockedlog/class/blockedlog.class.php - message: '#^Property BOM\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bom/bom_card.php + path: ../../../htdocs/bom/bom_card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bom/bom_card.php + path: ../../../htdocs/bom/bom_card.php - message: '#^Variable \$idprod might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/bom/bom_card.php + path: ../../../htdocs/bom/bom_card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/bom/bom_list.php + path: ../../../htdocs/bom/bom_list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/bom/bom_list.php + path: ../../../htdocs/bom/bom_list.php - message: '#^Loose comparison using \=\= between ''treeview'' and ''treeview'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 3 - path: ../../htdocs/bom/bom_net_needs.php + path: ../../../htdocs/bom/bom_net_needs.php - message: '#^Property BOM\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bom/bom_net_needs.php + path: ../../../htdocs/bom/bom_net_needs.php - message: '#^Property CommonDict\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bom/bom_net_needs.php + path: ../../../htdocs/bom/bom_net_needs.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bom/bom_net_needs.php + path: ../../../htdocs/bom/bom_net_needs.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 3 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:deleteLine\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:getLines\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:postLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Method Boms\:\:putLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/bom/class/api_boms.class.php + path: ../../../htdocs/bom/class/api_boms.class.php - message: '#^Call to function method_exists\(\) with \$this\(BOM\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bom/class/bom.class.php + path: ../../../htdocs/bom/class/bom.class.php - message: '#^Call to function method_exists\(\) with \$this\(BOM\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bom/class/bom.class.php + path: ../../../htdocs/bom/class/bom.class.php - message: '#^Method BOM\:\:getNetNeedsTree\(\) has parameter \$TNetNeeds with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bom/class/bom.class.php + path: ../../../htdocs/bom/class/bom.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/bom/class/bom.class.php + path: ../../../htdocs/bom/class/bom.class.php - message: '#^Property BOM\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bom/class/bom.class.php + path: ../../../htdocs/bom/class/bom.class.php - message: '#^Property BOM\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bom/class/bom.class.php + path: ../../../htdocs/bom/class/bom.class.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/bom/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/bom/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/bom/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/bom/tpl/linkedobjectblock.tpl.php - message: '#^Call to function is_object\(\) with BOMLine will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bom/tpl/objectline_create.tpl.php + path: ../../../htdocs/bom/tpl/objectline_create.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/bom/tpl/objectline_create.tpl.php + path: ../../../htdocs/bom/tpl/objectline_create.tpl.php - message: '#^Variable \$extrafields might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/bom/tpl/objectline_create.tpl.php + path: ../../../htdocs/bom/tpl/objectline_create.tpl.php - message: '#^Call to function is_object\(\) with BOMLine will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bom/tpl/objectline_edit.tpl.php + path: ../../../htdocs/bom/tpl/objectline_edit.tpl.php - message: '#^Variable \$dateSelector might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/bom/tpl/objectline_edit.tpl.php + path: ../../../htdocs/bom/tpl/objectline_edit.tpl.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/bom/tpl/objectline_title.tpl.php + path: ../../../htdocs/bom/tpl/objectline_title.tpl.php - message: '#^Property CommonDict\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bom/tpl/objectline_view.tpl.php + path: ../../../htdocs/bom/tpl/objectline_view.tpl.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/bookcal/availabilities_card.php + path: ../../../htdocs/bookcal/availabilities_card.php - message: '#^Left side of \|\| is always true\.$#' identifier: booleanOr.leftAlwaysTrue count: 1 - path: ../../htdocs/bookcal/availabilities_card.php + path: ../../../htdocs/bookcal/availabilities_card.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/bookcal/availabilities_card.php + path: ../../../htdocs/bookcal/availabilities_card.php - message: '#^Property Availabilities\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bookcal/availabilities_card.php + path: ../../../htdocs/bookcal/availabilities_card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bookcal/availabilities_card.php + path: ../../../htdocs/bookcal/availabilities_card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 6 - path: ../../htdocs/bookcal/availabilities_card.php + path: ../../../htdocs/bookcal/availabilities_card.php - message: '#^Variable \$permissiontoadd in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/bookcal/availabilities_card.php + path: ../../../htdocs/bookcal/availabilities_card.php - message: '#^Variable \$soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/bookcal/availabilities_card.php + path: ../../../htdocs/bookcal/availabilities_card.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 1 - path: ../../htdocs/bookcal/availabilities_list.php + path: ../../../htdocs/bookcal/availabilities_list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/bookcal/availabilities_list.php + path: ../../../htdocs/bookcal/availabilities_list.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/bookcal/availabilities_list.php + path: ../../../htdocs/bookcal/availabilities_list.php - message: '#^Variable \$permissiontodelete in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/bookcal/availabilities_list.php + path: ../../../htdocs/bookcal/availabilities_list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/bookcal/booking_list.php + path: ../../../htdocs/bookcal/booking_list.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/bookcal/booking_list.php + path: ../../../htdocs/bookcal/booking_list.php - message: '#^Property Calendar\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bookcal/booking_list.php + path: ../../../htdocs/bookcal/booking_list.php - message: '#^Variable \$lineid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/bookcal/booking_list.php + path: ../../../htdocs/bookcal/booking_list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_agenda.php + path: ../../../htdocs/bookcal/calendar_agenda.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_agenda.php + path: ../../../htdocs/bookcal/calendar_agenda.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_card.php + path: ../../../htdocs/bookcal/calendar_card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/bookcal/calendar_card.php + path: ../../../htdocs/bookcal/calendar_card.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_card.php + path: ../../../htdocs/bookcal/calendar_card.php - message: '#^Property Calendar\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bookcal/calendar_card.php + path: ../../../htdocs/bookcal/calendar_card.php - message: '#^Property Calendar\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bookcal/calendar_card.php + path: ../../../htdocs/bookcal/calendar_card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 5 - path: ../../htdocs/bookcal/calendar_card.php + path: ../../../htdocs/bookcal/calendar_card.php - message: '#^Variable \$permissiontoadd in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/bookcal/calendar_card.php + path: ../../../htdocs/bookcal/calendar_card.php - message: '#^Variable \$soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/bookcal/calendar_card.php + path: ../../../htdocs/bookcal/calendar_card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_contact.php + path: ../../../htdocs/bookcal/calendar_contact.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_contact.php + path: ../../../htdocs/bookcal/calendar_contact.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/bookcal/calendar_contact.php + path: ../../../htdocs/bookcal/calendar_contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_document.php + path: ../../../htdocs/bookcal/calendar_document.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_document.php + path: ../../../htdocs/bookcal/calendar_document.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 1 - path: ../../htdocs/bookcal/calendar_list.php + path: ../../../htdocs/bookcal/calendar_list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_list.php + path: ../../../htdocs/bookcal/calendar_list.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_list.php + path: ../../../htdocs/bookcal/calendar_list.php - message: '#^Variable \$permissiontodelete in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/bookcal/calendar_list.php + path: ../../../htdocs/bookcal/calendar_list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_note.php + path: ../../../htdocs/bookcal/calendar_note.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/bookcal/calendar_note.php + path: ../../../htdocs/bookcal/calendar_note.php - message: '#^Call to function method_exists\(\) with \$this\(Availabilities\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Call to function method_exists\(\) with \$this\(Availabilities\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Call to function property_exists\(\) with \$this\(Availabilities\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Call to function property_exists\(\) with Availabilities and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Call to function property_exists\(\) with Availabilities and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Call to function property_exists\(\) with Availabilities and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Call to function property_exists\(\) with Availabilities and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Call to function property_exists\(\) with Availabilities and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Method Availabilities\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Method Availabilities\:\:getLinesArray\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Property Availabilities\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/bookcal/class/availabilities.class.php + path: ../../../htdocs/bookcal/class/availabilities.class.php - message: '#^Call to function method_exists\(\) with \$this\(Calendar\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Call to function method_exists\(\) with \$this\(Calendar\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Call to function property_exists\(\) with \$this\(Calendar\) and ''fk_soc'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Call to function property_exists\(\) with \$this\(Calendar\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Call to function property_exists\(\) with Calendar and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Call to function property_exists\(\) with Calendar and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Call to function property_exists\(\) with Calendar and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Call to function property_exists\(\) with Calendar and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Call to function property_exists\(\) with Calendar and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Property Calendar\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/bookcal/class/calendar.class.php + path: ../../../htdocs/bookcal/class/calendar.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 3 - path: ../../htdocs/bookcal/lib/bookcal_availabilities.lib.php + path: ../../../htdocs/bookcal/lib/bookcal_availabilities.lib.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/bookcal/lib/bookcal_availabilities.lib.php + path: ../../../htdocs/bookcal/lib/bookcal_availabilities.lib.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/bookcal/lib/bookcal_calendar.lib.php + path: ../../../htdocs/bookcal/lib/bookcal_calendar.lib.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/bookcal/lib/bookcal_calendar.lib.php + path: ../../../htdocs/bookcal/lib/bookcal_calendar.lib.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/bookmarks/bookmarks.lib.php + path: ../../../htdocs/bookmarks/bookmarks.lib.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/bookmarks/bookmarks.lib.php + path: ../../../htdocs/bookmarks/bookmarks.lib.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/bookmarks/list.php + path: ../../../htdocs/bookmarks/list.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/categories/card.php + path: ../../../htdocs/categories/card.php - message: '#^Method Categories\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:getListForObject\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:linkObjectById\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:linkObjectByRef\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:unlinkObjectById\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Method Categories\:\:unlinkObjectByRef\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/categories/class/api_categories.class.php + path: ../../../htdocs/categories/class/api_categories.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/categories/class/categorie.class.php + path: ../../../htdocs/categories/class/categorie.class.php - message: '#^Method Categorie\:\:get_full_arbo\(\) should return \-1\|array\ but returns array\\.$#' identifier: return.type count: 1 - path: ../../htdocs/categories/class/categorie.class.php + path: ../../../htdocs/categories/class/categorie.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/categories/class/categorie.class.php + path: ../../../htdocs/categories/class/categorie.class.php - message: '#^Parameter \#1 \$array of function dol_sort_array contains unresolvable type\.$#' identifier: argument.unresolvableType count: 1 - path: ../../htdocs/categories/class/categorie.class.php + path: ../../../htdocs/categories/class/categorie.class.php - message: '#^Property Categorie\:\:\$cats \(array\\) does not accept array\\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/categories/class/categorie.class.php + path: ../../../htdocs/categories/class/categorie.class.php - message: '#^Return type of call to function dol_sort_array contains unresolvable type\.$#' identifier: function.unresolvableReturnType count: 1 - path: ../../htdocs/categories/class/categorie.class.php + path: ../../../htdocs/categories/class/categorie.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/categories/class/categorie.class.php + path: ../../../htdocs/categories/class/categorie.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/categories/photos.php + path: ../../../htdocs/categories/photos.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/categories/photos.php + path: ../../../htdocs/categories/photos.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/collab/index.php + path: ../../../htdocs/collab/index.php - message: '#^Variable \$objectpage might not be defined\.$#' identifier: variable.undefined count: 11 - path: ../../htdocs/collab/index.php + path: ../../../htdocs/collab/index.php - message: '#^Loose comparison using \=\= between ''create'' and ''create'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/comm/action/card.php + path: ../../../htdocs/comm/action/card.php - message: '#^Loose comparison using \=\= between ''edit'' and ''create'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/comm/action/card.php + path: ../../../htdocs/comm/action/card.php - message: '#^Loose comparison using \=\= between 1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/comm/action/card.php + path: ../../../htdocs/comm/action/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/comm/action/card.php + path: ../../../htdocs/comm/action/card.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/comm/action/card.php + path: ../../../htdocs/comm/action/card.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/comm/action/card.php + path: ../../../htdocs/comm/action/card.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/comm/action/card.php + path: ../../../htdocs/comm/action/card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Property ActionComm\:\:\$contact_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Property ActionComm\:\:\$durationp \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Property ActionComm\:\:\$socid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Property ActionComm\:\:\$transparency \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Property ActionComm\:\:\$type_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Property ActionComm\:\:\$userownerid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 5 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Variable \$agenda_static might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/comm/action/class/actioncomm.class.php + path: ../../../htdocs/comm/action/class/actioncomm.class.php - message: '#^Method AgendaEvents\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/action/class/api_agendaevents.class.php + path: ../../../htdocs/comm/action/class/api_agendaevents.class.php - message: '#^Method AgendaEvents\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/action/class/api_agendaevents.class.php + path: ../../../htdocs/comm/action/class/api_agendaevents.class.php - message: '#^Method AgendaEvents\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/action/class/api_agendaevents.class.php + path: ../../../htdocs/comm/action/class/api_agendaevents.class.php - message: '#^Method AgendaEvents\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/action/class/api_agendaevents.class.php + path: ../../../htdocs/comm/action/class/api_agendaevents.class.php - message: '#^Method AgendaEvents\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/action/class/api_agendaevents.class.php + path: ../../../htdocs/comm/action/class/api_agendaevents.class.php - message: '#^Method AgendaEvents\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/action/class/api_agendaevents.class.php + path: ../../../htdocs/comm/action/class/api_agendaevents.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/comm/action/class/cactioncomm.class.php + path: ../../../htdocs/comm/action/class/cactioncomm.class.php - message: '#^Property CActionComm\:\:\$type_actions type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/action/class/cactioncomm.class.php + path: ../../../htdocs/comm/action/class/cactioncomm.class.php - message: '#^Variable \$TSystem might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/action/class/cactioncomm.class.php + path: ../../../htdocs/comm/action/class/cactioncomm.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/action/document.php + path: ../../../htdocs/comm/action/document.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^Parameter \#16 \$usergroupid of function print_actions_filter expects int, array\\|string given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^Parameter \#18 \$resourceid of function print_actions_filter expects int, array\\|string given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^Variable \$reshook in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^Variable \$theme_datacolor might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/action/index.php + path: ../../../htdocs/comm/action/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/action/info.php + path: ../../../htdocs/comm/action/info.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/comm/action/info.php + path: ../../../htdocs/comm/action/info.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/action/info.php + path: ../../../htdocs/comm/action/info.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/comm/action/list.php + path: ../../../htdocs/comm/action/list.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 4 - path: ../../htdocs/comm/action/list.php + path: ../../../htdocs/comm/action/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/comm/action/list.php + path: ../../../htdocs/comm/action/list.php - message: '#^Call to function is_array\(\) with array\{\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Comparison operation "\<" between int\<1, max\> and 1 is always false\.$#' identifier: smaller.alwaysFalse count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Loose comparison using \!\= between ''show_pertype'' and ''show_day'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Loose comparison using \!\= between ''show_pertype'' and ''show_peruser'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Loose comparison using \!\= between ''show_pertype'' and ''show_week'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Loose comparison using \!\= between 1 and '''' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Loose comparison using \!\= between 53 and '''' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Loose comparison using \=\= between int\<2, max\> and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Parameter \#3 \$status of function print_actions_filter expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 4 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Variable \$mode in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Variable \$theme_datacolor might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/action/pertype.php + path: ../../../htdocs/comm/action/pertype.php - message: '#^Call to function is_array\(\) with array\{\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Loose comparison using \!\= between ''show_peruser'' and ''show_day'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Loose comparison using \!\= between ''show_peruser'' and ''show_peruser'' will always evaluate to false\.$#' identifier: notEqual.alwaysFalse count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Loose comparison using \!\= between ''show_peruser'' and ''show_week'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Loose comparison using \=\= between ''show_peruser'' and ''list'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Loose comparison using \=\= between ''show_peruser'' and ''show_day'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Loose comparison using \=\= between ''show_peruser'' and ''show_month'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Loose comparison using \=\= between ''show_peruser'' and ''show_peruser'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Loose comparison using \=\= between ''show_peruser'' and ''show_week'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Loose comparison using \=\= between int\<2, max\> and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 4 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 10 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Variable \$labelbytype might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Variable \$mode in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Variable \$s might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Variable \$theme_datacolor might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/action/peruser.php + path: ../../../htdocs/comm/action/peruser.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/comm/action/rapport/index.php + path: ../../../htdocs/comm/action/rapport/index.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/comm/action/rapport/index.php + path: ../../../htdocs/comm/action/rapport/index.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 16 - path: ../../htdocs/comm/card.php + path: ../../../htdocs/comm/card.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 6 - path: ../../htdocs/comm/card.php + path: ../../../htdocs/comm/card.php - message: '#^Variable \$filedir in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 6 - path: ../../htdocs/comm/card.php + path: ../../../htdocs/comm/card.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 6 - path: ../../htdocs/comm/card.php + path: ../../../htdocs/comm/card.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 6 - path: ../../htdocs/comm/card.php + path: ../../../htdocs/comm/card.php - message: '#^Variable \$label might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/contact.php + path: ../../../htdocs/comm/contact.php - message: '#^Right side of && is always false\.$#' identifier: booleanAnd.rightAlwaysFalse count: 1 - path: ../../htdocs/comm/index.php + path: ../../../htdocs/comm/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/comm/mailing/advtargetemailing.php + path: ../../../htdocs/comm/mailing/advtargetemailing.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/comm/mailing/card.php + path: ../../../htdocs/comm/mailing/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/comm/mailing/card.php + path: ../../../htdocs/comm/mailing/card.php - message: '#^Parameter \#1 \$filenb of function dol_remove_file_process expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/comm/mailing/card.php + path: ../../../htdocs/comm/mailing/card.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/comm/mailing/card.php + path: ../../../htdocs/comm/mailing/card.php - message: '#^Variable \$mesg might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/mailing/card.php + path: ../../../htdocs/comm/mailing/card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 4 - path: ../../htdocs/comm/mailing/cibles.php + path: ../../../htdocs/comm/mailing/cibles.php - message: '#^Variable \$filter might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/mailing/cibles.php + path: ../../../htdocs/comm/mailing/cibles.php - message: '#^Variable \$mesg might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/mailing/cibles.php + path: ../../../htdocs/comm/mailing/cibles.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/comm/mailing/class/advtargetemailing.class.php + path: ../../../htdocs/comm/mailing/class/advtargetemailing.class.php - message: '#^Property AdvanceTargetingMailing\:\:\$filtervalue \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/comm/mailing/class/advtargetemailing.class.php + path: ../../../htdocs/comm/mailing/class/advtargetemailing.class.php - message: '#^Property AdvanceTargetingMailing\:\:\$fk_element \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/comm/mailing/class/advtargetemailing.class.php + path: ../../../htdocs/comm/mailing/class/advtargetemailing.class.php - message: '#^Property AdvanceTargetingMailing\:\:\$name \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/comm/mailing/class/advtargetemailing.class.php + path: ../../../htdocs/comm/mailing/class/advtargetemailing.class.php - message: '#^Property AdvanceTargetingMailing\:\:\$type_element \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/comm/mailing/class/advtargetemailing.class.php + path: ../../../htdocs/comm/mailing/class/advtargetemailing.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/comm/mailing/class/mailing.class.php + path: ../../../htdocs/comm/mailing/class/mailing.class.php - message: '#^Property Mailing\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/mailing/class/mailing.class.php + path: ../../../htdocs/comm/mailing/class/mailing.class.php - message: '#^Property Mailing\:\:\$sujet \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/mailing/class/mailing.class.php + path: ../../../htdocs/comm/mailing/class/mailing.class.php - message: '#^Property Mailing\:\:\$title \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/mailing/class/mailing.class.php + path: ../../../htdocs/comm/mailing/class/mailing.class.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 4 - path: ../../htdocs/comm/mailing/list.php + path: ../../../htdocs/comm/mailing/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/propal/agenda.php + path: ../../../htdocs/comm/propal/agenda.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/comm/propal/card.php + path: ../../../htdocs/comm/propal/card.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/card.php + path: ../../../htdocs/comm/propal/card.php - message: '#^Variable \$classname might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/comm/propal/card.php + path: ../../../htdocs/comm/propal/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 6 - path: ../../htdocs/comm/propal/card.php + path: ../../../htdocs/comm/propal/card.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/propal/card.php + path: ../../../htdocs/comm/propal/card.php - message: '#^Method Proposals\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:getLines\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:postContact\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:postLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:postLines\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Method Proposals\:\:putLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 4 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Property Proposals\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/api_proposals.class.php + path: ../../../htdocs/comm/propal/class/api_proposals.class.php - message: '#^Call to function method_exists\(\) with \$this\(Propal\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Call to function method_exists\(\) with \$this\(Propal\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Call to function property_exists\(\) with \$this\(Propal\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Call to function property_exists\(\) with \$this\(Propal\) and ''total_ht'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Method Propal\:\:liste_array\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 4 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Parameter \#15 \$pu_devise of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Parameter \#2 \$pu of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Parameter \#3 \$remise_percent_ligne of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Parameter \#5 \$uselocaltax1_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Parameter \#6 \$uselocaltax2_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$cond_reglement_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$mode_reglement_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$ref_ext \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$total_ht \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$total_localtax1 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$total_localtax2 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$total_ttc \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property CommonObject\:\:\$total_tva \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property Propal\:\:\$date_signature \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property Propal\:\:\$demand_reason_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property Propal\:\:\$ref_client \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property Propal\:\:\$socid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property Propal\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Property Propal\:\:\$user_author_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Variable \$error in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/comm/propal/class/propal.class.php + path: ../../../htdocs/comm/propal/class/propal.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/comm/propal/class/propaleligne.class.php + path: ../../../htdocs/comm/propal/class/propaleligne.class.php - message: '#^Property PropaleLigne\:\:\$info_bits \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propaleligne.class.php + path: ../../../htdocs/comm/propal/class/propaleligne.class.php - message: '#^Property PropaleLigne\:\:\$pa_ht \(float\|int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/comm/propal/class/propaleligne.class.php + path: ../../../htdocs/comm/propal/class/propaleligne.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/propal/contact.php + path: ../../../htdocs/comm/propal/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/propal/document.php + path: ../../../htdocs/comm/propal/document.php - message: '#^Loose comparison using \=\= between \-1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/comm/propal/list.php + path: ../../../htdocs/comm/propal/list.php - message: '#^Loose comparison using \=\= between \-1 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/comm/propal/list.php + path: ../../../htdocs/comm/propal/list.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/comm/propal/list.php + path: ../../../htdocs/comm/propal/list.php - message: '#^Right side of && is always false\.$#' identifier: booleanAnd.rightAlwaysFalse count: 1 - path: ../../htdocs/comm/propal/list.php + path: ../../../htdocs/comm/propal/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/comm/propal/list.php + path: ../../../htdocs/comm/propal/list.php - message: '#^Variable \$searchCategoryCustomerList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/comm/propal/list.php + path: ../../../htdocs/comm/propal/list.php - message: '#^Variable \$searchCategoryProductList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/comm/propal/list.php + path: ../../../htdocs/comm/propal/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/comm/propal/note.php + path: ../../../htdocs/comm/propal/note.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/comm/propal/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/comm/propal/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/comm/propal/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/comm/propal/tpl/linkedobjectblock.tpl.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/commande/agenda.php + path: ../../../htdocs/commande/agenda.php - message: '#^Loose comparison using \=\= between null and ''HT'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/commande/card.php + path: ../../../htdocs/commande/card.php - message: '#^Loose comparison using \=\= between null and ''TTC'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/commande/card.php + path: ../../../htdocs/commande/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/commande/card.php + path: ../../../htdocs/commande/card.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/commande/card.php + path: ../../../htdocs/commande/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/commande/card.php + path: ../../../htdocs/commande/card.php - message: '#^Variable \$classname might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/commande/card.php + path: ../../../htdocs/commande/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 6 - path: ../../htdocs/commande/card.php + path: ../../../htdocs/commande/card.php - message: '#^Method Orders\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:deleteContact\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:getLines\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:getOrderShipments\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:postContact\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:postLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Method Orders\:\:putLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 2 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Parameter \#1 \$object of method Orders\:\:_cleanObjectDatas\(\) expects object, array\\>\|int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Property Orders\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/commande/class/api_orders.class.php + path: ../../../htdocs/commande/class/api_orders.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 5 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Parameter \#15 \$pu_devise of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Parameter \#2 \$pu of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Parameter \#5 \$uselocaltax1_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Parameter \#6 \$uselocaltax2_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property Commande\:\:\$mode_reglement_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property Commande\:\:\$ref_client \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property Commande\:\:\$ref_customer \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property Commande\:\:\$socid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property Commande\:\:\$statut \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$cond_reglement_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$ref_ext \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$shipping_method_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$total_ht \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$total_localtax1 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$total_localtax2 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$total_ttc \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Property CommonObject\:\:\$total_tva \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Variable \$error in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/commande/class/commande.class.php + path: ../../../htdocs/commande/class/commande.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/commande/class/orderline.class.php + path: ../../../htdocs/commande/class/orderline.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/commande/contact.php + path: ../../../htdocs/commande/contact.php - message: '#^Variable \$addu might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/commande/customer.php + path: ../../../htdocs/commande/customer.php - message: '#^Variable \$begin might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/commande/customer.php + path: ../../../htdocs/commande/customer.php - message: '#^Variable \$maxlen might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/commande/customer.php + path: ../../../htdocs/commande/customer.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/commande/customer.php + path: ../../../htdocs/commande/customer.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/commande/document.php + path: ../../../htdocs/commande/document.php - message: '#^Call to function method_exists\(\) with Commande and ''fetch_lines'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/commande/list.php + path: ../../../htdocs/commande/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 6 - path: ../../htdocs/commande/list.php + path: ../../../htdocs/commande/list.php - message: '#^Loose comparison using \=\= between \-1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/commande/list.php + path: ../../../htdocs/commande/list.php - message: '#^Loose comparison using \=\= between \-1 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/commande/list.php + path: ../../../htdocs/commande/list.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/commande/list.php + path: ../../../htdocs/commande/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/commande/list.php + path: ../../../htdocs/commande/list.php - message: '#^Variable \$permissiontoadd might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/commande/list.php + path: ../../../htdocs/commande/list.php - message: '#^Variable \$searchCategoryCustomerList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/commande/list.php + path: ../../../htdocs/commande/list.php - message: '#^Variable \$searchCategoryProductList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/commande/list.php + path: ../../../htdocs/commande/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/commande/list_det.php + path: ../../../htdocs/commande/list_det.php - message: '#^Variable \$formproduct might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/commande/list_det.php + path: ../../../htdocs/commande/list_det.php - message: '#^Variable \$permissiontoadd might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/commande/list_det.php + path: ../../../htdocs/commande/list_det.php - message: '#^Variable \$searchCategoryProductOperator might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/commande/list_det.php + path: ../../../htdocs/commande/list_det.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/commande/note.php + path: ../../../htdocs/commande/note.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/commande/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/commande/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/commande/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/commande/tpl/linkedobjectblock.tpl.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 5 - path: ../../htdocs/compta/accounting-files.php + path: ../../../htdocs/compta/accounting-files.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/compta/accounting-files.php + path: ../../../htdocs/compta/accounting-files.php - message: '#^Variable \$modulepart might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/accounting-files.php + path: ../../../htdocs/compta/accounting-files.php - message: '#^Variable \$sql in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/accounting-files.php + path: ../../../htdocs/compta/accounting-files.php - message: '#^Variable \$ve might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/bank/account_statement_document.php + path: ../../../htdocs/compta/bank/account_statement_document.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/compta/bank/bankentries_list.php + path: ../../../htdocs/compta/bank/bankentries_list.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/compta/bank/bankentries_list.php + path: ../../../htdocs/compta/bank/bankentries_list.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/compta/bank/bankentries_list.php + path: ../../../htdocs/compta/bank/bankentries_list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/compta/bank/bankentries_list.php + path: ../../../htdocs/compta/bank/bankentries_list.php - message: '#^Variable \$dateop in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/bank/bankentries_list.php + path: ../../../htdocs/compta/bank/bankentries_list.php - message: '#^Variable \$noback in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/bank/card.php + path: ../../../htdocs/compta/bank/card.php - message: '#^Variable \$selectedcode in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/bank/card.php + path: ../../../htdocs/compta/bank/card.php - message: '#^Variable \$title might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/card.php + path: ../../../htdocs/compta/bank/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/compta/bank/categ.php + path: ../../../htdocs/compta/bank/categ.php - message: '#^Call to function method_exists\(\) with \$this\(Account\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/bank/class/account.class.php + path: ../../../htdocs/compta/bank/class/account.class.php - message: '#^Call to function method_exists\(\) with \$this\(Account\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/bank/class/account.class.php + path: ../../../htdocs/compta/bank/class/account.class.php - message: '#^Call to function method_exists\(\) with \$this\(Account\) and ''solde'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/bank/class/account.class.php + path: ../../../htdocs/compta/bank/class/account.class.php - message: '#^Call to function property_exists\(\) with \$this\(Account\) and ''type_lib'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/bank/class/account.class.php + path: ../../../htdocs/compta/bank/class/account.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/compta/bank/class/account.class.php + path: ../../../htdocs/compta/bank/class/account.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/compta/bank/class/account.class.php + path: ../../../htdocs/compta/bank/class/account.class.php - message: '#^Method BankAccounts\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Method BankAccounts\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Method BankAccounts\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Method BankAccounts\:\:deleteLine\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Method BankAccounts\:\:getLines\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Method BankAccounts\:\:getLinks\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Method BankAccounts\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Method BankAccounts\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Method BankAccounts\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Method BankAccounts\:\:transfer\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Property BankAccounts\:\:\$FIELDS has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Variable \$amount_to in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/bank/class/api_bankaccounts.class.php + path: ../../../htdocs/compta/bank/class/api_bankaccounts.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/bank/class/bankcateg.class.php + path: ../../../htdocs/compta/bank/class/bankcateg.class.php - message: '#^Property BankCateg\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/bank/class/bankcateg.class.php + path: ../../../htdocs/compta/bank/class/bankcateg.class.php - message: '#^Call to function method_exists\(\) with \$this\(PaymentVarious\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/bank/class/paymentvarious.class.php - - - - message: '#^Call to function property_exists\(\) with \$this\(PaymentVarious\) and ''accountancy_code'' will always evaluate to true\.$#' - identifier: function.alreadyNarrowedType - count: 1 - path: ../../htdocs/compta/bank/class/paymentvarious.class.php + path: ../../../htdocs/compta/bank/class/paymentvarious.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentVarious\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/bank/class/paymentvarious.class.php + path: ../../../htdocs/compta/bank/class/paymentvarious.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentVarious\) and ''datep'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/bank/class/paymentvarious.class.php + path: ../../../htdocs/compta/bank/class/paymentvarious.class.php - message: '#^Property PaymentVarious\:\:\$accountid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/bank/class/paymentvarious.class.php + path: ../../../htdocs/compta/bank/class/paymentvarious.class.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/graph.php + path: ../../../htdocs/compta/bank/graph.php - message: '#^Variable \$max might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/compta/bank/graph.php + path: ../../../htdocs/compta/bank/graph.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/compta/bank/line.php + path: ../../../htdocs/compta/bank/line.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/bank/line.php + path: ../../../htdocs/compta/bank/line.php - message: '#^Variable \$filepath might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/line.php + path: ../../../htdocs/compta/bank/line.php - message: '#^Variable \$oldfilepath might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/line.php + path: ../../../htdocs/compta/bank/line.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/bank/list.php + path: ../../../htdocs/compta/bank/list.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/compta/bank/list.php + path: ../../../htdocs/compta/bank/list.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/compta/bank/list.php + path: ../../../htdocs/compta/bank/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/bank/list.php + path: ../../../htdocs/compta/bank/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/bank/list.php + path: ../../../htdocs/compta/bank/list.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/compta/bank/list.php + path: ../../../htdocs/compta/bank/list.php - message: '#^Variable \$buttonreconcile might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/releve.php + path: ../../../htdocs/compta/bank/releve.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/bank/releve.php + path: ../../../htdocs/compta/bank/releve.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/bank/transfer.php + path: ../../../htdocs/compta/bank/transfer.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/compta/bank/transfer.php + path: ../../../htdocs/compta/bank/transfer.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/compta/bank/treso.php + path: ../../../htdocs/compta/bank/treso.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/treso.php + path: ../../../htdocs/compta/bank/treso.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/bank/treso.php + path: ../../../htdocs/compta/bank/treso.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/bank/various_payment/card.php + path: ../../../htdocs/compta/bank/various_payment/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/bank/various_payment/card.php + path: ../../../htdocs/compta/bank/various_payment/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/compta/bank/various_payment/card.php + path: ../../../htdocs/compta/bank/various_payment/card.php - message: '#^Variable \$accountline might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/various_payment/card.php + path: ../../../htdocs/compta/bank/various_payment/card.php - message: '#^Variable \$ref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/various_payment/card.php + path: ../../../htdocs/compta/bank/various_payment/card.php - message: '#^Right side of && is always false\.$#' identifier: booleanAnd.rightAlwaysFalse count: 1 - path: ../../htdocs/compta/bank/various_payment/document.php + path: ../../../htdocs/compta/bank/various_payment/document.php - message: '#^Variable \$formproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/various_payment/document.php + path: ../../../htdocs/compta/bank/various_payment/document.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/various_payment/document.php + path: ../../../htdocs/compta/bank/various_payment/document.php - message: '#^Variable \$morehtmlright might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/various_payment/document.php + path: ../../../htdocs/compta/bank/various_payment/document.php - message: '#^Right side of && is always false\.$#' identifier: booleanAnd.rightAlwaysFalse count: 1 - path: ../../htdocs/compta/bank/various_payment/info.php + path: ../../../htdocs/compta/bank/various_payment/info.php - message: '#^Variable \$formproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/various_payment/info.php + path: ../../../htdocs/compta/bank/various_payment/info.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/various_payment/info.php + path: ../../../htdocs/compta/bank/various_payment/info.php - message: '#^Variable \$morehtmlright might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/bank/various_payment/info.php + path: ../../../htdocs/compta/bank/various_payment/info.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/bank/various_payment/list.php + path: ../../../htdocs/compta/bank/various_payment/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/bank/various_payment/list.php + path: ../../../htdocs/compta/bank/various_payment/list.php - message: '#^Loose comparison using \=\= between ''card'' and ''card'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/compta/cashcontrol/cashcontrol_card.php + path: ../../../htdocs/compta/cashcontrol/cashcontrol_card.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 3 - path: ../../htdocs/compta/cashcontrol/cashcontrol_card.php + path: ../../../htdocs/compta/cashcontrol/cashcontrol_card.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/cashcontrol/cashcontrol_list.php + path: ../../../htdocs/compta/cashcontrol/cashcontrol_list.php - message: '#^Call to function method_exists\(\) with \$this\(CashControl\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/cashcontrol/class/cashcontrol.class.php + path: ../../../htdocs/compta/cashcontrol/class/cashcontrol.class.php - message: '#^Call to function method_exists\(\) with \$this\(CashControl\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/cashcontrol/class/cashcontrol.class.php + path: ../../../htdocs/compta/cashcontrol/class/cashcontrol.class.php - message: '#^Call to function property_exists\(\) with \$this\(CashControl\) and ''posmodule'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/cashcontrol/class/cashcontrol.class.php + path: ../../../htdocs/compta/cashcontrol/class/cashcontrol.class.php - message: '#^Call to function property_exists\(\) with \$this\(CashControl\) and ''year_close'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/cashcontrol/class/cashcontrol.class.php + path: ../../../htdocs/compta/cashcontrol/class/cashcontrol.class.php - message: '#^Call to function is_array\(\) with non\-empty\-array\<\(float\|int\)\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/cashcontrol/report.php + path: ../../../htdocs/compta/cashcontrol/report.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/compta/cashcontrol/report.php + path: ../../../htdocs/compta/cashcontrol/report.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/compta/charges/index.php + path: ../../../htdocs/compta/charges/index.php - message: '#^Variable \$addu might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/clients.php + path: ../../../htdocs/compta/clients.php - message: '#^Variable \$note might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/clients.php + path: ../../../htdocs/compta/clients.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/clients.php + path: ../../../htdocs/compta/clients.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/clients.php + path: ../../../htdocs/compta/clients.php - message: '#^Variable \$stcomm might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/clients.php + path: ../../../htdocs/compta/clients.php - message: '#^Variable \$mesg might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/deplacement/stats/index.php + path: ../../../htdocs/compta/deplacement/stats/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/agenda-rec.php + path: ../../../htdocs/compta/facture/agenda-rec.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/agenda.php + path: ../../../htdocs/compta/facture/agenda.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/compta/facture/card-rec.php + path: ../../../htdocs/compta/facture/card-rec.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 1 - path: ../../htdocs/compta/facture/card-rec.php + path: ../../../htdocs/compta/facture/card-rec.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/compta/facture/card-rec.php + path: ../../../htdocs/compta/facture/card-rec.php - message: '#^Comparison operation "\<" between '''' and 0 is always true\.$#' identifier: smaller.alwaysTrue - count: 2 - path: ../../htdocs/compta/facture/card.php + count: 1 + path: ../../../htdocs/compta/facture/card.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Loose comparison using \=\= between '''' and ''HT'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Loose comparison using \=\= between '''' and ''TTC'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Parameter \#12 \$localtaxes_array of function calcul_price_total expects array\{string, int\|string, string, int\|string, string, string\}\|array\{string, int\|string, string, string\}, array\{\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue - count: 2 - path: ../../htdocs/compta/facture/card.php + count: 1 + path: ../../../htdocs/compta/facture/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Variable \$classname might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Variable \$i might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/compta/facture/card.php - - - - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' - identifier: empty.variable - count: 10 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/facture/card.php + path: ../../../htdocs/compta/facture/card.php - message: '#^Method Invoices\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:addPaymentDistributed\(\) has parameter \$arrayofamounts with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:getLines\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:getPayments\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:postContact\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:postLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:putLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Method Invoices\:\:putPayment\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 5 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Property Invoices\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/compta/facture/class/api_invoices.class.php + path: ../../../htdocs/compta/facture/class/api_invoices.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/compta/facture/class/facture-rec.class.php + path: ../../../htdocs/compta/facture/class/facture-rec.class.php - message: '#^Parameter \#1 \$vatrate of function getLocalTaxesFromRate expects int\|string, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/compta/facture/class/facture-rec.class.php + path: ../../../htdocs/compta/facture/class/facture-rec.class.php - message: '#^Parameter \#17 \$fk_unit of method FactureRec\:\:addline\(\) expects string\|null, int\|null given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/compta/facture/class/facture-rec.class.php + path: ../../../htdocs/compta/facture/class/facture-rec.class.php - message: '#^Property CommonObject\:\:\$array_options \(array\\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/facture-rec.class.php + path: ../../../htdocs/compta/facture/class/facture-rec.class.php - message: '#^Property FactureRec\:\:\$titre \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture-rec.class.php + path: ../../../htdocs/compta/facture/class/facture-rec.class.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 1 - path: ../../htdocs/compta/facture/class/facture-rec.class.php + path: ../../../htdocs/compta/facture/class/facture-rec.class.php - message: '#^Call to function method_exists\(\) with \$this\(Facture\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Call to function method_exists\(\) with \$this\(Facture\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Call to function property_exists\(\) with \$this\(Facture\) and ''date'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Call to function property_exists\(\) with \$this\(Facture\) and ''total_ht'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Parameter \#12 \$localtaxes_array of function calcul_price_total expects array\{string, int\|string, string, int\|string, string, string\}\|array\{string, int\|string, string, string\}, array\{\} given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Parameter \#2 \$alreadypaid of method CommonInvoice\:\:getLibStatut\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Parameter \#4 \$txtva of method Facture\:\:addline\(\) expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$close_code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$close_note \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$cond_reglement_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$mode_reglement_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$socid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$subtype \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$totalcreditnotes \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$totaldeposits \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$totalpaid \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonInvoice\:\:\$type \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonObject\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property CommonObject\:\:\$ref_ext \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$fk_facture_source \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$paye \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$ref_client \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$retained_warranty \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$retained_warranty_fk_cond_reglement \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$revenuestamp \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$total_ht \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$total_localtax1 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$total_localtax2 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$total_ttc \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Property Facture\:\:\$total_tva \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 3 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/facture/class/facture.class.php + path: ../../../htdocs/compta/facture/class/facture.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/compta/facture/class/factureligne.class.php + path: ../../../htdocs/compta/facture/class/factureligne.class.php - message: '#^Property FactureLigne\:\:\$situation_percent \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/facture/class/factureligne.class.php + path: ../../../htdocs/compta/facture/class/factureligne.class.php - message: '#^Property PaymentTerm\:\:\$active \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/facture/class/paymentterm.class.php + path: ../../../htdocs/compta/facture/class/paymentterm.class.php - message: '#^Property PaymentTerm\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/facture/class/paymentterm.class.php + path: ../../../htdocs/compta/facture/class/paymentterm.class.php - message: '#^Property PaymentTerm\:\:\$decalage \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/facture/class/paymentterm.class.php + path: ../../../htdocs/compta/facture/class/paymentterm.class.php - message: '#^Property PaymentTerm\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/facture/class/paymentterm.class.php + path: ../../../htdocs/compta/facture/class/paymentterm.class.php - message: '#^Property PaymentTerm\:\:\$libelle \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/facture/class/paymentterm.class.php + path: ../../../htdocs/compta/facture/class/paymentterm.class.php - message: '#^Property PaymentTerm\:\:\$libelle_facture \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/facture/class/paymentterm.class.php + path: ../../../htdocs/compta/facture/class/paymentterm.class.php - message: '#^Property PaymentTerm\:\:\$nbjour \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/facture/class/paymentterm.class.php + path: ../../../htdocs/compta/facture/class/paymentterm.class.php - message: '#^Property PaymentTerm\:\:\$sortorder \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/facture/class/paymentterm.class.php + path: ../../../htdocs/compta/facture/class/paymentterm.class.php - message: '#^Property PaymentTerm\:\:\$type_cdr \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/facture/class/paymentterm.class.php + path: ../../../htdocs/compta/facture/class/paymentterm.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/contact.php + path: ../../../htdocs/compta/facture/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/document.php + path: ../../../htdocs/compta/facture/document.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/compta/facture/invoicetemplate_list.php + path: ../../../htdocs/compta/facture/invoicetemplate_list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/compta/facture/list.php + path: ../../../htdocs/compta/facture/list.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/compta/facture/list.php + path: ../../../htdocs/compta/facture/list.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/compta/facture/list.php + path: ../../../htdocs/compta/facture/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/compta/facture/list.php + path: ../../../htdocs/compta/facture/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/facture/list.php + path: ../../../htdocs/compta/facture/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/messaging.php + path: ../../../htdocs/compta/facture/messaging.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/note-rec.php + path: ../../../htdocs/compta/facture/note-rec.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/note.php + path: ../../../htdocs/compta/facture/note.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/facture/prelevement.php + path: ../../../htdocs/compta/facture/prelevement.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/facture/prelevement.php + path: ../../../htdocs/compta/facture/prelevement.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/facture/prelevement.php + path: ../../../htdocs/compta/facture/prelevement.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/facture/stats/index.php + path: ../../../htdocs/compta/facture/stats/index.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/compta/facture/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/compta/facture/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/facture/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/compta/facture/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/facture/tpl/linkedobjectblockForRec.tpl.php + path: ../../../htdocs/compta/facture/tpl/linkedobjectblockForRec.tpl.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/index.php + path: ../../../htdocs/compta/index.php - message: '#^Variable \$total_ht might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/index.php + path: ../../../htdocs/compta/index.php - message: '#^Variable \$total_ttc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/index.php + path: ../../../htdocs/compta/index.php - message: '#^Variable \$tabcompany might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/journal/purchasesjournal.php + path: ../../../htdocs/compta/journal/purchasesjournal.php - message: '#^Variable \$tabht might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/purchasesjournal.php + path: ../../../htdocs/compta/journal/purchasesjournal.php - message: '#^Variable \$tablocaltax1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/purchasesjournal.php + path: ../../../htdocs/compta/journal/purchasesjournal.php - message: '#^Variable \$tablocaltax2 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/purchasesjournal.php + path: ../../../htdocs/compta/journal/purchasesjournal.php - message: '#^Variable \$tabttc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/purchasesjournal.php + path: ../../../htdocs/compta/journal/purchasesjournal.php - message: '#^Variable \$tabtva might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/purchasesjournal.php + path: ../../../htdocs/compta/journal/purchasesjournal.php - message: '#^Variable \$tabcompany might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/compta/journal/sellsjournal.php + path: ../../../htdocs/compta/journal/sellsjournal.php - message: '#^Variable \$tabht might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/sellsjournal.php + path: ../../../htdocs/compta/journal/sellsjournal.php - message: '#^Variable \$tablocaltax1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/sellsjournal.php + path: ../../../htdocs/compta/journal/sellsjournal.php - message: '#^Variable \$tablocaltax2 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/sellsjournal.php + path: ../../../htdocs/compta/journal/sellsjournal.php - message: '#^Variable \$tabttc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/sellsjournal.php + path: ../../../htdocs/compta/journal/sellsjournal.php - message: '#^Variable \$tabtva might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/journal/sellsjournal.php + path: ../../../htdocs/compta/journal/sellsjournal.php - message: '#^Variable \$morehtmlref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/localtax/card.php + path: ../../../htdocs/compta/localtax/card.php - message: '#^Call to function method_exists\(\) with \$this\(Localtax\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/localtax/class/localtax.class.php + path: ../../../htdocs/compta/localtax/class/localtax.class.php - message: '#^Call to function property_exists\(\) with \$this\(Localtax\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/localtax/class/localtax.class.php + path: ../../../htdocs/compta/localtax/class/localtax.class.php - message: '#^Call to function property_exists\(\) with \$this\(Localtax\) and ''datep'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/localtax/class/localtax.class.php + path: ../../../htdocs/compta/localtax/class/localtax.class.php - message: '#^Call to function property_exists\(\) with \$this\(Localtax\) and ''datev'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/localtax/class/localtax.class.php + path: ../../../htdocs/compta/localtax/class/localtax.class.php - message: '#^Call to function property_exists\(\) with \$this\(Localtax\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/localtax/class/localtax.class.php + path: ../../../htdocs/compta/localtax/class/localtax.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/compta/localtax/class/localtax.class.php + path: ../../../htdocs/compta/localtax/class/localtax.class.php - message: '#^Variable \$arrayofselected might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/localtax/list.php + path: ../../../htdocs/compta/localtax/list.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/localtax/list.php + path: ../../../htdocs/compta/localtax/list.php - message: '#^Call to function is_array\(\) with list\\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/localtax/quadri_detail.php + path: ../../../htdocs/compta/localtax/quadri_detail.php - message: '#^Comparison operation "\<" between 0 and 4 is always true\.$#' identifier: smaller.alwaysTrue count: 1 - path: ../../htdocs/compta/localtax/quadri_detail.php + path: ../../../htdocs/compta/localtax/quadri_detail.php - message: '#^Comparison operation "\>" between 0 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/compta/localtax/quadri_detail.php + path: ../../../htdocs/compta/localtax/quadri_detail.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/localtax/quadri_detail.php + path: ../../../htdocs/compta/localtax/quadri_detail.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/compta/paiement.php + path: ../../../htdocs/compta/paiement.php - message: '#^Variable \$marginInfo might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/paiement/card.php + path: ../../../htdocs/compta/paiement/card.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/paiement/card.php + path: ../../../htdocs/compta/paiement/card.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/paiement/cheque/card.php + path: ../../../htdocs/compta/paiement/cheque/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/compta/paiement/cheque/card.php + path: ../../../htdocs/compta/paiement/cheque/card.php - message: '#^Call to function method_exists\(\) with \$this\(RemiseCheque\) and ''LibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/paiement/cheque/class/remisecheque.class.php + path: ../../../htdocs/compta/paiement/cheque/class/remisecheque.class.php - message: '#^Call to function method_exists\(\) with \$this\(RemiseCheque\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/paiement/cheque/class/remisecheque.class.php + path: ../../../htdocs/compta/paiement/cheque/class/remisecheque.class.php - message: '#^Call to function property_exists\(\) with \$this\(RemiseCheque\) and ''account_id'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/paiement/cheque/class/remisecheque.class.php + path: ../../../htdocs/compta/paiement/cheque/class/remisecheque.class.php - message: '#^Call to function property_exists\(\) with \$this\(RemiseCheque\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/paiement/cheque/class/remisecheque.class.php + path: ../../../htdocs/compta/paiement/cheque/class/remisecheque.class.php - message: '#^Call to function property_exists\(\) with \$this\(RemiseCheque\) and ''date_bordereau'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/paiement/cheque/class/remisecheque.class.php + path: ../../../htdocs/compta/paiement/cheque/class/remisecheque.class.php - message: '#^Call to function property_exists\(\) with \$this\(RemiseCheque\) and ''nbcheque'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/paiement/cheque/class/remisecheque.class.php + path: ../../../htdocs/compta/paiement/cheque/class/remisecheque.class.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/compta/paiement/cheque/class/remisecheque.class.php + path: ../../../htdocs/compta/paiement/cheque/class/remisecheque.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/paiement/cheque/list.php + path: ../../../htdocs/compta/paiement/cheque/list.php - message: '#^Property RemiseCheque\:\:\$account_id \(int\) does not accept string\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/compta/paiement/cheque/list.php + path: ../../../htdocs/compta/paiement/cheque/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/paiement/cheque/list.php + path: ../../../htdocs/compta/paiement/cheque/list.php - message: '#^Variable \$arrayofselected might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/paiement/cheque/list.php + path: ../../../htdocs/compta/paiement/cheque/list.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Property CommonDict\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Property CommonDict\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Property CommonDict\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Property CommonDict\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Property Cpaiement\:\:\$accountancy_code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Property Cpaiement\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Property Cpaiement\:\:\$libelle \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Property Cpaiement\:\:\$module \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Property Cpaiement\:\:\$type \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/compta/paiement/class/cpaiement.class.php + path: ../../../htdocs/compta/paiement/class/cpaiement.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/paiement/class/paiement.class.php + path: ../../../htdocs/compta/paiement/class/paiement.class.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/paiement/document.php + path: ../../../htdocs/compta/paiement/document.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/paiement/list.php + path: ../../../htdocs/compta/paiement/list.php - message: '#^Left side of \|\| is always false\.$#' identifier: booleanOr.leftAlwaysFalse count: 3 - path: ../../htdocs/compta/paiement/list.php + path: ../../../htdocs/compta/paiement/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/paiement/list.php + path: ../../../htdocs/compta/paiement/list.php - message: '#^Variable \$arrayofselected might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/compta/paiement/list.php + path: ../../../htdocs/compta/paiement/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/paiement/list.php + path: ../../../htdocs/compta/paiement/list.php - message: '#^Comparison operation "\>" between 1 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/compta/paiement_charge.php + path: ../../../htdocs/compta/paiement_charge.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/paiement_charge.php + path: ../../../htdocs/compta/paiement_charge.php - message: '#^Comparison operation "\>" between 1 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/compta/paiement_vat.php + path: ../../../htdocs/compta/paiement_vat.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/compta/paiement_vat.php + path: ../../../htdocs/compta/paiement_vat.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/prelevement/card.php + path: ../../../htdocs/compta/prelevement/card.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/prelevement/card.php + path: ../../../htdocs/compta/prelevement/card.php - message: '#^Call to function method_exists\(\) with \$this\(BonPrelevement\) and ''LibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Call to function method_exists\(\) with \$this\(BonPrelevement\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Call to function property_exists\(\) with \$this\(BonPrelevement\) and ''date_echeance'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Call to function property_exists\(\) with \$this\(BonPrelevement\) and ''total'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Property BonPrelevement\:\:\$amount \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Property BonPrelevement\:\:\$date_trans \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Property BonPrelevement\:\:\$factures has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Property BonPrelevement\:\:\$invoice_in_error has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Property BonPrelevement\:\:\$thirdparty_in_error has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Right side of \|\| is always true\.$#' identifier: booleanOr.rightAlwaysTrue count: 2 - path: ../../htdocs/compta/prelevement/class/bonprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/bonprelevement.class.php - message: '#^Property LignePrelevement\:\:\$labelStatus has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/compta/prelevement/class/ligneprelevement.class.php + path: ../../../htdocs/compta/prelevement/class/ligneprelevement.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/compta/prelevement/create.php + path: ../../../htdocs/compta/prelevement/create.php - message: '#^Variable \$massaction might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/prelevement/demandes.php + path: ../../../htdocs/compta/prelevement/demandes.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/prelevement/list.php + path: ../../../htdocs/compta/prelevement/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/prelevement/orders_list.php + path: ../../../htdocs/compta/prelevement/orders_list.php - message: '#^Offset ''checked'' on array\{label\: ''Date'', checked\: 1\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/compta/recap-compta.php + path: ../../../htdocs/compta/recap-compta.php - message: '#^Parameter \#1 \$array of function dol_sort_array contains unresolvable type\.$#' identifier: argument.unresolvableType count: 2 - path: ../../htdocs/compta/recap-compta.php + path: ../../../htdocs/compta/recap-compta.php - message: '#^Return type of call to function dol_sort_array contains unresolvable type\.$#' identifier: function.unresolvableReturnType count: 2 - path: ../../htdocs/compta/recap-compta.php + path: ../../../htdocs/compta/recap-compta.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/resultat/clientfourn.php + path: ../../../htdocs/compta/resultat/clientfourn.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/resultat/clientfourn.php + path: ../../../htdocs/compta/resultat/clientfourn.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/resultat/index.php + path: ../../../htdocs/compta/resultat/index.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/compta/resultat/index.php + path: ../../../htdocs/compta/resultat/index.php - message: '#^Call to function is_array\(\) with non\-empty\-array\\}\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/resultat/result.php + path: ../../../htdocs/compta/resultat/result.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/resultat/result.php + path: ../../../htdocs/compta/resultat/result.php - message: '#^Variable \$code might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/resultat/result.php + path: ../../../htdocs/compta/resultat/result.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/resultat/result.php + path: ../../../htdocs/compta/resultat/result.php - message: '#^Variable \$sommes in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/resultat/result.php + path: ../../../htdocs/compta/resultat/result.php - message: '#^Variable \$totCat in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/resultat/result.php + path: ../../../htdocs/compta/resultat/result.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/compta/sociales/card.php + path: ../../../htdocs/compta/sociales/card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/sociales/card.php + path: ../../../htdocs/compta/sociales/card.php - message: '#^Variable \$resteapayer might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/compta/sociales/card.php + path: ../../../htdocs/compta/sociales/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/sociales/class/cchargesociales.class.php + path: ../../../htdocs/compta/sociales/class/cchargesociales.class.php - message: '#^Property Cchargesociales\:\:\$accountancy_code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/sociales/class/cchargesociales.class.php + path: ../../../htdocs/compta/sociales/class/cchargesociales.class.php - message: '#^Property Cchargesociales\:\:\$active \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/sociales/class/cchargesociales.class.php + path: ../../../htdocs/compta/sociales/class/cchargesociales.class.php - message: '#^Property Cchargesociales\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/sociales/class/cchargesociales.class.php + path: ../../../htdocs/compta/sociales/class/cchargesociales.class.php - message: '#^Property Cchargesociales\:\:\$deductible \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/sociales/class/cchargesociales.class.php + path: ../../../htdocs/compta/sociales/class/cchargesociales.class.php - message: '#^Property Cchargesociales\:\:\$fk_pays \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/sociales/class/cchargesociales.class.php + path: ../../../htdocs/compta/sociales/class/cchargesociales.class.php - message: '#^Property Cchargesociales\:\:\$libelle \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/sociales/class/cchargesociales.class.php + path: ../../../htdocs/compta/sociales/class/cchargesociales.class.php - message: '#^Property Cchargesociales\:\:\$module \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/compta/sociales/class/cchargesociales.class.php + path: ../../../htdocs/compta/sociales/class/cchargesociales.class.php - message: '#^Call to function method_exists\(\) with \$this\(ChargeSociales\) and ''LibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/sociales/class/chargesociales.class.php + path: ../../../htdocs/compta/sociales/class/chargesociales.class.php - message: '#^Call to function method_exists\(\) with \$this\(ChargeSociales\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/sociales/class/chargesociales.class.php + path: ../../../htdocs/compta/sociales/class/chargesociales.class.php - message: '#^Call to function property_exists\(\) with \$this\(ChargeSociales\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/sociales/class/chargesociales.class.php + path: ../../../htdocs/compta/sociales/class/chargesociales.class.php - message: '#^Call to function property_exists\(\) with \$this\(ChargeSociales\) and ''date_ech'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/sociales/class/chargesociales.class.php + path: ../../../htdocs/compta/sociales/class/chargesociales.class.php - message: '#^Call to function property_exists\(\) with \$this\(ChargeSociales\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/sociales/class/chargesociales.class.php + path: ../../../htdocs/compta/sociales/class/chargesociales.class.php - message: '#^Property ChargeSociales\:\:\$paye \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/sociales/class/chargesociales.class.php + path: ../../../htdocs/compta/sociales/class/chargesociales.class.php - message: '#^Property PaymentSocialContribution\:\:\$amount \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php + path: ../../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php - message: '#^Property PaymentSocialContribution\:\:\$datec has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php + path: ../../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php - message: '#^Property PaymentSocialContribution\:\:\$datep has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php + path: ../../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php - message: '#^Property PaymentSocialContribution\:\:\$fk_bank \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php + path: ../../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php - message: '#^Property PaymentSocialContribution\:\:\$fk_charge \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php + path: ../../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php - message: '#^Property PaymentSocialContribution\:\:\$fk_typepaiement \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php + path: ../../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php - message: '#^Property PaymentSocialContribution\:\:\$fk_user_creat \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php + path: ../../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php - message: '#^Property PaymentSocialContribution\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php + path: ../../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php - message: '#^Property PaymentSocialContribution\:\:\$num_payment \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php + path: ../../../htdocs/compta/sociales/class/paymentsocialcontribution.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/sociales/list.php + path: ../../../htdocs/compta/sociales/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/sociales/list.php + path: ../../../htdocs/compta/sociales/list.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/compta/sociales/payments.php + path: ../../../htdocs/compta/sociales/payments.php - message: '#^Strict comparison using \!\=\= between mixed and null will always evaluate to true\.$#' identifier: notIdentical.alwaysTrue count: 1 - path: ../../htdocs/compta/sociales/payments.php + path: ../../../htdocs/compta/sociales/payments.php - message: '#^Loose comparison using \=\= between \-1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/compta/stats/cabyprodserv.php + path: ../../../htdocs/compta/stats/cabyprodserv.php - message: '#^Loose comparison using \=\= between \-1 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/compta/stats/cabyprodserv.php + path: ../../../htdocs/compta/stats/cabyprodserv.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/stats/cabyprodserv.php + path: ../../../htdocs/compta/stats/cabyprodserv.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/cabyprodserv.php + path: ../../../htdocs/compta/stats/cabyprodserv.php - message: '#^Variable \$searchCategorySocieteList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/stats/cabyprodserv.php + path: ../../../htdocs/compta/stats/cabyprodserv.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/stats/cabyprodserv.php + path: ../../../htdocs/compta/stats/cabyprodserv.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/stats/cabyprodserv.php + path: ../../../htdocs/compta/stats/cabyprodserv.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/cabyprodserv.php + path: ../../../htdocs/compta/stats/cabyprodserv.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/stats/cabyuser.php + path: ../../../htdocs/compta/stats/cabyuser.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/cabyuser.php + path: ../../../htdocs/compta/stats/cabyuser.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/cabyuser.php + path: ../../../htdocs/compta/stats/cabyuser.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/stats/casoc.php + path: ../../../htdocs/compta/stats/casoc.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/casoc.php + path: ../../../htdocs/compta/stats/casoc.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/compta/stats/casoc.php + path: ../../../htdocs/compta/stats/casoc.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/stats/index.php + path: ../../../htdocs/compta/stats/index.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/index.php + path: ../../../htdocs/compta/stats/index.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/index.php + path: ../../../htdocs/compta/stats/index.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/stats/supplier_turnover.php + path: ../../../htdocs/compta/stats/supplier_turnover.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/supplier_turnover.php + path: ../../../htdocs/compta/stats/supplier_turnover.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/supplier_turnover.php + path: ../../../htdocs/compta/stats/supplier_turnover.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/stats/supplier_turnover_by_prodserv.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_prodserv.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/supplier_turnover_by_prodserv.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_prodserv.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/supplier_turnover_by_prodserv.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_prodserv.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/stats/supplier_turnover_by_prodserv.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_prodserv.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/compta/stats/supplier_turnover_by_prodserv.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_prodserv.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/supplier_turnover_by_prodserv.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_prodserv.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/stats/supplier_turnover_by_thirdparty.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_thirdparty.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/supplier_turnover_by_thirdparty.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_thirdparty.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/stats/supplier_turnover_by_thirdparty.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_thirdparty.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/compta/stats/supplier_turnover_by_thirdparty.php + path: ../../../htdocs/compta/stats/supplier_turnover_by_thirdparty.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/compta/tva/card.php + path: ../../../htdocs/compta/tva/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/compta/tva/card.php + path: ../../../htdocs/compta/tva/card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/tva/card.php + path: ../../../htdocs/compta/tva/card.php - message: '#^Property PaymentVAT\:\:\$amount \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/tva/class/paymentvat.class.php + path: ../../../htdocs/compta/tva/class/paymentvat.class.php - message: '#^Property PaymentVAT\:\:\$fk_bank \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/tva/class/paymentvat.class.php + path: ../../../htdocs/compta/tva/class/paymentvat.class.php - message: '#^Property PaymentVAT\:\:\$fk_tva \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/tva/class/paymentvat.class.php + path: ../../../htdocs/compta/tva/class/paymentvat.class.php - message: '#^Property PaymentVAT\:\:\$fk_typepaiement \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/tva/class/paymentvat.class.php + path: ../../../htdocs/compta/tva/class/paymentvat.class.php - message: '#^Property PaymentVAT\:\:\$fk_user_creat \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/tva/class/paymentvat.class.php + path: ../../../htdocs/compta/tva/class/paymentvat.class.php - message: '#^Property PaymentVAT\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/tva/class/paymentvat.class.php + path: ../../../htdocs/compta/tva/class/paymentvat.class.php - message: '#^Property PaymentVAT\:\:\$num_paiement \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/compta/tva/class/paymentvat.class.php + path: ../../../htdocs/compta/tva/class/paymentvat.class.php - message: '#^Property PaymentVAT\:\:\$num_payment \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/compta/tva/class/paymentvat.class.php + path: ../../../htdocs/compta/tva/class/paymentvat.class.php - message: '#^Call to function method_exists\(\) with \$this\(Tva\) and ''LibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/tva/class/tva.class.php + path: ../../../htdocs/compta/tva/class/tva.class.php - message: '#^Call to function method_exists\(\) with \$this\(Tva\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/tva/class/tva.class.php + path: ../../../htdocs/compta/tva/class/tva.class.php - message: '#^Call to function property_exists\(\) with \$this\(Tva\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/tva/class/tva.class.php + path: ../../../htdocs/compta/tva/class/tva.class.php - message: '#^Call to function property_exists\(\) with \$this\(Tva\) and ''datev'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/tva/class/tva.class.php + path: ../../../htdocs/compta/tva/class/tva.class.php - message: '#^Call to function property_exists\(\) with \$this\(Tva\) and ''type_payment'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/tva/class/tva.class.php + path: ../../../htdocs/compta/tva/class/tva.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/compta/tva/class/tva.class.php + path: ../../../htdocs/compta/tva/class/tva.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Comparison operation "\<" between 0 and 4 is always true\.$#' identifier: smaller.alwaysTrue count: 1 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Comparison operation "\>" between 0 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Variable \$date_end might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Variable \$date_start might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Variable \$date_start_year might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Variable \$description might not be defined\.$#' identifier: variable.undefined count: 8 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Variable \$year_current might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/tva/clients.php + path: ../../../htdocs/compta/tva/clients.php - message: '#^Strict comparison using \=\=\= between true and true will always evaluate to true\.$#' identifier: identical.alwaysTrue count: 1 - path: ../../htdocs/compta/tva/index.php + path: ../../../htdocs/compta/tva/index.php - message: '#^Variable \$date_end might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/compta/tva/index.php + path: ../../../htdocs/compta/tva/index.php - message: '#^Variable \$date_start might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/compta/tva/index.php + path: ../../../htdocs/compta/tva/index.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/compta/tva/list.php + path: ../../../htdocs/compta/tva/list.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/compta/tva/payments.php + path: ../../../htdocs/compta/tva/payments.php - message: '#^Strict comparison using \!\=\= between mixed and null will always evaluate to true\.$#' identifier: notIdentical.alwaysTrue count: 1 - path: ../../htdocs/compta/tva/payments.php + path: ../../../htdocs/compta/tva/payments.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/compta/tva/payments.php + path: ../../../htdocs/compta/tva/payments.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Comparison operation "\<" between 0 and 4 is always true\.$#' identifier: smaller.alwaysTrue count: 1 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Comparison operation "\>" between 0 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Variable \$date_end might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Variable \$date_end_day might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Variable \$date_end_month might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Variable \$date_end_year might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Variable \$date_start might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Variable \$date_start_day might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Variable \$date_start_month might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Variable \$date_start_year might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Variable \$year_current might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/compta/tva/quadri_detail.php + path: ../../../htdocs/compta/tva/quadri_detail.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/contact/ajax/contact.php + path: ../../../htdocs/contact/ajax/contact.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/contact/ajax/contact.php + path: ../../../htdocs/contact/ajax/contact.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/contact/card.php + path: ../../../htdocs/contact/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/contact/card.php + path: ../../../htdocs/contact/card.php - message: '#^Property Societe\:\:\$typent_code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 6 - path: ../../htdocs/contact/card.php + path: ../../../htdocs/contact/card.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 4 - path: ../../htdocs/contact/card.php + path: ../../../htdocs/contact/card.php - message: '#^Variable \$objsoc in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contact/card.php + path: ../../../htdocs/contact/card.php - message: '#^Variable \$triggermodname in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contact/card.php + path: ../../../htdocs/contact/card.php - message: '#^Call to function method_exists\(\) with \$this\(Contact\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Call to function method_exists\(\) with \$this\(Contact\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Call to function property_exists\(\) with \$this\(Contact\) and ''photo'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Call to function property_exists\(\) with \$this\(Contact\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Property Contact\:\:\$roles \(array\\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Property Contact\:\:\$stcomm_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/contact/class/contact.class.php + path: ../../../htdocs/contact/class/contact.class.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/contact/consumption.php + path: ../../../htdocs/contact/consumption.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contact/consumption.php + path: ../../../htdocs/contact/consumption.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 3 - path: ../../htdocs/contact/list.php + path: ../../../htdocs/contact/list.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 3 - path: ../../htdocs/contact/list.php + path: ../../../htdocs/contact/list.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 3 - path: ../../htdocs/contact/list.php + path: ../../../htdocs/contact/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 3 - path: ../../htdocs/contact/list.php + path: ../../../htdocs/contact/list.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/contact/list.php + path: ../../../htdocs/contact/list.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/contact/list.php + path: ../../../htdocs/contact/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contact/list.php + path: ../../../htdocs/contact/list.php - message: '#^Variable \$ref in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contact/list.php + path: ../../../htdocs/contact/list.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/contact/perso.php + path: ../../../htdocs/contact/perso.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/contrat/agenda.php + path: ../../../htdocs/contrat/agenda.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contrat/agenda.php + path: ../../../htdocs/contrat/agenda.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/contrat/card.php + path: ../../../htdocs/contrat/card.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/contrat/card.php + path: ../../../htdocs/contrat/card.php - message: '#^Variable \$canchangeproduct in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contrat/card.php + path: ../../../htdocs/contrat/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/contrat/card.php + path: ../../../htdocs/contrat/card.php - message: '#^Variable \$senderissupplier in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contrat/card.php + path: ../../../htdocs/contrat/card.php - message: '#^Variable \$tmpcode might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/contrat/card.php + path: ../../../htdocs/contrat/card.php - message: '#^Method Contracts\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:close\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:getLines\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:postLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:putLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Method Contracts\:\:validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Property Contracts\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/contrat/class/api_contracts.class.php + path: ../../../htdocs/contrat/class/api_contracts.class.php - message: '#^Call to function method_exists\(\) with \$this\(Contrat\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Call to function method_exists\(\) with \$this\(Contrat\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Call to function property_exists\(\) with \$this\(Contrat\) and ''date_contrat'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 6 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Parameter \#1 \$qty of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Parameter \#5 \$uselocaltax1_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Parameter \#6 \$uselocaltax2_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property CommonObject\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property CommonObject\:\:\$ref_ext \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property Contrat\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property Contrat\:\:\$fk_commercial_signature \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property Contrat\:\:\$fk_commercial_suivi \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property Contrat\:\:\$ref_customer \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property Contrat\:\:\$ref_supplier \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property Contrat\:\:\$socid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property Contrat\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Property Contrat\:\:\$statut \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/contrat/class/contrat.class.php + path: ../../../htdocs/contrat/class/contrat.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/contrat/class/contratligne.class.php + path: ../../../htdocs/contrat/class/contratligne.class.php - message: '#^Offset ''label'' on array\{label\: non\-falsy\-string\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/contrat/class/contratligne.class.php + path: ../../../htdocs/contrat/class/contratligne.class.php - message: '#^Parameter \#4 \$txtva of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/contrat/class/contratligne.class.php + path: ../../../htdocs/contrat/class/contratligne.class.php - message: '#^Variable \$label in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contrat/class/contratligne.class.php + path: ../../../htdocs/contrat/class/contratligne.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/contrat/contact.php + path: ../../../htdocs/contrat/contact.php - message: '#^Variable \$mesg might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/contrat/contact.php + path: ../../../htdocs/contrat/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/contrat/document.php + path: ../../../htdocs/contrat/document.php - message: '#^Variable \$badgeStatus0 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/contrat/index.php + path: ../../../htdocs/contrat/index.php - message: '#^Variable \$badgeStatus1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/contrat/index.php + path: ../../../htdocs/contrat/index.php - message: '#^Variable \$badgeStatus4 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/contrat/index.php + path: ../../../htdocs/contrat/index.php - message: '#^Variable \$badgeStatus6 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/contrat/index.php + path: ../../../htdocs/contrat/index.php - message: '#^Loose comparison using \=\= between \-1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/contrat/list.php + path: ../../../htdocs/contrat/list.php - message: '#^Loose comparison using \=\= between \-1 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/contrat/list.php + path: ../../../htdocs/contrat/list.php - message: '#^Parameter \#2 \$array of static method Form\:\:multiselectarray\(\) expects array\, non\-empty\-array\\|non\-empty\-string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/contrat/list.php + path: ../../../htdocs/contrat/list.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/contrat/list.php + path: ../../../htdocs/contrat/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contrat/list.php + path: ../../../htdocs/contrat/list.php - message: '#^Variable \$searchCategoryProductList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contrat/list.php + path: ../../../htdocs/contrat/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/contrat/messaging.php + path: ../../../htdocs/contrat/messaging.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/contrat/messaging.php + path: ../../../htdocs/contrat/messaging.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/contrat/note.php + path: ../../../htdocs/contrat/note.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 1 - path: ../../htdocs/contrat/services_list.php + path: ../../../htdocs/contrat/services_list.php - message: '#^Loose comparison using \=\= between '''' and \-1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/contrat/services_list.php + path: ../../../htdocs/contrat/services_list.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 6 - path: ../../htdocs/contrat/services_list.php + path: ../../../htdocs/contrat/services_list.php - message: '#^Variable \$filter_opcloture in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/contrat/services_list.php + path: ../../../htdocs/contrat/services_list.php - message: '#^Property Ticket\:\:\$progress \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/contrat/ticket.php + path: ../../../htdocs/contrat/ticket.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/contrat/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/contrat/tpl/linkedobjectblock.tpl.php - message: '#^Loose comparison using \=\= between 1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/actions_addupdatedelete.inc.php + path: ../../../htdocs/core/actions_addupdatedelete.inc.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/core/actions_addupdatedelete.inc.php + path: ../../../htdocs/core/actions_addupdatedelete.inc.php - message: '#^Variable \$confirm might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/actions_addupdatedelete.inc.php + path: ../../../htdocs/core/actions_addupdatedelete.inc.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/actions_addupdatedelete.inc.php + path: ../../../htdocs/core/actions_addupdatedelete.inc.php - message: '#^Variable \$lineid might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_addupdatedelete.inc.php + path: ../../../htdocs/core/actions_addupdatedelete.inc.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 4 - path: ../../htdocs/core/actions_addupdatedelete.inc.php + path: ../../../htdocs/core/actions_addupdatedelete.inc.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/actions_builddoc.inc.php + path: ../../../htdocs/core/actions_builddoc.inc.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_comments.inc.php + path: ../../../htdocs/core/actions_comments.inc.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/actions_comments.inc.php + path: ../../../htdocs/core/actions_comments.inc.php - message: '#^Variable \$idcomment might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_comments.inc.php + path: ../../../htdocs/core/actions_comments.inc.php - message: '#^Variable \$withproject might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/actions_comments.inc.php + path: ../../../htdocs/core/actions_comments.inc.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_dellink.inc.php + path: ../../../htdocs/core/actions_dellink.inc.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/actions_fetchobject.inc.php + path: ../../../htdocs/core/actions_fetchobject.inc.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/actions_fetchobject.inc.php + path: ../../../htdocs/core/actions_fetchobject.inc.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 9 - path: ../../htdocs/core/actions_fetchobject.inc.php + path: ../../../htdocs/core/actions_fetchobject.inc.php - message: '#^Variable \$hidedesc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_lineupdown.inc.php + path: ../../../htdocs/core/actions_lineupdown.inc.php - message: '#^Variable \$hidedetails might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_lineupdown.inc.php + path: ../../../htdocs/core/actions_lineupdown.inc.php - message: '#^Variable \$hideref might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_lineupdown.inc.php + path: ../../../htdocs/core/actions_lineupdown.inc.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/core/actions_lineupdown.inc.php + path: ../../../htdocs/core/actions_lineupdown.inc.php - message: '#^Variable \$permissiontoedit might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_lineupdown.inc.php + path: ../../../htdocs/core/actions_lineupdown.inc.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/actions_linkedfiles.inc.php + path: ../../../htdocs/core/actions_linkedfiles.inc.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/actions_linkedfiles.inc.php + path: ../../../htdocs/core/actions_linkedfiles.inc.php - message: '#^Call to function is_array\(\) with non\-empty\-array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Call to function is_object\(\) with Adherent\|ConferenceOrBoothAttendee\|Contact\|Societe\|User will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Comparison operation "\>" between 0 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 2 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Expression "\<\<\<''EOPHAN''…" on a separate line does not do anything\.$#' identifier: expr.resultUnused count: 1 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Parameter \#1 \$array of function sort contains unresolvable type\.$#' identifier: argument.unresolvableType count: 1 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Variable \$from might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Variable \$holiday might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Variable \$listofobjectthirdparties in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Variable \$obj might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Variable \$permissiontoadd might not be defined\.$#' identifier: variable.undefined count: 10 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Variable \$search_status might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Variable \$triggername in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/actions_massactions.inc.php + path: ../../../htdocs/core/actions_massactions.inc.php - message: '#^Variable \$classfile might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/actions_printing.inc.php + path: ../../../htdocs/core/actions_printing.inc.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Parameter \#1 \$filenb of function dol_remove_file_process expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Variable \$contact might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Variable \$from might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Variable \$paramname2 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Variable \$thirdparty might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/core/actions_sendmails.inc.php + path: ../../../htdocs/core/actions_sendmails.inc.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/actions_setmoduleoptions.inc.php + path: ../../../htdocs/core/actions_setmoduleoptions.inc.php - message: '#^Variable \$modulepart might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/actions_setmoduleoptions.inc.php + path: ../../../htdocs/core/actions_setmoduleoptions.inc.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/actions_setnotes.inc.php + path: ../../../htdocs/core/actions_setnotes.inc.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/actions_setnotes.inc.php + path: ../../../htdocs/core/actions_setnotes.inc.php - message: '#^Loose comparison using \=\= between ''directory'' and ''directory'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/core/ajax/ajaxdirpreview.php + path: ../../../htdocs/core/ajax/ajaxdirpreview.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/ajax/ajaxdirpreview.php + path: ../../../htdocs/core/ajax/ajaxdirpreview.php - message: '#^Variable \$dolibarr_main_data_root might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/ajax/ajaxdirpreview.php + path: ../../../htdocs/core/ajax/ajaxdirpreview.php - message: '#^Variable \$module might not be defined\.$#' identifier: variable.undefined count: 34 - path: ../../htdocs/core/ajax/ajaxdirpreview.php + path: ../../../htdocs/core/ajax/ajaxdirpreview.php - message: '#^Variable \$section might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/ajax/ajaxdirpreview.php + path: ../../../htdocs/core/ajax/ajaxdirpreview.php - message: '#^Variable \$showonrightsize might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/ajax/ajaxdirpreview.php + path: ../../../htdocs/core/ajax/ajaxdirpreview.php - message: '#^Variable \$sortfield might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/ajax/ajaxdirpreview.php + path: ../../../htdocs/core/ajax/ajaxdirpreview.php - message: '#^Variable \$sortorder might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/ajax/ajaxdirpreview.php + path: ../../../htdocs/core/ajax/ajaxdirpreview.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/ajax/ajaxdirtree.php + path: ../../../htdocs/core/ajax/ajaxdirtree.php - message: '#^Variable \$dolibarr_main_data_root might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/ajax/ajaxdirtree.php + path: ../../../htdocs/core/ajax/ajaxdirtree.php - message: '#^Variable \$module might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/ajax/ajaxdirtree.php + path: ../../../htdocs/core/ajax/ajaxdirtree.php - message: '#^Variable \$original_file might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/ajax/ajaxdirtree.php + path: ../../../htdocs/core/ajax/ajaxdirtree.php - message: '#^Variable \$section might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/core/ajax/ajaxdirtree.php + path: ../../../htdocs/core/ajax/ajaxdirtree.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/ajax/ajaxtooltip.php + path: ../../../htdocs/core/ajax/ajaxtooltip.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/core/ajax/editinline.php + path: ../../../htdocs/core/ajax/editinline.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/ajax/locationincoterms.php + path: ../../../htdocs/core/ajax/locationincoterms.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/ajax/mailtemplate.php + path: ../../../htdocs/core/ajax/mailtemplate.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/ajax/onlineSign.php + path: ../../../htdocs/core/ajax/onlineSign.php - message: '#^Variable \$tva_tx in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/core/ajax/price.php + path: ../../../htdocs/core/ajax/price.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/ajax/selectobject.php + path: ../../../htdocs/core/ajax/selectobject.php - message: '#^Parameter \#2 \$replace of function str_replace expects array\\|string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/ajax/selectobject.php + path: ../../../htdocs/core/ajax/selectobject.php - message: '#^Variable \$filter might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/ajax/selectobject.php + path: ../../../htdocs/core/ajax/selectobject.php - message: '#^Constructor of class box_accountancy_last_manual_entries has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_accountancy_last_manual_entries.php + path: ../../../htdocs/core/boxes/box_accountancy_last_manual_entries.php - message: '#^Constructor of class box_accountancy_suspense_account has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_accountancy_suspense_account.php + path: ../../../htdocs/core/boxes/box_accountancy_suspense_account.php - message: '#^Constructor of class box_actions has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_actions.php + path: ../../../htdocs/core/boxes/box_actions.php - message: '#^Constructor of class box_actions_future has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_actions_future.php + path: ../../../htdocs/core/boxes/box_actions_future.php - message: '#^Constructor of class box_activity has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_activity.php + path: ../../../htdocs/core/boxes/box_activity.php - message: '#^Call to function is_array\(\) with array\, mixed\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/boxes/box_birthdays.php + path: ../../../htdocs/core/boxes/box_birthdays.php - message: '#^Constructor of class box_birthdays has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_birthdays.php + path: ../../../htdocs/core/boxes/box_birthdays.php - message: '#^Call to function is_array\(\) with array\, mixed\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/boxes/box_birthdays_members.php + path: ../../../htdocs/core/boxes/box_birthdays_members.php - message: '#^Constructor of class box_birthdays_members has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_birthdays_members.php + path: ../../../htdocs/core/boxes/box_birthdays_members.php - message: '#^Constructor of class box_boms has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_boms.php + path: ../../../htdocs/core/boxes/box_boms.php - message: '#^Constructor of class box_bookmarks has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_bookmarks.php + path: ../../../htdocs/core/boxes/box_bookmarks.php - message: '#^Constructor of class box_clients has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_clients.php + path: ../../../htdocs/core/boxes/box_clients.php - message: '#^Comparison operation "\<" between 0 and 0 is always false\.$#' identifier: smaller.alwaysFalse count: 1 - path: ../../htdocs/core/boxes/box_commandes.php + path: ../../../htdocs/core/boxes/box_commandes.php - message: '#^Constructor of class box_commandes has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_commandes.php + path: ../../../htdocs/core/boxes/box_commandes.php - message: '#^Constructor of class box_comptes has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_comptes.php + path: ../../../htdocs/core/boxes/box_comptes.php - message: '#^Constructor of class box_contacts has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_contacts.php + path: ../../../htdocs/core/boxes/box_contacts.php - message: '#^Constructor of class box_contracts has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_contracts.php + path: ../../../htdocs/core/boxes/box_contracts.php - message: '#^Constructor of class box_customers_outstanding_bill_reached has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_customers_outstanding_bill_reached.php + path: ../../../htdocs/core/boxes/box_customers_outstanding_bill_reached.php - message: '#^Call to function is_array\(\) with array\<''contacts''\|''contracts''\|''customers''\|''dolresource''\|''donations''\|''expensereports''\|''holidays''\|''interventions''\|''invoices''\|''members''\|''orders''\|''products''\|''projects''\|''proposals''\|''prospects''\|''services''\|''supplier_invoices''\|''supplier_orders''\|''supplier_proposals''\|''suppliers''\|''ticket''\|''users'', non\-falsy\-string\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/boxes/box_dolibarr_state_board.php + path: ../../../htdocs/core/boxes/box_dolibarr_state_board.php - message: '#^Call to function method_exists\(\) with Adherent\|Client\|Commande\|CommandeFournisseur\|Contact\|Contrat\|Dolresource\|Don\|ExpenseReport\|Facture\|FactureFournisseur\|Fichinter\|Fournisseur\|Holiday\|Product\|Project\|Propal\|SupplierProposal\|Ticket\|User and ''loadStateBoard'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/boxes/box_dolibarr_state_board.php + path: ../../../htdocs/core/boxes/box_dolibarr_state_board.php - message: '#^Constructor of class box_dolibarr_state_board has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_dolibarr_state_board.php + path: ../../../htdocs/core/boxes/box_dolibarr_state_board.php - message: '#^Property ModeleBoxes\:\:\$info_box_contents \(array\, maxlength\?\: int\}\|int\|string\>\>\) does not accept non\-empty\-array\, maxlength\?\: int\}\|array\{tr\: ''class\="nohover"'', td\: ''class\=…'', textnoformat\: non\-falsy\-string\}\|int\|string\>\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/boxes/box_dolibarr_state_board.php + path: ../../../htdocs/core/boxes/box_dolibarr_state_board.php - message: '#^Constructor of class box_factures has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_factures.php + path: ../../../htdocs/core/boxes/box_factures.php - message: '#^Constructor of class box_factures_fourn has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_factures_fourn.php + path: ../../../htdocs/core/boxes/box_factures_fourn.php - message: '#^Constructor of class box_factures_fourn_imp has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_factures_fourn_imp.php + path: ../../../htdocs/core/boxes/box_factures_fourn_imp.php - message: '#^Constructor of class box_factures_imp has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_factures_imp.php + path: ../../../htdocs/core/boxes/box_factures_imp.php - message: '#^Constructor of class box_ficheinter has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_ficheinter.php + path: ../../../htdocs/core/boxes/box_ficheinter.php - message: '#^Constructor of class box_fournisseurs has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_fournisseurs.php + path: ../../../htdocs/core/boxes/box_fournisseurs.php - message: '#^Constructor of class box_funnel_of_prospection has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_funnel_of_prospection.php + path: ../../../htdocs/core/boxes/box_funnel_of_prospection.php - message: '#^Constructor of class box_goodcustomers has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_goodcustomers.php + path: ../../../htdocs/core/boxes/box_goodcustomers.php - message: '#^Constructor of class box_graph_invoices_permonth has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_invoices_permonth.php + path: ../../../htdocs/core/boxes/box_graph_invoices_permonth.php - message: '#^Property ModeleBoxes\:\:\$info_box_contents \(array\, maxlength\?\: int\}\|int\|string\>\>\) does not accept non\-empty\-array\, maxlength\?\: int\}\|array\{tr\: ''class\="oddeven…'', td\: ''class\="nohover…'', textnoformat\: non\-falsy\-string\}\|int\|string\>\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/boxes/box_graph_invoices_permonth.php + path: ../../../htdocs/core/boxes/box_graph_invoices_permonth.php - message: '#^Constructor of class box_graph_invoices_peryear has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_invoices_peryear.php + path: ../../../htdocs/core/boxes/box_graph_invoices_peryear.php - message: '#^Left side of \|\| is always true\.$#' identifier: booleanOr.leftAlwaysTrue count: 1 - path: ../../htdocs/core/boxes/box_graph_invoices_peryear.php + path: ../../../htdocs/core/boxes/box_graph_invoices_peryear.php - message: '#^Loose comparison using \=\= between ''customer'' and ''supplier'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/boxes/box_graph_invoices_peryear.php + path: ../../../htdocs/core/boxes/box_graph_invoices_peryear.php - message: '#^Property ModeleBoxes\:\:\$info_box_contents \(array\, maxlength\?\: int\}\|int\|string\>\>\) does not accept non\-empty\-array\, maxlength\?\: int\}\|array\{tr\: ''class\="oddeven…'', td\: ''class\="nohover…'', textnoformat\: non\-falsy\-string\}\|int\|string\>\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/boxes/box_graph_invoices_peryear.php + path: ../../../htdocs/core/boxes/box_graph_invoices_peryear.php - message: '#^Constructor of class box_graph_invoices_supplier_permonth has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_invoices_supplier_permonth.php + path: ../../../htdocs/core/boxes/box_graph_invoices_supplier_permonth.php - message: '#^Property ModeleBoxes\:\:\$info_box_contents \(array\, maxlength\?\: int\}\|int\|string\>\>\) does not accept non\-empty\-array\, maxlength\?\: int\}\|array\{tr\: ''class\="oddeven…'', td\: ''class\="nohover…'', textnoformat\: non\-falsy\-string\}\|int\|string\>\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/boxes/box_graph_invoices_supplier_permonth.php + path: ../../../htdocs/core/boxes/box_graph_invoices_supplier_permonth.php - message: '#^Constructor of class box_graph_nb_ticket_last_x_days has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_nb_ticket_last_x_days.php + path: ../../../htdocs/core/boxes/box_graph_nb_ticket_last_x_days.php - message: '#^Constructor of class box_graph_nb_tickets_type has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_nb_tickets_type.php + path: ../../../htdocs/core/boxes/box_graph_nb_tickets_type.php - message: '#^Constructor of class box_graph_new_vs_close_ticket has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_new_vs_close_ticket.php + path: ../../../htdocs/core/boxes/box_graph_new_vs_close_ticket.php - message: '#^Constructor of class box_graph_orders_permonth has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_orders_permonth.php + path: ../../../htdocs/core/boxes/box_graph_orders_permonth.php - message: '#^Loose comparison using \=\= between ''customer'' and ''supplier'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/core/boxes/box_graph_orders_permonth.php + path: ../../../htdocs/core/boxes/box_graph_orders_permonth.php - message: '#^Property ModeleBoxes\:\:\$info_box_contents \(array\, maxlength\?\: int\}\|int\|string\>\>\) does not accept non\-empty\-array\, maxlength\?\: int\}\|array\{tr\: ''class\="oddeven…'', td\: ''class\="nohover…'', textnoformat\: non\-falsy\-string\}\|int\|string\>\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/boxes/box_graph_orders_permonth.php + path: ../../../htdocs/core/boxes/box_graph_orders_permonth.php - message: '#^Constructor of class box_graph_orders_supplier_permonth has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_orders_supplier_permonth.php + path: ../../../htdocs/core/boxes/box_graph_orders_supplier_permonth.php - message: '#^Loose comparison using \=\= between ''supplier'' and ''supplier'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/core/boxes/box_graph_orders_supplier_permonth.php + path: ../../../htdocs/core/boxes/box_graph_orders_supplier_permonth.php - message: '#^Property ModeleBoxes\:\:\$info_box_contents \(array\, maxlength\?\: int\}\|int\|string\>\>\) does not accept non\-empty\-array\, maxlength\?\: int\}\|array\{tr\: ''class\="oddeven…'', td\: ''class\="nohover…'', textnoformat\: non\-falsy\-string\}\|int\|string\>\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/boxes/box_graph_orders_supplier_permonth.php + path: ../../../htdocs/core/boxes/box_graph_orders_supplier_permonth.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 3 - path: ../../htdocs/core/boxes/box_graph_product_distribution.php + path: ../../../htdocs/core/boxes/box_graph_product_distribution.php - message: '#^Constructor of class box_graph_product_distribution has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_product_distribution.php + path: ../../../htdocs/core/boxes/box_graph_product_distribution.php - message: '#^Property ModeleBoxes\:\:\$info_box_contents \(array\, maxlength\?\: int\}\|int\|string\>\>\) does not accept non\-empty\-array\, maxlength\?\: int\}\|array\{tr\: ''class\="oddeven…'', td\: ''class\="nohover…'', textnoformat\: non\-falsy\-string\}\|int\|string\>\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/boxes/box_graph_product_distribution.php + path: ../../../htdocs/core/boxes/box_graph_product_distribution.php - message: '#^Constructor of class box_graph_propales_permonth has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_propales_permonth.php + path: ../../../htdocs/core/boxes/box_graph_propales_permonth.php - message: '#^Property ModeleBoxes\:\:\$info_box_contents \(array\, maxlength\?\: int\}\|int\|string\>\>\) does not accept non\-empty\-array\, maxlength\?\: int\}\|array\{tr\: ''class\="oddeven…'', td\: ''class\="nohover…'', textnoformat\: non\-falsy\-string\}\|int\|string\>\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/boxes/box_graph_propales_permonth.php + path: ../../../htdocs/core/boxes/box_graph_propales_permonth.php - message: '#^Constructor of class box_graph_ticket_by_severity has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_graph_ticket_by_severity.php + path: ../../../htdocs/core/boxes/box_graph_ticket_by_severity.php - message: '#^Constructor of class box_last_knowledgerecord has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_last_knowledgerecord.php + path: ../../../htdocs/core/boxes/box_last_knowledgerecord.php - message: '#^Constructor of class box_last_modified_knowledgerecord has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_last_modified_knowledgerecord.php + path: ../../../htdocs/core/boxes/box_last_modified_knowledgerecord.php - message: '#^Constructor of class box_last_modified_ticket has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_last_modified_ticket.php + path: ../../../htdocs/core/boxes/box_last_modified_ticket.php - message: '#^Constructor of class box_last_ticket has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_last_ticket.php + path: ../../../htdocs/core/boxes/box_last_ticket.php - message: '#^Constructor of class box_lastlogin has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_lastlogin.php + path: ../../../htdocs/core/boxes/box_lastlogin.php - message: '#^Constructor of class box_members_by_tags has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_members_by_tags.php + path: ../../../htdocs/core/boxes/box_members_by_tags.php - message: '#^Constructor of class box_members_by_type has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_members_by_type.php + path: ../../../htdocs/core/boxes/box_members_by_type.php - message: '#^Constructor of class box_members_last_modified has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_members_last_modified.php + path: ../../../htdocs/core/boxes/box_members_last_modified.php - message: '#^Constructor of class box_members_last_subscriptions has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_members_last_subscriptions.php + path: ../../../htdocs/core/boxes/box_members_last_subscriptions.php - message: '#^Comparison operation "\>\=" between 0 and 8 is always false\.$#' identifier: greaterOrEqual.alwaysFalse count: 1 - path: ../../htdocs/core/boxes/box_members_subscriptions_by_year.php + path: ../../../htdocs/core/boxes/box_members_subscriptions_by_year.php - message: '#^Constructor of class box_members_subscriptions_by_year has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_members_subscriptions_by_year.php + path: ../../../htdocs/core/boxes/box_members_subscriptions_by_year.php - message: '#^Constructor of class box_mos has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_mos.php + path: ../../../htdocs/core/boxes/box_mos.php - message: '#^Constructor of class box_produits has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_produits.php + path: ../../../htdocs/core/boxes/box_produits.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: bool, module\: ''product\|service''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/boxes/box_produits.php + path: ../../../htdocs/core/boxes/box_produits.php - message: '#^Constructor of class box_produits_alerte_stock has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_produits_alerte_stock.php + path: ../../../htdocs/core/boxes/box_produits_alerte_stock.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: mixed, module\: ''product\|service…''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/boxes/box_produits_alerte_stock.php + path: ../../../htdocs/core/boxes/box_produits_alerte_stock.php - message: '#^Constructor of class box_project has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_project.php + path: ../../../htdocs/core/boxes/box_project.php - message: '#^Constructor of class box_project_opportunities has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_project_opportunities.php + path: ../../../htdocs/core/boxes/box_project_opportunities.php - message: '#^Constructor of class box_propales has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_propales.php + path: ../../../htdocs/core/boxes/box_propales.php - message: '#^Constructor of class box_prospect has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_prospect.php + path: ../../../htdocs/core/boxes/box_prospect.php - message: '#^Constructor of class box_scheduled_jobs has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_scheduled_jobs.php + path: ../../../htdocs/core/boxes/box_scheduled_jobs.php - message: '#^Constructor of class box_services_contracts has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_services_contracts.php + path: ../../../htdocs/core/boxes/box_services_contracts.php - message: '#^Constructor of class box_services_expired has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_services_expired.php + path: ../../../htdocs/core/boxes/box_services_expired.php - message: '#^Constructor of class box_shipments has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_shipments.php + path: ../../../htdocs/core/boxes/box_shipments.php - message: '#^Constructor of class box_supplier_orders has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_supplier_orders.php + path: ../../../htdocs/core/boxes/box_supplier_orders.php - message: '#^Constructor of class box_supplier_orders_awaiting_reception has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_supplier_orders_awaiting_reception.php + path: ../../../htdocs/core/boxes/box_supplier_orders_awaiting_reception.php - message: '#^Constructor of class box_task has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_task.php + path: ../../../htdocs/core/boxes/box_task.php - message: '#^Constructor of class box_validated_projects has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/box_validated_projects.php + path: ../../../htdocs/core/boxes/box_validated_projects.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/boxes/modules_boxes.php + path: ../../../htdocs/core/boxes/modules_boxes.php - message: '#^Comparison operation "\>" between 0 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/core/boxes/modules_boxes.php + path: ../../../htdocs/core/boxes/modules_boxes.php - message: '#^Constructor of class ModeleBoxes has an unused parameter \$param\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/boxes/modules_boxes.php + path: ../../../htdocs/core/boxes/modules_boxes.php - message: '#^Loose comparison using \=\= between 0 and 2 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/boxes/modules_boxes.php + path: ../../../htdocs/core/boxes/modules_boxes.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 1 - path: ../../htdocs/core/boxes/modules_boxes.php + path: ../../../htdocs/core/boxes/modules_boxes.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Method CMailFile\:\:getValidAddress\(\) has no return type specified\.$#' identifier: missingType.return count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Method CMailFile\:\:getValidAddress\(\) has parameter \$encode with no type specified\.$#' identifier: missingType.parameter count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Method CMailFile\:\:getValidAddress\(\) has parameter \$maxnumberofemail with no type specified\.$#' identifier: missingType.parameter count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Property CMailFile\:\:\$addr_bcc \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Property CMailFile\:\:\$addr_cc \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Property CMailFile\:\:\$deliveryreceipt \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Property CMailFile\:\:\$eol has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Property CMailFile\:\:\$eol2 has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Property CMailFile\:\:\$errors_to \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Property CMailFile\:\:\$image_types has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Property CMailFile\:\:\$reply_to \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/class/CMailFile.class.php + path: ../../../htdocs/core/class/CMailFile.class.php - message: '#^Property Ccountry\:\:\$code_iso \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ccountry.class.php + path: ../../../htdocs/core/class/ccountry.class.php - message: '#^Property CommonDict\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ccountry.class.php + path: ../../../htdocs/core/class/ccountry.class.php - message: '#^Property CommonDict\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ccountry.class.php + path: ../../../htdocs/core/class/ccountry.class.php - message: '#^Property CommonDict\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ccountry.class.php + path: ../../../htdocs/core/class/ccountry.class.php - message: '#^Method CGenericDic\:\:fetchAll\(\) has parameter \$filter with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/class/cgenericdic.class.php + path: ../../../htdocs/core/class/cgenericdic.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/class/cgenericdic.class.php + path: ../../../htdocs/core/class/cgenericdic.class.php - message: '#^Property CGenericDic\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cgenericdic.class.php + path: ../../../htdocs/core/class/cgenericdic.class.php - message: '#^Property CGenericDic\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cgenericdic.class.php + path: ../../../htdocs/core/class/cgenericdic.class.php - message: '#^Property CGenericDic\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cgenericdic.class.php + path: ../../../htdocs/core/class/cgenericdic.class.php - message: '#^Method CLeadStatus\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/class/cleadstatus.class.php + path: ../../../htdocs/core/class/cleadstatus.class.php - message: '#^Property CLeadStatus\:\:\$percent \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/cleadstatus.class.php + path: ../../../htdocs/core/class/cleadstatus.class.php - message: '#^Property CLeadStatus\:\:\$position \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cleadstatus.class.php + path: ../../../htdocs/core/class/cleadstatus.class.php - message: '#^Property CommonDict\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cleadstatus.class.php + path: ../../../htdocs/core/class/cleadstatus.class.php - message: '#^Property CommonDict\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cleadstatus.class.php + path: ../../../htdocs/core/class/cleadstatus.class.php - message: '#^Property CommonDict\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/cleadstatus.class.php + path: ../../../htdocs/core/class/cleadstatus.class.php - message: '#^Property CommonDict\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/core/class/cleadstatus.class.php + path: ../../../htdocs/core/class/cleadstatus.class.php - message: '#^Property Comment\:\:\$description \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/comment.class.php + path: ../../../htdocs/core/class/comment.class.php - message: '#^Property Comment\:\:\$fk_element \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/core/class/comment.class.php + path: ../../../htdocs/core/class/comment.class.php - message: '#^Property Comment\:\:\$fk_user_author \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/comment.class.php + path: ../../../htdocs/core/class/comment.class.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, CommonObject given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/commondocgenerator.class.php + path: ../../../htdocs/core/class/commondocgenerator.class.php - message: '#^Parameter \#2 \$array_to_fill of method CommonDocGenerator\:\:fill_substitutionarray_with_extrafields\(\) expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/commondocgenerator.class.php + path: ../../../htdocs/core/class/commondocgenerator.class.php - message: '#^Property CommonObject\:\:\$element \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/commondocgenerator.class.php + path: ../../../htdocs/core/class/commondocgenerator.class.php - message: '#^Property CommonObjectLine\:\:\$fk_product \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/commondocgenerator.class.php + path: ../../../htdocs/core/class/commondocgenerator.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 3 - path: ../../htdocs/core/class/commoninvoice.class.php + path: ../../../htdocs/core/class/commoninvoice.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/class/commoninvoice.class.php + path: ../../../htdocs/core/class/commoninvoice.class.php - message: '#^Variable \$charge in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/core/class/commoninvoice.class.php + path: ../../../htdocs/core/class/commoninvoice.class.php - message: '#^Variable \$field4 in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/class/commoninvoice.class.php + path: ../../../htdocs/core/class/commoninvoice.class.php - message: '#^Variable \$stripearrayofkeys might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/class/commoninvoice.class.php + path: ../../../htdocs/core/class/commoninvoice.class.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 4 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 9 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Call to function property_exists\(\) with \$this\(CommonObject\) and ''fields'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Call to function property_exists\(\) with \$this\(CommonObject\) and ''statut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Expression in empty\(\) is always falsy\.$#' identifier: empty.expr count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 5 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Method CommonObject\:\:getAllItemsLinkedByObjectID\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Method CommonObject\:\:getCountOfItemsLinkedByObjectID\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 7 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^PHPDoc tag @var with type Commande is not subtype of native type \$this\(CommonObject\)\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^PHPDoc tag @var with type CommandeFournisseur is not subtype of native type \$this\(CommonObject\)\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^PHPDoc tag @var with type Facture is not subtype of native type \$this\(CommonObject\)\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^PHPDoc tag @var with type FactureFournisseur is not subtype of native type \$this\(CommonObject\)\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^PHPDoc tag @var with type Propal is not subtype of native type \$this\(CommonObject\)\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^PHPDoc tag @var with type SupplierProposal is not subtype of native type \$this\(CommonObject\)\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Parameter \#1 \$line of method CommonObject\:\:printOriginLine\(\) expects CommonObjectLine, CommonObject\|stdClass given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/commonobject.class.php - - - - message: '#^Parameter \#17 \$pa_ht of method Commande\:\:updateline\(\) expects int, float given\.$#' - identifier: argument.type - count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Parameter \#2 \$line of method CommonObject\:\:printObjectLine\(\) expects CommonObjectLine, CommonObject\|stdClass given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Parameter \#20 \$fk_unit of method SupplierProposal\:\:updateline\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Parameter \#21 \$situation_percent of method Facture\:\:updateline\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Property CommonObject\:\:\$childtables \(array\\|string\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Property CommonObject\:\:\$cond_reglement \(int\|string\) is never assigned string so it can be removed from the property type\.$#' identifier: property.unusedType count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Property CommonObject\:\:\$fields \(array\\|int\|string\>\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Property CommonObject\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 9 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Property CommonObject\:\:\$lines \(array\\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Variable \$minSize in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Variable \$newProperty in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Variable \$validationClass in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/class/commonobject.class.php + path: ../../../htdocs/core/class/commonobject.class.php - message: '#^Call to function property_exists\(\) with \$this\(CommonOrder\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/commonorder.class.php + path: ../../../htdocs/core/class/commonorder.class.php - message: '#^Call to function property_exists\(\) with \$this\(CommonOrder\) and ''total_ht'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/commonorder.class.php + path: ../../../htdocs/core/class/commonorder.class.php - message: '#^Parameter \#2 \$pt of method CommonStickerGenerator\:\:Set_Char_Size\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Avery_Code has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Avery_Name has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_COUNTX has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_COUNTY has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Char_Size has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_First has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Height has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Line_Height has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Margin_Left has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Margin_Top has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Metric has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Metric_Doc has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Width has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_X_Number has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_X_Space has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Y_Number has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Property CommonStickerGenerator\:\:\$_Y_Space has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/commonstickergenerator.class.php + path: ../../../htdocs/core/class/commonstickergenerator.class.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$adherent \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$agenda \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$commande \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$contrat \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$delivery_note has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$expedition_bon has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$expensereport \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$facture \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_date_hour_sec_short has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_date_hour_short has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_date_hour_text has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_date_hour_text_short has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_date_short has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_date_short_java has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_date_text has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_date_text_short has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_hour_short has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$format_hour_short_duration has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$main_checkbox_left_column \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$member \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$modules_parts type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$mycompany has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$product \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$project \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$projet has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property Conf\:\:\$propal \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/class/conf.class.php + path: ../../../htdocs/core/class/conf.class.php - message: '#^Property CommonDict\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cproductnature.class.php + path: ../../../htdocs/core/class/cproductnature.class.php - message: '#^Property CommonDict\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cproductnature.class.php + path: ../../../htdocs/core/class/cproductnature.class.php - message: '#^Property CommonDict\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/cproductnature.class.php + path: ../../../htdocs/core/class/cproductnature.class.php - message: '#^Property CommonDict\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cproductnature.class.php + path: ../../../htdocs/core/class/cproductnature.class.php - message: '#^Property CommonDict\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cregion.class.php + path: ../../../htdocs/core/class/cregion.class.php - message: '#^Property CommonDict\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/cregion.class.php + path: ../../../htdocs/core/class/cregion.class.php - message: '#^Property Cregion\:\:\$cheflieu \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cregion.class.php + path: ../../../htdocs/core/class/cregion.class.php - message: '#^Property Cregion\:\:\$code_region \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cregion.class.php + path: ../../../htdocs/core/class/cregion.class.php - message: '#^Property Cregion\:\:\$fk_pays \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cregion.class.php + path: ../../../htdocs/core/class/cregion.class.php - message: '#^Property Cregion\:\:\$name \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cregion.class.php + path: ../../../htdocs/core/class/cregion.class.php - message: '#^Property CommonDict\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cstate.class.php + path: ../../../htdocs/core/class/cstate.class.php - message: '#^Property Cstate\:\:\$code_departement \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cstate.class.php + path: ../../../htdocs/core/class/cstate.class.php - message: '#^Property Cstate\:\:\$name \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cstate.class.php + path: ../../../htdocs/core/class/cstate.class.php - message: '#^Property Cstate\:\:\$nom \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cstate.class.php + path: ../../../htdocs/core/class/cstate.class.php - message: '#^Property Cstate\:\:\$rowid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/cstate.class.php + path: ../../../htdocs/core/class/cstate.class.php - message: '#^Property CommonDict\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ctypent.class.php + path: ../../../htdocs/core/class/ctypent.class.php - message: '#^Property CommonDict\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ctypent.class.php + path: ../../../htdocs/core/class/ctypent.class.php - message: '#^Property CommonDict\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/ctypent.class.php + path: ../../../htdocs/core/class/ctypent.class.php - message: '#^Property Ctypent\:\:\$libelle \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ctypent.class.php + path: ../../../htdocs/core/class/ctypent.class.php - message: '#^Property Ctypent\:\:\$module \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ctypent.class.php + path: ../../../htdocs/core/class/ctypent.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/class/ctyperesource.class.php + path: ../../../htdocs/core/class/ctyperesource.class.php - message: '#^Property CommonDict\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ctyperesource.class.php + path: ../../../htdocs/core/class/ctyperesource.class.php - message: '#^Property CommonDict\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ctyperesource.class.php + path: ../../../htdocs/core/class/ctyperesource.class.php - message: '#^Property CommonDict\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/ctyperesource.class.php + path: ../../../htdocs/core/class/ctyperesource.class.php - message: '#^Property CUnits\:\:\$short_label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cunits.class.php + path: ../../../htdocs/core/class/cunits.class.php - message: '#^Property CUnits\:\:\$sortorder \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cunits.class.php + path: ../../../htdocs/core/class/cunits.class.php - message: '#^Property CUnits\:\:\$unit_type \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cunits.class.php + path: ../../../htdocs/core/class/cunits.class.php - message: '#^Property CommonDict\:\:\$active \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/core/class/cunits.class.php + path: ../../../htdocs/core/class/cunits.class.php - message: '#^Property CommonDict\:\:\$code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cunits.class.php + path: ../../../htdocs/core/class/cunits.class.php - message: '#^Property CommonDict\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/cunits.class.php + path: ../../../htdocs/core/class/cunits.class.php - message: '#^Property CommonDict\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/core/class/cunits.class.php + path: ../../../htdocs/core/class/cunits.class.php - message: '#^Constructor of class DolEditor has an unused parameter \$toolbarlocation\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/class/doleditor.class.php + path: ../../../htdocs/core/class/doleditor.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/class/doleditor.class.php + path: ../../../htdocs/core/class/doleditor.class.php - message: '#^Variable \$type in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/class/dolgeoip.class.php + path: ../../../htdocs/core/class/dolgeoip.class.php - message: '#^Call to function is_array\(\) with array\{stacknum\: int, legend\: mixed, legendwithgroup\: non\-falsy\-string\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 3 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^Loose comparison using \=\= between ''line'' and ''horizontalBar'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^Loose comparison using \=\= between 1 and 3 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^Offset 0 on array\{array\{stacknum\: int, legend\: mixed, legendwithgroup\: non\-falsy\-string\}\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^Variable \$legendMaxLines in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/core/class/dolgraph.class.php + path: ../../../htdocs/core/class/dolgraph.class.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/core/class/extrafields.class.php + path: ../../../htdocs/core/class/extrafields.class.php - message: '#^Call to function is_array\(\) with array\{\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/extrafields.class.php + path: ../../../htdocs/core/class/extrafields.class.php - message: '#^Call to function is_array\(\) with list\<\(int\|string\)\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/extrafields.class.php + path: ../../../htdocs/core/class/extrafields.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 11 - path: ../../htdocs/core/class/extrafields.class.php + path: ../../../htdocs/core/class/extrafields.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/class/extrafields.class.php + path: ../../../htdocs/core/class/extrafields.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/class/extrafields.class.php + path: ../../../htdocs/core/class/extrafields.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/core/class/extrafields.class.php + path: ../../../htdocs/core/class/extrafields.class.php - message: '#^Call to function is_numeric\(\) with int\<0, max\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/fileupload.class.php + path: ../../../htdocs/core/class/fileupload.class.php - message: '#^Strict comparison using \!\=\= between array\|string and null will always evaluate to true\.$#' identifier: notIdentical.alwaysTrue count: 1 - path: ../../htdocs/core/class/fileupload.class.php + path: ../../../htdocs/core/class/fileupload.class.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/class/fileupload.class.php + path: ../../../htdocs/core/class/fileupload.class.php - message: '#^Property Fiscalyear\:\:\$date_start \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/class/fiscalyear.class.php + path: ../../../htdocs/core/class/fiscalyear.class.php - message: '#^Property Fiscalyear\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/fiscalyear.class.php + path: ../../../htdocs/core/class/fiscalyear.class.php - message: '#^Call to function is_array\(\) with non\-empty\-array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/hookmanager.class.php + path: ../../../htdocs/core/class/hookmanager.class.php - message: '#^Property HookManager\:\:\$hooks has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/hookmanager.class.php + path: ../../../htdocs/core/class/hookmanager.class.php - message: '#^Property HookManager\:\:\$hooksSorted has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/hookmanager.class.php + path: ../../../htdocs/core/class/hookmanager.class.php - message: '#^Call to function is_array\(\) with array\{\}\|array\{mixed\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Loose comparison using \=\= between ''GET'' and ''GET'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Parameter \#1 \$array of function dol_sort_array contains unresolvable type\.$#' identifier: argument.unresolvableType count: 4 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Parameter \#1 \$selected of method Form\:\:getSelectConditionsPaiements\(\) expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Parameter \#15 \$excludeids of method Form\:\:select_company\(\) expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Parameter \#2 \$array of method Form\:\:multiselectarray\(\) expects array\, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Parameter \#3 \$optJson of method Form\:\:constructProjectListOption\(\) expects array\{key\: string, value\: string, type\: string\}, array\{\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Parameter \#3 \$selected of method Form\:\:multiselectarray\(\) expects array\, list\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Parameter \#7 \$ajaxoptions of function ajax_autocompleter expects array\\|string\>, array\\|string\>\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Property CommonObject\:\:\$next_prev_filter \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Property Form\:\:\$cache_availability has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Property Form\:\:\$cache_conditions_paiements has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Property Form\:\:\$cache_demand_reason has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Property Form\:\:\$cache_invoice_subtype has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Property Form\:\:\$cache_transport_mode has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Property Form\:\:\$cache_types_fees has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Property Form\:\:\$cache_types_paiements has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Property Form\:\:\$cache_vatrates has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Return type of call to function dol_sort_array contains unresolvable type\.$#' identifier: function.unresolvableReturnType count: 4 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 8 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 2 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Variable \$more in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Variable \$pageyes in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/class/html.form.class.php + path: ../../../htdocs/core/class/html.form.class.php - message: '#^Variable \$select_encoder might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/class/html.formbarcode.class.php + path: ../../../htdocs/core/class/html.formbarcode.class.php - message: '#^Call to function is_array\(\) with non\-empty\-array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/html.formcategory.class.php + path: ../../../htdocs/core/class/html.formcategory.class.php - message: '#^Parameter \#2 \$array of static method Form\:\:multiselectarray\(\) expects array\, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.formcategory.class.php + path: ../../../htdocs/core/class/html.formcategory.class.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/html.formcompany.class.php + path: ../../../htdocs/core/class/html.formcompany.class.php - message: '#^Call to function is_numeric\(\) with float\|int\\|int\<1, max\>\|\(non\-falsy\-string&numeric\-string\) will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/html.formcompany.class.php + path: ../../../htdocs/core/class/html.formcompany.class.php - message: '#^Parameter \#1 \$array of function dol_sort_array contains unresolvable type\.$#' identifier: argument.unresolvableType count: 1 - path: ../../htdocs/core/class/html.formcompany.class.php + path: ../../../htdocs/core/class/html.formcompany.class.php - message: '#^Parameter \#1 \$selected of method FormCompany\:\:select_state\(\) expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.formcompany.class.php + path: ../../../htdocs/core/class/html.formcompany.class.php - message: '#^Parameter \#3 \$selected of method Form\:\:multiselectarray\(\) expects array\, array\\|int\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.formcompany.class.php + path: ../../../htdocs/core/class/html.formcompany.class.php - message: '#^Return type of call to function dol_sort_array contains unresolvable type\.$#' identifier: function.unresolvableReturnType count: 1 - path: ../../htdocs/core/class/html.formcompany.class.php + path: ../../../htdocs/core/class/html.formcompany.class.php - message: '#^Variable \$idprof might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/class/html.formcompany.class.php + path: ../../../htdocs/core/class/html.formcompany.class.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/html.formfile.class.php + path: ../../../htdocs/core/class/html.formfile.class.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/html.formfile.class.php + path: ../../../htdocs/core/class/html.formfile.class.php - message: '#^Comparison operation "\>" between 1 and 0 is always true\.$#' identifier: greater.alwaysTrue count: 1 - path: ../../htdocs/core/class/html.formfile.class.php + path: ../../../htdocs/core/class/html.formfile.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 3 - path: ../../htdocs/core/class/html.formfile.class.php + path: ../../../htdocs/core/class/html.formfile.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/class/html.formfile.class.php + path: ../../../htdocs/core/class/html.formfile.class.php - message: '#^Property CommonObject\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/html.formfile.class.php + path: ../../../htdocs/core/class/html.formfile.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 3 - path: ../../htdocs/core/class/html.formfile.class.php + path: ../../../htdocs/core/class/html.formfile.class.php - message: '#^Variable \$fileinfo might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/class/html.formfile.class.php + path: ../../../htdocs/core/class/html.formfile.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/core/class/html.formintervention.class.php + path: ../../../htdocs/core/class/html.formintervention.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/class/html.formmail.class.php + path: ../../../htdocs/core/class/html.formmail.class.php - message: '#^Parameter \#2 \$array of static method Form\:\:multiselectarray\(\) expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.formmail.class.php + path: ../../../htdocs/core/class/html.formmail.class.php - message: '#^Property FormMail\:\:\$ckeditortoolbar \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/html.formmail.class.php + path: ../../../htdocs/core/class/html.formmail.class.php - message: '#^Parameter \#2 \$array of static method Form\:\:multiselectarray\(\) expects array\, non\-empty\-array\<\-1\|0\|1\|2\|3, string\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.formorder.class.php + path: ../../../htdocs/core/class/html.formorder.class.php - message: '#^Parameter \#3 \$zone of static method InfoBox\:\:listBoxes\(\) expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.formother.class.php + path: ../../../htdocs/core/class/html.formother.class.php - message: '#^Property CommonObjectLine\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/html.formother.class.php + path: ../../../htdocs/core/class/html.formother.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/class/html.formother.class.php + path: ../../../htdocs/core/class/html.formother.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/core/class/html.formprojet.class.php + path: ../../../htdocs/core/class/html.formprojet.class.php - message: '#^Parameter \#2 \$array of static method Form\:\:multiselectarray\(\) expects array\, non\-empty\-array\<0\|1\|2, string\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/html.formprojet.class.php + path: ../../../htdocs/core/class/html.formprojet.class.php - message: '#^Variable \$labeltoshow might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/class/html.formprojet.class.php + path: ../../../htdocs/core/class/html.formprojet.class.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/core/class/html.formsetup.class.php + path: ../../../htdocs/core/class/html.formsetup.class.php - message: '#^Property FormSetupItem\:\:\$rank \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/html.formsetup.class.php + path: ../../../htdocs/core/class/html.formsetup.class.php - message: '#^Property FormSetupItem\:\:\$saveCallBack \(callable\) in empty\(\) is not falsy\.$#' identifier: empty.property count: 1 - path: ../../htdocs/core/class/html.formsetup.class.php + path: ../../../htdocs/core/class/html.formsetup.class.php - message: '#^Property FormSetupItem\:\:\$setValueFromPostCallBack \(callable\) in empty\(\) is not falsy\.$#' identifier: empty.property count: 1 - path: ../../htdocs/core/class/html.formsetup.class.php + path: ../../../htdocs/core/class/html.formsetup.class.php - message: '#^Loose comparison using \!\= between 1 and ''1'' will always evaluate to false\.$#' identifier: notEqual.alwaysFalse count: 1 - path: ../../htdocs/core/class/html.formsms.class.php + path: ../../../htdocs/core/class/html.formsms.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/core/class/html.formsms.class.php + path: ../../../htdocs/core/class/html.formsms.class.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/html.formticket.class.php + path: ../../../htdocs/core/class/html.formticket.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/core/class/html.formticket.class.php + path: ../../../htdocs/core/class/html.formticket.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/html.formticket.class.php + path: ../../../htdocs/core/class/html.formticket.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/class/html.formticket.class.php + path: ../../../htdocs/core/class/html.formticket.class.php - message: '#^Property FormTicket\:\:\$withreadid \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/core/class/html.formticket.class.php + path: ../../../htdocs/core/class/html.formticket.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/core/class/html.formticket.class.php + path: ../../../htdocs/core/class/html.formticket.class.php - message: '#^Call to function is_object\(\) with mixed will always evaluate to false\.$#' identifier: function.impossibleType count: 2 - path: ../../htdocs/core/class/interfaces.class.php + path: ../../../htdocs/core/class/interfaces.class.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 4 - path: ../../htdocs/core/class/interfaces.class.php + path: ../../../htdocs/core/class/interfaces.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/class/interfaces.class.php + path: ../../../htdocs/core/class/interfaces.class.php - message: '#^Variable \$modName in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/core/class/interfaces.class.php + path: ../../../htdocs/core/class/interfaces.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_add expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_bind expects LDAP\\Connection, bool\|resource given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_delete expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_errno expects LDAP\\Connection, bool\|resource given\.$#' identifier: argument.type count: 9 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_errno expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_error expects LDAP\\Connection, bool\|resource given\.$#' identifier: argument.type count: 9 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_error expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 8 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_first_entry expects LDAP\\Connection, bool\|resource given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_first_entry expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_get_attributes expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_get_entries expects LDAP\\Connection, bool\|resource given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_get_option expects LDAP\\Connection, bool\|resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_get_values_len expects LDAP\\Connection, bool\|resource given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_mod_add expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_mod_del expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_mod_replace expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_rename expects LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_search expects array\|LDAP\\Connection, bool\|resource given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_search expects array\|LDAP\\Connection, resource\|true given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_set_option expects LDAP\\Connection\|null, bool\|resource given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#1 \$ldap of function ldap_unbind expects LDAP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/ldap.class.php + path: ../../../htdocs/core/class/ldap.class.php - message: '#^Parameter \#2 \$pere of method Menubase\:\:recur\(\) expects int, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/class/menubase.class.php + path: ../../../htdocs/core/class/menubase.class.php - message: '#^Property Menubase\:\:\$enabled \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/menubase.class.php + path: ../../../htdocs/core/class/menubase.class.php - message: '#^Property Menubase\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/menubase.class.php + path: ../../../htdocs/core/class/menubase.class.php - message: '#^Variable \$menutopid in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/class/menubase.class.php + path: ../../../htdocs/core/class/menubase.class.php - message: '#^Method Notify\:\:getNotificationsArray\(\) has parameter \$scope with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/class/notify.class.php + path: ../../../htdocs/core/class/notify.class.php - message: '#^Method Notify\:\:getNotificationsArray\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/class/notify.class.php + path: ../../../htdocs/core/class/notify.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/core/class/notify.class.php + path: ../../../htdocs/core/class/notify.class.php - message: '#^Property Notify\:\:\$arrayofnotifsupported has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/notify.class.php + path: ../../../htdocs/core/class/notify.class.php - message: '#^Call to function is_array\(\) with non\-empty\-array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/openid.class.php + path: ../../../htdocs/core/class/openid.class.php - message: '#^Parameter \#1 \$content of method SimpleOpenID\:\:HTML2OpenIDServer\(\) expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/openid.class.php + path: ../../../htdocs/core/class/openid.class.php - message: '#^Call to function is_object\(\) with XMLParser will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/rssparser.class.php + path: ../../../htdocs/core/class/rssparser.class.php - message: '#^Parameter \#1 \$str1 of method RssParser\:\:concat\(\) expects string, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/class/rssparser.class.php + path: ../../../htdocs/core/class/rssparser.class.php - message: '#^Property RssParser\:\:\$items has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/class/rssparser.class.php + path: ../../../htdocs/core/class/rssparser.class.php - message: '#^Comparison operation "\>\=" between int\<2, 4\> and 1 is always true\.$#' identifier: greaterOrEqual.alwaysTrue count: 1 - path: ../../htdocs/core/class/smtps.class.php + path: ../../../htdocs/core/class/smtps.class.php - message: '#^Property SMTPs\:\:\$_arySensitivity \(array\\) does not accept default value of type array\\.$#' identifier: property.defaultValue count: 1 - path: ../../htdocs/core/class/smtps.class.php + path: ../../../htdocs/core/class/smtps.class.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 1 - path: ../../htdocs/core/class/smtps.class.php + path: ../../../htdocs/core/class/smtps.class.php - message: '#^Call to function method_exists\(\) with \$this\(TimeSpent\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Call to function method_exists\(\) with \$this\(TimeSpent\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Call to function property_exists\(\) with TimeSpent and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Call to function property_exists\(\) with TimeSpent and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Call to function property_exists\(\) with TimeSpent and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Call to function property_exists\(\) with TimeSpent and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/core/class/timespent.class.php + path: ../../../htdocs/core/class/timespent.class.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 2 - path: ../../htdocs/core/class/translate.class.php + path: ../../../htdocs/core/class/translate.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/class/utils.class.php + path: ../../../htdocs/core/class/utils.class.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 2 - path: ../../htdocs/core/class/utils.class.php + path: ../../../htdocs/core/class/utils.class.php - message: '#^Comparison operation "\<" between 0\|1 and 0 is always false\.$#' identifier: smaller.alwaysFalse count: 2 - path: ../../htdocs/core/class/utils.class.php + path: ../../../htdocs/core/class/utils.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/class/utils.class.php + path: ../../../htdocs/core/class/utils.class.php - message: '#^PHPDoc tag @var with type DoliDB is not subtype of native type mixed\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/core/class/utils.class.php + path: ../../../htdocs/core/class/utils.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/core/class/utils.class.php + path: ../../../htdocs/core/class/utils.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 3 - path: ../../htdocs/core/class/utils.class.php + path: ../../../htdocs/core/class/utils.class.php - message: '#^Variable \$moduleobj might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/class/utils.class.php + path: ../../../htdocs/core/class/utils.class.php - message: '#^Parameter \#1 \$table of static method Diff\:\:generatePartialDiff\(\) expects array\\}\>, array\\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/class/utils_diff.class.php + path: ../../../htdocs/core/class/utils_diff.class.php - message: '#^Cannot access property \$db on mixed\.$#' identifier: property.nonObject count: 2 - path: ../../htdocs/core/commonfieldsinexport.inc.php + path: ../../../htdocs/core/commonfieldsinexport.inc.php - message: '#^Cannot access property \$export_TypeFields_array on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/core/commonfieldsinexport.inc.php + path: ../../../htdocs/core/commonfieldsinexport.inc.php - message: '#^Cannot access property \$export_entities_array on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/core/commonfieldsinexport.inc.php + path: ../../../htdocs/core/commonfieldsinexport.inc.php - message: '#^Cannot access property \$export_fields_array on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/core/commonfieldsinexport.inc.php + path: ../../../htdocs/core/commonfieldsinexport.inc.php - message: '#^Cannot access property \$export_help_array on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/core/commonfieldsinexport.inc.php + path: ../../../htdocs/core/commonfieldsinexport.inc.php - message: '#^Variable \$r might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/commonfieldsinexport.inc.php + path: ../../../htdocs/core/commonfieldsinexport.inc.php - message: '#^Variable \$this might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/commonfieldsinexport.inc.php + path: ../../../htdocs/core/commonfieldsinexport.inc.php - message: '#^Cannot access property \$db on mixed\.$#' identifier: property.nonObject count: 2 - path: ../../htdocs/core/commonfieldsinimport.inc.php + path: ../../../htdocs/core/commonfieldsinimport.inc.php - message: '#^Cannot access property \$import_TypeFields_array on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/core/commonfieldsinimport.inc.php + path: ../../../htdocs/core/commonfieldsinimport.inc.php - message: '#^Cannot access property \$import_entities_array on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/core/commonfieldsinimport.inc.php + path: ../../../htdocs/core/commonfieldsinimport.inc.php - message: '#^Cannot access property \$import_fields_array on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/core/commonfieldsinimport.inc.php + path: ../../../htdocs/core/commonfieldsinimport.inc.php - message: '#^Cannot access property \$import_help_array on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/core/commonfieldsinimport.inc.php + path: ../../../htdocs/core/commonfieldsinimport.inc.php - message: '#^Variable \$r might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/commonfieldsinimport.inc.php + path: ../../../htdocs/core/commonfieldsinimport.inc.php - message: '#^Variable \$this might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/commonfieldsinimport.inc.php + path: ../../../htdocs/core/commonfieldsinimport.inc.php - message: '#^Call to function is_array\(\) with non\-empty\-array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Comparison operation "\>" between 1 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 2 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Variable \$gval might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Variable \$page might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Variable \$search_graph might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Variable \$search_groupby might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Variable \$search_xaxis might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Variable \$search_yaxis might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Variable \$sortfield might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Variable \$sortorder might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Variable \$tabfamily might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/customreports.php + path: ../../../htdocs/core/customreports.php - message: '#^Constructor of class DoliDBMysqli has an unused parameter \$type\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/db/mysqli.class.php + path: ../../../htdocs/core/db/mysqli.class.php - message: '#^Parameter \#2 \$value of method mysqli\:\:options\(\) expects int\|string, false given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/db/mysqli.class.php + path: ../../../htdocs/core/db/mysqli.class.php - message: '#^Property DoliDBMysqli\:\:\$db \(mysqli\) in empty\(\) is not falsy\.$#' identifier: empty.property count: 1 - path: ../../htdocs/core/db/mysqli.class.php + path: ../../../htdocs/core/db/mysqli.class.php - message: '#^Variable \$disableforcecharset in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/core/db/mysqli.class.php + path: ../../../htdocs/core/db/mysqli.class.php - message: '#^Constructor of class DoliDBPgsql has an unused parameter \$type\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/db/pgsql.class.php + path: ../../../htdocs/core/db/pgsql.class.php - message: '#^Parameter \#1 \$result of function pg_affected_rows expects PgSql\\Result, bool\|resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/db/pgsql.class.php + path: ../../../htdocs/core/db/pgsql.class.php - message: '#^Parameter \#1 \$result of function pg_fetch_array expects PgSql\\Result, bool\|resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/db/pgsql.class.php + path: ../../../htdocs/core/db/pgsql.class.php - message: '#^Parameter \#1 \$result of function pg_fetch_object expects PgSql\\Result, bool\|resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/db/pgsql.class.php + path: ../../../htdocs/core/db/pgsql.class.php - message: '#^Parameter \#1 \$result of function pg_fetch_row expects PgSql\\Result, bool\|resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/db/pgsql.class.php + path: ../../../htdocs/core/db/pgsql.class.php - message: '#^Parameter \#1 \$result of function pg_free_result expects PgSql\\Result, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/db/pgsql.class.php + path: ../../../htdocs/core/db/pgsql.class.php - message: '#^Parameter \#1 \$result of function pg_num_rows expects PgSql\\Result, bool\|resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/db/pgsql.class.php + path: ../../../htdocs/core/db/pgsql.class.php - message: '#^Parameter \#1 \$resultset of method DoliDBPgsql\:\:fetch_row\(\) expects resource, PgSql\\Result given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/db/pgsql.class.php + path: ../../../htdocs/core/db/pgsql.class.php - message: '#^Constructor of class DoliDBSqlite3 has an unused parameter \$type\.$#' identifier: constructor.unusedParameter count: 1 - path: ../../htdocs/core/db/sqlite3.class.php + path: ../../../htdocs/core/db/sqlite3.class.php - message: '#^Method DoliDBSqlite3\:\:getListOfCollation\(\) should return array\\|null but returns array\{array\{charset\: ''UTF\-8'', description\: ''UTF\-8''\}\}\.$#' identifier: return.type count: 1 - path: ../../htdocs/core/db/sqlite3.class.php + path: ../../../htdocs/core/db/sqlite3.class.php - message: '#^Cannot access property \$db on mixed\.$#' identifier: property.nonObject count: 3 - path: ../../htdocs/core/extrafieldsinexport.inc.php + path: ../../../htdocs/core/extrafieldsinexport.inc.php - message: '#^Cannot access property \$export_TypeFields_array on mixed\.$#' identifier: property.nonObject count: 2 - path: ../../htdocs/core/extrafieldsinexport.inc.php + path: ../../../htdocs/core/extrafieldsinexport.inc.php - message: '#^Cannot access property \$export_entities_array on mixed\.$#' identifier: property.nonObject count: 2 - path: ../../htdocs/core/extrafieldsinexport.inc.php + path: ../../../htdocs/core/extrafieldsinexport.inc.php - message: '#^Cannot access property \$export_fields_array on mixed\.$#' identifier: property.nonObject count: 2 - path: ../../htdocs/core/extrafieldsinexport.inc.php + path: ../../../htdocs/core/extrafieldsinexport.inc.php - message: '#^Cannot access property \$export_special_array on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/core/extrafieldsinexport.inc.php + path: ../../../htdocs/core/extrafieldsinexport.inc.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/extrafieldsinexport.inc.php + path: ../../../htdocs/core/extrafieldsinexport.inc.php - message: '#^Variable \$r might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/core/extrafieldsinexport.inc.php + path: ../../../htdocs/core/extrafieldsinexport.inc.php - message: '#^Variable \$this might not be defined\.$#' identifier: variable.undefined count: 10 - path: ../../htdocs/core/extrafieldsinexport.inc.php + path: ../../../htdocs/core/extrafieldsinexport.inc.php - message: '#^Cannot access property \$db on mixed\.$#' identifier: property.nonObject count: 3 - path: ../../htdocs/core/extrafieldsinimport.inc.php + path: ../../../htdocs/core/extrafieldsinimport.inc.php - message: '#^Cannot access property \$import_TypeFields_array on mixed\.$#' identifier: property.nonObject count: 2 - path: ../../htdocs/core/extrafieldsinimport.inc.php + path: ../../../htdocs/core/extrafieldsinimport.inc.php - message: '#^Cannot access property \$import_entities_array on mixed\.$#' identifier: property.nonObject count: 2 - path: ../../htdocs/core/extrafieldsinimport.inc.php + path: ../../../htdocs/core/extrafieldsinimport.inc.php - message: '#^Cannot access property \$import_fields_array on mixed\.$#' identifier: property.nonObject count: 2 - path: ../../htdocs/core/extrafieldsinimport.inc.php + path: ../../../htdocs/core/extrafieldsinimport.inc.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/extrafieldsinimport.inc.php + path: ../../../htdocs/core/extrafieldsinimport.inc.php - message: '#^Variable \$r might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/extrafieldsinimport.inc.php + path: ../../../htdocs/core/extrafieldsinimport.inc.php - message: '#^Variable \$this might not be defined\.$#' identifier: variable.undefined count: 9 - path: ../../htdocs/core/extrafieldsinimport.inc.php + path: ../../../htdocs/core/extrafieldsinimport.inc.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/filemanagerdol/browser/default/browser.php + path: ../../../htdocs/core/filemanagerdol/browser/default/browser.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/filemanagerdol/browser/default/browser.php + path: ../../../htdocs/core/filemanagerdol/browser/default/browser.php - message: '#^Variable \$_FILES in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/core/filemanagerdol/connectors/php/connector.lib.php + path: ../../../htdocs/core/filemanagerdol/connectors/php/connector.lib.php - message: '#^Variable \$_SERVER in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/core/filemanagerdol/connectors/php/connector.lib.php + path: ../../../htdocs/core/filemanagerdol/connectors/php/connector.lib.php - message: '#^Variable \$isImageValid in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/core/filemanagerdol/connectors/php/connector.lib.php + path: ../../../htdocs/core/filemanagerdol/connectors/php/connector.lib.php - message: '#^Variable \$Config might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/filemanagerdol/connectors/php/connector.php + path: ../../../htdocs/core/filemanagerdol/connectors/php/connector.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 1 - path: ../../htdocs/core/get_info.php + path: ../../../htdocs/core/get_info.php - message: '#^Variable \$var in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/core/lib/accounting.lib.php + path: ../../../htdocs/core/lib/accounting.lib.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/admin.lib.php + path: ../../../htdocs/core/lib/admin.lib.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 1 - path: ../../htdocs/core/lib/admin.lib.php + path: ../../../htdocs/core/lib/admin.lib.php - message: '#^Loose comparison using \!\= between ''llx_'' and ''llx_'' will always evaluate to false\.$#' identifier: notEqual.alwaysFalse count: 1 - path: ../../htdocs/core/lib/admin.lib.php + path: ../../../htdocs/core/lib/admin.lib.php - message: '#^Offset 1 on array\{string, non\-falsy\-string, string\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/core/lib/admin.lib.php + path: ../../../htdocs/core/lib/admin.lib.php - message: '#^Variable \$resarray might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/lib/admin.lib.php + path: ../../../htdocs/core/lib/admin.lib.php - message: '#^Variable \$strictw3c in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 13 - path: ../../htdocs/core/lib/admin.lib.php + path: ../../../htdocs/core/lib/admin.lib.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 2 - path: ../../htdocs/core/lib/agenda.lib.php + path: ../../../htdocs/core/lib/agenda.lib.php - message: '#^Function ajax_constantonoff\(\) has parameter \$entity with no type specified\.$#' identifier: missingType.parameter count: 1 - path: ../../htdocs/core/lib/ajax.lib.php + path: ../../../htdocs/core/lib/ajax.lib.php - message: '#^Function ajax_constantonoff\(\) has parameter \$revertonoff with no type specified\.$#' identifier: missingType.parameter count: 1 - path: ../../htdocs/core/lib/ajax.lib.php + path: ../../../htdocs/core/lib/ajax.lib.php - message: '#^Function ajax_constantonoff\(\) has parameter \$strict with no type specified\.$#' identifier: missingType.parameter count: 1 - path: ../../htdocs/core/lib/ajax.lib.php + path: ../../../htdocs/core/lib/ajax.lib.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/lib/company.lib.php + path: ../../../htdocs/core/lib/company.lib.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/core/lib/company.lib.php + path: ../../../htdocs/core/lib/company.lib.php - message: '#^Loose comparison using \!\= between ''view'' and ''kanban'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/core/lib/company.lib.php + path: ../../../htdocs/core/lib/company.lib.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 4 - path: ../../htdocs/core/lib/company.lib.php + path: ../../../htdocs/core/lib/company.lib.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/lib/company.lib.php + path: ../../../htdocs/core/lib/company.lib.php - message: '#^Variable \$sql in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/company.lib.php + path: ../../../htdocs/core/lib/company.lib.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/core/lib/contact.lib.php + path: ../../../htdocs/core/lib/contact.lib.php - message: '#^Call to function method_exists\(\) with ''DateTimeZone'' and ''getOffset'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/date.lib.php + path: ../../../htdocs/core/lib/date.lib.php - message: '#^Function get_tz_array\(\) should return array\, string\> but returns array\{\-11\: ''Pacific/Pago_Pago'', \-10\: ''Pacific/Honolulu'', \-9\: ''America/Anchorage'', \-8\: ''America/Los_Angeles'', \-7\: ''America/Dawson_Creek'', \-6\: ''America/Chicago'', \-5\: ''America/Bogota'', \-4\: ''America/Asuncion'', \.\.\.\}\.$#' identifier: return.type count: 1 - path: ../../htdocs/core/lib/date.lib.php + path: ../../../htdocs/core/lib/date.lib.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/lib/emailing.lib.php + path: ../../../htdocs/core/lib/emailing.lib.php - message: '#^Parameter \#4 \$head of function complete_head_from_modules expects array\, array\{0\: array\{''//admin/confexped…'', mixed\}, 1\: array\{''//admin/expedition…'', mixed\}, 2\?\: array\{''//admin/delivery\.php'', mixed\}\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/expedition.lib.php + path: ../../../htdocs/core/lib/expedition.lib.php - message: '#^Call to function is_array\(\) with array\{file\: string, timestamp\: int\|false\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/files.lib.php + path: ../../../htdocs/core/lib/files.lib.php - message: '#^Call to function is_array\(\) with non\-empty\-list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/files.lib.php + path: ../../../htdocs/core/lib/files.lib.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/lib/files.lib.php + path: ../../../htdocs/core/lib/files.lib.php - message: '#^Loose comparison using \=\= between ''zst'' and ''zst'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/core/lib/files.lib.php + path: ../../../htdocs/core/lib/files.lib.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/core/lib/files.lib.php + path: ../../../htdocs/core/lib/files.lib.php - message: '#^PHPDoc tag @var with type array\ is not subtype of native type RecursiveIteratorIterator\\.$#' identifier: varTag.nativeType count: 2 - path: ../../htdocs/core/lib/files.lib.php + path: ../../../htdocs/core/lib/files.lib.php - message: '#^Strict comparison using \!\=\= between array\{file\: string, timestamp\: int\|false\} and null will always evaluate to true\.$#' identifier: notIdentical.alwaysTrue count: 1 - path: ../../htdocs/core/lib/files.lib.php + path: ../../../htdocs/core/lib/files.lib.php - message: '#^Parameter \#1 \$ftp of function ftp_cdup expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/ftp.lib.php + path: ../../../htdocs/core/lib/ftp.lib.php - message: '#^Parameter \#1 \$ftp of function ftp_chdir expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/ftp.lib.php + path: ../../../htdocs/core/lib/ftp.lib.php - message: '#^Parameter \#1 \$ftp of function ftp_close expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/ftp.lib.php + path: ../../../htdocs/core/lib/ftp.lib.php - message: '#^Parameter \#1 \$ftp of function ftp_delete expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/ftp.lib.php + path: ../../../htdocs/core/lib/ftp.lib.php - message: '#^Parameter \#1 \$ftp of function ftp_get expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/ftp.lib.php + path: ../../../htdocs/core/lib/ftp.lib.php - message: '#^Parameter \#1 \$ftp of function ftp_mkdir expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/ftp.lib.php + path: ../../../htdocs/core/lib/ftp.lib.php - message: '#^Parameter \#1 \$ftp of function ftp_put expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/ftp.lib.php + path: ../../../htdocs/core/lib/ftp.lib.php - message: '#^Parameter \#1 \$ftp of function ftp_rmdir expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/ftp.lib.php + path: ../../../htdocs/core/lib/ftp.lib.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Call to function is_numeric\(\) with float will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Call to function is_object\(\) with User will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 24 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Comparison operation "\>" between int\<1, max\> and 0 is always true\.$#' identifier: greater.alwaysTrue count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Function dol_escape_js\(\) has no return type specified\.$#' identifier: missingType.return count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Function dol_escape_js\(\) has parameter \$noescapebackslashn with no type specified\.$#' identifier: missingType.parameter count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Instanceof between DOMDocument and DOMDocument will always evaluate to true\.$#' identifier: instanceof.alwaysTrue count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Instanceof between User and User will always evaluate to true\.$#' identifier: instanceof.alwaysTrue count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Offset ''list'' on array\{list\: array\{\}\}\|array\{list\: non\-empty\-array\\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Offset 1 on array\{string, non\-falsy\-string\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Offset 1 on array\{string, non\-falsy\-string\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Property CommonObject\:\:\$country \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Property CommonObject\:\:\$firstname \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Property CommonObject\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Property CommonObject\:\:\$lastname \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Property CommonObject\:\:\$multicurrency_code \(array\\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Property CommonObject\:\:\$multicurrency_total_ttc \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Property CommonObject\:\:\$state \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 8 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Variable \$TCompiledAttr in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^Variable \$paramname in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/functions.lib.php + path: ../../../htdocs/core/lib/functions.lib.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/lib/functions2.lib.php + path: ../../../htdocs/core/lib/functions2.lib.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/lib/functions2.lib.php + path: ../../../htdocs/core/lib/functions2.lib.php - message: '#^Function getURLContent\(\) should return array\{http_code\: int, content\: string, curl_error_no\: int, curl_error_msg\: string\} but returns array\{content\: bool\|string, curl_error_no\: int\\|int\<1, max\>, curl_error_msg\: string\}\|array\{http_code\?\: 400, content\?\: non\-falsy\-string\|true, curl_error_no\: '''', curl_error_msg\: ''''\}\|array\{url\: string, content_type\: string\|null, http_code\: int, header_size\: int, request_size\: int, filetime\: int, ssl_verify_result\: int, redirect_count\: int, \.\.\.\}\.$#' identifier: return.type count: 1 - path: ../../htdocs/core/lib/geturl.lib.php + path: ../../../htdocs/core/lib/geturl.lib.php - message: '#^Parameter \#3 \$value of function curl_setopt expects 0\|2, bool given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/lib/geturl.lib.php + path: ../../../htdocs/core/lib/geturl.lib.php - message: '#^Parameter \#3 \$value of function curl_setopt expects bool, int given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/core/lib/geturl.lib.php + path: ../../../htdocs/core/lib/geturl.lib.php - message: '#^Call to function function_exists\(\) with ''imagecreatefromgif''\|''imagecreatefromjpeg''\|''imagecreatefrompng''\|''imagecreatefromwbmp''\|''imagecreatefromwebp'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 3 - path: ../../htdocs/core/lib/images.lib.php + path: ../../../htdocs/core/lib/images.lib.php - message: '#^Variable \$extImg might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/lib/images.lib.php + path: ../../../htdocs/core/lib/images.lib.php - message: '#^Loose comparison using \=\= between ''suppliers'' and ''fourn'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 3 - path: ../../htdocs/core/lib/invoice.lib.php + path: ../../../htdocs/core/lib/invoice.lib.php - message: '#^Loose comparison using \=\= between ''suppliers'' and ''suppliers'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 3 - path: ../../htdocs/core/lib/invoice.lib.php + path: ../../../htdocs/core/lib/invoice.lib.php - message: '#^Parameter \#1 \$array \(array\{mixed, mixed, mixed, mixed, mixed, non\-falsy\-string\}\) of array_values is already a list, call has no effect\.$#' identifier: arrayValues.list count: 1 - path: ../../htdocs/core/lib/invoice.lib.php + path: ../../../htdocs/core/lib/invoice.lib.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 3 - path: ../../htdocs/core/lib/invoice.lib.php + path: ../../../htdocs/core/lib/invoice.lib.php - message: '#^Variable \$sqlwhere in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/invoice2.lib.php + path: ../../../htdocs/core/lib/invoice2.lib.php - message: '#^Variable \$array in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/json.lib.php + path: ../../../htdocs/core/lib/json.lib.php - message: '#^Call to function array_key_exists\(\) with ''code'' and array\{rowid\: array\{type\: ''integer'', value\: 11, extra\: ''AUTO_INCREMENT''\}, code\: array\{type\: ''varchar'', value\: 255, null\: ''NOT NULL''\}, label\: array\{type\: ''varchar'', value\: 255, null\: ''NOT NULL''\}, position\: array\{type\: ''integer'', value\: 11, null\: ''NULL''\}, use_default\: array\{type\: ''varchar'', value\: 11, default\: ''1''\}, active\: array\{type\: ''integer'', value\: 3\}\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 4 - path: ../../htdocs/core/lib/modulebuilder.lib.php + path: ../../../htdocs/core/lib/modulebuilder.lib.php - message: '#^Call to function array_key_exists\(\) with ''label'' and array\{rowid\: array\{type\: ''integer'', value\: 11, extra\: ''AUTO_INCREMENT''\}, code\: array\{type\: ''varchar'', value\: 255, null\: ''NOT NULL''\}, label\: array\{type\: ''varchar'', value\: 255, null\: ''NOT NULL''\}, position\: array\{type\: ''integer'', value\: 11, null\: ''NULL''\}, use_default\: array\{type\: ''varchar'', value\: 11, default\: ''1''\}, active\: array\{type\: ''integer'', value\: 3\}\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 4 - path: ../../htdocs/core/lib/modulebuilder.lib.php + path: ../../../htdocs/core/lib/modulebuilder.lib.php - message: '#^Call to function array_key_exists\(\) with ''rowid'' and array\{rowid\: array\{type\: ''integer'', value\: 11, extra\: ''AUTO_INCREMENT''\}, code\: array\{type\: ''varchar'', value\: 255, null\: ''NOT NULL''\}, label\: array\{type\: ''varchar'', value\: 255, null\: ''NOT NULL''\}, position\: array\{type\: ''integer'', value\: 11, null\: ''NULL''\}, use_default\: array\{type\: ''varchar'', value\: 11, default\: ''1''\}, active\: array\{type\: ''integer'', value\: 3\}\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/modulebuilder.lib.php + path: ../../../htdocs/core/lib/modulebuilder.lib.php - message: '#^Call to function is_array\(\) with array\{\}\|array\{name\: string, key\: string, type\: string, label\: string, picot\?\: string, enabled\: int\<0, 1\>, notnull\: int\<0, 1\>, position\: int, \.\.\.\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/modulebuilder.lib.php + path: ../../../htdocs/core/lib/modulebuilder.lib.php - message: '#^Strict comparison using \!\=\= between string and false will always evaluate to true\.$#' identifier: notIdentical.alwaysTrue count: 2 - path: ../../htdocs/core/lib/modulebuilder.lib.php + path: ../../../htdocs/core/lib/modulebuilder.lib.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/core/lib/modulebuilder.lib.php + path: ../../../htdocs/core/lib/modulebuilder.lib.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 4 - path: ../../htdocs/core/lib/order.lib.php + path: ../../../htdocs/core/lib/order.lib.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/lib/order.lib.php + path: ../../../htdocs/core/lib/order.lib.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/lib/pdf.lib.php + path: ../../../htdocs/core/lib/pdf.lib.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 4 - path: ../../htdocs/core/lib/pdf.lib.php + path: ../../../htdocs/core/lib/pdf.lib.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 18 - path: ../../htdocs/core/lib/pdf.lib.php + path: ../../../htdocs/core/lib/pdf.lib.php - message: '#^Variable \$refListsTxt in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/pdf.lib.php + path: ../../../htdocs/core/lib/pdf.lib.php - message: '#^Call to function is_array\(\) with list\<\(int\|string\)\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/project.lib.php + path: ../../../htdocs/core/lib/project.lib.php - message: '#^Property Task\:\:\$progress \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/lib/project.lib.php + path: ../../../htdocs/core/lib/project.lib.php - message: '#^Variable \$progressCalculated in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/core/lib/project.lib.php + path: ../../../htdocs/core/lib/project.lib.php - message: '#^Call to function is_string\(\) with string will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/security.lib.php + path: ../../../htdocs/core/lib/security.lib.php - message: '#^Variable \$login in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/security2.lib.php + path: ../../../htdocs/core/lib/security2.lib.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/sendings.lib.php + path: ../../../htdocs/core/lib/sendings.lib.php - message: '#^Variable \$out in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/signature.lib.php + path: ../../../htdocs/core/lib/signature.lib.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 6 - path: ../../htdocs/core/lib/tax.lib.php + path: ../../../htdocs/core/lib/tax.lib.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/lib/ticket.lib.php + path: ../../../htdocs/core/lib/ticket.lib.php - message: '#^Variable \$butactionbg in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colorbackhmenu1 in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colorbacklineimpair1 in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colorbacklinepair1 in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colorbacklinepairchecked in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colorbacklinepairhover in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colorbacktitle1 in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colorbackvmenu1 in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colortextlink in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colortexttitle in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colortexttitlelink in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$colortexttitlenotab in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Variable \$textbutaction in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/lib/usergroups.lib.php + path: ../../../htdocs/core/lib/usergroups.lib.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/website.lib.php + path: ../../../htdocs/core/lib/website.lib.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/core/lib/website.lib.php + path: ../../../htdocs/core/lib/website.lib.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/lib/website.lib.php + path: ../../../htdocs/core/lib/website.lib.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/lib/website.lib.php + path: ../../../htdocs/core/lib/website.lib.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/lib/website.lib.php + path: ../../../htdocs/core/lib/website.lib.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/lib/website2.lib.php + path: ../../../htdocs/core/lib/website2.lib.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/lib/website2.lib.php + path: ../../../htdocs/core/lib/website2.lib.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/lib/xcal.lib.php + path: ../../../htdocs/core/lib/xcal.lib.php - message: '#^Loose comparison using \=\= between ''auto'' and ''auto'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/core/login/functions_dolibarr.php + path: ../../../htdocs/core/login/functions_dolibarr.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/login/functions_ldap.php + path: ../../../htdocs/core/login/functions_ldap.php - message: '#^Parameter \#1 \$ldap of function ldap_errno expects LDAP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/login/functions_ldap.php + path: ../../../htdocs/core/login/functions_ldap.php - message: '#^Parameter \#1 \$ldap of function ldap_error expects LDAP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/login/functions_ldap.php + path: ../../../htdocs/core/login/functions_ldap.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/menus/standard/auguria.lib.php + path: ../../../htdocs/core/menus/standard/auguria.lib.php - message: '#^Offset ''level'' on array\{url\: mixed\} in empty\(\) does not exist\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/core/menus/standard/auguria.lib.php + path: ../../../htdocs/core/menus/standard/auguria.lib.php - message: '#^Offset ''mainmenu'' on array\{url\: mixed\} in empty\(\) does not exist\.$#' identifier: empty.offset count: 2 - path: ../../htdocs/core/menus/standard/auguria.lib.php + path: ../../../htdocs/core/menus/standard/auguria.lib.php - message: '#^Offset ''prefix'' on array\{url\: mixed\} in empty\(\) does not exist\.$#' identifier: empty.offset count: 2 - path: ../../htdocs/core/menus/standard/auguria.lib.php + path: ../../../htdocs/core/menus/standard/auguria.lib.php - message: '#^Parameter \#8 \$menuval of function print_text_menu_entry_auguria expects array\{\}\|array\{rowid\: string, fk_menu\: string, langs\: string, enabled\: int\<0, 2\>, type\: string, fk_mainmenu\: string, fk_leftmenu\: string, url\: string, \.\.\.\}, array\{url\: string, titre\: string, enabled\: int\<0, 2\>, target\: string, mainmenu\: string, leftmenu\: string, position\: int, level\?\: int, \.\.\.\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/auguria.lib.php + path: ../../../htdocs/core/menus/standard/auguria.lib.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/core/menus/standard/auguria.lib.php + path: ../../../htdocs/core/menus/standard/auguria.lib.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/core/menus/standard/auguria.lib.php + path: ../../../htdocs/core/menus/standard/auguria.lib.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 4 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 6 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Left side of \|\| is always true\.$#' identifier: booleanOr.leftAlwaysTrue count: 4 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Loose comparison using \=\= between ''accountancy'' and ''accountancy'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 4 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Offset ''level'' on array\{url\: mixed\} in empty\(\) does not exist\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Offset ''mainmenu'' on array\{url\: mixed\} in empty\(\) does not exist\.$#' identifier: empty.offset count: 2 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Offset ''prefix'' on array\{url\: mixed\} in empty\(\) does not exist\.$#' identifier: empty.offset count: 2 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: 0\|1, perms\: 0\|1, module\: ''projet''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: 0\|1, perms\: bool, module\: ''facture\|supplier…''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: 0\|1, perms\: bool, module\: ''propal\|commande…''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: 1, perms\: 1, module\: ''''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: bool, module\: ''banque\|prelevement…''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: bool, module\: ''bom\|mrp''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: bool, module\: ''comptabilite…''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: bool, module\: ''hrm\|holiday…''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: bool, module\: ''product\|service''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: bool, module\: ''societe\|fournisseur''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: bool, module\: ''ticket…''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: bool, perms\: mixed, module\: ''adherent''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#2 \$menuentry of function isVisibleToUserType expects array\{enabled\: int\<0, 1\>, module\: string, perms\: string\}, array\{enabled\: true, perms\: mixed, module\: ''projet''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Parameter \#8 \$menuval of function print_text_menu_entry expects array\{\}\|array\{rowid\: string, fk_menu\: string, langs\: string, enabled\: int\<0, 2\>, type\: string, fk_mainmenu\: string, fk_leftmenu\: string, url\: string, \.\.\.\}, array\{url\: string, titre\: string, enabled\: int\<0, 2\>, target\: string, mainmenu\: string, leftmenu\: string, position\: int, level\?\: int, \.\.\.\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/core/menus/standard/eldy.lib.php + path: ../../../htdocs/core/menus/standard/eldy.lib.php - message: '#^Call to function is_array\(\) with array\{\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Loose comparison using \!\= between ''top'' and ''jmobile'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Loose comparison using \!\= between ''top'' and ''topnb'' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 1 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Loose comparison using \=\= between ''left'' and ''jmobile'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Loose comparison using \=\= between ''top'' and ''jmobile'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 1 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Variable \$noout in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 8 - path: ../../htdocs/core/menus/standard/empty.php + path: ../../../htdocs/core/menus/standard/empty.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/core/modules/DolibarrModules.class.php + path: ../../../htdocs/core/modules/DolibarrModules.class.php - message: '#^Offset ''entity'' on array\{data\: string, entity\: int\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/core/modules/DolibarrModules.class.php + path: ../../../htdocs/core/modules/DolibarrModules.class.php - message: '#^Property DolibarrModules\:\:\$dirs \(array\\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/DolibarrModules.class.php + path: ../../../htdocs/core/modules/DolibarrModules.class.php - message: '#^Property Menubase\:\:\$fk_mainmenu \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/DolibarrModules.class.php + path: ../../../htdocs/core/modules/DolibarrModules.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/core/modules/DolibarrModules.class.php + path: ../../../htdocs/core/modules/DolibarrModules.class.php - message: '#^Variable \$fulldir in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/modules/DolibarrModules.class.php + path: ../../../htdocs/core/modules/DolibarrModules.class.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/action/doc/pdf_standard_actions.class.php + path: ../../../htdocs/core/modules/action/doc/pdf_standard_actions.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/modules/action/doc/pdf_standard_actions.class.php + path: ../../../htdocs/core/modules/action/doc/pdf_standard_actions.class.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Asset given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php + path: ../../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php + path: ../../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php + path: ../../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php + path: ../../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php + path: ../../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php + path: ../../../htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property pdf_standard_asset\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Variable \$carac_client_name might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php + path: ../../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php - message: '#^Property mod_asset_standard\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/asset/mod_asset_standard.php + path: ../../../htdocs/core/modules/asset/mod_asset_standard.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/bank/doc/pdf_ban.modules.php + path: ../../../htdocs/core/modules/bank/doc/pdf_ban.modules.php - message: '#^Loose comparison using \=\= between 1 and 1 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/core/modules/bank/doc/pdf_ban.modules.php + path: ../../../htdocs/core/modules/bank/doc/pdf_ban.modules.php - message: '#^Parameter \#3 \$tab_height of method pdf_ban\:\:_tableau\(\) expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/bank/doc/pdf_ban.modules.php + path: ../../../htdocs/core/modules/bank/doc/pdf_ban.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php + path: ../../../htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php - message: '#^Loose comparison using \=\= between 1 and 1 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php + path: ../../../htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php - message: '#^Parameter \#3 \$posy of method pdf_sepamandate\:\:_tableau_info\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php + path: ../../../htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php - message: '#^Parameter \#3 \$tab_height of method pdf_sepamandate\:\:_tableau\(\) expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php + path: ../../../htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/barcode/doc/phpbarcode.modules.php + path: ../../../htdocs/core/modules/barcode/doc/phpbarcode.modules.php - message: '#^Property modTcpdfbarcode\:\:\$is2d has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php + path: ../../../htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php - message: '#^Parameter \#2 \$type of method mod_barcode_product_standard\:\:literalBarcodeType\(\) expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/barcode/mod_barcode_product_standard.php + path: ../../../htdocs/core/modules/barcode/mod_barcode_product_standard.php - message: '#^Property mod_barcode_product_standard\:\:\$numbitcounter has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/barcode/mod_barcode_product_standard.php + path: ../../../htdocs/core/modules/barcode/mod_barcode_product_standard.php - message: '#^Property mod_barcode_product_standard\:\:\$searchcode has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/barcode/mod_barcode_product_standard.php + path: ../../../htdocs/core/modules/barcode/mod_barcode_product_standard.php - message: '#^Parameter \#2 \$type of method mod_barcode_thirdparty_standard\:\:literalBarcodeType\(\) expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/barcode/mod_barcode_thirdparty_standard.php + path: ../../../htdocs/core/modules/barcode/mod_barcode_thirdparty_standard.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, BOM given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php + path: ../../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php + path: ../../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php + path: ../../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php + path: ../../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php + path: ../../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php + path: ../../../htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php - message: '#^Property mod_bom_standard\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/bom/mod_bom_standard.php + path: ../../../htdocs/core/modules/bom/mod_bom_standard.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/cheque/doc/pdf_blochet.class.php + path: ../../../htdocs/core/modules/cheque/doc/pdf_blochet.class.php - message: '#^Property mod_chequereceipt_mint\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/cheque/mod_chequereceipt_mint.php + path: ../../../htdocs/core/modules/cheque/mod_chequereceipt_mint.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Commande given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php + path: ../../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php + path: ../../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php + path: ../../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php + path: ../../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php + path: ../../../htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php - message: '#^Parameter \#3 \$posy of method pdf_einstein\:\:_tableau_info\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php - message: '#^Parameter \#4 \$posy of method pdf_einstein\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php - message: '#^Property Commande\:\:\$availability \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php - message: '#^Property CommonObject\:\:\$multicurrency_tx \(array\\|float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_einstein.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Parameter \#3 \$posy of method pdf_eratosthene\:\:drawInfoTable\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Parameter \#4 \$posy of method pdf_eratosthene\:\:drawTotalTable\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property Commande\:\:\$availability \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property CommonObject\:\:\$multicurrency_tx \(array\\|float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\|int\<1, max\>, status\: false, title\: array\{textkey\: ''Photo'', label\: '' ''\}, content\: array\{padding\: array\{0, 0, 0, 0\}\}, border\-left\: false\}\|array\{rank\: int, width\: float\|int, status\: bool, title\: array\{textkey\: string, label\: string, align\: string, padding\: array\{float, float, float, float\}\}, content\: array\{align\: string, padding\: array\{float, float, float, float\}\}\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\|int\<1, max\>, status\: true, title\: array\{textkey\: ''Photo'', label\: '' ''\}, content\: array\{padding\: array\{0, 0, 0, 0\}\}, border\-left\: false\}\|array\{rank\: int, width\: float\|int, status\: bool, title\: array\{textkey\: string, label\: string, align\: string, padding\: array\{float, float, float, float\}\}, content\: array\{align\: string, padding\: array\{float, float, float, float\}\}\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\, status\: true, title\: array\{textkey\: ''PriceUHT''\}, border\-left\: true\}\|array\{rank\: int, width\: float\|int, status\: bool, title\: array\{textkey\: string, label\: string, align\: string, padding\: array\{float, float, float, float\}\}, content\: array\{align\: string, padding\: array\{float, float, float, float\}\}\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property pdf_eratosthene\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Variable \$carac_client_name might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Variable \$realpath might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php + path: ../../../htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php - message: '#^Property mod_commande_marbre\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/commande/mod_commande_marbre.php + path: ../../../htdocs/core/modules/commande/mod_commande_marbre.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Contrat given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php + path: ../../../htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php + path: ../../../htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php + path: ../../../htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php + path: ../../../htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php - message: '#^Parameter \#3 \$tab_height of method pdf_strato\:\:tabSignature\(\) expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/contract/doc/pdf_strato.modules.php + path: ../../../htdocs/core/modules/contract/doc/pdf_strato.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/contract/doc/pdf_strato.modules.php + path: ../../../htdocs/core/modules/contract/doc/pdf_strato.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Parameter \#3 \$posy of method pdf_storm\:\:_tableau_info\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Parameter \#4 \$columnText of method CommonDocGenerator\:\:printStdColumnContent\(\) expects string, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Variable \$realpath might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_storm.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php - message: '#^Parameter \#3 \$posy of method pdf_typhon\:\:_tableau_info\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php - message: '#^Property pdf_typhon\:\:\$posxcomm has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php - message: '#^Property pdf_typhon\:\:\$posxremainingqty has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php - message: '#^Property pdf_typhon\:\:\$posxweightvol has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php + path: ../../../htdocs/core/modules/delivery/doc/pdf_typhon.modules.php - message: '#^Property mod_delivery_jade\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/delivery/mod_delivery_jade.php + path: ../../../htdocs/core/modules/delivery/mod_delivery_jade.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/dons/html_cerfafr.modules.php + path: ../../../htdocs/core/modules/dons/html_cerfafr.modules.php - message: '#^Loose comparison using \!\= between 0 and '''' will always evaluate to true\.$#' identifier: notEqual.alwaysTrue count: 2 - path: ../../htdocs/core/modules/dons/html_cerfafr.modules.php + path: ../../../htdocs/core/modules/dons/html_cerfafr.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/dons/html_generic.modules.php + path: ../../../htdocs/core/modules/dons/html_generic.modules.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php + path: ../../../htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php + path: ../../../htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php + path: ../../../htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php - message: '#^Parameter \#4 \$columnText of method CommonDocGenerator\:\:printStdColumnContent\(\) expects string, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Parameter \#4 \$columnText of method CommonDocGenerator\:\:printStdColumnContent\(\) expects string, float\|int\\|int\<1, max\> given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Parameter \#4 \$posy of method pdf_espadon\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_espadon.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_merou.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_merou.modules.php - message: '#^Property pdf_merou\:\:\$destinataire has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_merou.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_merou.modules.php - message: '#^Property pdf_merou\:\:\$expediteur has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_merou.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_merou.modules.php - message: '#^Property pdf_merou\:\:\$livreur has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_merou.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_merou.modules.php - message: '#^Parameter \#4 \$posy of method pdf_rouget\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_rouget.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_rouget.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/expedition/doc/pdf_rouget.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_rouget.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/expedition/doc/pdf_rouget.modules.php + path: ../../../htdocs/core/modules/expedition/doc/pdf_rouget.modules.php - message: '#^Property mod_expedition_safor\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expedition/mod_expedition_safor.php + path: ../../../htdocs/core/modules/expedition/mod_expedition_safor.php - message: '#^Parameter \#3 \$posy of method pdf_standard_expensereport\:\:tablePayments\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php + path: ../../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php - message: '#^Parameter \#3 \$tab_height of method pdf_standard_expensereport\:\:_tableau\(\) expects int, float given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php + path: ../../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php - message: '#^Property pdf_standard_expensereport\:\:\$postotalttc has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php + path: ../../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php - message: '#^Property pdf_standard_expensereport\:\:\$posxcomment has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php + path: ../../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php - message: '#^Property pdf_standard_expensereport\:\:\$posxpiece has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php + path: ../../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php - message: '#^Property pdf_standard_expensereport\:\:\$posxprojet has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php + path: ../../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php - message: '#^Property pdf_standard_expensereport\:\:\$posxtype has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php + path: ../../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php + path: ../../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 6 - path: ../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php + path: ../../../htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php - message: '#^Property mod_expensereport_jade\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/expensereport/mod_expensereport_jade.php + path: ../../../htdocs/core/modules/expensereport/mod_expensereport_jade.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Facture given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php + path: ../../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php + path: ../../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php + path: ../../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php + path: ../../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php + path: ../../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php - message: '#^Variable \$array_propal_object in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php + path: ../../../htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 6 - path: ../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php - message: '#^Parameter \#3 \$posy of method pdf_crabe\:\:_tableau_info\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php - message: '#^Parameter \#4 \$posy of method pdf_crabe\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php - message: '#^Parameter \#5 \$heightforfooter of method pdf_crabe\:\:_tableau_versements\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php - message: '#^Property CommonInvoice\:\:\$type \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php - message: '#^Property CommonObject\:\:\$multicurrency_tx \(array\\|float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_crabe.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 13 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Parameter \#1 \$a of method pdf_octopus\:\:sumSituation\(\) expects array\\|float\|int\>, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 7 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Parameter \#2 \$current_line of method pdf_octopus\:\:getInfosLineLastSituation\(\) expects FactureLigne, CommonInvoiceLine given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Parameter \#3 \$posy of method pdf_octopus\:\:drawInfoTable\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Parameter \#3 \$tab_height of method pdf_octopus\:\:_tableFirstPage\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Parameter \#3 \$tab_height of method pdf_octopus\:\:_tableau\(\) expects int, float given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Parameter \#4 \$posy of method pdf_octopus\:\:drawTotalTable\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property CommonInvoice\:\:\$type \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property CommonObject\:\:\$multicurrency_tx \(array\\|float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\, status\: true, title\: array\{textkey\: ''PriceUHT''\}, border\-left\: true\}\|array\{rank\: int, width\: float\|int, status\: bool, title\: array\{textkey\: string, label\: string, align\: string, padding\: array\{float, float, float, float\}\}, content\: array\{align\: string, padding\: array\{float, float, float, float\}\}\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Property pdf_octopus\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Variable \$hidetop in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Variable \$realpath might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_octopus.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 14 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Comparison operation "\>" between int\<2, max\> and 1 is always true\.$#' identifier: greater.alwaysTrue count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Parameter \#3 \$posy of method pdf_sponge\:\:drawInfoTable\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Parameter \#4 \$posy of method pdf_sponge\:\:drawTotalTable\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property CommonInvoice\:\:\$type \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property CommonObject\:\:\$multicurrency_tx \(array\\|float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\, status\: true, title\: array\{textkey\: ''PriceUHT''\}, border\-left\: true\}\|array\{rank\: int, width\: float\|int, status\: bool, title\: array\{textkey\: string, label\: string, align\: string, padding\: array\{float, float, float, float\}\}, content\: array\{align\: string, padding\: array\{float, float, float, float\}\}\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property pdf_sponge\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Variable \$realpath might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php + path: ../../../htdocs/core/modules/facture/doc/pdf_sponge.modules.php - message: '#^Property mod_facture_mars\:\:\$prefixcreditnote has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/facture/mod_facture_mars.php + path: ../../../htdocs/core/modules/facture/mod_facture_mars.php - message: '#^Property mod_facture_mars\:\:\$prefixdeposit has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/facture/mod_facture_mars.php + path: ../../../htdocs/core/modules/facture/mod_facture_mars.php - message: '#^Property mod_facture_mars\:\:\$prefixinvoice has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/facture/mod_facture_mars.php + path: ../../../htdocs/core/modules/facture/mod_facture_mars.php - message: '#^Property mod_facture_mars\:\:\$prefixreplacement has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/facture/mod_facture_mars.php + path: ../../../htdocs/core/modules/facture/mod_facture_mars.php - message: '#^Access to constant TYPE_NON on an unknown class Sprain\\SwissQrBill\\DataGroup\\Element\\PaymentReference\.$#' identifier: class.notFound count: 1 - path: ../../htdocs/core/modules/facture/modules_facture.php + path: ../../../htdocs/core/modules/facture/modules_facture.php - message: '#^Call to static method create\(\) on an unknown class Sprain\\SwissQrBill\\DataGroup\\Element\\AdditionalInformation\.$#' identifier: class.notFound count: 1 - path: ../../htdocs/core/modules/facture/modules_facture.php + path: ../../../htdocs/core/modules/facture/modules_facture.php - message: '#^Call to static method create\(\) on an unknown class Sprain\\SwissQrBill\\DataGroup\\Element\\CombinedAddress\.$#' identifier: class.notFound count: 2 - path: ../../htdocs/core/modules/facture/modules_facture.php + path: ../../../htdocs/core/modules/facture/modules_facture.php - message: '#^Call to static method create\(\) on an unknown class Sprain\\SwissQrBill\\DataGroup\\Element\\CreditorInformation\.$#' identifier: class.notFound count: 1 - path: ../../htdocs/core/modules/facture/modules_facture.php + path: ../../../htdocs/core/modules/facture/modules_facture.php - message: '#^Call to static method create\(\) on an unknown class Sprain\\SwissQrBill\\DataGroup\\Element\\PaymentAmountInformation\.$#' identifier: class.notFound count: 1 - path: ../../htdocs/core/modules/facture/modules_facture.php + path: ../../../htdocs/core/modules/facture/modules_facture.php - message: '#^Call to static method create\(\) on an unknown class Sprain\\SwissQrBill\\DataGroup\\Element\\PaymentReference\.$#' identifier: class.notFound count: 1 - path: ../../htdocs/core/modules/facture/modules_facture.php + path: ../../../htdocs/core/modules/facture/modules_facture.php - message: '#^Call to static method create\(\) on an unknown class Sprain\\SwissQrBill\\QrBill\.$#' identifier: class.notFound count: 1 - path: ../../htdocs/core/modules/facture/modules_facture.php + path: ../../../htdocs/core/modules/facture/modules_facture.php - message: '#^Instantiated class Sprain\\SwissQrBill\\PaymentPart\\Output\\TcPdfOutput\\TcPdfOutput not found\.$#' identifier: class.notFound count: 1 - path: ../../htdocs/core/modules/facture/modules_facture.php + path: ../../../htdocs/core/modules/facture/modules_facture.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php + path: ../../../htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php - message: '#^Property mod_pacific\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/fichinter/mod_pacific.php + path: ../../../htdocs/core/modules/fichinter/mod_pacific.php - message: '#^Variable \$max might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/fichinter/mod_pacific.php + path: ../../../htdocs/core/modules/fichinter/mod_pacific.php - message: '#^Parameter \#3 \$tab_height of method pdf_standard_evaluation\:\:_tableau\(\) expects int, float given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Property pdf_standard_evaluation\:\:\$posxnotes has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Property pdf_standard_evaluation\:\:\$posxpiece has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Property pdf_standard_evaluation\:\:\$posxrankemp has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Property pdf_standard_evaluation\:\:\$posxrequiredrank has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Property pdf_standard_evaluation\:\:\$posxresult has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Property pdf_standard_evaluation\:\:\$posxskill has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php + path: ../../../htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php - message: '#^Property mod_evaluation_standard\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/hrm/mod_evaluation_standard.php + path: ../../../htdocs/core/modules/hrm/mod_evaluation_standard.php - message: '#^Call to function is_array\(\) with non\-empty\-list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Method ImportCsv\:\:import_read_record\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Property ImportCsv\:\:\$cacheconvert has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Property ImportCsv\:\:\$cachefieldtable has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Property ImportCsv\:\:\$nbinsert has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Property ImportCsv\:\:\$nbupdate has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Property ModeleImports\:\:\$errors \(array\\) does not accept array\\|string\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Property ModeleImports\:\:\$errors \(array\\) does not accept array\\|string\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Property ModeleImports\:\:\$warnings \(array\\) does not accept array\\|string\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Variable \$key might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^Variable \$where might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/import/import_csv.modules.php + path: ../../../htdocs/core/modules/import/import_csv.modules.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Method ImportXlsx\:\:import_read_record\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Property ImportXlsx\:\:\$cacheconvert has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Property ImportXlsx\:\:\$cachefieldtable has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Property ImportXlsx\:\:\$nbinsert has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Property ImportXlsx\:\:\$nbupdate has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Property ModeleImports\:\:\$errors \(array\\) does not accept array\\|string\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Property ModeleImports\:\:\$errors \(array\\) does not accept array\\|string\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Property ModeleImports\:\:\$warnings \(array\\) does not accept array\\|string\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Variable \$where might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/import/import_xlsx.modules.php + path: ../../../htdocs/core/modules/import/import_xlsx.modules.php - message: '#^Property mailing_contacts1\:\:\$require_admin has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/mailings/contacts1.modules.php + path: ../../../htdocs/core/modules/mailings/contacts1.modules.php - message: '#^Property mailing_contacts1\:\:\$require_module has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/mailings/contacts1.modules.php + path: ../../../htdocs/core/modules/mailings/contacts1.modules.php - message: '#^Property mailing_fraise\:\:\$require_admin has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/mailings/fraise.modules.php + path: ../../../htdocs/core/modules/mailings/fraise.modules.php - message: '#^Property mailing_fraise\:\:\$require_module has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/mailings/fraise.modules.php + path: ../../../htdocs/core/modules/mailings/fraise.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/mailings/modules_mailings.php + path: ../../../htdocs/core/modules/mailings/modules_mailings.php - message: '#^Comparison operation "\>" between 0 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/core/modules/mailings/modules_mailings.php + path: ../../../htdocs/core/modules/mailings/modules_mailings.php - message: '#^Loose comparison using \=\= between 0 and 2 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/modules/mailings/modules_mailings.php + path: ../../../htdocs/core/modules/mailings/modules_mailings.php - message: '#^Variable \$modName in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/modules/mailings/modules_mailings.php + path: ../../../htdocs/core/modules/mailings/modules_mailings.php - message: '#^Property mailing_xinputfile\:\:\$require_admin has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/mailings/xinputfile.modules.php + path: ../../../htdocs/core/modules/mailings/xinputfile.modules.php - message: '#^Property mailing_xinputfile\:\:\$require_module has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/mailings/xinputfile.modules.php + path: ../../../htdocs/core/modules/mailings/xinputfile.modules.php - message: '#^Property mailing_xinputuser\:\:\$require_admin has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/mailings/xinputuser.modules.php + path: ../../../htdocs/core/modules/mailings/xinputuser.modules.php - message: '#^Property mailing_xinputuser\:\:\$require_module has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/mailings/xinputuser.modules.php + path: ../../../htdocs/core/modules/mailings/xinputuser.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/member/doc/doc_generic_member_odt.class.php + path: ../../../htdocs/core/modules/member/doc/doc_generic_member_odt.class.php - message: '#^Comparison operation "\>" between 1 and 0 is always true\.$#' identifier: greater.alwaysTrue count: 2 - path: ../../htdocs/core/modules/member/doc/pdf_standard_member.class.php + path: ../../../htdocs/core/modules/member/doc/pdf_standard_member.class.php - message: '#^Parameter \#6 \$epaisseur of method CommonStickerGenerator\:\:_Croix\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/member/doc/pdf_standard_member.class.php + path: ../../../htdocs/core/modules/member/doc/pdf_standard_member.class.php - message: '#^Property Adherent\:\:\$photo \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/member/doc/pdf_standard_member.class.php + path: ../../../htdocs/core/modules/member/doc/pdf_standard_member.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAccounting.class.php + path: ../../../htdocs/core/modules/modAccounting.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAccounting.class.php + path: ../../../htdocs/core/modules/modAccounting.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAccounting.class.php + path: ../../../htdocs/core/modules/modAccounting.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 4 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 15 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modAdherent.class.php + path: ../../../htdocs/core/modules/modAdherent.class.php - message: '#^Variable \$user in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/core/modules/modAgenda.class.php + path: ../../../htdocs/core/modules/modAgenda.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modCategorie.class.php + path: ../../../htdocs/core/modules/modCategorie.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modCategorie.class.php + path: ../../../htdocs/core/modules/modCategorie.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modCategorie.class.php + path: ../../../htdocs/core/modules/modCategorie.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modCategorie.class.php + path: ../../../htdocs/core/modules/modCategorie.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/modCategorie.class.php + path: ../../../htdocs/core/modules/modCategorie.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modCommande.class.php + path: ../../../htdocs/core/modules/modCommande.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modCommande.class.php + path: ../../../htdocs/core/modules/modCommande.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modCommande.class.php + path: ../../../htdocs/core/modules/modCommande.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/modCommande.class.php + path: ../../../htdocs/core/modules/modCommande.class.php - message: '#^Variable \$user in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/modules/modCommande.class.php + path: ../../../htdocs/core/modules/modCommande.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modContrat.class.php + path: ../../../htdocs/core/modules/modContrat.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modContrat.class.php + path: ../../../htdocs/core/modules/modContrat.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modContrat.class.php + path: ../../../htdocs/core/modules/modContrat.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/modContrat.class.php + path: ../../../htdocs/core/modules/modContrat.class.php - message: '#^Variable \$user in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/modules/modDeplacement.class.php + path: ../../../htdocs/core/modules/modDeplacement.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modDon.class.php + path: ../../../htdocs/core/modules/modDon.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modDon.class.php + path: ../../../htdocs/core/modules/modDon.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modDon.class.php + path: ../../../htdocs/core/modules/modDon.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modDon.class.php + path: ../../../htdocs/core/modules/modDon.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modDon.class.php + path: ../../../htdocs/core/modules/modDon.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modDon.class.php + path: ../../../htdocs/core/modules/modDon.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 6 - path: ../../htdocs/core/modules/modDon.class.php + path: ../../../htdocs/core/modules/modDon.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/core/modules/modEventOrganization.class.php + path: ../../../htdocs/core/modules/modEventOrganization.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modExpedition.class.php + path: ../../../htdocs/core/modules/modExpedition.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modExpedition.class.php + path: ../../../htdocs/core/modules/modExpedition.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modExpedition.class.php + path: ../../../htdocs/core/modules/modExpedition.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modExpedition.class.php + path: ../../../htdocs/core/modules/modExpedition.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modExpedition.class.php + path: ../../../htdocs/core/modules/modExpedition.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modExpedition.class.php + path: ../../../htdocs/core/modules/modExpedition.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 7 - path: ../../htdocs/core/modules/modExpedition.class.php + path: ../../../htdocs/core/modules/modExpedition.class.php - message: '#^Variable \$user in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/modules/modExpedition.class.php + path: ../../../htdocs/core/modules/modExpedition.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modExpenseReport.class.php + path: ../../../htdocs/core/modules/modExpenseReport.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modExpenseReport.class.php + path: ../../../htdocs/core/modules/modExpenseReport.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modExpenseReport.class.php + path: ../../../htdocs/core/modules/modExpenseReport.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 4 - path: ../../htdocs/core/modules/modExpenseReport.class.php + path: ../../../htdocs/core/modules/modExpenseReport.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modFacture.class.php + path: ../../../htdocs/core/modules/modFacture.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modFacture.class.php + path: ../../../htdocs/core/modules/modFacture.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modFacture.class.php + path: ../../../htdocs/core/modules/modFacture.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/modFacture.class.php + path: ../../../htdocs/core/modules/modFacture.class.php - message: '#^Variable \$user in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/core/modules/modFacture.class.php + path: ../../../htdocs/core/modules/modFacture.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modFicheinter.class.php + path: ../../../htdocs/core/modules/modFicheinter.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modFicheinter.class.php + path: ../../../htdocs/core/modules/modFicheinter.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modFicheinter.class.php + path: ../../../htdocs/core/modules/modFicheinter.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modFournisseur.class.php + path: ../../../htdocs/core/modules/modFournisseur.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modFournisseur.class.php + path: ../../../htdocs/core/modules/modFournisseur.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modFournisseur.class.php + path: ../../../htdocs/core/modules/modFournisseur.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modFournisseur.class.php + path: ../../../htdocs/core/modules/modFournisseur.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 5 - path: ../../htdocs/core/modules/modFournisseur.class.php + path: ../../../htdocs/core/modules/modFournisseur.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modHoliday.class.php + path: ../../../htdocs/core/modules/modHoliday.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modHoliday.class.php + path: ../../../htdocs/core/modules/modHoliday.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modHoliday.class.php + path: ../../../htdocs/core/modules/modHoliday.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/modHoliday.class.php + path: ../../../htdocs/core/modules/modHoliday.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/core/modules/modKnowledgeManagement.class.php + path: ../../../htdocs/core/modules/modKnowledgeManagement.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/modLoan.class.php + path: ../../../htdocs/core/modules/modLoan.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modMailing.class.php + path: ../../../htdocs/core/modules/modMailing.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modMailing.class.php + path: ../../../htdocs/core/modules/modMailing.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/core/modules/modPartnership.class.php + path: ../../../htdocs/core/modules/modPartnership.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modPrelevement.class.php + path: ../../../htdocs/core/modules/modPrelevement.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modPrelevement.class.php + path: ../../../htdocs/core/modules/modPrelevement.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProduct.class.php + path: ../../../htdocs/core/modules/modProduct.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProduct.class.php + path: ../../../htdocs/core/modules/modProduct.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modProduct.class.php + path: ../../../htdocs/core/modules/modProduct.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProduct.class.php + path: ../../../htdocs/core/modules/modProduct.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProduct.class.php + path: ../../../htdocs/core/modules/modProduct.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProduct.class.php + path: ../../../htdocs/core/modules/modProduct.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProduct.class.php + path: ../../../htdocs/core/modules/modProduct.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProductBatch.class.php + path: ../../../htdocs/core/modules/modProductBatch.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProductBatch.class.php + path: ../../../htdocs/core/modules/modProductBatch.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modProductBatch.class.php + path: ../../../htdocs/core/modules/modProductBatch.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProjet.class.php + path: ../../../htdocs/core/modules/modProjet.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProjet.class.php + path: ../../../htdocs/core/modules/modProjet.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProjet.class.php + path: ../../../htdocs/core/modules/modProjet.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProjet.class.php + path: ../../../htdocs/core/modules/modProjet.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modProjet.class.php + path: ../../../htdocs/core/modules/modProjet.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProjet.class.php + path: ../../../htdocs/core/modules/modProjet.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 7 - path: ../../htdocs/core/modules/modProjet.class.php + path: ../../../htdocs/core/modules/modProjet.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modProjet.class.php + path: ../../../htdocs/core/modules/modProjet.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modPropale.class.php + path: ../../../htdocs/core/modules/modPropale.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modPropale.class.php + path: ../../../htdocs/core/modules/modPropale.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modPropale.class.php + path: ../../../htdocs/core/modules/modPropale.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modPropale.class.php + path: ../../../htdocs/core/modules/modPropale.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modPropale.class.php + path: ../../../htdocs/core/modules/modPropale.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 5 - path: ../../htdocs/core/modules/modPropale.class.php + path: ../../../htdocs/core/modules/modPropale.class.php - message: '#^Variable \$user in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/modules/modPropale.class.php + path: ../../../htdocs/core/modules/modPropale.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modReception.class.php + path: ../../../htdocs/core/modules/modReception.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modReception.class.php + path: ../../../htdocs/core/modules/modReception.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modReception.class.php + path: ../../../htdocs/core/modules/modReception.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modReception.class.php + path: ../../../htdocs/core/modules/modReception.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 4 - path: ../../htdocs/core/modules/modReception.class.php + path: ../../../htdocs/core/modules/modReception.class.php - message: '#^Variable \$user in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/modules/modReception.class.php + path: ../../../htdocs/core/modules/modReception.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/modules/modRecruitment.class.php + path: ../../../htdocs/core/modules/modRecruitment.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modResource.class.php + path: ../../../htdocs/core/modules/modResource.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/core/modules/modSalaries.class.php + path: ../../../htdocs/core/modules/modSalaries.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modService.class.php + path: ../../../htdocs/core/modules/modService.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modService.class.php + path: ../../../htdocs/core/modules/modService.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modService.class.php + path: ../../../htdocs/core/modules/modService.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modService.class.php + path: ../../../htdocs/core/modules/modService.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modSociete.class.php + path: ../../../htdocs/core/modules/modSociete.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modSociete.class.php + path: ../../../htdocs/core/modules/modSociete.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modSociete.class.php + path: ../../../htdocs/core/modules/modSociete.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modSociete.class.php + path: ../../../htdocs/core/modules/modSociete.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modSociete.class.php + path: ../../../htdocs/core/modules/modSociete.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 5 - path: ../../htdocs/core/modules/modSociete.class.php + path: ../../../htdocs/core/modules/modSociete.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modSociete.class.php + path: ../../../htdocs/core/modules/modSociete.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modSociete.class.php + path: ../../../htdocs/core/modules/modSociete.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modStock.class.php + path: ../../../htdocs/core/modules/modStock.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modStock.class.php + path: ../../../htdocs/core/modules/modStock.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modStock.class.php + path: ../../../htdocs/core/modules/modStock.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modStock.class.php + path: ../../../htdocs/core/modules/modStock.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 4 - path: ../../htdocs/core/modules/modStock.class.php + path: ../../../htdocs/core/modules/modStock.class.php - message: '#^Property DolibarrModules\:\:\$export_special_array \(array\\}\|string\>\>\) does not accept non\-empty\-array\\}\|string\>\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modStock.class.php + path: ../../../htdocs/core/modules/modStock.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modStock.class.php + path: ../../../htdocs/core/modules/modStock.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modStock.class.php + path: ../../../htdocs/core/modules/modStock.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/modSupplierProposal.class.php + path: ../../../htdocs/core/modules/modSupplierProposal.class.php - message: '#^Property DolibarrModules\:\:\$const \(array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\) does not accept non\-empty\-array\, 5\?\: string, 6\?\: int\<0, 1\>\}\>\.$#' identifier: assign.propertyType count: 3 - path: ../../htdocs/core/modules/modSupplierProposal.class.php + path: ../../../htdocs/core/modules/modSupplierProposal.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modTax.class.php + path: ../../../htdocs/core/modules/modTax.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modTax.class.php + path: ../../../htdocs/core/modules/modTax.class.php - message: '#^Property DolibarrModules\:\:\$export_permission \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modUser.class.php + path: ../../../htdocs/core/modules/modUser.class.php - message: '#^Property DolibarrModules\:\:\$import_convertvalue_array \(array\\>\) does not accept non\-empty\-array\\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/modUser.class.php + path: ../../../htdocs/core/modules/modUser.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/core/modules/modWebsite.class.php + path: ../../../htdocs/core/modules/modWebsite.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/core/modules/modWorkstation.class.php + path: ../../../htdocs/core/modules/modWorkstation.class.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php + path: ../../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php + path: ../../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php - message: '#^Property pdf_standard_movementstock\:\:\$posxdatemouv has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php + path: ../../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php - message: '#^Property pdf_standard_movementstock\:\:\$posxidref has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php + path: ../../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php - message: '#^Property pdf_standard_movementstock\:\:\$wref has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php + path: ../../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php - message: '#^Variable \$lastmovementdate might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php + path: ../../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php + path: ../../../htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Mo given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php + path: ../../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php + path: ../../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php + path: ../../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php + path: ../../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php + path: ../../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php - message: '#^Property Mo\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php + path: ../../../htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php - message: '#^Left side of \|\| is always false\.$#' identifier: booleanOr.leftAlwaysFalse count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Parameter \#3 \$posy of method pdf_vinci\:\:_tableau_info\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Parameter \#4 \$columnText of method CommonDocGenerator\:\:printStdColumnContent\(\) expects string, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Property CommonObject\:\:\$multicurrency_tx \(array\\|float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Property Mo\:\:\$lines \(array\\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 2 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php + path: ../../../htdocs/core/modules/mrp/doc/pdf_vinci.modules.php - message: '#^Property mod_mo_standard\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/mrp/mod_mo_standard.php + path: ../../../htdocs/core/modules/mrp/mod_mo_standard.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/modules/oauth/generic_oauthcallback.php + path: ../../../htdocs/core/modules/oauth/generic_oauthcallback.php - message: '#^Variable \$state might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/oauth/github_oauthcallback.php + path: ../../../htdocs/core/modules/oauth/github_oauthcallback.php - message: '#^Strict comparison using \=\=\= between null and null will always evaluate to true\.$#' identifier: identical.alwaysTrue count: 2 - path: ../../htdocs/core/modules/oauth/stripelive_oauthcallback.php + path: ../../../htdocs/core/modules/oauth/stripelive_oauthcallback.php - message: '#^Property mod_payment_cicada\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/payment/mod_payment_cicada.php + path: ../../../htdocs/core/modules/payment/mod_payment_cicada.php - message: '#^Variable \$response might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/modules/printing/printgcp.modules.php + path: ../../../htdocs/core/modules/printing/printgcp.modules.php - message: '#^Variable \$token might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/modules/printing/printgcp.modules.php + path: ../../../htdocs/core/modules/printing/printgcp.modules.php - message: '#^Comparison operation "\>" between 1 and 0 is always true\.$#' identifier: greater.alwaysTrue count: 2 - path: ../../htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php - message: '#^Parameter \#6 \$epaisseur of method CommonStickerGenerator\:\:_Croix\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php - message: '#^Comparison operation "\>" between 1 and 0 is always true\.$#' identifier: greater.alwaysTrue count: 2 - path: ../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php - message: '#^Parameter \#5 \$x of method pdf_tcpdflabel\:\:writeBarcode\(\) expects int, float given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php - message: '#^Parameter \#7 \$w of method pdf_tcpdflabel\:\:writeBarcode\(\) expects int, float given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php - message: '#^Parameter \#8 \$h of method pdf_tcpdflabel\:\:writeBarcode\(\) expects int, float given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php - message: '#^Property pdf_tcpdflabel\:\:\$_align2d has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php - message: '#^Property pdf_tcpdflabel\:\:\$_style1d has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php - message: '#^Property pdf_tcpdflabel\:\:\$_style2d has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php - message: '#^Property pdf_tcpdflabel\:\:\$_xres has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php + path: ../../../htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Product given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php + path: ../../../htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php + path: ../../../htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php + path: ../../../htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php + path: ../../../htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php - message: '#^Property Product\:\:\$weight_units \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/product/doc/pdf_standard.modules.php + path: ../../../htdocs/core/modules/product/doc/pdf_standard.modules.php - message: '#^Method ModeleProductCode\:\:liste_modeles\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/core/modules/product/modules_product.class.php + path: ../../../htdocs/core/modules/product/modules_product.class.php - message: '#^Property mod_lot_standard\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/product_batch/mod_lot_standard.php + path: ../../../htdocs/core/modules/product_batch/mod_lot_standard.php - message: '#^Property mod_sn_standard\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/product_batch/mod_sn_standard.php + path: ../../../htdocs/core/modules/product_batch/mod_sn_standard.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php + path: ../../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Project given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php + path: ../../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php - message: '#^Parameter \#1 \$object of method doc_generic_project_odt\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php + path: ../../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php - message: '#^Parameter \#2 \$array_to_fill of method CommonDocGenerator\:\:fill_substitutionarray_with_extrafields\(\) expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php + path: ../../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php + path: ../../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php + path: ../../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php - message: '#^Variable \$objectdetail might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php + path: ../../../htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/modules/project/doc/pdf_baleine.modules.php + path: ../../../htdocs/core/modules/project/doc/pdf_baleine.modules.php - message: '#^Comparison operation "\>\=" between int\<0, max\> and 0 is always true\.$#' identifier: greaterOrEqual.alwaysTrue count: 1 - path: ../../htdocs/core/modules/project/doc/pdf_beluga.modules.php + path: ../../../htdocs/core/modules/project/doc/pdf_beluga.modules.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/modules/project/doc/pdf_beluga.modules.php + path: ../../../htdocs/core/modules/project/doc/pdf_beluga.modules.php - message: '#^Loose comparison using \=\= between ''L'' and ''L'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/core/modules/project/doc/pdf_beluga.modules.php + path: ../../../htdocs/core/modules/project/doc/pdf_beluga.modules.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 2 - path: ../../htdocs/core/modules/project/doc/pdf_beluga.modules.php + path: ../../../htdocs/core/modules/project/doc/pdf_beluga.modules.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/core/modules/project/doc/pdf_timespent.modules.php + path: ../../../htdocs/core/modules/project/doc/pdf_timespent.modules.php - message: '#^Property mod_project_simple\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/project/mod_project_simple.php + path: ../../../htdocs/core/modules/project/mod_project_simple.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php + path: ../../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Project\|Task given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php + path: ../../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php - message: '#^Parameter \#1 \$task of method doc_generic_task_odt\:\:get_substitutionarray_tasks\(\) expects Task, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php + path: ../../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php - message: '#^Parameter \#2 \$array_to_fill of method CommonDocGenerator\:\:fill_substitutionarray_with_extrafields\(\) expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php + path: ../../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php + path: ../../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php + path: ../../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php - message: '#^Variable \$listlines might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php + path: ../../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php - message: '#^Variable \$objectdetail might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php + path: ../../../htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php - message: '#^Property mod_task_simple\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/project/task/mod_task_simple.php + path: ../../../htdocs/core/modules/project/task/mod_task_simple.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Propal given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php + path: ../../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php + path: ../../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php + path: ../../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php + path: ../../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php + path: ../../../htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_azur.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_azur.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/core/modules/propale/doc/pdf_azur.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_azur.modules.php - message: '#^Parameter \#3 \$posy of method pdf_azur\:\:_tableau_info\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_azur.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_azur.modules.php - message: '#^Parameter \#4 \$posy of method pdf_azur\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_azur.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_azur.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/propale/doc/pdf_azur.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_azur.modules.php - message: '#^Property CommonObject\:\:\$multicurrency_tx \(array\\|float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/core/modules/propale/doc/pdf_azur.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_azur.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_azur.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_azur.modules.php - message: '#^Variable \$filetomerge_dir might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/modules/propale/doc/pdf_azur.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_azur.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 5 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Parameter \#3 \$posy of method pdf_cyan\:\:drawInfoTable\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Parameter \#4 \$posy of method pdf_cyan\:\:drawTotalTable\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property CommonObject\:\:\$multicurrency_tx \(array\\|float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\, status\: true, title\: array\{textkey\: ''PriceUHT''\}, border\-left\: true\}\|array\{rank\: int, width\: float\|int, status\: bool, title\: array\{textkey\: string, label\: string, align\: string, padding\: array\{float, float, float, float\}\}, content\: array\{align\: string, padding\: array\{float, float, float, float\}\}\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property pdf_cyan\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Variable \$filetomerge_dir might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php + path: ../../../htdocs/core/modules/propale/doc/pdf_cyan.modules.php - message: '#^Property mod_propale_marbre\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/propale/mod_propale_marbre.php + path: ../../../htdocs/core/modules/propale/mod_propale_marbre.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/rapport/pdf_paiement.class.php + path: ../../../htdocs/core/modules/rapport/pdf_paiement.class.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Reception given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php + path: ../../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php + path: ../../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php + path: ../../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php + path: ../../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php + path: ../../../htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php - message: '#^Parameter \#4 \$posy of method pdf_squille\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/reception/doc/pdf_squille.modules.php + path: ../../../htdocs/core/modules/reception/doc/pdf_squille.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/reception/doc/pdf_squille.modules.php + path: ../../../htdocs/core/modules/reception/doc/pdf_squille.modules.php - message: '#^Property Reception\:\:\$trueWeight \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/reception/doc/pdf_squille.modules.php + path: ../../../htdocs/core/modules/reception/doc/pdf_squille.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/reception/doc/pdf_squille.modules.php + path: ../../../htdocs/core/modules/reception/doc/pdf_squille.modules.php - message: '#^Call to function is_array\(\) with array\, mixed\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/modules/societe/doc/doc_generic_odt.modules.php + path: ../../../htdocs/core/modules/societe/doc/doc_generic_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/societe/doc/doc_generic_odt.modules.php + path: ../../../htdocs/core/modules/societe/doc/doc_generic_odt.modules.php - message: '#^Variable \$contactstatic might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/modules/societe/doc/doc_generic_odt.modules.php + path: ../../../htdocs/core/modules/societe/doc/doc_generic_odt.modules.php - message: '#^Property mod_codeclient_monkey\:\:\$prefixcustomer has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/societe/mod_codeclient_monkey.php + path: ../../../htdocs/core/modules/societe/mod_codeclient_monkey.php - message: '#^Property mod_codeclient_monkey\:\:\$prefixsupplier has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/societe/mod_codeclient_monkey.php + path: ../../../htdocs/core/modules/societe/mod_codeclient_monkey.php - message: '#^Property mod_codecompta_aquarium\:\:\$position has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/societe/mod_codecompta_aquarium.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_aquarium.php - message: '#^Property mod_codecompta_aquarium\:\:\$prefixcustomeraccountancycode has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/societe/mod_codecompta_aquarium.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_aquarium.php - message: '#^Property mod_codecompta_aquarium\:\:\$prefixsupplieraccountancycode has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/societe/mod_codecompta_aquarium.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_aquarium.php - message: '#^Comparison operation "\<\=" between int\<100, 999\> and 999 is always true\.$#' identifier: smallerOrEqual.alwaysTrue count: 1 - path: ../../htdocs/core/modules/societe/mod_codecompta_digitaria.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_digitaria.php - message: '#^Property mod_codecompta_digitaria\:\:\$customeraccountancycodecharacternumber has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/societe/mod_codecompta_digitaria.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_digitaria.php - message: '#^Property mod_codecompta_digitaria\:\:\$position has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/societe/mod_codecompta_digitaria.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_digitaria.php - message: '#^Property mod_codecompta_digitaria\:\:\$supplieraccountancycodecharacternumber has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/societe/mod_codecompta_digitaria.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_digitaria.php - message: '#^Variable \$a might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/modules/societe/mod_codecompta_digitaria.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_digitaria.php - message: '#^Variable \$thirdpartylabelexample might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/modules/societe/mod_codecompta_digitaria.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_digitaria.php - message: '#^Property mod_codecompta_panicum\:\:\$position has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/societe/mod_codecompta_panicum.php + path: ../../../htdocs/core/modules/societe/mod_codecompta_panicum.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, Entrepot given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php + path: ../../../htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php + path: ../../../htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php + path: ../../../htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php + path: ../../../htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php - message: '#^Property pdf_standard_stock\:\:\$wref has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/stock/doc/pdf_standard_stock.modules.php + path: ../../../htdocs/core/modules/stock/doc/pdf_standard_stock.modules.php - message: '#^Variable \$lastmovementdate might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/stock/doc/pdf_standard_stock.modules.php + path: ../../../htdocs/core/modules/stock/doc/pdf_standard_stock.modules.php - message: '#^Variable \$pricemin might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/stock/doc/pdf_standard_stock.modules.php + path: ../../../htdocs/core/modules/stock/doc/pdf_standard_stock.modules.php - message: '#^Parameter \#4 \$posy of method pdf_eagle\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php - message: '#^Variable \$carac_emetteur_name might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Parameter \#4 \$posy of method pdf_eagle_proforma\:\:drawTotalTable\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\, status\: true, title\: array\{textkey\: ''PMPValueShort''\}, border\-left\: true\}\|array\{rank\: int, width\: float\|int, status\: bool, title\: array\{textkey\: string, label\: string, align\: string, padding\: array\{float, float, float, float\}\}, content\: array\{align\: string, padding\: array\{float, float, float, float\}\}\}\>\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Variable \$carac_emetteur_name might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Variable \$pmp might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Variable \$realpath might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php + path: ../../../htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php - message: '#^Property mod_stocktransfer_standard\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/stocktransfer/mod_stocktransfer_standard.php + path: ../../../htdocs/core/modules/stocktransfer/mod_stocktransfer_standard.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, FactureFournisseur given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php - message: '#^Variable \$objectref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php - message: '#^Parameter \#4 \$posy of method pdf_canelle\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php - message: '#^Parameter \#5 \$heightforfooter of method pdf_canelle\:\:_tableau_versements\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php - message: '#^Property CommonObject\:\:\$multicurrency_tx \(array\\|float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 2 - path: ../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php + path: ../../../htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, CommandeFournisseur given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php - message: '#^Variable \$objectref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php - message: '#^Left side of \|\| is always false\.$#' identifier: booleanOr.leftAlwaysFalse count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Parameter \#3 \$posy of method pdf_cornas\:\:_tableau_info\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Parameter \#4 \$posy of method pdf_cornas\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommandeFournisseur\:\:\$multicurrency_tx \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 2 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php - message: '#^Left side of \|\| is always false\.$#' identifier: booleanOr.leftAlwaysFalse count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php - message: '#^Parameter \#3 \$posy of method pdf_muscadet\:\:_tableau_info\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php - message: '#^Parameter \#4 \$posy of method pdf_muscadet\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php - message: '#^Property CommandeFournisseur\:\:\$multicurrency_tx \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 2 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php + path: ../../../htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php - message: '#^Property mod_commande_fournisseur_muguet\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php + path: ../../../htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php - message: '#^Variable \$max might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php + path: ../../../htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php - message: '#^Parameter \#3 \$posy of method pdf_standard_supplierpayment\:\:_tableau_cheque\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php + path: ../../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php - message: '#^Parameter \#3 \$tab_height of method pdf_standard_supplierpayment\:\:_tableau\(\) expects int, float given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php + path: ../../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php - message: '#^Property pdf_standard_supplierpayment\:\:\$posxdate has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php + path: ../../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php - message: '#^Property pdf_standard_supplierpayment\:\:\$posxreffacture has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php + path: ../../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php - message: '#^Property pdf_standard_supplierpayment\:\:\$posxreffacturefourn has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php + path: ../../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php - message: '#^Property pdf_standard_supplierpayment\:\:\$posxtotalttc has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php + path: ../../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php - message: '#^Property pdf_standard_supplierpayment\:\:\$posxtype has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php + path: ../../../htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php - message: '#^Property mod_supplier_payment_bronan\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/supplier_payment/mod_supplier_payment_bronan.php + path: ../../../htdocs/core/modules/supplier_payment/mod_supplier_payment_bronan.php - message: '#^Parameter \#1 \$line of method CommonDocGenerator\:\:get_substitutionarray_lines\(\) expects CommonObjectLine, CommonObject\|stdClass given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 5 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php - message: '#^Parameter \#5 \$w of function pdf_writelinedesc expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php - message: '#^Property SupplierProposal\:\:\$multicurrency_tx \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php - message: '#^Left side of \|\| is always false\.$#' identifier: booleanOr.leftAlwaysFalse count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Parameter \#4 \$posy of method pdf_zenith\:\:_tableau_tot\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property CommonDocGenerator\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property SupplierProposal\:\:\$multicurrency_tx \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 2 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php + path: ../../../htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php - message: '#^Property mod_supplier_proposal_marbre\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php + path: ../../../htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php + path: ../../../htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php - message: '#^Variable \$contactobject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php + path: ../../../htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php - message: '#^Property mod_ticket_simple\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/ticket/mod_ticket_simple.php + path: ../../../htdocs/core/modules/ticket/mod_ticket_simple.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php + path: ../../../htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php - message: '#^Variable \$contactobject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php + path: ../../../htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php - message: '#^Call to function is_array\(\) with string will always evaluate to false\.$#' identifier: function.impossibleType count: 1 - path: ../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php + path: ../../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, UserGroup given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php + path: ../../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php + path: ../../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php + path: ../../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php + path: ../../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php - message: '#^Variable \$contactobject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php + path: ../../../htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php - message: '#^Property mod_workstation_standard\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/core/modules/workstation/mod_workstation_standard.php + path: ../../../htdocs/core/modules/workstation/mod_workstation_standard.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/core/multicompany_page.php + path: ../../../htdocs/core/multicompany_page.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/multicompany_page.php + path: ../../../htdocs/core/multicompany_page.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/multicompany_page.php + path: ../../../htdocs/core/multicompany_page.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/core/photos_resize.php + path: ../../../htdocs/core/photos_resize.php - message: '#^Variable \$dolibarr_main_data_root might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/photos_resize.php + path: ../../../htdocs/core/photos_resize.php - message: '#^Variable \$modulepart in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/photos_resize.php + path: ../../../htdocs/core/photos_resize.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/photos_resize.php + path: ../../../htdocs/core/photos_resize.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 1 - path: ../../htdocs/core/search_page.php + path: ../../../htdocs/core/search_page.php - message: '#^Loose comparison using \=\= between 1 and 2 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/core/search_page.php + path: ../../../htdocs/core/search_page.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/core/search_page.php + path: ../../../htdocs/core/search_page.php - message: '#^Variable \$type2label might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/admin_extrafields_edit.tpl.php + path: ../../../htdocs/core/tpl/admin_extrafields_edit.tpl.php - message: '#^Variable \$type2label might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/admin_extrafields_view.tpl.php + path: ../../../htdocs/core/tpl/admin_extrafields_view.tpl.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/advtarget.tpl.php + path: ../../../htdocs/core/tpl/advtarget.tpl.php - message: '#^Property CommonObject\:\:\$lines \(array\\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/tpl/ajaxrow.tpl.php + path: ../../../htdocs/core/tpl/ajaxrow.tpl.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/bloc_comment.tpl.php + path: ../../../htdocs/core/tpl/bloc_comment.tpl.php - message: '#^Variable \$idcomment might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/tpl/bloc_comment.tpl.php + path: ../../../htdocs/core/tpl/bloc_comment.tpl.php - message: '#^Variable \$title might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/bloc_showhide.tpl.php + path: ../../../htdocs/core/tpl/bloc_showhide.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 12 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$defaulttopic might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$diroutput might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$file might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$hidedesc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$hidedetails might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$hideref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$hookmanager might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$modelmail might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 36 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/card_presend.tpl.php + path: ../../../htdocs/core/tpl/card_presend.tpl.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/commonfields_edit.tpl.php + path: ../../../htdocs/core/tpl/commonfields_edit.tpl.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/commonfields_view.tpl.php + path: ../../../htdocs/core/tpl/commonfields_view.tpl.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/tpl/contacts.tpl.php + path: ../../../htdocs/core/tpl/contacts.tpl.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/tpl/contacts.tpl.php + path: ../../../htdocs/core/tpl/contacts.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/contacts.tpl.php + path: ../../../htdocs/core/tpl/contacts.tpl.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/contacts.tpl.php + path: ../../../htdocs/core/tpl/contacts.tpl.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/tpl/contacts.tpl.php + path: ../../../htdocs/core/tpl/contacts.tpl.php - message: '#^Variable \$hookmanager might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/contacts.tpl.php + path: ../../../htdocs/core/tpl/contacts.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/tpl/document_actions_post_headers.tpl.php + path: ../../../htdocs/core/tpl/document_actions_post_headers.tpl.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/document_actions_post_headers.tpl.php + path: ../../../htdocs/core/tpl/document_actions_post_headers.tpl.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/document_actions_post_headers.tpl.php + path: ../../../htdocs/core/tpl/document_actions_post_headers.tpl.php - message: '#^Variable \$filearray might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/document_actions_post_headers.tpl.php + path: ../../../htdocs/core/tpl/document_actions_post_headers.tpl.php - message: '#^Variable \$modulepart might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/tpl/document_actions_post_headers.tpl.php + path: ../../../htdocs/core/tpl/document_actions_post_headers.tpl.php - message: '#^Variable \$permissiontoadd might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/document_actions_post_headers.tpl.php + path: ../../../htdocs/core/tpl/document_actions_post_headers.tpl.php - message: '#^Variable \$sortfield might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/document_actions_post_headers.tpl.php + path: ../../../htdocs/core/tpl/document_actions_post_headers.tpl.php - message: '#^Variable \$sortorder might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/document_actions_post_headers.tpl.php + path: ../../../htdocs/core/tpl/document_actions_post_headers.tpl.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/document_actions_post_headers.tpl.php + path: ../../../htdocs/core/tpl/document_actions_post_headers.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_array_fields.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_array_fields.tpl.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_print_fields.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_print_fields.tpl.php - message: '#^Variable \$i might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_print_fields.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_print_fields.tpl.php - message: '#^Variable \$obj might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/tpl/extrafields_list_print_fields.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_print_fields.tpl.php - message: '#^Variable \$totalarray might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/extrafields_list_print_fields.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_print_fields.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_search_input.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_input.tpl.php - message: '#^Variable \$extrafields might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/extrafields_list_search_param.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_param.tpl.php - message: '#^Variable \$extrafieldsobjectkey might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/extrafields_list_search_param.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_param.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_search_param.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_param.tpl.php - message: '#^Variable \$param might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/core/tpl/extrafields_list_search_param.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_param.tpl.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 8 - path: ../../htdocs/core/tpl/extrafields_list_search_sql.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_sql.tpl.php - message: '#^Variable \$extrafields might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_search_sql.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_sql.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_search_sql.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_sql.tpl.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/core/tpl/extrafields_list_search_sql.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_sql.tpl.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_search_title.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_title.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_search_title.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_title.tpl.php - message: '#^Variable \$param might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_search_title.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_title.tpl.php - message: '#^Variable \$sortfield might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_search_title.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_title.tpl.php - message: '#^Variable \$sortorder might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/extrafields_list_search_title.tpl.php + path: ../../../htdocs/core/tpl/extrafields_list_search_title.tpl.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/core/tpl/extrafields_view.tpl.php + path: ../../../htdocs/core/tpl/extrafields_view.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/tpl/extrafields_view.tpl.php + path: ../../../htdocs/core/tpl/extrafields_view.tpl.php - message: '#^Variable \$hookmanager might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/tpl/extrafields_view.tpl.php + path: ../../../htdocs/core/tpl/extrafields_view.tpl.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/core/tpl/filemanager.tpl.php + path: ../../../htdocs/core/tpl/filemanager.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/tpl/filemanager.tpl.php + path: ../../../htdocs/core/tpl/filemanager.tpl.php - message: '#^Variable \$ecmdir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/filemanager.tpl.php + path: ../../../htdocs/core/tpl/filemanager.tpl.php - message: '#^Variable \$filepathnoext might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/filemanager.tpl.php + path: ../../../htdocs/core/tpl/filemanager.tpl.php - message: '#^Variable \$module in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/core/tpl/filemanager.tpl.php + path: ../../../htdocs/core/tpl/filemanager.tpl.php - message: '#^Variable \$pageid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/filemanager.tpl.php + path: ../../../htdocs/core/tpl/filemanager.tpl.php - message: '#^Variable \$websitekey might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/filemanager.tpl.php + path: ../../../htdocs/core/tpl/filemanager.tpl.php - message: '#^Variable \$showlinktoai might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/formlayoutai.tpl.php + path: ../../../htdocs/core/tpl/formlayoutai.tpl.php - message: '#^Variable \$showlinktoailabel might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/formlayoutai.tpl.php + path: ../../../htdocs/core/tpl/formlayoutai.tpl.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/list_print_subtotal.tpl.php + path: ../../../htdocs/core/tpl/list_print_subtotal.tpl.php - message: '#^Variable \$limit might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/list_print_total.tpl.php + path: ../../../htdocs/core/tpl/list_print_total.tpl.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/list_print_total.tpl.php + path: ../../../htdocs/core/tpl/list_print_total.tpl.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/list_print_total.tpl.php + path: ../../../htdocs/core/tpl/list_print_total.tpl.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/core/tpl/object_discounts.tpl.php + path: ../../../htdocs/core/tpl/object_discounts.tpl.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/core/tpl/object_discounts.tpl.php + path: ../../../htdocs/core/tpl/object_discounts.tpl.php - message: '#^Variable \$backtopage might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/tpl/object_discounts.tpl.php + path: ../../../htdocs/core/tpl/object_discounts.tpl.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/tpl/object_discounts.tpl.php + path: ../../../htdocs/core/tpl/object_discounts.tpl.php - message: '#^Variable \$filterabsolutediscount might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/object_discounts.tpl.php + path: ../../../htdocs/core/tpl/object_discounts.tpl.php - message: '#^Variable \$filtercreditnote might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/object_discounts.tpl.php + path: ../../../htdocs/core/tpl/object_discounts.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/core/tpl/object_discounts.tpl.php + path: ../../../htdocs/core/tpl/object_discounts.tpl.php - message: '#^Variable \$resteapayer might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/object_discounts.tpl.php + path: ../../../htdocs/core/tpl/object_discounts.tpl.php - message: '#^Variable \$thirdparty might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/core/tpl/object_discounts.tpl.php + path: ../../../htdocs/core/tpl/object_discounts.tpl.php - message: '#^Left side of \|\| is always true\.$#' identifier: booleanOr.leftAlwaysTrue count: 1 - path: ../../htdocs/core/tpl/objectline_create.tpl.php + path: ../../../htdocs/core/tpl/objectline_create.tpl.php - message: '#^Variable \$buyer might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/core/tpl/objectline_create.tpl.php + path: ../../../htdocs/core/tpl/objectline_create.tpl.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/core/tpl/objectline_create.tpl.php + path: ../../../htdocs/core/tpl/objectline_create.tpl.php - message: '#^Variable \$date_end_prefill might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/objectline_create.tpl.php + path: ../../../htdocs/core/tpl/objectline_create.tpl.php - message: '#^Variable \$date_start_prefill might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/objectline_create.tpl.php + path: ../../../htdocs/core/tpl/objectline_create.tpl.php - message: '#^Variable \$seller might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/tpl/objectline_create.tpl.php + path: ../../../htdocs/core/tpl/objectline_create.tpl.php - message: '#^Variable \$type_tva might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/objectline_create.tpl.php + path: ../../../htdocs/core/tpl/objectline_create.tpl.php - message: '#^Variable \$usehm might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/tpl/objectline_create.tpl.php + path: ../../../htdocs/core/tpl/objectline_create.tpl.php - message: '#^Variable \$buyer might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/objectline_edit.tpl.php + path: ../../../htdocs/core/tpl/objectline_edit.tpl.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/tpl/objectline_edit.tpl.php + path: ../../../htdocs/core/tpl/objectline_edit.tpl.php - message: '#^Variable \$i might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/objectline_edit.tpl.php + path: ../../../htdocs/core/tpl/objectline_edit.tpl.php - message: '#^Variable \$seller might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/objectline_edit.tpl.php + path: ../../../htdocs/core/tpl/objectline_edit.tpl.php - message: '#^Variable \$var might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/objectline_edit.tpl.php + path: ../../../htdocs/core/tpl/objectline_edit.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/objectline_title.tpl.php + path: ../../../htdocs/core/tpl/objectline_title.tpl.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/objectline_title.tpl.php + path: ../../../htdocs/core/tpl/objectline_title.tpl.php - message: '#^Variable \$outputalsopricetotalwithtax might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/objectline_title.tpl.php + path: ../../../htdocs/core/tpl/objectline_title.tpl.php - message: '#^Variable \$usemargins might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/objectline_title.tpl.php + path: ../../../htdocs/core/tpl/objectline_title.tpl.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/core/tpl/objectline_view.tpl.php + path: ../../../htdocs/core/tpl/objectline_view.tpl.php - message: '#^Variable \$objp might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/tpl/objectline_view.tpl.php + path: ../../../htdocs/core/tpl/objectline_view.tpl.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/core/tpl/objectlinked_lineimport.tpl.php + path: ../../../htdocs/core/tpl/objectlinked_lineimport.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/tpl/objectlinked_lineimport.tpl.php + path: ../../../htdocs/core/tpl/objectlinked_lineimport.tpl.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/tpl/originproductline.tpl.php + path: ../../../htdocs/core/tpl/originproductline.tpl.php - message: '#^Variable \$shippingline might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php + path: ../../../htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php + path: ../../../htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php - message: '#^Property CommonObject\:\:\$sendtoid \(array\\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php + path: ../../../htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/triggers/interface_50_modEventOrganization_EventOrganization.class.php + path: ../../../htdocs/core/triggers/interface_50_modEventOrganization_EventOrganization.class.php - message: '#^Property Conf\:\:\$notification \(stdClass\) in empty\(\) is not falsy\.$#' identifier: empty.property count: 1 - path: ../../htdocs/core/triggers/interface_50_modNotification_Notification.class.php + path: ../../../htdocs/core/triggers/interface_50_modNotification_Notification.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/core/triggers/interface_50_modTicket_TicketEmail.class.php + path: ../../../htdocs/core/triggers/interface_50_modTicket_TicketEmail.class.php - message: '#^Variable \$old_MAIN_MAIL_AUTOCOPY_TO might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/triggers/interface_50_modTicket_TicketEmail.class.php + path: ../../../htdocs/core/triggers/interface_50_modTicket_TicketEmail.class.php - message: '#^Call to function method_exists\(\) with Contact and ''getContactRoles'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/triggers/interface_90_modSociete_ContactRoles.class.php + path: ../../../htdocs/core/triggers/interface_90_modSociete_ContactRoles.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/triggers/interface_95_modWebhook_WebhookTriggers.class.php + path: ../../../htdocs/core/triggers/interface_95_modWebhook_WebhookTriggers.class.php - message: '#^Call to function is_null\(\) with null will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 4 - path: ../../htdocs/core/website.inc.php + path: ../../../htdocs/core/website.inc.php - message: '#^Call to function is_object\(\) with WebsitePage will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/core/website.inc.php + path: ../../../htdocs/core/website.inc.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/core/website.inc.php + path: ../../../htdocs/core/website.inc.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/core/website.inc.php + path: ../../../htdocs/core/website.inc.php - message: '#^Variable \$dolibarr_main_db_type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/core/website.inc.php + path: ../../../htdocs/core/website.inc.php - message: '#^Variable \$hookmanager might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/website.inc.php + path: ../../../htdocs/core/website.inc.php - message: '#^Variable \$websitekey might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/core/website.inc.php + path: ../../../htdocs/core/website.inc.php - message: '#^Loose comparison using \=\= between 1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/cron/card.php + path: ../../../htdocs/cron/card.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 2 - path: ../../htdocs/cron/card.php + path: ../../../htdocs/cron/card.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/cron/card.php + path: ../../../htdocs/cron/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 5 - path: ../../htdocs/cron/card.php + path: ../../../htdocs/cron/card.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/cron/card.php + path: ../../../htdocs/cron/card.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$command \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$dateend \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$datenextrun \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$datestart \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$email_alert \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$frequency \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$jobtype \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$lastoutput \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$lastresult \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$libname \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$maxrun \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$nbrun \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$processing \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$test \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Property Cronjob\:\:\$unitfrequency \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/cron/class/cronjob.class.php + path: ../../../htdocs/cron/class/cronjob.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 10 - path: ../../htdocs/cron/list.php + path: ../../../htdocs/cron/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/cron/list.php + path: ../../../htdocs/cron/list.php - message: '#^Variable \$filter might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/cron/list.php + path: ../../../htdocs/cron/list.php - message: '#^Variable \$texttoshow might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/cron/list.php + path: ../../../htdocs/cron/list.php - message: '#^Offset ''css'' on array\{css\: ''minwidth200'', picto\: mixed\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/datapolicy/admin/setup.php + path: ../../../htdocs/datapolicy/admin/setup.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 3 - path: ../../htdocs/datapolicy/class/datapolicy.class.php + path: ../../../htdocs/datapolicy/class/datapolicy.class.php - message: '#^Loose comparison using \=\= between ''anonymize'' and ''anonymize'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/datapolicy/class/datapolicycron.class.php + path: ../../../htdocs/datapolicy/class/datapolicycron.class.php - message: '#^Loose comparison using \=\= between ''anonymize'' and ''delete'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/datapolicy/class/datapolicycron.class.php + path: ../../../htdocs/datapolicy/class/datapolicycron.class.php - message: '#^Method CdavLib\:\:getFullCalendarObjects\(\) should return array\\> but returns list\\>\.$#' identifier: return.type count: 1 - path: ../../htdocs/dav/dav.class.php + path: ../../../htdocs/dav/dav.class.php - message: '#^Variable \$baseUri in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/dav/fileserver.php + path: ../../../htdocs/dav/fileserver.php - message: '#^Parameter \#1 \$callback of function set_error_handler expects \(callable\(int, string, string, int\)\: bool\)\|null, array\{\$this\(PhpCollector\), ''errorHandler''\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/debugbar/class/DataCollector/DolPhpCollector.php + path: ../../../htdocs/debugbar/class/DataCollector/DolPhpCollector.php - message: '#^Parameter \#2 \$resql of method TraceableDB\:\:endTracing\(\) expects string, bool\|mysqli_result\|resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/debugbar/class/TraceableDB.php + path: ../../../htdocs/debugbar/class/TraceableDB.php - message: '#^Parameter \#1 \$callback of function spl_autoload_register expects \(callable\(string\)\: void\)\|null, Closure\(mixed\)\: bool given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/debugbar/class/autoloader.php + path: ../../../htdocs/debugbar/class/autoloader.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/delivery/card.php + path: ../../../htdocs/delivery/card.php - message: '#^Variable \$arrayoptions might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/delivery/card.php + path: ../../../htdocs/delivery/card.php - message: '#^Variable \$hidedesc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/delivery/card.php + path: ../../../htdocs/delivery/card.php - message: '#^Variable \$hidedetails might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/delivery/card.php + path: ../../../htdocs/delivery/card.php - message: '#^Variable \$hideref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/delivery/card.php + path: ../../../htdocs/delivery/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/delivery/card.php + path: ../../../htdocs/delivery/card.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/delivery/card.php + path: ../../../htdocs/delivery/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/delivery/class/delivery.class.php + path: ../../../htdocs/delivery/class/delivery.class.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/delivery/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/delivery/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/delivery/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/delivery/tpl/linkedobjectblock.tpl.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/document.php + path: ../../../htdocs/document.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/document.php + path: ../../../htdocs/document.php - message: '#^Method Donations\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/don/class/api_donations.class.php + path: ../../../htdocs/don/class/api_donations.class.php - message: '#^Method Donations\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/don/class/api_donations.class.php + path: ../../../htdocs/don/class/api_donations.class.php - message: '#^Method Donations\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/don/class/api_donations.class.php + path: ../../../htdocs/don/class/api_donations.class.php - message: '#^Method Donations\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/don/class/api_donations.class.php + path: ../../../htdocs/don/class/api_donations.class.php - message: '#^Method Donations\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/don/class/api_donations.class.php + path: ../../../htdocs/don/class/api_donations.class.php - message: '#^Method Donations\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/don/class/api_donations.class.php + path: ../../../htdocs/don/class/api_donations.class.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/don/class/api_donations.class.php + path: ../../../htdocs/don/class/api_donations.class.php - message: '#^Property Donations\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/don/class/api_donations.class.php + path: ../../../htdocs/don/class/api_donations.class.php - message: '#^Call to function property_exists\(\) with \$this\(Don\) and ''societe'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/don/class/don.class.php + path: ../../../htdocs/don/class/don.class.php - message: '#^Property Don\:\:\$societe \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/don/class/don.class.php + path: ../../../htdocs/don/class/don.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 5 - path: ../../htdocs/don/class/paymentdonation.class.php + path: ../../../htdocs/don/class/paymentdonation.class.php - message: '#^Property PaymentDonation\:\:\$amount \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/don/class/paymentdonation.class.php + path: ../../../htdocs/don/class/paymentdonation.class.php - message: '#^Property PaymentDonation\:\:\$fk_bank \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/don/class/paymentdonation.class.php + path: ../../../htdocs/don/class/paymentdonation.class.php - message: '#^Property PaymentDonation\:\:\$fk_donation \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/don/class/paymentdonation.class.php + path: ../../../htdocs/don/class/paymentdonation.class.php - message: '#^Property PaymentDonation\:\:\$fk_typepayment \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/don/class/paymentdonation.class.php + path: ../../../htdocs/don/class/paymentdonation.class.php - message: '#^Property PaymentDonation\:\:\$fk_user_creat \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/don/class/paymentdonation.class.php + path: ../../../htdocs/don/class/paymentdonation.class.php - message: '#^Property PaymentDonation\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/don/class/paymentdonation.class.php + path: ../../../htdocs/don/class/paymentdonation.class.php - message: '#^Property PaymentDonation\:\:\$num_payment \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/don/class/paymentdonation.class.php + path: ../../../htdocs/don/class/paymentdonation.class.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 2 - path: ../../htdocs/don/class/paymentdonation.class.php + path: ../../../htdocs/don/class/paymentdonation.class.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/document.php + path: ../../../htdocs/don/document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/document.php + path: ../../../htdocs/don/document.php - message: '#^Variable \$badgeStatus0 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/index.php + path: ../../../htdocs/don/index.php - message: '#^Variable \$badgeStatus1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/index.php + path: ../../../htdocs/don/index.php - message: '#^Variable \$badgeStatus6 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/index.php + path: ../../../htdocs/don/index.php - message: '#^Variable \$badgeStatus9 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/index.php + path: ../../../htdocs/don/index.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/info.php + path: ../../../htdocs/don/info.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/don/list.php + path: ../../../htdocs/don/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/don/list.php + path: ../../../htdocs/don/list.php - message: '#^Variable \$projectstatic might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/don/list.php + path: ../../../htdocs/don/list.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/note.php + path: ../../../htdocs/don/note.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/don/paiement/list.php + path: ../../../htdocs/don/paiement/list.php - message: '#^Left side of \|\| is always false\.$#' identifier: booleanOr.leftAlwaysFalse count: 1 - path: ../../htdocs/don/paiement/list.php + path: ../../../htdocs/don/paiement/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/don/paiement/list.php + path: ../../../htdocs/don/paiement/list.php - message: '#^Variable \$arrayofselected might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/paiement/list.php + path: ../../../htdocs/don/paiement/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/don/paiement/list.php + path: ../../../htdocs/don/paiement/list.php - message: '#^Variable \$morecss might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/paiement/list.php + path: ../../../htdocs/don/paiement/list.php - message: '#^Variable \$morejs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/paiement/list.php + path: ../../../htdocs/don/paiement/list.php - message: '#^Variable \$outputlangs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/payment/card.php + path: ../../../htdocs/don/payment/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/don/payment/payment.php + path: ../../../htdocs/don/payment/payment.php - message: '#^Variable \$sumpaid might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/don/payment/payment.php + path: ../../../htdocs/don/payment/payment.php - message: '#^Variable \$objectlink might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/don/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/don/tpl/linkedobjectblock.tpl.php - message: '#^Property EcmFiles\:\:\$acl \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$cover \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$date_c \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$date_m \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$description \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$extraparams \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$filename \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$filepath \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$fk_user_c \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$fk_user_m \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$fullpath_orig \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$gen_or_uploaded \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$keywords \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$position \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$share \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$src_object_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Property EcmFiles\:\:\$src_object_type \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ecm/class/ecmfiles.class.php + path: ../../../htdocs/ecm/class/ecmfiles.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/ecm/dir_add_card.php + path: ../../../htdocs/ecm/dir_add_card.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ecm/dir_add_card.php + path: ../../../htdocs/ecm/dir_add_card.php - message: '#^Variable \$extrafields might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ecm/dir_card.php + path: ../../../htdocs/ecm/dir_card.php - message: '#^Variable \$oldlabel might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ecm/dir_card.php + path: ../../../htdocs/ecm/dir_card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/ecm/file_card.php + path: ../../../htdocs/ecm/file_card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/ecm/file_card.php + path: ../../../htdocs/ecm/file_card.php - message: '#^Parameter \#1 \$object of function ecm_file_prepare_head expects EcmFiles, CommonObject given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/ecm/file_card.php + path: ../../../htdocs/ecm/file_card.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/ecm/file_card.php + path: ../../../htdocs/ecm/file_card.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/ecm/file_card.php + path: ../../../htdocs/ecm/file_card.php - message: '#^Variable \$module might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/ecm/file_card.php + path: ../../../htdocs/ecm/file_card.php - message: '#^Variable \$relativepath might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ecm/index.php + path: ../../../htdocs/ecm/index.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/ecm/index_medias.php + path: ../../../htdocs/ecm/index_medias.php - message: '#^Variable \$bc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ecm/search.php + path: ../../../htdocs/ecm/search.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ecm/tpl/enablefiletreeajax.tpl.php + path: ../../../htdocs/ecm/tpl/enablefiletreeajax.tpl.php - message: '#^Variable \$param might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ecm/tpl/enablefiletreeajax.tpl.php + path: ../../../htdocs/ecm/tpl/enablefiletreeajax.tpl.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Call to function is_null\(\) with null will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Comparison operation "\>" between 0 and 1000 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Parameter \#2 \$message_num of function imap_body expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Parameter \#2 \$message_num of function imap_fetchbody expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Parameter \#2 \$message_num of function imap_fetchstructure expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Parameter \#4 \$partno of method EmailCollector\:\:getpart\(\) expects string, \(float\|int\) given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Strict comparison using \!\=\= between IMAP\\Connection\|true and false will always evaluate to true\.$#' identifier: notIdentical.alwaysTrue count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 16 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/emailcollector/class/emailcollector.class.php + path: ../../../htdocs/emailcollector/class/emailcollector.class.php - message: '#^Call to function method_exists\(\) with \$this\(ConferenceOrBooth\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/class/conferenceorbooth.class.php + path: ../../../htdocs/eventorganization/class/conferenceorbooth.class.php - message: '#^Call to function method_exists\(\) with \$this\(ConferenceOrBooth\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/class/conferenceorbooth.class.php + path: ../../../htdocs/eventorganization/class/conferenceorbooth.class.php - message: '#^Call to function property_exists\(\) with \$this\(ConferenceOrBooth\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/class/conferenceorbooth.class.php + path: ../../../htdocs/eventorganization/class/conferenceorbooth.class.php - message: '#^Call to function property_exists\(\) with \$this\(ConferenceOrBooth\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/class/conferenceorbooth.class.php + path: ../../../htdocs/eventorganization/class/conferenceorbooth.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/eventorganization/class/conferenceorbooth.class.php + path: ../../../htdocs/eventorganization/class/conferenceorbooth.class.php - message: '#^Method ConferenceOrBooth\:\:fetchAll\(\) has parameter \$filter with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/eventorganization/class/conferenceorbooth.class.php + path: ../../../htdocs/eventorganization/class/conferenceorbooth.class.php - message: '#^Method ConferenceOrBooth\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/eventorganization/class/conferenceorbooth.class.php + path: ../../../htdocs/eventorganization/class/conferenceorbooth.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/class/conferenceorbooth.class.php + path: ../../../htdocs/eventorganization/class/conferenceorbooth.class.php - message: '#^Property ConferenceOrBooth\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/class/conferenceorbooth.class.php + path: ../../../htdocs/eventorganization/class/conferenceorbooth.class.php - message: '#^Call to function property_exists\(\) with \$this\(ConferenceOrBoothAttendee\) and ''fk_soc'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Call to function property_exists\(\) with ConferenceOrBoothAttendee and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Call to function property_exists\(\) with ConferenceOrBoothAttendee and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Call to function property_exists\(\) with ConferenceOrBoothAttendee and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Call to function property_exists\(\) with ConferenceOrBoothAttendee and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Property ConferenceOrBoothAttendee\:\:\$lastname \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Property ConferenceOrBoothAttendee\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/class/conferenceorboothattendee.class.php + path: ../../../htdocs/eventorganization/class/conferenceorboothattendee.class.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_card.php + path: ../../../htdocs/eventorganization/conferenceorbooth_card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_card.php + path: ../../../htdocs/eventorganization/conferenceorbooth_card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_card.php + path: ../../../htdocs/eventorganization/conferenceorbooth_card.php - message: '#^Property ConferenceOrBooth\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_card.php + path: ../../../htdocs/eventorganization/conferenceorbooth_card.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_card.php + path: ../../../htdocs/eventorganization/conferenceorbooth_card.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_contact.php + path: ../../../htdocs/eventorganization/conferenceorbooth_contact.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_contact.php + path: ../../../htdocs/eventorganization/conferenceorbooth_contact.php - message: '#^Property ConferenceOrBooth\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_contact.php + path: ../../../htdocs/eventorganization/conferenceorbooth_contact.php - message: '#^Variable \$mode might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_contact.php + path: ../../../htdocs/eventorganization/conferenceorbooth_contact.php - message: '#^Variable \$permission might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/eventorganization/conferenceorbooth_contact.php + path: ../../../htdocs/eventorganization/conferenceorbooth_contact.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_document.php + path: ../../../htdocs/eventorganization/conferenceorbooth_document.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_document.php + path: ../../../htdocs/eventorganization/conferenceorbooth_document.php - message: '#^Property ConferenceOrBooth\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_document.php + path: ../../../htdocs/eventorganization/conferenceorbooth_document.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_list.php + path: ../../../htdocs/eventorganization/conferenceorbooth_list.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_list.php + path: ../../../htdocs/eventorganization/conferenceorbooth_list.php - message: '#^Right side of \|\| is always true\.$#' identifier: booleanOr.rightAlwaysTrue count: 1 - path: ../../htdocs/eventorganization/conferenceorbooth_list.php + path: ../../../htdocs/eventorganization/conferenceorbooth_list.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/conferenceorboothattendee_card.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/eventorganization/conferenceorboothattendee_card.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/eventorganization/conferenceorboothattendee_card.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/conferenceorboothattendee_card.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_card.php - message: '#^Property ConferenceOrBoothAttendee\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/eventorganization/conferenceorboothattendee_card.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_card.php - message: '#^Variable \$confOrBooth might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/eventorganization/conferenceorboothattendee_card.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_card.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/eventorganization/conferenceorboothattendee_card.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_card.php - message: '#^Variable \$withproject in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/eventorganization/conferenceorboothattendee_card.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_card.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/eventorganization/conferenceorboothattendee_list.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_list.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/eventorganization/conferenceorboothattendee_list.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_list.php - message: '#^Right side of \|\| is always true\.$#' identifier: booleanOr.rightAlwaysTrue count: 1 - path: ../../htdocs/eventorganization/conferenceorboothattendee_list.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_list.php - message: '#^Variable \$projectref might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/eventorganization/conferenceorboothattendee_list.php + path: ../../../htdocs/eventorganization/conferenceorboothattendee_list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Variable \$deliveryreceipt might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Variable \$from might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Variable \$hookmanager might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Variable \$listofobjectref in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Variable \$triggername in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/eventorganization/core/actions_massactions_mail.inc.php + path: ../../../htdocs/eventorganization/core/actions_massactions_mail.inc.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/eventorganization/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/eventorganization/tpl/linkedobjectblock.tpl.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^Variable \$extrafields in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^Variable \$originid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^Variable \$rowEnd might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^Variable \$rowExtrafieldsView might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expedition/card.php + path: ../../../htdocs/expedition/card.php - message: '#^Method Shipments\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expedition/class/api_shipments.class.php + path: ../../../htdocs/expedition/class/api_shipments.class.php - message: '#^Method Shipments\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expedition/class/api_shipments.class.php + path: ../../../htdocs/expedition/class/api_shipments.class.php - message: '#^Method Shipments\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expedition/class/api_shipments.class.php + path: ../../../htdocs/expedition/class/api_shipments.class.php - message: '#^Method Shipments\:\:deleteLine\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expedition/class/api_shipments.class.php + path: ../../../htdocs/expedition/class/api_shipments.class.php - message: '#^Method Shipments\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expedition/class/api_shipments.class.php + path: ../../../htdocs/expedition/class/api_shipments.class.php - message: '#^Method Shipments\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expedition/class/api_shipments.class.php + path: ../../../htdocs/expedition/class/api_shipments.class.php - message: '#^Method Shipments\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expedition/class/api_shipments.class.php + path: ../../../htdocs/expedition/class/api_shipments.class.php - message: '#^Property Shipments\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expedition/class/api_shipments.class.php + path: ../../../htdocs/expedition/class/api_shipments.class.php - message: '#^Call to function method_exists\(\) with \$this\(Expedition\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Call to function method_exists\(\) with \$this\(Expedition\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Call to function property_exists\(\) with \$this\(Expedition\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Call to function property_exists\(\) with \$this\(Expedition\) and ''total_ht'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 7 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property CommonObject\:\:\$fk_delivery_address \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property CommonObject\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property CommonObject\:\:\$ref_ext \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property CommonObject\:\:\$shipping_method_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$fk_user_author \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$ref_customer \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$size_units \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$socid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$tracking_number \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$trueDepth \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$trueHeight \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$trueWeight \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$trueWidth \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property Expedition\:\:\$weight_units \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Property ExpeditionLigne\:\:\$detail_batch \(array\\|stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Variable \$line might not be defined\.$#' identifier: variable.undefined count: 77 - path: ../../htdocs/expedition/class/expedition.class.php + path: ../../../htdocs/expedition/class/expedition.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/expedition/class/expeditionligne.class.php + path: ../../../htdocs/expedition/class/expeditionligne.class.php - message: '#^Property CommonObject\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expeditionligne.class.php + path: ../../../htdocs/expedition/class/expeditionligne.class.php - message: '#^Property CommonObjectLine\:\:\$id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expeditionligne.class.php + path: ../../../htdocs/expedition/class/expeditionligne.class.php - message: '#^Property ExpeditionLigne\:\:\$entrepot_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expeditionligne.class.php + path: ../../../htdocs/expedition/class/expeditionligne.class.php - message: '#^Result of \|\| is always false\.$#' identifier: booleanOr.alwaysFalse count: 1 - path: ../../htdocs/expedition/class/expeditionligne.class.php + path: ../../../htdocs/expedition/class/expeditionligne.class.php - message: '#^Property ExpeditionLineBatch\:\:\$qty \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expedition/class/expeditionlinebatch.class.php + path: ../../../htdocs/expedition/class/expeditionlinebatch.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/expedition/contact.php + path: ../../../htdocs/expedition/contact.php - message: '#^Variable \$mesgs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expedition/contact.php + path: ../../../htdocs/expedition/contact.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 8 - path: ../../htdocs/expedition/contact.php + path: ../../../htdocs/expedition/contact.php - message: '#^Variable \$typeobject might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/expedition/contact.php + path: ../../../htdocs/expedition/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/expedition/dispatch.php + path: ../../../htdocs/expedition/dispatch.php - message: '#^Variable \$modebatch might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/expedition/dispatch.php + path: ../../../htdocs/expedition/dispatch.php - message: '#^Variable \$nbproduct might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expedition/dispatch.php + path: ../../../htdocs/expedition/dispatch.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/expedition/dispatch.php + path: ../../../htdocs/expedition/dispatch.php - message: '#^Variable \$objsearchdet might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expedition/dispatch.php + path: ../../../htdocs/expedition/dispatch.php - message: '#^Variable \$typeobject might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/expedition/dispatch.php + path: ../../../htdocs/expedition/dispatch.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/expedition/document.php + path: ../../../htdocs/expedition/document.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expedition/document.php + path: ../../../htdocs/expedition/document.php - message: '#^Variable \$typeobject might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expedition/document.php + path: ../../../htdocs/expedition/document.php - message: '#^Call to function method_exists\(\) with Expedition and ''fetch_lines'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expedition/list.php + path: ../../../htdocs/expedition/list.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/expedition/list.php + path: ../../../htdocs/expedition/list.php - message: '#^Loose comparison using \=\= between \-1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/expedition/list.php + path: ../../../htdocs/expedition/list.php - message: '#^Loose comparison using \=\= between \-1 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/expedition/list.php + path: ../../../htdocs/expedition/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/expedition/list.php + path: ../../../htdocs/expedition/list.php - message: '#^Variable \$searchCategoryCustomerList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/expedition/list.php + path: ../../../htdocs/expedition/list.php - message: '#^Variable \$searchCategoryProductList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/expedition/list.php + path: ../../../htdocs/expedition/list.php - message: '#^Variable \$search_shipping_method_id might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expedition/list.php + path: ../../../htdocs/expedition/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/expedition/note.php + path: ../../../htdocs/expedition/note.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expedition/note.php + path: ../../../htdocs/expedition/note.php - message: '#^Variable \$typeobject might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expedition/note.php + path: ../../../htdocs/expedition/note.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/expedition/shipment.php + path: ../../../htdocs/expedition/shipment.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/expedition/shipment.php + path: ../../../htdocs/expedition/shipment.php - message: '#^Variable \$bc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expedition/shipment.php + path: ../../../htdocs/expedition/shipment.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/expedition/shipment.php + path: ../../../htdocs/expedition/shipment.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expedition/shipment.php + path: ../../../htdocs/expedition/shipment.php - message: '#^Variable \$product might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/expedition/shipment.php + path: ../../../htdocs/expedition/shipment.php - message: '#^Variable \$toBeShippedTotal might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expedition/shipment.php + path: ../../../htdocs/expedition/shipment.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expedition/stats/month.php + path: ../../../htdocs/expedition/stats/month.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expedition/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/expedition/tpl/linkedobjectblock.tpl.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 6 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^Loose comparison using \=\= between 1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 3 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^Variable \$date might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^Variable \$fk_project might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 10 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^Variable \$remaintopay might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^Variable \$userauthor might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expensereport/card.php + path: ../../../htdocs/expensereport/card.php - message: '#^Method ExpenseReports\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:_validatepayment\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:_validatepayment\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:addPayment\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:getAllPayments\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Method ExpenseReports\:\:updatePayment\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Property ExpenseReports\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Property ExpenseReports\:\:\$FIELDSPAYMENT has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/expensereport/class/api_expensereports.class.php + path: ../../../htdocs/expensereport/class/api_expensereports.class.php - message: '#^Call to function method_exists\(\) with \$this\(ExpenseReport\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/expensereport.class.php + path: ../../../htdocs/expensereport/class/expensereport.class.php - message: '#^Call to function method_exists\(\) with \$this\(ExpenseReport\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/expensereport.class.php + path: ../../../htdocs/expensereport/class/expensereport.class.php - message: '#^Call to function property_exists\(\) with \$this\(ExpenseReport\) and ''date_debut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/expensereport.class.php + path: ../../../htdocs/expensereport/class/expensereport.class.php - message: '#^Call to function property_exists\(\) with \$this\(ExpenseReport\) and ''date_fin'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/expensereport.class.php + path: ../../../htdocs/expensereport/class/expensereport.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/expensereport/class/expensereport.class.php + path: ../../../htdocs/expensereport/class/expensereport.class.php - message: '#^Parameter \#1 \$vatrate of function getLocalTaxesFromRate expects int\|string, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/expensereport/class/expensereport.class.php + path: ../../../htdocs/expensereport/class/expensereport.class.php - message: '#^Parameter \#2 \$pu of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/expensereport/class/expensereport.class.php + path: ../../../htdocs/expensereport/class/expensereport.class.php - message: '#^Property ExpenseReport\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/expensereport/class/expensereport.class.php + path: ../../../htdocs/expensereport/class/expensereport.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/expensereport/class/expensereportline.class.php + path: ../../../htdocs/expensereport/class/expensereportline.class.php - message: '#^Call to function method_exists\(\) with \$this\(PaymentExpenseReport\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Call to function method_exists\(\) with \$this\(PaymentExpenseReport\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentExpenseReport\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentExpenseReport\) and ''datep'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentExpenseReport\) and ''fk_bank'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentExpenseReport\) and ''fk_typepayment'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Property PaymentExpenseReport\:\:\$amount \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Property PaymentExpenseReport\:\:\$fk_bank \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Property PaymentExpenseReport\:\:\$fk_expensereport \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Property PaymentExpenseReport\:\:\$fk_typepayment \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Property PaymentExpenseReport\:\:\$fk_user_creat \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Property PaymentExpenseReport\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Property PaymentExpenseReport\:\:\$num_payment \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/expensereport/class/paymentexpensereport.class.php + path: ../../../htdocs/expensereport/class/paymentexpensereport.class.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/expensereport/list.php + path: ../../../htdocs/expensereport/list.php - message: '#^Variable \$outputlangs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/payment/card.php + path: ../../../htdocs/expensereport/payment/card.php - message: '#^Variable \$title_button might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/payment/card.php + path: ../../../htdocs/expensereport/payment/card.php - message: '#^Variable \$linkback might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/payment/info.php + path: ../../../htdocs/expensereport/payment/info.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/expensereport/payment/list.php + path: ../../../htdocs/expensereport/payment/list.php - message: '#^Variable \$toselect might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/payment/list.php + path: ../../../htdocs/expensereport/payment/list.php - message: '#^Comparison operation "\>" between 1 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/expensereport/payment/payment.php + path: ../../../htdocs/expensereport/payment/payment.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/expensereport/payment/payment.php + path: ../../../htdocs/expensereport/payment/payment.php - message: '#^Variable \$sumpaid might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/expensereport/payment/payment.php + path: ../../../htdocs/expensereport/payment/payment.php - message: '#^Variable \$fileurl_avg might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/stats/index.php + path: ../../../htdocs/expensereport/stats/index.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php - message: '#^Variable \$colspan might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php - message: '#^Variable \$formfile might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_addfile.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php - message: '#^Variable \$colspan might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php - message: '#^Variable \$minifile might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php + path: ../../../htdocs/expensereport/tpl/expensereport_linktofile.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/expensereport/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/expensereport/tpl/linkedobjectblock.tpl.php - message: '#^Property Export\:\:\$fk_user \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/exports/class/export.class.php + path: ../../../htdocs/exports/class/export.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 3 - path: ../../htdocs/exports/export.php + path: ../../../htdocs/exports/export.php - message: '#^Variable \$heightforframes might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/externalsite/frames.php + path: ../../../htdocs/externalsite/frames.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fichinter/agenda.php + path: ../../../htdocs/fichinter/agenda.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/fichinter/card-rec.php + path: ../../../htdocs/fichinter/card-rec.php - message: '#^Property CommonObjectLine\:\:\$product_type \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fichinter/card-rec.php + path: ../../../htdocs/fichinter/card-rec.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fichinter/card-rec.php + path: ../../../htdocs/fichinter/card-rec.php - message: '#^Call to function is_object\(\) with FichinterLigne will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fichinter/card.php + path: ../../../htdocs/fichinter/card.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/fichinter/card.php + path: ../../../htdocs/fichinter/card.php - message: '#^Loose comparison using \=\= between ''2'' and ''2'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/fichinter/card.php + path: ../../../htdocs/fichinter/card.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/fichinter/card.php + path: ../../../htdocs/fichinter/card.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 1 - path: ../../htdocs/fichinter/card.php + path: ../../../htdocs/fichinter/card.php - message: '#^Variable \$classname might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fichinter/card.php + path: ../../../htdocs/fichinter/card.php - message: '#^Variable \$extrafields in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/fichinter/card.php + path: ../../../htdocs/fichinter/card.php - message: '#^Variable \$line might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/fichinter/card.php + path: ../../../htdocs/fichinter/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 11 - path: ../../htdocs/fichinter/card.php + path: ../../../htdocs/fichinter/card.php - message: '#^Method Interventions\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Method Interventions\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Method Interventions\:\:_validateLine\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Method Interventions\:\:_validateLine\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Method Interventions\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Method Interventions\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Method Interventions\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Method Interventions\:\:postLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Property Interventions\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Property Interventions\:\:\$FIELDSLINE has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/fichinter/class/api_interventions.class.php + path: ../../../htdocs/fichinter/class/api_interventions.class.php - message: '#^Call to function method_exists\(\) with \$this\(Fichinter\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fichinter/class/fichinter.class.php + path: ../../../htdocs/fichinter/class/fichinter.class.php - message: '#^Call to function method_exists\(\) with \$this\(Fichinter\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fichinter/class/fichinter.class.php + path: ../../../htdocs/fichinter/class/fichinter.class.php - message: '#^Call to function property_exists\(\) with \$this\(Fichinter\) and ''duration'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fichinter/class/fichinter.class.php + path: ../../../htdocs/fichinter/class/fichinter.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 7 - path: ../../htdocs/fichinter/class/fichinter.class.php + path: ../../../htdocs/fichinter/class/fichinter.class.php - message: '#^Property Fichinter\:\:\$ref_client \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fichinter/class/fichinter.class.php + path: ../../../htdocs/fichinter/class/fichinter.class.php - message: '#^Property Fichinter\:\:\$statut \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fichinter/class/fichinter.class.php + path: ../../../htdocs/fichinter/class/fichinter.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/fichinter/class/fichinter.class.php + path: ../../../htdocs/fichinter/class/fichinter.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/fichinter/class/fichinterligne.class.php + path: ../../../htdocs/fichinter/class/fichinterligne.class.php - message: '#^Parameter \#17 \$fk_unit of method FichinterRec\:\:addLineRec\(\) expects string\|null, int\|null given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fichinter/class/fichinterrec.class.php + path: ../../../htdocs/fichinter/class/fichinterrec.class.php - message: '#^Parameter \#2 \$pu of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fichinter/class/fichinterrec.class.php + path: ../../../htdocs/fichinter/class/fichinterrec.class.php - message: '#^Parameter \#3 \$remise_percent_ligne of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fichinter/class/fichinterrec.class.php + path: ../../../htdocs/fichinter/class/fichinterrec.class.php - message: '#^Right side of && is always false\.$#' identifier: booleanAnd.rightAlwaysFalse count: 1 - path: ../../htdocs/fichinter/contact.php + path: ../../../htdocs/fichinter/contact.php - message: '#^Right side of && is always false\.$#' identifier: booleanAnd.rightAlwaysFalse count: 1 - path: ../../htdocs/fichinter/document.php + path: ../../../htdocs/fichinter/document.php - message: '#^Variable \$badgeStatus0 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fichinter/index.php + path: ../../../htdocs/fichinter/index.php - message: '#^Variable \$badgeStatus1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fichinter/index.php + path: ../../../htdocs/fichinter/index.php - message: '#^Variable \$badgeStatus4 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fichinter/index.php + path: ../../../htdocs/fichinter/index.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/fichinter/list.php + path: ../../../htdocs/fichinter/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/fichinter/list.php + path: ../../../htdocs/fichinter/list.php - message: '#^Variable \$contratstatic might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/fichinter/list.php + path: ../../../htdocs/fichinter/list.php - message: '#^Variable \$projetstatic might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/fichinter/list.php + path: ../../../htdocs/fichinter/list.php - message: '#^Right side of && is always false\.$#' identifier: booleanAnd.rightAlwaysFalse count: 1 - path: ../../htdocs/fichinter/note.php + path: ../../../htdocs/fichinter/note.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/fichinter/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/fichinter/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fichinter/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/fichinter/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$dolibarr_main_db_encrypted_pass might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/filefunc.inc.php + path: ../../../htdocs/filefunc.inc.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 10 - path: ../../htdocs/fourn/card.php + path: ../../../htdocs/fourn/card.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/card.php + path: ../../../htdocs/fourn/card.php - message: '#^Method SupplierInvoices\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:deleteLine\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:getLines\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:getPayments\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:postLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:putLine\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierInvoices\:\:validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_invoices.class.php + path: ../../../htdocs/fourn/class/api_supplier_invoices.class.php - message: '#^Method SupplierOrders\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:approve\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:deleteContact\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:makeOrder\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:postContact\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:receiveOrder\(\) has parameter \$lines with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:receiveOrder\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Method SupplierOrders\:\:validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Parameter \#1 \$object of method SupplierOrders\:\:_cleanObjectDatas\(\) expects object, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Property SupplierOrders\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Variable \$contact might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/class/api_supplier_orders.class.php + path: ../../../htdocs/fourn/class/api_supplier_orders.class.php - message: '#^Call to function method_exists\(\) with \$this\(CommandeFournisseur\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Call to function method_exists\(\) with \$this\(CommandeFournisseur\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Call to function property_exists\(\) with \$this\(CommandeFournisseur\) and ''billed'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Call to function property_exists\(\) with \$this\(CommandeFournisseur\) and ''socid'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Call to function property_exists\(\) with \$this\(CommandeFournisseur\) and ''total_tva'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Parameter \#1 \$exclspec of method CommonObject\:\:update_price\(\) expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Parameter \#15 \$pu_devise of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Parameter \#2 \$pu of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Parameter \#3 \$remise_percent_ligne of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Parameter \#5 \$uselocaltax1_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Parameter \#6 \$uselocaltax2_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$cond_reglement_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$mode_reglement_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$ref_supplier \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$socid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$total_ht \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$total_localtax1 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$total_localtax2 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$total_ttc \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$total_tva \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommandeFournisseur\:\:\$user_author_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Property CommonObject\:\:\$ref_ext \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/fourn/class/fournisseur.commande.class.php + path: ../../../htdocs/fourn/class/fournisseur.commande.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Parameter \#1 \$qty of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Parameter \#1 \$vatrate of function getLocalTaxesFromRate expects int\|string, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Parameter \#10 \$txlocaltax1 of method FactureFournisseurRec\:\:addline\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Parameter \#11 \$txlocaltax2 of method FactureFournisseurRec\:\:addline\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Parameter \#15 \$pu_devise of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Parameter \#19 \$fk_unit of method FactureFournisseurRec\:\:addline\(\) expects string\|null, int\|null given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Parameter \#2 \$pu of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Parameter \#8 \$remise_percent of method FactureFournisseurRec\:\:addline\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Property CommonInvoice\:\:\$subtype \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture-rec.ligne.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture-rec.ligne.class.php - message: '#^Call to function method_exists\(\) with \$this\(FactureFournisseur\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Call to function method_exists\(\) with \$this\(FactureFournisseur\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Call to function property_exists\(\) with \$this\(FactureFournisseur\) and ''date'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Call to function property_exists\(\) with \$this\(FactureFournisseur\) and ''total_ht'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 6 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#1 \$exclspec of method CommonObject\:\:update_price\(\) expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#1 \$qty of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#15 \$pu_devise of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#2 \$alreadypaid of method CommonInvoice\:\:getLibStatut\(\) expects int, float given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#2 \$pu of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#3 \$remise_percent_ligne of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#3 \$txtva of method FactureFournisseur\:\:addline\(\) expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#4 \$vatrate of method FactureFournisseur\:\:updateline\(\) expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#5 \$uselocaltax1_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Parameter \#6 \$uselocaltax2_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonInvoice\:\:\$close_code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonInvoice\:\:\$close_note \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonInvoice\:\:\$cond_reglement_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonInvoice\:\:\$socid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonInvoice\:\:\$subtype \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonInvoice\:\:\$totalpaid \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonInvoiceLine\:\:\$info_bits \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property CommonObject\:\:\$ref_ext \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$author \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$fk_fac_rec_source \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$fk_facture_source \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$fk_user_valid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$libelle \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$note_private \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$note_public \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$paid \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$paye \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$ref_supplier \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$statut \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$total_ht \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$total_localtax1 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$total_localtax2 \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$total_ttc \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$total_tva \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Property FactureFournisseur\:\:\$type \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/fourn/class/fournisseur.facture.ligne.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.ligne.class.php - message: '#^Property SupplierInvoiceLine\:\:\$situation_percent \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.facture.ligne.class.php + path: ../../../htdocs/fourn/class/fournisseur.facture.ligne.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/fourn/class/fournisseur.orderline.class.php + path: ../../../htdocs/fourn/class/fournisseur.orderline.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/fourn/class/fournisseur.product.class.php + path: ../../../htdocs/fourn/class/fournisseur.product.class.php - message: '#^Property Product\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.product.class.php + path: ../../../htdocs/fourn/class/fournisseur.product.class.php - message: '#^Property Product\:\:\$status_buy \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.product.class.php + path: ../../../htdocs/fourn/class/fournisseur.product.class.php - message: '#^Property ProductFournisseur\:\:\$fourn_unitprice \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/fourn/class/fournisseur.product.class.php + path: ../../../htdocs/fourn/class/fournisseur.product.class.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 1 - path: ../../htdocs/fourn/class/fournisseur.product.class.php + path: ../../../htdocs/fourn/class/fournisseur.product.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/fourn/class/fournisseur.product.class.php + path: ../../../htdocs/fourn/class/fournisseur.product.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/fourn/class/fournisseur.product.class.php + path: ../../../htdocs/fourn/class/fournisseur.product.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/fourn/class/paiementfourn.class.php + path: ../../../htdocs/fourn/class/paiementfourn.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/fourn/class/paiementfourn.class.php + path: ../../../htdocs/fourn/class/paiementfourn.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^Loose comparison using \=\= between 1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^Variable \$array_option might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^Variable \$classname might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^Variable \$fk_account might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^Variable \$line might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 7 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/commande/card.php + path: ../../../htdocs/fourn/commande/card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/commande/contact.php + path: ../../../htdocs/fourn/commande/contact.php - message: '#^Variable \$caneditproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/commande/contact.php + path: ../../../htdocs/fourn/commande/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/commande/dispatch.php + path: ../../../htdocs/fourn/commande/dispatch.php - message: '#^Parameter \#4 \$month of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/fourn/commande/dispatch.php + path: ../../../htdocs/fourn/commande/dispatch.php - message: '#^Parameter \#5 \$day of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/fourn/commande/dispatch.php + path: ../../../htdocs/fourn/commande/dispatch.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/fourn/commande/dispatch.php + path: ../../../htdocs/fourn/commande/dispatch.php - message: '#^Right side of && is always false\.$#' identifier: booleanAnd.rightAlwaysFalse count: 1 - path: ../../htdocs/fourn/commande/dispatch.php + path: ../../../htdocs/fourn/commande/dispatch.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/fourn/commande/dispatch.php + path: ../../../htdocs/fourn/commande/dispatch.php - message: '#^Variable \$comment might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/fourn/commande/dispatch.php + path: ../../../htdocs/fourn/commande/dispatch.php - message: '#^Variable \$product might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/fourn/commande/dispatch.php - - - - message: '#^Variable \$reception might not be defined\.$#' - identifier: variable.undefined - count: 1 - path: ../../htdocs/fourn/commande/dispatch.php + path: ../../../htdocs/fourn/commande/dispatch.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/commande/document.php + path: ../../../htdocs/fourn/commande/document.php - message: '#^Variable \$caneditproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/commande/document.php + path: ../../../htdocs/fourn/commande/document.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/commande/info.php + path: ../../../htdocs/fourn/commande/info.php - message: '#^Variable \$caneditproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/commande/info.php + path: ../../../htdocs/fourn/commande/info.php - message: '#^Call to function method_exists\(\) with CommandeFournisseur and ''fetch_lines'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/commande/list.php + path: ../../../htdocs/fourn/commande/list.php - message: '#^Loose comparison using \=\= between \-1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/fourn/commande/list.php + path: ../../../htdocs/fourn/commande/list.php - message: '#^Loose comparison using \=\= between \-1 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/fourn/commande/list.php + path: ../../../htdocs/fourn/commande/list.php - message: '#^Variable \$billed might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/commande/list.php + path: ../../../htdocs/fourn/commande/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/fourn/commande/list.php + path: ../../../htdocs/fourn/commande/list.php - message: '#^Variable \$searchCategoryProductList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/fourn/commande/list.php + path: ../../../htdocs/fourn/commande/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/commande/note.php + path: ../../../htdocs/fourn/commande/note.php - message: '#^Variable \$caneditproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/commande/note.php + path: ../../../htdocs/fourn/commande/note.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$begin might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/fourn/contact.php + path: ../../../htdocs/fourn/contact.php - message: '#^Variable \$contactname might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/contact.php + path: ../../../htdocs/fourn/contact.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/fourn/contact.php + path: ../../../htdocs/fourn/contact.php - message: '#^Variable \$stcomm might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/fourn/contact.php + path: ../../../htdocs/fourn/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/facture/agenda.php + path: ../../../htdocs/fourn/facture/agenda.php - message: '#^Parameter \#1 \$hour of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Parameter \#2 \$minute of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Parameter \#3 \$second of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Parameter \#4 \$month of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Parameter \#5 \$day of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Variable \$formproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Variable \$label might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Variable \$predef might not be defined\.$#' identifier: variable.undefined count: 20 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Variable \$price_min might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Variable \$ref_fournisseur might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/card-rec.php + path: ../../../htdocs/fourn/facture/card-rec.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Parameter \#1 \$hour of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Parameter \#2 \$minute of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Parameter \#3 \$second of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Parameter \#4 \$month of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Parameter \#5 \$day of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 6 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Property CommonObject\:\:\$cond_reglement_id \(int\) does not accept array\\|string\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) does not accept null\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Property CommonObject\:\:\$mode_reglement_id \(int\) does not accept array\\|string\.$#' identifier: assign.propertyType count: 2 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Variable \$backtopageforcancel in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Variable \$classname might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 6 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^Variable \$vat_reverse_charge might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/card.php + path: ../../../htdocs/fourn/facture/card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/facture/contact.php + path: ../../../htdocs/fourn/facture/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/facture/document.php + path: ../../../htdocs/fourn/facture/document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/document.php + path: ../../../htdocs/fourn/facture/document.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/facture/info.php + path: ../../../htdocs/fourn/facture/info.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/fourn/facture/info.php + path: ../../../htdocs/fourn/facture/info.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/fourn/facture/list-rec.php + path: ../../../htdocs/fourn/facture/list-rec.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/fourn/facture/list.php + path: ../../../htdocs/fourn/facture/list.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/fourn/facture/list.php + path: ../../../htdocs/fourn/facture/list.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/fourn/facture/list.php + path: ../../../htdocs/fourn/facture/list.php - message: '#^Offset ''totalam'' on array\{f\.total_ht\: \(float\|int\), f\.total_vat\: \(float\|int\), f\.total_localtax1\: \(float\|int\), f\.total_ttc\: \(float\|int\), totalam\: 0, rtp\: \(float\|int\), f\.total_localtax2\?\: \(array\|float\|int\)\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/fourn/facture/list.php + path: ../../../htdocs/fourn/facture/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/fourn/facture/list.php + path: ../../../htdocs/fourn/facture/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/fourn/facture/list.php + path: ../../../htdocs/fourn/facture/list.php - message: '#^Variable \$numprlv might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/list.php + path: ../../../htdocs/fourn/facture/list.php - message: '#^Variable \$soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/list.php + path: ../../../htdocs/fourn/facture/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/facture/messaging.php + path: ../../../htdocs/fourn/facture/messaging.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/facture/note-rec.php + path: ../../../htdocs/fourn/facture/note-rec.php - message: '#^Variable \$title might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/fourn/facture/note-rec.php + path: ../../../htdocs/fourn/facture/note-rec.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/fourn/facture/note.php + path: ../../../htdocs/fourn/facture/note.php - message: '#^Call to function is_numeric\(\) with float will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/fourn/facture/paiement.php + path: ../../../htdocs/fourn/facture/paiement.php - message: '#^Variable \$moreforfilter might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/paiement.php + path: ../../../htdocs/fourn/facture/paiement.php - message: '#^Variable \$obj might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/facture/rapport.php + path: ../../../htdocs/fourn/facture/rapport.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/fourn/paiement/card.php + path: ../../../htdocs/fourn/paiement/card.php - message: '#^Variable \$title_button might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/paiement/card.php + path: ../../../htdocs/fourn/paiement/card.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/fourn/paiement/document.php + path: ../../../htdocs/fourn/paiement/document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/fourn/paiement/document.php + path: ../../../htdocs/fourn/paiement/document.php - message: '#^Variable \$arrayofselected might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/fourn/paiement/list.php + path: ../../../htdocs/fourn/paiement/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/fourn/paiement/list.php + path: ../../../htdocs/fourn/paiement/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/fourn/product/list.php + path: ../../../htdocs/fourn/product/list.php - message: '#^Variable \$result2 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/ftp/admin/ftpclient.php + path: ../../../htdocs/ftp/admin/ftpclient.php - message: '#^Variable \$result3 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/ftp/admin/ftpclient.php + path: ../../../htdocs/ftp/admin/ftpclient.php - message: '#^Variable \$result4 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/ftp/admin/ftpclient.php + path: ../../../htdocs/ftp/admin/ftpclient.php - message: '#^Variable \$result5 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/ftp/admin/ftpclient.php + path: ../../../htdocs/ftp/admin/ftpclient.php - message: '#^Variable \$result6 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ftp/admin/ftpclient.php + path: ../../../htdocs/ftp/admin/ftpclient.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/ftp/index.php + path: ../../../htdocs/ftp/index.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/ftp/index.php + path: ../../../htdocs/ftp/index.php - message: '#^Parameter \#1 \$ftp of function ftp_nlist expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/ftp/index.php + path: ../../../htdocs/ftp/index.php - message: '#^Parameter \#1 \$ftp of function ftp_rawlist expects FTP\\Connection, resource given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/ftp/index.php + path: ../../../htdocs/ftp/index.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 3 - path: ../../htdocs/ftp/index.php + path: ../../../htdocs/ftp/index.php - message: '#^Variable \$newsectioniso might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ftp/index.php + path: ../../../htdocs/ftp/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/holiday/card.php + path: ../../../htdocs/holiday/card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/holiday/card_group.php + path: ../../../htdocs/holiday/card_group.php - message: '#^Parameter \#4 \$month of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/holiday/card_group.php + path: ../../../htdocs/holiday/card_group.php - message: '#^Parameter \#5 \$day of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/holiday/card_group.php + path: ../../../htdocs/holiday/card_group.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/holiday/card_group.php + path: ../../../htdocs/holiday/card_group.php - message: '#^Variable \$endhalfdaykey might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/holiday/card_group.php + path: ../../../htdocs/holiday/card_group.php - message: '#^Variable \$errors might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/holiday/card_group.php + path: ../../../htdocs/holiday/card_group.php - message: '#^Variable \$starthalfdaykey might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/holiday/card_group.php + path: ../../../htdocs/holiday/card_group.php - message: '#^Call to function method_exists\(\) with \$this\(Holiday\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Call to function property_exists\(\) with \$this\(Holiday\) and ''date_debut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Call to function property_exists\(\) with \$this\(Holiday\) and ''date_fin'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Call to function property_exists\(\) with \$this\(Holiday\) and ''fk_type'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Comparison operation "\<" between 0 and 0 is always false\.$#' identifier: smaller.alwaysFalse count: 1 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Parameter \#4 \$new_solde of method Holiday\:\:addLogCP\(\) expects int, float given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Property Holiday\:\:\$events has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Property Holiday\:\:\$halfday \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Property Holiday\:\:\$holiday has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^Property Holiday\:\:\$logs has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/holiday/class/holiday.class.php + path: ../../../htdocs/holiday/class/holiday.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 3 - path: ../../htdocs/holiday/define_holiday.php + path: ../../../htdocs/holiday/define_holiday.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/holiday/define_holiday.php + path: ../../../htdocs/holiday/define_holiday.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/holiday/define_holiday.php + path: ../../../htdocs/holiday/define_holiday.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/holiday/define_holiday.php + path: ../../../htdocs/holiday/define_holiday.php - message: '#^Variable \$arraydata might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/holiday/list.php + path: ../../../htdocs/holiday/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/holiday/list.php + path: ../../../htdocs/holiday/list.php - message: '#^Variable \$morefilter might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/holiday/list.php + path: ../../../htdocs/holiday/list.php - message: '#^Variable \$search_month_update might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/holiday/list.php + path: ../../../htdocs/holiday/list.php - message: '#^Variable \$search_year_update might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/holiday/list.php + path: ../../../htdocs/holiday/list.php - message: '#^Variable \$arraytypeleaves might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/holiday/month_report.php + path: ../../../htdocs/holiday/month_report.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/holiday/view_log.php + path: ../../../htdocs/holiday/view_log.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/holiday/view_log.php + path: ../../../htdocs/holiday/view_log.php - message: '#^Variable \$search_status might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/holiday/view_log.php + path: ../../../htdocs/holiday/view_log.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/holiday/view_log.php + path: ../../../htdocs/holiday/view_log.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 2 - path: ../../htdocs/hrm/admin/admin_hrm.php + path: ../../../htdocs/hrm/admin/admin_hrm.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/admin/admin_hrm.php + path: ../../../htdocs/hrm/admin/admin_hrm.php - message: '#^Variable \$mesg might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/admin/admin_hrm.php + path: ../../../htdocs/hrm/admin/admin_hrm.php - message: '#^Property Establishment\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/class/establishment.class.php + path: ../../../htdocs/hrm/class/establishment.class.php - message: '#^Call to function method_exists\(\) with \$this\(Evaluation\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Call to function method_exists\(\) with \$this\(Evaluation\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Call to function property_exists\(\) with Evaluation and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Call to function property_exists\(\) with Evaluation and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Call to function property_exists\(\) with Evaluation and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Call to function property_exists\(\) with Evaluation and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Call to function property_exists\(\) with Evaluation and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Property Evaluation\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/class/evaluation.class.php + path: ../../../htdocs/hrm/class/evaluation.class.php - message: '#^Call to function property_exists\(\) with EvaluationLine and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluationdet.class.php + path: ../../../htdocs/hrm/class/evaluationdet.class.php - message: '#^Call to function property_exists\(\) with EvaluationLine and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluationdet.class.php + path: ../../../htdocs/hrm/class/evaluationdet.class.php - message: '#^Call to function property_exists\(\) with EvaluationLine and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluationdet.class.php + path: ../../../htdocs/hrm/class/evaluationdet.class.php - message: '#^Call to function property_exists\(\) with EvaluationLine and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/evaluationdet.class.php + path: ../../../htdocs/hrm/class/evaluationdet.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/hrm/class/evaluationdet.class.php + path: ../../../htdocs/hrm/class/evaluationdet.class.php - message: '#^Method EvaluationLine\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/evaluationdet.class.php + path: ../../../htdocs/hrm/class/evaluationdet.class.php - message: '#^Method EvaluationLine\:\:getLinesArray\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/evaluationdet.class.php + path: ../../../htdocs/hrm/class/evaluationdet.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/class/evaluationdet.class.php + path: ../../../htdocs/hrm/class/evaluationdet.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/class/evaluationdet.class.php + path: ../../../htdocs/hrm/class/evaluationdet.class.php - message: '#^Call to function method_exists\(\) with \$this\(Job\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Call to function property_exists\(\) with \$this\(Job\) and ''description'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Call to function property_exists\(\) with Job and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Call to function property_exists\(\) with Job and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Call to function property_exists\(\) with Job and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Call to function property_exists\(\) with Job and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Call to function property_exists\(\) with Job and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Method Job\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Method Job\:\:getLinesArray\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Method Job\:\:getSkillRankForJob\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/class/job.class.php + path: ../../../htdocs/hrm/class/job.class.php - message: '#^Call to function method_exists\(\) with \$this\(Position\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Call to function property_exists\(\) with \$this\(Position\) and ''date_end'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Call to function property_exists\(\) with \$this\(Position\) and ''date_start'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Call to function property_exists\(\) with Position and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Call to function property_exists\(\) with Position and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Call to function property_exists\(\) with Position and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Call to function property_exists\(\) with Position and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Method Position\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Method Position\:\:getForUser\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Method Position\:\:getLinesArray\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/class/position.class.php + path: ../../../htdocs/hrm/class/position.class.php - message: '#^Call to function method_exists\(\) with \$this\(Skill\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Call to function property_exists\(\) with \$this\(Skill\) and ''description'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Call to function property_exists\(\) with \$this\(Skill\) and ''skill_type'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Call to function property_exists\(\) with Skill and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Call to function property_exists\(\) with Skill and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Call to function property_exists\(\) with Skill and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Call to function property_exists\(\) with Skill and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Call to function property_exists\(\) with Skill and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Method Skill\:\:fetchLines\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Method Skill\:\:getLinesArray\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/class/skill.class.php + path: ../../../htdocs/hrm/class/skill.class.php - message: '#^Call to function property_exists\(\) with Skilldet and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skilldet.class.php + path: ../../../htdocs/hrm/class/skilldet.class.php - message: '#^Call to function property_exists\(\) with Skilldet and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skilldet.class.php + path: ../../../htdocs/hrm/class/skilldet.class.php - message: '#^Call to function property_exists\(\) with Skilldet and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skilldet.class.php + path: ../../../htdocs/hrm/class/skilldet.class.php - message: '#^Call to function property_exists\(\) with Skilldet and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skilldet.class.php + path: ../../../htdocs/hrm/class/skilldet.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/hrm/class/skilldet.class.php + path: ../../../htdocs/hrm/class/skilldet.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/class/skilldet.class.php + path: ../../../htdocs/hrm/class/skilldet.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/class/skilldet.class.php + path: ../../../htdocs/hrm/class/skilldet.class.php - message: '#^Call to function property_exists\(\) with SkillRank and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Call to function property_exists\(\) with SkillRank and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Call to function property_exists\(\) with SkillRank and ''fk_object'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Call to function property_exists\(\) with SkillRank and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Call to function property_exists\(\) with SkillRank and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Method SkillRank\:\:getLinesArray\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/hrm/class/skillrank.class.php + path: ../../../htdocs/hrm/class/skillrank.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/compare.php + path: ../../../htdocs/hrm/compare.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/compare.php + path: ../../../htdocs/hrm/compare.php - message: '#^Cannot access property \$db on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/hrm/core/tpl/objectline_view.tpl.php + path: ../../../htdocs/hrm/core/tpl/objectline_view.tpl.php - message: '#^Cannot access property \$status on mixed\.$#' identifier: property.nonObject count: 1 - path: ../../htdocs/hrm/core/tpl/objectline_view.tpl.php + path: ../../../htdocs/hrm/core/tpl/objectline_view.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/core/tpl/objectline_view.tpl.php + path: ../../../htdocs/hrm/core/tpl/objectline_view.tpl.php - message: '#^Variable \$i might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/hrm/core/tpl/objectline_view.tpl.php + path: ../../../htdocs/hrm/core/tpl/objectline_view.tpl.php - message: '#^Variable \$line might not be defined\.$#' identifier: variable.undefined count: 13 - path: ../../htdocs/hrm/core/tpl/objectline_view.tpl.php + path: ../../../htdocs/hrm/core/tpl/objectline_view.tpl.php - message: '#^Variable \$this might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/hrm/core/tpl/objectline_view.tpl.php + path: ../../../htdocs/hrm/core/tpl/objectline_view.tpl.php - message: '#^Variable \$colwidth might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php + path: ../../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php - message: '#^Variable \$moreparam might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php + path: ../../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php - message: '#^Variable \$permission might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php + path: ../../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php - message: '#^Variable \$typeofdata might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php + path: ../../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php - message: '#^Variable \$value_private might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php + path: ../../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php - message: '#^Variable \$value_public might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php + path: ../../../htdocs/hrm/core/tpl/skilldet.fiche.tpl.php - message: '#^Property Establishment\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/establishment/card.php + path: ../../../htdocs/hrm/establishment/card.php - message: '#^Property Establishment\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/establishment/info.php + path: ../../../htdocs/hrm/establishment/info.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/evaluation_card.php + path: ../../../htdocs/hrm/evaluation_card.php - message: '#^Variable \$k might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/evaluation_card.php + path: ../../../htdocs/hrm/evaluation_card.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/evaluation_document.php + path: ../../../htdocs/hrm/evaluation_document.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/hrm/evaluation_list.php + path: ../../../htdocs/hrm/evaluation_list.php - message: '#^Variable \$setupcompanynotcomplete in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/hrm/index.php + path: ../../../htdocs/hrm/index.php - message: '#^Variable \$newcardbutton might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/job_agenda.php + path: ../../../htdocs/hrm/job_agenda.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/hrm/job_card.php + path: ../../../htdocs/hrm/job_card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/job_card.php + path: ../../../htdocs/hrm/job_card.php - message: '#^Variable \$soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/job_card.php + path: ../../../htdocs/hrm/job_card.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/job_card.php + path: ../../../htdocs/hrm/job_card.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/job_document.php + path: ../../../htdocs/hrm/job_document.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/hrm/job_list.php + path: ../../../htdocs/hrm/job_list.php - message: '#^Comparison operation "\<" between int\<0, max\> and 0 is always false\.$#' identifier: smaller.alwaysFalse count: 1 - path: ../../htdocs/hrm/lib/hrm_evaluation.lib.php + path: ../../../htdocs/hrm/lib/hrm_evaluation.lib.php - message: '#^Variable \$Lines in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/hrm/lib/hrm_skillrank.lib.php + path: ../../../htdocs/hrm/lib/hrm_skillrank.lib.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/position.php + path: ../../../htdocs/hrm/position.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/hrm/position.php + path: ../../../htdocs/hrm/position.php - message: '#^Variable \$job might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/position.php + path: ../../../htdocs/hrm/position.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/position_card.php + path: ../../../htdocs/hrm/position_card.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/position_document.php + path: ../../../htdocs/hrm/position_document.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/hrm/position_list.php + path: ../../../htdocs/hrm/position_list.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/hrm/skill_card.php + path: ../../../htdocs/hrm/skill_card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/hrm/skill_card.php + path: ../../../htdocs/hrm/skill_card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/hrm/skill_card.php + path: ../../../htdocs/hrm/skill_card.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/hrm/skill_card.php + path: ../../../htdocs/hrm/skill_card.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/hrm/skill_card.php + path: ../../../htdocs/hrm/skill_card.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/hrm/skill_card.php + path: ../../../htdocs/hrm/skill_card.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/hrm/skill_card.php + path: ../../../htdocs/hrm/skill_card.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/skill_card.php + path: ../../../htdocs/hrm/skill_card.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/skill_card.php + path: ../../../htdocs/hrm/skill_card.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/skill_document.php + path: ../../../htdocs/hrm/skill_document.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/hrm/skill_list.php + path: ../../../htdocs/hrm/skill_list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/hrm/skill_list.php + path: ../../../htdocs/hrm/skill_list.php - message: '#^Call to function is_array\(\) with list will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/hrm/skill_tab.php + path: ../../../htdocs/hrm/skill_tab.php - message: '#^PHPDoc tag @var for variable \$objects has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/hrm/skill_tab.php + path: ../../../htdocs/hrm/skill_tab.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/hrm/skill_tab.php + path: ../../../htdocs/hrm/skill_tab.php - message: '#^Property Import\:\:\$fk_user \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/imports/class/import.class.php + path: ../../../htdocs/imports/class/import.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/imports/emptyexample.php + path: ../../../htdocs/imports/emptyexample.php - message: '#^Comparison operation "\>\=" between int\<1, max\> and 1 is always true\.$#' identifier: greaterOrEqual.alwaysTrue count: 1 - path: ../../htdocs/imports/import.php + path: ../../../htdocs/imports/import.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 12 - path: ../../htdocs/imports/import.php + path: ../../../htdocs/imports/import.php - message: '#^Loose comparison using \=\= between ''session'' and ''session'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/imports/import.php + path: ../../../htdocs/imports/import.php - message: '#^Offset ''imported'' on array\{imported\: 0, example1\: mixed\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/imports/import.php + path: ../../../htdocs/imports/import.php - message: '#^Offset ''picto'' on array\{labelkey\: mixed, labelkeyarray\: list\, label\: string, required\: 0\|1, position\: mixed, picto\: ''''\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/imports/import.php + path: ../../../htdocs/imports/import.php - message: '#^Parameter \#3 \$insertArray of function arrayInsert expects array\{label\?\: string, example1\?\: string, required\?\: bool, imported\?\: bool\|int\<0, 1\>, position\?\: int\}, non\-empty\-array\, position\?\: int\}\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/imports/import.php + path: ../../../htdocs/imports/import.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/index.php + path: ../../../htdocs/index.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/index.php + path: ../../../htdocs/index.php - message: '#^Variable \$boxwork might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/index.php + path: ../../../htdocs/index.php - message: '#^Variable \$conffile might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/index.php + path: ../../../htdocs/index.php - message: '#^Variable \$lockfile in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/index.php + path: ../../../htdocs/index.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/install/check.php + path: ../../../htdocs/install/check.php - message: '#^Offset 2 on array\{string, non\-falsy\-string, non\-falsy\-string\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/install/check.php + path: ../../../htdocs/install/check.php - message: '#^Path in include_once\(\) "\./install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/check.php + path: ../../../htdocs/install/check.php - message: '#^Path in include_once\(\) "/etc/dolibarr/install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/check.php - - - - message: '#^Variable \$conf might not be defined\.$#' - identifier: variable.undefined - count: 19 - path: ../../htdocs/install/check.php - - - - message: '#^Variable \$conffile might not be defined\.$#' - identifier: variable.undefined - count: 19 - path: ../../htdocs/install/check.php - - - - message: '#^Variable \$conffiletoshow might not be defined\.$#' - identifier: variable.undefined - count: 13 - path: ../../htdocs/install/check.php + path: ../../../htdocs/install/check.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/check.php - - - - message: '#^Variable \$dolibarr_main_db_encrypted_pass might not be defined\.$#' - identifier: variable.undefined - count: 1 - path: ../../htdocs/install/check.php + path: ../../../htdocs/install/check.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/install/fileconf.php + path: ../../../htdocs/install/fileconf.php - message: '#^Path in include_once\(\) "\./install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/fileconf.php + path: ../../../htdocs/install/fileconf.php - message: '#^Path in include_once\(\) "/etc/dolibarr/install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/fileconf.php + path: ../../../htdocs/install/fileconf.php - message: '#^Strict comparison using \!\=\= between mixed and null will always evaluate to true\.$#' identifier: notIdentical.alwaysTrue count: 8 - path: ../../htdocs/install/fileconf.php - - - - message: '#^Variable \$conffile might not be defined\.$#' - identifier: variable.undefined - count: 2 - path: ../../htdocs/install/fileconf.php - - - - message: '#^Variable \$conffiletoshow might not be defined\.$#' - identifier: variable.undefined - count: 1 - path: ../../htdocs/install/fileconf.php - - - - message: '#^Variable \$dolibarr_main_db_port might not be defined\.$#' - identifier: variable.undefined - count: 1 - path: ../../htdocs/install/fileconf.php - - - - message: '#^Variable \$dolibarr_main_db_user might not be defined\.$#' - identifier: variable.undefined - count: 1 - path: ../../htdocs/install/fileconf.php + path: ../../../htdocs/install/fileconf.php - message: '#^Variable \$testclass might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/fileconf.php + path: ../../../htdocs/install/fileconf.php - message: '#^Variable \$testfunction might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/fileconf.php + path: ../../../htdocs/install/fileconf.php - message: '#^Instanceof between mod_syslog_file and LogHandler will always evaluate to true\.$#' identifier: instanceof.alwaysTrue count: 2 - path: ../../htdocs/install/inc.php + path: ../../../htdocs/install/inc.php - message: '#^Variable \$dolibarr_main_db_prefix in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/install/inc.php + path: ../../../htdocs/install/inc.php - message: '#^Variable \$dolibarr_main_db_type in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/install/inc.php + path: ../../../htdocs/install/inc.php - message: '#^Variable \$dolibarr_main_url_root in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/install/inc.php + path: ../../../htdocs/install/inc.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/install/index.php + path: ../../../htdocs/install/index.php - message: '#^Variable \$conffile might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/index.php + path: ../../../htdocs/install/index.php - message: '#^PHPDoc tag @var with type string is not subtype of native type null\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/install/install.forced.docker.php + path: ../../../htdocs/install/install.forced.docker.php - message: '#^PHPDoc tag @var with type string is not subtype of native type null\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/install/install.forced.sample.php + path: ../../../htdocs/install/install.forced.sample.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/install/repair.php + path: ../../../htdocs/install/repair.php - message: '#^Variable \$actiondone in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/install/repair.php + path: ../../../htdocs/install/repair.php - message: '#^Variable \$conffile might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/repair.php + path: ../../../htdocs/install/repair.php - message: '#^Variable \$dolibarr_main_data_root might not be defined\.$#' identifier: variable.undefined count: 16 - path: ../../htdocs/install/repair.php + path: ../../../htdocs/install/repair.php - message: '#^Variable \$dolibarr_main_db_character_set might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/repair.php + path: ../../../htdocs/install/repair.php - message: '#^Variable \$dolibarr_main_db_encrypted_pass might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/repair.php + path: ../../../htdocs/install/repair.php - message: '#^Variable \$dolibarr_main_db_type might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/install/repair.php + path: ../../../htdocs/install/repair.php - message: '#^Variable \$methodtofix might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/repair.php + path: ../../../htdocs/install/repair.php - message: '#^Variable \$object_instance might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/install/repair.php + path: ../../../htdocs/install/repair.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Path in include_once\(\) "\./install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Path in include_once\(\) "/etc/dolibarr/install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 35 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$conffile might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$conffiletoshow might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 8 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$db_create_database in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$db_create_user in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$dolibarr_main_db_character_set might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$dolibarr_main_db_collation might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$dolibarr_main_db_host might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$dolibarr_main_db_name might not be defined\.$#' identifier: variable.undefined count: 12 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$dolibarr_main_db_user might not be defined\.$#' identifier: variable.undefined count: 12 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$dolibarr_main_document_root might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$force_dolibarr_lib_TCPDI_PATH in empty\(\) is never defined\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Variable \$force_install_noedit might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step1.php + path: ../../../htdocs/install/step1.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 1 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Path in include_once\(\) "\./install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Path in include_once\(\) "/etc/dolibarr/install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Variable \$buffer might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 15 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Variable \$conffile might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Variable \$conffiletoshow might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Variable \$dir might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Variable \$dolibarr_main_db_prefix might not be defined\.$#' identifier: variable.undefined count: 8 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Variable \$dolibarr_main_db_type might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Variable \$dolibarr_main_document_root might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^Variable \$versionarray might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/install/step2.php + path: ../../../htdocs/install/step2.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^Path in include_once\(\) "\./install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^Path in include_once\(\) "/etc/dolibarr/install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^Variable \$conffile might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^Variable \$conffiletoshow might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^Variable \$dolibarr_main_document_root might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^Variable \$force_install_dolibarrlogin might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^Variable \$force_install_noedit might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step4.php + path: ../../../htdocs/install/step4.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Path in include_once\(\) "\./install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Path in include_once\(\) "/etc/dolibarr/install\.forced\.php" is not a file or it does not exist\.$#' identifier: includeOnce.fileNotFound count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 29 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$conffile might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$conffiletoshow might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$dolibarr_main_db_encrypted_pass might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$dolibarr_main_db_host might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$dolibarr_main_db_name might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$dolibarr_main_db_pass might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$dolibarr_main_db_port might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$dolibarr_main_db_type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$dolibarr_main_db_user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$dolibarr_main_document_root might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$force_install_noedit might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$login in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 5 - path: ../../htdocs/install/step5.php + path: ../../../htdocs/install/step5.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$conffile might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$dolibarr_main_db_encrypted_pass might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$dolibarr_main_db_host might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$dolibarr_main_db_name might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$dolibarr_main_db_pass might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$dolibarr_main_db_port might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$dolibarr_main_db_type might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$dolibarr_main_db_user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$dolibarr_main_document_root might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Variable \$versionarray might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/upgrade.php + path: ../../../htdocs/install/upgrade.php - message: '#^Call to function is_array\(\) with array\, array\{mixed, mixed, mixed\}\> will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Parameter \#4 \$listofmodule of function migrate_reload_modules expects array\, array\{MAIN_MODULE_ACCOUNTING\: ''newboxdefonly'', MAIN_MODULE_AGENDA\: ''newboxdefonly'', MAIN_MODULE_BOM\: ''menuonly'', MAIN_MODULE_BANQUE\: ''menuonly'', MAIN_MODULE_BARCODE\: ''newboxdefonly'', MAIN_MODULE_CRON\: ''newboxdefonly'', MAIN_MODULE_COMMANDE\: ''newboxdefonly'', MAIN_MODULE_BLOCKEDLOG\: ''noboxes'', \.\.\.\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$conffile might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$dolibarr_main_db_encrypted_pass might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$dolibarr_main_db_host might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$dolibarr_main_db_name might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$dolibarr_main_db_pass might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$dolibarr_main_db_port might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$dolibarr_main_db_type might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$dolibarr_main_db_user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Variable \$dolibarr_main_document_root might not be defined\.$#' identifier: variable.undefined count: 9 - path: ../../htdocs/install/upgrade2.php + path: ../../../htdocs/install/upgrade2.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/intracommreport/admin/intracommreport.php + path: ../../../htdocs/intracommreport/admin/intracommreport.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/intracommreport/card.php + path: ../../../htdocs/intracommreport/card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/intracommreport/card.php + path: ../../../htdocs/intracommreport/card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/intracommreport/card.php + path: ../../../htdocs/intracommreport/card.php - message: '#^Variable \$soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/intracommreport/card.php + path: ../../../htdocs/intracommreport/card.php - message: '#^Call to function method_exists\(\) with \$this\(IntracommReport\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/intracommreport/class/intracommreport.class.php + path: ../../../htdocs/intracommreport/class/intracommreport.class.php - message: '#^Call to function property_exists\(\) with \$this\(IntracommReport\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/intracommreport/class/intracommreport.class.php + path: ../../../htdocs/intracommreport/class/intracommreport.class.php - message: '#^Call to function property_exists\(\) with \$this\(IntracommReport\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/intracommreport/class/intracommreport.class.php + path: ../../../htdocs/intracommreport/class/intracommreport.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/intracommreport/class/intracommreport.class.php + path: ../../../htdocs/intracommreport/class/intracommreport.class.php - message: '#^Parameter \#3 \$period_reference of method IntracommReport\:\:addItemsFact\(\) expects int, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/intracommreport/class/intracommreport.class.php + path: ../../../htdocs/intracommreport/class/intracommreport.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/intracommreport/class/intracommreport.class.php + path: ../../../htdocs/intracommreport/class/intracommreport.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 4 - path: ../../htdocs/intracommreport/lib/intracommreport.lib.php + path: ../../../htdocs/intracommreport/lib/intracommreport.lib.php - message: '#^Variable \$action in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/intracommreport/list.php + path: ../../../htdocs/intracommreport/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/intracommreport/list.php + path: ../../../htdocs/intracommreport/list.php - message: '#^Variable \$groupby might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/intracommreport/list.php + path: ../../../htdocs/intracommreport/list.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/intracommreport/list.php + path: ../../../htdocs/intracommreport/list.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 3 - path: ../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php + path: ../../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php - message: '#^Method KnowledgeManagement\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php + path: ../../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php - message: '#^Method KnowledgeManagement\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php + path: ../../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php - message: '#^Method KnowledgeManagement\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php + path: ../../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php - message: '#^Method KnowledgeManagement\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php + path: ../../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php - message: '#^Method KnowledgeManagement\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php + path: ../../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php - message: '#^Method KnowledgeManagement\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php + path: ../../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php + path: ../../../htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php - message: '#^Call to function method_exists\(\) with \$this\(KnowledgeRecord\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Call to function method_exists\(\) with \$this\(KnowledgeRecord\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Call to function property_exists\(\) with \$this\(KnowledgeRecord\) and ''lang'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Call to function property_exists\(\) with \$this\(KnowledgeRecord\) and ''question'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Call to function property_exists\(\) with KnowledgeRecord and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Call to function property_exists\(\) with KnowledgeRecord and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Call to function property_exists\(\) with KnowledgeRecord and ''question'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Call to function property_exists\(\) with KnowledgeRecord and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Call to function property_exists\(\) with KnowledgeRecord and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/knowledgemanagement/class/knowledgerecord.class.php + path: ../../../htdocs/knowledgemanagement/class/knowledgerecord.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/knowledgemanagement/knowledgerecord_card.php + path: ../../../htdocs/knowledgemanagement/knowledgerecord_card.php - message: '#^Property KnowledgeRecord\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/knowledgemanagement/knowledgerecord_card.php + path: ../../../htdocs/knowledgemanagement/knowledgerecord_card.php - message: '#^Property KnowledgeRecord\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/knowledgemanagement/knowledgerecord_card.php + path: ../../../htdocs/knowledgemanagement/knowledgerecord_card.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/knowledgemanagement/knowledgerecord_document.php + path: ../../../htdocs/knowledgemanagement/knowledgerecord_document.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/knowledgemanagement/knowledgerecord_list.php + path: ../../../htdocs/knowledgemanagement/knowledgerecord_list.php - message: '#^Property Loan\:\:\$account_capital \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/loan/class/loan.class.php + path: ../../../htdocs/loan/class/loan.class.php - message: '#^Property Loan\:\:\$account_insurance \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/loan/class/loan.class.php + path: ../../../htdocs/loan/class/loan.class.php - message: '#^Property Loan\:\:\$account_interest \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/loan/class/loan.class.php + path: ../../../htdocs/loan/class/loan.class.php - message: '#^Property Loan\:\:\$fk_bank \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/loan/class/loan.class.php + path: ../../../htdocs/loan/class/loan.class.php - message: '#^Property Loan\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/loan/class/loan.class.php + path: ../../../htdocs/loan/class/loan.class.php - message: '#^Property Loan\:\:\$fk_user_creat \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/loan/class/loan.class.php + path: ../../../htdocs/loan/class/loan.class.php - message: '#^Property Loan\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/loan/class/loan.class.php + path: ../../../htdocs/loan/class/loan.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/loan/class/loanschedule.class.php + path: ../../../htdocs/loan/class/loanschedule.class.php - message: '#^Property LoanSchedule\:\:\$fk_bank \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/loan/class/loanschedule.class.php + path: ../../../htdocs/loan/class/loanschedule.class.php - message: '#^Property LoanSchedule\:\:\$fk_loan \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/loan/class/loanschedule.class.php + path: ../../../htdocs/loan/class/loanschedule.class.php - message: '#^Property LoanSchedule\:\:\$fk_payment_loan \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/loan/class/loanschedule.class.php + path: ../../../htdocs/loan/class/loanschedule.class.php - message: '#^Property LoanSchedule\:\:\$fk_typepayment \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/loan/class/loanschedule.class.php + path: ../../../htdocs/loan/class/loanschedule.class.php - message: '#^Property LoanSchedule\:\:\$fk_user_creat \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/loan/class/loanschedule.class.php + path: ../../../htdocs/loan/class/loanschedule.class.php - message: '#^Property LoanSchedule\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/loan/class/loanschedule.class.php + path: ../../../htdocs/loan/class/loanschedule.class.php - message: '#^Property LoanSchedule\:\:\$num_payment \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/loan/class/loanschedule.class.php + path: ../../../htdocs/loan/class/loanschedule.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/loan/class/paymentloan.class.php + path: ../../../htdocs/loan/class/paymentloan.class.php - message: '#^Property PaymentLoan\:\:\$amount_capital \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/loan/class/paymentloan.class.php + path: ../../../htdocs/loan/class/paymentloan.class.php - message: '#^Property PaymentLoan\:\:\$amount_insurance \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/loan/class/paymentloan.class.php + path: ../../../htdocs/loan/class/paymentloan.class.php - message: '#^Property PaymentLoan\:\:\$fk_bank \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/loan/class/paymentloan.class.php + path: ../../../htdocs/loan/class/paymentloan.class.php - message: '#^Property PaymentLoan\:\:\$fk_loan \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/loan/class/paymentloan.class.php + path: ../../../htdocs/loan/class/paymentloan.class.php - message: '#^Property PaymentLoan\:\:\$fk_typepayment \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/loan/class/paymentloan.class.php + path: ../../../htdocs/loan/class/paymentloan.class.php - message: '#^Property PaymentLoan\:\:\$fk_user_creat \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/loan/class/paymentloan.class.php + path: ../../../htdocs/loan/class/paymentloan.class.php - message: '#^Property PaymentLoan\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/loan/class/paymentloan.class.php + path: ../../../htdocs/loan/class/paymentloan.class.php - message: '#^Property PaymentLoan\:\:\$num_payment \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/loan/class/paymentloan.class.php + path: ../../../htdocs/loan/class/paymentloan.class.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/loan/payment/card.php + path: ../../../htdocs/loan/payment/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/loan/payment/payment.php + path: ../../../htdocs/loan/payment/payment.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/loan/payment/payment.php + path: ../../../htdocs/loan/payment/payment.php - message: '#^Variable \$amount_capital might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/loan/payment/payment.php + path: ../../../htdocs/loan/payment/payment.php - message: '#^Variable \$amount_insurance might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/loan/payment/payment.php + path: ../../../htdocs/loan/payment/payment.php - message: '#^Variable \$amount_interest might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/loan/payment/payment.php + path: ../../../htdocs/loan/payment/payment.php - message: '#^Variable \$line_id might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/loan/payment/payment.php + path: ../../../htdocs/loan/payment/payment.php - message: '#^Variable \$sumpaid might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/loan/payment/payment.php + path: ../../../htdocs/loan/payment/payment.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/loan/schedule.php + path: ../../../htdocs/loan/schedule.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Call to function is_array\(\) with array\{\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 3 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Elseif condition is always true\.$#' identifier: elseif.alwaysTrue count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 2 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Parameter \#1 \$var of function analyseVarsForSqlAndScriptsInjection expects array\\|string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Parameter \#1 \$var of function analyseVarsForSqlAndScriptsInjection expects array\\|string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 35 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Variable \$_POST in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/main.inc.php + path: ../../../htdocs/main.inc.php - message: '#^Parameter \#1 \$array of function dol_sort_array contains unresolvable type\.$#' identifier: argument.unresolvableType count: 1 - path: ../../htdocs/margin/agentMargins.php + path: ../../../htdocs/margin/agentMargins.php - message: '#^Return type of call to function dol_sort_array contains unresolvable type\.$#' identifier: function.unresolvableReturnType count: 1 - path: ../../htdocs/margin/agentMargins.php + path: ../../../htdocs/margin/agentMargins.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/margin/agentMargins.php + path: ../../../htdocs/margin/agentMargins.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/margin/checkMargins.php + path: ../../../htdocs/margin/checkMargins.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/margin/checkMargins.php + path: ../../../htdocs/margin/checkMargins.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 2 - path: ../../htdocs/margin/customerMargins.php + path: ../../../htdocs/margin/customerMargins.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/margin/customerMargins.php + path: ../../../htdocs/margin/customerMargins.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/margin/customerMargins.php + path: ../../../htdocs/margin/customerMargins.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/margin/productMargins.php + path: ../../../htdocs/margin/productMargins.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/margin/productMargins.php + path: ../../../htdocs/margin/productMargins.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/margin/tabs/productMargins.php + path: ../../../htdocs/margin/tabs/productMargins.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/margin/tabs/productMargins.php + path: ../../../htdocs/margin/tabs/productMargins.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/margin/tabs/thirdpartyMargins.php + path: ../../../htdocs/margin/tabs/thirdpartyMargins.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/margin/tabs/thirdpartyMargins.php + path: ../../../htdocs/margin/tabs/thirdpartyMargins.php - message: '#^Variable \$dolibarr_main_db_character_set might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/master.inc.php + path: ../../../htdocs/master.inc.php - message: '#^Variable \$dolibarr_main_db_collation might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/master.inc.php + path: ../../../htdocs/master.inc.php - message: '#^Variable \$dolibarr_main_db_cryptkey might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/master.inc.php + path: ../../../htdocs/master.inc.php - message: '#^Variable \$dolibarr_main_db_encryption might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/master.inc.php + path: ../../../htdocs/master.inc.php - message: '#^Variable \$dolibarr_main_db_prefix might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/master.inc.php + path: ../../../htdocs/master.inc.php - message: '#^Variable \$dolibarr_main_db_type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/master.inc.php + path: ../../../htdocs/master.inc.php - message: '#^Variable \$dolibarr_main_limit_users might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/master.inc.php + path: ../../../htdocs/master.inc.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Call to function is_array\(\) with non\-empty\-array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Parameter \#2 \$arrayreplacement of function dolReplaceInFile expects array\, array\\|string\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 34 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 3 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$class might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$content might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$field might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$key might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$moduleobj might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$newmask in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$outputfilezip might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$proparrayofkeyval in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Variable \$realpathtoapi in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/modulebuilder/index.php + path: ../../../htdocs/modulebuilder/index.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/admin/about.php + path: ../../../htdocs/modulebuilder/template/admin/about.php - message: '#^Path in include\(\) "\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/admin/about.php + path: ../../../htdocs/modulebuilder/template/admin/about.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/admin/myobject_extrafields.php + path: ../../../htdocs/modulebuilder/template/admin/myobject_extrafields.php - message: '#^Path in include\(\) "\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/admin/myobject_extrafields.php + path: ../../../htdocs/modulebuilder/template/admin/myobject_extrafields.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/admin/setup.php + path: ../../../htdocs/modulebuilder/template/admin/setup.php - message: '#^Offset ''includedocgeneration'' on array\{label\: ''MyObject'', includerefgeneration\: 0, includedocgeneration\: 0, class\: ''MyObject''\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/modulebuilder/template/admin/setup.php + path: ../../../htdocs/modulebuilder/template/admin/setup.php - message: '#^Offset ''includerefgeneration'' on array\{label\: ''MyObject'', includerefgeneration\: 0, includedocgeneration\: 0, class\: ''MyObject''\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/modulebuilder/template/admin/setup.php + path: ../../../htdocs/modulebuilder/template/admin/setup.php - message: '#^Path in include\(\) "\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/admin/setup.php + path: ../../../htdocs/modulebuilder/template/admin/setup.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/ajax/myobject.php + path: ../../../htdocs/modulebuilder/template/ajax/myobject.php - message: '#^Path in include\(\) "\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/ajax/myobject.php + path: ../../../htdocs/modulebuilder/template/ajax/myobject.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/modulebuilder/template/class/actions_mymodule.class.php + path: ../../../htdocs/modulebuilder/template/class/actions_mymodule.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/modulebuilder/template/class/actions_mymodule.class.php + path: ../../../htdocs/modulebuilder/template/class/actions_mymodule.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/class/actions_mymodule.class.php + path: ../../../htdocs/modulebuilder/template/class/actions_mymodule.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 3 - path: ../../htdocs/modulebuilder/template/class/api_mymodule.class.php + path: ../../../htdocs/modulebuilder/template/class/api_mymodule.class.php - message: '#^Parameter \#1 \$data of method MyModuleApi\:\:_validateMyObject\(\) expects array\, list\\|null given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/modulebuilder/template/class/api_mymodule.class.php + path: ../../../htdocs/modulebuilder/template/class/api_mymodule.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/modulebuilder/template/class/api_mymodule.class.php + path: ../../../htdocs/modulebuilder/template/class/api_mymodule.class.php - message: '#^Unable to resolve the template type T in call to method MyModuleApi\:\:_cleanObjectDatas\(\)$#' identifier: argument.templateType count: 1 - path: ../../htdocs/modulebuilder/template/class/api_mymodule.class.php + path: ../../../htdocs/modulebuilder/template/class/api_mymodule.class.php - message: '#^Call to function method_exists\(\) with \$this\(MyObject\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function method_exists\(\) with \$this\(MyObject\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with \$this\(MyObject\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with \$this\(MyObject\) and ''fk_soc'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with \$this\(MyObject\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with \$this\(MyObject\) and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with \$this\(MyObject\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with MyObject and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with MyObject and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with MyObject and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with MyObject and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Call to function property_exists\(\) with MyObject and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Parameter \#1 \$params of method MyObject\:\:getTooltipContentArray\(\) expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Property CommonObject\:\:\$isextrafieldmanaged \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Property MyObject\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/modulebuilder/template/class/myobject.class.php + path: ../../../htdocs/modulebuilder/template/class/myobject.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/modMyModule.class.php + path: ../../../htdocs/modulebuilder/template/core/modules/modMyModule.class.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, MyObject given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php - message: '#^Property MyObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Property pdf_standard_myobject\:\:\$cols \(array\\) does not accept non\-empty\-array\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php + path: ../../../htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/css/mymodule.css.php + path: ../../../htdocs/modulebuilder/template/css/mymodule.css.php - message: '#^Path in include\(\) "\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/css/mymodule.css.php + path: ../../../htdocs/modulebuilder/template/css/mymodule.css.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/js/mymodule.js.php + path: ../../../htdocs/modulebuilder/template/js/mymodule.js.php - message: '#^Path in include\(\) "\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/js/mymodule.js.php + path: ../../../htdocs/modulebuilder/template/js/mymodule.js.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 4 - path: ../../htdocs/modulebuilder/template/lib/mymodule_myobject.lib.php + path: ../../../htdocs/modulebuilder/template/lib/mymodule_myobject.lib.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/mymoduleindex.php + path: ../../../htdocs/modulebuilder/template/mymoduleindex.php - message: '#^Path in include\(\) "\.\./\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/mymoduleindex.php + path: ../../../htdocs/modulebuilder/template/mymoduleindex.php - message: '#^Path in include\(\) "\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/mymoduleindex.php + path: ../../../htdocs/modulebuilder/template/mymoduleindex.php - message: '#^Call to function is_numeric\(\) with 0 will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/modulebuilder/template/myobject_agenda.php + path: ../../../htdocs/modulebuilder/template/myobject_agenda.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/myobject_agenda.php + path: ../../../htdocs/modulebuilder/template/myobject_agenda.php - message: '#^Path in include\(\) "\.\./\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_agenda.php + path: ../../../htdocs/modulebuilder/template/myobject_agenda.php - message: '#^Path in include\(\) "\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_agenda.php + path: ../../../htdocs/modulebuilder/template/myobject_agenda.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/modulebuilder/template/myobject_card.php + path: ../../../htdocs/modulebuilder/template/myobject_card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/myobject_card.php + path: ../../../htdocs/modulebuilder/template/myobject_card.php - message: '#^Path in include\(\) "\.\./\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_card.php + path: ../../../htdocs/modulebuilder/template/myobject_card.php - message: '#^Path in include\(\) "\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_card.php + path: ../../../htdocs/modulebuilder/template/myobject_card.php - message: '#^Property MyObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/modulebuilder/template/myobject_card.php + path: ../../../htdocs/modulebuilder/template/myobject_card.php - message: '#^Property MyObject\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/modulebuilder/template/myobject_card.php + path: ../../../htdocs/modulebuilder/template/myobject_card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/myobject_contact.php + path: ../../../htdocs/modulebuilder/template/myobject_contact.php - message: '#^Path in include\(\) "\.\./\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_contact.php + path: ../../../htdocs/modulebuilder/template/myobject_contact.php - message: '#^Path in include\(\) "\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_contact.php + path: ../../../htdocs/modulebuilder/template/myobject_contact.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/myobject_document.php + path: ../../../htdocs/modulebuilder/template/myobject_document.php - message: '#^Path in include\(\) "\.\./\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_document.php + path: ../../../htdocs/modulebuilder/template/myobject_document.php - message: '#^Path in include\(\) "\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_document.php + path: ../../../htdocs/modulebuilder/template/myobject_document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/modulebuilder/template/myobject_document.php + path: ../../../htdocs/modulebuilder/template/myobject_document.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 1 - path: ../../htdocs/modulebuilder/template/myobject_list.php + path: ../../../htdocs/modulebuilder/template/myobject_list.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/myobject_list.php + path: ../../../htdocs/modulebuilder/template/myobject_list.php - message: '#^Path in include\(\) "\.\./\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_list.php + path: ../../../htdocs/modulebuilder/template/myobject_list.php - message: '#^Path in include\(\) "\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_list.php + path: ../../../htdocs/modulebuilder/template/myobject_list.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/modulebuilder/template/myobject_note.php + path: ../../../htdocs/modulebuilder/template/myobject_note.php - message: '#^Path in include\(\) "\.\./\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_note.php + path: ../../../htdocs/modulebuilder/template/myobject_note.php - message: '#^Path in include\(\) "\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/myobject_note.php + path: ../../../htdocs/modulebuilder/template/myobject_note.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/modulebuilder/template/scripts/mymodule.php + path: ../../../htdocs/modulebuilder/template/scripts/mymodule.php - message: '#^Path in include\(\) "\.\./\.\./master\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/scripts/mymodule.php + path: ../../../htdocs/modulebuilder/template/scripts/mymodule.php - message: '#^Path in include\(\) "\.\./master\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/modulebuilder/template/scripts/mymodule.php + path: ../../../htdocs/modulebuilder/template/scripts/mymodule.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 3 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Method Mos\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Method Mos\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Method Mos\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Method Mos\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Method Mos\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Method Mos\:\:produceAndConsume\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Method Mos\:\:produceAndConsumeAll\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Method Mos\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 8 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Property MoLine\:\:\$fk_warehouse \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/mrp/class/api_mos.class.php + path: ../../../htdocs/mrp/class/api_mos.class.php - message: '#^Call to function method_exists\(\) with \$this\(Mo\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Call to function method_exists\(\) with \$this\(Mo\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Call to function property_exists\(\) with \$this\(Mo\) and ''qty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Call to function property_exists\(\) with \$this\(Mo\) and ''socid'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Method Mo\:\:fetchAll\(\) has parameter \$filter with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Property Mo\:\:\$fk_product \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Property Mo\:\:\$fk_warehouse \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Property Mo\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Property Mo\:\:\$mrptype \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Property Mo\:\:\$qty \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Property Mo\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Property Mo\:\:\$tpl \(array\\) does not accept array\\.$#' identifier: assign.propertyType count: 6 - path: ../../htdocs/mrp/class/mo.class.php + path: ../../../htdocs/mrp/class/mo.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/class/moline.class.php + path: ../../../htdocs/mrp/class/moline.class.php - message: '#^Variable \$badgeStatus0 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/index.php + path: ../../../htdocs/mrp/index.php - message: '#^Variable \$badgeStatus1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/index.php + path: ../../../htdocs/mrp/index.php - message: '#^Variable \$badgeStatus4 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/index.php + path: ../../../htdocs/mrp/index.php - message: '#^Variable \$badgeStatus6 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/index.php + path: ../../../htdocs/mrp/index.php - message: '#^Variable \$badgeStatus9 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/index.php + path: ../../../htdocs/mrp/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/mrp/mo_agenda.php + path: ../../../htdocs/mrp/mo_agenda.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/mrp/mo_agenda.php + path: ../../../htdocs/mrp/mo_agenda.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/mo_agenda.php + path: ../../../htdocs/mrp/mo_agenda.php - message: '#^Property Mo\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/mo_card.php + path: ../../../htdocs/mrp/mo_card.php - message: '#^Property Mo\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/mo_card.php + path: ../../../htdocs/mrp/mo_card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/mrp/mo_card.php + path: ../../../htdocs/mrp/mo_card.php - message: '#^Variable \$titlelist might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/mo_card.php + path: ../../../htdocs/mrp/mo_card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/mrp/mo_document.php + path: ../../../htdocs/mrp/mo_document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/mo_document.php + path: ../../../htdocs/mrp/mo_document.php - message: '#^Property Mo\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/mo_movements.php + path: ../../../htdocs/mrp/mo_movements.php - message: '#^Property Mo\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/mo_movements.php + path: ../../../htdocs/mrp/mo_movements.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/mrp/mo_movements.php + path: ../../../htdocs/mrp/mo_movements.php - message: '#^Variable \$movement might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/mo_movements.php + path: ../../../htdocs/mrp/mo_movements.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/mo_movements.php + path: ../../../htdocs/mrp/mo_movements.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/mrp/mo_note.php + path: ../../../htdocs/mrp/mo_note.php - message: '#^Call to function is_object\(\) with MoLine will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/mrp/mo_production.php + path: ../../../htdocs/mrp/mo_production.php - message: '#^Left side of \|\| is always true\.$#' identifier: booleanOr.leftAlwaysTrue count: 5 - path: ../../htdocs/mrp/mo_production.php + path: ../../../htdocs/mrp/mo_production.php - message: '#^Loose comparison using \=\= between ''consumeandproduceall'' and ''consumeandproduceall'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/mrp/mo_production.php + path: ../../../htdocs/mrp/mo_production.php - message: '#^Property Mo\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/mo_production.php + path: ../../../htdocs/mrp/mo_production.php - message: '#^Property Mo\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/mrp/mo_production.php + path: ../../../htdocs/mrp/mo_production.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 2 - path: ../../htdocs/mrp/mo_production.php + path: ../../../htdocs/mrp/mo_production.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/mrp/mo_production.php + path: ../../../htdocs/mrp/mo_production.php - message: '#^Variable \$extrafields in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/mrp/mo_production.php + path: ../../../htdocs/mrp/mo_production.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/mrp/mo_production.php + path: ../../../htdocs/mrp/mo_production.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/mrp/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/mrp/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/mrp/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/mrp/tpl/linkedobjectblock.tpl.php - message: '#^Method MultiCurrencies\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/multicurrency/class/api_multicurrencies.class.php + path: ../../../htdocs/multicurrency/class/api_multicurrencies.class.php - message: '#^Method MultiCurrencies\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/multicurrency/class/api_multicurrencies.class.php + path: ../../../htdocs/multicurrency/class/api_multicurrencies.class.php - message: '#^Method MultiCurrencies\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/multicurrency/class/api_multicurrencies.class.php + path: ../../../htdocs/multicurrency/class/api_multicurrencies.class.php - message: '#^Method MultiCurrencies\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/multicurrency/class/api_multicurrencies.class.php + path: ../../../htdocs/multicurrency/class/api_multicurrencies.class.php - message: '#^Method MultiCurrencies\:\:updateRate\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/multicurrency/class/api_multicurrencies.class.php + path: ../../../htdocs/multicurrency/class/api_multicurrencies.class.php - message: '#^Parameter \#1 \$object of method MultiCurrencies\:\:_cleanObjectDatasRate\(\) expects MultiCurrency, CurrencyRate given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/multicurrency/class/api_multicurrencies.class.php + path: ../../../htdocs/multicurrency/class/api_multicurrencies.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 3 - path: ../../htdocs/multicurrency/multicurrency_rate.php + path: ../../../htdocs/multicurrency/multicurrency_rate.php - message: '#^Variable \$arrayofmassactions might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/multicurrency/multicurrency_rate.php + path: ../../../htdocs/multicurrency/multicurrency_rate.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 1 - path: ../../htdocs/opcachepreload.php + path: ../../../htdocs/opcachepreload.php - message: '#^Parameter \#4 \$month of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/opensurvey/card.php + path: ../../../htdocs/opensurvey/card.php - message: '#^Parameter \#5 \$day of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/opensurvey/card.php + path: ../../../htdocs/opensurvey/card.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/opensurvey/card.php + path: ../../../htdocs/opensurvey/card.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/opensurvey/card.php + path: ../../../htdocs/opensurvey/card.php - message: '#^Variable \$userstatic might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/opensurvey/card.php + path: ../../../htdocs/opensurvey/card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Method Opensurveysondage\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Property Opensurveysondage\:\:\$description \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Property Opensurveysondage\:\:\$format \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Property Opensurveysondage\:\:\$id_sondage \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Property Opensurveysondage\:\:\$mail_admin \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Property Opensurveysondage\:\:\$mailsonde \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Property Opensurveysondage\:\:\$nom_admin \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Property Opensurveysondage\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Property Opensurveysondage\:\:\$title \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/opensurvey/class/opensurveysondage.class.php + path: ../../../htdocs/opensurvey/class/opensurveysondage.class.php - message: '#^Offset int\<0, max\> on array\, int\<0, max\>\> in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/opensurvey/results.php + path: ../../../htdocs/opensurvey/results.php - message: '#^Variable \$cleinsertion might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/opensurvey/results.php + path: ../../../htdocs/opensurvey/results.php - message: '#^Variable \$erreur_ajout_date in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/opensurvey/results.php + path: ../../../htdocs/opensurvey/results.php - message: '#^Variable \$expiredate might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/opensurvey/results.php + path: ../../../htdocs/opensurvey/results.php - message: '#^Variable \$meilleurecolonne might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/opensurvey/results.php + path: ../../../htdocs/opensurvey/results.php - message: '#^Variable \$modifier might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/opensurvey/results.php + path: ../../../htdocs/opensurvey/results.php - message: '#^Variable \$userstatic might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/opensurvey/results.php + path: ../../../htdocs/opensurvey/results.php - message: '#^Variable \$allow_comments might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/opensurvey/wizard/create_survey.php + path: ../../../htdocs/opensurvey/wizard/create_survey.php - message: '#^Variable \$allow_spy might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/opensurvey/wizard/create_survey.php + path: ../../../htdocs/opensurvey/wizard/create_survey.php - message: '#^Variable \$champdatefin might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/opensurvey/wizard/create_survey.php + path: ../../../htdocs/opensurvey/wizard/create_survey.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 3 - path: ../../htdocs/partnership/class/api_partnerships.class.php + path: ../../../htdocs/partnership/class/api_partnerships.class.php - message: '#^Method Partnerships\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/partnership/class/api_partnerships.class.php + path: ../../../htdocs/partnership/class/api_partnerships.class.php - message: '#^Method Partnerships\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/partnership/class/api_partnerships.class.php + path: ../../../htdocs/partnership/class/api_partnerships.class.php - message: '#^Method Partnerships\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/partnership/class/api_partnerships.class.php + path: ../../../htdocs/partnership/class/api_partnerships.class.php - message: '#^Method Partnerships\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/partnership/class/api_partnerships.class.php + path: ../../../htdocs/partnership/class/api_partnerships.class.php - message: '#^Method Partnerships\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/partnership/class/api_partnerships.class.php + path: ../../../htdocs/partnership/class/api_partnerships.class.php - message: '#^Method Partnerships\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/partnership/class/api_partnerships.class.php + path: ../../../htdocs/partnership/class/api_partnerships.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/partnership/class/api_partnerships.class.php + path: ../../../htdocs/partnership/class/api_partnerships.class.php - message: '#^Call to function method_exists\(\) with \$this\(Partnership\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Call to function method_exists\(\) with \$this\(Partnership\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Call to function property_exists\(\) with \$this\(Partnership\) and ''fk_soc'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Call to function property_exists\(\) with \$this\(Partnership\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Call to function property_exists\(\) with Partnership and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Call to function property_exists\(\) with Partnership and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Call to function property_exists\(\) with Partnership and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Call to function property_exists\(\) with Partnership and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Property Partnership\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/partnership/class/partnership.class.php + path: ../../../htdocs/partnership/class/partnership.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/partnership/class/partnership_type.class.php + path: ../../../htdocs/partnership/class/partnership_type.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/partnership/class/partnership_type.class.php + path: ../../../htdocs/partnership/class/partnership_type.class.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 2 - path: ../../htdocs/partnership/class/partnership_type.class.php + path: ../../../htdocs/partnership/class/partnership_type.class.php - message: '#^Variable \$url in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/partnership/class/partnership_type.class.php + path: ../../../htdocs/partnership/class/partnership_type.class.php - message: '#^Call to function is_array\(\) with array\{\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/partnership/class/partnershiputils.class.php + path: ../../../htdocs/partnership/class/partnershiputils.class.php - message: '#^Call to function is_object\(\) with Partnership will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/partnership/class/partnershiputils.class.php + path: ../../../htdocs/partnership/class/partnershiputils.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/partnership/class/partnershiputils.class.php + path: ../../../htdocs/partnership/class/partnershiputils.class.php - message: '#^Variable \$triggersendname in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/partnership/class/partnershiputils.class.php + path: ../../../htdocs/partnership/class/partnershiputils.class.php - message: '#^Property mod_partnership_standard\:\:\$prefix has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/partnership/core/modules/partnership/mod_partnership_standard.php + path: ../../../htdocs/partnership/core/modules/partnership/mod_partnership_standard.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/partnership/partnership_card.php + path: ../../../htdocs/partnership/partnership_card.php - message: '#^Property Partnership\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/partnership/partnership_card.php + path: ../../../htdocs/partnership/partnership_card.php - message: '#^Property Partnership\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/partnership/partnership_card.php + path: ../../../htdocs/partnership/partnership_card.php - message: '#^Variable \$adht might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/partnership/partnership_card.php + path: ../../../htdocs/partnership/partnership_card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/partnership/partnership_card.php + path: ../../../htdocs/partnership/partnership_card.php - message: '#^Variable \$soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/partnership/partnership_card.php + path: ../../../htdocs/partnership/partnership_card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/partnership/partnership_list.php + path: ../../../htdocs/partnership/partnership_list.php - message: '#^Offset ''searchall'' on array\{type\: ''integer'', label\: ''Country'', enabled\: 1, position\: 51, notnull\: 0, visible\: 1, alwayseditable\: 1, css\: ''maxwidth500…'', \.\.\.\}\|array\{type\: ''varchar\(128\)'', label\: ''Town'', enabled\: 1, position\: 51, notnull\: 0, visible\: 1, alwayseditable\: 1, searchall\: 1\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/partnership/partnership_list.php + path: ../../../htdocs/partnership/partnership_list.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/partnership/partnership_list.php + path: ../../../htdocs/partnership/partnership_list.php - message: '#^Variable \$IBS_DEVISE in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/paybox/lib/paybox.lib.php + path: ../../../htdocs/paybox/lib/paybox.lib.php - message: '#^Variable \$IBS_RANG in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/paybox/lib/paybox.lib.php + path: ../../../htdocs/paybox/lib/paybox.lib.php - message: '#^Variable \$IBS_SITE in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/paybox/lib/paybox.lib.php + path: ../../../htdocs/paybox/lib/paybox.lib.php - message: '#^Comparison operation "\<" between \-1 and 0 is always true\.$#' identifier: smaller.alwaysTrue count: 1 - path: ../../htdocs/paypal/lib/paypal.lib.php + path: ../../../htdocs/paypal/lib/paypal.lib.php - message: '#^Parameter \#3 \$value of function curl_setopt expects 0\|2, bool given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/paypal/lib/paypal.lib.php + path: ../../../htdocs/paypal/lib/paypal.lib.php - message: '#^Parameter \#3 \$value of function curl_setopt expects bool, int given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/paypal/lib/paypal.lib.php + path: ../../../htdocs/paypal/lib/paypal.lib.php - message: '#^Variable \$paypalprefix in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/paypal/lib/paypal.lib.php + path: ../../../htdocs/paypal/lib/paypal.lib.php - message: '#^Variable \$classfile might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/printing/admin/printing.php + path: ../../../htdocs/printing/admin/printing.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 1 - path: ../../htdocs/product/admin/price_rules.php + path: ../../../htdocs/product/admin/price_rules.php - message: '#^Strict comparison using \=\=\= between ''0'' and ''0'' will always evaluate to true\.$#' identifier: identical.alwaysTrue count: 1 - path: ../../htdocs/product/admin/price_rules.php + path: ../../../htdocs/product/admin/price_rules.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/product/admin/product.php + path: ../../../htdocs/product/admin/product.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/admin/product.php + path: ../../../htdocs/product/admin/product.php - message: '#^Variable \$obj might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/product/admin/product.php + path: ../../../htdocs/product/admin/product.php - message: '#^Comparison operation "\<" between 0 and 0 is always false\.$#' identifier: smaller.alwaysFalse count: 1 - path: ../../htdocs/product/admin/product_tools.php + path: ../../../htdocs/product/admin/product_tools.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/admin/product_tools.php + path: ../../../htdocs/product/admin/product_tools.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 1 - path: ../../htdocs/product/admin/product_tools.php + path: ../../../htdocs/product/admin/product_tools.php - message: '#^Variable \$price_base_type in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/admin/product_tools.php + path: ../../../htdocs/product/admin/product_tools.php - message: '#^Property ActionsCardProduct\:\:\$field_list has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/product/canvas/product/actions_card_product.class.php + path: ../../../htdocs/product/canvas/product/actions_card_product.class.php - message: '#^Property ActionsCardService\:\:\$field_list has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/product/canvas/service/actions_card_service.class.php + path: ../../../htdocs/product/canvas/service/actions_card_service.class.php - message: '#^Property ActionsCardService\:\:\$tpl has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/product/canvas/service/actions_card_service.class.php + path: ../../../htdocs/product/canvas/service/actions_card_service.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/product/card.php + path: ../../../htdocs/product/card.php - message: '#^Variable \$modCodeProduct might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/card.php + path: ../../../htdocs/product/card.php - message: '#^Variable \$prod might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/card.php + path: ../../../htdocs/product/card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:addPurchasePrice\(\) has parameter \$localtaxes_array with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:addVariant\(\) has parameter \$features with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:addVariantByProductRef\(\) has parameter \$features with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getAttributeValueById\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getAttributeValueByRef\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getAttributeValues\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getAttributeValuesByRef\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getAttributes\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getAttributesByRef\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getAttributesByRefExt\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getSubproducts\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getSupplierProducts\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getVariants\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:getVariantsByProdRef\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:putAttributeValue\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:putAttributes\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Method Products\:\:putVariant\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Parameter \#1 \$object of method Products\:\:_cleanObjectDatas\(\) expects object, array\\|int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Property Products\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/api_products.class.php + path: ../../../htdocs/product/class/api_products.class.php - message: '#^Strict comparison using \=\=\= between 2 and 2 will always evaluate to true\.$#' identifier: identical.alwaysTrue count: 1 - path: ../../htdocs/product/class/html.formproduct.class.php + path: ../../../htdocs/product/class/html.formproduct.class.php - message: '#^Call to function method_exists\(\) with \$this\(Product\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Call to function method_exists\(\) with \$this\(Product\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Call to function property_exists\(\) with \$this\(Product\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Call to function property_exists\(\) with \$this\(Product\) and ''price'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Call to function property_exists\(\) with \$this\(Product\) and ''price_ttc'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Call to function property_exists\(\) with \$this\(Product\) and ''stock_reel'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Comparison operation "\>\=" between 0 and 0 is always true\.$#' identifier: greaterOrEqual.alwaysTrue count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Loose comparison using \=\= between 1 and 1 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Method Product\:\:_get_stats\(\) should return \-1\|array\, array\\> but returns non\-empty\-array\, array\{string, \(float\|int\)\}\>\.$#' identifier: return.type count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Property Product\:\:\$accountancy_code_buy \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Property Product\:\:\$accountancy_code_sell \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Property Product\:\:\$desiredstock \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Property Product\:\:\$fk_default_bom \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Property Product\:\:\$seuil_stock_alerte \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Property Product\:\:\$sousprods \(array\\>\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Property Product\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Property Product\:\:\$status_buy \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/product/class/product.class.php + path: ../../../htdocs/product/class/product.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/class/productbatch.class.php + path: ../../../htdocs/product/class/productbatch.class.php - message: '#^Property Productbatch\:\:\$batch \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/product/class/productbatch.class.php + path: ../../../htdocs/product/class/productbatch.class.php - message: '#^Property Productbatch\:\:\$eatby \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/productbatch.class.php + path: ../../../htdocs/product/class/productbatch.class.php - message: '#^Property Productbatch\:\:\$qty \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/product/class/productbatch.class.php + path: ../../../htdocs/product/class/productbatch.class.php - message: '#^Property Productbatch\:\:\$sellby \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/productbatch.class.php + path: ../../../htdocs/product/class/productbatch.class.php - message: '#^Loose comparison using \=\= between '''' and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 6 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$fk_product \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$fk_soc \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$fk_user \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$localtax1_tx \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$localtax2_tx \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$price \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$price_base_type \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$price_label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$price_min \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$price_min_ttc \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$price_ttc \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$recuperableonly \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$ref_customer \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Property ProductCustomerPrice\:\:\$tva_tx \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/productcustomerprice.class.php + path: ../../../htdocs/product/class/productcustomerprice.class.php - message: '#^Call to function property_exists\(\) with ProductFournisseurPrice and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/productfournisseurprice.class.php + path: ../../../htdocs/product/class/productfournisseurprice.class.php - message: '#^Call to function property_exists\(\) with ProductFournisseurPrice and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/productfournisseurprice.class.php + path: ../../../htdocs/product/class/productfournisseurprice.class.php - message: '#^Call to function property_exists\(\) with ProductFournisseurPrice and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/productfournisseurprice.class.php + path: ../../../htdocs/product/class/productfournisseurprice.class.php - message: '#^Call to function property_exists\(\) with ProductFournisseurPrice and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/class/productfournisseurprice.class.php + path: ../../../htdocs/product/class/productfournisseurprice.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/product/class/productfournisseurprice.class.php + path: ../../../htdocs/product/class/productfournisseurprice.class.php - message: '#^Method ProductFournisseurPrice\:\:fetchAll\(\) has parameter \$filter with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/productfournisseurprice.class.php + path: ../../../htdocs/product/class/productfournisseurprice.class.php - message: '#^Method ProductFournisseurPrice\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/class/productfournisseurprice.class.php + path: ../../../htdocs/product/class/productfournisseurprice.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/class/productfournisseurprice.class.php + path: ../../../htdocs/product/class/productfournisseurprice.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/productfournisseurprice.class.php + path: ../../../htdocs/product/class/productfournisseurprice.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/product/class/propalmergepdfproduct.class.php + path: ../../../htdocs/product/class/propalmergepdfproduct.class.php - message: '#^Property Propalmergepdfproduct\:\:\$file_name \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/propalmergepdfproduct.class.php + path: ../../../htdocs/product/class/propalmergepdfproduct.class.php - message: '#^Property Propalmergepdfproduct\:\:\$fk_product \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/propalmergepdfproduct.class.php + path: ../../../htdocs/product/class/propalmergepdfproduct.class.php - message: '#^Property Propalmergepdfproduct\:\:\$fk_user_author \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/class/propalmergepdfproduct.class.php + path: ../../../htdocs/product/class/propalmergepdfproduct.class.php - message: '#^Property Propalmergepdfproduct\:\:\$fk_user_mod \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/product/class/propalmergepdfproduct.class.php + path: ../../../htdocs/product/class/propalmergepdfproduct.class.php - message: '#^Property Propalmergepdfproduct\:\:\$lang \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/class/propalmergepdfproduct.class.php + path: ../../../htdocs/product/class/propalmergepdfproduct.class.php - message: '#^Variable \$i might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/composition/card.php + path: ../../../htdocs/product/composition/card.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/composition/card.php + path: ../../../htdocs/product/composition/card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/product/document.php + path: ../../../htdocs/product/document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/document.php + path: ../../../htdocs/product/document.php - message: '#^Variable \$upload_dirold might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/document.php + path: ../../../htdocs/product/document.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/dynamic_price/class/price_expression.class.php + path: ../../../htdocs/product/dynamic_price/class/price_expression.class.php - message: '#^Property PriceExpression\:\:\$expression \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/dynamic_price/class/price_expression.class.php + path: ../../../htdocs/product/dynamic_price/class/price_expression.class.php - message: '#^Property PriceExpression\:\:\$title \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/dynamic_price/class/price_expression.class.php + path: ../../../htdocs/product/dynamic_price/class/price_expression.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/dynamic_price/class/price_global_variable.class.php + path: ../../../htdocs/product/dynamic_price/class/price_global_variable.class.php - message: '#^Property PriceGlobalVariable\:\:\$description \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/product/dynamic_price/class/price_global_variable.class.php + path: ../../../htdocs/product/dynamic_price/class/price_global_variable.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/dynamic_price/class/price_global_variable_updater.class.php + path: ../../../htdocs/product/dynamic_price/class/price_global_variable_updater.class.php - message: '#^Property PriceGlobalVariableUpdater\:\:\$description \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/product/dynamic_price/class/price_global_variable_updater.class.php + path: ../../../htdocs/product/dynamic_price/class/price_global_variable_updater.class.php - message: '#^Property PriceExpression\:\:\$expression \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/dynamic_price/editor.php + path: ../../../htdocs/product/dynamic_price/editor.php - message: '#^Variable \$lastmodified might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/index.php + path: ../../../htdocs/product/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/product/inventory/card.php + path: ../../../htdocs/product/inventory/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/inventory/card.php + path: ../../../htdocs/product/inventory/card.php - message: '#^Property Inventory\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/product/inventory/card.php + path: ../../../htdocs/product/inventory/card.php - message: '#^Variable \$backtopageforcancel might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/inventory/card.php + path: ../../../htdocs/product/inventory/card.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/inventory/card.php + path: ../../../htdocs/product/inventory/card.php - message: '#^Call to function method_exists\(\) with \$this\(Inventory\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/inventory/class/inventory.class.php + path: ../../../htdocs/product/inventory/class/inventory.class.php - message: '#^Call to function method_exists\(\) with \$this\(Inventory\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/inventory/class/inventory.class.php + path: ../../../htdocs/product/inventory/class/inventory.class.php - message: '#^Variable \$error in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/inventory/inventory.php + path: ../../../htdocs/product/inventory/inventory.php - message: '#^Offset ''help'' on array\{label\: string, checked\: string, enabled\?\: string, type\?\: string, langfile\?\: string\} in empty\(\) does not exist\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/product/list.php + path: ../../../htdocs/product/list.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/product/list.php + path: ../../../htdocs/product/list.php - message: '#^Variable \$perm might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/list.php + path: ../../../htdocs/product/list.php - message: '#^Variable \$workstation_static might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/product/list.php + path: ../../../htdocs/product/list.php - message: '#^Loose comparison using \=\= between ''add_customer_price'' and ''add_customer_price'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Loose comparison using \=\= between ''edit_customer_price'' and ''edit_price'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Loose comparison using \=\= between ''edit_level_price'' and ''edit_level_price'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Loose comparison using \=\= between ''edit_price'' and ''edit_price'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Parameter \#4 \$txtva of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 1 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 8 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$extrafield_values might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$i might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$ii might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$lineid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$maxpricesupplier might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$obj might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$rowid might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Variable \$soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/price.php + path: ../../../htdocs/product/price.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/product/price_suppliers.php + path: ../../../htdocs/product/price_suppliers.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/price_suppliers.php + path: ../../../htdocs/product/price_suppliers.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/price_suppliers.php + path: ../../../htdocs/product/price_suppliers.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/product/reassort.php + path: ../../../htdocs/product/reassort.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/reassort.php + path: ../../../htdocs/product/reassort.php - message: '#^Comparison operation "\<" between null and 0 is always false\.$#' identifier: smaller.alwaysFalse count: 1 - path: ../../htdocs/product/reassortlot.php + path: ../../../htdocs/product/reassortlot.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/product/reassortlot.php + path: ../../../htdocs/product/reassortlot.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/reassortlot.php + path: ../../../htdocs/product/reassortlot.php - message: '#^Variable \$extrafields might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/reassortlot.php + path: ../../../htdocs/product/reassortlot.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/reassortlot.php + path: ../../../htdocs/product/reassortlot.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/bom.php + path: ../../../htdocs/product/stats/bom.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/bom.php + path: ../../../htdocs/product/stats/bom.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 2 - path: ../../htdocs/product/stats/card.php + path: ../../../htdocs/product/stats/card.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/commande.php + path: ../../../htdocs/product/stats/commande.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/commande.php + path: ../../../htdocs/product/stats/commande.php - message: '#^Variable \$param might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stats/commande_fournisseur.php + path: ../../../htdocs/product/stats/commande_fournisseur.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/commande_fournisseur.php + path: ../../../htdocs/product/stats/commande_fournisseur.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/commande_fournisseur.php + path: ../../../htdocs/product/stats/commande_fournisseur.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/product/stats/contrat.php + path: ../../../htdocs/product/stats/contrat.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/contrat.php + path: ../../../htdocs/product/stats/contrat.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/contrat.php + path: ../../../htdocs/product/stats/contrat.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/expedition.php + path: ../../../htdocs/product/stats/expedition.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/expedition.php + path: ../../../htdocs/product/stats/expedition.php - message: '#^Variable \$param might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stats/facture.php + path: ../../../htdocs/product/stats/facture.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/facture.php + path: ../../../htdocs/product/stats/facture.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/facture.php + path: ../../../htdocs/product/stats/facture.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/facture_fournisseur.php + path: ../../../htdocs/product/stats/facture_fournisseur.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/facture_fournisseur.php + path: ../../../htdocs/product/stats/facture_fournisseur.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/facturerec.php + path: ../../../htdocs/product/stats/facturerec.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/facturerec.php + path: ../../../htdocs/product/stats/facturerec.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/propal.php + path: ../../../htdocs/product/stats/propal.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/propal.php + path: ../../../htdocs/product/stats/propal.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/reception.php + path: ../../../htdocs/product/stats/reception.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/reception.php + path: ../../../htdocs/product/stats/reception.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/supplier_proposal.php + path: ../../../htdocs/product/stats/supplier_proposal.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stats/supplier_proposal.php + path: ../../../htdocs/product/stats/supplier_proposal.php - message: '#^Variable \$formproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/card.php + path: ../../../htdocs/product/stock/card.php - message: '#^Variable \$lastmovementdate might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/card.php + path: ../../../htdocs/product/stock/card.php - message: '#^Variable \$pricemin might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/card.php + path: ../../../htdocs/product/stock/card.php - message: '#^Method StockMovements\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/class/api_stockmovements.class.php + path: ../../../htdocs/product/stock/class/api_stockmovements.class.php - message: '#^Property StockMovements\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/class/api_stockmovements.class.php + path: ../../../htdocs/product/stock/class/api_stockmovements.class.php - message: '#^Method Warehouses\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/class/api_warehouses.class.php + path: ../../../htdocs/product/stock/class/api_warehouses.class.php - message: '#^Method Warehouses\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/class/api_warehouses.class.php + path: ../../../htdocs/product/stock/class/api_warehouses.class.php - message: '#^Method Warehouses\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/class/api_warehouses.class.php + path: ../../../htdocs/product/stock/class/api_warehouses.class.php - message: '#^Method Warehouses\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/class/api_warehouses.class.php + path: ../../../htdocs/product/stock/class/api_warehouses.class.php - message: '#^Method Warehouses\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/class/api_warehouses.class.php + path: ../../../htdocs/product/stock/class/api_warehouses.class.php - message: '#^Method Warehouses\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/class/api_warehouses.class.php + path: ../../../htdocs/product/stock/class/api_warehouses.class.php - message: '#^Property Warehouses\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/class/api_warehouses.class.php + path: ../../../htdocs/product/stock/class/api_warehouses.class.php - message: '#^Call to function method_exists\(\) with \$this\(Entrepot\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/stock/class/entrepot.class.php + path: ../../../htdocs/product/stock/class/entrepot.class.php - message: '#^Call to function method_exists\(\) with \$this\(Entrepot\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/stock/class/entrepot.class.php + path: ../../../htdocs/product/stock/class/entrepot.class.php - message: '#^Call to function property_exists\(\) with \$this\(Entrepot\) and ''lieu'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/stock/class/entrepot.class.php + path: ../../../htdocs/product/stock/class/entrepot.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/product/stock/class/entrepot.class.php + path: ../../../htdocs/product/stock/class/entrepot.class.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/stock/class/mouvementstock.class.php + path: ../../../htdocs/product/stock/class/mouvementstock.class.php - message: '#^Variable \$fk_product_stock might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/stock/class/mouvementstock.class.php + path: ../../../htdocs/product/stock/class/mouvementstock.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$batch \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$eatby \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$eol_date \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$fk_product \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$fk_user_creat \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$import_key \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$manufacturing_date \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$scrapping_date \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Property Productlot\:\:\$sellby \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/product/stock/class/productlot.class.php + path: ../../../htdocs/product/stock/class/productlot.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/stock/class/productstockentrepot.class.php + path: ../../../htdocs/product/stock/class/productstockentrepot.class.php - message: '#^Property ProductStockEntrepot\:\:\$fk_entrepot \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/stock/class/productstockentrepot.class.php + path: ../../../htdocs/product/stock/class/productstockentrepot.class.php - message: '#^Property ProductStockEntrepot\:\:\$fk_product \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/stock/class/productstockentrepot.class.php + path: ../../../htdocs/product/stock/class/productstockentrepot.class.php - message: '#^Property ProductStockEntrepot\:\:\$import_key \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/product/stock/class/productstockentrepot.class.php + path: ../../../htdocs/product/stock/class/productstockentrepot.class.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/stock/info.php + path: ../../../htdocs/product/stock/info.php - message: '#^Variable \$formproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/info.php + path: ../../../htdocs/product/stock/info.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/info.php + path: ../../../htdocs/product/stock/info.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/product/stock/list.php + path: ../../../htdocs/product/stock/list.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/product/stock/list.php + path: ../../../htdocs/product/stock/list.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/product/stock/list.php + path: ../../../htdocs/product/stock/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/product/stock/list.php + path: ../../../htdocs/product/stock/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stock/list.php + path: ../../../htdocs/product/stock/list.php - message: '#^Variable \$sall might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/list.php + path: ../../../htdocs/product/stock/list.php - message: '#^Variable \$totalnboflines might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/list.php + path: ../../../htdocs/product/stock/list.php - message: '#^Comparison operation "\<" between 0 and 0 is always false\.$#' identifier: smaller.alwaysFalse count: 1 - path: ../../htdocs/product/stock/massstockmove.php + path: ../../../htdocs/product/stock/massstockmove.php - message: '#^Comparison operation "\<\=" between 0 and 0 is always true\.$#' identifier: smallerOrEqual.alwaysTrue count: 2 - path: ../../htdocs/product/stock/massstockmove.php + path: ../../../htdocs/product/stock/massstockmove.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/product/stock/massstockmove.php + path: ../../../htdocs/product/stock/massstockmove.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/product/stock/massstockmove.php + path: ../../../htdocs/product/stock/massstockmove.php - message: '#^Variable \$datatoimport might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/massstockmove.php + path: ../../../htdocs/product/stock/massstockmove.php - message: '#^Variable \$endatlinenb might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/massstockmove.php + path: ../../../htdocs/product/stock/massstockmove.php - message: '#^Variable \$excludefirstline might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/massstockmove.php + path: ../../../htdocs/product/stock/massstockmove.php - message: '#^Variable \$format might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/massstockmove.php + path: ../../../htdocs/product/stock/massstockmove.php - message: '#^Variable \$producttmp might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/massstockmove.php + path: ../../../htdocs/product/stock/massstockmove.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Property Product\:\:\$pmp \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$backtopage might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$batch might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$comref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$d_eatby might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$d_sellby might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$eatby might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$lastmovementdate might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$massaction might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$obj might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$result1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$result2 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$sall might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$sellby might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$srcwarehouseid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$toselect might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Variable \$totalarray might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_card.php + path: ../../../htdocs/product/stock/movement_card.php - message: '#^Loose comparison using \=\= between 1 and 2 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Property Product\:\:\$pmp \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Variable \$d_eatby might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Variable \$d_sellby might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Variable \$diroutputmassaction in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Variable \$idAlreadyReverse might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Variable \$listofobjectref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Variable \$month might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/movement_list.php + path: ../../../htdocs/product/stock/movement_list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Property Product\:\:\$pmp \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$batch might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$eatby might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$lastmovementdate might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$result1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$result2 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$sellby might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$sortfield might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$sortorder might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$srcwarehouseid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^Variable \$variants might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/product/stock/product.php + path: ../../../htdocs/product/stock/product.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/product/stock/productlot_card.php + path: ../../../htdocs/product/stock/productlot_card.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stock/productlot_list.php + path: ../../../htdocs/product/stock/productlot_list.php - message: '#^Variable \$draftchecked in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/product/stock/replenish.php + path: ../../../htdocs/product/stock/replenish.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/replenish.php + path: ../../../htdocs/product/stock/replenish.php - message: '#^Variable \$lastWarehouseID might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/replenish.php + path: ../../../htdocs/product/stock/replenish.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stock/replenishorders.php + path: ../../../htdocs/product/stock/replenishorders.php - message: '#^Variable \$nbofmovement might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/product/stock/stockatdate.php + path: ../../../htdocs/product/stock/stockatdate.php - message: '#^Variable \$resql might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/stockatdate.php + path: ../../../htdocs/product/stock/stockatdate.php - message: '#^Variable \$virtualstock might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/product/stock/stockatdate.php + path: ../../../htdocs/product/stock/stockatdate.php - message: '#^Call to function property_exists\(\) with \$this\(StockTransfer\) and ''socid'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php + path: ../../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php + path: ../../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php + path: ../../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php + path: ../../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php - message: '#^Property StockTransfer\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php + path: ../../../htdocs/product/stock/stocktransfer/class/stocktransfer.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/product/stock/stocktransfer/class/stocktransferline.class.php + path: ../../../htdocs/product/stock/stocktransfer/class/stocktransferline.class.php - message: '#^Method StockTransferLine\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/product/stock/stocktransfer/class/stocktransferline.class.php + path: ../../../htdocs/product/stock/stocktransfer/class/stocktransferline.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/product/stock/stocktransfer/class/stocktransferline.class.php + path: ../../../htdocs/product/stock/stocktransfer/class/stocktransferline.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/stocktransfer/class/stocktransferline.class.php + path: ../../../htdocs/product/stock/stocktransfer/class/stocktransferline.class.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_agenda.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_agenda.php - message: '#^Property StockTransfer\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_agenda.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_agenda.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_card.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_card.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_card.php - message: '#^Property StockTransfer\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_card.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_card.php - message: '#^Variable \$i might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_card.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_card.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_card.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_contact.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_contact.php - message: '#^Property StockTransfer\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_contact.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_contact.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_contact.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_contact.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_document.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_document.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/product/stock/stocktransfer/stocktransfer_list.php + path: ../../../htdocs/product/stock/stocktransfer/stocktransfer_list.php - message: '#^Variable \$extrafields might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/product/stock/tpl/extrafields_add.tpl.php + path: ../../../htdocs/product/stock/tpl/extrafields_add.tpl.php - message: '#^Parameter \#4 \$month of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/product/stock/tpl/stockcorrection.tpl.php + path: ../../../htdocs/product/stock/tpl/stockcorrection.tpl.php - message: '#^Parameter \#5 \$day of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/product/stock/tpl/stockcorrection.tpl.php + path: ../../../htdocs/product/stock/tpl/stockcorrection.tpl.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/product/stock/tpl/stockcorrection.tpl.php + path: ../../../htdocs/product/stock/tpl/stockcorrection.tpl.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/product/stock/tpl/stockcorrection.tpl.php + path: ../../../htdocs/product/stock/tpl/stockcorrection.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 9 - path: ../../htdocs/product/traduction.php + path: ../../../htdocs/product/traduction.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/projet/activity/index.php + path: ../../../htdocs/projet/activity/index.php - message: '#^Variable \$total might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/projet/activity/index.php - - - - message: '#^Variable \$userstatic might not be defined\.$#' - identifier: variable.undefined - count: 5 - path: ../../htdocs/projet/activity/index.php + path: ../../../htdocs/projet/activity/index.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Parameter \#11 \$isavailable of function projectLinesPerDay expects array\, afternoon\: int\<0, 1\>\}\>, non\-empty\-array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Parameter \#13 \$arrayfields of function projectLinesPerDay expects array\, array\\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Parameter \#4 \$month of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Parameter \#5 \$day of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Parameter \#6 \$projectsrole of function projectLinesPerDay expects string, array\\|int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Parameter \#7 \$tasksrole of function projectLinesPerDay expects string, array\\|int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 4 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Variable \$moreforfilter in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Variable \$ref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/activity/perday.php + path: ../../../htdocs/projet/activity/perday.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/projet/activity/permonth.php + path: ../../../htdocs/projet/activity/permonth.php - message: '#^Parameter \#14 \$arrayfields of function projectLinesPerMonth expects array\, array\\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/permonth.php + path: ../../../htdocs/projet/activity/permonth.php - message: '#^Parameter \#7 \$projectsrole of function projectLinesPerMonth expects string, array\\|int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/permonth.php + path: ../../../htdocs/projet/activity/permonth.php - message: '#^Parameter \#8 \$tasksrole of function projectLinesPerMonth expects string, array\\|int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/permonth.php + path: ../../../htdocs/projet/activity/permonth.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/projet/activity/permonth.php + path: ../../../htdocs/projet/activity/permonth.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 4 - path: ../../htdocs/projet/activity/permonth.php + path: ../../../htdocs/projet/activity/permonth.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/activity/permonth.php + path: ../../../htdocs/projet/activity/permonth.php - message: '#^Variable \$moreforfilter in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/activity/permonth.php + path: ../../../htdocs/projet/activity/permonth.php - message: '#^Variable \$ref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/activity/permonth.php + path: ../../../htdocs/projet/activity/permonth.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Parameter \#11 \$isavailable of function projectLinesPerWeek expects array\, afternoon\: int\<0, 1\>\}\>, non\-empty\-array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Parameter \#13 \$arrayfields of function projectLinesPerWeek expects array\, array\\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Parameter \#7 \$projectsrole of function projectLinesPerWeek expects string, array\\|int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Parameter \#8 \$tasksrole of function projectLinesPerWeek expects string, array\\|int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 4 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Variable \$moreforfilter in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Variable \$ref might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/activity/perweek.php + path: ../../../htdocs/projet/activity/perweek.php - message: '#^Variable \$res might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/admin/project.php + path: ../../../htdocs/projet/admin/project.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/agenda.php + path: ../../../htdocs/projet/agenda.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/card.php + path: ../../../htdocs/projet/card.php - message: '#^Variable \$morecss might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/card.php + path: ../../../htdocs/projet/card.php - message: '#^Parameter \#1 \$object of method Projects\:\:_cleanObjectDatas\(\) expects object, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/class/api_projects.class.php + path: ../../../htdocs/projet/class/api_projects.class.php - message: '#^Method Tasks\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Method Tasks\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Method Tasks\:\:addTimeSpent\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Method Tasks\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Method Tasks\:\:deleteTimeSpent\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Method Tasks\:\:getRoles\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Method Tasks\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Method Tasks\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Method Tasks\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Method Tasks\:\:putTimeSpent\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Parameter \#1 \$object of method Tasks\:\:_cleanObjectDatas\(\) expects object, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Parameter \#1 \$string of function dol_stringtotime expects string, DateTime given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Property Tasks\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/projet/class/api_tasks.class.php + path: ../../../htdocs/projet/class/api_tasks.class.php - message: '#^Call to function method_exists\(\) with \$this\(Project\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Call to function method_exists\(\) with \$this\(Project\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Call to function property_exists\(\) with \$this\(Project\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Loose comparison using \!\= between 0 and 0 will always evaluate to false\.$#' identifier: notEqual.alwaysFalse count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Property Project\:\:\$ip \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Property Project\:\:\$price_booth \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Property Project\:\:\$price_registration \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Property Project\:\:\$public \(int\<0, 1\>\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/projet/class/project.class.php + path: ../../../htdocs/projet/class/project.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/projet/class/projectstats.class.php + path: ../../../htdocs/projet/class/projectstats.class.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Call to function method_exists\(\) with \$this\(Task\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Call to function property_exists\(\) with \$this\(Task\) and ''duration_effective'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Left side of \|\| is always false\.$#' identifier: booleanOr.leftAlwaysFalse count: 1 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property CommonObject\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property CommonObject\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property Task\:\:\$budget_amount \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property Task\:\:\$description \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property Task\:\:\$duration_effective \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property Task\:\:\$fk_task_parent \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property Task\:\:\$label \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property Task\:\:\$planned_workload \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property Task\:\:\$progress \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Property Task\:\:\$timespent_note \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/projet/class/task.class.php + path: ../../../htdocs/projet/class/task.class.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/comment.php + path: ../../../htdocs/projet/comment.php - message: '#^Variable \$mode might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/comment.php + path: ../../../htdocs/projet/comment.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/contact.php + path: ../../../htdocs/projet/contact.php - message: '#^Variable \$formconfirmtoaddtasks might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/contact.php + path: ../../../htdocs/projet/contact.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/document.php + path: ../../../htdocs/projet/document.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/element.php + path: ../../../htdocs/projet/element.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/projet/element.php + path: ../../../htdocs/projet/element.php - message: '#^PHPDoc tag @var has invalid value \(\$loanSchedule LoanSchedule\)\: Unexpected token "\$loanSchedule", expected type at offset 20 on line 2$#' identifier: phpDoc.parseError count: 1 - path: ../../htdocs/projet/element.php + path: ../../../htdocs/projet/element.php - message: '#^Parameter \#4 \$month of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/projet/element.php + path: ../../../htdocs/projet/element.php - message: '#^Parameter \#5 \$day of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/projet/element.php + path: ../../../htdocs/projet/element.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/projet/element.php + path: ../../../htdocs/projet/element.php - message: '#^Variable \$margin in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 2 - path: ../../htdocs/projet/element.php + path: ../../../htdocs/projet/element.php - message: '#^Variable \$total_time in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../htdocs/projet/element.php + path: ../../../htdocs/projet/element.php - message: '#^Variable \$dateformat might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/ganttchart.inc.php + path: ../../../htdocs/projet/ganttchart.inc.php - message: '#^Variable \$dateformatinput might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/ganttchart.inc.php + path: ../../../htdocs/projet/ganttchart.inc.php - message: '#^Variable \$datehourformat might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/ganttchart.inc.php + path: ../../../htdocs/projet/ganttchart.inc.php - message: '#^Variable \$task_dependencies might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/projet/ganttchart.inc.php + path: ../../../htdocs/projet/ganttchart.inc.php - message: '#^Variable \$tasks might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/projet/ganttchart.inc.php + path: ../../../htdocs/projet/ganttchart.inc.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/ganttview.php + path: ../../../htdocs/projet/ganttview.php - message: '#^Variable \$param might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/ganttview.php + path: ../../../htdocs/projet/ganttview.php - message: '#^Variable \$userWrite might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/ganttview.php + path: ../../../htdocs/projet/ganttview.php - message: '#^Variable \$colorseries might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/graph_opportunities.inc.php + path: ../../../htdocs/projet/graph_opportunities.inc.php - message: '#^Variable \$mine might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/graph_opportunities.inc.php + path: ../../../htdocs/projet/graph_opportunities.inc.php - message: '#^Comparison operation "\>" between 0 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^Variable \$badgeStatus0 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^Variable \$badgeStatus1 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^Variable \$badgeStatus2 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^Variable \$badgeStatus4 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^Variable \$badgeStatus6 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^Variable \$badgeStatus9 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/index.php + path: ../../../htdocs/projet/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/projet/list.php + path: ../../../htdocs/projet/list.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/projet/list.php + path: ../../../htdocs/projet/list.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/projet/list.php + path: ../../../htdocs/projet/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/projet/list.php + path: ../../../htdocs/projet/list.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 3 - path: ../../htdocs/projet/list.php + path: ../../../htdocs/projet/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/list.php - - - - message: '#^Variable \$groupbyfield might not be defined\.$#' - identifier: variable.undefined - count: 2 - path: ../../htdocs/projet/list.php - - - - message: '#^Variable \$groupbyold might not be defined\.$#' - identifier: variable.undefined - count: 1 - path: ../../htdocs/projet/list.php - - - - message: '#^Variable \$groupbyvalue might not be defined\.$#' - identifier: variable.undefined - count: 1 - path: ../../htdocs/projet/list.php + path: ../../../htdocs/projet/list.php - message: '#^Variable \$moreforfilter in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/list.php + path: ../../../htdocs/projet/list.php - message: '#^Variable \$permissiontoadd might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/list.php + path: ../../../htdocs/projet/list.php - message: '#^Variable \$permissiontoread might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/list.php - - - - message: '#^Variable \$search_omitChildren might not be defined\.$#' - identifier: variable.undefined - count: 2 - path: ../../htdocs/projet/list.php + path: ../../../htdocs/projet/list.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/messaging.php + path: ../../../htdocs/projet/messaging.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/note.php + path: ../../../htdocs/projet/note.php - message: '#^Variable \$px2 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/stats/index.php + path: ../../../htdocs/projet/stats/index.php - message: '#^Variable \$px3 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/stats/index.php + path: ../../../htdocs/projet/stats/index.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks.php + path: ../../../htdocs/projet/tasks.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/projet/tasks.php + path: ../../../htdocs/projet/tasks.php - message: '#^Parameter \#13 \$arrayfields of function projectLinesa expects array\, array\\> given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/projet/tasks.php + path: ../../../htdocs/projet/tasks.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/projet/tasks.php + path: ../../../htdocs/projet/tasks.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/projet/tasks.php + path: ../../../htdocs/projet/tasks.php - message: '#^Variable \$massactionbutton might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/projet/tasks.php + path: ../../../htdocs/projet/tasks.php - message: '#^Variable \$permissiontodelete might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/tasks.php + path: ../../../htdocs/projet/tasks.php - message: '#^Variable \$userWrite might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/projet/tasks.php + path: ../../../htdocs/projet/tasks.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/comment.php + path: ../../../htdocs/projet/tasks/comment.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/contact.php + path: ../../../htdocs/projet/tasks/contact.php - message: '#^Call to function method_exists\(\) with Task and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/contact.php + path: ../../../htdocs/projet/tasks/contact.php - message: '#^Property Project\:\:\$budget_amount \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/tasks/contact.php + path: ../../../htdocs/projet/tasks/contact.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/projet/tasks/contact.php + path: ../../../htdocs/projet/tasks/contact.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/document.php + path: ../../../htdocs/projet/tasks/document.php - message: '#^Call to function method_exists\(\) with Task and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/document.php + path: ../../../htdocs/projet/tasks/document.php - message: '#^Property Project\:\:\$budget_amount \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/tasks/document.php + path: ../../../htdocs/projet/tasks/document.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/projet/tasks/document.php + path: ../../../htdocs/projet/tasks/document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/tasks/document.php + path: ../../../htdocs/projet/tasks/document.php - message: '#^Call to function is_object\(\) with Form will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Call to function is_object\(\) with Project will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 5 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Loose comparison using \=\= between 0 and 0 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''t\.duration_effective'' on array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''t\.planned_workload'' on array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''t\.progress'' on array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totalbilled'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totalbilledfield'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totalbudget'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totalbudget…'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totaldurationdeclar…'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totaldurationeffect…'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totalizable'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totalplannedworkload'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totaltobill'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''totaltobillfield'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Offset ''type'' on array\{nbfield\: int\<0, max\>, type\: array\{\}, val\: array\{t\.planned_workload\: \(float\|int\), t\.duration_effective\: \(float\|int\), t\.progress\: \(float\|int\), t\.budget_amount\: \(float\|int\), t\.tobill\?\: \(array\|float\|int\), t\.billed\?\: \(array\|float\|int\)\}, totalplannedworkload\: \(float\|int\), totaldurationeffective\: \(float\|int\), totaldurationdeclared\: \(float\|int\), totaltobillfield\: int\<0, max\>, totalbilledfield\: int\<0, max\>, \.\.\.\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 3 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Variable \$moreforfilter in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Variable \$searchCategoryProjectList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/projet/tasks/list.php + path: ../../../htdocs/projet/tasks/list.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/note.php + path: ../../../htdocs/projet/tasks/note.php - message: '#^Call to function method_exists\(\) with Task and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/note.php + path: ../../../htdocs/projet/tasks/note.php - message: '#^Property Project\:\:\$budget_amount \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/tasks/note.php + path: ../../../htdocs/projet/tasks/note.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/task.php + path: ../../../htdocs/projet/tasks/task.php - message: '#^Property Project\:\:\$budget_amount \(float\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/projet/tasks/task.php + path: ../../../htdocs/projet/tasks/task.php - message: '#^Call to function is_array\(\) with array\{\}\|array\{generateinvoice\?\: mixed, generateinter\?\: mixed\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/time.php + path: ../../../htdocs/projet/tasks/time.php - message: '#^Call to function method_exists\(\) with Project and ''fetchComments'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/projet/tasks/time.php + path: ../../../htdocs/projet/tasks/time.php - message: '#^Loose comparison using \=\= between ''splitline'' and ''splitline'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 5 - path: ../../htdocs/projet/tasks/time.php + path: ../../../htdocs/projet/tasks/time.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/projet/tasks/time.php + path: ../../../htdocs/projet/tasks/time.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/projet/tasks/time.php + path: ../../../htdocs/projet/tasks/time.php - message: '#^Variable \$allprojectforuser might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/projet/tasks/time.php + path: ../../../htdocs/projet/tasks/time.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/projet/tasks/time.php + path: ../../../htdocs/projet/tasks/time.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/tasks/time.php + path: ../../../htdocs/projet/tasks/time.php - message: '#^Variable \$valtoshow might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/projet/tasks/time.php + path: ../../../htdocs/projet/tasks/time.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/projet/tasks/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/projet/tasks/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/projet/tasks/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/projet/tasks/tpl/linkedobjectblock.tpl.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/agenda/agendaexport.php + path: ../../../htdocs/public/agenda/agendaexport.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/public/agenda/agendaexport.php + path: ../../../htdocs/public/agenda/agendaexport.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/public/bookcal/bookcalAjax.php + path: ../../../htdocs/public/bookcal/bookcalAjax.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 11 - path: ../../htdocs/public/bookcal/bookcalAjax.php + path: ../../../htdocs/public/bookcal/bookcalAjax.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/public/bookcal/index.php + path: ../../../htdocs/public/bookcal/index.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/bookcal/index.php + path: ../../../htdocs/public/bookcal/index.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/clicktodial/cidlookup.php + path: ../../../htdocs/public/clicktodial/cidlookup.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/cron/cron_run_jobs_by_url.php + path: ../../../htdocs/public/cron/cron_run_jobs_by_url.php - message: '#^Comparison operation "\>\=" between ''0''\|''1'' and 0 is always true\.$#' identifier: greaterOrEqual.alwaysTrue count: 1 - path: ../../htdocs/public/demo/index.php + path: ../../../htdocs/public/demo/index.php - message: '#^Offset ''disablemodules'' on array\{default\: ''0'', key\: ''profdemofun2'', label\: ''DemoFundation2'', disablemodules\: ''barcode,cashdesk…'', icon\: ''//public/demo/demo…'', url\: non\-falsy\-string, lang\: ''''\}\|array\{default\: ''0'', key\: ''profdemoprodstock'', label\: ''DemoCompanyProductA…'', disablemodules\: ''adherent,bom…'', icon\: ''//public/demo/demo…'', url\: non\-falsy\-string, lang\: ''''\}\|array\{default\: ''0'', key\: ''profmanufacture'', label\: ''DemoCompanyManufact…'', disablemodules\: ''adherent,contrat…'', icon\: ''//public/demo/demo…'', url\: non\-falsy\-string, lang\: ''''\}\|array\{default\: ''1'', key\: ''profdemoservonly'', label\: ''DemoCompanyServiceO…'', disablemodules\: ''adherent,barcode…'', icon\: ''//public/demo/demo…'', url\: non\-falsy\-string, lang\: ''''\} in empty\(\) always exists and is not falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/public/demo/index.php + path: ../../../htdocs/public/demo/index.php - message: '#^Offset ''lang'' on array\{default\: ''0'', key\: ''profdemoall'', label\: ''ChooseYourDemoProfi…'', disablemodules\: ''adherent,cashdesk…'', icon\: ''//public/demo/demo…'', lang\: ''''\}\|array\{default\: ''0'', key\: ''profdemofun2'', label\: ''DemoFundation2'', disablemodules\: ''barcode,cashdesk…'', icon\: ''//public/demo/demo…'', url\: non\-falsy\-string, lang\: ''''\}\|array\{default\: ''0'', key\: ''profdemoprodstock'', label\: ''DemoCompanyProductA…'', disablemodules\: ''adherent,bom…'', icon\: ''//public/demo/demo…'', url\: non\-falsy\-string, lang\: ''''\}\|array\{default\: ''0'', key\: ''profmanufacture'', label\: ''DemoCompanyManufact…'', disablemodules\: ''adherent,contrat…'', icon\: ''//public/demo/demo…'', url\: non\-falsy\-string, lang\: ''''\}\|array\{default\: ''1'', key\: ''profdemoservonly'', label\: ''DemoCompanyServiceO…'', disablemodules\: ''adherent,barcode…'', icon\: ''//public/demo/demo…'', url\: non\-falsy\-string, lang\: ''''\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/public/demo/index.php + path: ../../../htdocs/public/demo/index.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/public/demo/index.php + path: ../../../htdocs/public/demo/index.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/donations/donateurs_code.php + path: ../../../htdocs/public/donations/donateurs_code.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/public/donations/donateurs_code.php + path: ../../../htdocs/public/donations/donateurs_code.php - message: '#^Variable \$i might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/donations/donateurs_code.php + path: ../../../htdocs/public/donations/donateurs_code.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/public/donations/donateurs_code.php + path: ../../../htdocs/public/donations/donateurs_code.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/eventorganization/attendee_new.php + path: ../../../htdocs/public/eventorganization/attendee_new.php - message: '#^Comparison operation "\<\=" between 0 and 0 is always true\.$#' identifier: smallerOrEqual.alwaysTrue count: 1 - path: ../../htdocs/public/eventorganization/attendee_new.php + path: ../../../htdocs/public/eventorganization/attendee_new.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/public/eventorganization/attendee_new.php + path: ../../../htdocs/public/eventorganization/attendee_new.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 2 - path: ../../htdocs/public/eventorganization/attendee_new.php + path: ../../../htdocs/public/eventorganization/attendee_new.php - message: '#^Variable \$genericcompanyname in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/public/eventorganization/attendee_new.php + path: ../../../htdocs/public/eventorganization/attendee_new.php - message: '#^Variable \$tmpcode might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/eventorganization/attendee_new.php + path: ../../../htdocs/public/eventorganization/attendee_new.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/eventorganization/subscriptionok.php + path: ../../../htdocs/public/eventorganization/subscriptionok.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/public/eventorganization/subscriptionok.php + path: ../../../htdocs/public/eventorganization/subscriptionok.php - message: '#^Variable \$suffix might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/eventorganization/subscriptionok.php + path: ../../../htdocs/public/eventorganization/subscriptionok.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/fichinter/agendaexport.php + path: ../../../htdocs/public/fichinter/agendaexport.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 2 - path: ../../htdocs/public/fichinter/agendaexport.php + path: ../../../htdocs/public/fichinter/agendaexport.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/public/fichinter/agendaexport.php + path: ../../../htdocs/public/fichinter/agendaexport.php - message: '#^Loose comparison using \!\= between '''' and '''' will always evaluate to false\.$#' identifier: notEqual.alwaysFalse count: 1 - path: ../../htdocs/public/fichinter/agendaexport.php + path: ../../../htdocs/public/fichinter/agendaexport.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 2 - path: ../../htdocs/public/fichinter/agendaexport.php + path: ../../../htdocs/public/fichinter/agendaexport.php - message: '#^Variable \$title in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/public/fichinter/agendaexport.php + path: ../../../htdocs/public/fichinter/agendaexport.php - message: '#^Call to preg_quote\(\) is missing delimiter / to be effective\.$#' identifier: argument.invalidPregQuote count: 1 - path: ../../htdocs/public/members/new.php + path: ../../../htdocs/public/members/new.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/public/members/new.php + path: ../../../htdocs/public/members/new.php - message: '#^Variable \$php_self might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/members/new.php + path: ../../../htdocs/public/members/new.php - message: '#^Property Adherent\:\:\$photo \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/public/members/public_card.php + path: ../../../htdocs/public/members/public_card.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/public/members/public_card.php + path: ../../../htdocs/public/members/public_card.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 17 - path: ../../htdocs/public/members/public_card.php + path: ../../../htdocs/public/members/public_card.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/onlinesign/newonlinesign.php + path: ../../../htdocs/public/onlinesign/newonlinesign.php - message: '#^Call to function method_exists\(\) with CompanyBankAccount\|Contrat\|Expedition\|Fichinter\|Propal and ''call_trigger'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/onlinesign/newonlinesign.php + path: ../../../htdocs/public/onlinesign/newonlinesign.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/public/onlinesign/newonlinesign.php + path: ../../../htdocs/public/onlinesign/newonlinesign.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/public/onlinesign/newonlinesign.php + path: ../../../htdocs/public/onlinesign/newonlinesign.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/public/onlinesign/newonlinesign.php + path: ../../../htdocs/public/onlinesign/newonlinesign.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/public/onlinesign/newonlinesign.php + path: ../../../htdocs/public/onlinesign/newonlinesign.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/onlinesign/newonlinesign.php + path: ../../../htdocs/public/onlinesign/newonlinesign.php - message: '#^Variable \$mesg might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/onlinesign/newonlinesign.php + path: ../../../htdocs/public/onlinesign/newonlinesign.php - message: '#^Variable \$source in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/public/onlinesign/newonlinesign.php + path: ../../../htdocs/public/onlinesign/newonlinesign.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/public/opensurvey/index.php + path: ../../../htdocs/public/opensurvey/index.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/public/opensurvey/index.php + path: ../../../htdocs/public/opensurvey/index.php - message: '#^Variable \$modifier might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/opensurvey/studs.php + path: ../../../htdocs/public/opensurvey/studs.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/partnership/new.php + path: ../../../htdocs/public/partnership/new.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/public/partnership/new.php + path: ../../../htdocs/public/partnership/new.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/public/partnership/new.php + path: ../../../htdocs/public/partnership/new.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/payment/newpayment.php + path: ../../../htdocs/public/payment/newpayment.php - message: '#^Parameter \#1 \$paymentAmount of function print_paypal_redirect expects float, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/public/payment/newpayment.php + path: ../../../htdocs/public/payment/newpayment.php - message: '#^Variable \$attendee might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/public/payment/newpayment.php + path: ../../../htdocs/public/payment/newpayment.php - message: '#^Variable \$charge might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/payment/newpayment.php + path: ../../../htdocs/public/payment/newpayment.php - message: '#^Variable \$customer might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/payment/newpayment.php + path: ../../../htdocs/public/payment/newpayment.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/payment/newpayment.php + path: ../../../htdocs/public/payment/newpayment.php - message: '#^Variable \$invoice might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/payment/newpayment.php + path: ../../../htdocs/public/payment/newpayment.php - message: '#^Variable \$sessionstripe might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/payment/newpayment.php + path: ../../../htdocs/public/payment/newpayment.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/payment/paymentko.php + path: ../../../htdocs/public/payment/paymentko.php - message: '#^Call to function is_object\(\) with stdClass will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/payment/paymentko.php + path: ../../../htdocs/public/payment/paymentko.php - message: '#^Call to function is_scalar\(\) with \(int\|string\) will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/payment/paymentko.php + path: ../../../htdocs/public/payment/paymentko.php - message: '#^PHPDoc tag @var with type CommonObject is not subtype of native type stdClass\.$#' identifier: varTag.nativeType count: 1 - path: ../../htdocs/public/payment/paymentko.php + path: ../../../htdocs/public/payment/paymentko.php - message: '#^Variable \$FinalPaymentAmt might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/payment/paymentko.php + path: ../../../htdocs/public/payment/paymentko.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/payment/paymentko.php + path: ../../../htdocs/public/payment/paymentko.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/payment/paymentok.php + path: ../../../htdocs/public/payment/paymentok.php - message: '#^Call to function is_scalar\(\) with \(int\|string\) will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/public/payment/paymentok.php + path: ../../../htdocs/public/payment/paymentok.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 3 - path: ../../htdocs/public/payment/paymentok.php + path: ../../../htdocs/public/payment/paymentok.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/public/payment/paymentok.php + path: ../../../htdocs/public/payment/paymentok.php - message: '#^Variable \$autocreatethirdparty might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/payment/paymentok.php + path: ../../../htdocs/public/payment/paymentok.php - message: '#^Variable \$crowid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/payment/paymentok.php + path: ../../../htdocs/public/payment/paymentok.php - message: '#^Variable \$paymentTypeId might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/payment/paymentok.php + path: ../../../htdocs/public/payment/paymentok.php - message: '#^Variable \$service might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/public/payment/paymentok.php + path: ../../../htdocs/public/payment/paymentok.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 39 - path: ../../htdocs/public/payment/paymentok.php + path: ../../../htdocs/public/payment/paymentok.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/project/index.php + path: ../../../htdocs/public/project/index.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/public/project/index.php + path: ../../../htdocs/public/project/index.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 2 - path: ../../htdocs/public/project/index.php + path: ../../../htdocs/public/project/index.php - message: '#^Variable \$conference might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/project/index.php + path: ../../../htdocs/public/project/index.php - message: '#^Variable \$suffix might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/project/index.php + path: ../../../htdocs/public/project/index.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/project/index.php + path: ../../../htdocs/public/project/index.php - message: '#^Variable \$urllogo in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/public/project/index.php + path: ../../../htdocs/public/project/index.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/project/index.php + path: ../../../htdocs/public/project/index.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/project/new.php + path: ../../../htdocs/public/project/new.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/public/project/new.php + path: ../../../htdocs/public/project/new.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/public/project/new.php + path: ../../../htdocs/public/project/new.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/project/suggestbooth.php + path: ../../../htdocs/public/project/suggestbooth.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/public/project/suggestbooth.php + path: ../../../htdocs/public/project/suggestbooth.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 2 - path: ../../htdocs/public/project/suggestbooth.php + path: ../../../htdocs/public/project/suggestbooth.php - message: '#^Variable \$contact might not be defined\.$#' identifier: variable.undefined count: 10 - path: ../../htdocs/public/project/suggestbooth.php + path: ../../../htdocs/public/project/suggestbooth.php - message: '#^Variable \$emailcompany might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/project/suggestbooth.php + path: ../../../htdocs/public/project/suggestbooth.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/project/suggestbooth.php + path: ../../../htdocs/public/project/suggestbooth.php - message: '#^Variable \$tmpcode might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/project/suggestbooth.php + path: ../../../htdocs/public/project/suggestbooth.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 8 - path: ../../htdocs/public/project/suggestbooth.php + path: ../../../htdocs/public/project/suggestbooth.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/project/suggestconference.php + path: ../../../htdocs/public/project/suggestconference.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/public/project/suggestconference.php + path: ../../../htdocs/public/project/suggestconference.php - message: '#^Right side of \|\| is always false\.$#' identifier: booleanOr.rightAlwaysFalse count: 2 - path: ../../htdocs/public/project/suggestconference.php + path: ../../../htdocs/public/project/suggestconference.php - message: '#^Variable \$contact might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/public/project/suggestconference.php + path: ../../../htdocs/public/project/suggestconference.php - message: '#^Variable \$emailcompany might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/project/suggestconference.php + path: ../../../htdocs/public/project/suggestconference.php - message: '#^Variable \$errors might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/public/project/suggestconference.php + path: ../../../htdocs/public/project/suggestconference.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/project/suggestconference.php + path: ../../../htdocs/public/project/suggestconference.php - message: '#^Variable \$tmpcode might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/project/suggestconference.php + path: ../../../htdocs/public/project/suggestconference.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/public/project/suggestconference.php + path: ../../../htdocs/public/project/suggestconference.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/project/viewandvote.php + path: ../../../htdocs/public/project/viewandvote.php - message: '#^Variable \$suffix might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/project/viewandvote.php + path: ../../../htdocs/public/project/viewandvote.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/project/viewandvote.php + path: ../../../htdocs/public/project/viewandvote.php - message: '#^Variable \$votestatus might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/public/project/viewandvote.php + path: ../../../htdocs/public/project/viewandvote.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/public/recruitment/index.php + path: ../../../htdocs/public/recruitment/index.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/public/recruitment/index.php + path: ../../../htdocs/public/recruitment/index.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/recruitment/index.php + path: ../../../htdocs/public/recruitment/index.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/public/recruitment/view.php + path: ../../../htdocs/public/recruitment/view.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/public/recruitment/view.php + path: ../../../htdocs/public/recruitment/view.php - message: '#^Variable \$SECUREKEY might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/recruitment/view.php + path: ../../../htdocs/public/recruitment/view.php - message: '#^Variable \$backtopage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/public/recruitment/view.php + path: ../../../htdocs/public/recruitment/view.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/recruitment/view.php + path: ../../../htdocs/public/recruitment/view.php - message: '#^Variable \$entity might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/recruitment/view.php + path: ../../../htdocs/public/recruitment/view.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/recruitment/view.php + path: ../../../htdocs/public/recruitment/view.php - message: '#^Variable \$suffix might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/recruitment/view.php + path: ../../../htdocs/public/recruitment/view.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/public/recruitment/view.php + path: ../../../htdocs/public/recruitment/view.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/stripe/ipn.php + path: ../../../htdocs/public/stripe/ipn.php - message: '#^Dead catch \- Exception is never thrown in the try block\.$#' identifier: catch.neverThrown count: 1 - path: ../../htdocs/public/stripe/ipn.php + path: ../../../htdocs/public/stripe/ipn.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/public/stripe/ipn.php + path: ../../../htdocs/public/stripe/ipn.php - message: '#^Variable \$directdebitorcreditransfer_id might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/stripe/ipn.php + path: ../../../htdocs/public/stripe/ipn.php - message: '#^Variable \$error in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/public/stripe/ipn.php + path: ../../../htdocs/public/stripe/ipn.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/stripe/ipn.php + path: ../../../htdocs/public/stripe/ipn.php - message: '#^Variable \$pdid might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/stripe/ipn.php + path: ../../../htdocs/public/stripe/ipn.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$actioncode might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$filter might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$filtert might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$moreforfilter in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$param might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$status might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$usedolheader in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$usergroup might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/test/test_arrays.php + path: ../../../htdocs/public/test/test_arrays.php - message: '#^Variable \$dolibarr_main_prod might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/test/test_csrf.php + path: ../../../htdocs/public/test/test_csrf.php - message: '#^Variable \$dolibarr_main_prod might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/test/test_exec.php + path: ../../../htdocs/public/test/test_exec.php - message: '#^Variable \$dolibarr_main_prod might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/test/test_sessionlock.php + path: ../../../htdocs/public/test/test_sessionlock.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/ticket/create_ticket.php + path: ../../../htdocs/public/ticket/create_ticket.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/public/ticket/create_ticket.php + path: ../../../htdocs/public/ticket/create_ticket.php - message: '#^Parameter \#1 \$filenb of function dol_remove_file_process expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/public/ticket/create_ticket.php + path: ../../../htdocs/public/ticket/create_ticket.php - message: '#^Variable \$cid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/ticket/create_ticket.php + path: ../../../htdocs/public/ticket/create_ticket.php - message: '#^Variable \$old_MAIN_MAIL_AUTOCOPY_TO might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/ticket/create_ticket.php + path: ../../../htdocs/public/ticket/create_ticket.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/ticket/create_ticket.php + path: ../../../htdocs/public/ticket/create_ticket.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/ticket/index.php + path: ../../../htdocs/public/ticket/index.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/ticket/index.php + path: ../../../htdocs/public/ticket/index.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/ticket/list.php + path: ../../../htdocs/public/ticket/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/public/ticket/list.php + path: ../../../htdocs/public/ticket/list.php - message: '#^Variable \$i might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/ticket/list.php + path: ../../../htdocs/public/ticket/list.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/public/ticket/view.php + path: ../../../htdocs/public/ticket/view.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/public/ticket/view.php + path: ../../../htdocs/public/ticket/view.php - message: '#^Variable \$display_ticket might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/ticket/view.php + path: ../../../htdocs/public/ticket/view.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/ticket/view.php + path: ../../../htdocs/public/ticket/view.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/public/users/view.php + path: ../../../htdocs/public/users/view.php - message: '#^Variable \$backtopage in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/public/users/view.php + path: ../../../htdocs/public/users/view.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/public/users/view.php + path: ../../../htdocs/public/users/view.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 3 - path: ../../htdocs/public/webportal/tpl/footer.tpl.php + path: ../../../htdocs/public/webportal/tpl/footer.tpl.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 6 - path: ../../htdocs/public/webportal/tpl/footer.tpl.php + path: ../../../htdocs/public/webportal/tpl/footer.tpl.php - message: '#^Variable \$context might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/webportal/tpl/hero-header-banner.tpl.php + path: ../../../htdocs/public/webportal/tpl/hero-header-banner.tpl.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/public/webportal/tpl/login.tpl.php + path: ../../../htdocs/public/webportal/tpl/login.tpl.php - message: '#^Comparison operation "\>" between \-1 and 0 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/public/webportal/tpl/menu.tpl.php + path: ../../../htdocs/public/webportal/tpl/menu.tpl.php - message: '#^Parameter \#1 \$array of function uasort contains unresolvable type\.$#' identifier: argument.unresolvableType count: 2 - path: ../../htdocs/public/webportal/tpl/menu.tpl.php + path: ../../../htdocs/public/webportal/tpl/menu.tpl.php - message: '#^Parameter \#2 \$callback of function uasort contains unresolvable type\.$#' identifier: argument.unresolvableType count: 2 - path: ../../htdocs/public/webportal/tpl/menu.tpl.php + path: ../../../htdocs/public/webportal/tpl/menu.tpl.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/public/webportal/tpl/menu.tpl.php + path: ../../../htdocs/public/webportal/tpl/menu.tpl.php - message: '#^Variable \$maxTopMenu in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/public/webportal/tpl/menu.tpl.php + path: ../../../htdocs/public/webportal/tpl/menu.tpl.php - message: '#^Path in include\(\) "\.\./\.\./\.\./\.\./main\.inc\.php" is not a file or it does not exist\.$#' identifier: include.fileNotFound count: 1 - path: ../../htdocs/public/webportal/webportal.main.inc.php + path: ../../../htdocs/public/webportal/webportal.main.inc.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/public/webportal/webportal.main.inc.php + path: ../../../htdocs/public/webportal/webportal.main.inc.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/public/webportal/webportal.main.inc.php + path: ../../../htdocs/public/webportal/webportal.main.inc.php - message: '#^Variable \$hookmanager might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/public/webportal/webportal.main.inc.php + path: ../../../htdocs/public/webportal/webportal.main.inc.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 16 - path: ../../htdocs/public/webportal/webportal.main.inc.php - - - - message: '#^Variable \$logged_partnership might not be defined\.$#' - identifier: variable.undefined - count: 1 - path: ../../htdocs/public/webportal/webportal.main.inc.php + path: ../../../htdocs/public/webportal/webportal.main.inc.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/public/website/index.php + path: ../../../htdocs/public/website/index.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/public/website/index.php + path: ../../../htdocs/public/website/index.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/public/website/index.php + path: ../../../htdocs/public/website/index.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/public/website/index.php + path: ../../../htdocs/public/website/index.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/public/website/javascript.js.php + path: ../../../htdocs/public/website/javascript.js.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/public/website/javascript.js.php + path: ../../../htdocs/public/website/javascript.js.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/public/website/javascript.js.php + path: ../../../htdocs/public/website/javascript.js.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/public/website/javascript.js.php + path: ../../../htdocs/public/website/javascript.js.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/public/website/styles.css.php + path: ../../../htdocs/public/website/styles.css.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$editColspan might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$extrafields in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$line might not be defined\.$#' identifier: variable.undefined count: 40 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 6 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$originid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$outputlangs might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$reception might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$rowEnd might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$rowExtrafieldsView might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Variable \$typeobject might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/reception/card.php + path: ../../../htdocs/reception/card.php - message: '#^Call to function method_exists\(\) with \$this\(Reception\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Call to function method_exists\(\) with \$this\(Reception\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Call to function property_exists\(\) with \$this\(Reception\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 4 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property CommonObject\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property CommonObject\:\:\$shipping_method_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property Reception\:\:\$ref_supplier \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property Reception\:\:\$size_units \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property Reception\:\:\$socid \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property Reception\:\:\$tracking_number \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property Reception\:\:\$trueDepth \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property Reception\:\:\$trueHeight \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property Reception\:\:\$trueWeight \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Property Reception\:\:\$trueWidth \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/reception/class/reception.class.php + path: ../../../htdocs/reception/class/reception.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$batch \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$comment \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$cost_price \(float\|int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$datec \(int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$element_type \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$fk_element \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$fk_elementdet \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$fk_entrepot \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$fk_product \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$fk_user \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$qty \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^Property ReceptionLineBatch\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/reception/class/receptionlinebatch.class.php + path: ../../../htdocs/reception/class/receptionlinebatch.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/reception/contact.php + path: ../../../htdocs/reception/contact.php - message: '#^Variable \$mesgs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/contact.php + path: ../../../htdocs/reception/contact.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/reception/contact.php + path: ../../../htdocs/reception/contact.php - message: '#^Variable \$origin might not be defined\.$#' identifier: variable.undefined count: 7 - path: ../../htdocs/reception/contact.php + path: ../../../htdocs/reception/contact.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/reception/contact.php + path: ../../../htdocs/reception/contact.php - message: '#^Variable \$typeobject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/contact.php + path: ../../../htdocs/reception/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^Parameter \#4 \$month of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^Parameter \#5 \$day of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^Parameter \#6 \$year of function dol_mktime expects int, array\\|string given\.$#' identifier: argument.type count: 4 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^Variable \$modebatch might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^Variable \$nbproduct might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^Variable \$objectsrc might not be defined\.$#' identifier: variable.undefined count: 8 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^Variable \$origin might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^Variable \$saveprice might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^Variable \$typeobject might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/reception/dispatch.php + path: ../../../htdocs/reception/dispatch.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/reception/document.php + path: ../../../htdocs/reception/document.php - message: '#^Variable \$origin might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/document.php + path: ../../../htdocs/reception/document.php - message: '#^Call to function method_exists\(\) with Reception and ''fetch_lines'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/reception/list.php + path: ../../../htdocs/reception/list.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/reception/list.php + path: ../../../htdocs/reception/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/reception/list.php + path: ../../../htdocs/reception/list.php - message: '#^Variable \$moreforfilter in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/reception/list.php + path: ../../../htdocs/reception/list.php - message: '#^Variable \$show_files might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/list.php + path: ../../../htdocs/reception/list.php - message: '#^Variable \$soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/list.php + path: ../../../htdocs/reception/list.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/list.php + path: ../../../htdocs/reception/list.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/reception/note.php + path: ../../../htdocs/reception/note.php - message: '#^Variable \$morejs might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/reception/note.php + path: ../../../htdocs/reception/note.php - message: '#^Variable \$origin might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/reception/note.php + path: ../../../htdocs/reception/note.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/reception/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/reception/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/reception/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/reception/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/admin/public_interface.php + path: ../../../htdocs/recruitment/admin/public_interface.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 1 - path: ../../htdocs/recruitment/admin/setup.php + path: ../../../htdocs/recruitment/admin/setup.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/recruitment/admin/setup.php + path: ../../../htdocs/recruitment/admin/setup.php - message: '#^Variable \$arrayofparameters in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/recruitment/admin/setup.php + path: ../../../htdocs/recruitment/admin/setup.php - message: '#^Variable \$res might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/admin/setup.php + path: ../../../htdocs/recruitment/admin/setup.php - message: '#^Variable \$setupnotempty in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/recruitment/admin/setup.php + path: ../../../htdocs/recruitment/admin/setup.php - message: '#^Empty array passed to foreach\.$#' identifier: foreach.emptyArray count: 1 - path: ../../htdocs/recruitment/admin/setup_candidatures.php + path: ../../../htdocs/recruitment/admin/setup_candidatures.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/recruitment/admin/setup_candidatures.php + path: ../../../htdocs/recruitment/admin/setup_candidatures.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/recruitment/admin/setup_candidatures.php + path: ../../../htdocs/recruitment/admin/setup_candidatures.php - message: '#^Variable \$arrayofparameters in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/recruitment/admin/setup_candidatures.php + path: ../../../htdocs/recruitment/admin/setup_candidatures.php - message: '#^Variable \$res might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/admin/setup_candidatures.php + path: ../../../htdocs/recruitment/admin/setup_candidatures.php - message: '#^Variable \$setupnotempty in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/recruitment/admin/setup_candidatures.php + path: ../../../htdocs/recruitment/admin/setup_candidatures.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 6 - path: ../../htdocs/recruitment/class/api_recruitments.class.php + path: ../../../htdocs/recruitment/class/api_recruitments.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/recruitment/class/api_recruitments.class.php + path: ../../../htdocs/recruitment/class/api_recruitments.class.php - message: '#^Call to function method_exists\(\) with \$this\(RecruitmentCandidature\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Call to function method_exists\(\) with \$this\(RecruitmentCandidature\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Call to function property_exists\(\) with \$this\(RecruitmentCandidature\) and ''email'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Call to function property_exists\(\) with \$this\(RecruitmentCandidature\) and ''fk…'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Call to function property_exists\(\) with RecruitmentCandidature and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Call to function property_exists\(\) with RecruitmentCandidature and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Call to function property_exists\(\) with RecruitmentCandidature and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Call to function property_exists\(\) with RecruitmentCandidature and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Property RecruitmentCandidature\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/class/recruitmentcandidature.class.php + path: ../../../htdocs/recruitment/class/recruitmentcandidature.class.php - message: '#^Call to function method_exists\(\) with \$this\(RecruitmentJobPosition\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Call to function method_exists\(\) with \$this\(RecruitmentJobPosition\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Call to function property_exists\(\) with \$this\(RecruitmentJobPosition\) and ''remuneration…'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Call to function property_exists\(\) with RecruitmentJobPosition and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Call to function property_exists\(\) with RecruitmentJobPosition and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Call to function property_exists\(\) with RecruitmentJobPosition and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Call to function property_exists\(\) with RecruitmentJobPosition and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Call to function property_exists\(\) with RecruitmentJobPosition and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Method RecruitmentJobPosition\:\:getLinesArray\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Property RecruitmentJobPosition\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php + path: ../../../htdocs/recruitment/class/recruitmentjobposition.class.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\, RecruitmentJobPosition given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php + path: ../../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php - message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_object\(\) expects CommonObject, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php + path: ../../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php - message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php + path: ../../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php - message: '#^Parameter \#2 \$config of class Odf constructor expects string, array\ given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php + path: ../../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php - message: '#^Parameter \#3 \$object of function complete_substitutions_array expects CommonObject\|null, array\ given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php + path: ../../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php - message: '#^Property RecruitmentJobPosition\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php + path: ../../../htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php + path: ../../../htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php + path: ../../../htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php - message: '#^Variable \$badgeStatus0 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/recruitment/index.php + path: ../../../htdocs/recruitment/index.php - message: '#^Variable \$badgeStatus1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/index.php + path: ../../../htdocs/recruitment/index.php - message: '#^Variable \$badgeStatus4 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/recruitment/index.php + path: ../../../htdocs/recruitment/index.php - message: '#^Variable \$badgeStatus5 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/index.php + path: ../../../htdocs/recruitment/index.php - message: '#^Variable \$badgeStatus6 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/index.php + path: ../../../htdocs/recruitment/index.php - message: '#^Variable \$badgeStatus9 might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/recruitment/index.php + path: ../../../htdocs/recruitment/index.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_card.php + path: ../../../htdocs/recruitment/recruitmentcandidature_card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/recruitment/recruitmentcandidature_card.php + path: ../../../htdocs/recruitment/recruitmentcandidature_card.php - message: '#^Property RecruitmentCandidature\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_card.php + path: ../../../htdocs/recruitment/recruitmentcandidature_card.php - message: '#^Property RecruitmentCandidature\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_card.php + path: ../../../htdocs/recruitment/recruitmentcandidature_card.php - message: '#^Variable \$formquestion might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_card.php + path: ../../../htdocs/recruitment/recruitmentcandidature_card.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_card.php + path: ../../../htdocs/recruitment/recruitmentcandidature_card.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_document.php + path: ../../../htdocs/recruitment/recruitmentcandidature_document.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_list.php + path: ../../../htdocs/recruitment/recruitmentcandidature_list.php - message: '#^Variable \$formproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_list.php + path: ../../../htdocs/recruitment/recruitmentcandidature_list.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_list.php + path: ../../../htdocs/recruitment/recruitmentcandidature_list.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentcandidature_list.php + path: ../../../htdocs/recruitment/recruitmentcandidature_list.php - message: '#^Variable \$formproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_agenda.php + path: ../../../htdocs/recruitment/recruitmentjobposition_agenda.php - message: '#^Property RecruitmentJobPosition\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_applications.php + path: ../../../htdocs/recruitment/recruitmentjobposition_applications.php - message: '#^Property RecruitmentJobPosition\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_applications.php + path: ../../../htdocs/recruitment/recruitmentjobposition_applications.php - message: '#^Variable \$lineid might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/recruitment/recruitmentjobposition_applications.php + path: ../../../htdocs/recruitment/recruitmentjobposition_applications.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_applications.php + path: ../../../htdocs/recruitment/recruitmentjobposition_applications.php - message: '#^Variable \$text might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_applications.php + path: ../../../htdocs/recruitment/recruitmentjobposition_applications.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_card.php + path: ../../../htdocs/recruitment/recruitmentjobposition_card.php - message: '#^Property RecruitmentJobPosition\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_card.php + path: ../../../htdocs/recruitment/recruitmentjobposition_card.php - message: '#^Property RecruitmentJobPosition\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_card.php + path: ../../../htdocs/recruitment/recruitmentjobposition_card.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_card.php + path: ../../../htdocs/recruitment/recruitmentjobposition_card.php - message: '#^Variable \$formproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_document.php + path: ../../../htdocs/recruitment/recruitmentjobposition_document.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_document.php + path: ../../../htdocs/recruitment/recruitmentjobposition_document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_document.php + path: ../../../htdocs/recruitment/recruitmentjobposition_document.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_list.php + path: ../../../htdocs/recruitment/recruitmentjobposition_list.php - message: '#^Variable \$formproject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_note.php + path: ../../../htdocs/recruitment/recruitmentjobposition_note.php - message: '#^Variable \$maxlength might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/recruitment/recruitmentjobposition_note.php + path: ../../../htdocs/recruitment/recruitmentjobposition_note.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/resource/card.php + path: ../../../htdocs/resource/card.php - message: '#^Property CommonObject\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$address \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$busy \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$description \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$element_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$element_type \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$email \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$fk_code_type_resource \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$mandatory \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$resource_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$resource_type \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$town \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$url \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Property Dolresource\:\:\$zip \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/resource/class/dolresource.class.php + path: ../../../htdocs/resource/class/dolresource.class.php - message: '#^Call to function is_numeric\(\) with float\|int\\|int\<1, max\>\|\(non\-falsy\-string&numeric\-string\) will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/resource/class/html.formresource.class.php + path: ../../../htdocs/resource/class/html.formresource.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/resource/class/html.formresource.class.php + path: ../../../htdocs/resource/class/html.formresource.class.php - message: '#^Call to function is_object\(\) with Fichinter will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/resource/element_resource.php + path: ../../../htdocs/resource/element_resource.php - message: '#^Call to function is_object\(\) with Product will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/resource/element_resource.php + path: ../../../htdocs/resource/element_resource.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/resource/element_resource.php + path: ../../../htdocs/resource/element_resource.php - message: '#^Loose comparison using \=\= between int\<0, max\> and \-1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/resource/element_resource.php + path: ../../../htdocs/resource/element_resource.php - message: '#^Right side of && is always false\.$#' identifier: booleanAnd.rightAlwaysFalse count: 1 - path: ../../htdocs/resource/element_resource.php + path: ../../../htdocs/resource/element_resource.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 3 - path: ../../htdocs/resource/list.php + path: ../../../htdocs/resource/list.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/salaries/card.php + path: ../../../htdocs/salaries/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/salaries/card.php + path: ../../../htdocs/salaries/card.php - message: '#^Variable \$resteapayer might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/salaries/card.php + path: ../../../htdocs/salaries/card.php - message: '#^Method Salaries\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Method Salaries\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Method Salaries\:\:_validatepayments\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Method Salaries\:\:_validatepayments\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Method Salaries\:\:addPayment\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Method Salaries\:\:getAllPayments\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Method Salaries\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Method Salaries\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Method Salaries\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Method Salaries\:\:updatePayment\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Property Salaries\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Property Salaries\:\:\$FIELDSPAYMENT has no type specified\.$#' identifier: missingType.property count: 1 - path: ../../htdocs/salaries/class/api_salaries.class.php + path: ../../../htdocs/salaries/class/api_salaries.class.php - message: '#^Call to function method_exists\(\) with \$this\(PaymentSalary\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentSalary\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentSalary\) and ''fk_bank'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentSalary\) and ''fk_typepayment'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Call to function property_exists\(\) with \$this\(PaymentSalary\) and ''fk_user_author'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Loose comparison using \=\= between '''' and ''nolink'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Property PaymentSalary\:\:\$amount \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Property PaymentSalary\:\:\$fk_bank \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Property PaymentSalary\:\:\$fk_salary \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Property PaymentSalary\:\:\$fk_typepayment \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Property PaymentSalary\:\:\$fk_user_author \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Property PaymentSalary\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Property PaymentSalary\:\:\$num_paiement \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Property PaymentSalary\:\:\$num_payment \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Result of \|\| is always false\.$#' identifier: booleanOr.alwaysFalse count: 2 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Strict comparison using \!\=\= between '''' and ''nolink'' will always evaluate to true\.$#' identifier: notIdentical.alwaysTrue count: 1 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/salaries/class/paymentsalary.class.php + path: ../../../htdocs/salaries/class/paymentsalary.class.php - message: '#^Call to function method_exists\(\) with \$this\(Salary\) and ''LibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/salaries/class/salary.class.php + path: ../../../htdocs/salaries/class/salary.class.php - message: '#^Call to function method_exists\(\) with \$this\(Salary\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/salaries/class/salary.class.php + path: ../../../htdocs/salaries/class/salary.class.php - message: '#^Call to function property_exists\(\) with \$this\(Salary\) and ''amount'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/salaries/class/salary.class.php + path: ../../../htdocs/salaries/class/salary.class.php - message: '#^Call to function property_exists\(\) with \$this\(Salary\) and ''type_payment'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/salaries/class/salary.class.php + path: ../../../htdocs/salaries/class/salary.class.php - message: '#^Method Salary\:\:getSommePaiement\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/salaries/class/salary.class.php + path: ../../../htdocs/salaries/class/salary.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/salaries/class/salary.class.php + path: ../../../htdocs/salaries/class/salary.class.php - message: '#^Property CommonObject\:\:\$alreadypaid \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/salaries/class/salary.class.php + path: ../../../htdocs/salaries/class/salary.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/salaries/class/salary.class.php + path: ../../../htdocs/salaries/class/salary.class.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 2 - path: ../../htdocs/salaries/list.php + path: ../../../htdocs/salaries/list.php - message: '#^Variable \$aBill might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/salaries/list.php + path: ../../../htdocs/salaries/list.php - message: '#^Variable \$numprlv might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/salaries/list.php + path: ../../../htdocs/salaries/list.php - message: '#^Variable \$selected might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/salaries/list.php + path: ../../../htdocs/salaries/list.php - message: '#^Comparison operation "\>" between 1 and 1 is always false\.$#' identifier: greater.alwaysFalse count: 1 - path: ../../htdocs/salaries/paiement_salary.php + path: ../../../htdocs/salaries/paiement_salary.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/salaries/paiement_salary.php + path: ../../../htdocs/salaries/paiement_salary.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 2 - path: ../../htdocs/salaries/payments.php + path: ../../../htdocs/salaries/payments.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/salaries/payments.php + path: ../../../htdocs/salaries/payments.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/salaries/payments.php + path: ../../../htdocs/salaries/payments.php - message: '#^Variable \$resql might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/salaries/payments.php + path: ../../../htdocs/salaries/payments.php - message: '#^Loose comparison using \=\= between ''salaire'' and ''bank\-transfer'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/salaries/virement_request.php + path: ../../../htdocs/salaries/virement_request.php - message: '#^Loose comparison using \=\= between ''salaire'' and ''salaire'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/salaries/virement_request.php + path: ../../../htdocs/salaries/virement_request.php - message: '#^Variable \$error might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/salaries/virement_request.php + path: ../../../htdocs/salaries/virement_request.php - message: '#^Variable \$numOfBp might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/salaries/virement_request.php + path: ../../../htdocs/salaries/virement_request.php - message: '#^Variable \$resteapayer might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/salaries/virement_request.php + path: ../../../htdocs/salaries/virement_request.php - message: '#^Variable \$result might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/salaries/virement_request.php + path: ../../../htdocs/salaries/virement_request.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/admin/societe.php + path: ../../../htdocs/societe/admin/societe.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/admin/societe.php + path: ../../../htdocs/societe/admin/societe.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/societe/agenda.php + path: ../../../htdocs/societe/agenda.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/societe/ajax/ajaxcompanies.php + path: ../../../htdocs/societe/ajax/ajaxcompanies.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/societe/ajax/company.php + path: ../../../htdocs/societe/ajax/company.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/societe/canvas/company/tpl/card_view.tpl.php + path: ../../../htdocs/societe/canvas/company/tpl/card_view.tpl.php - message: '#^Variable \$formfile might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/canvas/company/tpl/card_view.tpl.php + path: ../../../htdocs/societe/canvas/company/tpl/card_view.tpl.php - message: '#^Variable \$objcanvas might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/canvas/company/tpl/card_view.tpl.php + path: ../../../htdocs/societe/canvas/company/tpl/card_view.tpl.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/societe/canvas/company/tpl/card_view.tpl.php + path: ../../../htdocs/societe/canvas/company/tpl/card_view.tpl.php - message: '#^Variable \$objcanvas might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/canvas/individual/tpl/card_view.tpl.php + path: ../../../htdocs/societe/canvas/individual/tpl/card_view.tpl.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/societe/canvas/individual/tpl/card_view.tpl.php + path: ../../../htdocs/societe/canvas/individual/tpl/card_view.tpl.php - message: '#^Call to function is_numeric\(\) with 0\|1\|2\|3\|4\|5\|6\|7\|8\|9 will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/societe/card.php + path: ../../../htdocs/societe/card.php - message: '#^Comparison operation "\>" between 1\|2 and 0 is always true\.$#' identifier: greater.alwaysTrue count: 1 - path: ../../htdocs/societe/card.php + path: ../../../htdocs/societe/card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/societe/card.php + path: ../../../htdocs/societe/card.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/societe/card.php + path: ../../../htdocs/societe/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/societe/card.php + path: ../../../htdocs/societe/card.php - message: '#^Property Societe\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/societe/card.php + path: ../../../htdocs/societe/card.php - message: '#^Property Societe\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/societe/card.php + path: ../../../htdocs/societe/card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 2 - path: ../../htdocs/societe/card.php + path: ../../../htdocs/societe/card.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 4 - path: ../../htdocs/societe/card.php + path: ../../../htdocs/societe/card.php - message: '#^Variable \$messagetoshow might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/checkvat/checkVatPopup.php + path: ../../../htdocs/societe/checkvat/checkVatPopup.php - message: '#^Property Contact\:\:\$no_email \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/societe/class/api_contacts.class.php + path: ../../../htdocs/societe/class/api_contacts.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 2 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Loose comparison using \=\= between 4 and 4 will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:createCompanyBankAccount\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:createCompanyNotification\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:createCompanyNotificationByCode\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:createSocieteAccount\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:generateBankAccountDocument\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getCategories\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getCompanyBankAccount\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getCompanyNotification\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getFixedAmountDiscounts\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getInvoicesQualifiedForCreditNote\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getInvoicesQualifiedForReplacement\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getOutStandingInvoices\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getOutStandingOrder\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getOutStandingProposals\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:getSalesRepresentatives\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:patchSocieteAccount\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:putSocieteAccount\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:updateCompanyBankAccount\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Method Thirdparties\:\:updateCompanyNotification\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Property Societe\:\:\$default_lang \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Property Societe\:\:\$no_email \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Property Thirdparties\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/societe/class/api_thirdparties.class.php + path: ../../../htdocs/societe/class/api_thirdparties.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/societe/class/companybankaccount.class.php + path: ../../../htdocs/societe/class/companybankaccount.class.php - message: '#^Call to function method_exists\(\) with \$this\(Societe\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Call to function method_exists\(\) with \$this\(Societe\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Call to function property_exists\(\) with \$this\(Societe\) and ''code_client'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Method Societe\:\:getContacts\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Method Societe\:\:getSalesRepresentatives\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 6 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Property Contact\:\:\$roles \(array\\) does not accept non\-empty\-list\\.$#' identifier: assign.propertyType count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Property Societe\:\:\$bank_account \(Account\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Property Societe\:\:\$client \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Property Societe\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Property Societe\:\:\$fournisseur \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Property Societe\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Property Societe\:\:\$stcomm_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Property Societe\:\:\$typent_id \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Result of && is always true\.$#' identifier: booleanAnd.alwaysTrue count: 1 - path: ../../htdocs/societe/class/societe.class.php + path: ../../../htdocs/societe/class/societe.class.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$dateprint might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$doc_number might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$documentstatic might not be defined\.$#' identifier: variable.undefined count: 14 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$tables_from might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$where might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/consumption.php + path: ../../../htdocs/societe/consumption.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/document.php + path: ../../../htdocs/societe/document.php - message: '#^Variable \$newcardbutton might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/list.php + path: ../../../htdocs/societe/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/societe/messaging.php + path: ../../../htdocs/societe/messaging.php - message: '#^Variable \$id might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/notify/card.php + path: ../../../htdocs/societe/notify/card.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/societe/paymentmodes.php + path: ../../../htdocs/societe/paymentmodes.php - message: '#^Call to function is_object\(\) with Stripe will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/societe/paymentmodes.php + path: ../../../htdocs/societe/paymentmodes.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/societe/paymentmodes.php + path: ../../../htdocs/societe/paymentmodes.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/societe/paymentmodes.php + path: ../../../htdocs/societe/paymentmodes.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/societe/paymentmodes.php + path: ../../../htdocs/societe/paymentmodes.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/societe/paymentmodes.php + path: ../../../htdocs/societe/paymentmodes.php - message: '#^Variable \$rib might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/societe/paymentmodes.php + path: ../../../htdocs/societe/paymentmodes.php - message: '#^Variable \$service might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/paymentmodes.php + path: ../../../htdocs/societe/paymentmodes.php - message: '#^Variable \$sql might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/societe/paymentmodes.php + path: ../../../htdocs/societe/paymentmodes.php - message: '#^Loose comparison using \=\= between ''add_customer_price'' and ''add_customer_price'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/societe/price.php + path: ../../../htdocs/societe/price.php - message: '#^Loose comparison using \=\= between ''edit_customer_price'' and ''edit_price'' will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/societe/price.php + path: ../../../htdocs/societe/price.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 2 - path: ../../htdocs/societe/price.php + path: ../../../htdocs/societe/price.php - message: '#^Variable \$prodcustprice might not be defined\.$#' identifier: variable.undefined count: 36 - path: ../../htdocs/societe/price.php + path: ../../../htdocs/societe/price.php - message: '#^Variable \$sortfield in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/societe/price.php + path: ../../../htdocs/societe/price.php - message: '#^Variable \$sortorder in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/societe/price.php + path: ../../../htdocs/societe/price.php - message: '#^Variable \$parameters might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/project.php + path: ../../../htdocs/societe/project.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/societe/tpl/linesalesrepresentative.tpl.php + path: ../../../htdocs/societe/tpl/linesalesrepresentative.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/societe/tpl/linesalesrepresentative.tpl.php + path: ../../../htdocs/societe/tpl/linesalesrepresentative.tpl.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/societe/website.php + path: ../../../htdocs/societe/website.php - message: '#^Variable \$massaction might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/societe/website.php + path: ../../../htdocs/societe/website.php - message: '#^Parameter \#1 \$params of static method Stripe\\Terminal\\Location\:\:all\(\) expects array\|null, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/stripe/admin/stripe.php + path: ../../../htdocs/stripe/admin/stripe.php - message: '#^Call to function is_object\(\) with Facture will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/stripe/ajax/ajax.php + path: ../../../htdocs/stripe/ajax/ajax.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/stripe/charge.php + path: ../../../htdocs/stripe/charge.php - message: '#^Variable \$type might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/stripe/charge.php + path: ../../../htdocs/stripe/charge.php - message: '#^Loose comparison using \=\= between 7 and 4 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 2 - path: ../../htdocs/stripe/class/actions_stripe.class.php + path: ../../../htdocs/stripe/class/actions_stripe.class.php - message: '#^Call to function is_object\(\) with CompanyPaymentMode will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/stripe/class/stripe.class.php + path: ../../../htdocs/stripe/class/stripe.class.php - message: '#^Variable \$invoice might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/stripe/class/stripe.class.php + path: ../../../htdocs/stripe/class/stripe.class.php - message: '#^Variable \$setupintent in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/stripe/class/stripe.class.php + path: ../../../htdocs/stripe/class/stripe.class.php - message: '#^Variable \$stripeacc in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/stripe/class/stripe.class.php + path: ../../../htdocs/stripe/class/stripe.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 2 - path: ../../htdocs/stripe/lib/stripe.lib.php + path: ../../../htdocs/stripe/lib/stripe.lib.php - message: '#^Variable \$moreforfilter in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/stripe/payout.php + path: ../../../htdocs/stripe/payout.php - message: '#^Comparison operation "\>" between int\<1, max\> and 0 is always true\.$#' identifier: greater.alwaysTrue count: 1 - path: ../../htdocs/supplier_proposal/card.php + path: ../../../htdocs/supplier_proposal/card.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/supplier_proposal/card.php + path: ../../../htdocs/supplier_proposal/card.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/supplier_proposal/card.php + path: ../../../htdocs/supplier_proposal/card.php - message: '#^Variable \$buyingprice might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/card.php + path: ../../../htdocs/supplier_proposal/card.php - message: '#^Variable \$classname might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/card.php + path: ../../../htdocs/supplier_proposal/card.php - message: '#^Variable \$error in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/supplier_proposal/card.php + path: ../../../htdocs/supplier_proposal/card.php - message: '#^Variable \$fk_account might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/card.php + path: ../../../htdocs/supplier_proposal/card.php - message: '#^Variable \$fournprice might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/card.php + path: ../../../htdocs/supplier_proposal/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 4 - path: ../../htdocs/supplier_proposal/card.php + path: ../../../htdocs/supplier_proposal/card.php - message: '#^Method SupplierProposals\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php + path: ../../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php - message: '#^Method SupplierProposals\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php + path: ../../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php - message: '#^Method SupplierProposals\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php + path: ../../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php - message: '#^Method SupplierProposals\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php + path: ../../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php - message: '#^Method SupplierProposals\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php + path: ../../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php - message: '#^Method SupplierProposals\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php + path: ../../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php - message: '#^Property SupplierProposals\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php + path: ../../../htdocs/supplier_proposal/class/api_supplier_proposals.class.php - message: '#^Call to function method_exists\(\) with \$this\(SupplierProposal\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Call to function method_exists\(\) with \$this\(SupplierProposal\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Call to function property_exists\(\) with \$this\(SupplierProposal\) and ''delivery_date'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Call to function property_exists\(\) with \$this\(SupplierProposal\) and ''socid'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Call to function property_exists\(\) with \$this\(SupplierProposal\) and ''total_ttc'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 6 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Parameter \#3 \$remise_percent_ligne of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Parameter \#5 \$uselocaltax1_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Parameter \#6 \$uselocaltax2_rate of function calcul_price_total expects float, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Property SupplierProposal\:\:\$statut \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Property SupplierProposalLine\:\:\$info_bits \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Property SupplierProposalLine\:\:\$pa_ht \(float\|int\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/supplier_proposal/class/supplier_proposal.class.php + path: ../../../htdocs/supplier_proposal/class/supplier_proposal.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/supplier_proposal/contact.php + path: ../../../htdocs/supplier_proposal/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/supplier_proposal/document.php + path: ../../../htdocs/supplier_proposal/document.php - message: '#^Variable \$badgeStatus0 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/index.php + path: ../../../htdocs/supplier_proposal/index.php - message: '#^Variable \$badgeStatus1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/index.php + path: ../../../htdocs/supplier_proposal/index.php - message: '#^Variable \$badgeStatus4 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/index.php + path: ../../../htdocs/supplier_proposal/index.php - message: '#^Variable \$badgeStatus6 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/index.php + path: ../../../htdocs/supplier_proposal/index.php - message: '#^Variable \$badgeStatus9 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/index.php + path: ../../../htdocs/supplier_proposal/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/supplier_proposal/info.php + path: ../../../htdocs/supplier_proposal/info.php - message: '#^Variable \$action might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/supplier_proposal/info.php + path: ../../../htdocs/supplier_proposal/info.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/supplier_proposal/list.php + path: ../../../htdocs/supplier_proposal/list.php - message: '#^Loose comparison using \=\= between \-1 and 0 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/supplier_proposal/list.php + path: ../../../htdocs/supplier_proposal/list.php - message: '#^Loose comparison using \=\= between \-1 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/supplier_proposal/list.php + path: ../../../htdocs/supplier_proposal/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/supplier_proposal/list.php + path: ../../../htdocs/supplier_proposal/list.php - message: '#^Variable \$searchCategoryProductList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/supplier_proposal/list.php + path: ../../../htdocs/supplier_proposal/list.php - message: '#^Variable \$mesg might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/note.php + path: ../../../htdocs/supplier_proposal/note.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/supplier_proposal/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/supplier_proposal/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/takepos/admin/bar.php + path: ../../../htdocs/takepos/admin/bar.php - message: '#^Variable \$res might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/admin/setup.php + path: ../../../htdocs/takepos/admin/setup.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/takepos/admin/terminal.php + path: ../../../htdocs/takepos/admin/terminal.php - message: '#^Parameter \#1 \$params of static method Stripe\\Terminal\\Reader\:\:all\(\) expects array\|null, string given\.$#' identifier: argument.type count: 2 - path: ../../htdocs/takepos/admin/terminal.php + path: ../../../htdocs/takepos/admin/terminal.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 5 - path: ../../htdocs/takepos/ajax/ajax.php + path: ../../../htdocs/takepos/ajax/ajax.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/css/pos.css.php + path: ../../../htdocs/takepos/css/pos.css.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 4 - path: ../../htdocs/takepos/floors.php + path: ../../../htdocs/takepos/floors.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 3 - path: ../../htdocs/takepos/freezone.php + path: ../../../htdocs/takepos/freezone.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/takepos/genimg/index.php + path: ../../../htdocs/takepos/genimg/index.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/takepos/genimg/index.php + path: ../../../htdocs/takepos/genimg/index.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/genimg/qr.php + path: ../../../htdocs/takepos/genimg/qr.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/takepos/index.php + path: ../../../htdocs/takepos/index.php - message: '#^Loose comparison using \=\= between 0 and 1 will always evaluate to false\.$#' identifier: equal.alwaysFalse count: 1 - path: ../../htdocs/takepos/index.php + path: ../../../htdocs/takepos/index.php - message: '#^Variable \$CUSTOMER_DISPLAY_line1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$CUSTOMER_DISPLAY_line2 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$batch might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$body_ticket might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$creditnote might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$fk_source might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$footer_ticket might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$footerorder might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$header_soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$header_ticket might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$headerorder might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$idoflineadded might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$printer might not be defined\.$#' identifier: variable.undefined count: 6 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$sectionwithinvoicelink might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$ticket_total might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$tva_npr might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Variable \$warehouseid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/invoice.php + path: ../../../htdocs/takepos/invoice.php - message: '#^Call to function is_object\(\) with Facture will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/takepos/pay.php + path: ../../../htdocs/takepos/pay.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/takepos/pay.php + path: ../../../htdocs/takepos/pay.php - message: '#^Variable \$keyforstripeterminalbank in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 3 - path: ../../htdocs/takepos/pay.php + path: ../../../htdocs/takepos/pay.php - message: '#^Variable \$stripeacc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/pay.php + path: ../../../htdocs/takepos/pay.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/printbox.php + path: ../../../htdocs/takepos/printbox.php - message: '#^Parameter \#2 \$addpercent of function vatrate expects bool, int given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/takepos/receipt.php + path: ../../../htdocs/takepos/receipt.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/takepos/send.php + path: ../../../htdocs/takepos/send.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/takepos/smpcb.php + path: ../../../htdocs/takepos/smpcb.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/takepos/split.php + path: ../../../htdocs/takepos/split.php - message: '#^Variable \$invoice might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/takepos/split.php + path: ../../../htdocs/takepos/split.php - message: '#^Variable \$placeid might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/takepos/split.php + path: ../../../htdocs/takepos/split.php - message: '#^Variable \$fontlist might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/eldy/btn.inc.php + path: ../../../htdocs/theme/eldy/btn.inc.php - message: '#^Variable \$nbtopmenuentries might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/theme/eldy/btn.inc.php + path: ../../../htdocs/theme/eldy/btn.inc.php - message: '#^Variable \$colorbackhmenu1 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/theme/eldy/dropdown.inc.php + path: ../../../htdocs/theme/eldy/dropdown.inc.php - message: '#^Variable \$colorbacklinepair1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/dropdown.inc.php + path: ../../../htdocs/theme/eldy/dropdown.inc.php - message: '#^Variable \$colortextbackhmenu might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/dropdown.inc.php + path: ../../../htdocs/theme/eldy/dropdown.inc.php - message: '#^Variable \$colortextlink might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/dropdown.inc.php + path: ../../../htdocs/theme/eldy/dropdown.inc.php - message: '#^Variable \$disableimages might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/dropdown.inc.php + path: ../../../htdocs/theme/eldy/dropdown.inc.php - message: '#^Variable \$left might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/eldy/dropdown.inc.php + path: ../../../htdocs/theme/eldy/dropdown.inc.php - message: '#^Variable \$right might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/dropdown.inc.php + path: ../../../htdocs/theme/eldy/dropdown.inc.php - message: '#^Parameter \#2 \$steps of function colorAdjustBrightness expects int, string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/theme/eldy/global.inc.php + path: ../../../htdocs/theme/eldy/global.inc.php - message: '#^Variable \$theme might not be defined\.$#' identifier: variable.undefined count: 22 - path: ../../htdocs/theme/eldy/global.inc.php + path: ../../../htdocs/theme/eldy/global.inc.php - message: '#^Variable \$left might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/info-box.inc.php + path: ../../../htdocs/theme/eldy/info-box.inc.php - message: '#^Variable \$right might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/info-box.inc.php + path: ../../../htdocs/theme/eldy/info-box.inc.php - message: '#^Variable \$topMenuFontSize might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/main_menu_fa_icons.inc.php + path: ../../../htdocs/theme/eldy/main_menu_fa_icons.inc.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/theme/eldy/manifest.json.php + path: ../../../htdocs/theme/eldy/manifest.json.php - message: '#^Variable \$badgeDanger might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/theme/eldy/progress.inc.php + path: ../../../htdocs/theme/eldy/progress.inc.php - message: '#^Variable \$badgeSuccess might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/progress.inc.php + path: ../../../htdocs/theme/eldy/progress.inc.php - message: '#^Variable \$badgeWarning might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/progress.inc.php + path: ../../../htdocs/theme/eldy/progress.inc.php - message: '#^Variable \$colorblind_deuteranopes_badgeDanger might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/progress.inc.php + path: ../../../htdocs/theme/eldy/progress.inc.php - message: '#^Variable \$colorblind_deuteranopes_badgeSuccess might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/progress.inc.php + path: ../../../htdocs/theme/eldy/progress.inc.php - message: '#^Variable \$menumanager might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/eldy/style.css.php + path: ../../../htdocs/theme/eldy/style.css.php - message: '#^Variable \$badgeDanger might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/md/badges.inc.php + path: ../../../htdocs/theme/md/badges.inc.php - message: '#^Variable \$badgeDark might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/md/badges.inc.php + path: ../../../htdocs/theme/md/badges.inc.php - message: '#^Variable \$badgeInfo might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/md/badges.inc.php + path: ../../../htdocs/theme/md/badges.inc.php - message: '#^Variable \$badgeLight might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/md/badges.inc.php + path: ../../../htdocs/theme/md/badges.inc.php - message: '#^Variable \$badgePrimary might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/md/badges.inc.php + path: ../../../htdocs/theme/md/badges.inc.php - message: '#^Variable \$badgeSecondary might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/theme/md/badges.inc.php + path: ../../../htdocs/theme/md/badges.inc.php - message: '#^Variable \$badgeSuccess might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/md/badges.inc.php + path: ../../../htdocs/theme/md/badges.inc.php - message: '#^Variable \$badgeWarning might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/md/badges.inc.php + path: ../../../htdocs/theme/md/badges.inc.php - message: '#^Variable \$colorblind_deuteranopes_badgeWarning might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/md/badges.inc.php + path: ../../../htdocs/theme/md/badges.inc.php - message: '#^Variable \$fontlist might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/theme/md/btn.inc.php + path: ../../../htdocs/theme/md/btn.inc.php - message: '#^Variable \$left might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/theme/md/btn.inc.php + path: ../../../htdocs/theme/md/btn.inc.php - message: '#^Variable \$nbtopmenuentries might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/theme/md/btn.inc.php + path: ../../../htdocs/theme/md/btn.inc.php - message: '#^Variable \$right might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/btn.inc.php + path: ../../../htdocs/theme/md/btn.inc.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/btn.inc.php + path: ../../../htdocs/theme/md/btn.inc.php - message: '#^Variable \$colorbackhmenu1 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/theme/md/dropdown.inc.php + path: ../../../htdocs/theme/md/dropdown.inc.php - message: '#^Variable \$colorbacklinepair1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/dropdown.inc.php + path: ../../../htdocs/theme/md/dropdown.inc.php - message: '#^Variable \$colortextbackhmenu might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/dropdown.inc.php + path: ../../../htdocs/theme/md/dropdown.inc.php - message: '#^Variable \$colortextlink might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/dropdown.inc.php + path: ../../../htdocs/theme/md/dropdown.inc.php - message: '#^Variable \$disableimages might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/dropdown.inc.php + path: ../../../htdocs/theme/md/dropdown.inc.php - message: '#^Variable \$left might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/theme/md/dropdown.inc.php + path: ../../../htdocs/theme/md/dropdown.inc.php - message: '#^Variable \$right might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/theme/md/dropdown.inc.php + path: ../../../htdocs/theme/md/dropdown.inc.php - message: '#^Variable \$path might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/flags-sprite.inc.php + path: ../../../htdocs/theme/md/flags-sprite.inc.php - message: '#^Variable \$left might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/info-box.inc.php + path: ../../../htdocs/theme/md/info-box.inc.php - message: '#^Variable \$right might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/info-box.inc.php + path: ../../../htdocs/theme/md/info-box.inc.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/theme/md/manifest.json.php + path: ../../../htdocs/theme/md/manifest.json.php - message: '#^Variable \$path might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/progress.inc.php + path: ../../../htdocs/theme/md/progress.inc.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/theme/md/style.css.php + path: ../../../htdocs/theme/md/style.css.php - message: '#^Variable \$menumanager might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/theme/md/style.css.php + path: ../../../htdocs/theme/md/style.css.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/ticket/agenda.php + path: ../../../htdocs/ticket/agenda.php - message: '#^Loose comparison using \=\= between ''setsubject'' and ''setsubject'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/ticket/card.php + path: ../../../htdocs/ticket/card.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/ticket/card.php + path: ../../../htdocs/ticket/card.php - message: '#^Variable \$limit might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/card.php + path: ../../../htdocs/ticket/card.php - message: '#^Variable \$mine might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/card.php + path: ../../../htdocs/ticket/card.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/ticket/card.php + path: ../../../htdocs/ticket/card.php - message: '#^Variable \$trackid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/card.php + path: ../../../htdocs/ticket/card.php - message: '#^Variable \$triggermodname in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/ticket/card.php + path: ../../../htdocs/ticket/card.php - message: '#^Method Tickets\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Method Tickets\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Method Tickets\:\:_validateMessage\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Method Tickets\:\:_validateMessage\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Method Tickets\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Method Tickets\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Method Tickets\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Method Tickets\:\:postNewMessage\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Method Tickets\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Property Tickets\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Property Tickets\:\:\$FIELDS_MESSAGES type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Variable \$user_action might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/ticket/class/api_tickets.class.php + path: ../../../htdocs/ticket/class/api_tickets.class.php - message: '#^Call to function property_exists\(\) with CTicketCategory and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/ticket/class/cticketcategory.class.php + path: ../../../htdocs/ticket/class/cticketcategory.class.php - message: '#^Call to function property_exists\(\) with CTicketCategory and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/ticket/class/cticketcategory.class.php + path: ../../../htdocs/ticket/class/cticketcategory.class.php - message: '#^Call to function property_exists\(\) with CTicketCategory and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/ticket/class/cticketcategory.class.php + path: ../../../htdocs/ticket/class/cticketcategory.class.php - message: '#^Call to function property_exists\(\) with CTicketCategory and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/ticket/class/cticketcategory.class.php + path: ../../../htdocs/ticket/class/cticketcategory.class.php - message: '#^Method CTicketCategory\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/ticket/class/cticketcategory.class.php + path: ../../../htdocs/ticket/class/cticketcategory.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/ticket/class/cticketcategory.class.php + path: ../../../htdocs/ticket/class/cticketcategory.class.php - message: '#^Call to function array_key_exists\(\) with ''paths'' and array\{paths\: mixed, names\: mixed, mimes\: mixed\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Call to function is_array\(\) with array\{paths\: mixed, names\: mixed, mimes\: mixed\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Call to function method_exists\(\) with \$this\(Ticket\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Call to function method_exists\(\) with \$this\(Ticket\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Call to function property_exists\(\) with \$this\(Ticket\) and ''type_code'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property CommonObject\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$category_code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$date_close \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$date_read \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$fk_contract \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$fk_project \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$fk_soc \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$fk_user_assign \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$fk_user_create \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$ip \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$message \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 5 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$notify_tiers_at_create \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$origin_references \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$origin_replyto \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$progress \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$severity_code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$subject \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$timing \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Property Ticket\:\:\$type_code \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Variable \$exact in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Variable \$recipient in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^Variable \$references in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/ticket/class/ticket.class.php + path: ../../../htdocs/ticket/class/ticket.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/ticket/contact.php + path: ../../../htdocs/ticket/contact.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/ticket/document.php + path: ../../../htdocs/ticket/document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/document.php + path: ../../../htdocs/ticket/document.php - message: '#^Variable \$badgeStatus0 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/index.php + path: ../../../htdocs/ticket/index.php - message: '#^Variable \$badgeStatus1 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/index.php + path: ../../../htdocs/ticket/index.php - message: '#^Variable \$badgeStatus3 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/ticket/index.php + path: ../../../htdocs/ticket/index.php - message: '#^Variable \$badgeStatus4 might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/ticket/index.php + path: ../../../htdocs/ticket/index.php - message: '#^Variable \$badgeStatus6 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/index.php + path: ../../../htdocs/ticket/index.php - message: '#^Variable \$badgeStatus9 might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/index.php + path: ../../../htdocs/ticket/index.php - message: '#^Variable \$colorseries might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/index.php + path: ../../../htdocs/ticket/index.php - message: '#^Variable \$shownb might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/index.php + path: ../../../htdocs/ticket/index.php - message: '#^Variable \$showtot might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/ticket/index.php + path: ../../../htdocs/ticket/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/ticket/messaging.php + path: ../../../htdocs/ticket/messaging.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/ticket/messaging.php + path: ../../../htdocs/ticket/messaging.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/ticket/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/ticket/tpl/linkedobjectblock.tpl.php - message: '#^Variable \$object might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/ticket/tpl/linkedobjectblock.tpl.php + path: ../../../htdocs/ticket/tpl/linkedobjectblock.tpl.php - message: '#^Call to function property_exists\(\) with User and ''admin'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/user/bank.php + path: ../../../htdocs/user/bank.php - message: '#^Variable \$content might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/user/bank.php + path: ../../../htdocs/user/bank.php - message: '#^Variable \$countrynotdefined might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/user/bank.php + path: ../../../htdocs/user/bank.php - message: '#^Variable \$moreparam might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/user/bank.php + path: ../../../htdocs/user/bank.php - message: '#^Variable \$name might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/user/bank.php + path: ../../../htdocs/user/bank.php - message: '#^Variable \$size might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/user/bank.php + path: ../../../htdocs/user/bank.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/user/card.php + path: ../../../htdocs/user/card.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 2 - path: ../../htdocs/user/card.php + path: ../../../htdocs/user/card.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 7 - path: ../../htdocs/user/card.php + path: ../../../htdocs/user/card.php - message: '#^Variable \$dolibarr_main_authentication might not be defined\.$#' identifier: variable.undefined count: 12 - path: ../../htdocs/user/card.php + path: ../../../htdocs/user/card.php - message: '#^Variable \$formproduct might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/user/card.php + path: ../../../htdocs/user/card.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/user/card.php + path: ../../../htdocs/user/card.php - message: '#^PHPDoc tag @phpstan\-return has invalid value \(Object\[\)\: Unexpected token "\[", expected TOKEN_HORIZONTAL_WS at offset 346 on line 8$#' identifier: phpDoc.parseError count: 1 - path: ../../htdocs/user/class/api_users.class.php + path: ../../../htdocs/user/class/api_users.class.php - message: '#^Call to function method_exists\(\) with \$this\(User\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Call to function method_exists\(\) with \$this\(User\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 3 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Parameter \#1 \$array of function dol_sort_array contains unresolvable type\.$#' identifier: argument.unresolvableType count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Property User\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Property User\:\:\$rights \(stdClass\) in empty\(\) is not falsy\.$#' identifier: empty.property count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Property User\:\:\$rights \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Property User\:\:\$salary \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Property User\:\:\$salaryextra \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Property User\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Property User\:\:\$statut \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Property User\:\:\$thm \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Property User\:\:\$tjm \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Result of \|\| is always true\.$#' identifier: booleanOr.alwaysTrue count: 4 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Return type of call to function dol_sort_array contains unresolvable type\.$#' identifier: function.unresolvableReturnType count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Variable \$whereforadd in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Variable \$wherefordel in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/user/class/user.class.php + path: ../../../htdocs/user/class/user.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/user/class/userbankaccount.class.php + path: ../../../htdocs/user/class/userbankaccount.class.php - message: '#^Call to function method_exists\(\) with \$this\(UserGroup\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^Call to function property_exists\(\) with \$this\(UserGroup\) and ''members'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^Call to function property_exists\(\) with \$this\(UserGroup\) and ''nb_rights'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^Property CommonObject\:\:\$lastname \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^Property UserGroup\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^Property UserGroup\:\:\$name \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^Property UserGroup\:\:\$nom \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^Property UserGroup\:\:\$rights \(stdClass\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^Variable \$whereforadd in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^Variable \$wherefordel in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/user/class/usergroup.class.php + path: ../../../htdocs/user/class/usergroup.class.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/user/document.php + path: ../../../htdocs/user/document.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/user/document.php + path: ../../../htdocs/user/document.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 3 - path: ../../htdocs/user/group/card.php + path: ../../../htdocs/user/group/card.php - message: '#^Loose comparison using \!\= between '''' and '''' will always evaluate to false\.$#' identifier: notEqual.alwaysFalse count: 1 - path: ../../htdocs/user/group/list.php + path: ../../../htdocs/user/group/list.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/user/group/list.php + path: ../../../htdocs/user/group/list.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/user/group/list.php + path: ../../../htdocs/user/group/list.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/user/group/list.php + path: ../../../htdocs/user/group/list.php - message: '#^Variable \$val in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/user/group/list.php + path: ../../../htdocs/user/group/list.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/user/group/perms.php + path: ../../../htdocs/user/group/perms.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/user/hierarchy.php + path: ../../../htdocs/user/hierarchy.php - message: '#^Variable \$mode in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/user/hierarchy.php + path: ../../../htdocs/user/hierarchy.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/user/home.php + path: ../../../htdocs/user/home.php - message: '#^Offset ''u\.salary'' on array\{u\.salary\: \(float\|int\)\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/user/list.php + path: ../../../htdocs/user/list.php - message: '#^Offset ''val'' on array\{val\: array\{u\.salary\: \(float\|int\)\}, nbfield\: int\<0, max\>, pos\?\: non\-empty\-array\\} in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/user/list.php + path: ../../../htdocs/user/list.php - message: '#^Variable \$mc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/user/list.php + path: ../../../htdocs/user/list.php - message: '#^Variable \$searchCategoryUserList in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/user/list.php + path: ../../../htdocs/user/list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/user/messaging.php + path: ../../../htdocs/user/messaging.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/user/note.php + path: ../../../htdocs/user/note.php - message: '#^Call to function property_exists\(\) with User and ''admin'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/user/notify/card.php + path: ../../../htdocs/user/notify/card.php - message: '#^Variable \$num might not be defined\.$#' identifier: variable.undefined count: 5 - path: ../../htdocs/user/notify/card.php + path: ../../../htdocs/user/notify/card.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/user/param_ihm.php + path: ../../../htdocs/user/param_ihm.php - message: '#^Variable \$dolibarr_main_authentication might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/user/passwordforgotten.php + path: ../../../htdocs/user/passwordforgotten.php - message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/user/perms.php + path: ../../../htdocs/user/perms.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/user/perms.php + path: ../../../htdocs/user/perms.php - message: '#^Call to function is_object\(\) with object will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/user/perms.php + path: ../../../htdocs/user/perms.php - message: '#^Variable \$menumanager might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/user/perms.php + path: ../../../htdocs/user/perms.php - message: '#^Variable \$permsgroupbyentitypluszero in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 3 - path: ../../htdocs/user/perms.php + path: ../../../htdocs/user/perms.php - message: '#^Call to function method_exists\(\) with \$this\(ProductAttribute\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/variants/class/ProductAttribute.class.php + path: ../../../htdocs/variants/class/ProductAttribute.class.php - message: '#^Call to function method_exists\(\) with \$this\(ProductAttribute\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/variants/class/ProductAttribute.class.php + path: ../../../htdocs/variants/class/ProductAttribute.class.php - message: '#^Call to function property_exists\(\) with \$this\(ProductAttribute\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/variants/class/ProductAttribute.class.php + path: ../../../htdocs/variants/class/ProductAttribute.class.php - message: '#^Call to function property_exists\(\) with \$this\(ProductAttribute\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/variants/class/ProductAttribute.class.php + path: ../../../htdocs/variants/class/ProductAttribute.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/variants/class/ProductAttribute.class.php + path: ../../../htdocs/variants/class/ProductAttribute.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/variants/class/ProductAttribute.class.php + path: ../../../htdocs/variants/class/ProductAttribute.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/variants/class/ProductAttributeValue.class.php + path: ../../../htdocs/variants/class/ProductAttributeValue.class.php - message: '#^Loose comparison using \!\= between ''ErrorProductAlready…'' and ''ErrorProductAlready…'' will always evaluate to false\.$#' identifier: notEqual.alwaysFalse count: 1 - path: ../../htdocs/variants/class/ProductCombination.class.php + path: ../../../htdocs/variants/class/ProductCombination.class.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/variants/class/ProductCombination.class.php + path: ../../../htdocs/variants/class/ProductCombination.class.php - message: '#^Property ProductCombination\:\:\$variation_price_percentage type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/variants/class/ProductCombination.class.php + path: ../../../htdocs/variants/class/ProductCombination.class.php - message: '#^Property ProductCombinationLevel\:\:\$variation_price \(float\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/variants/class/ProductCombination.class.php + path: ../../../htdocs/variants/class/ProductCombination.class.php - message: '#^Property ProductCombinationLevel\:\:\$variation_price_percentage \(bool\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/variants/class/ProductCombination.class.php + path: ../../../htdocs/variants/class/ProductCombination.class.php - message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/variants/combinations.php + path: ../../../htdocs/variants/combinations.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/variants/combinations.php + path: ../../../htdocs/variants/combinations.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/variants/combinations.php + path: ../../../htdocs/variants/combinations.php - message: '#^Variable \$prodattr_all might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/variants/combinations.php + path: ../../../htdocs/variants/combinations.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/variants/list.php + path: ../../../htdocs/variants/list.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/variants/list.php + path: ../../../htdocs/variants/list.php - message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/viewimage.php + path: ../../../htdocs/viewimage.php - message: '#^Method Webhook\:\:_validate\(\) has parameter \$data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/webhook/class/api_webhook.class.php + path: ../../../htdocs/webhook/class/api_webhook.class.php - message: '#^Method Webhook\:\:_validate\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/webhook/class/api_webhook.class.php + path: ../../../htdocs/webhook/class/api_webhook.class.php - message: '#^Method Webhook\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/webhook/class/api_webhook.class.php + path: ../../../htdocs/webhook/class/api_webhook.class.php - message: '#^Method Webhook\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/webhook/class/api_webhook.class.php + path: ../../../htdocs/webhook/class/api_webhook.class.php - message: '#^Method Webhook\:\:listOfTriggers\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/webhook/class/api_webhook.class.php + path: ../../../htdocs/webhook/class/api_webhook.class.php - message: '#^Method Webhook\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/webhook/class/api_webhook.class.php + path: ../../../htdocs/webhook/class/api_webhook.class.php - message: '#^Method Webhook\:\:put\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/webhook/class/api_webhook.class.php + path: ../../../htdocs/webhook/class/api_webhook.class.php - message: '#^Property Webhook\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/webhook/class/api_webhook.class.php + path: ../../../htdocs/webhook/class/api_webhook.class.php - message: '#^Call to function property_exists\(\) with Target and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Call to function property_exists\(\) with Target and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Call to function property_exists\(\) with Target and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Call to function property_exists\(\) with Target and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Call to function property_exists\(\) with Target and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Property Target\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^Variable \$url in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 2 - path: ../../htdocs/webhook/class/target.class.php + path: ../../../htdocs/webhook/class/target.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/webhook/target_card.php + path: ../../../htdocs/webhook/target_card.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/webhook/target_card.php + path: ../../../htdocs/webhook/target_card.php - message: '#^Property CommonObject\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/webhook/target_card.php + path: ../../../htdocs/webhook/target_card.php - message: '#^Property Target\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/webhook/target_card.php + path: ../../../htdocs/webhook/target_card.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 6 - path: ../../htdocs/webhook/target_card.php + path: ../../../htdocs/webhook/target_card.php - message: '#^Variable \$permissiontoadd in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/webhook/target_card.php + path: ../../../htdocs/webhook/target_card.php - message: '#^Variable \$soc might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/webhook/target_card.php + path: ../../../htdocs/webhook/target_card.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/webhook/target_list.php + path: ../../../htdocs/webhook/target_list.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../htdocs/webhook/target_list.php + path: ../../../htdocs/webhook/target_list.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/webhook/target_list.php + path: ../../../htdocs/webhook/target_list.php - message: '#^Variable \$permissiontodelete in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/webhook/target_list.php + path: ../../../htdocs/webhook/target_list.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/webportal/admin/setup.php + path: ../../../htdocs/webportal/admin/setup.php - message: '#^Loose comparison using \=\= between ''auto'' and ''auto'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/webportal/class/context.class.php + path: ../../../htdocs/webportal/class/context.class.php - message: '#^Offset 0 on non\-empty\-list\ in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/webportal/class/html.formcardwebportal.class.php + path: ../../../htdocs/webportal/class/html.formcardwebportal.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/webportal/class/html.formcardwebportal.class.php + path: ../../../htdocs/webportal/class/html.formcardwebportal.class.php - message: '#^Variable \$noback in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/webportal/class/html.formcardwebportal.class.php + path: ../../../htdocs/webportal/class/html.formcardwebportal.class.php - message: '#^Comparison operation "\<\=" between int\<2, max\> and 1 is always false\.$#' identifier: smallerOrEqual.alwaysFalse count: 1 - path: ../../htdocs/webportal/class/html.formlistwebportal.class.php + path: ../../../htdocs/webportal/class/html.formlistwebportal.class.php - message: '#^Offset ''total'' on \*NEVER\* in isset\(\) always exists and is not nullable\.$#' identifier: isset.offset count: 1 - path: ../../htdocs/webportal/class/html.formlistwebportal.class.php + path: ../../../htdocs/webportal/class/html.formlistwebportal.class.php - message: '#^Offset ''totalizable'' on array\{nbfield\: int, totalizable\: array\{\}, pos\?\: non\-empty\-array\, val\?\: non\-empty\-array\\} in empty\(\) always exists and is always falsy\.$#' identifier: empty.offset count: 1 - path: ../../htdocs/webportal/class/html.formlistwebportal.class.php + path: ../../../htdocs/webportal/class/html.formlistwebportal.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/webportal/class/html.formlistwebportal.class.php + path: ../../../htdocs/webportal/class/html.formlistwebportal.class.php - message: '#^Unable to resolve the template type T in call to function dol_sort_array$#' identifier: argument.templateType count: 1 - path: ../../htdocs/webportal/class/html.formlistwebportal.class.php + path: ../../../htdocs/webportal/class/html.formlistwebportal.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 8 - path: ../../htdocs/webportal/class/html.formwebportal.class.php + path: ../../../htdocs/webportal/class/html.formwebportal.class.php - message: '#^Parameter \#3 \$preselectedvalue of method FormWebPortal\:\:selectForForms\(\) expects int, array\\|string given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/webportal/class/html.formwebportal.class.php + path: ../../../htdocs/webportal/class/html.formwebportal.class.php - message: '#^Call to function method_exists\(\) with \$this\(WebPortalInvoice\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalinvoice.class.php + path: ../../../htdocs/webportal/class/webportalinvoice.class.php - message: '#^Call to function method_exists\(\) with \$this\(WebPortalInvoice\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalinvoice.class.php + path: ../../../htdocs/webportal/class/webportalinvoice.class.php - message: '#^Call to function property_exists\(\) with \$this\(WebPortalInvoice\) and ''fk_user_author'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalinvoice.class.php + path: ../../../htdocs/webportal/class/webportalinvoice.class.php - message: '#^Call to function property_exists\(\) with \$this\(WebPortalInvoice\) and ''socid'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalinvoice.class.php + path: ../../../htdocs/webportal/class/webportalinvoice.class.php - message: '#^Loose comparison using \=\= between ''nolink'' and ''nolink'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../htdocs/webportal/class/webportalinvoice.class.php + path: ../../../htdocs/webportal/class/webportalinvoice.class.php - message: '#^Call to function is_array\(\) with array\{\}\|array\{mixed\} will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalmember.class.php + path: ../../../htdocs/webportal/class/webportalmember.class.php - message: '#^Strict comparison using \=\=\= between ''nolink'' and ''nolink'' will always evaluate to true\.$#' identifier: identical.alwaysTrue count: 1 - path: ../../htdocs/webportal/class/webportalmember.class.php + path: ../../../htdocs/webportal/class/webportalmember.class.php - message: '#^Ternary operator condition is always false\.$#' identifier: ternary.alwaysFalse count: 1 - path: ../../htdocs/webportal/class/webportalmember.class.php + path: ../../../htdocs/webportal/class/webportalmember.class.php - message: '#^Call to function method_exists\(\) with \$this\(WebPortalOrder\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalorder.class.php + path: ../../../htdocs/webportal/class/webportalorder.class.php - message: '#^Call to function method_exists\(\) with \$this\(WebPortalOrder\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalorder.class.php + path: ../../../htdocs/webportal/class/webportalorder.class.php - message: '#^Call to function property_exists\(\) with \$this\(WebPortalOrder\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalorder.class.php + path: ../../../htdocs/webportal/class/webportalorder.class.php - message: '#^Call to function property_exists\(\) with \$this\(WebPortalOrder\) and ''total_ht'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalorder.class.php + path: ../../../htdocs/webportal/class/webportalorder.class.php - message: '#^Strict comparison using \=\=\= between ''nolink'' and ''nolink'' will always evaluate to true\.$#' identifier: identical.alwaysTrue count: 1 - path: ../../htdocs/webportal/class/webportalorder.class.php + path: ../../../htdocs/webportal/class/webportalorder.class.php - message: '#^Loose comparison using \!\= between ''nolink'' and ''nolink'' will always evaluate to false\.$#' identifier: notEqual.alwaysFalse count: 1 - path: ../../htdocs/webportal/class/webportalpartnership.class.php + path: ../../../htdocs/webportal/class/webportalpartnership.class.php - message: '#^Loose comparison using \=\= between ''nolink'' and ''nolink'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 2 - path: ../../htdocs/webportal/class/webportalpartnership.class.php + path: ../../../htdocs/webportal/class/webportalpartnership.class.php - message: '#^Property Partnership\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/webportal/class/webportalpartnership.class.php + path: ../../../htdocs/webportal/class/webportalpartnership.class.php - message: '#^Call to function method_exists\(\) with \$this\(WebPortalPropal\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalpropal.class.php + path: ../../../htdocs/webportal/class/webportalpropal.class.php - message: '#^Call to function method_exists\(\) with \$this\(WebPortalPropal\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webportal/class/webportalpropal.class.php + path: ../../../htdocs/webportal/class/webportalpropal.class.php - message: '#^Property Propal\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/webportal/class/webportalpropal.class.php + path: ../../../htdocs/webportal/class/webportalpropal.class.php - message: '#^Strict comparison using \=\=\= between ''nolink'' and ''nolink'' will always evaluate to true\.$#' identifier: identical.alwaysTrue count: 1 - path: ../../htdocs/webportal/class/webportalpropal.class.php + path: ../../../htdocs/webportal/class/webportalpropal.class.php - message: '#^Parameter \#1 \$authentication of function check_authentication expects array\{login\: string, password\: string, entity\: int\|null, dolibarrkey\: string\}, array\{login\: string, entity\: int\} given\.$#' identifier: argument.type count: 1 - path: ../../htdocs/webservices/server_category.php + path: ../../../htdocs/webservices/server_category.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/webservices/server_invoice.php + path: ../../../htdocs/webservices/server_invoice.php - message: '#^Call to function is_array\(\) with non\-empty\-array\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/webservices/server_productorservice.php + path: ../../../htdocs/webservices/server_productorservice.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/webservices/server_project.php + path: ../../../htdocs/webservices/server_project.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 4 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 2 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Parameter \#2 \$arrayreplacement of function dolReplaceInFile expects array\, array\ given\.$#' identifier: argument.type count: 3 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$description \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$entity \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 3 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$fk_default_home \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$fk_user_creat \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$fk_user_modif \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$lang \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$otherlang \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 2 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$ref \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 4 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Property Website\:\:\$virtualhost \(string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Variable \$aliasesarray might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Variable \$destdir might not be defined\.$#' identifier: variable.undefined count: 13 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Variable \$destdirrel might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Variable \$maxrowid might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Variable \$newidforhome might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/website/class/website.class.php + path: ../../../htdocs/website/class/website.class.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../htdocs/website/class/websitepage.class.php + path: ../../../htdocs/website/class/websitepage.class.php - message: '#^Call to function is_array\(\) with list\ will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 2 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Left side of && is always true\.$#' identifier: booleanAnd.leftAlwaysTrue count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Left side of \|\| is always true\.$#' identifier: booleanOr.leftAlwaysTrue count: 2 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 2 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Right side of && is always true\.$#' identifier: booleanAnd.rightAlwaysTrue count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$atleastonepage might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$cate_arbo might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$containertype might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$contextpage in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$disabled might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$dolibarr_main_url_root might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$fileoldalias in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$langcode might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$otherfilters might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$tmpobject might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$urltograbdirrootwithoutslash might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Variable \$urltograbdirwithoutslash might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/website/index.php + path: ../../../htdocs/website/index.php - message: '#^Comparison operation "\>\=" between 1 and 0 is always true\.$#' identifier: greaterOrEqual.alwaysTrue count: 1 - path: ../../htdocs/website/samples/wrapper.php + path: ../../../htdocs/website/samples/wrapper.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 3 - path: ../../htdocs/website/samples/wrapper.php + path: ../../../htdocs/website/samples/wrapper.php - message: '#^If condition is always true\.$#' identifier: if.alwaysTrue count: 1 - path: ../../htdocs/website/samples/wrapper.php + path: ../../../htdocs/website/samples/wrapper.php - message: '#^Path in require_once\(\) "\./master\.inc\.php" is not a file or it does not exist\.$#' identifier: requireOnce.fileNotFound count: 1 - path: ../../htdocs/website/samples/wrapper.php + path: ../../../htdocs/website/samples/wrapper.php - message: '#^Ternary operator condition is always true\.$#' identifier: ternary.alwaysTrue count: 1 - path: ../../htdocs/website/samples/wrapper.php + path: ../../../htdocs/website/samples/wrapper.php - message: '#^Variable \$conf might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/website/samples/wrapper.php + path: ../../../htdocs/website/samples/wrapper.php - message: '#^Variable \$db might not be defined\.$#' identifier: variable.undefined count: 4 - path: ../../htdocs/website/samples/wrapper.php + path: ../../../htdocs/website/samples/wrapper.php - message: '#^Variable \$langs might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/website/samples/wrapper.php + path: ../../../htdocs/website/samples/wrapper.php - message: '#^Variable \$socid in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/website/websiteaccount_card.php + path: ../../../htdocs/website/websiteaccount_card.php - message: '#^Variable \$socid might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/website/websiteaccount_card.php + path: ../../../htdocs/website/websiteaccount_card.php - message: '#^Method Workstations\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/workstation/class/api_workstations.class.php + path: ../../../htdocs/workstation/class/api_workstations.class.php - message: '#^Call to function method_exists\(\) with \$this\(Workstation\) and ''getLibStatut'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Call to function method_exists\(\) with \$this\(Workstation\) and ''getNomUrl'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Call to function property_exists\(\) with \$this\(Workstation\) and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Call to function property_exists\(\) with \$this\(Workstation\) and ''thirdparty'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Call to function property_exists\(\) with Workstation and ''date_creation'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Call to function property_exists\(\) with Workstation and ''date_modification'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Call to function property_exists\(\) with Workstation and ''label'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Call to function property_exists\(\) with Workstation and ''ref'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Call to function property_exists\(\) with Workstation and ''status'' will always evaluate to true\.$#' identifier: function.alreadyNarrowedType count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^If condition is always false\.$#' identifier: if.alwaysFalse count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Method Workstation\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Property Workstation\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Property Workstation\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/workstation/class/workstation.class.php + path: ../../../htdocs/workstation/class/workstation.class.php - message: '#^Property Workstation\:\:\$status \(int\) in isset\(\) is not nullable\.$#' identifier: isset.property count: 1 - path: ../../htdocs/workstation/workstation_card.php + path: ../../../htdocs/workstation/workstation_card.php - message: '#^Variable \$extrafields might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/workstation/workstation_card.php + path: ../../../htdocs/workstation/workstation_card.php - message: '#^Variable \$formquestion might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../htdocs/workstation/workstation_card.php + path: ../../../htdocs/workstation/workstation_card.php - message: '#^Variable \$upload_dir might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/workstation/workstation_document.php + path: ../../../htdocs/workstation/workstation_document.php - message: '#^Variable \$val might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/workstation/workstation_list.php + path: ../../../htdocs/workstation/workstation_list.php - message: '#^Variable \$visible might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../htdocs/workstation/workstation_list.php + path: ../../../htdocs/workstation/workstation_list.php - message: '#^Variable \$arrayofparameters in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../htdocs/zapier/admin/setup.php + path: ../../../htdocs/zapier/admin/setup.php - message: '#^Left side of && is always false\.$#' identifier: booleanAnd.leftAlwaysFalse count: 3 - path: ../../htdocs/zapier/class/api_zapier.class.php + path: ../../../htdocs/zapier/class/api_zapier.class.php - message: '#^Method Zapier\:\:delete\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/zapier/class/api_zapier.class.php + path: ../../../htdocs/zapier/class/api_zapier.class.php - message: '#^Method Zapier\:\:getModulesChoices\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/zapier/class/api_zapier.class.php + path: ../../../htdocs/zapier/class/api_zapier.class.php - message: '#^Method Zapier\:\:index\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/zapier/class/api_zapier.class.php + path: ../../../htdocs/zapier/class/api_zapier.class.php - message: '#^Method Zapier\:\:post\(\) has parameter \$request_data with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/zapier/class/api_zapier.class.php + path: ../../../htdocs/zapier/class/api_zapier.class.php - message: '#^Method Zapier\:\:post\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/zapier/class/api_zapier.class.php + path: ../../../htdocs/zapier/class/api_zapier.class.php - message: '#^Property Zapier\:\:\$FIELDS type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue count: 1 - path: ../../htdocs/zapier/class/api_zapier.class.php + path: ../../../htdocs/zapier/class/api_zapier.class.php - message: '#^Result of && is always false\.$#' identifier: booleanAnd.alwaysFalse count: 1 - path: ../../htdocs/zapier/class/api_zapier.class.php + path: ../../../htdocs/zapier/class/api_zapier.class.php - message: '#^Variable \$num in isset\(\) always exists and is not nullable\.$#' identifier: isset.variable count: 1 - path: ../../scripts/bank/export-bank-receipts.php + path: ../../../scripts/bank/export-bank-receipts.php - message: '#^Result of \|\| is always false\.$#' identifier: booleanOr.alwaysFalse count: 1 - path: ../../scripts/doc/regenerate_docs.php + path: ../../../scripts/doc/regenerate_docs.php - message: '#^Variable \$dir in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../scripts/doc/regenerate_docs.php + path: ../../../scripts/doc/regenerate_docs.php - message: '#^Variable \$newlang in empty\(\) always exists and is always falsy\.$#' identifier: empty.variable count: 1 - path: ../../scripts/doc/regenerate_docs.php + path: ../../../scripts/doc/regenerate_docs.php - message: '#^Variable \$subdir in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../scripts/doc/regenerate_docs.php + path: ../../../scripts/doc/regenerate_docs.php - message: '#^Negated boolean expression is always false\.$#' identifier: booleanNot.alwaysFalse count: 1 - path: ../../scripts/emailings/mailing-send.php + path: ../../../scripts/emailings/mailing-send.php - message: '#^Variable \$mesg might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../scripts/emailings/mailing-send.php + path: ../../../scripts/emailings/mailing-send.php - message: '#^Variable \$statut might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../scripts/emailings/mailing-send.php + path: ../../../scripts/emailings/mailing-send.php - message: '#^Negated boolean expression is always true\.$#' identifier: booleanNot.alwaysTrue count: 1 - path: ../../scripts/emailings/reset-invalid-emails.php + path: ../../../scripts/emailings/reset-invalid-emails.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../scripts/members/sync_members_dolibarr2ldap.php + path: ../../../scripts/members/sync_members_dolibarr2ldap.php - message: '#^Unable to resolve the template type T in call to function array_values$#' identifier: argument.templateType count: 1 - path: ../../scripts/members/sync_members_ldap2dolibarr.php + path: ../../../scripts/members/sync_members_ldap2dolibarr.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 1 - path: ../../scripts/members/sync_members_ldap2dolibarr.php + path: ../../../scripts/members/sync_members_ldap2dolibarr.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../scripts/members/sync_members_types_dolibarr2ldap.php + path: ../../../scripts/members/sync_members_types_dolibarr2ldap.php - message: '#^Variable \$user might not be defined\.$#' identifier: variable.undefined count: 2 - path: ../../scripts/members/sync_members_types_ldap2dolibarr.php + path: ../../../scripts/members/sync_members_types_ldap2dolibarr.php - message: '#^Loose comparison using \=\= between ''product'' and ''product'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../scripts/product/migrate_picture_path.php + path: ../../../scripts/product/migrate_picture_path.php - message: '#^Result of \|\| is always false\.$#' identifier: booleanOr.alwaysFalse count: 1 - path: ../../scripts/product/regenerate_thumbs.php + path: ../../../scripts/product/regenerate_thumbs.php - message: '#^Variable \$dir in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../scripts/product/regenerate_thumbs.php + path: ../../../scripts/product/regenerate_thumbs.php - message: '#^Variable \$subdir in empty\(\) always exists and is not falsy\.$#' identifier: empty.variable count: 1 - path: ../../scripts/product/regenerate_thumbs.php + path: ../../../scripts/product/regenerate_thumbs.php - message: '#^Loose comparison using \=\= between ''user'' and ''user'' will always evaluate to true\.$#' identifier: equal.alwaysTrue count: 1 - path: ../../scripts/user/migrate_picture_path.php + path: ../../../scripts/user/migrate_picture_path.php - message: '#^Unable to resolve the template type T in call to function array_values$#' identifier: argument.templateType count: 1 - path: ../../scripts/user/sync_users_ldap2dolibarr.php + path: ../../../scripts/user/sync_users_ldap2dolibarr.php diff --git a/build/rpm/GURULABS-RPM-GUIDE-v1.0.PDF b/dev/build/rpm/GURULABS-RPM-GUIDE-v1.0.PDF similarity index 100% rename from build/rpm/GURULABS-RPM-GUIDE-v1.0.PDF rename to dev/build/rpm/GURULABS-RPM-GUIDE-v1.0.PDF diff --git a/build/rpm/README b/dev/build/rpm/README similarity index 95% rename from build/rpm/README rename to dev/build/rpm/README index ab7be252ccb..ef10378b20a 100644 --- a/build/rpm/README +++ b/dev/build/rpm/README @@ -3,7 +3,7 @@ README (English) RPM Package tools ################################################## -This directory contains files used by makepack-dolibarr.pl script to build a package, +This directory contains files used by makepack-dolibarr.pl script to build a package, ready to be distributed with format RPM (https://rpm.org) for Linux Distributions like Redhat, Fedora, CentOS, OpenSuse, OpenMandriva, Mageia ... @@ -20,11 +20,11 @@ for Linux Distributions like Redhat, Fedora, CentOS, OpenSuse, OpenMandriva, Mag # On Fedora # ========= -# rpm -i --test dolibarr-...rpm to list dependencies of RPM -# yum -v install dolibarr-...rpm to install package and dependencies -# yum -v erase dolibarr to remove package -# chcon -R -h -t httpd_sys_script_rw_t /file to add temporary context rw for httpd on /file -# restorecon -R -v /file to restore values into files (cancel chcon, validate semanage) +# rpm -i --test dolibarr-...rpm to list dependencies of RPM +# yum -v install dolibarr-...rpm to install package and dependencies +# yum -v erase dolibarr to remove package +# chcon -R -h -t httpd_sys_script_rw_t /file to add temporary context rw for httpd on /file +# restorecon -R -v /file to restore values into files (cancel chcon, validate semanage) # semanage fcontext -a -t httpd_sys_script_rw_t "/dir/(.*)?" to add persistent context rw for httpd on /dir (this add file_contexts.local) diff --git a/build/rpm/conf.php b/dev/build/rpm/conf.php similarity index 100% rename from build/rpm/conf.php rename to dev/build/rpm/conf.php diff --git a/build/rpm/dolibarr-forrpm.patch b/dev/build/rpm/dolibarr-forrpm.patch similarity index 97% rename from build/rpm/dolibarr-forrpm.patch rename to dev/build/rpm/dolibarr-forrpm.patch index 884d1a02e40..5ef30d39025 100644 --- a/build/rpm/dolibarr-forrpm.patch +++ b/dev/build/rpm/dolibarr-forrpm.patch @@ -1,7 +1,7 @@ diff -up htdocs/filefunc.inc.php.patch htdocs/filefunc.inc.php --- htdocs/filefunc.inc.php.patch 2011-09-03 02:32:48.666952000 +0200 +++ htdocs/filefunc.inc.php 2011-09-03 02:33:00.510952001 +0200 -@@ -63,8 +63,8 @@ +@@ -63,8 +63,8 @@ $conffile = "conf/conf.php"; $conffiletoshow = "htdocs/conf/conf.php"; // For debian/redhat like systems @@ -9,8 +9,8 @@ diff -up htdocs/filefunc.inc.php.patch htdocs/filefunc.inc.php -//$conffiletoshow = "/etc/dolibarr/conf.php"; +$conffile = "/etc/dolibarr/conf.php"; +$conffiletoshow = "/etc/dolibarr/conf.php"; - - + + // Include configuration diff -up htdocs/install/inc.php.patch htdocs/install/inc.php --- htdocs/install/inc.php.patch 2011-09-03 02:33:26.450952000 +0200 @@ -23,6 +23,6 @@ diff -up htdocs/install/inc.php.patch htdocs/install/inc.php -//$conffiletoshow = "/etc/dolibarr/conf.php"; +$conffile = "/etc/dolibarr/conf.php"; +$conffiletoshow = "/etc/dolibarr/conf.php"; - + $short_options = "c:h"; $long_options = array( diff --git a/build/rpm/dolibarr.desktop b/dev/build/rpm/dolibarr.desktop similarity index 97% rename from build/rpm/dolibarr.desktop rename to dev/build/rpm/dolibarr.desktop index 8a2d8adb99c..c574c6d3e88 100644 --- a/build/rpm/dolibarr.desktop +++ b/dev/build/rpm/dolibarr.desktop @@ -13,7 +13,7 @@ Comment[es]=Software para gestión de PYMES, profesionales independientes, auto Comment[fr]=L'ERP & CRM simple pour la gestion des TPE, PME, associations et auto-entrepreneurs Comment[it]=Programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti # Command to open an URL -# For Fedora: xdg-open +# For Fedora: xdg-open # For Debian/Ubuntu: xdg-open or x-www-browser # (exo-open for xfde, gnome-open for gnome, ...) Exec=xdg-open http://localhost/dolibarr diff --git a/build/rpm/dolibarr_fedora.spec b/dev/build/rpm/dolibarr_fedora.spec similarity index 92% rename from build/rpm/dolibarr_fedora.spec rename to dev/build/rpm/dolibarr_fedora.spec index f17cf690160..77860e9d744 100644 --- a/build/rpm/dolibarr_fedora.spec +++ b/dev/build/rpm/dolibarr_fedora.spec @@ -84,23 +84,23 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name} -%{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php -%{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf -%{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr -%{__install} -m 644 build/rpm/install.forced.php.fedora $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php +%{__install} -m 644 dev/build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php +%{__install} -m 644 dev/build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf +%{__install} -m 644 dev/build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr +%{__install} -m 644 dev/build/rpm/install.forced.php.fedora $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps %{__install} -m 644 doc/images/appicon_64.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications -#desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications build/rpm/%{name}.desktop -%{__install} -m 644 build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop +#desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications dev/build/rpm/%{name}.desktop +%{__install} -m 644 dev/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/rpm +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/tgz %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts -%{__cp} -pr build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm -%{__cp} -pr build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz +%{__cp} -pr dev/build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/rpm +%{__cp} -pr dev/build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/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 @@ -146,13 +146,13 @@ done >>%{name}.lang %_datadir/pixmaps/dolibarr.png %_datadir/applications/dolibarr.desktop -%dir %_datadir/dolibarr/build +%dir %_datadir/dolibarr/dev/build -%dir %_datadir/dolibarr/build/rpm -%_datadir/dolibarr/build/rpm/* +%dir %_datadir/dolibarr/dev/build/rpm +%_datadir/dolibarr/dev/build/rpm/* -%dir %_datadir/dolibarr/build/tgz -%_datadir/dolibarr/build/tgz/* +%dir %_datadir/dolibarr/dev/build/tgz +%_datadir/dolibarr/dev/build/tgz/* %dir %_datadir/dolibarr/htdocs %_datadir/dolibarr/htdocs/accountancy diff --git a/build/rpm/dolibarr_generic.spec b/dev/build/rpm/dolibarr_generic.spec similarity index 92% rename from build/rpm/dolibarr_generic.spec rename to dev/build/rpm/dolibarr_generic.spec index b0ac7d65e80..2c3da4a4817 100644 --- a/build/rpm/dolibarr_generic.spec +++ b/dev/build/rpm/dolibarr_generic.spec @@ -133,19 +133,19 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name} %endif -%{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php -%{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf -%{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr +%{__install} -m 644 dev/build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php +%{__install} -m 644 dev/build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf +%{__install} -m 644 dev/build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} -%{__install} -m 644 build/rpm/install.forced.php.fedora $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php +%{__install} -m 644 dev/build/rpm/install.forced.php.fedora $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php %else %if 0%{?mdkversion} -%{__install} -m 644 build/rpm/install.forced.php.mandriva $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php +%{__install} -m 644 dev/build/rpm/install.forced.php.mandriva $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php %else %if 0%{?suse_version} -%{__install} -m 644 build/rpm/install.forced.php.opensuse $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php +%{__install} -m 644 dev/build/rpm/install.forced.php.opensuse $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php %else -%{__install} -m 644 build/rpm/install.forced.php.generic $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php +%{__install} -m 644 dev/build/rpm/install.forced.php.generic $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php %endif %endif %endif @@ -153,18 +153,18 @@ cui hai bisogno ed essere facile da usare. %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps %{__install} -m 644 doc/images/appicon_64.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications -%{__install} -m 644 build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop +%{__install} -m 644 dev/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop %if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} || 0%{?suse_version} -#Commented as it fails with error: /usr/bin/install: cannot stat build/rpm/dolibarr.desktop: No such file or directory -#desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications build/rpm/%{name}.desktop --vendor="" +#Commented as it fails with error: /usr/bin/install: cannot stat dev/build/rpm/dolibarr.desktop: No such file or directory +#desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications dev/build/rpm/%{name}.desktop --vendor="" %endif -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/rpm +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/tgz %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts -%{__cp} -pr build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm -%{__cp} -pr build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz +%{__cp} -pr dev/build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/rpm +%{__cp} -pr dev/build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/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 @@ -227,13 +227,13 @@ done >>%{name}.lang %_datadir/pixmaps/dolibarr.png %_datadir/applications/dolibarr.desktop -%dir %_datadir/dolibarr/build +%dir %_datadir/dolibarr/dev/build -%dir %_datadir/dolibarr/build/rpm -%_datadir/dolibarr/build/rpm/* +%dir %_datadir/dolibarr/dev/build/rpm +%_datadir/dolibarr/dev/build/rpm/* -%dir %_datadir/dolibarr/build/tgz -%_datadir/dolibarr/build/tgz/* +%dir %_datadir/dolibarr/dev/build/tgz +%_datadir/dolibarr/dev/build/tgz/* %dir %_datadir/dolibarr/htdocs %_datadir/dolibarr/htdocs/accountancy @@ -413,7 +413,7 @@ then superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') fi echo Mysql superuser found to use is $superuserlogin - %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.generic | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig + %{__cat} /usr/share/dolibarr/dev/build/rpm/install.forced.php.generic | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig %{__chmod} -R 660 $installconfig fi %endif diff --git a/build/rpm/dolibarr_mandriva.spec b/dev/build/rpm/dolibarr_mandriva.spec similarity index 92% rename from build/rpm/dolibarr_mandriva.spec rename to dev/build/rpm/dolibarr_mandriva.spec index e1d70e7de93..543a91bfff1 100644 --- a/build/rpm/dolibarr_mandriva.spec +++ b/dev/build/rpm/dolibarr_mandriva.spec @@ -83,23 +83,23 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name} -%{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php -%{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf -%{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr -%{__install} -m 644 build/rpm/install.forced.php.mandriva $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php +%{__install} -m 644 dev/build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php +%{__install} -m 644 dev/build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf +%{__install} -m 644 dev/build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr +%{__install} -m 644 dev/build/rpm/install.forced.php.mandriva $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps %{__install} -m 644 doc/images/appicon_64.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications -#desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications build/rpm/%{name}.desktop -%{__install} -m 644 build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop +#desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications dev/build/rpm/%{name}.desktop +%{__install} -m 644 dev/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/rpm +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/tgz %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts -%{__cp} -pr build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm -%{__cp} -pr build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz +%{__cp} -pr dev/build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/rpm +%{__cp} -pr dev/build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/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 @@ -144,13 +144,13 @@ done >>%{name}.lang %_datadir/pixmaps/dolibarr.png %_datadir/applications/dolibarr.desktop -%dir %_datadir/dolibarr/build +%dir %_datadir/dolibarr/dev/build -%dir %_datadir/dolibarr/build/rpm -%_datadir/dolibarr/build/rpm/* +%dir %_datadir/dolibarr/dev/build/rpm +%_datadir/dolibarr/dev/build/rpm/* -%dir %_datadir/dolibarr/build/tgz -%_datadir/dolibarr/build/tgz/* +%dir %_datadir/dolibarr/dev/build/tgz +%_datadir/dolibarr/dev/build/tgz/* %dir %_datadir/dolibarr/htdocs %_datadir/dolibarr/htdocs/accountancy diff --git a/build/rpm/dolibarr_opensuse.spec b/dev/build/rpm/dolibarr_opensuse.spec similarity index 92% rename from build/rpm/dolibarr_opensuse.spec rename to dev/build/rpm/dolibarr_opensuse.spec index 7a8e42664e5..9af35bca1d2 100644 --- a/build/rpm/dolibarr_opensuse.spec +++ b/dev/build/rpm/dolibarr_opensuse.spec @@ -83,23 +83,23 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name} -%{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php -%{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf -%{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr -%{__install} -m 644 build/rpm/install.forced.php.opensuse $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php +%{__install} -m 644 dev/build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php +%{__install} -m 644 dev/build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf +%{__install} -m 644 dev/build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr +%{__install} -m 644 dev/build/rpm/install.forced.php.opensuse $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/install.forced.php %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps %{__install} -m 644 doc/images/appicon_64.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications -#desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications build/rpm/%{name}.desktop -%{__install} -m 644 build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop +#desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications dev/build/rpm/%{name}.desktop +%{__install} -m 644 dev/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm -%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/rpm +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/tgz %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/htdocs %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts -%{__cp} -pr build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/rpm -%{__cp} -pr build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/build/tgz +%{__cp} -pr dev/build/rpm/* $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/build/rpm +%{__cp} -pr dev/build/tgz/* $RPM_BUILD_ROOT%{_datadir}/%{name}/dev/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 @@ -154,13 +154,13 @@ done >>%{name}.lang %_datadir/pixmaps/dolibarr.png %_datadir/applications/dolibarr.desktop -%dir %_datadir/dolibarr/build +%dir %_datadir/dolibarr/dev/build -%dir %_datadir/dolibarr/build/rpm -%_datadir/dolibarr/build/rpm/* +%dir %_datadir/dolibarr/dev/build/rpm +%_datadir/dolibarr/dev/build/rpm/* -%dir %_datadir/dolibarr/build/tgz -%_datadir/dolibarr/build/tgz/* +%dir %_datadir/dolibarr/dev/build/tgz +%_datadir/dolibarr/dev/build/tgz/* %dir %_datadir/dolibarr/htdocs %_datadir/dolibarr/htdocs/accountancy diff --git a/build/rpm/file_contexts.dolibarr b/dev/build/rpm/file_contexts.dolibarr similarity index 98% rename from build/rpm/file_contexts.dolibarr rename to dev/build/rpm/file_contexts.dolibarr index 9dbe838d2ad..38c51c9ed6d 100644 --- a/build/rpm/file_contexts.dolibarr +++ b/dev/build/rpm/file_contexts.dolibarr @@ -4,6 +4,6 @@ # # Note: To allow temporary write permission for httpd: # chcon -R -h -t httpd_sys_script_rw_t /dirtoallow -# +# /etc/dolibarr(/.*?) system_u:object_r:httpd_sys_script_rw_t:s0 -/var/lib/dolibarr(/.*?) system_u:object_r:httpd_sys_script_rw_t:s0 \ No newline at end of file +/var/lib/dolibarr(/.*?) system_u:object_r:httpd_sys_script_rw_t:s0 diff --git a/build/rpm/httpd-dolibarr.conf b/dev/build/rpm/httpd-dolibarr.conf similarity index 98% rename from build/rpm/httpd-dolibarr.conf rename to dev/build/rpm/httpd-dolibarr.conf index ebda2b3ddfc..a33cf6db84b 100644 --- a/build/rpm/httpd-dolibarr.conf +++ b/dev/build/rpm/httpd-dolibarr.conf @@ -31,15 +31,15 @@ Alias /dolibarr /usr/share/dolibarr/htdocs # OPTIMIZE: To use gzip compressed files (for Dolibarr already compressed files). - # Note that constant MAIN_OPTIMIZE_SPEED must have a value with bit 0 set. + # Note that constant MAIN_OPTIMIZE_SPEED must have a value with bit 0 set. #AddType text/javascript .jgz #AddEncoding gzip .jgz - + # OPTIMIZE: To use gzip compression (on the fly). # Note that you must also enable the module mod_deflate. - # You can also set this with constant MAIN_OPTIMIZE_SPEED and bit 2 set. + # You can also set this with constant MAIN_OPTIMIZE_SPEED and bit 2 set. #TODO - + # OPTIMIZE: To use cache on static pages (A259200 = 1 month). # Note that you must also enable the module mod_expires. #ExpiresActive On @@ -51,7 +51,7 @@ Alias /dolibarr /usr/share/dolibarr/htdocs #ExpiresByType text/javascript A2592000 #ExpiresByType application/x-javascript A2592000 #ExpiresByType application/javascript A2592000 - + # Directory for public pages @@ -103,4 +103,3 @@ Alias /dolibarr /usr/share/dolibarr/htdocs AllowOverride All - diff --git a/build/rpm/install.forced.php.fedora b/dev/build/rpm/install.forced.php.fedora similarity index 100% rename from build/rpm/install.forced.php.fedora rename to dev/build/rpm/install.forced.php.fedora diff --git a/build/rpm/install.forced.php.generic b/dev/build/rpm/install.forced.php.generic similarity index 100% rename from build/rpm/install.forced.php.generic rename to dev/build/rpm/install.forced.php.generic diff --git a/build/rpm/install.forced.php.mandriva b/dev/build/rpm/install.forced.php.mandriva similarity index 100% rename from build/rpm/install.forced.php.mandriva rename to dev/build/rpm/install.forced.php.mandriva diff --git a/build/rpm/install.forced.php.opensuse b/dev/build/rpm/install.forced.php.opensuse similarity index 100% rename from build/rpm/install.forced.php.opensuse rename to dev/build/rpm/install.forced.php.opensuse diff --git a/build/sitemap/README b/dev/build/sitemap/README similarity index 73% rename from build/sitemap/README rename to dev/build/sitemap/README index a06bd58f259..8f286ed7db7 100644 --- a/build/sitemap/README +++ b/dev/build/sitemap/README @@ -1,6 +1,5 @@ # Format of sitemap file is available at # https://www.sitemaps.org/protocol.html -# To build a sitemap from urllist-bing.txt, run +# To build a sitemap from urllist-bing.txt, run # google-sitemapgen --config=config-bing.xml --testing - diff --git a/build/sitemap/config-bing.xml b/dev/build/sitemap/config-bing.xml similarity index 99% rename from build/sitemap/config-bing.xml rename to dev/build/sitemap/config-bing.xml index c08d8bb7a5d..346c7b08b80 100644 --- a/build/sitemap/config-bing.xml +++ b/dev/build/sitemap/config-bing.xml @@ -57,7 +57,7 @@ changefreq - how often content at this URL is usually updated priority - value 0.0 to 1.0 of relative importance in your site --> - - - - diff --git a/build/sitemap/urllist-wiki.txt b/dev/build/sitemap/urllist-wiki.txt similarity index 100% rename from build/sitemap/urllist-wiki.txt rename to dev/build/sitemap/urllist-wiki.txt diff --git a/build/tgz/README b/dev/build/tgz/README similarity index 93% rename from build/tgz/README rename to dev/build/tgz/README index e556b78fd67..01d2defc68e 100644 --- a/build/tgz/README +++ b/dev/build/tgz/README @@ -5,4 +5,4 @@ TGZ Package tools This directory contains files used by makepack-dolibarr.pl script to build a package, ready to be distributed, -with format .tgz \ No newline at end of file +with format .tgz diff --git a/build/tgz/tar_exclude.txt b/dev/build/tgz/tar_exclude.txt similarity index 92% rename from build/tgz/tar_exclude.txt rename to dev/build/tgz/tar_exclude.txt index 4a69b4e87dc..c5173fe955d 100644 --- a/build/tgz/tar_exclude.txt +++ b/dev/build/tgz/tar_exclude.txt @@ -4,8 +4,8 @@ .gitignore .scrutinizer.yml Thumbs.db -build/exe -build/html +dev/build/exe +dev/build/html dev/examples/zapier dev/initdemo dev/initdata diff --git a/build/travis-ci/apache.conf b/dev/build/travis-ci/apache.conf similarity index 99% rename from build/travis-ci/apache.conf rename to dev/build/travis-ci/apache.conf index 1d8b5d33923..7d9dadca124 100644 --- a/build/travis-ci/apache.conf +++ b/dev/build/travis-ci/apache.conf @@ -14,7 +14,7 @@ # Action php5-fcgi /php5-fcgi # Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi # FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization - # + # # # Require all granted # diff --git a/build/zip/README b/dev/build/zip/README similarity index 93% rename from build/zip/README rename to dev/build/zip/README index f96f373f964..ea103a6b95e 100644 --- a/build/zip/README +++ b/dev/build/zip/README @@ -5,4 +5,4 @@ ZIP Package tools This directory contains files used by makepack-dolibarr.pl script to build a package, ready to be distributed, -with format .zip \ No newline at end of file +with format .zip diff --git a/build/zip/zip_exclude.txt b/dev/build/zip/zip_exclude.txt similarity index 91% rename from build/zip/zip_exclude.txt rename to dev/build/zip/zip_exclude.txt index 88bd22826ff..11a17d808d8 100644 --- a/build/zip/zip_exclude.txt +++ b/dev/build/zip/zip_exclude.txt @@ -1,8 +1,8 @@ *~ *.#* Thumbs.db -*/build/exe -*/build/html +*/dev/build/exe +*/dev/build/html */dev/dbmodel/* */dev/fpdf/* */dev/initdemo/* diff --git a/dev/setup/codesniffer/ruleset.xml b/dev/setup/codesniffer/ruleset.xml index 50b107f5fcc..25ccaa38c40 100644 --- a/dev/setup/codesniffer/ruleset.xml +++ b/dev/setup/codesniffer/ruleset.xml @@ -7,7 +7,7 @@ - /build/(html|aps)/ + /dev/build/(html|aps)/ /dev/tools/test/namespacemig/ /dev/tools/phan/stubs/ diff --git a/dev/tools/apstats.php b/dev/tools/apstats.php index 825257dadbe..2e7e1b2b39a 100755 --- a/dev/tools/apstats.php +++ b/dev/tools/apstats.php @@ -149,7 +149,7 @@ $phpstanversion = $output_arrtd[0]; $output_arrtd = array(); if ($dirphpstan != 'disabled') { - $commandcheck = ($dirphpstan ? $dirphpstan.'/' : '').'phpstan --level='.$PHPSTANLEVEL.' -v analyze -a build/phpstan/bootstrap.php --memory-limit 8G --error-format=github -c ~/preview.dolibarr.org/dolibarr/dev/tools/phpstan/phpstan_v1_apstats.neon'; + $commandcheck = ($dirphpstan ? $dirphpstan.'/' : '').'phpstan --level='.$PHPSTANLEVEL.' -v analyze -a dev/build/phpstan/bootstrap.php --memory-limit 8G --error-format=github -c ~/preview.dolibarr.org/dolibarr/dev/tools/phpstan/phpstan_v1_apstats.neon'; print 'Execute PHPStan to get the technical debt: '.$commandcheck."\n"; $resexectd = 0; exec($commandcheck, $output_arrtd, $resexectd); diff --git a/dev/tools/fixcopyrightheader.php b/dev/tools/fixcopyrightheader.php index bda934bf3b7..423c455f596 100755 --- a/dev/tools/fixcopyrightheader.php +++ b/dev/tools/fixcopyrightheader.php @@ -1,6 +1,6 @@ #!/usr/bin/env php +/* Copyright (C) 2024-2025 MDW * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -125,9 +125,11 @@ function updateCopyrightNotice($filename, $fileType, $name, $email) $matches = array(); if (preg_match($pattern, $lines, $matches)) { $existingYear = $matches['last']; + $startYear = null; if (array_key_exists('start', $matches)) { $startYear = $matches['start']; - } else { + } + if (empty($startYear)) { $startYear = $existingYear; } @@ -135,7 +137,6 @@ function updateCopyrightNotice($filename, $fileType, $name, $email) if ($existingYear !== date('Y')) { // Extend the year range to the current year $updatedNotice = preg_replace('/(?:\d{4}-)?\d{4}\s+/', $startYear . '-' . date('Y') . "\t", $matches[0]); - // Replace the old notice with the updated one in the file file_put_contents($filename, preg_replace($pattern, $updatedNotice, file_get_contents($filename))); return true; // Change detected diff --git a/dev/tools/phan/baseline.txt b/dev/tools/phan/baseline.txt index 6d3df7446b4..65d97c5a1e7 100644 --- a/dev/tools/phan/baseline.txt +++ b/dev/tools/phan/baseline.txt @@ -10,8 +10,8 @@ return [ // # Issue statistics: // PhanUndeclaredProperty : 560+ occurrences - // PhanPossiblyUndeclaredGlobalVariable : 320+ occurrences - // PhanUndeclaredGlobalVariable : 290+ occurrences + // PhanPossiblyUndeclaredGlobalVariable : 310+ occurrences + // PhanUndeclaredGlobalVariable : 280+ occurrences // PhanTypeMismatchArgumentProbablyReal : 230+ occurrences // PhanPluginUnknownArrayMethodReturnType : 180+ occurrences // PhanTypeMismatchProperty : 130+ occurrences @@ -21,31 +21,31 @@ return [ // PhanRedefineFunction : 45+ occurrences // PhanTypeExpectedObjectPropAccess : 45+ occurrences // PhanTypeMismatchArgumentNullableInternal : 40+ occurrences - // PhanPluginSuspiciousParamOrder : 35+ occurrences // PhanTypeInvalidDimOffset : 30+ occurrences // PhanTypeMismatchDimFetch : 30+ occurrences // PhanPluginEmptyStatementIf : 15+ occurrences - // PhanPluginUnknownObjectMethodCall : 10+ occurrences // PhanTypeComparisonFromArray : 10+ occurrences // PhanTypeMismatchDimFetchNullable : 10+ occurrences // PhanUndeclaredMethod : 10+ occurrences // PhanEmptyForeach : 8 occurrences + // PhanPluginUnknownObjectMethodCall : 8 occurrences // PhanPluginBothLiteralsBinaryOp : 7 occurrences // PhanPluginDuplicateExpressionBinaryOp : 7 occurrences // PhanPluginSuspiciousParamPosition : 7 occurrences // PhanTypeArraySuspiciousNull : 6 occurrences // PhanParamTooMany : 5 occurrences - // PhanPossiblyNullTypeMismatchProperty : 5 occurrences + // PhanPossiblyNullTypeMismatchProperty : 4 occurrences // PhanEmptyFQSENInClasslike : 3 occurrences // PhanInvalidFQSENInClasslike : 3 occurrences // PhanTypeMismatchReturn : 3 occurrences - // PhanTypeExpectedObjectPropAccessButGotNull : 2 occurrences // PhanTypeMismatchDimAssignment : 2 occurrences // PhanTypeSuspiciousStringExpression : 2 occurrences // PhanUndeclaredTypeParameter : 2 occurrences // PhanAccessMethodProtected : 1 occurrence + // PhanPluginDuplicateExpressionAssignmentOperation : 1 occurrence // PhanPluginUnknownArrayPropertyType : 1 occurrence // PhanTypeConversionFromArray : 1 occurrence + // PhanTypeExpectedObjectPropAccessButGotNull : 1 occurrence // PhanTypeMismatchArgumentInternalProbablyReal : 1 occurrence // Currently, file_suppressions and directory_suppressions are the only supported suppressions @@ -144,6 +144,7 @@ return [ 'htdocs/core/class/conf.class.php' => ['PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchProperty'], 'htdocs/core/class/ctyperesource.class.php' => ['PhanUndeclaredProperty'], 'htdocs/core/class/cunits.class.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/core/class/doleditor.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation'], 'htdocs/core/class/dolgraph.class.php' => ['PhanUndeclaredProperty'], 'htdocs/core/class/emailsenderprofile.class.php' => ['PhanUndeclaredProperty'], 'htdocs/core/class/hookmanager.class.php' => ['PhanUndeclaredProperty'], @@ -169,65 +170,49 @@ return [ 'htdocs/core/lib/project.lib.php' => ['PhanUndeclaredProperty'], 'htdocs/core/lib/xcal.lib.php' => ['PhanUndeclaredProperty'], 'htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/core/modules/asset/mod_asset_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/asset/mod_asset_advanced.php' => ['PhanUndeclaredProperty'], 'htdocs/core/modules/barcode/doc/phpbarcode.modules.php' => ['PhanPossiblyNullTypeMismatchProperty', 'PhanPossiblyUndeclaredVariable'], - 'htdocs/core/modules/barcode/mod_barcode_product_standard.php' => ['PhanPluginSuspiciousParamOrder', 'PhanPluginUnknownPropertyType'], - 'htdocs/core/modules/barcode/mod_barcode_thirdparty_standard.php' => ['PhanPluginSuspiciousParamOrder'], - 'htdocs/core/modules/bom/mod_bom_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/cheque/mod_chequereceipt_thyme.php' => ['PhanPluginSuspiciousParamOrder'], + 'htdocs/core/modules/barcode/mod_barcode_product_standard.php' => ['PhanPluginUnknownPropertyType'], + 'htdocs/core/modules/bom/mod_bom_advanced.php' => ['PhanUndeclaredProperty'], 'htdocs/core/modules/commande/doc/pdf_einstein.modules.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], 'htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/commande/mod_commande_saphir.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/commande/modules_commande.php' => ['PhanPluginUnknownPropertyType'], 'htdocs/core/modules/contract/doc/pdf_strato.modules.php' => ['PhanTypeMismatchArgumentNullableInternal'], - 'htdocs/core/modules/contract/mod_contract_magre.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/delivery/doc/pdf_storm.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/core/modules/delivery/doc/pdf_typhon.modules.php' => ['PhanPluginUnknownPropertyType'], - 'htdocs/core/modules/delivery/mod_delivery_saphir.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/delivery/mod_delivery_saphir.php' => ['PhanUndeclaredProperty'], 'htdocs/core/modules/expedition/doc/pdf_merou.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/core/modules/expedition/mod_expedition_ribera.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/expensereport/mod_expensereport_sand.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/facture/doc/pdf_crabe.modules.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], 'htdocs/core/modules/facture/doc/pdf_octopus.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], 'htdocs/core/modules/facture/doc/pdf_sponge.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], 'htdocs/core/modules/facture/modules_facture.php' => ['PhanPluginUnknownPropertyType'], - 'htdocs/core/modules/fichinter/mod_arctic.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/fichinter/mod_pacific.php' => ['PhanPossiblyUndeclaredVariable'], - 'htdocs/core/modules/holiday/mod_holiday_immaculate.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/hrm/mod_evaluation_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/hrm/mod_evaluation_advanced.php' => ['PhanUndeclaredProperty'], 'htdocs/core/modules/import/import_csv.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchProperty'], 'htdocs/core/modules/import/import_xlsx.modules.php' => ['PhanTypeMismatchProperty'], 'htdocs/core/modules/mailings/contacts1.modules.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/core/modules/mailings/thirdparties.modules.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php' => ['PhanPluginDuplicateExpressionBinaryOp', 'PhanPluginEmptyStatementIf', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable'], 'htdocs/core/modules/mrp/doc/pdf_vinci.modules.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/mrp/mod_mo_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/mrp/mod_mo_advanced.php' => ['PhanUndeclaredProperty'], 'htdocs/core/modules/oauth/github_oauthcallback.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/core/modules/payment/mod_payment_ant.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/printing/printgcp.modules.php' => ['PhanTypeMismatchDimFetch'], 'htdocs/core/modules/product/doc/pdf_standard.modules.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredVariable'], - 'htdocs/core/modules/product/mod_codeproduct_elephant.php' => ['PhanPluginSuspiciousParamOrder'], - 'htdocs/core/modules/product_batch/mod_lot_advanced.php' => ['PhanPluginSuspiciousParamOrder'], - 'htdocs/core/modules/product_batch/mod_sn_advanced.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php' => ['PhanUndeclaredProperty'], 'htdocs/core/modules/project/doc/pdf_timespent.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/project/mod_project_universal.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/project/task/mod_task_universal.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/propale/doc/pdf_azur.modules.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], 'htdocs/core/modules/propale/doc/pdf_cyan.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/propale/mod_propale_saphir.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/propale/modules_propale.php' => ['PhanPluginUnknownPropertyType'], 'htdocs/core/modules/reception/doc/pdf_squille.modules.php' => ['PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/reception/mod_reception_moonstone.php' => ['PhanPluginSuspiciousParamOrder'], - 'htdocs/core/modules/societe/mod_codecompta_aquarium.php' => ['PhanPluginSuspiciousParamOrder', 'PhanPluginUnknownPropertyType'], - 'htdocs/core/modules/societe/mod_codecompta_digitaria.php' => ['PhanPluginSuspiciousParamOrder', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal'], + 'htdocs/core/modules/societe/mod_codecompta_aquarium.php' => ['PhanPluginUnknownPropertyType'], + 'htdocs/core/modules/societe/mod_codecompta_digitaria.php' => ['PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal'], 'htdocs/core/modules/stock/doc/pdf_standard_stock.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable'], 'htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanUndeclaredProperty'], 'htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/core/modules/stocktransfer/mod_stocktransfer_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/stocktransfer/mod_stocktransfer_advanced.php' => ['PhanUndeclaredProperty'], 'htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php' => ['PhanPossiblyUndeclaredVariable'], 'htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'], 'htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php' => ['PhanPossiblyUndeclaredVariable'], @@ -236,15 +221,11 @@ return [ 'htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php' => ['PhanPossiblyUndeclaredVariable'], 'htdocs/core/modules/supplier_order/modules_commandefournisseur.php' => ['PhanPluginUnknownPropertyType'], 'htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php' => ['PhanPluginUnknownPropertyType'], - 'htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], 'htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php' => ['PhanPluginSuspiciousParamOrder'], - 'htdocs/core/modules/takepos/mod_takepos_ref_universal.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php' => ['PhanPossiblyUndeclaredVariable'], - 'htdocs/core/modules/ticket/mod_ticket_universal.php' => ['PhanPluginSuspiciousParamOrder'], 'htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php' => ['PhanPossiblyUndeclaredVariable'], - 'htdocs/core/modules/workstation/mod_workstation_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/workstation/mod_workstation_advanced.php' => ['PhanUndeclaredProperty'], 'htdocs/core/search_page.php' => ['PhanEmptyForeach', 'PhanPluginBothLiteralsBinaryOp'], 'htdocs/core/tpl/ajaxrow.tpl.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/core/tpl/commonfields_view.tpl.php' => ['PhanPossiblyUndeclaredGlobalVariable'], @@ -329,7 +310,6 @@ return [ 'htdocs/fourn/class/fournisseur.commande.class.php' => ['PhanUndeclaredProperty'], 'htdocs/fourn/commande/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchDimAssignment', 'PhanTypeMismatchProperty', 'PhanTypeSuspiciousStringExpression', 'PhanUndeclaredProperty'], 'htdocs/fourn/commande/contact.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/fourn/commande/dispatch.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/fourn/commande/document.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/fourn/commande/info.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/fourn/commande/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], @@ -388,7 +368,6 @@ return [ 'htdocs/mrp/class/mo.class.php' => ['PhanTypeMismatchProperty'], 'htdocs/mrp/mo_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/mrp/mo_movements.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable'], - 'htdocs/mrp/mo_production.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/mrp/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'], 'htdocs/mrp/tpl/originproductline.tpl.php' => ['PhanUndeclaredProperty'], 'htdocs/multicurrency/class/api_multicurrencies.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], @@ -443,7 +422,6 @@ return [ 'htdocs/product/stock/stocktransfer/stocktransfer_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/product/stock/tpl/stockcorrection.tpl.php' => ['PhanUndeclaredProperty'], 'htdocs/product/stock/tpl/stocktransfer.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/projet/activity/index.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeExpectedObjectPropAccessButGotNull', 'PhanUndeclaredGlobalVariable'], 'htdocs/projet/admin/project.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/ajax/projects.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/card.php' => ['PhanUndeclaredGlobalVariable'], @@ -453,14 +431,11 @@ return [ 'htdocs/projet/ganttchart.inc.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], 'htdocs/projet/ganttview.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/graph_opportunities.inc.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/projet/index.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/projet/list.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/stats/index.php' => ['PhanPossiblyUndeclaredGlobalVariable'], 'htdocs/projet/tasks.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/tasks/comment.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/tasks/contact.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/tasks/document.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/projet/tasks/list.php' => ['PhanPossiblyUndeclaredGlobalVariable'], 'htdocs/projet/tasks/note.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/tasks/task.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/tasks/time.php' => ['PhanEmptyForeach', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], @@ -493,7 +468,7 @@ return [ 'htdocs/public/ticket/create_ticket.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchDimFetchNullable', 'PhanTypeMismatchProperty'], 'htdocs/public/ticket/view.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/public/webportal/tpl/menu.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/public/webportal/webportal.main.inc.php' => ['PhanPossiblyNullTypeMismatchProperty', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanRedefineFunction'], + 'htdocs/public/webportal/webportal.main.inc.php' => ['PhanRedefineFunction'], 'htdocs/public/website/index.php' => ['PhanRedefineFunction'], 'htdocs/public/website/javascript.js.php' => ['PhanRedefineFunction'], 'htdocs/public/website/styles.css.php' => ['PhanRedefineFunction'], @@ -508,8 +483,8 @@ return [ 'htdocs/recruitment/class/recruitmentcandidature.class.php' => ['PhanUndeclaredProperty'], 'htdocs/recruitment/class/recruitmentjobposition.class.php' => ['PhanUndeclaredProperty'], 'htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], - 'htdocs/recruitment/core/modules/recruitment/mod_recruitmentcandidature_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'], - 'htdocs/recruitment/core/modules/recruitment/mod_recruitmentjobposition_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'], + 'htdocs/recruitment/core/modules/recruitment/mod_recruitmentcandidature_advanced.php' => ['PhanUndeclaredProperty'], + 'htdocs/recruitment/core/modules/recruitment/mod_recruitmentjobposition_advanced.php' => ['PhanUndeclaredProperty'], 'htdocs/recruitment/index.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/recruitment/recruitmentcandidature_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], 'htdocs/recruitment/recruitmentcandidature_list.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], diff --git a/doc/install/README b/doc/install/README index 0192ff27521..49ae1d1a74e 100644 --- a/doc/install/README +++ b/doc/install/README @@ -12,7 +12,7 @@ Download https://www.dolibarr.org * Most external modules are only available on DoliStore: - https://www.dolistore.com + https://www.dolistore.com -------------------------------- @@ -21,5 +21,5 @@ Install * For a Quick guide, take a look at README.md file into root directory. -* More complete documentations are also available on line on the Dolibarr Wiki: +* More complete documentation is also available on line on the Dolibarr Wiki: https://wiki.dolibarr.org diff --git a/htdocs/accountancy/admin/index.php b/htdocs/accountancy/admin/index.php index 39a52e9621a..0c422f24fc6 100644 --- a/htdocs/accountancy/admin/index.php +++ b/htdocs/accountancy/admin/index.php @@ -1,13 +1,13 @@ - * Copyright (C) 2013-2014 Florian Henry - * Copyright (C) 2013-2024 Alexandre Spangaro - * Copyright (C) 2014-2015 Ari Elbaz (elarifr) - * Copyright (C) 2014 Marcos García - * Copyright (C) 2014 Juanjo Menent - * Copyright (C) 2015 Jean-François Ferry - * Copyright (C) 2017 Laurent Destailleur - * Copyright (C) 2021 Ferran Marcet +/* Copyright (C) 2013-2014 Olivier Geffroy + * Copyright (C) 2013-2014 Florian Henry + * Copyright (C) 2013-2024 Alexandre Spangaro + * Copyright (C) 2014-2015 Ari Elbaz (elarifr) + * Copyright (C) 2014 Marcos García + * Copyright (C) 2014 Juanjo Menent + * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2017 Laurent Destailleur + * Copyright (C) 2021 Ferran Marcet * Copyright (C) 2024 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -329,6 +329,20 @@ if ($action == 'setenablevatreversecharge') { } } +if ($action == 'setenabletabonthirdparty') { + $setenabletabonthirdparty = GETPOSTINT('value'); + $res = dolibarr_set_const($db, "ACCOUNTING_ENABLE_TABONTHIRDPARTY", $setenabletabonthirdparty, 'yesno', 0, '', $conf->entity); + if (!($res > 0)) { + $error++; + } + + if (!$error) { + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + } else { + setEventMessages($langs->trans("Error"), null, 'mesgs'); + } +} + /* * View @@ -646,6 +660,20 @@ if (getDolGlobalString('ACCOUNTING_FORCE_ENABLE_VAT_REVERSE_CHARGE')) { } print ''; +print ''; +print ''; +print $form->textwithpicto($langs->trans("ACCOUNTING_ENABLE_TABONTHIRDPARTY"), $langs->trans("ACCOUNTING_ENABLE_TABONTHIRDPARTY_DESC")).''; +if (getDolGlobalString('ACCOUNTING_ENABLE_TABONTHIRDPARTY')) { + print ''; + print img_picto($langs->trans("Activated"), 'switch_on'); + print ''; +} else { + print ''; + print img_picto($langs->trans("Disabled"), 'switch_off'); + print ''; +} +print ''; + print ''; print ''; diff --git a/htdocs/accountancy/bookkeeping/listbyaccount.php b/htdocs/accountancy/bookkeeping/listbyaccount.php index 7834b2a6d0f..17663bf411b 100644 --- a/htdocs/accountancy/bookkeeping/listbyaccount.php +++ b/htdocs/accountancy/bookkeeping/listbyaccount.php @@ -30,6 +30,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/lettering.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/bookkeeping.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingjournal.class.php'; @@ -51,6 +52,7 @@ $langs->loadLangs(array("accountancy", "compta")); $action = GETPOST('action', 'aZ09'); $socid = GETPOSTINT('socid'); +$mode = (GETPOST('mode', 'alpha') ? GETPOST('mode', 'alpha') : 'customer'); // Only for tab view $massaction = GETPOST('massaction', 'alpha'); $confirm = GETPOST('confirm', 'alpha'); $toselect = GETPOST('toselect', 'array'); @@ -305,6 +307,9 @@ if (empty($reshook)) { $toselect = array(); } + if (!empty($socid)) { + $param = '&socid='.$socid; + } if (!empty($search_date_start)) { $filter['t.doc_date>='] = $search_date_start; $param .= '&search_date_startmonth='.$search_date_startmonth.'&search_date_startday='.$search_date_startday.'&search_date_startyear='.$search_date_startyear; @@ -425,33 +430,6 @@ if (empty($reshook)) { $param = '&type='.$type.$param; } - //if ($action == 'delbookkeepingyearconfirm' && $user->hasRight('accounting', 'mouvements', 'supprimer')_tous) { - // $delmonth = GETPOST('delmonth', 'int'); - // $delyear = GETPOST('delyear', 'int'); - // if ($delyear == -1) { - // $delyear = 0; - // } - // $deljournal = GETPOST('deljournal', 'alpha'); - // if ($deljournal == -1) { - // $deljournal = 0; - // } - // - // if (!empty($delmonth) || !empty($delyear) || !empty($deljournal)) { - // $result = $object->deleteByYearAndJournal($delyear, $deljournal, '', ($delmonth > 0 ? $delmonth : 0)); - // if ($result < 0) { - // setEventMessages($object->error, $object->errors, 'errors'); - // } else { - // setEventMessages("RecordDeleted", null, 'mesgs'); - // } - // - // // Make a redirect to avoid to launch the delete later after a back button - // header("Location: ".$_SERVER["PHP_SELF"].($param ? '?'.$param : '')); - // exit; - // } else { - // setEventMessages("NoRecordDeleted", null, 'warnings'); - // } - //} - // Mass actions $objectclass = 'Bookkeeping'; $objectlabel = 'Bookkeeping'; @@ -617,6 +595,115 @@ $title_page .= ')'; $help_url = 'EN:Module_Double_Entry_Accounting|FR:Module_Comptabilité_en_Partie_Double'; llxHeader('', $title_page, $help_url, '', 0, 0, '', '', '', 'mod-accountancy accountancy-consultation page-'.(($type == 'sub') ? 'sub' : '').'ledger'); +if (!empty($socid)) { + $companystatic = new Societe($db); + $res = $companystatic->fetch($socid); + if ($res > 0) { + $tmpobject = $object; + $object = $companystatic; // $object must be of type Societe when calling societe_prepare_head + $head = societe_prepare_head($companystatic); + $object = $tmpobject; + + print dol_get_fiche_head($head, 'accounting', $langs->trans("ThirdParty"), -1, 'company'); + + $linkback = ''.$langs->trans("BackToList").''; + + dol_banner_tab($companystatic, 'socid', $linkback, ($user->socid ? 0 : 1), 'rowid', 'nom'); + + print '
'; + + print '
'; + print ''; + + // Type Prospect/Customer/Supplier + print ''; + + // Customer code + if ($companystatic->client && !empty($companystatic->code_client)) { + print ''; + print ''; + } + // Supplier code + if ($companystatic->fournisseur && !empty($companystatic->code_fournisseur)) { + print ''; + print ''; + } + + print '
'.$langs->trans('NatureOfThirdParty').''; + print $companystatic->getTypeUrl(1); + print '
'; + print $langs->trans('CustomerCode').''; + print showValueWithClipboardCPButton(dol_escape_htmltag($companystatic->code_client)); + $tmpcheck = $companystatic->check_codeclient(); + if ($tmpcheck != 0 && $tmpcheck != -5) { + print ' ('.$langs->trans("WrongCustomerCode").')'; + } + print '
'; + print $langs->trans('SupplierCode').''; + print showValueWithClipboardCPButton(dol_escape_htmltag($companystatic->code_fournisseur)); + $tmpcheck = $companystatic->check_codefournisseur(); + if ($tmpcheck != 0 && $tmpcheck != -5) { + print ' ('.$langs->trans("WrongSupplierCode").')'; + } + print '
'; + print '
'; + print dol_get_fiche_end(); + + print info_admin($langs->trans("WarningThisPageContainsOnlyEntriesTransferredInAccounting")); + + // Choice of mode (customer / supplier) + if (!empty($conf->dol_use_jmobile)) { + print "\n".'
'."\n"; + } + + if ($companystatic->client && !empty($companystatic->code_compta_client)) { + if ($mode != 'customer') { + if (!empty($companystatic->code_compta_client)) { + $subledger_start_account = $subledger_end_account = $companystatic->code_compta_client; + } else { + $subledger_start_account = $subledger_end_account = ''; + } + print ''; + } else { + print ''; + } + + print $langs->trans("CustomerAccountancyCodeShort"); + if ($mode != 'customer') { + print ''; + } else { + print ''; + } + } + + if ($companystatic->fournisseur && !empty($companystatic->code_compta_fournisseur)) { + if ($mode != 'supplier') { + if (!empty($companystatic->code_compta_fournisseur)) { + $subledger_start_account = $subledger_end_account = $companystatic->code_compta_fournisseur; + } else { + $subledger_start_account = $subledger_end_account = ''; + } + print ''; + } else { + print ''; + } + print $langs->trans("SupplierAccountancyCodeShort"); + if ($mode != 'supplier') { + print ''; + } else { + print ''; + } + } + + if (!empty($conf->dol_use_jmobile)) { + print '
'; + } else { + print '
'; + } + print '
'; + } +} + // List $nbtotalofrecords = ''; if (!getDolGlobalInt('MAIN_DISABLE_FULL_SCANLIST')) { @@ -650,47 +737,6 @@ if (!$error) { $arrayofselected = is_array($toselect) ? $toselect : array(); - -///if ($action == 'delbookkeepingyear') { -// $form_question = array(); -// $delyear = GETPOST('delyear', 'int'); -// $deljournal = GETPOST('deljournal', 'alpha'); -// -// if (empty($delyear)) { -// $delyear = dol_print_date(dol_now(), '%Y'); -// } -// $month_array = array(); -// for ($i = 1; $i <= 12; $i++) { -// $month_array[$i] = $langs->trans("Month".sprintf("%02d", $i)); -// } -// $year_array = $formaccounting->selectyear_accountancy_bookkepping($delyear, 'delyear', 0, 'array'); -// $journal_array = $formaccounting->select_journal($deljournal, 'deljournal', '', 1, 1, 1, '', 0, 1); -// -// $form_question['delmonth'] = array( -// 'name' => 'delmonth', -// 'type' => 'select', -// 'label' => $langs->trans('DelMonth'), -// 'values' => $month_array, -// 'default' => '' -// ); -// $form_question['delyear'] = array( -// 'name' => 'delyear', -// 'type' => 'select', -// 'label' => $langs->trans('DelYear'), -// 'values' => $year_array, -// 'default' => $delyear -// ); -// $form_question['deljournal'] = array( -// 'name' => 'deljournal', -// 'type' => 'other', // We don't use select here, the journal_array is already a select html component -// 'label' => $langs->trans('DelJournal'), -// 'value' => $journal_array, -// 'default' => $deljournal -// ); -// -// $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?'.$param, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt', $langs->transnoentitiesnoconv("RegistrationInAccounting")), 'delbookkeepingyearconfirm', $form_question, '', 1, 300); -//} - // Print form confirm $formconfirm = ''; print $formconfirm; @@ -722,6 +768,9 @@ if ($optioncss != '') { } print ''; print ''; +if (!empty($socid)) { + print ''; +} print ''; print ''; print ''; @@ -735,15 +784,18 @@ if ($reshook < 0) { $newcardbutton = empty($hookmanager->resPrint) ? '' : $hookmanager->resPrint; if (empty($reshook)) { - $newcardbutton = dolGetButtonTitle($langs->trans('ViewFlatList'), '', 'fa fa-list paddingleft imgforviewmode', DOL_URL_ROOT.'/accountancy/bookkeeping/list.php?'.$param); - if ($type == 'sub') { - $newcardbutton .= dolGetButtonTitle($langs->trans('GroupByAccountAccounting'), '', 'fa fa-stream paddingleft imgforviewmode', DOL_URL_ROOT . '/accountancy/bookkeeping/listbyaccount.php?' . $url_param, '', 1, array('morecss' => 'marginleftonly')); - $newcardbutton .= dolGetButtonTitle($langs->trans('GroupBySubAccountAccounting'), '', 'fa fa-align-left vmirror paddingleft imgforviewmode', DOL_URL_ROOT . '/accountancy/bookkeeping/listbyaccount.php?type=sub&' . $url_param, '', 1, array('morecss' => 'marginleftonly btnTitleSelected')); - } else { - $newcardbutton .= dolGetButtonTitle($langs->trans('GroupByAccountAccounting'), '', 'fa fa-stream paddingleft imgforviewmode', DOL_URL_ROOT . '/accountancy/bookkeeping/listbyaccount.php?' . $url_param, '', 1, array('morecss' => 'marginleftonly btnTitleSelected')); - $newcardbutton .= dolGetButtonTitle($langs->trans('GroupBySubAccountAccounting'), '', 'fa fa-align-left vmirror paddingleft imgforviewmode', DOL_URL_ROOT . '/accountancy/bookkeeping/listbyaccount.php?type=sub&' . $url_param, '', 1, array('morecss' => 'marginleftonly')); + // Remove button navigation if in thirdparty tab mode + if (empty($socid)) { + $newcardbutton = dolGetButtonTitle($langs->trans('ViewFlatList'), '', 'fa fa-list paddingleft imgforviewmode', DOL_URL_ROOT . '/accountancy/bookkeeping/list.php?' . $param); + if ($type == 'sub') { + $newcardbutton .= dolGetButtonTitle($langs->trans('GroupByAccountAccounting'), '', 'fa fa-stream paddingleft imgforviewmode', DOL_URL_ROOT . '/accountancy/bookkeeping/listbyaccount.php?' . $url_param, '', 1, array('morecss' => 'marginleftonly')); + $newcardbutton .= dolGetButtonTitle($langs->trans('GroupBySubAccountAccounting'), '', 'fa fa-align-left vmirror paddingleft imgforviewmode', DOL_URL_ROOT . '/accountancy/bookkeeping/listbyaccount.php?type=sub&' . $url_param, '', 1, array('morecss' => 'marginleftonly btnTitleSelected')); + } else { + $newcardbutton .= dolGetButtonTitle($langs->trans('GroupByAccountAccounting'), '', 'fa fa-stream paddingleft imgforviewmode', DOL_URL_ROOT . '/accountancy/bookkeeping/listbyaccount.php?' . $url_param, '', 1, array('morecss' => 'marginleftonly btnTitleSelected')); + $newcardbutton .= dolGetButtonTitle($langs->trans('GroupBySubAccountAccounting'), '', 'fa fa-align-left vmirror paddingleft imgforviewmode', DOL_URL_ROOT . '/accountancy/bookkeeping/listbyaccount.php?type=sub&' . $url_param, '', 1, array('morecss' => 'marginleftonly')); + } + $newcardbutton .= dolGetButtonTitleSeparator(); } - $newcardbutton .= dolGetButtonTitleSeparator(); $newcardbutton .= dolGetButtonTitle($langs->trans('NewAccountingMvt'), '', 'fa fa-plus-circle paddingleft', DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?action=create'); } @@ -763,17 +815,7 @@ if ($massaction == 'preunletteringauto') { } elseif ($massaction == 'predeletebookkeepingwriting') { print $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans("ConfirmMassDeleteBookkeepingWriting"), $langs->trans("ConfirmMassDeleteBookkeepingWritingQuestion", count($toselect)), "deletebookkeepingwriting", null, '', 0, 200, 500, 1); } -//DeleteMvt=Supprimer des lignes d'opérations de la comptabilité -//DelMonth=Mois à effacer -//DelYear=Année à supprimer -//DelJournal=Journal à supprimer -//ConfirmDeleteMvt=Cette action supprime les lignes des opérations pour l'année/mois et/ou pour le journal sélectionné (au moins un critère est requis). Vous devrez utiliser de nouveau la fonctionnalité '%s' pour retrouver vos écritures dans la comptabilité. -//ConfirmDeleteMvtPartial=Cette action supprime l'écriture de la comptabilité (toutes les lignes opérations liées à une même écriture seront effacées). -//$topicmail = "Information"; -//$modelmail = "accountingbookkeeping"; -//$objecttmp = new BookKeeping($db); -//$trackid = 'bk'.$object->id; include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; $varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; @@ -789,8 +831,8 @@ if (preg_match('/^asc/i', $sortorder)) { $sortorder = "desc"; } -// Warning to explain why list of record is not consistent with the other list view (missing a lot of lines) -if ($type == 'sub') { +// Warning to explain why the list of record is not consistent with the other list view (missing a lot of lines) +if ($type == 'sub' && !$socid) { print info_admin($langs->trans("WarningRecordWithoutSubledgerAreExcluded")); } @@ -811,17 +853,19 @@ if ($type == 'sub') { } else { $moreforfilter .= $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', $langs->trans('to'), array(), 1, 1, 'maxwidth200'); } -$stringforfirstkey = $langs->trans("KeyboardShortcut"); -if ($conf->browser->name == 'chrome') { - $stringforfirstkey .= ' ALT +'; -} elseif ($conf->browser->name == 'firefox') { - $stringforfirstkey .= ' ALT + SHIFT +'; -} else { - $stringforfirstkey .= ' CTL +'; -} -$moreforfilter .= '   '; -$moreforfilter .= '   '; -$moreforfilter .= << SCRIPT; +} $moreforfilter .= ''; $moreforfilter .= ''; -$moreforfilter .= '
'; -$moreforfilter .= $langs->trans('AccountingCategory').': '; -$moreforfilter .= '
'; -$moreforfilter .= $formaccounting->select_accounting_category($search_account_category, 'search_account_category', 1, 0, 0, 0); -$moreforfilter .= '
'; -$moreforfilter .= '
'; +if (empty($socid)) { + $moreforfilter .= '
'; + $moreforfilter .= $langs->trans('AccountingCategory') . ': '; + $moreforfilter .= '
'; + $moreforfilter .= $formaccounting->select_accounting_category($search_account_category, 'search_account_category', 1, 0, 0, 0); + $moreforfilter .= '
'; + $moreforfilter .= '
'; +} $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters, $object, $action); // Note that $action and $object may have been modified by hook @@ -1486,13 +1533,6 @@ print $hookmanager->resPrint; print ""; print ''; -// TODO Replace this with mass delete action -//if ($user->hasRight('accounting', 'mouvements, 'supprimer_tous')) { -// print '
'."\n"; -// print ''.$langs->trans("DeleteMvt").''; -// print '
'; -//} - print ''; // End of page diff --git a/htdocs/admin/tools/export_files.php b/htdocs/admin/tools/export_files.php index 2d6a212bbab..604f4d5d9c7 100644 --- a/htdocs/admin/tools/export_files.php +++ b/htdocs/admin/tools/export_files.php @@ -3,7 +3,7 @@ * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2015 Raphaël Doursenaud * Copyright (C) 2021 Regis Houssin - * Copyright (C) 2024 Frédéric France + * Copyright (C) 2024-2025 Frédéric France * * 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 @@ -100,7 +100,7 @@ if ($action == 'delete') { */ // Increase limit of time. Works only if we are not in safe mode -$ExecTimeLimit = 1800; // 30mn +$ExecTimeLimit = getDolGlobalInt('MAIN_ADMIN_TOOLS_EXPORT_FILES_EXEC_TIME_LIMIT', 1800);; // 30mn if (!empty($ExecTimeLimit)) { $err = error_reporting(); error_reporting(0); // Disable all errors diff --git a/htdocs/admin/tools/purge.php b/htdocs/admin/tools/purge.php index 04498c05132..2fc10104aab 100644 --- a/htdocs/admin/tools/purge.php +++ b/htdocs/admin/tools/purge.php @@ -1,7 +1,7 @@ - * Copyright (C) 2006-2012 Regis Houssin - * Copyright (C) 2024 Frédéric France +/* Copyright (C) 2006-2017 Laurent Destailleur + * Copyright (C) 2006-2012 Regis Houssin + * Copyright (C) 2024-2025 Frédéric France * * 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 @@ -36,6 +36,8 @@ include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; * @var HookManager $hookmanager * @var Translate $langs * @var User $user + * + * @var string $dolibarr_main_data_root */ $langs->load("admin"); @@ -64,7 +66,7 @@ if (!$user->admin) { if ($action == 'purge' && !preg_match('/^confirm/i', $choice) && ($choice != 'allfiles' || $confirm == 'yes')) { // Increase limit of time. Works only if we are not in safe mode - $ExecTimeLimit = 600; + $ExecTimeLimit = getDolGlobalInt('MAIN_ADMIN_TOOLS_PURGE_EXEC_TIME_LIMIT', 600); if (!empty($ExecTimeLimit)) { $err = error_reporting(); error_reporting(0); // Disable all errors diff --git a/htdocs/admin/tools/ui/components/event-message.php b/htdocs/admin/tools/ui/components/event-message.php index f612f05a0c2..9de212b8991 100644 --- a/htdocs/admin/tools/ui/components/event-message.php +++ b/htdocs/admin/tools/ui/components/event-message.php @@ -101,7 +101,7 @@ $documentation->showSidebar(); ?> $label = 'My action label used for accessibility visually for impaired people'; $user_right = 1; - $html = ''.$langs->trans('DocSetEventMessageDisplayMessages');; + $html = ''.$langs->trans('DocSetEventMessageDisplayMessages'); $action_type = 'displayeventmessages'; $url = $_SERVER["PHP_SELF"].'?action=displayeventmessages'; print dolGetButtonAction($label, $html, $action_type, $url, '', $user_right); ?> @@ -138,7 +138,7 @@ $documentation->showSidebar(); ?> '.$langs->trans('DocSetEventMessageDisplayOKMessage');; + $html = ''.$langs->trans('DocSetEventMessageDisplayOKMessage'); $action_type = 'displayeventmessageok'; $url = $_SERVER["PHP_SELF"].'?action=displayeventmessageok#seteventmessagesection-contextvariations'; $params['attr']['style'] = 'background: #446548'; @@ -146,7 +146,7 @@ $documentation->showSidebar(); ?> $label = 'My action label used for accessibility visually for impaired people'; $user_right = 1; - $html = ''.$langs->trans('DocSetEventMessageDisplayWarningMessage');; + $html = ''.$langs->trans('DocSetEventMessageDisplayWarningMessage'); $action_type = 'displayeventmessagewarning'; $url = $_SERVER["PHP_SELF"].'?action=displayeventmessagewarning#seteventmessagesection-contextvariations'; $params['attr']['style'] = 'background: #a28918'; @@ -154,7 +154,7 @@ $documentation->showSidebar(); ?> $label = 'My action label used for accessibility visually for impaired people'; $user_right = 1; - $html = ''.$langs->trans('DocSetEventMessageDisplayErrorMessage');; + $html = ''.$langs->trans('DocSetEventMessageDisplayErrorMessage'); $action_type = 'displayeventmessageerror'; $url = $_SERVER["PHP_SELF"].'?action=displayeventmessageerror#seteventmessagesection-contextvariations'; $params['attr']['style'] = 'background: #a72947'; diff --git a/htdocs/bom/bom_list.php b/htdocs/bom/bom_list.php index a2936616224..b3a67ae36e8 100644 --- a/htdocs/bom/bom_list.php +++ b/htdocs/bom/bom_list.php @@ -319,6 +319,7 @@ $sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; } +$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON t.fk_product = p.rowid"; // Add table from hooks $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object, $action); // Note that $action and $object may have been modified by hook @@ -643,7 +644,11 @@ foreach ($object->fields as $key => $val) { } $cssforfield = preg_replace('/small\s*/', '', $cssforfield); // the 'small' css must not be used for the title label if (!empty($arrayfields['t.'.$key]['checked'])) { - print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($cssforfield ? 'class="'.$cssforfield.'"' : ''), $sortfield, $sortorder, ($cssforfield ? $cssforfield.' ' : ''), 0, (empty($val['helplist']) ? '' : $val['helplist']))."\n"; + if ($key == "fk_product") { + print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 'p.ref', '', $param, ($cssforfield ? 'class="'.$cssforfield.'"' : ''), $sortfield, $sortorder, ($cssforfield ? $cssforfield.' ' : ''), 0, (empty($val['helplist']) ? '' : $val['helplist']))."\n"; + } else { + print getTitleFieldOfList($arrayfields['t.'.$key]['label'], 0, $_SERVER['PHP_SELF'], 't.'.$key, '', $param, ($cssforfield ? 'class="'.$cssforfield.'"' : ''), $sortfield, $sortorder, ($cssforfield ? $cssforfield.' ' : ''), 0, (empty($val['helplist']) ? '' : $val['helplist']))."\n"; + } $totalarray['nbfield']++; } } diff --git a/htdocs/bookcal/availabilities_list.php b/htdocs/bookcal/availabilities_list.php index f819fdf81bc..13d908bd363 100644 --- a/htdocs/bookcal/availabilities_list.php +++ b/htdocs/bookcal/availabilities_list.php @@ -263,6 +263,9 @@ $sql = preg_replace('/,\s*$/', '', $sql); $sqlfields = $sql; // $sql fields to remove for count total $sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; +if ($object->ismultientitymanaged == 1 || $object->ismultientitymanaged != '') { // value is fk_bookcal_calendar@bookcal_calendar + $sql .= ", ".MAIN_DB_PREFIX."bookcal_calendar as bc"; +} //$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."anothertable as rc ON rc.parent = t.rowid"; if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; @@ -271,8 +274,9 @@ if (isset($extrafields->attributes[$object->table_element]['label']) && is_array $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object, $action); // Note that $action and $object may have been modified by hook $sql .= $hookmanager->resPrint; -if ($object->ismultientitymanaged == 1) { - $sql .= " WHERE t.entity IN (".getEntity($object->element, (GETPOSTINT('search_current_entity') ? 0 : 1)).")"; +if ($object->ismultientitymanaged == 1 || $object->ismultientitymanaged != '') { // value is fk_bookcal_calendar@bookcal_calendar + $sql .= " WHERE bc.rowid = t.fk_bookcal_calendar"; + $sql .= " AND bc.entity IN (".getEntity('calendar', (GETPOSTINT('search_current_entity') ? 0 : 1)).")"; } else { $sql .= " WHERE 1 = 1"; } diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index b41103ace61..93ae98884a3 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -69,9 +69,9 @@ $usergroup = GETPOST("search_usergroup", "intcomma", 3) ? GETPOST("search_usergr $showbirthday = empty($conf->use_javascript_ajax) ? GETPOSTINT("showbirthday") : 1; $search_categ_cus = GETPOST("search_categ_cus", 'intcomma', 3) ? GETPOST("search_categ_cus", 'intcomma', 3) : 0; -// If not choice done on calendar owner (like on left menu link "Agenda"), we filter on user. +// If no choice done on calendar owner (like on left menu link "Agenda"), we filter on current user by default. if (empty($filtert) && !getDolGlobalString('AGENDA_ALL_CALENDARS')) { - $filtert = $user->id; + $filtert = (string) $user->id; } $newparam = ''; @@ -108,7 +108,7 @@ if (!$user->hasRight('agenda', 'allactions', 'read')) { $canedit = 0; } if (!$user->hasRight('agenda', 'allactions', 'read') || $filter == 'mine') { // If no permission to see all, we show only affected to me - $filtert = $user->id; + $filtert = (string) $user->id; } $action = GETPOST('action', 'aZ09'); @@ -599,8 +599,9 @@ if (isModEnabled("bookcal")) { $sql .= " ON bc.rowid = ba.fk_bookcal_calendar"; $sql .= " WHERE bc.status = 1"; $sql .= " AND ba.status = 1"; - if (!empty($filtert) && $filtert != -1) { - $sql .= " AND bc.visibility = ".(int) $filtert ; + $sql .= " AND bc.entity IN (".getEntity('agenda').")"; // bookcal is a "virtual view" of agenda + if (!empty($filtert) && $filtert != '-1') { + $sql .= " AND bc.visibility IN (".$db->sanitize($filtert, 0, 0, 0, 0).")"; } $resql = $db->query($sql); if ($resql) { @@ -776,7 +777,7 @@ if ($usergroup > 0) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ugu ON ugu.fk_user = ar.fk_element"; } $sql .= ' WHERE a.fk_action = ca.id'; -$sql .= ' AND a.entity IN ('.getEntity('agenda').')'; +$sql .= ' AND a.entity IN ('.getEntity('agenda').')'; // bookcal is a "virtual view" of agenda // Condition on actioncode if (!empty($actioncode)) { if (!getDolGlobalString('AGENDA_USE_EVENT_TYPE')) { @@ -2005,7 +2006,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa $color = sprintf("%02x%02x%02x", $theme_datacolor[$colorindex][0], $theme_datacolor[$colorindex][1], $theme_datacolor[$colorindex][2]); } elseif (getDolGlobalString('THEME_ELDY_BACKBODY')) { require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; - $color = colorArrayToHex(explode(',', getDolGlobalString('THEME_ELDY_BACKBODY'))); + $color = colorArrayToHex(colorStringToArray(getDolGlobalString('THEME_ELDY_BACKBODY'), array()), ''); } else { $color = "ffffff"; } diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 3359667e3b2..2d63be548dd 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -13,7 +13,7 @@ * Copyright (C) 2013 Florian Henry * Copyright (C) 2014-2015 Marcos García * Copyright (C) 2018 Nicolas ZABOURI - * Copyright (C) 2018-2024 Frédéric France + * Copyright (C) 2018-2025 Frédéric France * Copyright (C) 2018 Ferran Marcet * Copyright (C) 2022 ATM Consulting * Copyright (C) 2022 OpenDSI @@ -864,7 +864,7 @@ class Propal extends CommonObject * @param int $fk_parent_line Id of parent line (0 in most cases, used by modules adding sublevels into lines). * @param int $skip_update_total Keep fields total_xxx to 0 (used for special lines by some modules) * @param int $fk_fournprice Id of origin supplier price - * @param int $pa_ht Price (without tax) of product when it was bought + * @param float $pa_ht Price (without tax) of product when it was bought * @param string $label ??? * @param int $type 0/1=Product/service * @param int|string $date_start Start date of the line diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 74f7c62ce1e..c67828a8a89 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -11,7 +11,7 @@ * Copyright (C) 2014-2015 Marcos García * Copyright (C) 2018 Nicolas ZABOURI * Copyright (C) 2016-2022 Ferran Marcet - * Copyright (C) 2021-2024 Frédéric France + * Copyright (C) 2021-2025 Frédéric France * Copyright (C) 2022 Gauthier VERDOL * Copyright (C) 2024 MDW * Copyright (C) 2024 William Mead @@ -36,7 +36,7 @@ * \brief class for orders */ -include_once DOL_DOCUMENT_ROOT.'/core/class/commonorder.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/commonorder.class.php'; require_once DOL_DOCUMENT_ROOT.'/commande/class/orderline.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/margin/lib/margins.lib.php'; @@ -461,6 +461,7 @@ class Commande extends CommonOrder } $obj = new $classname(); + /** @var ModeleNumRefCommandes $obj */ '@phan-var-force ModeleNumRefCommandes $obj'; $numref = $obj->getNextValue($soc, $this); @@ -1582,7 +1583,7 @@ class Commande extends CommonOrder $pu_ht = price2num($pu_ht); $pu_ht_devise = price2num($pu_ht_devise); $pu_ttc = price2num($pu_ttc); - $pa_ht = (float) price2num($pa_ht); + $pa_ht = price2num($pa_ht); // do not convert to float here, it breaks the functioning of $pa_ht_isemptystring if (!preg_match('/\((.*)\)/', (string) $txtva)) { $txtva = price2num($txtva); // $txtva can have format '5,1' or '5.1' or '5.1(XXX)', we must clean only if '5,1' } @@ -1717,7 +1718,7 @@ class Commande extends CommonOrder $this->line->date_end = $date_end; $this->line->fk_fournprice = $fk_fournprice; - $this->line->pa_ht = $pa_ht; + $this->line->pa_ht = $pa_ht; // Can be '' when not defined or 0 if defined to 0 or a price value // Multicurrency $this->line->fk_multicurrency = $this->fk_multicurrency; @@ -1727,7 +1728,7 @@ class Commande extends CommonOrder $this->line->multicurrency_total_tva = (float) $multicurrency_total_tva; $this->line->multicurrency_total_ttc = (float) $multicurrency_total_ttc; - // TODO Ne plus utiliser + // TODO Do not use anymore $this->line->price = $price; if (is_array($array_options) && count($array_options) > 0) { @@ -3123,7 +3124,7 @@ class Commande extends CommonOrder * @param int $fk_parent_line Id of parent line (0 in most cases, used by modules adding sublevels into lines). * @param int $skip_update_total Keep fields total_xxx to 0 (used for special lines by some modules) * @param int $fk_fournprice Id of origin supplier price - * @param int $pa_ht Price (without tax) of product when it was bought + * @param float $pa_ht Price (without tax) of product when it was bought * @param string $label Label * @param int $special_code Special code (also used by externals modules!) * @param array $array_options extrafields array diff --git a/htdocs/commande/class/orderline.class.php b/htdocs/commande/class/orderline.class.php index a311ef25233..b5efe3913f4 100644 --- a/htdocs/commande/class/orderline.class.php +++ b/htdocs/commande/class/orderline.class.php @@ -105,7 +105,7 @@ class OrderLine extends CommonOrderLine /** * Buy price without taxes - * @var float + * @var float|int|string Can be '' when we do not provide any buying price. */ public $pa_ht; @@ -345,6 +345,7 @@ class OrderLine extends CommonOrderLine $error = 0; $pa_ht_isemptystring = (empty($this->pa_ht) && $this->pa_ht == ''); // If true, we can use a default value. If this->pa_ht = '0', we must use '0'. + $this->pa_ht = (float) $this->pa_ht; // convert to float but after checking if value is empty dol_syslog(get_class($this)."::insert rang=".$this->rang); @@ -385,14 +386,11 @@ class OrderLine extends CommonOrderLine if (empty($this->fk_parent_line)) { $this->fk_parent_line = 0; } - if (empty($this->pa_ht)) { - $this->pa_ht = 0; - } if (empty($this->ref_ext)) { $this->ref_ext = ''; } - // if buy price not defined, define buyprice as configured in margin admin + // if buy price not defined (if = ''), we set the buyprice as configured in margin admin setup if ($this->pa_ht == 0 && $pa_ht_isemptystring) { $result = $this->defineBuyPrice($this->subprice, $this->remise_percent, $this->fk_product); if ($result < 0) { diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 4797d6635db..8adedcdf6d4 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -213,7 +213,7 @@ $arrayfields = array( 'country.code_iso' => array('label' => "Country", 'checked' => 0, 'position' => 50), 'typent.code' => array('label' => "ThirdPartyType", 'checked' => $checkedtypetiers, 'position' => 55), 'c.date_commande' => array('label' => "OrderDateShort", 'checked' => 1, 'position' => 60, 'csslist' => 'nowraponall'), - 'c.date_delivery' => array('label' => "DateDeliveryPlanned", 'checked' => 1, 'enabled' => !getDolGlobalString('ORDER_DISABLE_DELIVERY_DATE'), 'position' => 65, 'csslist' => 'nowraponall'), + 'c.delivery_date' => array('label' => "DateDeliveryPlanned", 'checked' => 1, 'enabled' => !getDolGlobalString('ORDER_DISABLE_DELIVERY_DATE'), 'position' => 65, 'csslist' => 'nowraponall'), 'c.fk_shipping_method' => array('label' => "SendingMethod", 'checked' => -1, 'position' => 66 , 'enabled' => isModEnabled("shipping")), 'c.fk_cond_reglement' => array('label' => "PaymentConditionsShort", 'checked' => -1, 'position' => 67), 'c.fk_mode_reglement' => array('label' => "PaymentMode", 'checked' => -1, 'position' => 68), @@ -899,7 +899,7 @@ $sql .= " state.code_departement as state_code, state.nom as state_name,"; $sql .= " country.code as country_code,"; $sql .= ' c.rowid, c.ref, c.total_ht, c.total_tva, c.total_ttc, c.ref_client, c.fk_user_author,'; $sql .= ' c.fk_multicurrency, c.multicurrency_code, c.multicurrency_tx, c.multicurrency_total_ht, c.multicurrency_total_tva as multicurrency_total_vat, c.multicurrency_total_ttc,'; -$sql .= ' c.date_valid, c.date_commande, c.note_public, c.note_private, c.date_livraison as date_delivery, c.fk_statut, c.facture as billed,'; +$sql .= ' c.date_valid, c.date_commande, c.note_public, c.note_private, c.date_livraison as delivery_date, c.fk_statut, c.facture as billed,'; $sql .= ' c.date_creation as date_creation, c.tms as date_modification, c.date_cloture as date_cloture,'; $sql .= ' p.rowid as project_id, p.ref as project_ref, p.title as project_label,'; $sql .= ' u.login, u.lastname, u.firstname, u.email as user_email, u.statut as user_statut, u.entity, u.photo, u.office_phone, u.office_fax, u.user_mobile, u.job, u.gender,'; @@ -1716,7 +1716,7 @@ if (!empty($arrayfields['c.date_commande']['checked'])) { print ''; print ''; } -if (!empty($arrayfields['c.date_delivery']['checked'])) { +if (!empty($arrayfields['c.delivery_date']['checked'])) { print ''; print '
'; print $form->selectDate($search_datedelivery_start ? $search_datedelivery_start : -1, 'search_datedelivery_start_', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); @@ -1993,8 +1993,8 @@ if (!empty($arrayfields['c.date_commande']['checked'])) { print_liste_field_titre($arrayfields['c.date_commande']['label'], $_SERVER["PHP_SELF"], 'c.date_commande', '', $param, '', $sortfield, $sortorder, 'center '); $totalarray['nbfield']++; } -if (!empty($arrayfields['c.date_delivery']['checked'])) { - print_liste_field_titre($arrayfields['c.date_delivery']['label'], $_SERVER["PHP_SELF"], 'c.date_livraison', '', $param, '', $sortfield, $sortorder, 'center '); +if (!empty($arrayfields['c.delivery_date']['checked'])) { + print_liste_field_titre($arrayfields['c.delivery_date']['label'], $_SERVER["PHP_SELF"], 'c.date_livraison', '', $param, '', $sortfield, $sortorder, 'center '); $totalarray['nbfield']++; } if (!empty($arrayfields['c.fk_shipping_method']['checked'])) { @@ -2188,7 +2188,7 @@ while ($i < $imaxinloop) { $generic_commande->statut = $obj->fk_statut; $generic_commande->billed = $obj->billed; $generic_commande->date = $db->jdate($obj->date_commande); - $generic_commande->delivery_date = $db->jdate($obj->date_delivery); + $generic_commande->delivery_date = $db->jdate($obj->delivery_date); $generic_commande->ref_client = $obj->ref_client; $generic_commande->total_ht = $obj->total_ht; $generic_commande->total_tva = $obj->total_tva; @@ -2439,9 +2439,9 @@ while ($i < $imaxinloop) { } // Plannned date of delivery - if (!empty($arrayfields['c.date_delivery']['checked'])) { + if (!empty($arrayfields['c.delivery_date']['checked'])) { print ''; - print dol_print_date($db->jdate($obj->date_delivery), 'dayhour'); + print dol_print_date($db->jdate($obj->delivery_date), 'dayhour'); print ''; if (!$i) { $totalarray['nbfield']++; diff --git a/htdocs/commande/list_det.php b/htdocs/commande/list_det.php index 92147f8bc63..f1e0d517f73 100644 --- a/htdocs/commande/list_det.php +++ b/htdocs/commande/list_det.php @@ -207,7 +207,7 @@ $arrayfields = array( 'country.code_iso' => array('label' => "Country", 'checked' => 0, 'position' => 50), 'typent.code' => array('label' => "ThirdPartyType", 'checked' => $checkedtypetiers, 'position' => 55), 'c.date_commande' => array('label' => "OrderDateShort", 'checked' => 1, 'position' => 60), - 'c.date_delivery' => array('label' => "DateDeliveryPlanned", 'checked' => 1, 'enabled' => !getDolGlobalString('ORDER_DISABLE_DELIVERY_DATE'), 'position' => 65), + 'c.delivery_date' => array('label' => "DateDeliveryPlanned", 'checked' => 1, 'enabled' => !getDolGlobalString('ORDER_DISABLE_DELIVERY_DATE'), 'position' => 65), 'c.fk_shipping_method' => array('label' => "SendingMethod", 'checked' => -1, 'position' => 66 , 'enabled' => isModEnabled('shipping')), 'c.fk_cond_reglement' => array('label' => "PaymentConditionsShort", 'checked' => -1, 'position' => 67), 'c.fk_mode_reglement' => array('label' => "PaymentMode", 'checked' => -1, 'position' => 68), @@ -396,7 +396,7 @@ $sql .= " country.code as country_code,"; $sql .= ' c.rowid as c_rowid, c.ref, c.ref_client, c.fk_user_author,'; $sql .= ' c.fk_multicurrency, c.multicurrency_code, c.multicurrency_tx, c.multicurrency_total_ht, c.multicurrency_total_tva as multicurrency_total_vat, c.multicurrency_total_ttc,'; $sql .= ' c.total_ht as c_total_ht, c.total_tva as c_total_tva, c.total_ttc as c_total_ttc, c.fk_warehouse as warehouse,'; -$sql .= ' c.date_valid, c.date_commande, c.note_public, c.note_private, c.date_livraison as date_delivery, c.fk_statut, c.facture as billed,'; +$sql .= ' c.date_valid, c.date_commande, c.note_public, c.note_private, c.date_livraison as delivery_date, c.fk_statut, c.facture as billed,'; $sql .= ' c.date_creation as date_creation, c.tms as date_modification, c.date_cloture as date_cloture,'; $sql .= ' p.rowid as project_id, p.ref as project_ref, p.title as project_label,'; $sql .= ' u.login, u.lastname, u.firstname, u.email as user_email, u.statut as user_statut, u.entity, u.photo, u.office_phone, u.office_fax, u.user_mobile, u.job, u.gender,'; @@ -1103,7 +1103,7 @@ if ($resql) { print '
'; print ''; } - if (!empty($arrayfields['c.date_delivery']['checked'])) { + if (!empty($arrayfields['c.delivery_date']['checked'])) { print ''; print '
'; print $form->selectDate($search_datedelivery_start ? $search_datedelivery_start : -1, 'search_datedelivery_start_', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); @@ -1358,8 +1358,8 @@ if ($resql) { if (!empty($arrayfields['c.date_commande']['checked'])) { print_liste_field_titre($arrayfields['c.date_commande']['label'], $_SERVER["PHP_SELF"], 'c.date_commande', '', $param, '', $sortfield, $sortorder, 'center '); } - if (!empty($arrayfields['c.date_delivery']['checked'])) { - print_liste_field_titre($arrayfields['c.date_delivery']['label'], $_SERVER["PHP_SELF"], 'c.date_livraison', '', $param, '', $sortfield, $sortorder, 'center '); + if (!empty($arrayfields['c.delivery_date']['checked'])) { + print_liste_field_titre($arrayfields['c.delivery_date']['label'], $_SERVER["PHP_SELF"], 'c.date_livraison', '', $param, '', $sortfield, $sortorder, 'center '); } if (!empty($arrayfields['c.fk_shipping_method']['checked'])) { print_liste_field_titre($arrayfields['c.fk_shipping_method']['label'], $_SERVER["PHP_SELF"], "c.fk_shipping_method", "", $param, '', $sortfield, $sortorder); @@ -1547,7 +1547,7 @@ if ($resql) { $generic_commande->statut = $obj->fk_statut; $generic_commande->billed = $obj->billed; $generic_commande->date = $db->jdate($obj->date_commande); - $generic_commande->delivery_date = $db->jdate($obj->date_delivery); + $generic_commande->delivery_date = $db->jdate($obj->delivery_date); $generic_commande->ref_client = $obj->ref_client; $generic_commande->total_ht = $obj->c_total_ht; $generic_commande->total_tva = $obj->c_total_tva; @@ -1781,9 +1781,9 @@ if ($resql) { } } // Plannned date of delivery - if (!empty($arrayfields['c.date_delivery']['checked'])) { - print ''; - print dol_print_date($db->jdate($obj->date_delivery), 'day'); + if (!empty($arrayfields['c.delivery_date']['checked'])) { + print ''; + print dol_print_date($db->jdate($obj->delivery_date), 'day'); print ''; if (!$i) { $totalarray['nbfield']++; diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 9f66c23211d..b38b68611fe 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -14,7 +14,7 @@ * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2014-2024 Ferran Marcet * Copyright (C) 2015-2016 Marcos García - * Copyright (C) 2018-2024 Frédéric France + * Copyright (C) 2018-2025 Frédéric France * Copyright (C) 2022 Gauthier VERDOL * Copyright (C) 2023 Nick Fragoulis * Copyright (C) 2024 MDW @@ -325,7 +325,7 @@ if (empty($reshook)) { // Define output language $outputlangs = $langs; $newlang = ''; - if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang) && GETPOST('lang_id')) { + if (getDolGlobalInt('MAIN_MULTILANGS') /* && empty($newlang) */ && GETPOST('lang_id')) { $newlang = GETPOST('lang_id'); } if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang)) { @@ -578,7 +578,7 @@ if (empty($reshook)) { if (!getDolGlobalString('MAIN_DISABLE_PDF_AUTOUPDATE')) { $outputlangs = $langs; $newlang = ''; - if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang) && GETPOST('lang_id', 'aZ09')) { + if (getDolGlobalInt('MAIN_MULTILANGS') /* && empty($newlang) */ && GETPOST('lang_id', 'aZ09')) { $newlang = GETPOST('lang_id', 'aZ09'); } if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang)) { @@ -662,7 +662,7 @@ if (empty($reshook)) { if (empty($error) && !getDolGlobalString('MAIN_DISABLE_PDF_AUTOUPDATE')) { $outputlangs = $langs; $newlang = ''; - if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang) && GETPOST('lang_id', 'aZ09')) { + if (getDolGlobalInt('MAIN_MULTILANGS') /* && empty($newlang) */ && GETPOST('lang_id', 'aZ09')) { $newlang = GETPOST('lang_id', 'aZ09'); } if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang)) { @@ -718,7 +718,7 @@ if (empty($reshook)) { if (!getDolGlobalString('MAIN_DISABLE_PDF_AUTOUPDATE')) { $outputlangs = $langs; $newlang = ''; - if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang) && GETPOST('lang_id', 'aZ09')) { + if (getDolGlobalInt('MAIN_MULTILANGS') /* && empty($newlang) */ && GETPOST('lang_id', 'aZ09')) { $newlang = GETPOST('lang_id', 'aZ09'); } if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang)) { @@ -809,7 +809,7 @@ if (empty($reshook)) { if (!getDolGlobalString('MAIN_DISABLE_PDF_AUTOUPDATE')) { $outputlangs = $langs; $newlang = ''; - if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang) && GETPOST('lang_id', 'aZ09')) { + if (getDolGlobalInt('MAIN_MULTILANGS') /* && empty($newlang) */ && GETPOST('lang_id', 'aZ09')) { $newlang = GETPOST('lang_id', 'aZ09'); } if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang)) { @@ -2096,7 +2096,7 @@ if (empty($reshook)) { if (!getDolGlobalString('MAIN_DISABLE_PDF_AUTOUPDATE') && count($object->lines)) { $outputlangs = $langs; $newlang = ''; - if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang) && GETPOST('lang_id', 'aZ09')) { + if (getDolGlobalInt('MAIN_MULTILANGS') /* && empty($newlang) */ && GETPOST('lang_id', 'aZ09')) { $newlang = GETPOST('lang_id', 'aZ09'); } if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang)) { @@ -2228,8 +2228,15 @@ if (empty($reshook)) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && (($price_ht < 0 && !getDolGlobalString('FACTURE_ENABLE_NEGATIVE_LINES')) || $price_ht == '') && (($price_ht_devise < 0 && !getDolGlobalString('FACTURE_ENABLE_NEGATIVE_LINES')) || $price_ht_devise == '') && $price_ttc === '' && $price_ttc_devise === '' && $object->type != Facture::TYPE_CREDIT_NOTE) { // Unit price can be 0 but not '' - if (($price_ht < 0 || $price_ttc < 0) && !getDolGlobalString('FACTURE_ENABLE_NEGATIVE_LINES')) { + + // Do not allow negative lines for free products (invite to enter a discount instead) + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) + && (((float) $price_ht < 0 && !getDolGlobalString('FACTURE_ENABLE_NEGATIVE_LINES')) || $price_ht === '') + && (((float) $price_ht_devise < 0 && !getDolGlobalString('FACTURE_ENABLE_NEGATIVE_LINES')) || $price_ht_devise === '') + && ((float) $price_ttc < 0 && !getDolGlobalString('FACTURE_ENABLE_NEGATIVE_LINES') || $price_ttc === '') + && ((float) $price_ttc_devise < 0 && !getDolGlobalString('FACTURE_ENABLE_NEGATIVE_LINES') || $price_ttc_devise === '') + && $object->type != $object::TYPE_CREDIT_NOTE) { // Unit price can be 0 but not '' + if (((float) $price_ht < 0 || (float) $price_ttc < 0) && !getDolGlobalString('FACTURE_ENABLE_NEGATIVE_LINES')) { $langs->load("errors"); if ($object->type == $object::TYPE_DEPOSIT) { // Using negative lines on deposit lead to headach and blocking problems when you want to consume them. @@ -2238,19 +2245,21 @@ if (empty($reshook)) { setEventMessages($langs->trans("ErrorFieldCantBeNegativeOnInvoice", $langs->transnoentitiesnoconv("UnitPriceHT"), $langs->transnoentitiesnoconv("CustomerAbsoluteDiscountShort")), null, 'errors'); } $error++; - } else { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("UnitPriceHT")), null, 'errors'); - $error++; } } + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && GETPOST('price_ht') === '' && GETPOST('price_ttc') === '' && $price_ht_devise === '') { // Unit price can be 0 but not '' + setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('UnitPrice')), null, 'errors'); + $error++; + } + + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && empty($product_desc)) { + setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Description')), null, 'errors'); + $error++; + } if ($qty == '') { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && empty($product_desc)) { - setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Description')), null, 'errors'); - $error++; - } if ($qty < 0) { $langs->load("errors"); setEventMessages($langs->trans('ErrorQtyForCustomerInvoiceCantBeNegative'), null, 'errors'); @@ -2343,7 +2352,7 @@ if (empty($reshook)) { if (getDolGlobalInt('MAIN_MULTILANGS') && getDolGlobalString('PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE')) { $outputlangs = $langs; $newlang = ''; - if (empty($newlang) && GETPOST('lang_id', 'aZ09')) { + if (/* empty($newlang) && */ GETPOST('lang_id', 'aZ09')) { $newlang = GETPOST('lang_id', 'aZ09'); } if (empty($newlang)) { @@ -2378,7 +2387,7 @@ if (empty($reshook)) { if (getDolGlobalInt('MAIN_MULTILANGS') && getDolGlobalString('PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE')) { $outputlangs = $langs; $newlang = ''; - if (empty($newlang) && GETPOST('lang_id', 'alpha')) { + if (/* empty($newlang) && */ GETPOST('lang_id', 'alpha')) { $newlang = GETPOST('lang_id', 'alpha'); } if (empty($newlang)) { @@ -2533,7 +2542,7 @@ if (empty($reshook)) { if (!getDolGlobalString('MAIN_DISABLE_PDF_AUTOUPDATE')) { $outputlangs = $langs; $newlang = ''; - if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang) && GETPOST('lang_id', 'aZ09')) { + if (getDolGlobalInt('MAIN_MULTILANGS') /* && empty($newlang) */ && GETPOST('lang_id', 'aZ09')) { $newlang = GETPOST('lang_id', 'aZ09'); } if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang)) { @@ -2833,7 +2842,7 @@ if (empty($reshook)) { // Define output language $outputlangs = $langs; $newlang = ''; - if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang) && GETPOST('lang_id', 'aZ09')) { + if (getDolGlobalInt('MAIN_MULTILANGS') /* && empty($newlang) */ && GETPOST('lang_id', 'aZ09')) { $newlang = GETPOST('lang_id', 'aZ09'); } if (getDolGlobalInt('MAIN_MULTILANGS') && empty($newlang)) { diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index f011ecc05ab..4c5ee381d51 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -571,7 +571,8 @@ class FactureRec extends CommonInvoice $sql .= " localtax2 = ".((float) $this->total_localtax2).","; $sql .= " total_ht = ".((float) $this->total_ht).","; $sql .= " total_ttc = ".((float) $this->total_ttc).","; - $sql .= " fk_societe_rib = ".(!empty($this->fk_societe_rib) ? ((int) $this->fk_societe_rib) : 'NULL');; + $sql .= " fk_societe_rib = ".(!empty($this->fk_societe_rib) ? ((int) $this->fk_societe_rib) : 'NULL'); + // TODO Add missing fields $sql .= " WHERE rowid = ".((int) $this->id); @@ -1599,14 +1600,15 @@ class FactureRec extends CommonInvoice /** * Return label of a status * - * @param int $recur Is it a recurring invoice ? - * @param int $status Id status (suspended or not) - * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=long label + picto - * @param integer $alreadypaid Not used for recurring invoices - * @param int $type Type invoice - * @return string Label of status + * @param int $recur Is it a recurring invoice ? + * @param int $status Id status (suspended or not) + * @param int<0,6> $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=long label + picto + * @param int $alreadypaid Not used for recurring invoices + * @param int $type Type invoice + * @param int $nbofopendirectdebitorcredittransfer @unused-param Nb of open direct debit or credit transfer + * @return string Label of status */ - public function LibStatut($recur, $status, $mode = 0, $alreadypaid = -1, $type = 0) + public function LibStatut($recur, $status, $mode = 0, $alreadypaid = -1, $type = 0, $nbofopendirectdebitorcredittransfer = 0) { // phpcs:enable global $langs; diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 0d1435fa918..b4e9e4e24da 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -21,7 +21,7 @@ * Copyright (C) 2023 Gauthier VERDOL * Copyright (C) 2023 Nick Fragoulis * Copyright (C) 2024 MDW - * Copyright (C) 2024 Frédéric France + * Copyright (C) 2024-2025 Frédéric France * * 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 @@ -4145,7 +4145,7 @@ class Facture extends CommonInvoice * @param int $fk_parent_line Id of parent line (0 in most cases, used by modules adding sublevels into lines). * @param int $skip_update_total Keep fields total_xxx to 0 (used for special lines by some modules) * @param int $fk_fournprice Id of origin supplier price - * @param int $pa_ht Price (without tax) of product when it was bought + * @param float $pa_ht Price (without tax) of product when it was bought * @param string $label Label of the line (deprecated, do not use) * @param int $special_code Special code (also used by externals modules!) * @param array $array_options extrafields array diff --git a/htdocs/contrat/class/api_contracts.class.php b/htdocs/contrat/class/api_contracts.class.php index eaaeb04daa0..5637279b9d7 100644 --- a/htdocs/contrat/class/api_contracts.class.php +++ b/htdocs/contrat/class/api_contracts.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2016 Laurent Destailleur - * Copyright (C) 2018-2020 Frédéric France + * Copyright (C) 2018-2024 Frédéric France * * 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 @@ -528,7 +528,7 @@ class Contracts extends DolibarrApi } if ($field == 'array_options' && is_array($value)) { foreach ($value as $index => $val) { - $this->contract->array_options[$index] = $this->_checkValForAPI($field, $val, $this->contract);; + $this->contract->array_options[$index] = $this->_checkValForAPI($field, $val, $this->contract); } continue; } diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 0f83d2dc1f4..8999641d19a 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -9,7 +9,7 @@ * Copyright (C) 2013 Florian Henry * Copyright (C) 2014-2015 Marcos García * Copyright (C) 2018 Nicolas ZABOURI - * Copyright (C) 2018-2024 Frédéric France + * Copyright (C) 2018-2025 Frédéric France * Copyright (C) 2015-2018 Ferran Marcet * Copyright (C) 2024 William Mead * Copyright (C) 2024 MDW @@ -1701,7 +1701,7 @@ class Contrat extends CommonObject * @param string $price_base_type HT or TTC * @param int $info_bits Bits of type of lines * @param int $fk_fournprice Fourn price id - * @param int $pa_ht Buying price HT + * @param float $pa_ht Buying price HT * @param array $array_options extrafields array * @param string $fk_unit Code of the unit to use. Null to use the default one * @param int $rang Position diff --git a/htdocs/core/actions_sendmails.inc.php b/htdocs/core/actions_sendmails.inc.php index 255cd8818f4..fb60b067456 100644 --- a/htdocs/core/actions_sendmails.inc.php +++ b/htdocs/core/actions_sendmails.inc.php @@ -224,6 +224,15 @@ if (($action == 'send' || $action == 'relance') && !GETPOST('addfile') && !GETPO } elseif ($val == 'contact') { // Key selected means current contact $tmparray[] = dol_string_nospecial($contact->getFullName($langs), ' ', array(",")).' <'.$contact->email.'>'; $sendtoid[] = $contact->id; + } elseif ($val && $object->element == 'project' && empty($object->socid)) { // $val is the Id of a contact + $contact = new Contact($db); + $ret = $contact->fetch((int) $val); + if ($ret > 0 && !empty($contact->socid)) { + $thirdparty = new Societe($db); + $thirdparty->fetch($contact->socid); + $tmparray[] = $thirdparty->contact_get_property((int) $val, 'email'); + $sendtoid[] = ((int) $val); + } } elseif ($val) { // $val is the Id of a contact $tmparray[] = $thirdparty->contact_get_property((int) $val, 'email'); $sendtoid[] = ((int) $val); diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 6d452392368..625d3584382 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -779,6 +779,14 @@ abstract class CommonDocGenerator $resarray[$array_key.'_total_discount_ht'] = ''; } + if ($object->element == 'facture' || $object->element == 'invoice_supplier') { + if ($object->type == 0) { + $resarray[$array_key.'_type_label'] = $outputlangs->transnoentities("PdfInvoiceTitle"); + } else { + $resarray[$array_key.'_type_label'] = (empty($object)) ? '' : $object->getLibType(0); + } + } + // Fetch project information if there is a project assigned to this object if ($object->element != "project" && !empty($object->fk_project) && $object->fk_project > 0) { if (!is_object($object->project)) { @@ -974,6 +982,16 @@ abstract class CommonDocGenerator } } + // Check if the current line belongs to a shipment + if (get_class($line) == 'ExpeditionLigne') { + $resarray['line_qty_shipped'] = $line->qty_shipped; + $resarray['line_qty_asked'] = $line->qty_asked; + $resarray['line_weight'] = empty($line->weight) ? '' : $line->weight * $line->qty_shipped.' '.measuringUnitString(0, 'weight', $line->weight_units); + $resarray['line_length'] = empty($line->length) ? '' : $line->length * $line->qty_shipped.' '.measuringUnitString(0, 'size', $line->length_units); + $resarray['line_surface'] = empty($line->surface) ? '' : $line->surface * $line->qty_shipped.' '.measuringUnitString(0, 'surface', $line->surface_units); + $resarray['line_volume'] = empty($line->volume) ? '' : $line->volume * $line->qty_shipped.' '.measuringUnitString(0, 'volume', $line->volume_units); + } + // Load product data optional fields to the line -> enables to use "line_options_{extrafield}" if (isset($line->fk_product) && $line->fk_product > 0) { $tmpproduct = new Product($this->db); @@ -1023,7 +1041,7 @@ abstract class CommonDocGenerator $array_key.'_ref' => $object->ref, $array_key.'_ref_ext' => $object->ref_ext, $array_key.'_ref_customer' => $object->ref_customer, - $array_key.'_date_delivery' => dol_print_date($object->date_delivery, 'day'), + $array_key.'_date_delivery' => dol_print_date($object->date_delivery, 'day'), // note: for shipment, delivery and reception: date_delivery, for orders: delivery_date $array_key.'_hour_delivery' => dol_print_date($object->date_delivery, 'hour'), $array_key.'_date_creation' => dol_print_date($object->date_creation, 'day'), $array_key.'_total_ht' => price($object->total_ht), diff --git a/htdocs/core/class/commoninvoice.class.php b/htdocs/core/class/commoninvoice.class.php index c54b9d149a4..321533eb28d 100644 --- a/htdocs/core/class/commoninvoice.class.php +++ b/htdocs/core/class/commoninvoice.class.php @@ -493,8 +493,8 @@ abstract class CommonInvoice extends CommonObject /** * Return list of open direct debit or credit transfer * - * @param string $type 'bank-transfer' or 'direct-debit' - * @return array Array with list of payments + * @param 'bank-transfer'|'direct-debit' $type 'bank-transfer' or 'direct-debit' + * @return array Array with list of payments */ public function getListOfOpenDirectDebitOrCreditTransfer($type) { @@ -514,6 +514,7 @@ abstract class CommonInvoice extends CommonObject $sql .= " ORDER BY pfd.date_demande DESC"; $resql = $this->db->query($sql); + $num = 0; if ($resql) { $num = $this->db->num_rows($resql); $i = 0; @@ -521,10 +522,10 @@ abstract class CommonInvoice extends CommonObject $obj = $this->db->fetch_object($resql); if ($obj) { $listofopendirectdebitorcredittransfer[] = array( - 'id' => $obj->rowid, + 'id' => (int) $obj->rowid, 'invoiceid' => (int) $this->id, 'date' => $this->db->jdate($obj->date_demande), - 'amount' => $obj->amount + 'amount' => (float) $obj->amount ); } @@ -909,13 +910,13 @@ abstract class CommonInvoice extends CommonObject /** * Return label of a status * - * @param int $paye Status field paye - * @param int $status Id status - * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=long label + picto - * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommend to put here amount paid if you have it, -1 otherwise) - * @param int $type Type invoice. If -1, we use $this->type - * @param int $nbofopendirectdebitorcredittransfer Nb of open direct debit or credit transfer - * @return string Label of status + * @param int $paye Status field paye (or $recur) + * @param int $status Id status + * @param int<0,6> $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=long label + picto + * @param int $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommend to put here amount paid if you have it, -1 otherwise) + * @param int $type Type invoice. If -1, we use $this->type + * @param int $nbofopendirectdebitorcredittransfer Nb of open direct debit or credit transfer + * @return string Label of status */ public function LibStatut($paye, $status, $mode = 0, $alreadypaid = -1, $type = -1, $nbofopendirectdebitorcredittransfer = 0) { @@ -984,8 +985,6 @@ abstract class CommonInvoice extends CommonObject return $hookmanager->resPrint; } - - return dolGetStatus($labelStatus, $labelStatusShort, '', $statusType, $mode); } @@ -1344,7 +1343,8 @@ abstract class CommonInvoice extends CommonObject $error++; $errorforinvoice++; dol_syslog("makeStripeSepaRequest Error no bank account defined for Stripe payments", LOG_ERR); - $this->errors[] = "Error bank account for Stripe payments not defined into Stripe module"; + $this->error = "Error bank account for Stripe payments not defined into Stripe module"; + $this->errors[] = $this->error; } $this->db->begin(); @@ -1360,7 +1360,8 @@ abstract class CommonInvoice extends CommonObject $error++; $errorforinvoice++; dol_syslog("makeStripeSepaRequest Error on BonPrelevement creation", LOG_ERR); - $this->errors[] = "Error on BonPrelevement creation"; + $this->error = "Error on BonPrelevement creation"; + $this->errors[] = $this->error; } /* if (!$error) { @@ -1372,7 +1373,8 @@ abstract class CommonInvoice extends CommonObject $result = $this->db->query($sql); if ($result < 0) { $error++; - $this->errors[] = "Error on updating fk_prelevement_bons to ".$bon->id; + $this->error = "Error on updating fk_prelevement_bons to ".$bon->id; + $this->errors[] = $this->error; } } */ @@ -1380,7 +1382,8 @@ abstract class CommonInvoice extends CommonObject $error++; $errorforinvoice++; dol_syslog("makeStripeSepaRequest Error Line already part of a bank payment order", LOG_ERR); - $this->errors[] = "The line is already included into a bank payment order. Delete the bank payment order first."; + $this->error = "The line is already included into a bank payment order. Delete the bank payment order first."; + $this->errors[] = $this->error; } } @@ -1459,11 +1462,13 @@ abstract class CommonInvoice extends CommonObject } else { $customer = $stripe->customerStripe($thirdparty, $stripeacc, $servicestatus, 0); if (empty($customer) && ! empty($stripe->error)) { - $this->errors[] = $stripe->error; + $this->error = $stripe->error; + $this->errors[] = $this->error; } /*if (!empty($customer) && empty($customer->sources)) { $customer = null; - $this->errors[] = '\Stripe\Customer::retrieve did not returned the sources'; + $this->error = '\Stripe\Customer::retrieve did not returned the sources'; + $this->errors[] = $this->error; }*/ } @@ -1542,7 +1547,7 @@ abstract class CommonInvoice extends CommonObject $error++; $errorforinvoice++; - $errmsg = $langs->trans("FailedToChargeCard"); + $errmsg = $langs->trans("FailedToChargeSEPA"); if (!empty($charge)) { if ($stripefailuredeclinecode == 'authentication_required') { $errauthenticationmessage = $langs->trans("ErrSCAAuthentication"); @@ -1573,7 +1578,9 @@ abstract class CommonInvoice extends CommonObject $description = 'Stripe payment ERROR from makeStripeSepaRequest: ' . $FULLTAG; $postactionmessages[] = $errmsg . ' (' . $stripearrayofkeys['publishable_key'] . ')'; - $this->errors[] = $errmsg; + + $this->error = $errmsg; + $this->errors[] = $this->error; } else { dol_syslog('Successfuly request '.$type.' '.$stripecard->id); @@ -1603,7 +1610,9 @@ abstract class CommonInvoice extends CommonObject $error++; $errorforinvoice++; dol_syslog("No ban payment method found for this stripe customer " . $customer->id, LOG_WARNING); - $this->errors[] = 'Failed to get direct debit payment method for stripe customer = ' . $customer->id; + + $this->error = 'Failed to get direct debit payment method for stripe customer = ' . $customer->id; + $this->errors[] = $this->error; $description = 'Failed to find or use the payment mode - no ban defined for the thirdparty account'; $stripefailurecode = 'BADPAYMENTMODE'; @@ -1629,10 +1638,12 @@ abstract class CommonInvoice extends CommonObject } else { // Else of the if ($resultthirdparty > 0 && ! empty($customer)) { if ($resultthirdparty <= 0) { dol_syslog('SellYourSaasUtils Failed to load customer for thirdparty_id = ' . $thirdparty->id, LOG_WARNING); - $this->errors[] = 'Failed to load Stripe account for thirdparty_id = ' . $thirdparty->id; + $this->error = 'Failed to load Stripe account for thirdparty_id = ' . $thirdparty->id; + $this->errors[] = $this->error; } else { // $customer stripe not found dol_syslog('SellYourSaasUtils Failed to get Stripe customer id for thirdparty_id = ' . $thirdparty->id . " in mode " . $servicestatus . " in Stripe env " . $stripearrayofkeysbyenv[$servicestatus]['publishable_key'], LOG_WARNING); - $this->errors[] = 'Failed to get Stripe account id for thirdparty_id = ' . $thirdparty->id . " in mode " . $servicestatus . " in Stripe env " . $stripearrayofkeysbyenv[$servicestatus]['publishable_key']; + $this->error = 'Failed to get Stripe account id for thirdparty_id = ' . $thirdparty->id . " in mode " . $servicestatus . " in Stripe env " . $stripearrayofkeysbyenv[$servicestatus]['publishable_key']; + $this->errors[] = $this->error; } $error++; $errorforinvoice++; @@ -1689,13 +1700,15 @@ abstract class CommonInvoice extends CommonObject $error++; $errorforinvoice++; dol_syslog('Error ' . $e->getMessage(), LOG_ERR); - $this->errors[] = 'Error ' . $e->getMessage(); + $this->error = 'Error ' . $e->getMessage(); + $this->errors[] = $this->error; } } else { // If remain to pay is null $error++; $errorforinvoice++; dol_syslog("Remain to pay is null for the invoice " . $this->id . " " . $this->ref . ". Why is the invoice not classified 'Paid' ?", LOG_WARNING); - $this->errors[] = "Remain to pay is null for the invoice " . $this->id . " " . $this->ref . ". Why is the invoice not classified 'Paid' ?"; + $this->error = "Remain to pay is null for the invoice " . $this->id . " " . $this->ref . ". Why is the invoice not classified 'Paid' ?"; + $this->errors[] = $this->error; } } @@ -1706,7 +1719,8 @@ abstract class CommonInvoice extends CommonObject $error++; $errorforinvoice++; dol_syslog("Error on BonPrelevement creation", LOG_ERR); - $this->errors[] = "Error on BonPrelevement creation"; + $this->error = "Error on BonPrelevement creation"; + $this->errors[] = $this->error; } } diff --git a/htdocs/core/class/doleditor.class.php b/htdocs/core/class/doleditor.class.php index 8f2c9faf506..030713957a3 100644 --- a/htdocs/core/class/doleditor.class.php +++ b/htdocs/core/class/doleditor.class.php @@ -44,7 +44,7 @@ class DolEditor // If not using fckeditor /** - * @var string + * @var ?string */ public $content; /** diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index 8cef23ff282..fc8fc9ada54 100644 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -318,7 +318,7 @@ class HookManager // Hooks that must return int (hooks with type 'addreplace') if ($hooktype == 'addreplace') { // @phan-suppress-next-line PhanUndeclaredMethod The method's existence is tested above. - $resactiontmp = $actionclassinstance->$method($parameters, $object, $action, $this); // $object and $action can be changed by method ($object->id during creation for example or $action to go back to other action for example) + $resactiontmp = (int) $actionclassinstance->$method($parameters, $object, $action, $this); // $object and $action can be changed by method ($object->id during creation for example or $action to go back to other action for example) $resaction += $resactiontmp; if ($resactiontmp < 0 || !empty($actionclassinstance->error) || (!empty($actionclassinstance->errors) && count($actionclassinstance->errors) > 0)) { diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 3e9aff3b1f1..a23db2adf8a 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -737,17 +737,17 @@ class Form * Show a text with a picto and a tooltip on picto * * @param string $text Text to show - * @param string $htmltext Content of tooltip - * @param int $direction 1=Icon is after text, -1=Icon is before text, 0=no icon + * @param string $htmltooltip Content of tooltip + * @param int<-1,1> $direction 1=Icon is after text, -1=Icon is before text, 0=no icon * @param string $type Type of picto ('info', 'infoclickable', 'help', 'helpclickable', 'warning', 'superadmin', 'mypicto@mymodule', ...) or image filepath or 'none' * @param string $extracss Add a CSS style to td, div or span tag - * @param int $noencodehtmltext Do not encode into html entity the htmltext - * @param int $notabs 0=Include table and tr tags, 1=Do not include table and tr tags, 2=use div, 3=use span + * @param int<0,1> $noencodehtmltext Do not encode into html entity the htmltext + * @param int<0,3> $notabs 0=Include table and tr tags, 1=Do not include table and tr tags, 2=use div, 3=use span * @param string $tooltiptrigger ''=Tooltip on hover and hidden on smartphone, 'abconsmartphone'=Tooltip on hover and on click on smartphone, 'abc'=Tooltip on click (abc is a unique key, clickable link is on image or on link if param $type='none' or on both if $type='xxxclickable') - * @param int $forcenowrap Force no wrap between text and picto (works with notabs=2 only) + * @param int<0,1> $forcenowrap Force no wrap between text and picto (works with notabs=2 only) * @return string HTML code of text, picto, tooltip */ - public function textwithpicto($text, $htmltext, $direction = 1, $type = 'help', $extracss = 'valignmiddle', $noencodehtmltext = 0, $notabs = 3, $tooltiptrigger = '', $forcenowrap = 0) + public function textwithpicto($text, $htmltooltip, $direction = 1, $type = 'help', $extracss = 'valignmiddle', $noencodehtmltext = 0, $notabs = 3, $tooltiptrigger = '', $forcenowrap = 0) { global $conf, $langs; @@ -773,8 +773,8 @@ class Form if ($type == 'info' || $type == 'infoclickable' || $type == 'help' || $type == 'helpclickable') { return $text; } else { - $alt = $htmltext; - $htmltext = ''; + $alt = $htmltooltip; + $htmltooltip = ''; } } @@ -810,7 +810,7 @@ class Form $img = img_picto($alt, $type); // $type can be an image path } - return $this->textwithtooltip($text, $htmltext, ((($tooltiptrigger && !$img) || strpos($type, 'clickable')) ? 3 : 2), $direction, $img, $extracss, $notabs, '', $noencodehtmltext, $tooltiptrigger, $forcenowrap); + return $this->textwithtooltip($text, $htmltooltip, ((($tooltiptrigger && !$img) || strpos($type, 'clickable')) ? 3 : 2), $direction, $img, $extracss, $notabs, '', $noencodehtmltext, $tooltiptrigger, $forcenowrap); } /** @@ -5275,7 +5275,7 @@ class Form $sql = "SELECT rowid, label, bank, status, iban_prefix, bic"; $sql .= " FROM " . $this->db->prefix() . "societe_rib"; - $sql.= " WHERE type = 'ban'"; + $sql .= " WHERE type = 'ban'"; if ($filtre) { // TODO Support USF $sql .= " AND " . $filtre; } @@ -5469,7 +5469,9 @@ class Form $result = $bankstatic->fetch($selected); if ($result) { print $bankstatic->label; - if ($showibanbic) print ' (' . $bankstatic->iban . '/' .$bankstatic->bic. ')'; + if ($showibanbic) { + print ' (' . $bankstatic->iban . '/' .$bankstatic->bic. ')'; + } } } else { print " "; @@ -8769,7 +8771,7 @@ class Form } $splittedfieldstoshow = explode(',', $fieldstoshow); foreach ($splittedfieldstoshow as &$field2) { - if (is_numeric($pos=strpos($field2, ' '))) { + if (is_numeric($pos = strpos($field2, ' '))) { $field2 = substr($field2, 0, $pos); } } diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index b7f6f705ece..00c1a3bf98e 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -862,7 +862,7 @@ class FormFile $out .= ' '; } - // Button + // Button to generate document $genbutton = 'dol_no_mouse_hover) && $modulepart != 'unpaid') { $langs->load("errors"); $genbutton .= ' '.img_warning($langs->transnoentitiesnoconv("WarningNoDocumentModelActivated")); + /*if (empty($modellist)) { + $genbutton .= ''; + }*/ } if (!$allowgenifempty && !is_array($modellist) && empty($modellist) && empty($conf->dol_no_mouse_hover) && $modulepart != 'unpaid') { $genbutton = ''; diff --git a/htdocs/core/db/DoliDB.class.php b/htdocs/core/db/DoliDB.class.php index 1a898e9c618..63847079776 100644 --- a/htdocs/core/db/DoliDB.class.php +++ b/htdocs/core/db/DoliDB.class.php @@ -176,7 +176,7 @@ abstract class DoliDB implements Database /** * Sanitize a string for SQL forging * - * @param string $stringtosanitize String to escape + * @param string $stringtosanitize String to sanitize * @param int $allowsimplequote 1=Allow simple quotes in string. When string is used as a list of SQL string ('aa', 'bb', ...) * @param int $allowsequals 1=Allow equals sign * @param int $allowsspace 1=Allow space char diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php index aab53142ed4..f572225a3ab 100644 --- a/htdocs/core/db/mysqli.class.php +++ b/htdocs/core/db/mysqli.class.php @@ -982,7 +982,11 @@ class DoliDBMysqli extends DoliDB $sql .= " ".$this->sanitize($field_desc['attribute']); } if (isset($field_desc['null']) && preg_match("/^[^\s]/i", $field_desc['null'])) { - $sql .= " ".$this->sanitize($field_desc['null']); + if ($field_desc['null'] == 'NOT NULL') { + $sql .= " ".$this->sanitize($field_desc['null'], 0, 0, 1); + } else { + $sql .= " ".$this->sanitize($field_desc['null']); + } } if (isset($field_desc['default']) && preg_match("/^[^\s]/i", $field_desc['default'])) { if (in_array($field_desc['type'], array('tinyint', 'smallint', 'int', 'double'))) { diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 2617300e0f7..8c456044410 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -1214,7 +1214,11 @@ class DoliDBPgsql extends DoliDB $sql .= " ".$this->sanitize($field_desc['attribute']); } if (isset($field_desc['null']) && preg_match("/^[^\s]/i", $field_desc['null'])) { - $sql .= " ".$this->sanitize($field_desc['null']); + if ($field_desc['null'] == 'NOT NULL') { + $sql .= " ".$this->sanitize($field_desc['null'], 0, 0, 1); + } else { + $sql .= " ".$this->sanitize($field_desc['null']); + } } if (isset($field_desc['default']) && preg_match("/^[^\s]/i", $field_desc['default'])) { if (in_array($field_desc['type'], array('tinyint', 'smallint', 'int', 'double'))) { diff --git a/htdocs/core/db/sqlite3.class.php b/htdocs/core/db/sqlite3.class.php index 0394f03fa98..3e5fe6cb908 100644 --- a/htdocs/core/db/sqlite3.class.php +++ b/htdocs/core/db/sqlite3.class.php @@ -1114,17 +1114,21 @@ class DoliDBSqlite3 extends DoliDB // cles recherchees dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra // ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); $sql = "ALTER TABLE ".$table." ADD ".$field_name." "; - $sql .= $field_desc['type']; + $sql .= $this->sanitize($field_desc['type']); if (isset($field_desc['value']) && preg_match("/^[^\s]/i", $field_desc['value'])) { if (!in_array($field_desc['type'], array('date', 'datetime'))) { - $sql .= "(".$field_desc['value'].")"; + $sql .= "(".$this->sanitize($field_desc['value']).")"; } } if (isset($field_desc['attribute']) && preg_match("/^[^\s]/i", $field_desc['attribute'])) { $sql .= " ".$this->sanitize($field_desc['attribute']); } if (isset($field_desc['null']) && preg_match("/^[^\s]/i", $field_desc['null'])) { - $sql .= " ".$this->sanitize($field_desc['null'], 0, 0, 1); + if ($field_desc['null'] == 'NOT NULL') { + $sql .= " ".$this->sanitize($field_desc['null'], 0, 0, 1); + } else { + $sql .= " ".$this->sanitize($field_desc['null']); + } } if (isset($field_desc['default']) && preg_match("/^[^\s]/i", $field_desc['default'])) { if (in_array($field_desc['type'], array('tinyint', 'smallint', 'int', 'double'))) { diff --git a/htdocs/core/doxygen.php b/htdocs/core/doxygen.php index 0d86ec3438f..b0f7f3a8af7 100644 --- a/htdocs/core/doxygen.php +++ b/htdocs/core/doxygen.php @@ -23,7 +23,7 @@ * \mainpage Dolibarr documentation of source code * * This is source documentation for Dolibarr ERP/CRM.
- * This documentation can be built or updated running the script build/doxygen/dolibarr-doxygen-build.pl or from Eclipse with Doxygen plugin.
+ * This documentation can be built or updated running the script dev/build/doxygen/dolibarr-doxygen-build.pl or from Eclipse with Doxygen plugin.
*
* Dolibarr official web site: www.dolibarr.org
*
diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index a4682c21a13..a28d7d61931 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -141,6 +141,25 @@ function societe_prepare_head(Societe $object) $h++; } + if (isModEnabled('accounting') && getDolGlobalString('ACCOUNTING_ENABLE_TABONTHIRDPARTY') && ($user->hasRight('accounting', 'mouvements', 'lire'))) { + // link to customer account by default + if (!empty($object->code_compta_client)) { + $subledger_start_account = $subledger_end_account = $object->code_compta_client; + $mode = 'customer'; + } elseif (!empty($object->code_compta_fournisseur)) { + $subledger_start_account = $subledger_end_account = $object->code_compta_fournisseur; + $mode = 'supplier'; + } else { + $subledger_start_account = $subledger_end_account = ''; + $mode = 'customer'; + } + + $head[$h][0] = DOL_URL_ROOT.'/accountancy/bookkeeping/listbyaccount.php?socid='.$object->id.'&mode='.$mode.'&type=sub&search_accountancy_code_start='.$subledger_start_account.'&search_accountancy_code_end='.$subledger_end_account; + $head[$h][1] = $langs->trans("Accounting"); + $head[$h][2] = 'accounting'; + $h++; + } + if (isModEnabled('project') && ($user->hasRight('projet', 'lire'))) { $nbProject = 0; // Enable caching of thirdrparty count projects @@ -1402,7 +1421,7 @@ function show_contacts($conf, $langs, $db, $object, $backtopage = '', $showuserl print ''; // Action column if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) { - print ''; + print ''; print $form->showFilterButtons(); print ''; } @@ -1449,7 +1468,7 @@ function show_contacts($conf, $langs, $db, $object, $backtopage = '', $showuserl print $hookmanager->resPrint; // Action column if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) { - print ''; + print ''; print $form->showFilterButtons(); print ''; } diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 933a07f6d22..f8561095469 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -1672,7 +1672,12 @@ function dol_sanitizePathName($str, $newstr = '_', $unaccent = 1) // Char '>' '<' '|' '$' and ';' are special chars for shells. // Chars '--' can be used into filename to inject special parameters like --use-compress-program to make command with file as parameter making remote execution of command $filesystem_forbidden_chars = array('<', '>', '?', '*', '|', '"', '°', '$', ';', '`'); - $tmp = dol_string_nospecial($unaccent ? dol_string_unaccent($str) : $str, $newstr, $filesystem_forbidden_chars); + + $tmp = $str; + if ($unaccent) { + $tmp = dol_string_unaccent($tmp); + } + $tmp = dol_string_nospecial($tmp, $newstr, $filesystem_forbidden_chars); $tmp = preg_replace('/\-\-+/', '_', $tmp); $tmp = preg_replace('/\s+\-([^\s])/', ' _$1', $tmp); $tmp = preg_replace('/\s+\-$/', '', $tmp); @@ -2311,10 +2316,13 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename = } if (!empty($message)) { - // Test log level @phan-suppress-next-line PhanPluginDuplicateArrayKey - $logLevels = array(LOG_EMERG => 'EMERG', LOG_ALERT => 'ALERT', LOG_CRIT => 'CRITICAL', LOG_ERR => 'ERR', LOG_WARNING => 'WARN', LOG_NOTICE => 'NOTICE',LOG_INFO => 'INFO', LOG_DEBUG => 'DEBUG'); + // Test log level + // @phan-suppress-next-line PhanPluginDuplicateArrayKey + $logLevels = array(LOG_EMERG => 'EMERG', LOG_ALERT => 'ALERT', LOG_CRIT => 'CRITICAL', LOG_ERR => 'ERR', LOG_WARNING => 'WARN', LOG_NOTICE => 'NOTICE', LOG_INFO => 'INFO', LOG_DEBUG => 'DEBUG'); + if (!array_key_exists($level, $logLevels)) { - throw new Exception('Incorrect log level'); + dol_syslog('Error Bad Log Level '.$level, LOG_ERR); + $level = $logLevels[LOG_ERR]; } if ($level > getDolGlobalInt('SYSLOG_LEVEL')) { return; @@ -7948,6 +7956,8 @@ function dol_mkdir($dir, $dataroot = '', $newmask = '') dol_syslog("functions.lib::dol_mkdir: dir=".$dir, LOG_INFO); + $dir = dol_sanitizePathName($dir, '_', 0); + $dir_osencoded = dol_osencode($dir); if (@is_dir($dir_osencoded)) { return 0; @@ -8123,13 +8133,14 @@ function dol_string_nohtmltag($stringtoclean, $removelinefeed = 1, $pagecodeto = * @param int $allowiframe Allow iframe tags. * @param string[] $allowed_tags List of allowed tags to replace the default list * @param int $allowlink Allow "link" tags (for head html section) - * @param int $allowscript Allow "script" tags (for head html section) - * @param int $allowstyle Allow "style" tags (for head html section) + * @param int $allowscript Allow "script" tags (for head html section when using GETPOST with mode 'restricthtmlallowlinkscript') + * @param int $allowstyle Allow "style" tags (for head html section when using GETPOST with mode 'restricthtmlallowlinkscript') + * @param int $allowphp Allow "php" tags (Deprecated. Should never be used. If you can add php, you can also print in the php the code to output the other non allowed tags) * @return string String cleaned * * @see dol_htmlwithnojs() dol_escape_htmltag() strip_tags() dol_string_nohtmltag() dol_string_neverthesehtmltags() */ -function dol_string_onlythesehtmltags($stringtoclean, $cleanalsosomestyles = 1, $removeclassattribute = 1, $cleanalsojavascript = 0, $allowiframe = 0, $allowed_tags = array(), $allowlink = 0, $allowscript = 0, $allowstyle = 0) +function dol_string_onlythesehtmltags($stringtoclean, $cleanalsosomestyles = 1, $removeclassattribute = 1, $cleanalsojavascript = 0, $allowiframe = 0, $allowed_tags = array(), $allowlink = 0, $allowscript = 0, $allowstyle = 0, $allowphp = 0) { if (empty($allowed_tags)) { $allowed_tags = array( @@ -8170,6 +8181,12 @@ function dol_string_onlythesehtmltags($stringtoclean, $cleanalsosomestyles = 1, //$stringtoclean = preg_replace('//', '', $stringtoclean); $stringtoclean = preg_replace('//', '\1', $stringtoclean); + if ($allowphp) { + $allowed_tags[] = "commentphp"; + $stringtoclean = preg_replace('/^<\?php([^"]+)\?>$/i', '\1__', $stringtoclean); // Note: is allowed only if on the same line + $stringtoclean = preg_replace('/"<\?php([^"]+)\?>"/i', '"\1"', $stringtoclean); // Note: "" is allowed only if on the same line + } + $stringtoclean = preg_replace('/:/i', ':', $stringtoclean); $stringtoclean = preg_replace('/:|�+58|:/i', '', $stringtoclean); // refused string ':' encoded (no reason to have a : encoded like this) to disable 'javascript:...' @@ -8183,7 +8200,7 @@ function dol_string_onlythesehtmltags($stringtoclean, $cleanalsosomestyles = 1, $temp = preg_replace('/(<[^>]+)\s+class=((["\']).*?\\3|\\w*)/i', '\\1', $temp); } - // Remove 'javascript:' that we should not find into a text with + // Remove 'javascript:' that we should not find into a text // Warning: This is not reliable to fight against obfuscated javascript, there is a lot of other solution to include js into a common html tag (only filtered by a GETPOST(.., powerfullfilter)). if ($cleanalsojavascript) { $temp = preg_replace('/j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i', '', $temp); @@ -8191,6 +8208,10 @@ function dol_string_onlythesehtmltags($stringtoclean, $cleanalsosomestyles = 1, $temp = str_replace('__!DOCTYPE_HTML__', '', $temp); // Restore the DOCTYPE + if ($allowphp) { + $temp = preg_replace('/(.*)<\/commentphp>/', '', $temp); // Restore php code + } + $temp = preg_replace('/([^>]*)<\/comment>/', '', $temp); // Restore html comments @@ -8214,7 +8235,7 @@ function dol_string_onlythesehtmlattributes($stringtoclean, $allowed_attributes { if (is_null($allowed_attributes)) { $allowed_attributes = array( - "allow", "allowfullscreen", "alt", "class", "contenteditable", "data-html", "frameborder", "height", "href", "id", "name", "src", "style", "target", "title", "width", + "allow", "allowfullscreen", "alt", "async", "class", "content", "contenteditable", "crossorigin", "data-html", "frameborder", "height", "href", "id", "name", "property", "rel", "src", "style", "target", "title", "type", "width", // HTML5 "header", "footer", "nav", "section", "menu", "menuitem" ); @@ -8535,7 +8556,7 @@ function dol_htmlwithnojs($stringtoencode, $nouseofiframesandbox = 0, $check = ' // Keep only some html tags and remove also some 'javascript:' strings if ($check == 'restricthtmlallowlinkscript') { - $out = dol_string_onlythesehtmltags($out, 0, 1, 0, 0, array(), 1, 1, 1); + $out = dol_string_onlythesehtmltags($out, 0, 1, 0, 0, array(), 1, 1, 1, getDolGlobalInt("UNSECURED_restricthtmlallowlinkscript_ALLOW_PHP")); } elseif ($check == 'restricthtmlallowclass' || $check == 'restricthtmlallowunvalid') { $out = dol_string_onlythesehtmltags($out, 0, 0, 1); } else { diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index 6f70914d9f7..48c6e2f1f89 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -796,7 +796,7 @@ class pdf_eratosthene extends ModelePDFCommandes $drawTabHideTop = $hidetop; $drawTabTop = $tab_top_newpage; - $drawTabBottom = $this->page_hauteur - $heightforfooter;; + $drawTabBottom = $this->page_hauteur - $heightforfooter; $hideBottom = 0; // TODO understand why it change to 1 or 0 during process if ($i == $pageposbeforeprintlines) { diff --git a/htdocs/core/modules/contract/doc/pdf_strato.modules.php b/htdocs/core/modules/contract/doc/pdf_strato.modules.php index 658a1104a31..a5fb5ace0f3 100644 --- a/htdocs/core/modules/contract/doc/pdf_strato.modules.php +++ b/htdocs/core/modules/contract/doc/pdf_strato.modules.php @@ -37,6 +37,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; /** diff --git a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php index 7fa776dff12..f3039d6fc2b 100644 --- a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php @@ -986,7 +986,7 @@ class pdf_sponge extends ModelePDFFactures $drawTabHideTop = $hidetop; $drawTabTop = $this->tab_top_newpage; - $drawTabBottom = $this->page_hauteur - $this->heightforfooter;; + $drawTabBottom = $this->page_hauteur - $this->heightforfooter; $hideBottom = 0; // TODO understand why it change to 1 or 0 during process if ($i == $pageposbeforeprintlines) { diff --git a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php index c52dc1b2c16..f30314443f0 100644 --- a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php @@ -822,7 +822,7 @@ class pdf_cyan extends ModelePDFPropales $drawTabHideTop = $hidetop; $drawTabTop = $tab_top_newpage; - $drawTabBottom = $this->page_hauteur - $heightforfooter;; + $drawTabBottom = $this->page_hauteur - $heightforfooter; $hideBottom = 0; // TODO understand why it change to 1 or 0 during process if ($i == $pageposbeforeprintlines) { diff --git a/htdocs/core/tpl/commonfields_add.tpl.php b/htdocs/core/tpl/commonfields_add.tpl.php index 3837ad42a4c..5ab7e7aa799 100644 --- a/htdocs/core/tpl/commonfields_add.tpl.php +++ b/htdocs/core/tpl/commonfields_add.tpl.php @@ -80,7 +80,7 @@ foreach ($object->fields as $key => $val) { print img_picto('', $val['picto'], '', 0, 0, 0, '', 'pictofixedwidth'); } if (in_array($val['type'], array('int', 'integer'))) { - $value = GETPOSTINT($key); + $value = GETPOST($key); // We must not use GETPOSTINT in creation form because value can still be "" } elseif ($val['type'] == 'double') { $value = price2num(GETPOST($key, 'alphanohtml')); } elseif (preg_match('/^text/', $val['type'])) { diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index 93bc95c0a12..58ccc4e50ff 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -126,6 +126,12 @@ $coldisplay = 0;
$line, 'i' =>& $i, 'coldisplay' =>& $coldisplay]; +$reshook = $hookmanager->executeHooks('objectLineView_BeforeProduct', $parameters, $object, $action); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; + if (($line->info_bits & 2) == 2) { print ''; $txt = ''; @@ -267,8 +273,12 @@ if (($line->info_bits & 2) == 2) { } } + + $parameters = ['line' => $line, 'i' =>& $i, 'coldisplay' =>& $coldisplay]; + $reshook = $hookmanager->executeHooks('objectLineView_BeforeProductExtrafield', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; // Line extrafield - if (!empty($extrafields)) { + if (!empty($extrafields) && empty($reshook)) { $temps = $line->showOptionals($extrafields, 'view', array(), '', '', 1, 'line'); if (!empty($temps)) { print '
'; @@ -278,17 +288,22 @@ if (($line->info_bits & 2) == 2) { } } -if ($user->hasRight('fournisseur', 'lire') && isset($line->fk_fournprice) && $line->fk_fournprice > 0 && !getDolGlobalString('SUPPLIER_HIDE_SUPPLIER_OBJECTLINES')) { - require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; - $productfourn = new ProductFournisseur($this->db); - $productfourn->fetch_product_fournisseur_price($line->fk_fournprice); - print '
'; - print ''.$langs->trans('Supplier').' : '.$productfourn->getSocNomUrl(1, 'supplier').' - '.$langs->trans('Ref').' : '; - // Supplier ref - if ($user->hasRight('produit', 'creer') || $user->hasRight('service', 'creer')) { // change required right here - print $productfourn->getNomUrl(); - } else { - print $productfourn->ref_supplier; +$parameters = ['line' => $line, 'i' =>& $i, 'coldisplay' =>& $coldisplay]; +$reshook = $hookmanager->executeHooks('objectLineView_ProductSupplier', $parameters, $object, $action); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +if (empty($reshook)) { + if ($user->hasRight('fournisseur', 'lire') && isset($line->fk_fournprice) && $line->fk_fournprice > 0 && !getDolGlobalString('SUPPLIER_HIDE_SUPPLIER_OBJECTLINES')) { + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; + $productfourn = new ProductFournisseur($this->db); + $productfourn->fetch_product_fournisseur_price($line->fk_fournprice); + print '
'; + print ''.$langs->trans('Supplier').' : '.$productfourn->getSocNomUrl(1, 'supplier').' - '.$langs->trans('Ref').' : '; + // Supplier ref + if ($user->hasRight('produit', 'creer') || $user->hasRight('service', 'creer')) { // change required right here + print $productfourn->getNomUrl(); + } else { + print $productfourn->ref_supplier; + } } } diff --git a/htdocs/fichinter/class/fichinter.class.php b/htdocs/fichinter/class/fichinter.class.php index 1a9340923e6..1a81f99bde7 100644 --- a/htdocs/fichinter/class/fichinter.class.php +++ b/htdocs/fichinter/class/fichinter.class.php @@ -200,11 +200,18 @@ class Fichinter extends CommonObject const STATUS_CLOSED = 3; /** - * Date delivery - * @var null|int|'' Delivery int + * Date of delivery of receipt + * @var null|int|'' Date the intervention receipt has been delivered + * @deprecated Use $delivery_date_receipt */ public $date_delivery; + /** + * Date of delivery of receipt + * @var null|int|'' Date the intervention receipt has been delivered + */ + public $delivery_date_receipt; + /** * Author Id * @var int @@ -1196,23 +1203,24 @@ class Fichinter extends CommonObject // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Defines a delivery date of intervention + * Defines a delivery date of the receipt of intervention * - * @param User $user Object user who define - * @param integer $date_delivery date of delivery - * @return int Return integer <0 if KO, >0 if OK + * @param User $user Object user who define + * @param integer $delivery_date_receipt Date of delivery of receipt + * @return int Return integer <0 if KO, >0 if OK */ - public function set_date_delivery($user, $date_delivery) + public function set_date_delivery($user, $delivery_date_receipt) { // phpcs:enable if ($user->hasRight('ficheinter', 'creer')) { - $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter "; - $sql .= " SET datei = '".$this->db->idate($date_delivery)."'"; + $sql = "UPDATE ".MAIN_DB_PREFIX."fichinter"; + $sql .= " SET datei = '".$this->db->idate($delivery_date_receipt)."'"; $sql .= " WHERE rowid = ".((int) $this->id); $sql .= " AND fk_statut = 0"; if ($this->db->query($sql)) { - $this->date_delivery = $date_delivery; + $this->date_delivery = $delivery_date_receipt; + $this->delivery_date_receipt = $delivery_date_receipt; return 1; } else { $this->error = $this->db->error(); diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index ebd5fd2e3ca..aa03bc81bd9 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -36,7 +36,7 @@ if (!defined('DOL_APPLICATION_TITLE')) { define('DOL_APPLICATION_TITLE', 'Dolibarr'); } if (!defined('DOL_VERSION')) { - define('DOL_VERSION', '21.0.0-beta'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c + define('DOL_VERSION', '22.0.0-alpha'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c } if (!defined('EURO')) { diff --git a/htdocs/fourn/class/fournisseur.facture-rec.class.php b/htdocs/fourn/class/fournisseur.facture-rec.class.php index 0550fe43cb8..9853bffe6c5 100644 --- a/htdocs/fourn/class/fournisseur.facture-rec.class.php +++ b/htdocs/fourn/class/fournisseur.facture-rec.class.php @@ -1595,14 +1595,15 @@ class FactureFournisseurRec extends CommonInvoice /** * Return label of a status * - * @param int $recur Is it a recurring invoice ? - * @param int $status Id status (suspended or not) - * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=long label + picto - * @param integer $alreadypaid Not used for recurring invoices - * @param int $type Type invoice - * @return string Label of status + * @param int $recur Is it a recurring invoice ? + * @param int $status Id status (suspended or not) + * @param int<0,6> $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=long label + picto + * @param int $alreadypaid Not used for recurring invoices + * @param int $type Type invoice + * @param int $nbofopendirectdebitorcredittransfer @unused-param Nb of open direct debit or credit transfer + * @return string Label of status */ - public function LibStatut($recur, $status, $mode = 0, $alreadypaid = -1, $type = 0) + public function LibStatut($recur, $status, $mode = 0, $alreadypaid = -1, $type = 0, $nbofopendirectdebitorcredittransfer = 0) { // phpcs:enable global $langs; diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index d6a173eef2b..16f56eacd90 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -3258,6 +3258,8 @@ class FactureFournisseur extends CommonInvoice } else { $modele = ''; // No default value. For supplier invoice, we allow to disable all PDF generation } + } elseif ($modele == 'auto') { + $modele = 'canelle'; } if (empty($modele)) { diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index d61d72ea72b..5c7c55035f7 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -1196,7 +1196,7 @@ if ($id > 0 || !empty($ref)) { $sql .= " cfd.rowid as dispatchlineid, cfd.fk_product, cfd.qty, cfd.eatby, cfd.sellby, cfd.batch, cfd.comment, cfd.status, cfd.datec"; $sql .= " ,cd.rowid, cd.subprice"; if (isModEnabled('reception')) { - $sql .= " ,cfd.fk_reception, r.date_delivery"; + $sql .= ", cfd.fk_reception, r.date_delivery"; } $sql .= " FROM ".MAIN_DB_PREFIX."product as p,"; $sql .= " ".MAIN_DB_PREFIX."receptiondet_batch as cfd"; @@ -1245,7 +1245,7 @@ if ($id > 0 || !empty($ref)) { print ''.$langs->trans("Comment").''; // Status - if (getDolGlobalString('SUPPLIER_ORDER_USE_DISPATCH_STATUS') && $reception !== null && empty($reception->rowid)) { + if (getDolGlobalString('SUPPLIER_ORDER_USE_DISPATCH_STATUS') && !isModEnabled("reception")) { print ''.$langs->trans("Status").''; } elseif (isModEnabled("reception")) { print ''; @@ -1256,9 +1256,6 @@ if ($id > 0 || !empty($ref)) { print "\n"; - - $reception = null; - while ($i < $num) { $objp = $db->fetch_object($resql); @@ -1301,9 +1298,13 @@ if ($id > 0 || !empty($ref)) { // Date creation print ''.dol_print_date($db->jdate($objp->datec), 'day').''; - // Date delivery - if (property_exists($objp, "date_delivery")) { - print '' . dol_print_date($db->jdate($objp->date_delivery), 'day') . ''; + // Date delivery of reception + if (isModEnabled('reception')) { + print ''; + if (!empty($objp->date_delivery)) { + print dol_print_date($db->jdate($objp->date_delivery), 'day'); + } + print ''; } else { print ''; } @@ -1364,7 +1365,7 @@ if ($id > 0 || !empty($ref)) { print ''.$objp->comment.''; // Status - if (getDolGlobalString('SUPPLIER_ORDER_USE_DISPATCH_STATUS') && ($reception === null || empty($reception->rowid))) { + if (getDolGlobalString('SUPPLIER_ORDER_USE_DISPATCH_STATUS') && !isModEnabled("reception")) { print ''; $supplierorderdispatch->status = (empty($objp->status) ? 0 : $objp->status); // print $supplierorderdispatch->status; @@ -1383,7 +1384,7 @@ if ($id > 0 || !empty($ref)) { } } else { $disabled = ''; - if ($object->statut == 5) { + if ($object->status == $object::STATUS_RECEIVED_COMPLETELY) { $disabled = 1; } if (empty($objp->status)) { diff --git a/htdocs/fourn/contact.php b/htdocs/fourn/contact.php index 5a7fff93919..db229d8de5b 100644 --- a/htdocs/fourn/contact.php +++ b/htdocs/fourn/contact.php @@ -64,7 +64,7 @@ if (!$sortorder) { $sortorder = "ASC"; } if (!$sortfield) { - $sortfield = "p.name"; + $sortfield = "p.lastname"; } $limit = GETPOSTINT('limit') ? GETPOSTINT('limit') : $conf->liste_limit; @@ -94,12 +94,12 @@ if (dol_strlen($stcomm)) { } if (dol_strlen($begin)) { - $sql .= " AND p.name LIKE '$begin%'"; + $sql .= " AND p.lastname LIKE '$begin%'"; } if ($contactname) { - $sql .= " AND p.name LIKE '%".strtolower($contactname)."%'"; - $sortfield = "p.name"; + $sql .= " AND p.lastname LIKE '%".strtolower($contactname)."%'"; + $sortfield = "p.lastname"; $sortorder = "ASC"; } @@ -119,7 +119,7 @@ if ($result) { print ''; print ''; - print_liste_field_titre("Lastname", $_SERVER["PHP_SELF"], "p.name", $begin, "", "", $sortfield, $sortorder); + print_liste_field_titre("Lastname", $_SERVER["PHP_SELF"], "p.lastname", $begin, "", "", $sortfield, $sortorder); print_liste_field_titre("Firstname", $_SERVER["PHP_SELF"], "p.firstname", $begin, "", "", $sortfield, $sortorder); print_liste_field_titre("Company", $_SERVER["PHP_SELF"], "s.nom", $begin, "", "", $sortfield, $sortorder); print_liste_field_titre("Email"); diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 873a4a7b9a2..89905a9426d 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -9,7 +9,7 @@ * Copyright (C) 2013 Florian Henry * Copyright (C) 2014-2016 Marcos García * Copyright (C) 2016-2023 Alexandre Spangaro - * Copyright (C) 2018-2024 Frédéric France + * Copyright (C) 2018-2025 Frédéric France * Copyright (C) 2019 Ferran Marcet * Copyright (C) 2022 Gauthier VERDOL * Copyright (C) 2023 Nick Fragoulis @@ -1633,33 +1633,35 @@ if (empty($reshook)) { setEventMessages($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPrice'), $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && !GETPOST('idprodfournprice') && GETPOST('type') < 0) { + if ($prod_entry_mode == 'free' && (!GETPOST('idprodfournprice') || GETPOST('idprodfournprice') == '-1') && GETPOST('type') < 0) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && (!GETPOST('idprodfournprice') || GETPOST('idprodfournprice') == '-1') && (($price_ht < 0 && !getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE_LINES')) || $price_ht == '') && (($price_ht_devise < 0 && !getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE_LINES')) || $price_ht_devise == '') && $price_ttc === '' && $price_ttc_devise === '' && $object->type != FactureFournisseur::TYPE_CREDIT_NOTE) { // Unit price can be 0 but not '' - if (($price_ht < 0 || $price_ttc < 0) && !getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE_LINES')) { + // Do not allow negative lines for free products (invite to enter a discount instead) + if ($prod_entry_mode == 'free' && (!GETPOST('idprodfournprice') || GETPOST('idprodfournprice') == '-1') + && (((float) $price_ht < 0 && !getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE_LINES')) || $price_ht === '') + && (((float) $price_ht_devise < 0 && !getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE_LINES')) || $price_ht_devise === '') + && ((float) $price_ttc < 0 && !getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE_LINES') || $price_ttc === '') + && ((float) $price_ttc_devise < 0 && !getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE_LINES') || $price_ttc_devise === '') + && $object->type != $object::TYPE_CREDIT_NOTE) { // Unit price can be 0 but not '' + if (((float) $price_ht < 0 || (float) $price_ttc < 0) && !getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE_LINES')) { $langs->load("errors"); if ($object->type == $object::TYPE_DEPOSIT) { // Using negative lines on deposit lead to headach and blocking problems when you want to consume them. setEventMessages($langs->trans("ErrorLinesCantBeNegativeOnDeposits"), null, 'errors'); } else { - setEventMessages($langs->trans("ErrorFieldCantBeNegativeOnInvoice", $langs->transnoentitiesnoconv("UnitPriceHT"), $langs->transnoentitiesnoconv("CustomerAbsoluteDiscountShort")), null, 'errors'); + setEventMessages($langs->trans("ErrorFieldCantBeNegativeOnInvoice", $langs->transnoentitiesnoconv("UnitPrice"), $langs->transnoentitiesnoconv("CustomerAbsoluteDiscountShort")), null, 'errors'); } $error++; - } else { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("UnitPriceHT")), null, 'errors'); - $error++; } } - - - if ($prod_entry_mode == 'free' && GETPOST('price_ht') === '' && GETPOST('price_ttc') === '' && $price_ht_devise === '') { // Unit price can be 0 but not '' + if ($prod_entry_mode == 'free' && (!GETPOST('idprodfournprice') || GETPOST('idprodfournprice') == '-1') && GETPOST('price_ht') === '' && GETPOST('price_ttc') === '' && $price_ht_devise === '') { // Unit price can be 0 but not '' setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('UnitPrice')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && !GETPOST('dp_desc')) { + + if ($prod_entry_mode == 'free' && (!GETPOST('idprodfournprice') || GETPOST('idprodfournprice') == '-1') && !GETPOST('dp_desc')) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Description')), null, 'errors'); $error++; } @@ -4067,17 +4069,17 @@ if ($action == 'create') { // Validate if ($action != 'confirm_edit' && $object->status == FactureFournisseur::STATUS_DRAFT && count($object->lines) > 0 - && ((($object->type == FactureFournisseur::TYPE_STANDARD || $object->type == FactureFournisseur::TYPE_REPLACEMENT || $object->type == FactureFournisseur::TYPE_DEPOSIT || $object->type == FactureFournisseur::TYPE_PROFORMA || $object->type == FactureFournisseur::TYPE_SITUATION) && (getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE') || $object->total_ttc >= 0)) + && ((($object->type == FactureFournisseur::TYPE_STANDARD || $object->type == FactureFournisseur::TYPE_REPLACEMENT || $object->type == FactureFournisseur::TYPE_DEPOSIT || $object->type == FactureFournisseur::TYPE_PROFORMA || $object->type == FactureFournisseur::TYPE_SITUATION) && (getDolGlobalString('SUPPLIER_INVOICE_ENABLE_NEGATIVE') || $object->total_ttc >= 0)) // @phan-suppress-current-line PhanDeprecatedClassConstant || ($object->type == FactureFournisseur::TYPE_CREDIT_NOTE && $object->total_ttc <= 0))) { - if (count($object->lines)) { - if ($usercanvalidate) { - print ''.$langs->trans('Validate').''; - } else { - print ''.$langs->trans('Validate').''; - } + // if (count($object->lines)) { // already tested in condition + if ($usercanvalidate) { + print ''.$langs->trans('Validate').''; + } else { + print ''.$langs->trans('Validate').''; } + //} } // Send by mail @@ -4207,8 +4209,9 @@ if ($action == 'create') { $genallowed = $usercanread; $delallowed = $usercancreate; $modelpdf = (empty($object->model_pdf) ? getDolGlobalString('INVOICE_SUPPLIER_ADDON_PDF') : $object->model_pdf); + $genifempty = 0; - print $formfile->showdocuments('facture_fournisseur', $subdir, $filedir, $urlsource, $genallowed, $delallowed, $modelpdf, 1, 0, 0, 40, 0, '', '', '', $societe->default_lang); + print $formfile->showdocuments('facture_fournisseur', $subdir, $filedir, $urlsource, $genallowed, $delallowed, $modelpdf, $genifempty, 0, 0, 40, 0, '', '', '', $societe->default_lang); $somethingshown = $formfile->numoffiles; // Show links to link elements diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php index b66cfc1f399..1a3186117c4 100644 --- a/htdocs/imports/import.php +++ b/htdocs/imports/import.php @@ -238,7 +238,7 @@ if ($step == 3 && $datatoimport) { dol_mkdir($conf->import->dir_temp); $nowyearmonth = dol_print_date(dol_now(), '%Y%m%d%H%M%S'); - $fullpath = $conf->import->dir_temp."/".$nowyearmonth.'-'.$_FILES['userfile']['name']; + $fullpath = $conf->import->dir_temp."/".$nowyearmonth.'-'.dol_string_nohtmltag(dol_sanitizeFileName($_FILES['userfile']['name'])); if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $fullpath, 1) > 0) { dol_syslog("File ".$fullpath." was added for import"); } else { diff --git a/htdocs/install/check.php b/htdocs/install/check.php index 76cdc282233..2e9e89c8dc9 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -6,8 +6,8 @@ * Copyright (C) 2013-2014 Juanjo Menent * Copyright (C) 2014 Marcos García * Copyright (C) 2015-2016 Raphaël Doursenaud - * Copyright (C) 2024 MDW - * Copyright (C) 2024 Frédéric France + * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 Frédéric France * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,6 +32,7 @@ define('ALLOWED_IF_UPGRADE_UNLOCK_FOUND', 1); include_once 'inc.php'; /** + * @var Conf $conf already created in inc.php * @var Translate $langs * * @var string $dolibarr_main_db_host @@ -39,6 +40,9 @@ include_once 'inc.php'; * @var string $dolibarr_main_db_name * @var string $dolibarr_main_db_user * @var string $dolibarr_main_db_pass + * @var string $dolibarr_main_db_encrypted_pass + * @var string $conffile + * @var string $conffiletoshow */ $err = 0; diff --git a/htdocs/install/doctemplates/invoices/template_invoice.odt b/htdocs/install/doctemplates/invoices/template_invoice.odt index 925d9f087cd..5d44e1a606c 100644 Binary files a/htdocs/install/doctemplates/invoices/template_invoice.odt and b/htdocs/install/doctemplates/invoices/template_invoice.odt differ diff --git a/htdocs/install/doctemplates/supplier_invoices/template_supplier_invoices.odt b/htdocs/install/doctemplates/supplier_invoices/template_supplier_invoices.odt index 8ece83c989c..b53c0c79f48 100644 Binary files a/htdocs/install/doctemplates/supplier_invoices/template_supplier_invoices.odt and b/htdocs/install/doctemplates/supplier_invoices/template_supplier_invoices.odt differ diff --git a/htdocs/install/fileconf.php b/htdocs/install/fileconf.php index d23902894c9..5c73f49a6b1 100644 --- a/htdocs/install/fileconf.php +++ b/htdocs/install/fileconf.php @@ -6,8 +6,8 @@ * Copyright (C) 2004 Sebastien DiCintio * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2016 Raphaël Doursenaud - * Copyright (C) 2024 MDW - * Copyright (C) 2024 Frédéric France + * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 Frédéric France * * 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 @@ -30,8 +30,18 @@ */ include_once 'inc.php'; - -global $langs; +/** + * @var Translate $langs + * + * @var string $dolibarr_main_db_host + * @var string $dolibarr_main_db_port + * @var string $dolibarr_main_db_name + * @var string $dolibarr_main_db_user + * @var string $dolibarr_main_db_pass + * @var string $dolibarr_main_db_encrypted_pass + * @var string $conffile + * @var string $conffiletoshow + */ $err = 0; @@ -149,9 +159,7 @@ if (empty($dolibarr_main_document_root)) { } ?> '; // Product print ''; // Qty print ''; // Unit print ''; // Cost price if ($permissiontoupdatecost && getDolGlobalString('MRP_SHOW_COST_FOR_CONSUMPTION')) { print ''; } - $colspan="3"; + $colspan = 3; if (isModEnabled('stock')) { - $colspan++;; + $colspan++; } if (isModEnabled('productbatch')) { $colspan++; @@ -1598,7 +1598,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Product print ''; // Qty print ''; diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 38976910f29..c84c0dc6d63 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -120,7 +120,7 @@ $cancel = GETPOST('cancel', 'alpha'); $backtopage = GETPOST('backtopage', 'alpha'); $confirm = GETPOST('confirm', 'alpha'); $socid = GETPOSTINT('socid'); -$duration_value = GETPOSTINT('duration_value'); +$duration_value = GETPOST('duration_value'); // duration value can be an empty string $duration_unit = GETPOST('duration_unit', 'alpha'); $accountancy_code_sell = GETPOST('accountancy_code_sell', 'alpha'); @@ -524,7 +524,7 @@ if (empty($reshook)) { $object->ref = (string) $ref; $object->label = GETPOST('label', $label_security_check); $object->price_base_type = GETPOST('price_base_type', 'aZ09'); - $object->mandatory_period = !empty(GETPOST("mandatoryperiod", 'alpha')) ? 1 : 0; + $object->mandatory_period = empty(GETPOST("mandatoryperiod", 'alpha')) ? 0 : 1; if ($object->price_base_type == 'TTC') { $object->price_ttc = GETPOSTFLOAT('price'); } else { @@ -790,7 +790,7 @@ if (empty($reshook)) { $object->seuil_stock_alerte = GETPOST('seuil_stock_alerte'); $object->desiredstock = GETPOST('desiredstock'); */ - $object->duration_value = GETPOSTINT('duration_value'); + $object->duration_value = GETPOST('duration_value'); $object->duration_unit = GETPOST('duration_unit', 'alpha'); $object->canvas = GETPOST('canvas'); @@ -1619,7 +1619,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($canvasdisplayactio if ($type == 1) { print ''; //print ''; diff --git a/htdocs/projet/class/api_tasks.class.php b/htdocs/projet/class/api_tasks.class.php index 569ae523ce3..e51899beae2 100644 --- a/htdocs/projet/class/api_tasks.class.php +++ b/htdocs/projet/class/api_tasks.class.php @@ -1,6 +1,7 @@ * Copyright (C) 2016 Laurent Destailleur + * Copyright (C) 2024 Frédéric France * * 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 @@ -464,7 +465,7 @@ class Tasks extends DolibarrApi } if ($field == 'array_options' && is_array($value)) { foreach ($value as $index => $val) { - $this->task->array_options[$index] = $this->_checkValForAPI($field, $val, $this->task);; + $this->task->array_options[$index] = $this->_checkValForAPI($field, $val, $this->task); } continue; } diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php index 8ca6b536c11..905deae6c5b 100644 --- a/htdocs/projet/index.php +++ b/htdocs/projet/index.php @@ -4,6 +4,7 @@ * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2019 Nicolas ZABOURI * Copyright (C) 2024 Frédéric France + * Copyright (C) 2024 MDW * * 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 @@ -138,21 +139,37 @@ $morehtml .= 'trans("MyProjectsDesc"); + $htmltooltip = $langs->trans("MyProjectsDesc"); } else { if ($user->hasRight('projet', 'all', 'lire') && !$socid) { - $tooltiphelp = $langs->trans("ProjectsDesc"); + $htmltooltip = $langs->trans("ProjectsDesc"); } else { - $tooltiphelp = $langs->trans("ProjectsPublicDesc"); + $htmltooltip = $langs->trans("ProjectsPublicDesc"); } } -print_barre_liste($form->textwithpicto($title, $tooltiphelp), 0, $_SERVER["PHP_SELF"], '', '', '', '', 0, -1, 'project', 0, $morehtml); +print_barre_liste($form->textwithpicto($title, $htmltooltip), 0, $_SERVER["PHP_SELF"], '', '', '', '', 0, -1, 'project', 0, $morehtml); // Get list of ponderated percent and colors for each status include DOL_DOCUMENT_ROOT.'/theme/'.$conf->theme.'/theme_vars.inc.php'; -$listofoppstatus = array(); $listofopplabel = array(); $listofoppcode = array(); $colorseries = array(); +// Available from theme_vars: +' +@phan-var-force string $badgeStatus0 +@phan-var-force string $badgeStatus1 +@phan-var-force string $badgeStatus2 +@phan-var-force string $badgeStatus3 +@phan-var-force string $badgeStatus4 +@phan-var-force string $badgeStatus5 +@phan-var-force string $badgeStatus6 +@phan-var-force string $badgeStatus7 +@phan-var-force string $badgeStatus8 +@phan-var-force string $badgeStatus9 +'; +$listofoppstatus = array(); +$listofopplabel = array(); +$listofoppcode = array(); +$colorseries = array(); $sql = "SELECT cls.rowid, cls.code, cls.percent, cls.label"; $sql .= " FROM ".MAIN_DB_PREFIX."c_lead_status as cls"; $sql .= " WHERE active=1"; diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php index 77eda021f11..c606b0d14f1 100644 --- a/htdocs/projet/list.php +++ b/htdocs/projet/list.php @@ -137,6 +137,7 @@ if (GETPOSTISSET('formfilteraction')) { $searchCategoryCustomerOperator = getDolGlobalString('MAIN_SEARCH_CAT_OR_BY_DEFAULT'); } $searchCategoryCustomerList = GETPOST('search_category_customer_list', 'array'); +$search_omitChildren = 0; if (getDolGlobalInt('PROJECT_ENABLE_SUB_PROJECT')) { $search_omitChildren = GETPOST('search_omitChildren', 'alpha') == 'on' ? 1 : 0; } @@ -264,10 +265,10 @@ $arrayfields['c.assigned'] = array('label' => "AssignedTo", 'checked' => 1, 'pos $arrayfields['opp_weighted_amount'] = array('label' => 'OpportunityWeightedAmountShort', 'checked' => 0, 'enabled' => (!getDolGlobalString('PROJECT_USE_OPPORTUNITIES') ? 0 : 1), 'position' => 106); $arrayfields['u.login'] = array('label' => "Author", 'checked' => -1, 'position' => 165); // Force some fields according to search_usage filter... -if (GETPOST('search_usage_opportunity')) { - //$arrayfields['p.usage_opportunity']['visible'] = 1; // Not require, filter on search_opp_status is enough - //$arrayfields['p.usage_opportunity']['checked'] = 1; // Not require, filter on search_opp_status is enough -} +//if (GETPOST('search_usage_opportunity')) { +//$arrayfields['p.usage_opportunity']['visible'] = 1; // Not required, filter on search_opp_status is enough +//$arrayfields['p.usage_opportunity']['checked'] = 1; // Not required, filter on search_opp_status is enough +//} if (GETPOST('search_usage_event_organization')) { $arrayfields['p.fk_opp_status']['enabled'] = 0; $arrayfields['p.opp_amount']['enabled'] = 0; @@ -293,8 +294,8 @@ $arrayfields = dol_sort_array($arrayfields, 'position'); // TODO Move this into a inc file $groupbyvalues = array(); $groupofcollpasedvalues = array(); +$groupbyold = null; if ($mode == 'kanban' && $groupby) { - $groupbyold = null; $groupbyfield = preg_replace('/[a-z]\./', '', $groupby); if (!empty($object->fields[$groupbyfield]['alias'])) { $groupbyfield = $object->fields[$groupbyfield]['alias']; @@ -1165,18 +1166,18 @@ print ''; print ''; // Show description of content -$texthelp = ''; +$htmltooltip = ''; if ($search_project_user == $user->id) { - $texthelp .= $langs->trans("MyProjectsDesc"); + $htmltooltip .= $langs->trans("MyProjectsDesc"); } else { if ($user->hasRight('projet', 'all', 'lire') && !$socid) { - $texthelp .= $langs->trans("ProjectsDesc"); + $htmltooltip .= $langs->trans("ProjectsDesc"); } else { - $texthelp .= $langs->trans("ProjectsPublicDesc"); + $htmltooltip .= $langs->trans("ProjectsPublicDesc"); } } -print_barre_liste($form->textwithpicto($title, $texthelp), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'project', 0, $newcardbutton, '', $limit, 0, 0, 1); +print_barre_liste($form->textwithpicto($title, $htmltooltip), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'project', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "Information"; @@ -1699,7 +1700,7 @@ while ($i < $imaxinloop) { if (get_class($c) == 'User') { $stringassignedusers .= $c->getNomUrl(-2, '', 0, 0, 24, 1, '', 'valignmiddle'.($ifisrt ? '' : ' notfirst')); } else { - $stringassignedusers .= $c->getNomUrl(-2, '', 0, '', -1, 0, 'valignmiddle'.($ifisrt ? '' : ' notfirst')); + $stringassignedusers .= $c->getNomUrl(-2, '', 0, 0, -1, 0, 'valignmiddle'.($ifisrt ? '' : ' notfirst')); } $ifisrt = 0; } @@ -1712,6 +1713,8 @@ while ($i < $imaxinloop) { print '
- 'DOL_DOCUMENT_ROOT.$filetodelete."
\n"; - if (file_exists(DOL_DOCUMENT_ROOT.$filetodelete) || preg_match('/\*/', $filetodelete)) { + if (preg_match('/\*/', $filetodelete) || file_exists(DOL_DOCUMENT_ROOT.$filetodelete)) { //print "Process file ".$filetodelete."\n"; $result = dol_delete_file(DOL_DOCUMENT_ROOT.$filetodelete, 0, 0, 0, null, true, 0); if (!$result) { diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index c4e8cfb2e9f..0334fccd610 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -313,6 +313,7 @@ ClickOnUseTutorialForHelp=Welcome on the section to generate your accountancy. C NotReconciled=Not reconciled WarningRecordWithoutSubledgerAreExcluded=Warning, all lines without subledger account defined are filtered and excluded from this view AccountRemovedFromCurrentChartOfAccount=Accounting account that does not exist in the current chart of accounts +WarningThisPageContainsOnlyEntriesTransferredInAccounting=Warning, this page only contains entries transferred to the accounting system. ## Admin BindingOptions=Options for the transfer in accountancy ApplyMassCategories=Apply mass categories @@ -347,6 +348,8 @@ ACCOUNTING_LETTERING_NBLETTERS_DESC=Some accounting software only accepts a two- OptionsAdvanced=Advanced options ACCOUNTING_FORCE_ENABLE_VAT_REVERSE_CHARGE=Activate the management of VAT reverse charge on supplier purchases ACCOUNTING_FORCE_ENABLE_VAT_REVERSE_CHARGE_DESC=When this option is enabled, you can define that a supplier or a given vendor invoice must be transferred into accountancy differently: A additional debit and a credit line will generated into the accounting on 2 given accounts from the chart of account defined into the "%s" setup page. +ACCOUNTING_ENABLE_TABONTHIRDPARTY=Activate a tab on third-party cards to view the subsidiary ledger +ACCOUNTING_ENABLE_TABONTHIRDPARTY_DESC=When this option is enabled, a new tab is showing in third-party cards to view and manage accounting for the third-party as to reconcile, print & more ## Export NotExportLettering=Do not export the lettering when generating the file NotifiedExportDate=Flag not yet exported lines as Exported (to modify a line flagged as exported, you will need to delete the whole transaction and re-transfert it into accounting) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 3a7196da08f..3e81c984c80 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -520,7 +520,7 @@ WarningPHPMailB=- If the domain of your email (the part mymaildomain.com into my WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox. WarningPHPMailD=It is therefore recommended to change the sending method of e-mails to the value "SMTP". WarningPHPMailDbis=If you really want to keep the default "PHP" method to send emails, just ignore this warning, or remove it by %sclicking here%s. -WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: %s. +WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for this application: %s. WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask your domain name registar), you must add the following IPs or entry in the SPF record of the DNS of your domain: %s. WarningPHPMailSPFDMARC=If the domain name in your sender email address is protected by a DMARC record different than p=none (ask your domain name registar), you must remove your DMARC record, or set it to p=none like do @gmail.com) or use sending another method. SPFAndDMARCInformation=SPF and DMARC DNS record for main email addresses diff --git a/htdocs/langs/en_US/stripe.lang b/htdocs/langs/en_US/stripe.lang index 1ed54885735..2e244858d28 100644 --- a/htdocs/langs/en_US/stripe.lang +++ b/htdocs/langs/en_US/stripe.lang @@ -33,6 +33,7 @@ CSSUrlForPaymentForm=CSS style sheet url for payment form NewStripePaymentReceived=New Stripe payment received NewStripePaymentFailed=New Stripe payment tried but failed FailedToChargeCard=Failed to charge card +FailedToChargeSEPA=Failed to charge SEPA STRIPE_TEST_SECRET_KEY=Secret test key STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key STRIPE_TEST_WEBHOOK_KEY=Webhook test key diff --git a/htdocs/loan/document.php b/htdocs/loan/document.php index 3886aba9efe..7439076d226 100644 --- a/htdocs/loan/document.php +++ b/htdocs/loan/document.php @@ -97,6 +97,7 @@ include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php'; * View */ +$morehtmlright = ''; $form = new Form($db); $formproject = new FormProjets($db); diff --git a/htdocs/loan/note.php b/htdocs/loan/note.php index 221b46a53e5..44f18d6821b 100644 --- a/htdocs/loan/note.php +++ b/htdocs/loan/note.php @@ -81,6 +81,7 @@ if (empty($reshook)) { * View */ +$morehtmlright = ''; $form = new Form($db); $formproject = new FormProjets($db); diff --git a/htdocs/mrp/mo_production.php b/htdocs/mrp/mo_production.php index 13f5aca1700..bf68267ee2b 100644 --- a/htdocs/mrp/mo_production.php +++ b/htdocs/mrp/mo_production.php @@ -944,24 +944,24 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print '
'; - print $form->select_produits('', 'productidtoadd', '', 0, 0, -1, 2, '', 1, array(), 0, '1', 0, 'maxwidth150'); + print $form->select_produits(0, 'productidtoadd', '', 0, 0, -1, 2, '', 1, array(), 0, '1', 0, 'maxwidth150'); print ''; - if (getDolGlobalInt('PRODUCT_USE_UNITS')) { - //... - } + //if (getDolGlobalInt('PRODUCT_USE_UNITS')) { + //... + //} print ''; - print $form->select_produits('', 'productidtoadd', '', 0, 0, -1, 2, '', 1, array(), 0, '1', 0, 'maxwidth300'); + print $form->select_produits(0, 'productidtoadd', '', 0, 0, -1, 2, '', 1, array(), 0, '1', 0, 'maxwidth300'); print '
'.$langs->trans("Duration").''; print img_picto('', 'clock', 'class="pictofixedwidth"'); - print ''; + print ''; print $formproduct->selectMeasuringUnits("duration_unit", "time", (GETPOSTISSET('duration_unit') ? GETPOST('duration_unit', 'alpha') : 'h'), 0, 1); // Mandatory period @@ -2247,12 +2247,13 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($canvasdisplayactio // Duration print '
'.$langs->trans("Duration").''; print ' '; - print $formproduct->selectMeasuringUnits("duration_unit", "time", $object->duration_unit, 0, 1); + + print $formproduct->selectMeasuringUnits("duration_unit", "time", ($object->duration_unit ? $object->duration_unit : 'h'), 0, 1); // Mandatory period - if ($object->duration_value > 0) { + //if ($object->duration_value > 0) { print '     '; - } + //} print 'mandatory_period == 1 ? ' checked="checked"' : '').'>'; print '
'.$langs->trans("Duration").''; - print $object->duration_value ? $object->duration_value : ''; - print (!empty($object->duration_unit) && isset($durations[$object->duration_unit]) ? " ".$langs->trans($durations[$object->duration_unit])." " : ''); + if ($object->duration_value) { + print $object->duration_value; + print (!empty($object->duration_unit) && isset($durations[$object->duration_unit]) ? "  ".$langs->trans($durations[$object->duration_unit])." " : ''); + } // Mandatory period $htmltooltip = $langs->trans("mandatoryHelper"); diff --git a/htdocs/product/class/html.formproduct.class.php b/htdocs/product/class/html.formproduct.class.php index 2b2c1d0a198..50efd47aee2 100644 --- a/htdocs/product/class/html.formproduct.class.php +++ b/htdocs/product/class/html.formproduct.class.php @@ -633,7 +633,7 @@ class FormProduct $return .= ''; } - $return .= ajax_combobox($name, [], 0, 0, 'resolve', $placeholderID); + $return .= ajax_combobox($name, array(), 0, 0, 'resolve', $placeholderID); // avoid to have hidden value if scale = -1 (eg DM size) return $return; } diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index e6618eff49f..5c15a78aad6 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -1363,19 +1363,19 @@ class Product extends CommonObject $this->note_private = (isset($this->note_private) ? trim($this->note_private) : null); $this->note_public = (isset($this->note_public) ? trim($this->note_public) : null); $this->net_measure = price2num($this->net_measure); - $this->net_measure_units = (empty($this->net_measure_units) ? '' : trim((string) $this->net_measure_units)); + $this->net_measure_units = (is_null($this->net_measure_units) ? '' : trim((string) $this->net_measure_units)); $this->weight = price2num($this->weight); - $this->weight_units = (empty($this->weight_units) ? '' : trim((string) $this->weight_units)); + $this->weight_units = (is_null($this->weight_units) ? '' : trim((string) $this->weight_units)); $this->length = price2num($this->length); - $this->length_units = (empty($this->length_units) ? '' : trim((string) $this->length_units)); + $this->length_units = (is_null($this->length_units) ? '' : trim((string) $this->length_units)); $this->width = price2num($this->width); - $this->width_units = (empty($this->width_units) ? '' : trim((string) $this->width_units)); + $this->width_units = (is_null($this->width_units) ? '' : trim((string) $this->width_units)); $this->height = price2num($this->height); - $this->height_units = (empty($this->height_units) ? '' : trim((string) $this->height_units)); + $this->height_units = (is_null($this->height_units) ? '' : trim((string) $this->height_units)); $this->surface = price2num($this->surface); - $this->surface_units = (empty($this->surface_units) ? '' : trim((string) $this->surface_units)); + $this->surface_units = (is_null($this->surface_units) ? '' : trim((string) $this->surface_units)); $this->volume = price2num($this->volume); - $this->volume_units = (empty($this->volume_units) ? '' : trim((string) $this->volume_units)); + $this->volume_units = (is_null($this->volume_units) ? '' : trim((string) $this->volume_units)); // set unit not defined if (is_numeric($this->length_units)) { @@ -3023,18 +3023,18 @@ class Product extends CommonObject $this->net_measure = $obj->net_measure; $this->net_measure_units = $obj->net_measure_units; $this->weight = $obj->weight; - $this->weight_units = $obj->weight_units; + $this->weight_units = (is_null($obj->weight_units) ? 0 : $obj->weight_units); $this->length = $obj->length; - $this->length_units = $obj->length_units; + $this->length_units = (is_null($obj->length_units) ? 0 : $obj->length_units); $this->width = $obj->width; - $this->width_units = $obj->width_units; + $this->width_units = (is_null($obj->width_units) ? 0 : $obj->width_units); $this->height = $obj->height; - $this->height_units = $obj->height_units; + $this->height_units = (is_null($obj->height_units) ? 0 : $obj->height_units); $this->surface = $obj->surface; - $this->surface_units = $obj->surface_units; + $this->surface_units = (is_null($obj->surface_units) ? 0 : $obj->surface_units); $this->volume = $obj->volume; - $this->volume_units = $obj->volume_units; + $this->volume_units = (is_null($obj->volume_units) ? 0 : $obj->volume_units); $this->barcode = $obj->barcode; $this->barcode_type = $obj->fk_barcode_type; diff --git a/htdocs/projet/activity/index.php b/htdocs/projet/activity/index.php index 695aa9cff00..527cac25891 100644 --- a/htdocs/projet/activity/index.php +++ b/htdocs/projet/activity/index.php @@ -132,16 +132,16 @@ $morehtml .= ajax_combobox("search_project_user", array(), 0, 0, 'resolve', '-1' $morehtml .= ''; if ($mine) { - $tooltiphelp = $langs->trans("MyTasksDesc"); + $htmltooltip = $langs->trans("MyTasksDesc"); } else { if ($user->hasRight('projet', 'all', 'lire') && !$socid) { - $tooltiphelp = $langs->trans("TasksDesc"); + $htmltooltip = $langs->trans("TasksDesc"); } else { - $tooltiphelp = $langs->trans("TasksPublicDesc"); + $htmltooltip = $langs->trans("TasksPublicDesc"); } } -print_barre_liste($form->textwithpicto($title, $tooltiphelp), 0, $_SERVER["PHP_SELF"], '', '', '', '', 0, -1, 'projecttask', 0, $morehtml); +print_barre_liste($form->textwithpicto($title, $htmltooltip), 0, $_SERVER["PHP_SELF"], '', '', '', '', 0, -1, 'projecttask', 0, $morehtml); print '
'; @@ -518,6 +518,7 @@ if (!getDolGlobalString('PROJECT_HIDE_TASKS') && getDolGlobalString('PROJECT_SHO $taskstatic->dateo = $db->jdate($obj->date_start); $taskstatic->datee = $db->jdate($obj->date_end); + /* username and userstatic not used + not defined $username = ''; if ($obj->userid && $userstatic->id != $obj->userid) { // We have a user and it is not last loaded user $result = $userstatic->fetch($obj->userid); @@ -528,6 +529,7 @@ if (!getDolGlobalString('PROJECT_HIDE_TASKS') && getDolGlobalString('PROJECT_SHO if ($userstatic->id) { $username = $userstatic->getNomUrl(0, 0); } + */ print '
'.$username.'
'; } + $groupbyvalue = 'unset'; + $groupbyfield = 'unsetfield'; if (!empty($groupby)) { if (is_null($groupbyold)) { print '
'; // Start div for all kanban columns diff --git a/htdocs/projet/tasks/list.php b/htdocs/projet/tasks/list.php index a358aec466e..056860cd47e 100644 --- a/htdocs/projet/tasks/list.php +++ b/htdocs/projet/tasks/list.php @@ -309,7 +309,8 @@ if ($id) { $projectstatic->fetch_thirdparty(); } -// Get list of project id allowed to user (in a string list separated by coma) +$projectsListId = '0'; +// Get list of project id allowed to user (in a comma separated string list) if (!$user->hasRight('projet', 'all', 'lire')) { $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user, 0, 1, $socid); } @@ -756,18 +757,18 @@ $newcardbutton .= dolGetButtonTitle($langs->trans('NewTask'), '', 'fa fa-plus-ci // Show description of content -$texthelp = ''; +$htmltooltip = ''; if ($search_task_user == $user->id) { - $texthelp .= $langs->trans("MyTasksDesc"); + $htmltooltip .= $langs->trans("MyTasksDesc"); } else { if ($user->hasRight('projet', 'all', 'lire') && !$socid) { - $texthelp .= $langs->trans("TasksOnProjectsDesc"); + $htmltooltip .= $langs->trans("TasksOnProjectsDesc"); } else { - $texthelp .= $langs->trans("TasksOnProjectsPublicDesc"); + $htmltooltip .= $langs->trans("TasksOnProjectsPublicDesc"); } } -print_barre_liste($form->textwithpicto($title, $texthelp), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'projecttask', 0, $newcardbutton, '', $limit, 0, 0, 1); +print_barre_liste($form->textwithpicto($title, $htmltooltip), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'projecttask', 0, $newcardbutton, '', $limit, 0, 0, 1); $topicmail = "Information"; $modelmail = "task"; diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 1002df365a2..85387794588 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -2615,7 +2615,8 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0 || $allprojectforuser print '
'; if ($action == 'splitline' && GETPOSTINT('lineid') == $task_time->rowid) { if (empty($object->id)) { - $object->fetch($id); + $idTask = (!empty($id)) ? $id : $task_time->fk_element; + $object->fetch($idTask); } $contactsoftask = $object->getListContactId('internal'); if (!in_array($task_time->fk_user, $contactsoftask)) { @@ -2779,7 +2780,8 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0 || $allprojectforuser print ''; if ($action == 'splitline' && GETPOSTINT('lineid') == $task_time->rowid) { if (empty($object->id)) { - $object->fetch($id); + $idTask = (!empty($id)) ? $id : $task_time->fk_element; + $object->fetch($idTask); } $contactsoftask = $object->getListContactId('internal'); if (!in_array($task_time->fk_user, $contactsoftask)) { diff --git a/htdocs/public/webportal/webportal.main.inc.php b/htdocs/public/webportal/webportal.main.inc.php index 16da910adfe..7e2373aa07e 100644 --- a/htdocs/public/webportal/webportal.main.inc.php +++ b/htdocs/public/webportal/webportal.main.inc.php @@ -284,7 +284,12 @@ if (!defined('WEBPORTAL_NOLOGIN') && !empty($context->controllerInstance->access $context->logged_user = $logged_user; $context->logged_thirdparty = $logged_thirdparty; $context->logged_member = $logged_member; - $context->logged_partnership = $logged_partnership; + if (!empty($logged_partnership)) { + $context->logged_partnership = $logged_partnership; + } + + global $user; // set global user as logged user (used for hooks in external modules) + $user = $context->logged_user; } } } diff --git a/htdocs/salaries/card.php b/htdocs/salaries/card.php index 9bbf3f4b97c..dfa0395f574 100644 --- a/htdocs/salaries/card.php +++ b/htdocs/salaries/card.php @@ -469,7 +469,7 @@ if ($action == "update_extras" && $permissiontoadd) { $triggermodname = 'SALARY_MODIFY'; - $result = $object->insertExtraFields(empty($triggermodname) ? '' : $triggermodname, $user); + $result = $object->insertExtraFields($triggermodname, $user); if ($result > 0) { setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); $action = 'view'; diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index 70fe8a2f34f..ab2571bfcfb 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -420,7 +420,7 @@ if (empty($reshook)) { $searchCategorySupplierOperator = 0; $searchCategoryCustomerList = array(); $searchCategorySupplierList = array(); - $search_sale = ''; + $search_sale = array(); $search_barcode = ""; $search_customer_code = ''; $search_supplier_code = ''; @@ -617,7 +617,7 @@ if (!$user->hasRight('fournisseur', 'lire')) { // Force the sales representative if they don't have permissions if (!$user->hasRight('societe', 'client', 'voir') && !$socid) { - $search_sale = $user->id; + $search_sale = array($user->id); } // Search on sale representative if (!empty($search_sale) && $search_sale != '-1') { diff --git a/htdocs/stripe/admin/stripe.php b/htdocs/stripe/admin/stripe.php index 3d5bd42f488..a017742d722 100644 --- a/htdocs/stripe/admin/stripe.php +++ b/htdocs/stripe/admin/stripe.php @@ -626,10 +626,10 @@ $token = ''; include DOL_DOCUMENT_ROOT.'/core/tpl/onlinepaymentlinks.tpl.php'; -print info_admin($langs->trans("ExampleOfTestCreditCard", '4242424242424242 (no 3DSecure) or 4000000000003063 (3DSecure required) or 4000002760003184 (3DSecure2 required on all transaction) or 4000003800000446 (3DSecure2 required, the off-session allowed)', '4000000000000101', '4000000000000069', '4000000000000341')); +print info_admin($langs->trans("ExampleOfTestCreditCard", '4242424242424242 (no 3DSecure) or 4000000000003063 (3DSecure required) or 4000002760003184 (3DSecure2 required on all transaction) or 4000003800000446 (3DSecure2 required, the off-session allowed)', '4000000000000101', '4000000000000069', '4000000000000341').'. '.$langs->trans('SeeAlso', 'https://docs.stripe.com/testing?testing-method=card-numbers')); if (getDolGlobalString('STRIPE_SEPA_DIRECT_DEBIT')) { - print info_admin($langs->trans("ExampleOfTestBankAcountForSEPA", 'AT611904300234573201 (pending->succeed) or AT861904300235473202 (pending->failed)')); + print info_admin($langs->trans("ExampleOfTestBankAcountForSEPA", 'AT611904300234573201 (pending->succeed) or AT861904300235473202 (pending->failed)').'. '.$langs->trans('SeeAlso', 'https://docs.stripe.com/testing?payment-method=sepa-direct-debit')); } diff --git a/htdocs/theme/md/info-box.inc.php b/htdocs/theme/md/info-box.inc.php index d399f475ec3..2e9a50e7406 100644 --- a/htdocs/theme/md/info-box.inc.php +++ b/htdocs/theme/md/info-box.inc.php @@ -1,5 +1,6 @@ + * Copyright (C) 2024 Frédéric France */ if (!defined('ISLOADEDBYSTEELSHEET')) { die('Must be call by steelsheet'); @@ -235,8 +236,8 @@ a.info-box-text-a i.fa.fa-exclamation-triangle { float: left; text-align: center; font-size: 45px; - line-height: 94px;; /* must be same height as min-height of .info-box */ - height: 94px;; /* must be same height as min-height of .info-box */ + line-height: 94px; /* must be same height as min-height of .info-box */ + height: 94px; /* must be same height as min-height of .info-box */ width: 86px; background: var(--colorbacktitle1) !important; global->THEME_SATURATE_RATIO)) { ?> diff --git a/htdocs/webportal/class/webportalinvoice.class.php b/htdocs/webportal/class/webportalinvoice.class.php index d8760f38be3..be5c6e808c2 100644 --- a/htdocs/webportal/class/webportalinvoice.class.php +++ b/htdocs/webportal/class/webportalinvoice.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2023-2024 Laurent Destailleur * Copyright (C) 2023-2024 Lionel Vessiller * Copyright (C) 2024 MDW - * Copyright (C) 2024 Frédéric France + * Copyright (C) 2024-2025 Frédéric France * * 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 @@ -331,16 +331,17 @@ class WebPortalInvoice extends Facture /** * Return label of a status * - * @param int $paye Status field paye - * @param int $status Id status - * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=long label + picto - * @param int $alreadypaid 0=No payment already done, >0=Some payments were already done - * @param int $type Type invoice. If -1, we use $this->type + * @param int $paye Status field paye + * @param int $status Id status + * @param int<0,6> $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=long label + picto + * @param int $alreadypaid 0=No payment already done, >0=Some payments were already done + * @param int $type Type invoice. If -1, we use $this->type + * @param int $nbofopendirectdebitorcredittransfer Nb of open direct debit or credit transfer * @return string Label of status */ - public function LibStatut($paye, $status, $mode = 0, $alreadypaid = -1, $type = -1) + public function LibStatut($paye, $status, $mode = 0, $alreadypaid = -1, $type = -1, $nbofopendirectdebitorcredittransfer = 0) { // phpcs:enable - return $this->getInvoiceStatic()->LibStatut($paye, $status, $mode, $alreadypaid, $type); + return $this->getInvoiceStatic()->LibStatut($paye, $status, $mode, $alreadypaid, $type, $nbofopendirectdebitorcredittransfer); } } diff --git a/htdocs/website/class/website.class.php b/htdocs/website/class/website.class.php index 7ebe585c1f9..2f59aa95bcb 100644 --- a/htdocs/website/class/website.class.php +++ b/htdocs/website/class/website.class.php @@ -250,14 +250,28 @@ class Website extends CommonObject } } - // Create subdirectory for images and js + // Create subdirectory for images and js into documents/medias directory dol_mkdir($conf->medias->multidir_output[$conf->entity].'/image/'.$this->ref, DOL_DATA_ROOT); dol_mkdir($conf->medias->multidir_output[$conf->entity].'/js/'.$this->ref, DOL_DATA_ROOT); - // Uncomment this and change WEBSITE to your own tag if you - // want this action to call a trigger. - // if (!$notrigger) { + $pathofwebsite = $conf->website->dir_output.'/'.$this->ref; + // Check symlink documents/website/mywebsite/medias to point to documents/medias and restore it if ko. + // Recreate also dir of website if not found. + $pathtomedias = DOL_DATA_ROOT.'/medias'; + $pathtomediasinwebsite = $pathofwebsite.'/medias'; + if (!is_link(dol_osencode($pathtomediasinwebsite))) { + dol_syslog("Create symlink for ".$pathtomedias." into name ".$pathtomediasinwebsite); + dol_mkdir(dirname($pathtomediasinwebsite)); // To be sure that the directory for website exists + $result = symlink($pathtomedias, $pathtomediasinwebsite); + if (!$result) { + $langs->load("errors"); + //setEventMessages($langs->trans("ErrorFailedToCreateSymLinkToMedias", $pathtomediasinwebsite, $pathtomedias), null, 'errors'); + $error++; + } + } + + // if (!$notrigger) { // // Call triggers // $result = $this->call_trigger('WEBSITE_CREATE',$user); // if ($result < 0) $error++; diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 46d428bac93..aa9b1a64c50 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -1325,13 +1325,18 @@ if ($action == 'addcontainer' && $usercanedit) { // To generate the CSS, robot and htmlheader file. - // Check symlink to medias and restore it if ko + // Check symlink documents/website/mywebsite/medias to point to documents/medias and restore it if ko. + // Recreate also dir of website if not found. $pathtomedias = DOL_DATA_ROOT.'/medias'; $pathtomediasinwebsite = $pathofwebsite.'/medias'; if (!is_link(dol_osencode($pathtomediasinwebsite))) { dol_syslog("Create symlink for ".$pathtomedias." into name ".$pathtomediasinwebsite); - dol_mkdir(dirname($pathtomediasinwebsite)); // To be sure dir for website exists + dol_mkdir(dirname($pathtomediasinwebsite)); // To be sure that the directory for website exists $result = symlink($pathtomedias, $pathtomediasinwebsite); + if (!$result) { + $langs->load("errors"); + setEventMessages($langs->trans("ErrorFailedToCreateSymLinkToMedias", $pathtomediasinwebsite, $pathtomedias), null, 'errors'); + } } // Now generate the master.inc.php page if it does not exists yet @@ -1609,6 +1614,7 @@ if ($action == 'updatecss' && $usercanedit) { $dataposted = trim(GETPOST('WEBSITE_HTML_HEADER', 'restricthtmlallowlinkscript')); // Must accept tags like '