2
0
forked from Wavyzz/dolibarr

Compare commits

..

67 Commits
22.0.2 ... 21.0

Author SHA1 Message Date
ldestailleur
0a914f437a Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-10-06 18:00:19 +02:00
Frédéric FRANCE
e486707236 ficx backtopage (#35659) 2025-10-06 17:59:11 +02:00
John BOTELLA
cecc1831a2 Fix llx header body class (#35653) 2025-10-06 12:34:20 +02:00
ldestailleur
8d96062feb Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-10-03 12:58:38 +02:00
ldestailleur
1eeee0ab80 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-10-03 12:58:31 +02:00
ldestailleur
8df759d0ab Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 20.0 2025-10-03 12:58:05 +02:00
ldestailleur
5d3e2078a6 Disable not used github workflow 2025-10-03 12:57:54 +02:00
HENRY Florian
79d223cca4 fix: Do not display sign status buttonis signed status is not displayed in header (#35619) 2025-10-03 12:56:59 +02:00
John BOTELLA
5031572102 Fix trigger (#35610) 2025-10-03 11:44:53 +02:00
Christophe Battarel
4f75fb7f8a FIX : bad name for target import table (#35615)
Co-authored-by: Christophe Battarel <christophe@altairis.fr>
2025-10-03 11:38:46 +02:00
ThomasNgr-OpenDSI
de49d24d1b QUAL Remove duplicate code block (#35591)
* QUAL Remove duplicate code block

* fix PHPStan

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-10-03 10:04:27 +02:00
Laurent Destailleur
0bca7ac7a4 Fix CI 2025-10-02 18:01:18 +02:00
Laurent Destailleur
d26fb57e52 Fix CI 2025-10-02 16:28:29 +02:00
ThomasNgr-OpenDSI
b18f2f4fda FIX : thirdparty was never notified. Passing of contact ID information was not coherent. (#35590) 2025-10-02 16:11:53 +02:00
Laurent Destailleur
a046419145 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-10-02 15:59:08 +02:00
Laurent Destailleur
b0d08278f0 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 20.0 2025-10-02 15:53:12 +02:00
Laurent Destailleur
def8495513 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2025-10-02 15:52:20 +02:00
Laurent Destailleur
b2fce5052f Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2025-10-02 15:52:05 +02:00
Regis Houssin
b1d57a6bd1 FIX sql syntax error (#35588) 2025-10-02 15:45:30 +02:00
ldestailleur
16904d12f8 Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2025-10-02 03:18:10 +02:00
ldestailleur
1525b9c85e Rename label 2025-10-02 03:17:57 +02:00
Marc de Lima Lucio
ffe07999cf FIX: pgsql: error when calculating depreciations (#34213)
* FIX: pgsql: error when calculating depreciations

* FIX: asset deprectiation: optimize sql

* FIX: travis
2025-10-02 02:39:29 +02:00
Regis Houssin
24146d89c5 FIX #35568 (#35569)
* FIX #35568

* FIX clear "thirdparty" object before or during the fetch

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-10-01 19:54:50 +02:00
ldestailleur
0d1fa3cec0 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-10-01 19:51:51 +02:00
ldestailleur
57930b3abd Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 20.0 2025-10-01 19:51:29 +02:00
ldestailleur
1dd2cc36e4 Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2025-10-01 19:51:11 +02:00
ldestailleur
477d755bbc Clean CI files 2025-10-01 19:32:40 +02:00
ldestailleur
f85b53a4ca Test CI 2025-10-01 19:29:30 +02:00
ldestailleur
a6e01fe7b7 Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2025-10-01 19:28:46 +02:00
ldestailleur
43c2336683 Log 2025-10-01 19:28:36 +02:00
Thomas C.
e1b919366e FIX : To have only the sender's entity when sending mail (#31053)
* fix

* Update html.formmail.class.php

* Update html.formmail.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
Co-authored-by: lvessiller-opendsi <lvessiller@open-dsi.fr>
2025-10-01 19:18:31 +02:00
ldestailleur
40e4a6959f Fix CI 2025-10-01 19:17:22 +02:00
ldestailleur
84eaa17791 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-10-01 17:21:40 +02:00
ldestailleur
07dfde2bf6 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 20.0 2025-10-01 17:20:39 +02:00
ldestailleur
e9869bb5da Fix yml 2025-10-01 17:19:57 +02:00
ldestailleur
0ef519f2f6 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 20.0 2025-10-01 17:18:29 +02:00
ldestailleur
22995dae99 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2025-10-01 17:16:24 +02:00
ldestailleur
52ae202aff Merge branch '17.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2025-10-01 16:59:49 +02:00
ldestailleur
2ca2fe7f28 Merge branch '17.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2025-10-01 16:55:23 +02:00
ldestailleur
140310c508 Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2025-10-01 16:55:05 +02:00
ldestailleur
64cf2513bd Clean CI 2025-10-01 16:54:52 +02:00
Frédéric FRANCE
6c207f78d8 fix llx_actioncomm.sql (#35583) 2025-10-01 16:24:54 +02:00
Marc de Lima Lucio
a3969c1d2c FIX: php 8+ warnings when creating deposits (#35582) 2025-10-01 16:21:05 +02:00
Regis Houssin
d9563ac0ed Update pr-18.yaml (#35577)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-10-01 14:49:29 +02:00
ldestailleur
bea2f674f0 Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2025-10-01 14:34:04 +02:00
ldestailleur
80494870c0 Try to fix CI 18 2025-10-01 14:33:56 +02:00
Eric - CAP-REL
d25847602b missing fk_user_creat value (#35576) 2025-10-01 13:59:27 +02:00
ldestailleur
283efbbffe Test CI 2025-10-01 13:57:10 +02:00
ldestailleur
2e430a71a3 Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2025-10-01 13:54:19 +02:00
ldestailleur
faf2971ff7 Try to fix Ci 18 2025-10-01 13:54:11 +02:00
Laurent Destailleur
1bedddf113 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-10-01 01:02:54 +02:00
Laurent Destailleur
4d5d72cdb5 Fix download of zip should be ok if no installmodule.lock file exists 2025-10-01 01:02:21 +02:00
ldestailleur
ed2c5a6e80 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-09-27 15:42:56 +02:00
ldestailleur
fe28e36638 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0 2025-09-27 15:42:44 +02:00
Joachim Kueter
16c9d4005f Fix #35208 - Multicurrency fix for discount in invoice (Sponge) (#35506)
* Multicurrency fix for discount

* removed empty line
2025-09-27 12:10:15 +02:00
Regis Houssin
acf5e30b30 FIX missing entity filter (#35517) 2025-09-27 12:07:43 +02:00
ldestailleur
76b5540124 Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2025-09-27 12:06:49 +02:00
ldestailleur
8bb63c5963 Test on autoassign 2025-09-27 12:06:40 +02:00
Frédéric FRANCE
ac54639668 fix CI branch 21.0 (#35513) 2025-09-27 11:57:17 +02:00
Joachim Kueter
13be852eac Fix #35354 (#35502)
* Changed param from int

* Use float
2025-09-27 04:12:07 +02:00
Joachim Kueter
c2e6aa3999 Fix to cover arrays (#35499) 2025-09-27 04:11:31 +02:00
ldestailleur
481572f37a Fix label of search field 2025-09-27 03:30:27 +02:00
ldestailleur
7c989f9d74 Fix search in website pages 2025-09-27 03:27:49 +02:00
Günter Lukas
ee0dd8b672 fix #35503 - Wrong format of buying price in dispatch.php / reception.php (#35504)
* Change price calculation method in dispatch.php

In output field price should be used instead of price2num, other formatting does not work (esp. when you use German langugae settings)

* Format cost price before displaying in input field

In output field price should be used, otherwise formatting does not work (esp. when you use German langugae settings)

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-09-26 23:50:57 +02:00
HENRY Florian
0b69ed1612 fix: display of chkbxlst in edit with filter (#35480) 2025-09-26 21:01:45 +02:00
HENRY Florian
f532f85d8c fix: remove space in global conf test (#35484) 2025-09-26 20:54:21 +02:00
Frédéric FRANCE
1427895a62 fix CI branch 21 (#35495) 2025-09-26 18:31:49 +02:00
5433 changed files with 166259 additions and 263307 deletions

View File

@@ -6,6 +6,7 @@ languages:
engines:
phpcodesniffer: true
exclude_paths:
- 'build/*'
- 'dev/*'
- 'doc/*'
- 'test/*'

View File

@@ -153,7 +153,7 @@ Long description (Can span across multiple lines).
Pull Request (PR) process is the process to submit a change (enhancement, bug fix, ...) into the code of the project. There is some rules to know and
a process to follow to optimize the chance to have PRs merged efficiently...
* A PR must be atomic. It means it must contains the lower possible changes for 1 need (1 bug fix or 1 new feature) without breaking usability of code. If a PR can be split into several PRs, it often means your PR is not atomic. For PR on maintenance versions, the modified code must be as low as possible and only the absolutely necessary changes are allowed (You must have the number of lines modified as low as possible to have the visible bug fixed (no refactoring, no perf, no quality, no renaming must be joined). This allow to reduce to the maximum the number of future conflicts (so the number of regressions) when merging fixes into higher version to reduce the time of any future impact analysis.
* A PR must be atomic. It means it must contains the lower possible changes for 1 need (1 bug fix or 1 new feature) without breaking usability of code. If a PR can be split into several PRs, it often means your PR is not atomic.
* Your Pull Request (PR) must pass the Continuous Integration checks and code quality checks.
@@ -185,7 +185,7 @@ A so high ratio is very rare on a so popular project and with the increasing pop
Translations
------------
The source language (en_US) is maintained in the repository.
The source language (en_US) is maintained in the repository. See the [Code](#code) section above.
All other translations are managed online at [Transifex](https://www.transifex.com/dolibarr-association/dolibarr/).

View File

@@ -1,9 +1,8 @@
# Instructions
*This is a template to help you make good pull requests. You may use [Github Markdown](https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github/) syntax to format your issue report.*
*Please:*
- *only keep the "FIX", "CLOSE", "NEW", "UIUX", PERF" or "QUAL" section* (use uppercase to have the PR appears into the ChangeLog, lowercase will not appears)
- *only keep the "FIX", "CLOSE", "NEW", "PERF" or "QUAL" section* (use uppercase to have the PR appears into the ChangeLog, lowercase will not appears)
- *follow the project [contributing guidelines](/.github/CONTRIBUTING.md)*
- ***in particular, in case of a bugfix, please check that you are targetting the branch corresponding to the oldest version in which the bug occurs***
- *replace the bracket enclosed texts with meaningful information*
@@ -19,10 +18,6 @@
[*Long description*]
# UIUX|Uiux [*Short description*]
[*Long description*]
# PERF|Perf #[*issue_number Short description*]
[*Long description*]

View File

@@ -1,3 +0,0 @@
# Add this tag for any changes for more than 1 line
"Pending analysis of PR (maintenance team)":
min: 1

View File

@@ -1,33 +1,16 @@
# CI Workflows
# Workflow run order
The 2 main CI workflows are:
----------------------------
To reduce run minutes, the following order is put in place:
- ci-on-pull_request.yml
- ci-on-push.yml
On PR & Merge, always run:
This run the actions:
- pre-commit;
- phan.
- pre-commit.yml
- phan.yml
- phpstan.yml
When all succeed, start:
When both succeed, start:
- phpstan;
- Windows-ci;
- travis.
See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#running-a-workflow-based-on-the-conclusion-of-another-workflow
The other worklows are:
-----------------------
- stale-issues-safe to autoclose old issues.
- phpstan_baseline to update the phpstan baseline file.
- cache-clean-pr to clean cache when closing a PR.
Some tests workflows are:
------------------------
- pr-18
- pr-18-autolbal
- test

View File

@@ -1,7 +1,6 @@
---
# This clean the caches of a branch when we close the pull request.
# See https://github.com/actions/cache/blob/main/tips-and-workarounds.md#force-deletion-of-caches-overriding-default-cache-eviction-policy
name: Cleanup caches of a closed branch
# See https://github.com/actions/cache/blob/main/tips-and-workarounds.md#force-deletion-of-caches-overriding-default-cache-eviction-policy
on:
pull_request:
types: [closed]

View File

@@ -0,0 +1,38 @@
# See syntax file on https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: Doxygen
on:
schedule:
- cron: "0 15 * * *"
workflow_dispatch:
branches:
- develop
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Build
uses: DenverCoder1/doxygen-github-pages-action@v1.2.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages
folder: build/html
config_file: 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.
# target-folder: docs/html2
#jobs:
# doxygen:
# runs-on: ubuntu-latest
# steps:
# - name: 'Doxygen'
# uses: mattnotmitt/doxygen-action@1.9.5
# with:
# doxyfile-path: build/doxygen

29
.github/workflows/exakat.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
# See syntax file on https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: "Exakat analysis"
on:
# execute once a month, the 1st
schedule:
- cron: "0 20 1 * *"
workflow_dispatch:
permissions:
contents: read
jobs:
exakat:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
ref: develop
- name: Exakat
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/'
file_extensions: php
project_reports: Perfile

View File

@@ -217,7 +217,7 @@ jobs:
a2query -s
a2query -m
ls /etc/apache2/sites-available
#sudo cp -f $GITHUB_WORKSPACE/dev/build/travis-ci/apache-githubaction.conf /etc/apache2/sites-available/000-default.conf
#sudo cp -f $GITHUB_WORKSPACE/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
@@ -362,3 +362,4 @@ jobs:
phpunitresult=$?
echo "Phpunit return code = $phpunitresult"
set +e

View File

@@ -172,7 +172,7 @@ jobs:
a2query -s
a2query -m
ls /etc/apache2/sites-available
#sudo cp -f $GITHUB_WORKSPACE/dev/build/travis-ci/apache-githubaction.conf /etc/apache2/sites-available/000-default.conf
#sudo cp -f $GITHUB_WORKSPACE/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
@@ -331,3 +331,4 @@ jobs:
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 .

View File

@@ -0,0 +1,13 @@
# See syntax file on https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: Greetings PR
on: [pull_request]
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pr-message: 'Welcome to the Dolibarr army. You are on the road to become an Admiral (see https://wiki.dolibarr.org/index.php/Dolibarr_Project)'

32
.github/workflows/phpcs.yml.disabled vendored Normal file
View File

@@ -0,0 +1,32 @@
name: "PHPCS"
on:
push:
pull_request:
paths:
- "**.php"
- "phpcs.xml"
- ".github/workflows/phpcs.yml"
jobs:
phpcs:
runs-on: ubuntu-latest
steps:
# Get git sources
- uses: actions/checkout@v4
with:
fetch-depth: 50 # important!
# we may use whatever way to install phpcs, just specify the path on the next step
# however, curl seems to be the fastest
- name: Install PHP_CodeSniffer
run: |
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
php phpcs.phar --version
- uses: thenabeel/action-phpcs@v8
with:
files: "**.php" # you may customize glob as needed
phpcs_path: php phpcs.phar
standard: dev/setup/codesniffer/ruleset.xml
fail_on_warnings: false

View File

@@ -43,7 +43,7 @@ jobs:
with:
php-version: ${{ matrix.php-version }}
coverage: none # disable xdebug, pcov
tools: phpstan:2.1.8, cs2pr
tools: phpstan:2.0, cs2pr
extensions: calendar, json, imagick, gd, zip, mbstring, intl, opcache, imap,
mysql, pgsql, sqlite3, ldap, xml, mcrypt
@@ -67,7 +67,7 @@ jobs:
- name: Run PHPStan
id: phpstan
run: |
phpstan -vvv analyse --error-format=checkstyle --memory-limit 7G -a dev/build/phpstan/bootstrap_action.php | tee _stan.xml | cs2pr --graceful-warnings
phpstan -vvv analyse --error-format=checkstyle --memory-limit 7G -a 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 dev/build/phpstan/bootstrap_action.php --generate-baseline dev/build/phpstan/phpstan-baseline.neon
# phpstan -vv analyse --memory-limit 7G -a build/phpstan/bootstrap_action.php --generate-baseline build/phpstan/phpstan-baseline.neon

View File

@@ -1,5 +1,3 @@
---
# This run the script to update the phpstan baseline file dev/build/phpstan/phpstan-baseline.neon
name: 'PHPStan baseline'
on:
@@ -39,7 +37,7 @@ jobs:
with:
php-version: ${{ env.PHP_VERSION }}
coverage: none # disable xdebug, pcov
tools: phpstan:2.1.8, cs2pr
tools: phpstan:2.0, cs2pr
extensions: calendar, json, imagick, gd, zip, mbstring, intl, opcache, imap,
mysql, pgsql, sqlite3, ldap, xml, mcrypt
env:
@@ -62,8 +60,8 @@ jobs:
github_token: ${{ env.GH_TOKEN }}
phpstan_path: phpstan
configuration_path: phpstan.neon.dist
phpstan_additional_arguments: --memory-limit 7G -a dev/build/phpstan/bootstrap_action.php
baseline_path: dev/build/phpstan/phpstan-baseline.neon
phpstan_additional_arguments: --memory-limit 7G -a build/phpstan/bootstrap_action.php
baseline_path: build/phpstan/phpstan-baseline.neon
commit_name: Dolibot
commit_email: dolibarr-bot@users.noreply.github.com
commit_message: PHPStan > Update baseline

View File

@@ -23,33 +23,16 @@ jobs:
RAW_LOG: pre-commit.log
CS_XML: pre-commit.xml
steps:
#- name: Install required tools
# run: sudo apt-get update && sudo apt-get install cppcheck
# if: false
- name: Install required tools
run: sudo apt-get update && sudo apt-get install cppcheck
if: false
# Checkout git sources to analyze
- uses: actions/checkout@v4
# Try to get the list of modified files into steps.changed-php.outputs.all_changed_files
#- name: Get changed files
# id: changed-files
# uses: actions/github-script@v7
# with:
# script: |
# const base = context.payload.pull_request?.base?.sha;
# const head = context.payload.pull_request?.head?.sha;
# const response = await github.rest.repos.compareCommits({
# owner: context.repo.owner,
# repo: context.repo.repo,
# base,
# head
# });
#
# const changedFiles = response.data.files.map(file => file.filename);
# core.setOutput("all_changed_files", changedFiles.join(" "));
# Another method to get the list of changed files
# The next uses the git API because there is no clone yet.
# It sets the variable steps.changed-php.outputs.all_changed_files for other steps
# This is faster for a big repo.
- name: Get all changed php files (if PR)
id: changed-php
if: env.gh_event == 'pull_request'
@@ -57,9 +40,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./.github/scripts/get_changed_php.sh
#- name: Print changed files
# run: echo "Changed files are ${{ steps.changed-files.outputs.all_changed_files }}"
# Action setup-python needs a requirements.txt or pyproject.toml
# This ensures one of them exists.
- name: Create requirements.txt if no requirements.txt or pyproject.toml
@@ -151,7 +131,7 @@ jobs:
ls -l ~/.cache/pre-commit/
- name: Convert Raw Log to Annotations
uses: mdeweerd/logToCheckStyle@v2025.1.1
uses: mdeweerd/logToCheckStyle@v2024.3.5
if: ${{ failure() }}
with:
in: ${{ env.RAW_LOG }}

View File

@@ -1,30 +0,0 @@
name: Test github actions
on:
workflow_dispatch:
pull_request:
types: [opened, reopened, synchronize]
push:
env:
ENVGHT: ${{ secrets.GITHUB_TOKEN }}
ENVGHU: ${{ github.token }}
TEST_ACCESS_KEY: ${{ secrets.TEST_ACCESS_KEY }}
TEST_VAR_REPO: ${{ vars.TEST_VAR_REPO }}
TEST_VAR_ORGA: ${{ vars.TEST_VAR_ORGA }}
ENVLOCAL: "varenvlocal"
jobs:
testjob:
runs-on: ubuntu-latest
steps:
- name: Log
run: |
echo "Run action by ${{ github.actor }}"
echo "github.token=${{ github.token }}"
echo "secrets.GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}"
echo "GITHUB_EVENT_PATH=$GITHUB_EVENT_PATH"
echo "repo-token: ${{secrets.GITHUB_TOKEN}}"
echo "secret repository TEST_ACCESS_KEY: ${{secrets.TEST_ACCESS_KEY}}"
echo "variable repository : ${{vars.TEST_VAR_REPO}}"
echo "variable organization : ${{vars.TEST_VAR_ORGA}}"
echo "ENVLOCAL: ${{env.ENVLOCAL}}"

View File

@@ -165,7 +165,7 @@ jobs:
for /f "tokens=2 delims==" %%A in ('doskey /m:err') do EXIT /B %%A
- name: Convert Raw Log to Annotations
uses: mdeweerd/logToCheckStyle@v2025.1.1
uses: mdeweerd/logToCheckStyle@v2024.3.5
if: ${{ failure() }}
with:
in: ${{ env.PHPUNIT_LOG }}

8
.gitignore vendored
View File

@@ -47,8 +47,8 @@ htdocs/.well-known/apple-developer-merchantid-domain-association
/output/
# Node Modules
dev/build/yarn-error.log
dev/build/node_modules/
build/yarn-error.log
build/node_modules/
node_modules/
vendor/
@@ -84,8 +84,8 @@ doc/install.lock
/INI_PHPUNIT
# ignore cache builds
/dev/build/phpstan/phpstan
/dev/build/phpstan/bootstrap_custom.php
/build/phpstan/phpstan
/build/phpstan/bootstrap_custom.php
phpstan_custom.neon
/.php-cs-fixer.cache
/.php_cs.cache

View File

@@ -1,9 +1,6 @@
# This is mapping list between real user name/email and entry into sources files
# If you don't want to have your real email appears here, just send a Pull Request to
# replace the second field between <> with <secret>
#
# This files allows to have several profiles (the second part) matched to the same name/email (the first part).
#
Laurent Destailleur <eldy@destailleur.fr> Laurent Destailleur <eldy@users.sourceforge.net>
Laurent Destailleur <eldy@destailleur.fr> eldy <eldy@destailleur.fr>
Laurent Destailleur <eldy@destailleur.fr> Laurent Destailleur <ldestailleur@teclib.com>

View File

@@ -3,7 +3,7 @@ exclude: (?x)^( htdocs/includes/ckeditor/.*|(\.(?!github/workflows)[^/]*/.*))$
repos:
# Several miscellaneous checks and fix (on yaml files, end of files fix)
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v4.6.0
hooks:
# This hook tests the name of the branch and return an error if the name is
# 'develop' or an official version 'x.y'
@@ -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/.* |dev/build/debian/dolibarr.postrm |dev/build/debian/dolibarr.postinst
|dev/build/debian/dolibarr.config )$
|htdocs/modulebuilder/template/.* |build/debian/dolibarr.postrm |build/debian/dolibarr.postinst
|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)
@@ -60,13 +60,13 @@ repos:
# Gitleaks is a SAST tool for detecting and preventing hardcoded secrets like passwords, api keys, and tokens in git repos
- repo: https://github.com/gitleaks/gitleaks.git
rev: v8.24.0
rev: v8.16.1
hooks:
- id: gitleaks
# Check github actions
- repo: https://github.com/rhysd/actionlint
rev: v1.7.7
rev: v1.7.3
hooks:
- id: actionlint
@@ -168,7 +168,7 @@ repos:
# Prettier (format code, only for non common files)
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.1.0
rev: v3.0.3
hooks:
- id: prettier
stages: [manual]
@@ -191,7 +191,7 @@ repos:
# Check format of yaml files
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.36.2
rev: v1.35.1
hooks:
- id: yamllint
args:
@@ -201,7 +201,7 @@ repos:
# Execute codespell to fix typo errors (setup of codespell into dev/tools/codespell/)
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
rev: v2.3.0
hooks:
- id: codespell
# Due to a current limitation of configuration files,
@@ -251,7 +251,7 @@ repos:
# Check sql file syntax
- repo: https://github.com/sqlfluff/sqlfluff
rev: 3.3.1
rev: 3.1.0
hooks:
- id: sqlfluff-lint
stages: [pre-commit, manual] # manual needed for ci

View File

@@ -37,7 +37,7 @@ cache:
jobs:
fast_finish: true
allow_failures:
- php: 'latest'
- php: '8.4'
include:
- stage: PHP min and max
if: type = push
@@ -47,16 +47,16 @@ jobs:
- TRAVIS_PHP_VERSION=7.1
- stage: PHP min and max
if: type = pull_request OR type = push
php: '8.3'
env:
- DB=mysql
- TRAVIS_PHP_VERSION=8.3
- stage: PHP 8.4
if: type = push AND branch = develop
php: '8.4'
env:
- DB=mysql
- TRAVIS_PHP_VERSION=8.4
- stage: PHP latest
if: type = push AND branch = develop
php: 'latest'
env:
- DB=mysql
- TRAVIS_PHP_VERSION=latest
notifications:
email:
@@ -97,9 +97,6 @@ before_install:
if [ "$TRAVIS_PHP_VERSION" = '8.4' ]; then
sudo apt install unzip apache2 php8.4 php8.4-cli php8.4-curl php8.4-mysql php8.4-pgsql php8.4-gd php8.4-imap php8.4-intl php8.4-ldap php8.4-xml php8.4-mbstring php8.4-xml php8.4-zip libapache2-mod-php8.4
fi
if [ "$TRAVIS_PHP_VERSION" = 'latest' ]; then
sudo apt install unzip apache2 php8.4 php8.4-cli php8.4-curl php8.4-mysql php8.4-pgsql php8.4-gd php8.4-imap php8.4-intl php8.4-ldap php8.4-xml php8.4-mbstring php8.4-xml php8.4-zip libapache2-mod-php8.4
fi
- |
echo Install pgsql if run is for pgsql
@@ -174,7 +171,7 @@ install:
squizlabs/php_codesniffer ^3
fi
# phpunit 9 is required for php 8
if [ "$TRAVIS_PHP_VERSION" = '8.0' ] || [ "$TRAVIS_PHP_VERSION" = '8.1' ] || [ "$TRAVIS_PHP_VERSION" = '8.2' ] || [ "$TRAVIS_PHP_VERSION" = '8.3' ] || [ "$TRAVIS_PHP_VERSION" = '8.4' ] || [ "$TRAVIS_PHP_VERSION" = 'latest' ]; then
if [ "$TRAVIS_PHP_VERSION" = '8.0' ] || [ "$TRAVIS_PHP_VERSION" = '8.1' ] || [ "$TRAVIS_PHP_VERSION" = '8.2' ] || [ "$TRAVIS_PHP_VERSION" = '8.3' ] || [ "$TRAVIS_PHP_VERSION" = '8.4' ] || [ "$TRAVIS_PHP_VERSION" = 'nightly' ]; then
sudo composer self-update 2.4.4
composer -n require --ignore-platform-reqs phpunit/phpunit ^8 \
php-parallel-lint/php-parallel-lint ^1.2 \
@@ -277,7 +274,6 @@ before_script:
#echo '\d llx_c_country' | psql 'postgresql://postgres:postgres@127.0.0.1:5432/travis'
# Create pgsql compatibility functions
echo "Load functions.sql (may generated errors for tables that does not exists yet)"
psql 'postgresql://postgres:postgres@127.0.0.1:5432/travis' < htdocs/install/pgsql/functions/functions.sql
fi
echo
@@ -321,7 +317,7 @@ before_script:
- |
echo "Setting up Apache"
sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars
sudo cp -f dev/build/travis-ci/apache.conf /etc/apache2/sites-available/000-default.conf
sudo cp -f 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
@@ -519,9 +515,6 @@ script:
php upgrade.php 20.0.0 21.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade20002100.log || cat $TRAVIS_BUILD_DIR/upgrade20002100.log
php upgrade2.php 20.0.0 21.0.0 > $TRAVIS_BUILD_DIR/upgrade20002100-2.log || cat $TRAVIS_BUILD_DIR/upgrade20002100-2.log
php step5.php 20.0.0 21.0.0 > $TRAVIS_BUILD_DIR/upgrade20002100-3.log || cat $TRAVIS_BUILD_DIR/upgrade20002100-3.log
php upgrade.php 21.0.0 22.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade21002200.log || cat $TRAVIS_BUILD_DIR/upgrade21002200.log
php upgrade2.php 21.0.0 22.0.0 > $TRAVIS_BUILD_DIR/upgrade21002200-2.log || cat $TRAVIS_BUILD_DIR/upgrade21002200-2.log
php step5.php 21.0.0 22.0.0 > $TRAVIS_BUILD_DIR/upgrade21002200-3.log || cat $TRAVIS_BUILD_DIR/upgrade21002200-3.log
set +e
echo

View File

@@ -48,7 +48,7 @@ Swift Mailer 5.4.2-DEV MIT License Yes
Symfony/var-dumper ??? MIT License Yes Library to make var dump (used by DebugBar)
Stripe 10.7.0 MIT Licence Yes Library for Stripe module
TCPDF 6.7.5 LGPL-3+ Yes PDF generation
TCPDI 1.1.0 LGPL-3+ / Apache 2.0 Yes FPDI replacement
TCPDI 1.0.0 LGPL-3+ / Apache 2.0 Yes FPDI replacement
bacon, dasprid, swiss-qr-bill, kmukku, symfony/validator
@@ -59,6 +59,7 @@ CKEditor 4.22.1 LGPL-2.1+ Yes
jQuery 3.6.4 MIT License Yes JS library
jQuery UI 1.13.2 GPL and MIT License Yes JS library plugin UI
jQuery select2 4.0.13 GPL and Apache License Yes JS library plugin for sexier multiselect. Warning: 4.0.6+ create troubles without patching css
jQuery blockUI 2.70.0 GPL and MIT License Yes JS library plugin blockUI (to use ajax popups)
jQuery Colorpicker 1.1 MIT License Yes JS library for color picker for a defined list of colors
jQuery JCrop 0.9.8 GPL and MIT License Yes JS library plugin Crop (to crop images)
jQuery Jeditable 1.7.1 GPL and MIT License Yes JS library plugin jeditable (to edit in place)

231
ChangeLog
View File

@@ -2,229 +2,6 @@
English Dolibarr ChangeLog
--------------------------------------------------------------
***** ChangeLog for 22.0.2 compared to 22.0.1 *****
FIX: ContratLigne::fetch() returns 1 even if the line doesn't exist (#35324)
FIX: #34678
FIX: #35142 FIX: #35143
FIX: #35154 - Massaction createbills in reception list don't mind about order and/or thirdparty currency (#35156)
FIX: #35181 Cancelled purchase orders now shown as such in Project Overview (#35186)
FIX: #35407 After updating to version 22, local taxes were no longer applied (#35408)
FIX: #35425 (#35426)
FIX: accountancy general ledger: bad handling of hook return (#34029)
FIX: Add security test for show terminal selection if no terminal selected when invoice.php is call (#34717)
FIX: allow to create First Sutuation Invoice (#35228)
FIX: api orders : forward database error on failure (backpot commit d9e81cb) (#35478)
FIX: Can't edit tags of a user.
FIX: can't reset intracomm transport mode
FIX: can't save setup of odt template for stock
FIX: check commande liste validate (#35479)
FIX: color of late warning for nb of bank account reconciliation lines
FIX: Correct the calculation of the amount of the current period between the period provided (#35083)
FIX: Date planned of delivery is not propagated from order to shipment
FIX: Edit of email in emailing. Property messtype not set.
FIX: extra field list depend on parent list when editing a card (#35165)
FIX: fallback of "from" email when sending email in member module
FIX: missing token to disable custom group category for compta report (page /htdocs/accountancy/admin/categories_list.php) (#35084)
FIX: Generation of member cards (file not found and substitution broken)
FIX: invoice not set to closed when we add a credit note to close it
FIX: missing check constant PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS (#33277)
FIX: missing entity filter (#35461)
FIX: missing quick edit for extrafields (baclport commit 4fc66c6) (#35160)
FIX: Missing sentence part (#35144)
FIX: Remove perms to access commerce tab when the only active permission is fournisseur:lire (#35467)
FIX: Restore decimal quantity for stock correction/transfer
FIX: save the packaging qty on update buying price (#35234)
FIX: set global mysoc and load langs in API access (#35041)
FIX: Societe - Problem of date on outstanding opened late (#35266)
FIX: vat detection when country of buyer is unknown.
FIX: wrong extrafield template in create mode (#35241) (#35470)
***** ChangeLog for 22.0.1 compared to 22.0.0 *****
FIX: #34843 (#34875)
FIX: #34936
FIX: a Fatal error when a trigger files is not correctly named.
FIX: array for arrayofkeyval is lost in module builder edit of property
FIX: asset: could not select invoice in disposal pop-in (#34725)
FIX: avoid php warning with "$forceFullTextIndexation" (#34881)
FIX: bad consistency on test on permission to disable service
FIX: Can edit status of tasks
FIX: Create public ticket if email need exist. (#34965)
FIX: DA026536: missing <br> in automatic e-mail (#34895)
FIX: extrafields of type "int" not displayed on `projet/tasks.php` (#34896)
FIX: Filter on the balance of leave
FIX: Logo on company is no more visible.
FIX: mailing destination list title (#34929)
FIX: main checkbox left column was before global conf (#34858)
FIX: Missing a column on group permissions
FIX: several minor troubles with modulebuilder
FIX: Test on mandatory product or thirdparty barcode
FIX: trigger mailmanspip when un/linking categories
***** ChangeLog for 22.0.0 compared to 21.0 *****
For users:
----------
NEW: Module WebPortal is moved as stable
NEW: Subtotal module (#33502) - development
NEW: shipment kits with dispatcher v2 (#33750)
NEW: ticket : display files linked to actioncomm (#32325)
NEW: Support of monthly or weekly recurring events
NEW: AI feature to autofill extrafields
NEW: Introduce the view "Kanban Grouped By" opportunity status in projects
NEW: #32706 - Treasury accountancy (#33701)
NEW: #33506 Add a constant to apply a ratio to resize images in ODT templates (#33543)
NEW: Accountancy - Add centralized account (SQL & migration part) (#33384) (#33577)
NEW: Accountancy - Add filter on chart of accounts (#33656)
NEW: Accountancy - Centralized account are highlighted (#33648)
NEW: Accountancy - Define fiscal year by default
NEW: Accountancy - Show subledger account in thirdparty
NEW: Add a delay to be sure that any Stripe action from webhooks are executed after interactive actions
NEW: Add also start date fill buttons for salary clone
NEW: Add a test mode for AI setup
NEW: Add DateMaxPayment option on selectDate (#33601)
NEW: Add/enhance the popup for preview of icons
NEW: Add field usenewcurrencyrate
NEW: Add globale MAIN_DISABLE_PDF_AUTO_DOWNLOAD_AFTER_CONVERT_FROM_ODT to disable the auto download after auto convert odt to pdf (#33511)
NEW: add home box mrp (#33549)
NEW: Add invoice tags
NEW: Add ip into table of website accounts
NEW: Add knowledgebase info on box_dolibarr_state_board.php (#33960)
NEW: Add link to create shipment on picto
NEW: Add link to picto help page on module builder
NEW: Add management of date begin/end and discount for a customer price (Code + SQL)
NEW: add new permissions to read supplier prices (#33598)
NEW: Add option MAIN_ALLOW_DOUBLE_COLON_IN_DOL_EVAL
NEW: Add option MAIN_MAIL_EMAIL_FROM_PASSWORDRESET
NEW: Add options on intervention clone popup to clone or not contact and notes
NEW: Add options PDF_XXX_SHOW_PRICE_INCL_TAX into PDF setup
NEW: add option to not prefill qty line at shipment creation
NEW: Add page list for categories.
NEW: Add parameters for the hook selectProductsListWhere (#33718)
NEW: add phone_mobile to export of thirdparty (#33893)
NEW: Add public page for donation module (#33978)
NEW: add setasnumber for forms (#33845)
NEW: Add Shared links on links in attachments (#33459)
NEW: Add tags / category on supplier invoice (#33490)
NEW: Add the possibility to merge PDF from the product list (#33723)
NEW: allow stock management by product (#32326)
NEW: attendee status "Showed up" - to ensure that only one attendee gets in on a ticket (#33987)
NEW: auto-detect country from code in creation (follow-up)
NEW: autofix mysqldump command for backup when path is wrong
NEW: Better presentation of list of user approver.
NEW: Can define a different PDF for concatenation for proposal, order and invoices
NEW: Can filter on field "Refuse emailing" in list of thirdparties.
NEW: Can filter on public/private notes in list sale orders thirdparties
NEW: Can filter on string with spaces if search criteria is inside quote.
NEW: Can force the tooltip before the text on column title.
NEW: Can link member subscription/contribution with proposal, order and invoice (#33647)
NEW: Can set a specific permission on an extrafields
NEW: cash control: add hidden setting to show total including taxed in detail by vat rate
NEW: Closing task
NEW: CONSTANT: ORDER_TYPE_CONTACT_DEFAULT
NEW: const PREVIEW_PICTO_ON_LEFT_OF_NAME for icon to preview documents (#33519)
NEW: Dictionary - Manage countries of SEPA Area
NEW: Dolibarr#22848 Add order tags
NEW: Filter on date creation/date modification in invoice list
NEW: fix #33456 (#33458)
NEW: force Extrafields values when constants THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_(ORDER|INVOICE) are set (#33954)
NEW: input reason for customer invoice (#33599)
NEW: Invoice - Add constant to prevent modification of an invoice (#33455)
NEW: Loan - Add total on each payment to see the global amount off the reimbursement
NEW: login page: button to toggle the visibility of the password (#33698)
NEW: Look and feel - Checkboxes and radio buttons are larger
NEW: Allow user to define the number of email sent by batch directly from mailing config page (#32750)
NEW: Mass action delete on donation list
NEW: Merge surface and volume in one line on product card.
NEW: Module external website is deprecated. Replaced with menu editor.
NEW: Move right from advance to normal for thirdparty information payment page (#33885)d
NEW: delays conf for supplier proposals (#33800)
NEW: new option in invoice setup to limit options of deposit invoice (#33468)
NEW: No auto open keyboard on smartphone when opening list of columns
NEW: On list, see complete ref customer/supplier with constant MAIN_SHOW_GLOBAL_REF_CUSTOMER_SUPPLIER (#33373)
NEW: Option MAIN_RESTRICTHTML_ONLY_VALID_HTML and MAIN_RESTRICTHTML_ONLY_VALID_HTML_TIDY are on by default
NEW: Option MAIN_SECURITY_MAXFILESIZE_DOWNLOADED become official
NEW: Order - Add drag & drop file (#33848)
NEW: reopen for interventions API (#33982)
NEW: Rounding unit price - line discount before applying quantity - option MAIN_APPLY_DISCOUNT_ON_UNIT_PRICE_THEN_ROUND_BEFORE_MULTIPLICATION_BY_QTY (#33690)
NEW: shipment with product in cache
NEW: shipment with warehouse in cache
NEW: Show code of stripe hooks supported in setup page
NEW: Show country flag in list of chart of account
NEW: Show IP of previous connection and date of last password change in the "Connection" widget.
NEW: Some trans keys to prepare a new website template (#33886)
NEW: SUBMIT_FOR_ALL_MARK_RESPAWN (#32101)
NEW: Supplier orders - Add tags/categories (#33386)
NEW: takepos cash control: add vat taxless total
NEW: The closing reason of invoice appear on tooltip of invoice status
NEW: The link "In accountancy" is now clickable to reach bookkeeping
NEW: The public media browser is now a stable feature
NEW: The signature is on the good page even if another module add pages
NEW: Toggle Display of Supplier Invoices and Credit Notes on Payment Page (#33856)
NEW: Try to set the tooltip as ajax call by default.
NEW: Update of currency supports also apilayer (not only currencylayer)
NEW: use specific landing page to home menu entry
NEW: Use the packaging feature to round the quantities to some given multiples for the sale
NEW: Use the PhpZipProxy handler to generate ODT files (avoid corrupted ODT with recent version of Libre Office).
NEW: vcard (vcf) download for third party (#31957)
NEW: Web pages of websites are protected by the WAF
NEW: Add constant to show stock in products combo
NEW: Can edit the module_source and pos_source field.
NEW: Accountancy - Add actions on entries (Cloning, assigning, returning)
NEW: Add conf PDF_HIDE_LINKED_OBJECT_IN_PUBLIC_NOTE to hide linked object in public note of pdf.
NEW: Add MULTICURRENCY_SHOW_ALSO_MAIN_CURRENCY_ON_PDF for legal requirement that need both currencies on PDF
NEW: Add note public and private on order export
NEW: Finish dev for API_ENABLE_COUNT_CALLS (count of API use is visible on user API key field)
For developers:
----------
NEW: Add an API endpoint to get properties of a single line of an order (#34045)
NEW: add const to not include default CSS in top_htmlhead with DISABLE_CSS_DEFAULT_THEME
NEW: add const to not include default lib_head.js in top_htmlhead with DISABLE_LIB_HEAD_JS
NEW: add const to not include JQuery UI in top_htmlhead DISABLE_JQUERY_UI
NEW: add create category project link via api (#34016)
NEW: add creditnotelist var in fetch
NEW: add hook 'addMoreInformationsBlock'
NEW: Add hook on API call (#33501)
NEW: add hooks to modify select_produits_fournisseurs_list sql query
NEW: Adding API endpoints for event attendee handling (#33932)
NEW: Add internal contact of proposal, order and invoice on api call (#34009)
NEW: Add option to create simple shipment of non origin. SQL part (#34071)
NEW: add settodraft to the supplier invoice API (#34064)
NEW: Can set isMandatory property in generic setup framework
NEW: endpoints DELETE event atteendee by ID or REF (#33986)
NEW: endpoints GET event attendee by ID or REF (#33984)
NEW: endpoints PUT (update) event atteendee by ID or REF (#33985)
NEW: hidden conf for api contrat putLine endpoint to only return the line (#33809)
NEW: introduce method dolSetCookie
NEW: Invoice - Document - Add hook on action
NEW: Pagination data for intervention APi
NEW: Add experimental Website Template for Association
NEW: expense report API deny
WARNING:
--------
The following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* The use of GETPOST function is not allowed inside extrafields conditions or any strings that contains dynamic code evaluated with dol_eval().
* The deprecated variable $trigger_name (duplicate of variable $triggersendname) has been removed. You must use $triggersendname everywhere now.
* The behavior of constant STOCK_ALLOW_NEGATIVE_TRANSFER has been reversed. It has been renamed into STOCK_DISALLOW_NEGATIVE_TRANSFER.
* Method Categoie->getObjectsInCateg() is deprecated. Try by using instead: getListForItem() or containing().
* Global variables $bctag, $conffiletoshowshort, $type2label has been removed.
* Deprecatedproperty ->fk_departement that was replaced by ->state_id has been completely removed.
* If you setup the API to update multicurrency rate from internet, you may need to re-enter your API key (so API key will be crypted in database).
* The signature of API get for intervention has been modified to match other get api on other objects.
* The directory /build has been moved into /dev/build.
* The API to create a website account /idthirdparty/accounts/site is now POST (instead of PUT) and to update is PUT (instead of PATCH).
* Debug v22 - Invert option TICKET_DO_NOT_INCLUDE_LINK_TO_CUSTOMER (that add link to backoffice interface link when it should remain private)
into TICKET_INCLUDE_LINK_TO_PUBLIC_INTERFACE_IN_MESSAGE. It also avoid often emails marked as SPAM due to suspicious link.
* The property ->price_ht of an object line that was a duplicate of ->subprice has been standardized. Use ->subprice everywhere now.
***** ChangeLog for 21.0.4 compared to 21.0.3 *****
FIX: #35147 SQL Error on Beluga Export when ExpenseReport is enabled (#35149)
FIX: error when using a code too large in dictionary
@@ -257,7 +34,6 @@ FIX: trigger mailmanspip when un/linking categories
SEC: Remove functions accepting callable params - Reported by phdwg1410 - CVE-2024-40137
***** ChangeLog for 21.0.2 compared to 21.0.1 *****
FIX: 21.0: $height and $width can be ints, but also 'auto' (#34636)
@@ -697,7 +473,7 @@ FIX: product variants copy: also copy multiprice variations
FIX: refactorize (maybe broken feature for not received completely)
FIX: remove debug trace
FIX: remove socid when cloning a project without third parties
FIX: removes traces of HEAD conflicts following the postponement of branch 13 modifications (#32014)
FIX: removes traces of <<<HEAD conflicts following the postponement of branch 13 modifications (#32014)
FIX: remove unused code
FIX: same broken feature for propal and invoice
FIX: select 2 no record found translate
@@ -1004,7 +780,7 @@ NEW: fetch object by element for website account card
NEW: filter on sale representative in contact list
NEW: Filter shipments by selecting multiple shipping methods (#28376)
NEW: Font param Look and Feel (#29302)
NEW: functionality for configuration of post and pre prompt in AI module (#28030)
NEW: functionality for stock configuration prompt in AI module (#28030)
NEW: functionality to delete contact of company list
NEW: functionality to display codebar on pdf files (#29623)
NEW: functionality to list event for user
@@ -1705,6 +1481,7 @@ NEW: updating for display Help title when try to delete Don (issue #25314)
NEW: Upgrade in module builder in menu section
NEW: use account address in sepa mandate (#23642)
NEW: VAT rate - Add entity
NEW: Website: Support of js into the Dolibarr server preview
NEW: When an user unset the batch management of products, transformation of each batch stock movement in global stock movement
NEW: PDF Generation for each Human Resource Evaluations.
@@ -1805,7 +1582,7 @@ The following changes may create regressions for some external modules, but were
* The delete() method of AdherentType, Contact, Delivery, MultiCurrency, CurrencyRate now need $user as first parameter.
* A very high number of class properties (with old name in french) are now deprecated in favor of the property name in english.
* The load of hook context productdao has been removed before calling loadvirtualstock. Modules must use the context of main parent page or 'all' for all cases.
* booking.class.php was removed, please have a look at calendar.class.php
***** ChangeLog for 18.0.8 compared to 18.0.7 *****
35 files changed, 647 insertions(+), 298 deletions(-)

195
README-FR.md Normal file
View File

@@ -0,0 +1,195 @@
# DOLIBARR ERP & CRM
![Downloads per day](https://img.shields.io/sourceforge/dw/dolibarr.svg)
![Docker hub pulls](https://img.shields.io/docker/pulls/dolibarr/dolibarr.svg)
[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.1-8892BF.svg?style=flat-square)](https://php.net/)
[![GitHub release](https://img.shields.io/github/v/release/Dolibarr/dolibarr)](https://github.com/Dolibarr/dolibarr)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5521/badge)](https://bestpractices.coreinfrastructure.org/projects/5521)
Dolibarr ERP & CRM est un logiciel moderne pour gérer votre activité (société, association, auto-entrepreneurs, artisans).
Il est simple d'utilisation et modulaire, vous permettant de n'activez que les fonctions dont vous avez besoin (contacts, fournisseurs, factures, commandes, stocks, agenda, ...).
![ScreenShot](https://www.dolibarr.org/medias/dolibarr_screenshot1_1920x1080.jpg)
## LICENCE
Dolibarr est distribué sous les termes de la licence GNU General Public License v3+ ou supérieure.
## INSTALLER DOLIBARR
### Installation simple
Si vous avez peu de compétences techniques et que vous souhaitez installer Dolibarr ERP/CRM en quelques clics, vous pouvez utiliser l'une des versions pré-packagées avec les prérequis:
- DoliWamp pour Windows
- DoliDeb pour Debian ou Ubuntu
- DoliRpm pour Redhat, Fedora, OpenSuse, Mandriva ou Mageia
Les packages peuvent être téléchargés à partir de [site web officiel](https://www.dolibarr.org/).
### Installation recommandée/avancée
Vous pouvez aussi utiliser un serveur Web et une base de données prise en charge (MariaDB, MySQL ou PostgreSQL) pour installer la version standard.
- Décompressez l'archive .zip téléchargée pour copier le répertoire "dolibarr/htdocs" et tous ses fichiers à la racine du serveur Web ou récupérez-les directement à partir de GitHub (recommandé si vous connaissez git):
  `git clone https://github.com/dolibarr/dolibarr -b x.y` (où x.y est la version principale comme 3.6, 9.0, ...)
- Configurez votre serveur Web pour qu'il utilise "*dolibarr/htdocs*" en tant que racine si votre serveur Web ne possède pas déjà de répertoire défini vers lequel pointer.
- Créez un fichier `htdocs/conf/conf.php` vide et définissez les autorisations d'*écrire* pour l'utilisateur de votre serveur Web (l'autorisation *écrire* sera supprimée une fois l'installation terminée)
- Depuis votre navigateur, allez à la page "install/" de dolibarr
LURL dépendra de la façon dont votre configuration Web a été configurée pour pointer vers votre installation de dolibarr. Cela peut ressembler à:
`http://localhost/dolibarr/htdocs/install/`
ou
`http://localhost/dolibarr/install/`
ou
`http://yourdolibarrvirtualhost/install/`
- Suivez les instructions de l'installateur
## METTRE A JOUR DOLIBARR
Pour mettre à jour Dolibarr depuis une vieille version vers celle ci:
- Faites une sauvegarde de votre instance [voir ce tutorial](https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr)
- Vérifiez que la nouvelle version est compatible avec la version PHP de votre serveur [voir PHP support](https://wiki.dolibarr.org/index.php/Releases).
- Ecrasez les vieux fichiers dans le vieux répertoire 'dolibarr' par les fichiers
fournis dans ce nouveau package.
- Au prochain accès, Dolibarr proposera la page de "mise à jour" des données (si nécessaire).
Si un fichier install.lock existe pour verrouiller le processus de mise à jour, il sera demandé de le supprimer manuellement (vous devriez trouver le fichier install.lock dans le répertoire utilisé pour stocker les documents générés ou transférés sur le serveur. Dans la plupart des cas, c'est le répertoire appelé "documents")
Note: *Le processus de migration peut être lancé manuellement et plusieurs fois, sans risque, en appelant la page /install/*
## CE QUI EST NOUVEAU
Voir le fichier [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog).
## CE QUE DOLIBARR PEUT FAIRE
### Modules principaux (tous optionnels)
- Annuaires des prospects et/ou client et/ou fournisseurs
- Gestion de catalogue de produits et services
- Gestion des devis, propositions commerciales
- Gestion des commandes
- Gestion des factures clients/fournisseurs et paiements
- Gestion des virements bancaires SEPA
- Gestion des comptes bancaires
- Calendrier/Agenda partagé (avec export ical, vcal)
- Suivi des opportunités et/ou projets (suivi de rentabilité incluant les factures, notes de frais, temps consommé valorisé, ...)
- Gestion de contrats de services
- Gestion de stock et inventaires
- Gestion des expéditions
- Gestion des demandes de congés
- Gestion des notes de frais
- Gestion de recrutement
- GED (Gestion Electronique de Documents)
- E-Mailings de masse
- Réalisation de sondages
- Gestion d'adhérents
- Point de vente/Caisse enregistreuse
- … (près de 100 modules disponibles en standard, près de 1000 autre sur la place de marché d'extensions)
### Autres modules
- Gestion de marque-pages
- Gestion des promesses de dons
- Rapports
- Imports/Exports des données
- Support des codes barres
- Calcul des marges
- Connectivité LDAP
- Intégration de ClickToDial
- Intégration RSS
- Intégration Skype
- Intégration de système de paiements (PayPal, Stripe, Paybox...)
-
### Divers
- Multi-langue.
- Multi-utilisateurs avec différents niveaux de permissions par module.
- Multidevise.
- Peux être multi-société par ajout du module externe multi-société.
- Plusieurs thèmes visuels.
- Application simple à utiliser.
- Requiert PHP et MariaDb, Mysql ou Postgresql (Voir versions exactes sur [https://wiki.dolibarr.org/index.php/Prérequis](https://wiki.dolibarr.org/index.php/Prérequis)).
- Compatible avec toutes les offres Cloud du marché respectant les prérequis de base de données et PHP.
- APIs.
- Génération PDF et ODT des éléments (factures, propositions commerciales, commandes, bons expéditions, etc...)
- Code simple et facilement personnalisable (pas de framework lourd; mécanisme de hook et triggers).
- Support natif de nombreuses fonctions spécifiques aux pays comme:
- La taxe espagnole TE et ISPF
- Gestion de la TVA NPR (non perçue récupérable - pour les utilisateurs français des DOM-TOM)
- La loi française Finance 2016 et logiciels de caisse
- La double taxe canadienne
- Le timbre fiscal tunisien
- Numérotation de facture de l'argentines (avec type A,B,C...)
- Compatible avec vos processus RGPD
- ...
-
### Extension
Dolibarr peut aussi être étendu à volonté avec l'ajout de modules/applications externes développées par des développeurs tiers, disponible sur [DoliStore](https://www.dolistore.com).
## CE QUE DOLIBARR NE PEUT PAS (ENCORE) FAIRE
Voici un liste de fonctionnalités pas encore gérées par Dolibarr:
- Dolibarr ne contient pas de module de génération de feuille de paie.
- Les tâches du module de gestion de projets n'ont pas de dépendances entre elle.
- Dolibarr n'embarque pas de Webmail intégré nativement.
- Dolibarr ne fait pas le café (pas encore).
## DOCUMENTATION
La documentation utilisateur, développeur et traducteur est disponible sous forme de ressources de la communauté via le site [Wiki](https://wiki.dolibarr.org).
## CONTRIBUER
Ce projet existe grâce à ses nombreux contributeurs [[Contribuer](https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md)].
[![Dolibarr](https://opencollective.com/dolibarr/contributors.svg?width=890&button=false)](https://github.com/Dolibarr/dolibarr/graphs/contributors)
## CREDITS
Dolibarr est le résultat du travail de nombreux contributeurs depuis des années et utilise des librairies d'autres contributeurs.
Voir le fichier [COPYRIGHT](https://github.com/Dolibarr/dolibarr/blob/develop/COPYRIGHT)
## ACTUALITES ET RESEAUX SOCIAUX
Suivez le projet Dolibarr sur les réseaux francophones
- [Facebook](https://www.facebook.com/dolibarr.fr)
- [X](https://www.twitter.com/dolibarr_france)
ou sur les réseaux anglophones
- [Facebook](https://www.facebook.com/dolibarr)
- [X](https://www.twitter.com/dolibarr)
- [LinkedIn](https://www.linkedin.com/company/association-dolibarr)
- [YouTube](https://www.youtube.com/user/DolibarrERPCRM)
- [GitHub](https://github.com/Dolibarr/dolibarr)

View File

@@ -34,12 +34,12 @@ There is a lot of different solutions to install Dolibarr.
### Using packages
If you have low technical skills and you're looking to install Dolibarr ERP/CRM with just few clicks, you can use one of the packaged versions (see next chapter if you have IT knowledge) :
If you have low technical skills and you're looking to install Dolibarr ERP/CRM with just a few clicks, you can use one of the packaged versions:
- [DoliWamp for Windows](https://wiki.dolibarr.org/index.php/Dolibarr_for_Windows_(DoliWamp))
- [DoliDeb for Debian, Ubuntu](https://wiki.dolibarr.org/index.php/Dolibarr_for_Ubuntu_or_Debian)
- [DoliDeb for Debian](https://wiki.dolibarr.org/index.php/Dolibarr_for_Ubuntu_or_Debian)
- DoliRpm for Red Hat, Fedora, OpenSuse, Mandriva or Mageia
- The Docker image (see chapter "Using Docker")
- The Docker image (see next chapter)
Releases can be downloaded from [official website](https://www.dolibarr.org/).
@@ -116,7 +116,6 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
- Product Variants
- Bill of Materials (BOM)
- Manufacturing Orders (MO)
- Workstations / Workplaces
Customer/Sales Management
@@ -176,13 +175,12 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
- Data export/import
- Barcodes
- LDAP connectivity
- Click-To-Dial integration
- ClickToDial integration
- Mass emailing
- RSS integration
- Social platforms linking
- Payment platforms integration (PayPal, Stripe, Paybox...)
- Email-Collector
- AI support via API
(around 100 modules available by default, 1000+ addons at the official marketplace Dolistore.com)
@@ -239,7 +237,7 @@ These are features that Dolibarr does **not** yet fully support:
Administrator, user, developer and translator's documentation are available along with other community resources in the [Wiki](https://wiki.dolibarr.org).
## CONTRIBUTING AND RELEASE PROCESS
## CONTRIBUTING
This project exists thanks to all the people who contribute.
Please read the instructions on how to contribute (report a bug/error, a feature request, send code, ...) [[Contributing](https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md)]
@@ -248,8 +246,6 @@ A View on Contributors:
[![Dolibarr](https://opencollective.com/dolibarr/contributors.svg?width=890&button=false)](https://github.com/Dolibarr/dolibarr/graphs/contributors)
The release process is described into the file dev/build/makepack-howto.md
## CREDITS
@@ -262,12 +258,9 @@ See [COPYRIGHT](https://github.com/Dolibarr/dolibarr/blob/develop/COPYRIGHT) fil
Follow Dolibarr project on:
- [LinkedIn](https://www.linkedin.com/company/association-dolibarr)
- [Mastodon](https://pouet.chapril.org/@dolibarr)
- [BlueSky](https://bsky.app/profile/dolibarr.org)
- [Threads](https://www.threads.net/@dolibarr)
- [X](https://x.com/dolibarr)
- [Facebook](https://www.facebook.com/dolibarr)
- [X](https://x.com/dolibarr)
- [LinkedIn](https://www.linkedin.com/company/association-dolibarr)
- [Reddit](https://www.reddit.com/r/Dolibarr_ERP_CRM/)
- [YouTube](https://www.youtube.com/user/DolibarrERPCRM)
- [GitHub](https://github.com/Dolibarr/dolibarr)

View File

@@ -24,8 +24,7 @@ To report a vulnerability, for a private report, you can:
We believe that the future of software is online SaaS. This means software are more and more critical and no technology is perfect. Working with skilled security researchers is crucial in identifying weaknesses in our technology.
If you believe you've found a security bug in our service, we are happy to work with you to resolve the issue promptly.
We plan to re-open our bug bounty program (closed in end of 2024) in the future, but this is not yet available.
If you believe you've found a security bug in our service, we are happy to work with you to resolve the issue promptly and ensure you are fairly rewarded for your discovery.
Any type of denial-of-service attack is strictly forbidden, as well as any interference with network equipment and Dolibarr infrastructure.
@@ -110,7 +109,8 @@ Scope is the web application (backoffice) and the APIs.
* Software or libraries versions, private IP disclosure, Stack traces or path disclosure when logged-in user is admin.
* Vulnerabilities affecting outdated browsers or platforms, or vulnerabilities inside browsers themself.
* Brute force attacks on login page, password forgotten page or any public pages (/public/*) are not qualified if the recommended fail2ban rules were not installed.
* SSL/TLS practices (cypher enabled or not)
* SSL/TLS best practices
* Invalid or missing SPF (Sender Policy Framework) records (Incomplete or missing SPF/DKIM/DMARC)
* Physical or social engineering attempts or issues that require physical access to a victims computer/device
* Vulnerabilities of type XSS exploited by using javascript into a website page of the website module or by using php code into a website page (being able to set javascript or php code is the expected behaviour in the website module), except if the user does not have the permission to edit page or php code.
* Vulnerabilities of type XSS exploited by using javascript into a website page (with permission to edit website pages) or by using php code into a website page
using the permission to edit php code are not qualified, except if this allow to get higher privileges (being able to set javascript or php code is the expected behaviour).

View File

@@ -1,6 +1,6 @@
README (English)
Path: /dolibarr/dev/build/README
Path: /dolibarr/build/README
##################################################
Building packages

View File

@@ -37,3 +37,4 @@ 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

1
build/debian/compat Normal file
View File

@@ -0,0 +1 @@
10

View File

@@ -235,3 +235,4 @@ $dolibarr_main_prod='0';
# dolibarr_main_distrib
# A key to identify the distribution used for first installation
$dolibarr_main_distrib = 'debian';

View File

View File

View File

View File

@@ -102,3 +102,4 @@ 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) ?

View File

@@ -0,0 +1 @@
[type: gettext/rfc822deb] dolibarr.templates

View File

@@ -81,16 +81,16 @@ override_dh_install:
rm -fr test
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
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
# clean from all PHP embedded libraries (we use package dependencies instead)
# rm -fr htdocs/includes/geoip
@@ -128,3 +128,4 @@ 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

View File

@@ -0,0 +1 @@
3.0 (quilt)

View File

@@ -14,3 +14,4 @@ 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

View File

@@ -23,12 +23,11 @@ RUN apt-get update -y \
msmtp \
msmtp-mta \
mailutils \
libpq-dev \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) calendar intl mysqli pdo_mysql pgsql gd soap zip \
&& docker-php-ext-configure ldap \
&& docker-php-ext-install -j$(nproc) calendar intl mysqli pdo_mysql gd soap zip \
&& docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
&& docker-php-ext-install -j$(nproc) ldap && \
mv ${PHP_INI_DIR}/php.ini-development ${PHP_INI_DIR}/php.ini

View File

@@ -0,0 +1,34 @@
# How to use it ?
The docker-compose.yml file is a sample of a config file to use to build and run Dolibarr in the current workspace with Docker.
This docker image is intended for development usage.
For production usage you should consider other contributor reference like https://hub.docker.com/r/dolibarr/dolibarr
Before build/run, define the variable HOST_USER_ID as following:
export HOST_USER_ID=$(id -u)
Go in repository build/docker :
cd build/docker
And then, you can run :
docker-compose up
This will run 4 containers Docker : Dolibarr, MariaDB, PhpMyAdmin and MailDev.
The URL to go to the Dolibarr is :
http://0.0.0.0
The URL to go to PhpMyAdmin is (login/password is root/root) :
http://0.0.0.0:8080
In Dolibarr configuration Email let PHP mail function, To see all mail send by Dolibarr go to maildev
http://0.0.0.0:8081
Setup the database connection during the installation process, please use mariadb (name of the database container) as database host.
Setup documents folder, during the installation process, to /var/documents

View File

@@ -1,4 +1,5 @@
---
version: '3'
networks:
internal-pod:
internal: true
@@ -16,6 +17,19 @@ services:
networks:
- internal-pod
- external-pod
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: mariadb
depends_on:
- mariadb
ports:
- "8080:80"
networks:
- internal-pod
- external-pod
web:
build: .
environment:
@@ -23,12 +37,13 @@ services:
PHP_INI_DATE_TIMEZONE: $PHP_INI_DATE_TIMEZONE
PHP_INI_MEMORY_LIMIT: $PHP_INI_MEMORY_LIMIT
volumes:
- ../../../htdocs:/var/www/html/
- ../../../documents:/var/www/documents
- ../../htdocs:/var/www/html/
- ../../documents:/var/documents
ports:
- "80:80"
- "9000:9000"
depends_on:
- mariadb
- mail
networks:
- internal-pod

View File

@@ -1,21 +1,24 @@
#!/bin/bash
# Script used by the Dockerfile.
# See README.md to know how to create a Dolibarr env with docker
set -ex
if [ "${HOST_USER_ID}" == "" ]; then
echo "Define HOST_USER_ID to your user ID before starting"
exit 1
fi
usermod -u "${HOST_USER_ID}" www-data
groupmod -g "${HOST_USER_ID}" www-data
chgrp -hR www-data /var/www/html
chmod g+rwx /var/www/html/conf
if [ ! -d /var/documents ]; then
echo "[docker-run] => create volume directory /var/documents ..."
mkdir -p /var/documents
fi
echo "[docker-run] => Set Permission to www-data for /var/documents"
chown -R www-data:www-data /var/documents
echo "[docker-run] => update '${PHP_INI_DIR}/conf.d/dolibarr-php.ini'"
cat <<EOF > "${PHP_INI_DIR}/conf.d/dolibarr-php.ini"
date.timezone = ${PHP_INI_DATE_TIMEZONE:-UTC}
memory_limit = ${PHP_INI_MEMORY_LIMIT:-256M}
display_errors = Off
EOF
exec apache2-foreground

View File

@@ -19,7 +19,7 @@ my $dir = getcwd;
print "Current dir is: $dir\n";
#print "Running dir for doxygen must be: $DIR\n";
if (! -s "dev/build/doxygen/$CONFFILE")
if (! -s "build/doxygen/$CONFFILE")
{
print "Error: current directory for building Dolibarr doxygen documentation is not correct.\n";
print "\n";
@@ -47,8 +47,8 @@ $version=$MAJOR.".".$MINOR.".".$BUILD;
print "Running doxygen for version ".$version.", please wait...\n";
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 "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 $result;

View File

@@ -41,7 +41,7 @@ PROJECT_NUMBER = x.y.z
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = dev/build
OUTPUT_DIRECTORY = build
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output
@@ -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 = dev/build/html/doxygen_warnings.log
WARN_LOGFILE = build/html/doxygen_warnings.log
#---------------------------------------------------------------------------
# configuration options related to the input files
@@ -804,14 +804,14 @@ HTML_FILE_EXTENSION = .html
# standard header.
# Does not work with 1.7.3
#HTML_HEADER = dev/build/doxygen/doxygen_header.html
#HTML_HEADER = 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 = dev/build/doxygen/doxygen_footer.html
HTML_FOOTER = 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
@@ -1655,4 +1655,4 @@ DOT_CLEANUP = YES
FULL_SIDEBAR = NO
HTML_EXTRA_STYLESHEET = dev/build/doxygen/doxygen-awesome.css
HTML_EXTRA_STYLESHEET = build/doxygen/doxygen-awesome.css

View File

@@ -48,3 +48,5 @@
</div>
<!-- End doxygen_header.html -->

Some files were not shown because too many files have changed in this diff Show More