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

@@ -70,9 +70,9 @@ all_changed_files=$(IFS=" " ; echo "${changed_php_files[*]}")
# Determine changed files flag
if [ -z "$all_changed_files" ]; then
any_changed="false"
any_changed="false"
else
any_changed="true"
any_changed="true"
fi
# Set outputs for GitHub Actions if GITHUB_OUTPUT is available

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

@@ -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';"
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"
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/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
@@ -245,7 +245,7 @@ jobs:
# The wget should return a page with line '<meta name="generator" content="Dolibarr installer">
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,4 +361,5 @@ 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

View File

@@ -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 < 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 -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/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
@@ -200,7 +200,7 @@ jobs:
# The wget should return a page with line '<meta name="generator" content="Dolibarr installer">
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,9 +325,10 @@ 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 .

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,13 +1,13 @@
README (English)
Path: /dolibarr/dev/build/README
Path: /dolibarr/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

View File

@@ -5,7 +5,7 @@
update-alternatives --config php
* To list packages
* To list packages
cd htdocs/includes/diroflib
composer install
@@ -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

View File

@@ -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.

View File

@@ -2,5 +2,5 @@ dolibarr (__VERSION__) UNRELEASED; urgency=low
[ Laurent Destailleur (eldy) ]
* New upstream release.
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 12 May 2015 12:00:00 +0100
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 12 May 2015 12:00:00 +0100

1
build/debian/compat Normal file
View File

@@ -0,0 +1 @@
10

View File

@@ -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,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

@@ -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.
.

View File

@@ -38,7 +38,7 @@ Copyright: 2002-2009, Rodolphe Quiedeville <rodolphe@quiedeville.org>
2011, Herve Prot <herve.prot@symeos.com>
2011, Remy Younes <ryounes@gmail.com>
2012-2013, Christophe Battarel <christophe.battarel@altairis.fr>
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 <eldy@users.sourceforge.net>
License: GPL-2+
This program is free software; you can redistribute it

View File

View File

@@ -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

View File

@@ -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/
doc/index.html usr/share/doc/dolibarr/

View File

@@ -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
dolibarr: apache2-reverse-dependency-calls-wrapper-script postinst a2enconf

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

@@ -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='';

View File

@@ -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

View File

@@ -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(

View File

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

View File

@@ -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 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
# rm -fr htdocs/includes/nusoap
@@ -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

@@ -4,4 +4,4 @@ DOLIMAMP Package tools
##################################################
This directory contains files and docs used to build
a DoliMamp package for Mac OS X.
a DoliMamp package for Mac OS X.

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";
@@ -27,7 +27,7 @@ if (! -s "dev/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 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

@@ -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;

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
@@ -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 = dev/build/html/doxygen_warnings.log
WARN_LOGFILE = 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 = 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
@@ -820,7 +820,7 @@ HTML_FOOTER = dev/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
# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
# Qt Help Project / Custom Filters</a>.
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 =
# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
# Qt Help Project / Filter Attributes</a>.
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 = dev/build/doxygen/doxygen-awesome.css
HTML_EXTRA_STYLESHEET = build/doxygen/doxygen-awesome.css

View File

@@ -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;
}

View File

@@ -1,4 +1,4 @@
<!--
<!--
File added into doxygen generated documentation
-->
@@ -23,4 +23,4 @@ File added into doxygen generated documentation
</script>
</body>
</html>
</html>

View File

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

View File

@@ -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?

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