diff --git a/.editorconfig b/.editorconfig index 3e3bd16bb34..7df89a90eb3 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,8 +9,6 @@ charset = utf-8 end_of_line = lf insert_final_newline = true -# PHP PSR-2 Coding Standards -# http://www.php-fig.org/psr/psr-2/ [*.php] indent_style = tab indent_size = 4 diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 19c076242f8..fed73d7b002 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -4,7 +4,7 @@ How to contribute to Dolibarr Bug reports and feature requests -------------------------------- -*Note*: Issues are not a support forum. If you need help using the software, please use [the forums](http://www.dolibarr.org/forum). +*Note*: Issues are not a support forum. If you need help using the software, please use [the forums](https://www.dolibarr.org/forum). Issues are managed on [GitHub](https://github.com/Dolibarr/dolibarr/issues). @@ -101,32 +101,35 @@ Long description (Can span accross multiple lines). ### Pull Requests -When submitting a pull request, use same rule as [Commits](#commits) for the message. +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... -If your pull request only contains one commit, GitHub will be smart enough to fill it for you. -Otherwise, please be a bit verbose about what you're providing. +* 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. + +* When submitting a pull request, use same rule as [Commits](#commits) for the message. If your pull request only contains 1 commit, GitHub will be smart enough to fill it for you. Otherwise, please be a bit verbose about what you're providing. -Your Pull Request (PR) must pass the Continuous Integration checks. Also, some code changes need a prior approbation: -* if you want to include a new external library (into htdocs/includes directory), please ask before to the project manager (@eldy) to see if such a library can be accepted. +* if you want to include a new external library (into htdocs/includes directory), please ask before to the core project manager (mention @dolibarr-yoda in your issue) to see if such a library can be accepted. -* if you add a new table, you must first create a page on http://wiki.dolibarr.org/index.php/Category:Table_SQL (copy an existing page changing its name to see it into this index page). Than ask the project manager (@eldy) if the new data model you plan to add can be accepted as you suggest. +* if you add a new table, you must first create a page on https://wiki.dolibarr.org/index.php/Category:Table_SQL (copy an existing page changing its name to see it into this index page). Then ask the project manager (@dolibarr-yoda) if the new data model you plan to add is compatible with curent and future works in progress and can be accepted as you suggest. -Once a PR has been submitted, you may need to wait for its integration. It is common that the project leader let the PR open for a long delay to allow every developer discuss about the PR. +Once a PR has been submitted, you may need to wait for its integration. It is common that the project leader let the PR open for a long delay to allow every developer discuss about the PR (A label is added in such a case). -If the label of PR start with "WIP" (Work In Progress), it will not be analyzed (until you change the label of PR). +If the label of PR start with "Draft" or "WIP" (Work In Progress), it will not be analyzed for merging until you change the label of PR (but it can be analyzed for discussion). If your PR has errors reported by the Continuous Integration Platform, it means your PR is not valid and nothing will be done with it. It will be kept open to allow developers to fix this, or it may be closed several month later. Don't expect anything on your PR if you have such errors, you MUST first fix the Continuous Integration error to have it taken into consideration. If the PR is valid, and is kept open for a long time, a tag will also be added on the PR to describe the status of your PR and why the PR is kept open. By putting your mouse on the tag, you will get a full explanation of the tag/status that explain why your PR has not been integrated yet. -In most cases, it gives you information of things you have to do to have the PR taken into consideration (for example a change is requested, a conflict is expected to be solved, some questions were asked). If you have a yellow, red flag of purple flag, don't expect to have your PR validated. You must first provide the answer the flag ask you. The majority of PR are waiting an action of the developer/author. +In most cases, it gives you information of things you have to do to have the PR taken into consideration (for example a change is requested, a conflict is expected to be solved, some questions were asked). If you have a yellow, red flag of purple flag, don't expect to have your PR validated. You must first provide the answer the tag ask you. The majority of open PR are waiting an action of the author of the PR. -Statistics on Dolibarr project shows that around 95% of submitted PR are reviewed and tagged. This is one of the most important ratio of answered PR in Open Source world. Don't expect the core team to reach the 100%. With the increasing popularity of Dolibarr, this ratio will probably decrease in future. +Statistics on Dolibarr project shows that 95% of submitted PR are reviewed and tagged. Average answer delay is also one of the best among Open source projects (just few days before having the Answer Tag set). This is one of the most important ratio of answered PR in Open Source world for a major project. Don't expect the core team to reach the 100%. A so high ratio is very rare on a so popular project and with the increasing popularity of Dolibarr, this ratio will probably decrease in future to a more common level. ### Resources -[Developer documentation](http://wiki.dolibarr.org/index.php/Developer_documentation) +[Developer documentation](https://wiki.dolibarr.org/index.php/Developer_documentation) Translations ------------ @@ -142,11 +145,11 @@ to retreive all old translation of a source text, and restore the translation in ### Resources -[Translator documentation](http://wiki.dolibarr.org/index.php/Translator_documentation) +[Translator documentation](https://wiki.dolibarr.org/index.php/Translator_documentation) Documentation ------------- -The project's documentation is maintained on the [Wiki](http://wiki.dolibarr.org/index.php). +The project's documentation is maintained on the [Wiki](https://wiki.dolibarr.org/index.php). *Note*: to help prevent spam, you need to create an account before being able to edit. Everybody is welcome to contribute to its content. diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md new file mode 100644 index 00000000000..48d5f81fa42 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/custom.md @@ -0,0 +1,10 @@ +--- +name: Custom issue template +about: Describe this issue template's purpose here. +title: '' +labels: '' +assignees: '' + +--- + + diff --git a/.github/workflows/greetings-pr.yml.disabled b/.github/workflows/greetings-pr.yml.disabled new file mode 100644 index 00000000000..2a930929a6d --- /dev/null +++ b/.github/workflows/greetings-pr.yml.disabled @@ -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)' diff --git a/.github/workflows/stale-issues-safe.yml b/.github/workflows/stale-issues-safe.yml new file mode 100644 index 00000000000..ed37c9aadc2 --- /dev/null +++ b/.github/workflows/stale-issues-safe.yml @@ -0,0 +1,24 @@ +# See syntax file on https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions +name: "Close stale issues (bugs and feature requests)" + +on: + schedule: + - cron: "0 21 * * *" + issue_comment: + types: [created] + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: Dolibarr/stale@staleunstale + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-message: 'This issue is stale because it has been open 1 year with no activity. If this is a bug, please comment to confirm it is still present on latest stable version. if this is a feature request, please comment to notify the request is still relevant and not yet covered by latest stable version. This issue may be closed automatically by stale bot in 15 days (you should still be able to re-open it if required).' + stale-label: 'Issue Stale (automatic label)' + exempt-labels: 'Priority High / Blocking,Priority Top Strategic,Priority Medium,Hacktoberfest,good first issue,Bug Security (CVE),Analysis of PR in progres' + days-before-stale: 365 + days-before-close: 15 + operations-per-run: 100 + dry-run: false + \ No newline at end of file diff --git a/.github/workflows/stale-issues.yml.disabled b/.github/workflows/stale-issues.yml.disabled new file mode 100644 index 00000000000..6e7dad5dc9b --- /dev/null +++ b/.github/workflows/stale-issues.yml.disabled @@ -0,0 +1,25 @@ +# See syntax file on https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions +name: "Close stale issues (bugs and feature requests)" + +on: + schedule: + - cron: "0 20 * * *" + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: Dolibarr/stale@master + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'This issue is stale because it has been open 1 year with no activity. If this is a bug, please comment to confirm it is still present on latest stable version. if this is a feature request, please comment to notify the request is still relevant and not yet covered by latest stable version. This issue may be closed automatically by stale bot in 15 days (you should still be able to re-open it if required).' + stale-issue-label: 'Issue Stale (automatic label)' + exempt-issue-label: 'Priority High / Blocking' + days-before-stale: 365 + days-before-close: -1 + operations-per-run: 100 + #stale-pr-message: 'This PR is stale because it has been open 1 year with no activity. If this PR is still mergeable (no conflict, nor Continuous Integration errors), please comment to confirm this merge is still expected. Without comment, this issue will be closed automatically by stale bot in 15 days.' + stale-pr-label: 'PR Stale (automatic label)' + stale-pr-message: + exempt-pr-label: 'Priority Top Strategic' + \ No newline at end of file diff --git a/.gitignore b/.gitignore index ffacba65feb..30151359365 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ htdocs/includes/sebastian/ htdocs/includes/squizlabs/ htdocs/includes/symfony/ htdocs/includes/webmozart/ +htdocs/.well-known/apple-developer-merchantid-domain-association diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 7c43ab24aef..6dbf39bde26 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -194,22 +194,6 @@ tools: - 'test/*' - 'htdocs/includes/*' paths: { } - - php_changetracking: - enabled: false - bug_patterns: - - '\bfix(?:es|ed)?\b' - feature_patterns: - - '\badd(?:s|ed)?\b' - - '\bimplement(?:s|ed)?\b' - filter: - excluded_paths: - - 'build/*' - - 'dev/*' - - 'doc/*' - - 'test/*' - - 'htdocs/includes/*' - paths: { } # Coding-Style / Bug Detection js_hint: diff --git a/.travis.yml b/.travis.yml index 1cd0a40bf82..688d706331d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,9 +2,9 @@ # from Dolibarr GitHub repository. # For syntax, see http://about.travis-ci.org/docs/user/languages/php/ -# We use dist: trusty to have php 5.4+ available +# We use dist: xenial to have php 5.6+ available os: linux -dist: trusty +dist: xenial sudo: required language: php @@ -12,14 +12,16 @@ language: php # Start on every boot services: - memcached +- mysql +- postgresql addons: - mariadb: '10.0' - postgresql: '9.3' + # Force postgresql to 9.4 (the oldest availablable on xenial) + postgresql: '9.4' apt: sources: - # To use the last version of pgloader, we add repo of postgresql - - pgdg-trusty + # To use the last version of pgloader, we add repo of postgresql with a name available in http://apt.postgresql.org/pub/repos/apt/ + - pgdg-xenial packages: # We need a webserver to test the webservices # Let's install Apache with. @@ -30,7 +32,6 @@ addons: - pgloader php: -- '5.5' - '5.6' - '7.0' - '7.1' @@ -45,11 +46,9 @@ env: - DEBUG=false jobs: # MariaDB overrides MySQL installation so it's not possible to test both yet - #- DB=mysql - - DB=mariadb + #- DB=mariadb + - DB=mysql - DB=postgresql - # TODO - #- DB=sqlite # See https://docs.travis-ci.com/user/languages/php/#Apache-%2B-PHP #- WS=apache # See https://github.com/DracoBlue/travis-ci-nginx-php-fpm-test @@ -61,18 +60,14 @@ jobs: - php: nightly # We exclude some combinations not usefull to save Travis CPU exclude: - - php: '5.6' - env: DB=mariadb - php: '7.0' - env: DB=mariadb + env: DB=mysql - php: '7.1' - env: DB=mariadb + env: DB=mysql - php: '7.2' - env: DB=mariadb + env: DB=mysql - php: '7.3' - env: DB=mariadb - - php: '5.6' - env: DB=postgresql + env: DB=mysql - php: '7.0' env: DB=postgresql - php: '7.1' @@ -189,32 +184,31 @@ before_script: # Check Apache version echo "Apache version" apache2 -v | head - - # Check MariaDb - echo "MariaDb version" + # Check Database + echo "Database version" mysql --version | head - mysql -e "SELECT VERSION();" | head - + psql --version echo - | echo "Setting up database" if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ] || [ "$DB" = 'postgresql' ]; then echo "MySQL" - mysql -e 'DROP DATABASE IF EXISTS travis;' - mysql -e 'CREATE DATABASE IF NOT EXISTS travis;' - mysql -e 'GRANT ALL PRIVILEGES ON travis.* TO travis@127.0.0.1;' - mysql -e 'FLUSH PRIVILEGES;' - mysql -D travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql + mysql -u root -e 'DROP DATABASE IF EXISTS travis;' + mysql -u root -e 'CREATE DATABASE IF NOT EXISTS travis;' + mysql -u root -e 'GRANT ALL PRIVILEGES ON travis.* TO travis@127.0.0.1;' + mysql -u root -e 'FLUSH PRIVILEGES;' + mysql -u root -D travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql fi if [ "$DB" = 'postgresql' ]; then - #pgsql travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql - #pgloader mysql://root:pass@127.0.0.1/dolibarr_9 postgresql://dolibarrowner:dolibarrownerpass@127.0.0.1/dolibarr_dev - echo pgloader mysql://root@127.0.0.1/travis postgresql:///travis - pgloader mysql://root@127.0.0.1/travis postgresql:///travis - echo 'ALTER SEQUENCE llx_accountingaccount_rowid_seq RENAME TO llx_accounting_account_rowid_seq' | psql travis - echo 'ALTER SEQUENCE llx_accounting_account_rowid_seq RESTART WITH 1000001;' | psql travis - #echo 'select * from INFORMATION_SCHEMA.COLUMNS where table_name = 'llx_accountingaccount' | psql travis - #echo 'select * from information_schema.table_constraints;' | psql travis - #echo 'ALTER TABLE "llx_accounting_account" DROP CONSTRAINT "idx_16390_primary"' | psql travis + #psql -c 'create database travis;' -U postgres + #psql travis < dev/initdemo/mysqldump_dolibarr_3.5.0.sql + #pgloader mysql://root:pass@127.0.0.1/dolibarr_src postgresql://dolibarrowner:dolibarrownerpass@127.0.0.1/dolibarr_dest + echo pgloader mysql://root@127.0.0.1/travis postgresql://postgres@/travis + pgloader mysql://root@127.0.0.1/travis postgresql://postgres@/travis + echo 'ALTER SEQUENCE llx_accountingaccount_rowid_seq RENAME TO llx_accounting_account_rowid_seq' | psql -U postgres travis + echo 'ALTER SEQUENCE llx_accounting_account_rowid_seq RESTART WITH 1000001;' | psql -U postgres travis fi echo @@ -263,10 +257,7 @@ before_script: - sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars - sudo chown -R travis:travis /var/lib/apache2/fastcgi - ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm - # configure apache virtual hosts for precise - #- sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/default - #- sudo cat /etc/apache2/sites-available/default - # configure apache virtual hosts for trusty + # configure apache virtual hosts - 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 @@ -291,7 +282,7 @@ script: # Ensure we catch errors set -e #parallel-lint --exclude htdocs/includes --blame . - parallel-lint --exclude dev/namespacemig --exclude htdocs/includes/myclabs --exclude htdocs/includes/webmozart --exclude htdocs/includes/phpspec --exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/phpexcel/Classes/PHPExcel/Shared --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian --exclude htdocs/includes/squizlabs/php_codesniffer/tests --exclude htdocs/includes/jakub-onderka/php-parallel-lint/tests --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/php-token-stream/tests --exclude htdocs/includes/composer/autoload_static.php --blame . + parallel-lint --exclude dev/namespacemig --exclude htdocs/includes/myclabs --exclude htdocs/includes/webmozart --exclude htdocs/includes/phpspec --exclude dev/initdata/dbf/includes --exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/phpexcel/Classes/PHPExcel/Shared --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian --exclude htdocs/includes/squizlabs/php_codesniffer --exclude htdocs/includes/jakub-onderka --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/ --exclude htdocs/includes/composer/autoload_static.php --blame . set +e echo @@ -407,9 +398,12 @@ script: php upgrade.php 9.0.0 10.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade9001000.log php upgrade2.php 9.0.0 10.0.0 > $TRAVIS_BUILD_DIR/upgrade9001000-2.log php step5.php 9.0.0 10.0.0 > $TRAVIS_BUILD_DIR/upgrade9001000-3.log - php upgrade.php 10.0.0 11.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade9001000.log - php upgrade2.php 10.0.0 11.0.0 > $TRAVIS_BUILD_DIR/upgrade9001000-2.log - php step5.php 10.0.0 11.0.0 > $TRAVIS_BUILD_DIR/upgrade9001000-3.log + php upgrade.php 10.0.0 11.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade10001100.log + php upgrade2.php 10.0.0 11.0.0 > $TRAVIS_BUILD_DIR/upgrade10001100-2.log + php step5.php 10.0.0 11.0.0 > $TRAVIS_BUILD_DIR/upgrade10001100-3.log + php upgrade.php 11.0.0 12.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade11001200.log + php upgrade2.php 11.0.0 12.0.0 > $TRAVIS_BUILD_DIR/upgrade11001200-2.log + php step5.php 11.0.0 12.0.0 > $TRAVIS_BUILD_DIR/upgrade11001200-3.log # Enable modules not enabled into original dump php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKETSUP,MAIN_MODULE_ACCOUNTING > $TRAVIS_BUILD_DIR/enablemodule.log echo $? @@ -456,7 +450,7 @@ after_failure: # Dolibarr log file echo "Debugging informations for file dolibarr.log (latest 50 lines)" tail -n 50 $TRAVIS_BUILD_DIR/documents/dolibarr.log - # MariaDB log file + # Database log file echo "Debugging informations for file mysql error.log" sudo tail -n 50 /var/log/mysql/error.log # TODO: PostgreSQL log file diff --git a/COPYRIGHT b/COPYRIGHT index fe707c1d63d..2964c915ec1 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -16,8 +16,8 @@ AdoDb-Date 0.36 Modified BSD License Yes CKEditor 4.12.1 LGPL-2.1+ Yes Editor WYSIWYG EvalMath 1.0 BSD Yes Safe math expressions evaluation Escpos-php 2.2 MIT License Yes Thermal receipt printer library, for use with ESC/POS compatible printers -GeoIP 1.4 LGPL-2.1+ Yes Sample code to make geoip convert (not into deb package) -Mobiledetect 2.8.33 MIT License Yes Detect mobile devices browsers +GeoIP2 0.2.0 LGPL-2.1+ Yes Lib to make geoip convert +Mobiledetect 2.8.34 MIT License Yes Detect mobile devices browsers NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package) PEAR Mail_MIME 1.8.9 BSD Yes NuSoap dependency ParseDown 1.6 MIT License Yes Markdown parser @@ -32,18 +32,18 @@ PSR/simple-cache ? Library for cache (used by PHPSp Restler 3.0.0RC6 LGPL-3+ Yes Library to develop REST Web services (+ swagger-ui js lib into dir explorer) Sabre 3.2.2 BSD Yes DAV support Swift Mailer 5.4.2-DEV MIT license Yes Comprehensive mailing tools for PHP -Stripe 6.41 MIT licence Yes Library for Stripe module +Stripe 6.43.1 MIT licence Yes Library for Stripe module TCPDF 6.3.2 LGPL-3+ Yes PDF generation TCPDI 1.0.0 LGPL-3+ / Apache 2.0 Yes FPDI replacement JS libraries: -Ace 1.4.6 BSD Yes JS library to get code syntaxique coloration in a textarea. +Ace 1.4.8 BSD Yes JS library to get code syntaxique coloration in a textarea. +ChartJS 2.9.3 MIT License Yes JS library for graph jQuery 3.4.1 MIT License Yes JS library jQuery UI 1.12.1 GPL and MIT License Yes JS library plugin UI -jQuery select2 4.0.5 GPL and Apache License Yes JS library plugin for sexier multiselect +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 Flot 0.8.3 MIT License Yes JS library to build graph 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) jQuery jNotify 1.1.00 Apache Software License 2.0 Yes JS library plugin jNotify (to use ajax popups) @@ -60,7 +60,7 @@ Image libraries: Octicons 8.1 MIT Yes Font libraries: -Fontawesome 5.7.2 Font Awesome Free licence Yes +Fontawesome 5.13 Font Awesome Free licence Yes For licenses compatibility informations: diff --git a/ChangeLog b/ChangeLog index 67cf9513a4a..20a1748af6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -80,6 +80,32 @@ FIX: Wrong Sql on getListOfTowns api method FIX: wrong user right's name to top menu "commercial" FIX: XSS Vulnerability reported by Mehmet Kelepçe / Gais Cyber Security +***** ChangeLog for 12.0.0 compared to 11.0.0 ***** +For Users: +NEW: Module MO (Manufacturing Order) is available as stable module. +NEW: Add option MAIN_VIEW_LINE_NUMBER_IN_LIST for some lists. + +For Developers or integrators: +* A new way to navigate between pages in list is available. To use it, you must + - replace $page = GETPOST('page', 'int') with $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); + - remove input field in form '';' + - add parameter $pagenavastextinput to value 1 when calling print_barre_liste +* UserGroup class has been refactored with new architecture. Triggers of class UserGroup are now USERGROUP_CREATE, USERGROUP_MODIFY, USERGROUP_DELETE + +WARNING: + +Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: +* PHP 5.5 is no more supported. Minimum PHP is now 5.6+. +* Default mode for GETPOST function is now 'alphanohtml' instead of 'none'. So check when you make POST or GET requests + with HTML content that you make a GETPOST('myparam', 'restricthtml') or GETPOST('myparam', 'none') if you really need posted content without sanitizing + the HTML into content (in such a case, sanitize data later) +* Removed hidden constant MAIN_EXTRAFIELDS_IN_ONE_TD that was useless. +* Reference of object including a "/" are no more allowed. It is never used by default but to support setup that introduced it, the "/" will be replaced + by a "_" automatically when a reference (with a custom numbering mask that use it) is generated. +* Library jflot (replace with chartjs) and geoip (replaced with geoip2) were removed. +* Hidden constant COMMANDE_VALID_AFTER_CLOSE_PROPAL were renamed into ORDER_VALID_AFTER_CLOSE_PROPAL. + + ***** ChangeLog for 11.0.3 compared to 11.0.2 ***** FIX: unit price for selected supplier products not set. NaN was used. FIX: use bad var to check if total is positive for each VAT rate when validating an invoice @@ -246,6 +272,7 @@ FIX: #13094 FIX: #13096 FIX: #13100 + ***** ChangeLog for 11.0.0 compared to 10.0.0 ***** For Users: diff --git a/README-FR.md b/README-FR.md index 94af10cb04f..bccb7b0143b 100644 --- a/README-FR.md +++ b/README-FR.md @@ -151,6 +151,7 @@ La documentation utilisateur, développeur et traducteur est disponible sous for ## CONTRIBUER Ce projet existe grâce à ses nombreux contributeurs [[Contribuer](https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md)]. + ## CREDITS diff --git a/README.md b/README.md index 085ab808488..f611f333e6a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…). -It's an Open Source Software (written in PHP language) designed for small, medium or large companies, foundations and freelances. +It's an Open Source Software (written in PHP language) designed for small, medium or large companies, foundations and freelancers. You can freely use, study, modify or distribute it according to its Free Software licence. @@ -27,8 +27,8 @@ Other licenses apply for some included dependencies. See [COPYRIGHT](https://git If you have low technical skills and you're looking to install Dolibarr ERP/CRM in just a few clicks, you can use one of the packaged versions: -- DoliWamp for Windows -- DoliDeb for Debian or Ubuntu +- [DoliWamp for Windows](https://wiki.dolibarr.org/index.php/Dolibarr_for_Windows_(DoliWamp) +- [DoliDeb for Debian](https://wiki.dolibarr.org/index.php/Dolibarr_for_Ubuntu_or_Debian - DoliRpm for Redhat, Fedora, OpenSuse, Mandriva or Mageia Releases can be downloaded from [official website](https://www.dolibarr.org/). @@ -37,6 +37,8 @@ Releases can be downloaded from [official website](https://www.dolibarr.org/). You can use a Web server and a supported database (MariaDB, MySQL or PostgreSQL) to install the standard version. +- Check that your installed PHP version is supported [see PHP support](https://wiki.dolibarr.org/index.php/Versions). + - Uncompress the downloaded .zip archive to copy the "dolibarr/htdocs" directory and all its files inside your web server root or get the files directly from GitHub (recommanded if you known git): `git clone https://github.com/dolibarr/dolibarr -b x.y` (where x.y is main version like 3.6, 9.0, ...) @@ -65,9 +67,11 @@ You can use a Web server and a supported database (MariaDB, MySQL or PostgreSQL) If you don't have time to install it yourself, you can try some commercial 'ready to use' Cloud offers (See https://saas.dolibarr.org). However, this third solution is not free. + ## UPGRADING - At first make a backup of your Dolibarr files & than see https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr +- Check that your installed PHP version is supported by the new version [see PHP support](./doc/phpmatrix.md). - Overwrite all old files from 'dolibarr' directory with files provided into the new version's package. - At first next access, Dolibarr will redirect your to the "install/" page to follow the upgrade process.  If an `install.lock` file exists to lock any other upgrade process, the application will ask you to remove the file manually (you should find the `install.lock` file into the directory used to store generated and uploaded documents, in most cases, it is the directory called "*documents*"). @@ -82,28 +86,27 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) ### Main application/modules (all optional) -- Customers, Prospects (Leads) and/or Suppliers directory +- Customers, Prospects (Leads) and/or Suppliers directory + Contacts +- Members management - Products and/or Services catalog - Commercial proposals management -- Customer and Supplier Orders management +- Customer & Supplier Orders management +- Shipping management +- Warehouse/Stock management - Invoices and payment management - Standing orders management (European SEPA) - Bank accounts management - Accounting management - Shared calendar/agenda (with ical and vcal export for third party tools integration) - Opportunities and/or project management -- Projects management +- Projects & Tasks management - Contracts management -- Warehouse/Stock management -- Shipping management - Interventions management - Employee's leave requests management - Expense reports - Timesheets - Electronic Document Management (EDM) - Foundations members management -- Mass emailing -- Surveys - Point of Sale (POS) - … @@ -112,11 +115,13 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) - Bookmarks management - Donations management - Reporting +- Surveys - Data export/import - Barcodes support - Margin calculations - LDAP connectivity - ClickToDial integration +- Mass emailing - RSS integration - Skype integration - Payment platforms integration (PayPal, Stripe, Paybox...) @@ -170,7 +175,8 @@ Administrator, user, developer and translator's documentations are available alo ## CONTRIBUTING -This project exists thanks to all the people who contribute. [[Contribute](https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md)]. +This project exists thanks to all the people who contribute. [[Contribute](https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md)] + ## CREDITS diff --git a/build/README b/build/README index 07f0ebe3b55..67ceb05c8d2 100644 --- a/build/README +++ b/build/README @@ -45,9 +45,12 @@ Dolibarr working. It is here only to build Dolibarr packages, and those generated packages will not contains this "build" directory. -We can find in "build", following sub-directories: +You can find in "build", following sub-directories: -* debian: +* composer +To test an upgrade of a lib. + +* debian To build Debian package. * dmg: diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile index 507170c7368..4b1df7e0876 100644 --- a/build/docker/Dockerfile +++ b/build/docker/Dockerfile @@ -3,10 +3,11 @@ FROM php:7.2-apache ENV HOST_USER_ID 33 ENV PHP_INI_DATE_TIMEZONE 'UTC' -RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libldap2-dev zlib1g-dev libicu-dev g++\ +RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libldap2-dev libzip-dev zlib1g-dev libicu-dev g++\ && rm -rf /var/lib/apt/lists/* \ && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ && docker-php-ext-install gd \ + && docker-php-ext-install zip \ && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \ && docker-php-ext-install ldap \ && docker-php-ext-install mysqli \ diff --git a/build/exe/doliwamp/Languages/MyCatalan.isl b/build/exe/doliwamp/Languages/MyCatalan.isl index d8b86eae5ba..b157d1cea27 100644 --- a/build/exe/doliwamp/Languages/MyCatalan.isl +++ b/build/exe/doliwamp/Languages/MyCatalan.isl @@ -1,45 +1,47 @@ [CustomMessages] -NameAndVersion=%1 versi %2 +NameAndVersion=%1 versió %2 AdditionalIcons=Icones addicionals: CreateDesktopIcon=Crea una icona a l'&Escriptori CreateQuickLaunchIcon=Crea una icona a la &Barra de tasques ProgramOnTheWeb=%1 a Internet -UninstallProgram=Desinstalla %1 +UninstallProgram=Desinstal·la %1 LaunchProgram=Obre %1 -AssocFileExtension=&Associa %1 amb l'extensi de fitxer %2 -AssocingFileExtension=Associant %1 amb l'extensi de fitxer %2... +AssocFileExtension=&Associa %1 amb l'extensió de fitxer %2 +AssocingFileExtension=Associant %1 amb l'extensió de fitxer %2... -YouWillInstallDoliWamp=Va a installar o actualitzar (Apache + Mysql + PHP + Dolibarr) al seu ordinador. -ThisAssistantInstallOrUpgrade=Aquest assistent installa o actualitza Dolibarr ERP-CRM i tots els seus requisits (Apache, Mysql i PHP) optimitzats per a l's de Dolibarr. -IfYouHaveTechnicalKnowledge=Si teniu coneixements tcnics i necessita usar la seva Apache, Mysql i PHP amb altres aplicacions a part de Dolibarr, no utilitzeu aquest assistent, hauria laci manual d'Dolibarr sobre un Apache, Mysql i PHP existent. -ButIfYouLook=Per si busca una installaci automtica, es troba en el bon cam... -DoYouWantToStart=Vol iniciar el procs d'installaci/actualitzaci? +YouWillInstallDoliWamp=Instal·laràs DoliWamp (Dolibarr i altres programaris com Apache, Mysql i PHP) al teu ordinador. +ThisAssistantInstallOrUpgrade=ALERTA: Utilitzar un ERP CRM instal·lat en un ordinador en local pot ser perillós: si l'ordinador s'espatlla, pots perdre totes les teves dades. Fes-ho si estàs preparat per autogestionar-te còpies de seguretat. Si no, pots utilitzar una instal·lació Saas (pots veure https://saas.dolibarr.org). +IfYouHaveTechnicalKnowledge=Si tens coneixements tècnics i vols autogestionar el teu Apache, Mysql i PHP, no utilitzis aquest assistent i fes una instal·lació manual de Dolibarr sobre un servidor existent d'Apache, Mysql i PHP. +ButIfYouLook=Però si busques una instal·lació automàtica en el teu propi ordinador, et trobes en el bon camí... +DoYouWantToStart=Vols iniciar el procés d'instal·lació? -TechnicalParameters=Parmetres tcnics -IfFirstInstall=Si es tracta de la primera instal laci, haur d'especificar alguns parmetres tcnics. Si no els entn, no sabeu o va a procedir a una actualitzaci, deixi els camps amb els valors proposats per defecte. +TechnicalParameters=Paràmetres tècnics +IfFirstInstall=Si es tracta de la primera instal·lació, hauràs d'especificar alguns paràmetres tècnics. Si no els entens, no n'estàs segur, o estàs fent una actualització, pots deixar els valors per defecte. -; WARNING !!! STRINGS HERE MUST BE LOWER THAN 70 CHARACTERS -SMTPServer=Servidor SMTP (El seu o el del seu ISP, nicament primera instal.laci) : -ApachePort=Puerto Apache (nicament primera instal.laci, normalment s el 80) : -MySqlPort=Puerto Mysql (nicament primera instal.laci, normalment s el 3306) : -MySqlPassword=Contrasenya del servidor i la base de dades MySQL de root (nicament primera instal.laci): +; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS +SMTPServer=Servidor SMTP (propi o ISP, només primera instal·lació) : +ApachePort=Port Apache (només primera instal·lació, normalment el 80) : +MySqlPort=Port MySql (només primera instal·lació, normalment el 3306) : +MySqlPassword=Contrasenya del servidor i base de dades MySql de root (només primera instal·lació): -FailedToDeleteLock=FailedToDeleteLock=Error en l'eliminaci del fitxer %1/www/dolibarr/install.lock. Pot ignorar l'avs per s possible que hagi de eliminar-lo manualment ms tard. En aquest cas, ser informat. Feu clic a OK per continuar... +FailedToDeleteLock=FailedToDeleteLock=Error en l'eliminació del fitxer %1/www/dolibarr/install.lock. Pots ignorar l'avís però és possible que hagis d'eliminar-lo manualment més tard. En aquest cas, serà informat. Fes clic a OK per continuar... -PortAlreadyInUse=Sembla que el port %1 ja est sent utilitzat. Es recomana cancellar, tornar enrere i especificar un altre valor per al port% 2. Cancellar i escollir un altre valor? +PortAlreadyInUse=Sembla que el port %1 ja està sent utilitzat. Es recomana cancel·lar, tornar enrere i especificar un altre valor per al port% 2. Vols cancel·lar i escollir un altre valor? -FirefoxDetected=S'ha detectat Firefox al seu ordinador. Voleu activar per defecte com a navegador per Dolibarr? -ChromeDetected=S'ha detectat Chrome al seu ordinador. Voleu activar per defecte com a navegador per Dolibarr? -ChooseDefaultBrowser=Esculli el seu navegador per defecte. Si no est segur, simplement feu clic a Obrir: +FirefoxDetected=S'ha detectat Firefox al teu ordinador. El vols utilitzar com a navegador per defecte per Dolibarr? +ChromeDetected=S'ha detectat Chrome al teu ordinador. El vols utilitzar com a navegador per defecte per Dolibarr? +ChooseDefaultBrowser=Escull el teu navegador per defecte (iexplore.exe, firefox.exe, chrome.exe, MicrosoftEdge.exe...).. Si no estàs segur, simplement fes clic a Obre: -LaunchNow=Llanar ara Dolibarr +LaunchNow=Obre ara el Dolibarr -ProgramHasBeenRemoved=Els arxius del programa Dolibarr han estat eliminats. No obstant aix tots els seus arxius de dades es troben encara al directori %1. Haur eliminar aquest directori manualment per a una desinstal completa. +ProgramHasBeenRemoved=Els arxius del programa Dolibarr han estat eliminats. No obstant això tots els seus arxius de dades es troben encara al directori %1. Hauràs d'eliminar aquest directori manualment per a una desinstal·lació completa. -DoliWampWillStartApacheMysql=L'installador DoliWamp intentar iniciar o reiniciar Apache i MySQL, aix pot durar des de diversos segons a un minut desprs de la confirmaci. Iniciar la installaci o actualitzaci dels servidors web i bases de dades requerides per Dolibarr? +DoliWampWillStartApacheMysql=L'instal·lador DoliWamp intentarà iniciar o reiniciar Apache i MySQL, això pot durar des de diversos segons a un minut després de la confirmació. Vols iniciar la instal·lació o actualització dels servidors web i de base de dades requerides per Dolibarr? -OldVersionFoundAndMoveInNew=S'ha trobat una versi antiga de base de dades i ha estat moguda per a ser utilitzada per la nova versi de Dolibarr -OldVersionFoundButFailedToMoveInNew=S'ha trobat una versi antiga de base de dades, per no es pot moure per a ser utilitzada per la nova versi de Dolibarr +OldVersionFoundAndMoveInNew=S'ha trobat una versió antiga de base de dades i ha estat moguda per a ser utilitzada per la nova versió de Dolibarr +OldVersionFoundButFailedToMoveInNew=S'ha trobat una versió antiga de base de dades, però no es pot moure per a ser utilitzada per la nova versió de Dolibarr +DLLMissing=La teva instal·lació windows no té el component "Microsoft Visual C++ Redistributable for Visual Studio 2012". Instal·la primer la versió de 32-bit (vcredist_x86.exe) (pots trobar-la a https://www.microsoft.com/en-us/download/) i reiniciar després la instal·lació/actualització de DoliWamp. +ContinueAnyway=Continua igualment (el procés d'instal·lació podria fallar sense aquest prerequisit) diff --git a/build/exe/doliwamp/Languages/MyEnglish.isl b/build/exe/doliwamp/Languages/MyEnglish.isl index b066a5f87f6..371e724d6d0 100644 --- a/build/exe/doliwamp/Languages/MyEnglish.isl +++ b/build/exe/doliwamp/Languages/MyEnglish.isl @@ -11,11 +11,11 @@ LaunchProgram=Launch %1 AssocFileExtension=&Associate %1 with the %2 file extension AssocingFileExtension=Associating %1 with the %2 file extension... -YouWillInstallDoliWamp=You will install or upgrade DoliWamp (so Dolibarr + all required third party software like Apache, Mysql and PHP) on your computer. +YouWillInstallDoliWamp=You will install DoliWamp (so Dolibarr + all required third party software like Apache, Mysql and PHP) on your computer. ThisAssistantInstallOrUpgrade=WARNING: Using an ERP CRM installed on a local computer can be dangerous: if your computer break down, you can lose all your data. Do this if you are ready to manage backup yourself seriously. If not, use an installation in Saas instead (see https://saas.dolibarr.org). IfYouHaveTechnicalKnowledge=Moreover, if you have technical knowledges and want to manage your Apache, Mysql and PHP yourself, you should not use this assistant and make a manual installation of Dolibarr on your existing server with Apache, Mysql and PHP. ButIfYouLook=But if you look for an automatic setup on your local computer, you''re on the good way... -DoYouWantToStart=Do you want to start installation/upgrade process ? +DoYouWantToStart=Do you want to start installation process ? TechnicalParameters=Technical parameters IfFirstInstall=If first install, please specify some technical parameters. If you don't understand, are not sure, or are doing an upgrade, just leave the default values. diff --git a/build/exe/doliwamp/Languages/MyFrench.isl b/build/exe/doliwamp/Languages/MyFrench.isl index 2e93a44081e..c3fd15cbac8 100644 --- a/build/exe/doliwamp/Languages/MyFrench.isl +++ b/build/exe/doliwamp/Languages/MyFrench.isl @@ -11,11 +11,11 @@ LaunchProgram=Ex AssocFileExtension=&Associer %1 avec l'extension de fichier %2 AssocingFileExtension=Associe %1 avec l'extension de fichier %2... -YouWillInstallDoliWamp=Vous allez installer ou mettre jour DoliWamp sur votre ordinateur (donc Dolibarr + tous ses composants prrequis comme Apache, Mysql et PHP). +YouWillInstallDoliWamp=Vous allez installer DoliWamp sur votre ordinateur (donc Dolibarr + tous ses composants prrequis comme Apache, Mysql et PHP). ThisAssistantInstallOrUpgrade=AVERTISSEMENT: L'utilisation d'un ERP CRM install sur un ordinateur local peut tre dangereuse: si votre ordinateur tombe en panne, vous pouvez perdre toutes vos donnes. Faites-le si vous tes prt grer les sauvegardes vous-mme srieusement. Sinon, utilisez plutt une installation en Saas (voir https://saas.dolibarr.org). IfYouHaveTechnicalKnowledge=De plus, si vous avez des comptences techniques et envisagez de partager votre Apache, Mysql et PHP avec d''autres applications que Dolibarr, vous ne devriez pas utiliser cet assistant mais faire plutt une installation manuelle de Dolibarr sur un serveur existant quip de Apache, Mysql et PHP. ButIfYouLook=Mais si vous recherchez une installation cl en main automatise sur une poste local, vous tes sur la bonne voie... -DoYouWantToStart=Voulez-vous dmarrer le processus d'installation/mise jour ? +DoYouWantToStart=Voulez-vous dmarrer le processus d'installation ? TechnicalParameters=Paramtres techniques IfFirstInstall=S'il s'agit de la premire installation, merci de spcifier ces quelques paramtres techniques. Si vous ne les comprennez pas, tes non sr, ou procdez une mise jour, laissez les champs avec les valeurs proposes par dfaut. diff --git a/build/exe/doliwamp/Languages/MyGerman.isl b/build/exe/doliwamp/Languages/MyGerman.isl index 9c3a1d38bfc..8bfd78dbea2 100644 --- a/build/exe/doliwamp/Languages/MyGerman.isl +++ b/build/exe/doliwamp/Languages/MyGerman.isl @@ -2,7 +2,7 @@ [CustomMessages] NameAndVersion=%1 Version %2 -AdditionalIcons=Zustzliche Symbole: +AdditionalIcons=Zusätzliche Symbole: CreateDesktopIcon=&Desktop-Symbol erstellen CreateQuickLaunchIcon=Symbol in der Schnellstartleiste erstellen ProgramOnTheWeb=%1 im Internet @@ -10,3 +10,38 @@ UninstallProgram=%1 entfernen LaunchProgram=%1 starten AssocFileExtension=&Registriere %1 mit der %2-Dateierweiterung AssocingFileExtension=%1 wird mit der %2-Dateierweiterung registriert... + + +YouWillInstallDoliWamp=Sie installieren DoliWamp (also Dolibarr + alle erforderliche Software von Drittanbietern wie Apache, MySQL und PHP) auf Ihrem Computer. +ThisAssistantInstallOrUpgrade=WARNUNG: Die Verwendung eines auf einem lokalen Computer installierten ERP-CRM kann gefährlich sein: Wenn Ihr Computer ausfällt, können Sie alle Ihre Daten verlieren. Tun Sie dies, wenn Sie bereit sind, das Backup selbst ernsthaft zu verwalten. Wenn nicht, verwenden Sie stattdessen eine Installation in Saas (siehe https://saas.dolibarr.org). +IfYouHaveTechnicalKnowledge=Wenn Sie über technische Kenntnisse verfügen und Apache, MySQL und PHP selbst verwalten möchten, sollten Sie diesen Assistenten nicht verwenden und eine manuelle Installation von Dolibarr auf Ihrem vorhandenen Server mit Apache, MySQL und PHP durchführen. +ButIfYouLook=Aber wenn Sie auf Ihrem lokalen Computer nach einer automatischen Einrichtung suchen, sind Sie auf dem besten Weg ... +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 +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) : +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 ? + +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? +ChooseDefaultBrowser=Bitte wählen Sie Ihren Standardbrowser (iexplore.exe, firefox.exe, chrome.exe, MicrosoftEdge.exe...). Wenn Sie sich nicht sicher sind, klicken Sie einfach auf Öffnen: + +LaunchNow=Starten Sie jetzt Dolibarr + +ProgramHasBeenRemoved=Die Dolibarr-Programmdateien wurden entfernt. Alle Ihre Daten befinden sich jedoch noch im Verzeichnis %1. Für eine vollständige Deinstallation, müssen Sie dieses Verzeichnis manuell entfernen. +DoliWampWillStartApacheMysql=Die DoliWamp-Installation wird nun starten oder Apache und MySQL neu starten. Dies kann nach dieser Bestätigung einige Sekunden bis eine Minute dauern. Wollen Sie mit der Installation oder Aktualisierung des von Dolibarr benötigten Web- und Datenbankservers starten ? + +OldVersionFoundAndMoveInNew=Eine alte Datenbankversion wurde gefunden und verschoben, um von der neuen Dolibarr-Version verwendet zu werden. +OldVersionFoundButFailedToMoveInNew=Eine alte Datenbankversion wurde gefunden, konnte jedoch nicht verschoben werden, um mit der neuen Dolibarr-Version verwendet zu werden. + +DLLMissing=Your Windows installation is missing The "Micrsoft Visual C++ Redistributable for Visual Studio 2012" component. Please install the 32-bit version (vcredist_x86.exe) first (you can find it at https://www.microsoft.com/en-us/download/) and restart DoliWamp installation/upgrade after. +ContinueAnyway=Fahren Sie trotzdem fort (der Installationsvorgang kann ohne diese Voraussetzung fehlschlagen). diff --git a/build/exe/doliwamp/Languages/MySpanish.isl b/build/exe/doliwamp/Languages/MySpanish.isl index 63c0136f351..c31aedf895f 100644 --- a/build/exe/doliwamp/Languages/MySpanish.isl +++ b/build/exe/doliwamp/Languages/MySpanish.isl @@ -1,45 +1,47 @@ [CustomMessages] -NameAndVersion=%1 versin %2 +NameAndVersion=%1 versión %2 AdditionalIcons=Iconos adicionales: CreateDesktopIcon=Crear un icono en el &escritorio -CreateQuickLaunchIcon=Crear un icono de Inicio Rpido +CreateQuickLaunchIcon=Crear un icono de Inicio Rápido ProgramOnTheWeb=%1 en la Web UninstallProgram=Desinstalar %1 LaunchProgram=Ejecutar %1 -AssocFileExtension=&Asociar %1 con la extensin de archivo %2 -AssocingFileExtension=Asociando %1 con la extensin de archivo %2... +AssocFileExtension=&Asociar %1 con la extensión de archivo %2 +AssocingFileExtension=Asociando %1 con la extensión de archivo %2... -YouWillInstallDoliWamp=Va a instalar o actualizar (Apache+Mysql+PHP+Dolibarr) en su ordenador. -ThisAssistantInstallOrUpgrade=Este asistente instala o actualiza Dolibarr ERP-CRM y todos sus requisitos (Apache, Mysql y PHP) optimizados para el uso de Dolibarr. -IfYouHaveTechnicalKnowledge=Si tiene conocimientos tcnicos y necesita usar su Apache, Mysql y PHP con otras aplicaciones aparte de Dolibarr, no debera usar este asistente, debera realizar una instalacin manual de Dolibarr sobre un Apache, Mysql y PHP existente. -ButIfYouLook=Pero si busca una instalacin automtica, se encuentra en el buen camino... -DoYouWantToStart=Quiere iniciar el proceso de instalacin/actualizacin? +YouWillInstallDoliWamp=Va a instalar DoliWamp (Dolibarr y otro software como Apache, Mysql y PHP) en su ordenador. +ThisAssistantInstallOrUpgrade=ALERTA: Utilizar un ERP CRM instalado en un ordenador en local puede ser peligroso: si el ordenador se estropea, puede perder todos sus datos. Hágalo si está preparado para autogestionar sus copias de seguridad. Si no, puede utilizar una instalacion Saas (puede ver https://saas.dolibarr.org). +IfYouHaveTechnicalKnowledge=Si tiene conocimientos técnicos y necesita usar su Apache, Mysql y PHP con otras aplicaciones aparte de Dolibarr, no debería usar este asistente, debería realizar una instalación manual de Dolibarr sobre un Apache, Mysql y PHP existente. +ButIfYouLook=Pero si busca una instalación automática en tu propio ordenador, se encuentra en el buen camino... +DoYouWantToStart=¿Quiere iniciar el proceso de instalación? -TechnicalParameters=Parmetros tcnicos -IfFirstInstall=Si se trata de la primera instalacin, deber especificar algunos parmetros tcnicos. Si no los entiende, no est seguro o va a proceder a una actualizacin, deje los campos con los valores propuestos por defecto. +TechnicalParameters=Parámetros técnicos +IfFirstInstall=Si se trata de la primera instalación, deberá especificar algunos parámetros técnicos. Si no los entiende, no está seguro o va a proceder a una actualización, deje los campos con los valores propuestos por defecto. -; WARNING !!! STRINGS HERE MUST BE LOWER THAN 70 CHARACTERS -SMTPServer=Servidor SMTP (El suyo o el de su ISP, nicamente primera instalacin) : -ApachePort=Puerto Apache (nicamente primera instalacin, normalmente es el 80) : -MySqlPort=Puerto Mysql (nicamente primera instalacin, normalmente es el 3306) : -MySqlPassword=Contrasea del servidor y la base de datos MySQL de root (nicamente primera instalacin): +; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS +SMTPServer=Servidor SMTP (propio o su ISP, sólo primera instalación) : +ApachePort=Puerto Apache (sólo primera instalación, normalmente el 80) : +MySqlPort=Puerto Mysql (sólo primera instalación, normalmente el 3306) : +MySqlPassword=Contraseña del servidor y la base de datos MySQL de root (sólo primera instalación): -FailedToDeleteLock=Error en la eliminacin del archivo %1/www/dolibarr/install.lock. Puede ignorar el aviso pero es posible que deba eliminarlo manualmente ms tarde. En este caso, ser informado. Haga clic en OK para continuar... +FailedToDeleteLock=Error en la eliminación del archivo %1/www/dolibarr/install.lock. Puede ignorar el aviso pero es posible que deba eliminarlo manualmente más tarde. En este caso, será informado. Haga clic en OK para continuar... -PortAlreadyInUse=Parece que el puerto %1 ya esta siendo usado. Se recomienda cancelar, volver atras y especificar otro valor para el puerto %2. Cancelar y escojer otro valor? +PortAlreadyInUse=Parece que el puerto %1 ya esta siendo usado. Se recomienda cancelar, volver atras y especificar otro valor para el puerto %2. ¿Cancelar y escojer otro valor? FirefoxDetected=Se ha detectado Firefox en su ordenador. Desea activarlo por defecto como navegador para Dolibarr ? ChromeDetected=Se ha detectado Chrome en su ordenador. Desea activarlo por defecto como navegador para Dolibarr ? -ChooseDefaultBrowser=Escoja su navegador por defecto. Si no est seguro, simplementa haga clic en Abrir : +ChooseDefaultBrowser=Escoja su navegador por defecto (iexplore.exe, firefox.exe, chrome.exe, MicrosoftEdge.exe...). Si no está seguro, simplementa haga clic en Abrir : LaunchNow=Lanzar ahora Dolibarr -ProgramHasBeenRemoved=Los archivos del programa Dolibarr han sido eliminados. Sin embargo todos sus archivos de datos se encuentran todava en el directorio %1. Deber eliminar este directorio manualmente para una desinstalacin completa. +ProgramHasBeenRemoved=Los archivos del programa Dolibarr han sido eliminados. Sin embargo todos sus archivos de datos se encuentran todavía en el directorio %1. Deberá eliminar este directorio manualmente para una desinstalación completa. -DoliWampWillStartApacheMysql=El instalador DoliWamp intentar iniciar o reiniciar Apache y MySQL, esto puede durar desde varios segundos a un minuto despus de la confirmacin. Iniciar la instalacin o actualizacin de los servidores Web y bases de datos requeridas por Dolibarr? +DoliWampWillStartApacheMysql=El instalador DoliWamp intentará iniciar o reiniciar Apache y MySQL, esto puede durar desde varios segundos a un minuto después de la confirmación. ¿Iniciar la instalación o actualización de los servidores Web y bases de datos requeridas por Dolibarr? -OldVersionFoundAndMoveInNew=Se ha encontrado una versin antigua de base de datos y ha sido movida para ser utilizada por la nueva versin de Dolibarr -OldVersionFoundButFailedToMoveInNew=Se ha encontrado una versin antigua de base de datos, pero no se pudo mover para ser utilizada por la nueva versin de Dolibarr - \ No newline at end of file +OldVersionFoundAndMoveInNew=Se ha encontrado una versión antigua de base de datos y ha sido movida para ser utilizada por la nueva versión de Dolibarr +OldVersionFoundButFailedToMoveInNew=Se ha encontrado una versión antigua de base de datos, pero no se pudo mover para ser utilizada por la nueva versión de Dolibarr + +DLLMissing=Su instalación Windows no tiene el componente "Microsoft Visual C++ Redistributable for Visual Studio 2012". Instale primero la versión de 32-bit (vcredist_x86.exe) (puedes encontrarlo en https://www.microsoft.com/en-us/download/) y reiniciar después la instalación/actualización de DoliWamp. +ContinueAnyway=Continua igualmente (el proceso de instalación podría fallar sin este prerequisito) diff --git a/build/exe/doliwamp/doliwamp.iss b/build/exe/doliwamp/doliwamp.iss index 994beb95eff..9705cc198da 100644 --- a/build/exe/doliwamp/doliwamp.iss +++ b/build/exe/doliwamp/doliwamp.iss @@ -32,7 +32,7 @@ AppPublisherURL=https://www.nltechno.com AppSupportURL=https://www.dolibarr.org AppUpdatesURL=https://www.dolibarr.org AppComments=DoliWamp includes Dolibarr, Apache, PHP and Mysql software. -AppCopyright=Copyright (C) 2008-2019 Laurent Destailleur (NLTechno), Fabian Rodriguez (Le Goût du Libre) +AppCopyright=Copyright (C) 2008-2020 Laurent Destailleur (NLTechno), Fabian Rodriguez (Le Goût du Libre) DefaultDirName=c:\dolibarr DefaultGroupName=Dolibarr ;LicenseFile=COPYING @@ -81,7 +81,7 @@ Name: "desktopicon"; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm: Name: "{app}\logs" Name: "{app}\tmp" Name: "{app}\dolibarr_documents" -Name: "{app}\bin\apache\apache2.4.9\logs" +Name: "{app}\bin\apache\apache2.4.41\logs" [Files] ; Stop/start @@ -98,35 +98,48 @@ Source: "build\exe\doliwamp\mysqltestinstall.bat.install"; DestDir: "{app}\"; Fl Source: "build\exe\doliwamp\startdoliwamp_manual_donotuse.bat.install"; DestDir: "{app}\"; Flags: ignoreversion; Source: "build\exe\doliwamp\builddemosslfiles.bat.install"; DestDir: "{app}\"; Flags: ignoreversion; Source: "build\exe\doliwamp\UsedPort.exe"; DestDir: "{app}\"; Flags: ignoreversion; + ; PhpMyAdmin, Apache, Php, Mysql ; Put here path of Wampserver applications ; Value OK: apache 2.2.6, php 5.2.5 (5.2.11, 5.3.0 and 5.3.1 fails if php_exif, php_pgsql, php_zip is on), mysql 5.0.45 ; Value OK: apache 2.2.11, php 5.3.0 (if no php_exif, php_pgsql, php_zip), mysql 5.0.45 -; Value OK: apache 2.4.19, php 5.5.12, mysql 5.0.45 instead of 5.6.17 (wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b.exe) +; Value OK: apache 2.4.9, php 5.5.12, mysql 5.0.45 instead of 5.6.17 (wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b.exe) +; Value To test: apache 2.4.41, php 7.3.12, mysql 5.0.45 instead of 5.6.17 (wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b.exe) Source: "C:\Program Files\Wamp\apps\phpmyadmin4.1.14\*.*"; DestDir: "{app}\apps\phpmyadmin4.1.14"; Flags: ignoreversion recursesubdirs; Excludes: "config.inc.php,wampserver.conf,*.log,*_log,darkblue_orange" -Source: "C:\Program Files\Wamp\bin\apache\apache2.4.9\*.*"; DestDir: "{app}\bin\apache\apache2.4.9"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log" -Source: "C:\Program Files\Wamp\bin\php\php5.5.12\*.*"; DestDir: "{app}\bin\php\php5.5.12"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,phpForApache.ini,wampserver.conf,*.log,*_log" -Source: "C:\Program Files\Wamp\bin\mysql\mysql5.0.45\*.*"; DestDir: "{app}\bin\mysql\mysql5.0.45"; Flags: ignoreversion recursesubdirs; Excludes: "my.ini,data\*,wampserver.conf,*.log,*_log,MySQLInstanceConfig.exe" +;Source: "C:\Program Files\Wamp\bin\apache\apache2.4.9\*.*"; DestDir: "{app}\bin\apache\apache2.4.9"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log" +Source: "C:\wamp64\bin\apache\apache2.4.41\*.*"; DestDir: "{app}\bin\apache\apache2.4.41"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log" +;Source: "C:\Program Files\Wamp\bin\php\php5.5.12\*.*"; DestDir: "{app}\bin\php\php5.5.12"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,phpForApache.ini,wampserver.conf,*.log,*_log" +Source: "C:\wamp64\bin\php\php7.3.12\*.*"; DestDir: "{app}\bin\php\php7.3.12"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,phpForApache.ini,wampserver.conf,*.log,*_log" +;Source: "C:\Program Files\Wamp\bin\mysql\mysql5.0.45\*.*"; DestDir: "{app}\bin\mysql\mysql5.0.45"; Flags: ignoreversion recursesubdirs; Excludes: "my.ini,data\*,wampserver.conf,*.log,*_log,MySQLInstanceConfig.exe" +Source: "C:\wamp64\bin\mariadb\mariadb10.4.10\*.*"; DestDir: "{app}\bin\mariadb\mariadb10.4.10"; Flags: ignoreversion recursesubdirs; Excludes: "my.ini,data\*,wampserver.conf,*.log,*_log,MySQLInstanceConfig.exe" + ; Mysql data files (does not overwrite if exists) -Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mysql\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db" +; We must copy them because the tool mysql_install_db.exe to generate them at first install does not return to prompt so make install hang +;Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mariadb\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db" + ; Dolibarr Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,documents\*,includes\ckeditor\_source\*,includes\savant\*,includes\phpmailer\*,jquery\plugins\template\*,nltechno*\*,sabre\sabre\*\tests,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,tcpdf\fonts\dejavu-fonts-ttf-2.33\*,tcpdf\fonts\freefont-20100919\*,tcpdf\fonts\utils\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\conf.php.sav,*\install.forced.php" Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,dbmodel\*,fpdf\*,initdata\*,initdemo\*,iso-normes\*,licence\*,phpcheckstyle\*,phpunit\*,samples\*,test\*,uml\*,vagrant\*,xdebug\*" Source: "doc\*.*"; DestDir: "{app}\www\dolibarr\doc"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,wiki\*,plaquette\*,dev\*,images\dolibarr_screenshot2.png,images\dolibarr_screenshot3.png,images\dolibarr_screenshot4.png,images\dolibarr_screenshot5.png,images\dolibarr_screenshot6.png,images\dolibarr_screenshot7.png,images\dolibarr_screenshot8.png,images\dolibarr_screenshot9.png,images\dolibarr_screenshot10.png,images\dolibarr_screenshot11.png,images\dolibarr_screenshot12.png" Source: "scripts\*.*"; DestDir: "{app}\www\dolibarr\scripts"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,product\materiel.net.php,product\import-product.php" Source: "*.*"; DestDir: "{app}\www\dolibarr"; Flags: ignoreversion; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,default.properties,install.lock" + ; Config files Source: "build\exe\doliwamp\phpmyadmin.conf.install"; DestDir: "{app}\alias"; Flags: ignoreversion; Source: "build\exe\doliwamp\dolibarr.conf.install"; DestDir: "{app}\alias"; Flags: ignoreversion; Source: "build\exe\doliwamp\config.inc.php.install"; DestDir: "{app}\apps\phpmyadmin4.1.14"; Flags: ignoreversion; -Source: "build\exe\doliwamp\httpd.conf.install"; DestDir: "{app}\bin\apache\apache2.4.9\conf"; Flags: ignoreversion; +;Source: "build\exe\doliwamp\httpd.conf.install"; DestDir: "{app}\bin\apache\apache2.4.9\conf"; Flags: ignoreversion; +Source: "build\exe\doliwamp\httpd.conf.install"; DestDir: "{app}\bin\apache\apache2.4.41\conf"; Flags: ignoreversion; Source: "build\exe\doliwamp\my.ini.install"; DestDir: "{app}\bin\mysql\mysql5.0.45"; Flags: ignoreversion; -Source: "build\exe\doliwamp\php.ini.install"; DestDir: "{app}\bin\php\php5.5.12"; Flags: ignoreversion; +Source: "build\exe\doliwamp\my.ini.install"; DestDir: "{app}\bin\mariadb\mariadb10.4.10"; Flags: ignoreversion; +;Source: "build\exe\doliwamp\php.ini.install"; DestDir: "{app}\bin\php\php5.5.12"; Flags: ignoreversion; +Source: "build\exe\doliwamp\php.ini.install"; DestDir: "{app}\bin\php\php7.3.12"; Flags: ignoreversion; Source: "build\exe\doliwamp\index.php.install"; DestDir: "{app}\www"; Flags: ignoreversion; Source: "build\exe\doliwamp\install.forced.php.install"; DestDir: "{app}\www\dolibarr\htdocs\install"; Flags: ignoreversion; Source: "build\exe\doliwamp\openssl.conf"; DestDir: "{app}"; Flags: ignoreversion; Source: "build\exe\doliwamp\ca_demo_dolibarr.crt"; DestDir: "{app}"; Flags: ignoreversion; Source: "build\exe\doliwamp\ca_demo_dolibarr.key"; DestDir: "{app}"; Flags: ignoreversion; + ; Licence Source: "COPYRIGHT"; DestDir: "{app}"; Flags: ignoreversion; @@ -227,9 +240,12 @@ procedure InitializeWizard(); begin //version des applis, a modifier pour chaque version de WampServer 2 - apacheVersion := '2.4.9'; - phpVersion := '5.5.12' ; - mysqlVersion := '5.0.45'; + //apacheVersion := '2.4.9'; + //phpVersion := '5.5.12' ; + apacheVersion := '2.4.41'; + phpVersion := '7.3.12' ; + //mysqlVersion := '5.0.45'; + mysqlVersion := '10.4.10'; phpmyadminVersion := '4.1.14'; smtpServer := 'localhost'; @@ -361,18 +377,19 @@ begin winPath := ExpandConstant('{win}'); pathWithSlashes := path; StringChange (pathWithSlashes, '\','/'); - datadir := pathWithSlashes+'/bin/mysql/data'; - exedirold := pathWithSlashes+'/bin/mysql/mysql5.0.45'; - exedirnew := pathWithSlashes+'/bin/mysql/mysql5.0.45'; - + // Migration of database +// datadir := pathWithSlashes+'/bin/mariadb/marradb10.4.10/data'; +// exedirold := pathWithSlashes+'/bin/mariadb/marradb10.4.10/'; +// exedirnew := pathWithSlashes+'/bin/mariadb/marradb10.4.10/'; + // If we have a new database version, we should only copy old my.ini file into new directory // and change only all basedir= strings to use new version. Like this, data dir is still correct. // Install of service and stop/start scripts are already rebuild by installer. // FileCopy(exedirold+'/my.ini',exedirnew+'/my.ini', true); -// We should not need this, also databases may not be called dolibarr + // We should not need this, also databases may not be called dolibarr // res := RenameFile(ibdata1dirold+'/dolibarr',ibdata1dirnew+'/dolibarr'); // if res then // begin @@ -392,39 +409,21 @@ begin //---------------------------------------------- // TODO Update this list when changing PHP/Apache versions - phpDllCopy := 'fdftk.dll'; + phpDllCopy := 'libssh2.dll'; filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'fribidi.dll'; + phpDllCopy := 'icuuc64.dll'; filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'gds32.dll'; + phpDllCopy := 'icuin64.dll'; filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'libeay32.dll'; + phpDllCopy := 'icuio64.dll'; filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'libmhash.dll'; + phpDllCopy := 'icudt64.dll'; filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'libmysql.dll'; + phpDllCopy := 'libsasl.dll'; filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'libpq.dll'; + phpDllCopy := 'php7apache2_4.dll'; filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'msql.dll'; - filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'libmcrypt.dll'; - filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'libmysqli.dll'; - filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'ntwdblib.dll'; - filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - - phpDllCopy := 'php5activescript.dll'; - filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'php5nsapi.dll'; - filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'php5ts.dll'; - filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - - phpDllCopy := 'ssleay32.dll'; - filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); - phpDllCopy := 'yaz.dll'; + phpDllCopy := 'php7ts.dll'; filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); @@ -516,6 +515,17 @@ begin then begin + //---------------------------------------------- + // check that we don't try an upgrade (mysql upgrade no supported) + //---------------------------------------------- + + if FileExists (pathWithSlashes+'/bin/mysql/mysql5.0.45'+phpVersion+'/bin/mysqld-nt.exe') then + begin + MsgBox('An existing installation using an old version of Mysql exists. Sorry, upgrade with this installer is not possible.', mbInformation, MB_OK); + Abort(); + end; + + //---------------------------------------------- // Rename file c:/windows/php.ini (we don't want it) //---------------------------------------------- @@ -727,8 +737,8 @@ begin // Create file my.ini (if not exists) //---------------------------------------------- - destFile := pathWithSlashes+'/bin/mysql/mysql'+mysqlVersion+'/my.ini'; - srcFile := pathWithSlashes+'/bin/mysql/mysql'+mysqlVersion+'/my.ini.install'; + destFile := pathWithSlashes+'/bin/mariadb/mariadb'+mysqlVersion+'/my.ini'; + srcFile := pathWithSlashes+'/bin/mariadb/mariadb'+mysqlVersion+'/my.ini.install'; if not FileExists (destFile) then begin @@ -814,6 +824,8 @@ begin StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); + StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); + StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); SaveStringToFile(destFile,srcContents, False); end; @@ -956,9 +968,11 @@ begin - // Uninstall and Install services + // Uninstall services batFile := path+'\uninstall_services.bat'; Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult); + + // Install services batFile := path+'\install_services.bat'; Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult); @@ -1057,7 +1071,7 @@ Filename: "{app}\rundoliwamp.bat"; Description: {cm:LaunchNow}; Flags: shellexec [UninstallDelete] Type: files; Name: "{app}\*.*" -Type: files; Name: "{app}\bin\mysql\mysql5.0.45\*.*" +Type: files; Name: "{app}\bin\mariadb\mariadb10.4.10\*.*" Type: filesandordirs; Name: "{app}\alias" Type: filesandordirs; Name: "{app}\apps" Type: filesandordirs; Name: "{app}\bin\apache" diff --git a/build/exe/doliwamp/httpd.conf.install b/build/exe/doliwamp/httpd.conf.install index 40cc9a2f5c6..6a65e0833f9 100644 --- a/build/exe/doliwamp/httpd.conf.install +++ b/build/exe/doliwamp/httpd.conf.install @@ -1,55 +1,74 @@ # # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. -# See for detailed information. -# In particular, see -# +# See for detailed information. +# In particular, see +# # for a discussion of each configuration directive. # # Do NOT simply read the instructions in here without understanding # what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. +# consult the online docs. You have been warned. # # Configuration and logfile names: If the filenames you specify for many # of the server's control files begin with "/" (or "drive:/" for Win32), the # server will use that explicit path. If the filenames do *not* begin -# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" -# with ServerRoot set to "C:/Program Files/Apache Software Foundation/Apache2.2" will be interpreted by the -# server as "C:/Program Files/Apache Software Foundation/Apache2.2/logs/foo.log". +# with "/", the value of ServerRoot is prepended -- so "logs/access_log" +# with ServerRoot set to "/usr/local/apache2" will be interpreted by the +# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" +# will be interpreted as '/logs/access_log'. # # NOTE: Where filenames are specified, you must use forward slashes # instead of backslashes (e.g., "c:/apache" instead of "c:\apache"). -# If a drive letter is omitted, the drive on which Apache.exe is located +# If a drive letter is omitted, the drive on which httpd.exe is located # will be used by default. It is recommended that you always supply -# an explicit drive letter in absolute paths, however, to avoid -# confusion. -# - -# ThreadsPerChild: constant number of worker threads in the server process -# MaxRequestsPerChild: maximum number of requests a server process serves -ThreadsPerChild 250 -MaxRequestsPerChild 0 +# an explicit drive letter in absolute paths to avoid confusion. +ServerSignature On +ServerTokens Full # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point -# ServerRoot at a non-local disk, be sure to point the LockFile directive -# at a local disk. If you wish to share the same ServerRoot for multiple -# httpd daemons, you will need to change at least LockFile and PidFile. +# ServerRoot at a non-local disk, be sure to specify a local disk on the +# Mutex directive, if file-based mutexes are used. If you wish to share the +# same ServerRoot for multiple httpd daemons, you will need to change at +# least PidFile. # +# Apache variable names used by Apache conf files: +# The names and contents of variables: +# APACHE24, VERSION_APACHE, INSTALL_DIR, APACHE_DIR, SRVROOT +# should never be changed. +Define APACHE24 Apache2.4 +Define VERSION_APACHE WAMPAPACHEVERSION +Define INSTALL_DIR WAMPROOT +Define APACHE_DIR ${INSTALL_DIR}/bin/apache/apache${VERSION_APACHE} +Define SRVROOT ${INSTALL_DIR}/bin/apache/apache${VERSION_APACHE} + ServerRoot "WAMPROOT/bin/apache/apacheWAMPAPACHEVERSION" +# +# Mutex: Allows you to set the mutex mechanism and mutex file directory +# for individual mutexes, or change the global defaults +# +# Uncomment and change the directory if mutexes are file-based and the default +# mutex file directory is not on a local disk or is not appropriate for some +# other reason. +# +# Mutex default:logs + # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the # directive. # -# Change this to Listen on specific IP addresses as shown below to -# prevent Apache from glomming onto all bound IP addresses (0.0.0.0) +# Change this to Listen on specific IP addresses as shown below to +# prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 +#Listen 0.0.0.0:80 +#Listen [::0]:80 Listen WAMPAPACHEPORT # @@ -64,40 +83,72 @@ Listen WAMPAPACHEPORT # Example: # LoadModule foo_module modules/mod_foo.so # +LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule allowmethods_module modules/mod_allowmethods.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so -#LoadModule auth_digest_module modules/mod_auth_digest.so +LoadModule auth_digest_module modules/mod_auth_digest.so +#LoadModule auth_form_module modules/mod_auth_form.so #LoadModule authn_anon_module modules/mod_authn_anon.so +LoadModule authn_core_module modules/mod_authn_core.so +#LoadModule authn_dbd_module modules/mod_authn_dbd.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_file.so +#LoadModule authn_socache_module modules/mod_authn_socache.so +#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so +#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_core_module modules/mod_authz_core.so +#LoadModule authz_dbd_module modules/mod_authz_dbd.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so -#LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so +#LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so -LoadModule buffer_module modules/mod_buffer.so +#LoadModule brotli_module modules/mod_brotli.so +#LoadModule buffer_module modules/mod_buffer.so LoadModule cache_module modules/mod_cache.so LoadModule cache_disk_module modules/mod_cache_disk.so +#LoadModule cache_socache_module modules/mod_cache_socache.so #LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so +#LoadModule charset_lite_module modules/mod_charset_lite.so +#LoadModule data_module modules/mod_data.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so +#LoadModule dav_lock_module modules/mod_dav_lock.so +#LoadModule dbd_module modules/mod_dbd.so #LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so +#LoadModule dumpio_module modules/mod_dumpio.so LoadModule env_module modules/mod_env.so -LoadModule expires_module modules/mod_expires.so -#LoadModule file_cache_module modules/mod_file_cache.so +#LoadModule expires_module modules/mod_expires.so +#LoadModule ext_filter_module modules/mod_ext_filter.so +LoadModule file_cache_module modules/mod_file_cache.so +#LoadModule filter_module modules/mod_filter.so +#LoadModule http2_module modules/mod_http2.so #LoadModule headers_module modules/mod_headers.so -LoadModule imagemap_module modules/mod_imagemap.so +#LoadModule heartbeat_module modules/mod_heartbeat.so +#LoadModule heartmonitor_module modules/mod_heartmonitor.so +#LoadModule ident_module modules/mod_ident.so +#LoadModule imagemap_module modules/mod_imagemap.so LoadModule include_module modules/mod_include.so #LoadModule info_module modules/mod_info.so LoadModule isapi_module modules/mod_isapi.so +#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so +#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so +#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so +#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so +#LoadModule ldap_module modules/mod_ldap.so +#LoadModule logio_module modules/mod_logio.so LoadModule log_config_module modules/mod_log_config.so +#LoadModule log_debug_module modules/mod_log_debug.so +#LoadModule log_forensic_module modules/mod_log_forensic.so +#LoadModule lua_module modules/mod_lua.so +#LoadModule macro_module modules/mod_macro.so +#LoadModule md_module modules/mod_md.so LoadModule mime_module modules/mod_mime.so #LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so @@ -105,33 +156,63 @@ LoadModule negotiation_module modules/mod_negotiation.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so -#LoadModule proxy_http_module modules/mod_proxy_http.so +#LoadModule proxy_express_module modules/mod_proxy_express.so +#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so +#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so +#LoadModule proxy_html_module modules/mod_proxy_html.so +#LoadModule proxy_http_module modules/mod_proxy_http.so +#LoadModule proxy_http2_module modules/mod_proxy_http2.so +#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so +#LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so +#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so +#LoadModule ratelimit_module modules/mod_ratelimit.so +#LoadModule reflector_module modules/mod_reflector.so +#LoadModule remoteip_module modules/mod_remoteip.so +#LoadModule request_module modules/mod_request.so +#LoadModule reqtimeout_module modules/mod_reqtimeout.so LoadModule rewrite_module modules/mod_rewrite.so +#LoadModule sed_module modules/mod_sed.so +#LoadModule session_module modules/mod_session.so +#LoadModule session_cookie_module modules/mod_session_cookie.so +#LoadModule session_crypto_module modules/mod_session_crypto.so +#LoadModule session_dbd_module modules/mod_session_dbd.so LoadModule setenvif_module modules/mod_setenvif.so +#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so +#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so +#LoadModule socache_dbm_module modules/mod_socache_dbm.so +#LoadModule socache_memcache_module modules/mod_socache_memcache.so +#LoadModule socache_redis_module modules/mod_socache_redis.so +#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so #LoadModule speling_module modules/mod_speling.so #LoadModule ssl_module modules/mod_ssl.so -LoadModule status_module modules/mod_status.so +#LoadModule status_module modules/mod_status.so +#LoadModule substitute_module modules/mod_substitute.so #LoadModule unique_id_module modules/mod_unique_id.so LoadModule userdir_module modules/mod_userdir.so #LoadModule usertrack_module modules/mod_usertrack.so +#LoadModule version_module modules/mod_version.so LoadModule vhost_alias_module modules/mod_vhost_alias.so -LoadModule php5_module "WAMPROOT/bin/php/phpWAMPPHPVERSION/php5apache2_4.dll" +#LoadModule watchdog_module modules/mod_watchdog.so +#LoadModule xml2enc_module modules/mod_xml2enc.so +PHPIniDir "${APACHE_DIR}/bin" +#LoadModule WAMPAPACHELOADMODULE "${INSTALL_DIR}/bin/php/phpWAMPPHPVERSIONWEB/WAMPPHPAPACHEDLL" +LoadModule php7_module "WAMPROOT/bin/php/phpWAMPPHPVERSION/php7apache2_4.dll" + + # -# ExtendedStatus controls whether Apache will generate "full" status -# information (ExtendedStatus On) or just basic information (ExtendedStatus -# Off) when the "server-status" handler is called. The default is Off. +# If you wish httpd to run as a different user or group, you must run +# httpd as root initially and it will switch. # -ExtendedStatus On - - -SetHandler server-status -Require local -#Require ip 1.2.3.4 -#Require host 1.2.3.4 - +# User/Group: The name (or #number) of the user/group to run httpd as. +# It is usually good practice to create a dedicated user and group for +# running httpd, as with most system services. +# +User daemon +Group daemon + # 'Main' server configuration # @@ -162,59 +243,12 @@ ServerAdmin doliwamp@localhost ServerName localhost # -# ServerTokens -# This directive configures what you return as the Server HTTP response -# Header. The default is 'Full' which sends information about the OS-Type -# and compiled in modules. -# Set to one of: Full | OS | Minor | Minimal | Major | Prod -# where Full conveys the most information, and Prod the least. -# -#ServerTokens Prod - -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "WAMPROOT/www/" - - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout 300 - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive On - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests 500 - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout 30 - - -# -# Each directory to which Apache has access can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). -# -# First, we configure the "default" to be a very restrictive set of -# features. +# Deny access to the entirety of your server's filesystem. You must +# explicitly permit access to web content directories in other +# blocks below. # - Options FollowSymLinks - AllowOverride None + AllowOverride none Require all denied @@ -224,12 +258,15 @@ KeepAliveTimeout 30 # you might expect, make sure that you have specifically enabled it # below. # +HostnameLookups Off # -# This should be changed to whatever you set DocumentRoot to. +# DocumentRoot: The directory out of which you will serve your +# documents. By default, all requests are taken from this directory, but +# symbolic links and aliases may be used to point to other locations. # - - +DocumentRoot "${INSTALL_DIR}/www" + # # Possible values for the Options directive are "None", "All", # or any combination of: @@ -239,30 +276,23 @@ KeepAliveTimeout 30 # doesn't give it to you. # # The Options directive is both complicated and important. Please see - # http://httpd.apache.org/docs/2.2/mod/core.html#options + # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # - Options Indexes FollowSymLinks + Options +Indexes +FollowSymLinks +Multiviews # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: - # Options FileInfo AuthConfig Limit + # AllowOverride FileInfo AuthConfig Limit # AllowOverride all # # Controls who can get stuff from this server. # -# onlineoffline tag - don't remove - - Require all granted - - - Require ip 127.0.0.1 - Require host localhost - - +# Don't modify this line - Instead modify Require of VirtualHost in httpd-vhost.conf + Require local # @@ -274,12 +304,12 @@ KeepAliveTimeout 30 # -# The following lines prevent .htaccess and .htpasswd files from being -# viewed by Web clients. +# The following lines prevent .htaccess and .htpasswd files from being +# viewed by Web clients. # - + Require all denied - + # # ErrorLog: The location of the error log file. @@ -288,7 +318,8 @@ KeepAliveTimeout 30 # logged here. If you *do* define an error logfile for a # container, that host's errors will be logged there and not here. # -ErrorLog "WAMPROOT/logs/apache_error.log" + +ErrorLog "${INSTALL_DIR}/logs/apache_error.log" # # LogLevel: Control the number of messages logged to the error_log. @@ -317,22 +348,22 @@ LogLevel warn # define per- access logfiles, transactions will be # logged therein and *not* in this file. # - CustomLog "WAMPROOT/logs/access.log" common + CustomLog "${INSTALL_DIR}/logs/access.log" common # # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. # - #CustomLog logs/access.log combined + #CustomLog "logs/access.log" combined # - # Redirect: Allows you to tell clients about documents that used to - # exist in your server's namespace, but do not anymore. The client + # Redirect: Allows you to tell clients about documents that used to + # exist in your server's namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: - # Redirect permanent /foo http://localhost/bar + # Redirect permanent /foo http://www.example.com/bar # # Alias: Maps web paths into filesystem paths and is used to @@ -346,75 +377,43 @@ LogLevel warn # the filesystem path. # - # ScriptAlias: This controls which directories contain server scripts. + # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias # directives as to Alias. # - ScriptAlias /cgi-bin/ "cgi-bin/" + ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/" + + # + # ScriptSock: On threaded servers, designate the path to the UNIX + # socket used to communicate with the CGI daemon of mod_cgid. + # + #Scriptsock cgisock + + # -# "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin" should be changed to whatever your ScriptAliased +# "${SRVROOT}/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # - + AllowOverride None Options None Require all granted -# -# Apache parses all CGI scripts for the shebang line by default. -# This comment line, the first line of the script, consists of the symbols -# pound (#) and exclamation (!) followed by the path of the program that -# can execute this specific script. For a perl script, with perl.exe in -# the C:\Program Files\Perl directory, the shebang line should be: - - #!c:/program files/perl/perl - -# Note you _must_not_ indent the actual shebang line, and it must be the -# first line of the file. Of course, CGI processing must be enabled by -# the appropriate ScriptAlias or Options ExecCGI directives for the files -# or directory in question. -# -# However, Apache on Windows allows either the Unix behavior above, or can -# use the Registry to match files by extention. The command to execute -# a file of this type is retrieved from the registry by the same method as -# the Windows Explorer would use to handle double-clicking on a file. -# These script actions can be configured from the Windows Explorer View menu, -# 'Folder Options', and reviewing the 'File Types' tab. Clicking the Edit -# button allows you to modify the Actions, of which Apache 1.3 attempts to -# perform the 'Open' Action, and failing that it will try the shebang line. -# This behavior is subject to change in Apache release 2.0. -# -# Each mechanism has it's own specific security weaknesses, from the means -# to run a program you didn't intend the website owner to invoke, and the -# best method is a matter of great debate. -# -# To enable the this Windows specific behavior (and therefore -disable- the -# equivilant Unix behavior), uncomment the following directive: -# -#ScriptInterpreterSource registry -# -# The directive above can be placed in individual blocks or the -# .htaccess file, with either the 'registry' (Windows behavior) or 'script' -# (Unix behavior) option, and will override this server default option. -# - -# -# DefaultType: the default MIME type the server will use for a document -# if it cannot otherwise determine one, such as from filename extensions. -# If your server contains mostly text or HTML documents, "text/plain" is -# a good value. If most of your content is binary, such as applications -# or images, you may want to use "application/octet-stream" instead to -# keep browsers from trying to display binary files as though they are -# text. -# -#DefaultType text/plain + + # + # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied + # backend servers which have lingering "httpoxy" defects. + # 'Proxy' request header is undefined by the IETF, not listed by IANA + # + RequestHeader unset Proxy early + # @@ -432,8 +431,8 @@ LogLevel warn # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # - #AddEncoding x-compress .Z - #AddEncoding x-gzip .gz .tgz + AddEncoding x-compress .Z + AddEncoding x-gzip .gz .tgz # # If the AddEncoding directives above are commented-out, then you # probably should define those extensions to indicate media types: @@ -481,25 +480,40 @@ LogLevel warn #ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" -#ErrorDocument 402 http://localhost/subscription_info.html +#ErrorDocument 402 http://www.example.com/subscription_info.html # # -# EnableMMAP and EnableSendfile: On systems that support it, -# memory-mapping or the sendfile syscall is used to deliver +# MaxRanges: Maximum number of Ranges in a request before +# returning the entire resource, or one of the special +# values 'default', 'none' or 'unlimited'. +# Default setting is to accept 200 Ranges. +#MaxRanges unlimited + +# +# EnableMMAP and EnableSendfile: On systems that support it, +# memory-mapping or the sendfile syscall may be used to deliver # files. This usually improves server performance, but must -# be turned off when serving from networked-mounted +# be turned off when serving from networked-mounted # filesystems or if support for these functions is otherwise # broken on your system. +# Defaults: EnableMMAP On, EnableSendfile Off # -#EnableMMAP off -#EnableSendfile off +EnableMMAP off +EnableSendfile off + +# AcceptFilter: On Windows, none uses accept() rather than AcceptEx() and +# will not recycle sockets between connections. This is useful for network +# adapters with broken driver support, as well as some virtual network +# providers such as vpn drivers, or spam, virus or spyware filters. +AcceptFilter http none +AcceptFilter https none # Supplemental configuration # -# The configuration files in the conf/extra/ directory can be -# included to add extra features or to modify the default configuration of -# the server, or you may simply copy their contents here and change as +# The configuration files in the conf/extra/ directory can be +# included to add extra features or to modify the default configuration of +# the server, or you may simply copy their contents here and change as # necessary. # Server-pool management (MPM specific) @@ -532,17 +546,19 @@ Include conf/extra/httpd-autoindex.conf # Various default settings #Include conf/extra/httpd-default.conf - +# Configure mod_proxy_html to understand HTML4/XHTML1 + +Include conf/extra/proxy-html.conf + # Secure (SSL/TLS) connections +#Include conf/extra/httpd-ssl.conf # # Note: The following must must be present to support # starting without SSL on platforms with no /dev/random equivalent # but a statically compiled-in mod_ssl. # - - SSLRandomSeed startup builtin SSLRandomSeed connect builtin @@ -733,44 +749,8 @@ SSLCertificateKeyFile "WAMPROOT/myserver.key" # nokeepalive ssl-unclean-shutdown \ # downgrade-1.0 force-response-1.0 - + - - -# OPTIMIZE: To use gzip compression (for already compressed files). -# Note that constant MAIN_OPTIMIZE_SPEED must have a value with bit 0 set. -#AddType text/javascript .jgz -#AddEncoding gzip .jgz - -# OPTIMIZE: To use gzip compression (on the fly). -# Note that you must also enable the module mod_deflate. -# You can also set this with constant MAIN_OPTIMIZE_SPEED and bit 2 set. -#TODO - -# OPTIMIZE: To use cache on static pages (A259200 = 1 month, A7200 = 2 hours, A691600 = 8 days = recommanded for static resources). -# Note that you must also enable the module mod_expires. -#ExpiresActive On -#ExpiresByType image/x-icon A2592000 -#ExpiresByType image/gif A2592000 -#ExpiresByType image/png A2592000 -#ExpiresByType image/jpeg A2592000 -#ExpiresByType text/css A2592000 -#ExpiresByType text/javascript A2592000 -#ExpiresByType application/x-javascript A2592000 -#ExpiresByType application/javascript A2592000 - - -# To protect Dolibarr with HTTP Auth -# -# Options +Indexes -# AuthUserFile /var/www/.htpasswd -# AuthName "Zone authent basic Dolibarr" -# AuthType Basic -# require user test -# - - -# Declare alias for Dolibarr, PHPMyAdmin and other software -Include "WAMPROOT/alias/*.conf" +Include "${INSTALL_DIR}/alias/*.conf" \ No newline at end of file diff --git a/build/exe/doliwamp/install_services.bat.install b/build/exe/doliwamp/install_services.bat.install index 5ad43827f86..981c8b18b70 100644 --- a/build/exe/doliwamp/install_services.bat.install +++ b/build/exe/doliwamp/install_services.bat.install @@ -11,14 +11,19 @@ REM NET STOP doliwampmysqld cd "WAMPROOT" REM Apache x.x -.\bin\apache\apacheWAMPAPACHEVERSION\bin\httpd.exe -k install -n doliwampapache +.\bin\apache\apacheWAMPAPACHEVERSION\bin\httpd.exe -k install -n doliwampapache >> doliwamp.log 2>>&1 REM reg add HKLM\SYSTEM\CurrentControlSet\Services\doliwampapache /V Start /t REG_DWORD /d 3 /f REM Mysql 5.0- -REM .\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --install-manual doliwampmysqld -.\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --install doliwampmysqld +REM .\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld.exe --install-manual doliwampmysqld +REM .\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld.exe --install doliwampmysqld REM Mysql 5.1+ REM .\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld.exe --install doliwampmysqld +REM Mariadb +REM The mysql_install_db allows to not provide files into mysql dir but does not return to prompt so install hangs +REM .\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysql_install_db.exe --datadir=WAMPROOT/bin/mariadb/data --port=WAMPMYSQLPORT --password=WAMPMYSQLXXX >> doliwamp.log 2>>&1 +.\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysql_install_db.exe --datadir=WAMPROOT/bin/mariadb/data --port=WAMPMYSQLPORT >> doliwamp.log 2>>&1 +.\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysqld.exe --install doliwampmysqld >> doliwamp.log 2>>&1 echo ---- End script >> doliwamp.log 2>>&1 diff --git a/build/exe/doliwamp/my.ini.install b/build/exe/doliwamp/my.ini.install index e1a9495e20b..4d2037d8e97 100644 --- a/build/exe/doliwamp/my.ini.install +++ b/build/exe/doliwamp/my.ini.install @@ -69,13 +69,13 @@ port=WAMPMYSQLPORT #Path to installation directory. All paths are usually resolved relative to this. -basedir=WAMPROOT/bin/mysql/mysqlWAMPMYSQLVERSION +basedir=WAMPROOT/bin/mariadb/mariadbWAMPMYSQLVERSION #log file log-error=WAMPROOT/logs/mysql.log #Path to the database root -datadir=WAMPROOT/bin/mysql/data +datadir=WAMPROOT/bin/mariadb/data # The default storage engine that will be used when create new tables when default-storage-engine=INNODB @@ -196,13 +196,13 @@ port=WAMPMYSQLPORT #Path to installation directory. All paths are usually resolved relative to this. -basedir=WAMPROOT/bin/mysql/mysqlWAMPMYSQLVERSION +basedir=WAMPROOT/bin/mariadb/mariadbWAMPMYSQLVERSION #log file log-error=WAMPROOT/logs/mysql.log #Path to the database root -datadir=WAMPROOT/bin/mysql/data +datadir=WAMPROOT/bin/mariadb/data # The default storage engine that will be used when create new tables when default-storage-engine=INNODB diff --git a/build/exe/doliwamp/mysql/columns_priv.MYD b/build/exe/doliwamp/mysql/columns_priv.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/columns_priv.MYI b/build/exe/doliwamp/mysql/columns_priv.MYI deleted file mode 100644 index f1a20aacb4b..00000000000 Binary files a/build/exe/doliwamp/mysql/columns_priv.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/columns_priv.frm b/build/exe/doliwamp/mysql/columns_priv.frm deleted file mode 100644 index 6b12fc174c2..00000000000 Binary files a/build/exe/doliwamp/mysql/columns_priv.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/db.MYD b/build/exe/doliwamp/mysql/db.MYD deleted file mode 100644 index 8d671b07393..00000000000 Binary files a/build/exe/doliwamp/mysql/db.MYD and /dev/null differ diff --git a/build/exe/doliwamp/mysql/db.MYI b/build/exe/doliwamp/mysql/db.MYI deleted file mode 100644 index d4a1de9c34d..00000000000 Binary files a/build/exe/doliwamp/mysql/db.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/db.frm b/build/exe/doliwamp/mysql/db.frm deleted file mode 100644 index a8cab8f1fcd..00000000000 Binary files a/build/exe/doliwamp/mysql/db.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/func.MYD b/build/exe/doliwamp/mysql/func.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/func.MYI b/build/exe/doliwamp/mysql/func.MYI deleted file mode 100644 index cbfe35c310e..00000000000 Binary files a/build/exe/doliwamp/mysql/func.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/func.frm b/build/exe/doliwamp/mysql/func.frm deleted file mode 100644 index d572065cbd8..00000000000 Binary files a/build/exe/doliwamp/mysql/func.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_category.MYD b/build/exe/doliwamp/mysql/help_category.MYD deleted file mode 100644 index d3ffdd47d9a..00000000000 Binary files a/build/exe/doliwamp/mysql/help_category.MYD and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_category.MYI b/build/exe/doliwamp/mysql/help_category.MYI deleted file mode 100644 index 1827cfaa604..00000000000 Binary files a/build/exe/doliwamp/mysql/help_category.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_category.frm b/build/exe/doliwamp/mysql/help_category.frm deleted file mode 100644 index f97bae288e6..00000000000 Binary files a/build/exe/doliwamp/mysql/help_category.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_keyword.MYD b/build/exe/doliwamp/mysql/help_keyword.MYD deleted file mode 100644 index ec02aeb4876..00000000000 Binary files a/build/exe/doliwamp/mysql/help_keyword.MYD and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_keyword.MYI b/build/exe/doliwamp/mysql/help_keyword.MYI deleted file mode 100644 index 8c5a7a6359b..00000000000 Binary files a/build/exe/doliwamp/mysql/help_keyword.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_keyword.frm b/build/exe/doliwamp/mysql/help_keyword.frm deleted file mode 100644 index 2fb3b009667..00000000000 Binary files a/build/exe/doliwamp/mysql/help_keyword.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_relation.MYD b/build/exe/doliwamp/mysql/help_relation.MYD deleted file mode 100644 index 493c37c9c19..00000000000 Binary files a/build/exe/doliwamp/mysql/help_relation.MYD and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_relation.MYI b/build/exe/doliwamp/mysql/help_relation.MYI deleted file mode 100644 index ecb69cc0360..00000000000 Binary files a/build/exe/doliwamp/mysql/help_relation.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_relation.frm b/build/exe/doliwamp/mysql/help_relation.frm deleted file mode 100644 index 8ddfdddc71e..00000000000 Binary files a/build/exe/doliwamp/mysql/help_relation.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_topic.MYD b/build/exe/doliwamp/mysql/help_topic.MYD deleted file mode 100644 index 3b660b25496..00000000000 Binary files a/build/exe/doliwamp/mysql/help_topic.MYD and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_topic.MYI b/build/exe/doliwamp/mysql/help_topic.MYI deleted file mode 100644 index 7a727366752..00000000000 Binary files a/build/exe/doliwamp/mysql/help_topic.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/help_topic.frm b/build/exe/doliwamp/mysql/help_topic.frm deleted file mode 100644 index a09a2c3b590..00000000000 Binary files a/build/exe/doliwamp/mysql/help_topic.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/host.MYD b/build/exe/doliwamp/mysql/host.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/host.MYI b/build/exe/doliwamp/mysql/host.MYI deleted file mode 100644 index f0cbeb6258c..00000000000 Binary files a/build/exe/doliwamp/mysql/host.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/host.frm b/build/exe/doliwamp/mysql/host.frm deleted file mode 100644 index dbafa8d2b90..00000000000 Binary files a/build/exe/doliwamp/mysql/host.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/proc.MYD b/build/exe/doliwamp/mysql/proc.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/proc.MYI b/build/exe/doliwamp/mysql/proc.MYI deleted file mode 100644 index a843a2efda1..00000000000 Binary files a/build/exe/doliwamp/mysql/proc.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/proc.frm b/build/exe/doliwamp/mysql/proc.frm deleted file mode 100644 index 32b9b0e2eda..00000000000 Binary files a/build/exe/doliwamp/mysql/proc.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/procs_priv.MYD b/build/exe/doliwamp/mysql/procs_priv.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/procs_priv.MYI b/build/exe/doliwamp/mysql/procs_priv.MYI deleted file mode 100644 index a7f955241e1..00000000000 Binary files a/build/exe/doliwamp/mysql/procs_priv.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/procs_priv.frm b/build/exe/doliwamp/mysql/procs_priv.frm deleted file mode 100644 index b2cd3f50ef2..00000000000 Binary files a/build/exe/doliwamp/mysql/procs_priv.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/tables_priv.MYD b/build/exe/doliwamp/mysql/tables_priv.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/tables_priv.MYI b/build/exe/doliwamp/mysql/tables_priv.MYI deleted file mode 100644 index 6a2409ff79a..00000000000 Binary files a/build/exe/doliwamp/mysql/tables_priv.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/tables_priv.frm b/build/exe/doliwamp/mysql/tables_priv.frm deleted file mode 100644 index 4afbd02da2d..00000000000 Binary files a/build/exe/doliwamp/mysql/tables_priv.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone.MYD b/build/exe/doliwamp/mysql/time_zone.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/time_zone.MYI b/build/exe/doliwamp/mysql/time_zone.MYI deleted file mode 100644 index 68053049224..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone.frm b/build/exe/doliwamp/mysql/time_zone.frm deleted file mode 100644 index 8391df0107e..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone_leap_second.MYD b/build/exe/doliwamp/mysql/time_zone_leap_second.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/time_zone_leap_second.MYI b/build/exe/doliwamp/mysql/time_zone_leap_second.MYI deleted file mode 100644 index e41863b0448..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone_leap_second.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone_leap_second.frm b/build/exe/doliwamp/mysql/time_zone_leap_second.frm deleted file mode 100644 index 90bb6cda6df..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone_leap_second.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone_name.MYD b/build/exe/doliwamp/mysql/time_zone_name.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/time_zone_name.MYI b/build/exe/doliwamp/mysql/time_zone_name.MYI deleted file mode 100644 index e13615ccdef..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone_name.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone_name.frm b/build/exe/doliwamp/mysql/time_zone_name.frm deleted file mode 100644 index a1515da6890..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone_name.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone_transition.MYD b/build/exe/doliwamp/mysql/time_zone_transition.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/time_zone_transition.MYI b/build/exe/doliwamp/mysql/time_zone_transition.MYI deleted file mode 100644 index f28e4cec8d2..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone_transition.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone_transition.frm b/build/exe/doliwamp/mysql/time_zone_transition.frm deleted file mode 100644 index 52e2d1da633..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone_transition.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone_transition_type.MYD b/build/exe/doliwamp/mysql/time_zone_transition_type.MYD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/build/exe/doliwamp/mysql/time_zone_transition_type.MYI b/build/exe/doliwamp/mysql/time_zone_transition_type.MYI deleted file mode 100644 index 2f7e0c7127d..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone_transition_type.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/time_zone_transition_type.frm b/build/exe/doliwamp/mysql/time_zone_transition_type.frm deleted file mode 100644 index cee25730d40..00000000000 Binary files a/build/exe/doliwamp/mysql/time_zone_transition_type.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysql/user.MYD b/build/exe/doliwamp/mysql/user.MYD deleted file mode 100644 index 80ef951da55..00000000000 Binary files a/build/exe/doliwamp/mysql/user.MYD and /dev/null differ diff --git a/build/exe/doliwamp/mysql/user.MYI b/build/exe/doliwamp/mysql/user.MYI deleted file mode 100644 index 63b81f1efbf..00000000000 Binary files a/build/exe/doliwamp/mysql/user.MYI and /dev/null differ diff --git a/build/exe/doliwamp/mysql/user.frm b/build/exe/doliwamp/mysql/user.frm deleted file mode 100644 index ef5c451c7f3..00000000000 Binary files a/build/exe/doliwamp/mysql/user.frm and /dev/null differ diff --git a/build/exe/doliwamp/mysqlinitpassword.bat.install b/build/exe/doliwamp/mysqlinitpassword.bat.install index d90cee71b33..4b9e9ac4173 100644 --- a/build/exe/doliwamp/mysqlinitpassword.bat.install +++ b/build/exe/doliwamp/mysqlinitpassword.bat.install @@ -17,7 +17,7 @@ ping 1.1.1.1 -n 1 -w 5000 > nul echo ---- Execute mysqlinitpassword.bat to init mysql password >> doliwamp.log 2>>&1 echo For a first installation, if an error is shown here, rerun the script manually. >> doliwamp.log 2>>&1 echo For an update, you will get an "Access denied" error, ignore this error. >> doliwamp.log 2>>&1 -.\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqladmin -v -w6 -P WAMPMYSQLPORT -u root password WAMPMYSQLNEWPASSWORD >> doliwamp.log 2>>&1 +.\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysqladmin -v -w6 -P WAMPMYSQLPORT -u root password WAMPMYSQLNEWPASSWORD >> doliwamp.log 2>>&1 echo ---- End script >> doliwamp.log 2>>&1 diff --git a/build/exe/doliwamp/mysqltestinstall.bat.install b/build/exe/doliwamp/mysqltestinstall.bat.install index 56baaeacb4d..b718cf94ac8 100644 --- a/build/exe/doliwamp/mysqltestinstall.bat.install +++ b/build/exe/doliwamp/mysqltestinstall.bat.install @@ -6,7 +6,7 @@ REM To change password, run following SQL command: REM GRANT ALL ON *.* TO login@localhost IDENTIFIED BY "newpassword" echo ----------------------------------------------------------- -echo This programm wil test a login on Mysql installed +echo This programm will test a login on Mysql installed echo by DoliWamp. echo Version: WAMPMYSQLVERSION echo Port: WAMPMYSQLPORT @@ -19,6 +19,6 @@ SET SAVES= SET /P SAVES=Enter password to test: echo Try to connect to mysql with this password -.\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysql -P WAMPMYSQLPORT -u root -p%SAVES% +.\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysql -P WAMPMYSQLPORT -u root -p%SAVES% pause diff --git a/build/exe/doliwamp/php.ini.install b/build/exe/doliwamp/php.ini.install index af8ef607112..a2576c7652d 100644 --- a/build/exe/doliwamp/php.ini.install +++ b/build/exe/doliwamp/php.ini.install @@ -644,53 +644,36 @@ default_socket_timeout = 60 ; If an extension does not load, run "deplister.exe php_xxx.dll" to get list of dependency dll missing. -extension=php_bz2.dll -extension=php_curl.dll -;extension=php_dba.dll -;extension=php_dbase.dll -;extension=php_exif.dll -;extension=php_fdf.dll -extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_ifx.dll -;extension=php_imap.dll -;extension=php_interbase.dll -extension=php_intl.dll -extension=php_ldap.dll -extension=php_mbstring.dll -;extension=php_mcrypt.dll -;extension=php_mhash.dll -;extension=php_mime_magic.dll -;extension=php_ming.dll -;extension=php_msql.dll -;extension=php_mssql.dll -extension=php_mysql.dll -extension=php_mysqli.dll -;extension=php_oci8.dll -extension=php_openssl.dll -;extension=php_pdo.dll ; for php 5.2.11 -;extension=php_pdo_firebird.dll -;extension=php_pdo_mssql.dll -extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_oci8.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_pspell.dll -;extension=php_shmop.dll -;extension=php_snmp.dll -extension=php_soap.dll -extension=php_sockets.dll -;extension=php_sqlite.dll -;extension=php_sybase_ct.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll -;extension=php_zip.dll -;extension=php_xdebug-2.0.5-5.2.dll +extension=bz2 +extension=curl +;extension=dba +;extension=com_dotnet +;extension=enchant +;extension=fileinfo +;extension=ftp +extension=gd2 +;extension=gettext +;extension=gmp +extension=intl +extension=imap +;extension=interbase +extension=ldap +extension=mbstring +extension=exif ; Must be after mbstring as it depends on it +extension=mysqli +;extension=odbc +extension=openssl +;extension=pdo_firebird +extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=phpdbg_webhelper +;extension=shmop +extension=soap +extension=sockets ;;;;;;;;;;;;;;;;;;; diff --git a/build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install b/build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install index c8e33e4620b..675cfd4750e 100644 --- a/build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install +++ b/build/exe/doliwamp/startdoliwamp_manual_donotuse.bat.install @@ -12,7 +12,8 @@ start WAMPROOT\bin\apache\apacheWAMPAPACHEVERSION\bin\httpd.exe -f conf\httpd.co echo echo Running Mysql as user process (this process does not return so we use "start") -start WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --defaults-file=WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\my.ini --console +REM start WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --defaults-file=WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\my.ini --console REM start WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld.exe --defaults-file=WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\my.ini --console +start WAMPROOT\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysqld.exe --defaults-file=WAMPROOT\bin\mariadb\mariadbWAMPMYSQLVERSION\my.ini --console pause \ No newline at end of file diff --git a/build/exe/doliwamp/uninstall_services.bat.install b/build/exe/doliwamp/uninstall_services.bat.install index 0f12a29b6e2..a7329ab1b8f 100644 --- a/build/exe/doliwamp/uninstall_services.bat.install +++ b/build/exe/doliwamp/uninstall_services.bat.install @@ -11,9 +11,11 @@ NET STOP doliwampapache NET STOP doliwampmysqld REM Mysql 5.0- -.\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --remove doliwampmysqld +REM .\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --remove doliwampmysqld REM Mysql 5.1+ REM .\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld.exe --remove doliwampmysqld +REM Maraiadb +.\bin\mariadb\mariadbWAMPMYSQLVERSION\bin\mysqld.exe --remove doliwampmysqld REM wampmanager.exe -quit -id={doliwampserver} echo ---- End script >> doliwamp.log 2>>&1 diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 933c5b8f994..24b32dcff91 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -1067,7 +1067,7 @@ if ($nboftargetok) { print "Remove target $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe...\n"; unlink "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"; - print "Check that in your Wine setup, you create a Z: drive that point to your / directory.\n"; + print "Check that in your Wine setup, you have created a Z: drive that point to your / directory.\n"; $SOURCEBACK=$SOURCE; $SOURCEBACK =~ s/\//\\/g; diff --git a/build/obs/README b/build/obs/README index c8a29e1dac4..44427c01d49 100644 --- a/build/obs/README +++ b/build/obs/README @@ -1,20 +1,24 @@ README (English) ################################################## OBS Package tools +OBE - openSUSE Build Service ################################################## -This directory contains files to explain how to publish -a package onto OBS +This directory contains an instruction to explain +how to publish a package onto OBS. -# Create a project onto OBS -#---------------------------------- -https://build.opensuse.org +# Create a project onto OBS +--------------------------- +https://build.opensuse.org -Packaging rules: http://en.opensuse.org/Portal:Packaging + +# Packaging rules: +------------------ +https://en.opensuse.org/Portal:Packaging Add attributes: -OBS:Screenshots URL of screenshot http://www.dolibarr.org/images/dolibarr_screenshot1.png +OBS:Screenshots URL of screenshot https://www.dolibarr.org/images/dolibarr_screenshot1.png OBS:QualityCategory Development|Testing|Stable|Private OBS:Maintained 1 @@ -28,22 +32,24 @@ To submit a snapshot for building, we should have a service file with content -How to have such a service file created automatically ? -Go into project you want to update. It mught be: +# How to have such a service file created automatically ? +--------------------------------------------------------- +Go into project you want to update. It might be: - openSUSE Build Service > Projects > Application:ERP:Dolibarr > dolibarr - or your private project Once logged, click on "Add file" in section "Source Files", then select mode "Upload From: Remote URL" Keep empty for "Filename", choose "Remote URL" and enter into last field, URL that should looks like this: -http://www.dolibarr.org/files/stable/package_rpm_generic/dolibarr-x.y.v-0.4.src.rpm +https://www.dolibarr.org/files/stable/package_rpm_generic/dolibarr-x.y.v-0.4.src.rpm Then add into Advanded - Attributes -OBS:Screenshots http://www.dolibarr.org/images/dolibarr_screenshot1.png -OBS:QualityCategory Stable|Testing|Development|Private +OBS:Screenshots https://www.dolibarr.org/images/dolibarr_screenshot1.png +OBS:QualityCategory Stable|Testing|Development|Private # Move project into official directory +-------------------------------------- - Enter a bug to ask to be a maintener of a category or to add a new one. For example: https://bugzilla.novell.com/show_bug.cgi?id=848083 to be a maintener of category https://build.opensuse.org/project/show/Application:ERP diff --git a/composer.json b/composer.json index 86acd2f8d60..d26bbb05ad9 100644 --- a/composer.json +++ b/composer.json @@ -28,11 +28,12 @@ "ext-curl" : "*", "ckeditor/ckeditor" : "4.12.1", "mike42/escpos-php" : "2.2", - "mobiledetect/mobiledetectlib" : "2.8.33", + "mobiledetect/mobiledetectlib" : "2.8.34", "phpoffice/phpexcel" : "1.8.1", "restler/framework" : "3.0.0-RC6", - "tecnickcom/tcpdf" : "^6.2", - "luracast/restler" : "^3.0" + "tecnickcom/tcpdf" : "6.3.2", + "nnnick/chartjs" : "^2.9", + "stripe/stripe-php" : "6.43.1" }, "require-dev" : { "jakub-onderka/php-parallel-lint" : "^0", @@ -56,4 +57,4 @@ "ext-zip" : "ODT, Excel and file compression support", "ext-xml" : "Excel support" } -} \ No newline at end of file +} diff --git a/composer.lock b/composer.lock index e9ea391bba2..09c71674512 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "16c94fd4f22ac17820d85ee57b0616e1", + "content-hash": "17e906996157e8a94564f686a6096dc5", "packages": [ { "name": "ckeditor/ckeditor", @@ -49,24 +49,31 @@ }, { "name": "mike42/escpos-php", - "version": "v1.2.1", + "version": "v2.2", "source": { "type": "git", "url": "https://github.com/mike42/escpos-php.git", - "reference": "cfea4c4fc95516ac953e1e5b623f854632afa2ee" + "reference": "e5496cf819b048b11877117bd14a9cea4fb17c03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mike42/escpos-php/zipball/cfea4c4fc95516ac953e1e5b623f854632afa2ee", - "reference": "cfea4c4fc95516ac953e1e5b623f854632afa2ee", + "url": "https://api.github.com/repos/mike42/escpos-php/zipball/e5496cf819b048b11877117bd14a9cea4fb17c03", + "reference": "e5496cf819b048b11877117bd14a9cea4fb17c03", "shasum": "" }, "require": { - "php": ">=5.3.0" + "ext-mbstring": "*", + "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "4.5.*", - "squizlabs/php_codesniffer": "2.*" + "guzzlehttp/guzzle": "^5.3", + "phpunit/phpunit": "^4.8", + "squizlabs/php_codesniffer": "^3.2" + }, + "suggest": { + "ext-gd": "Used for image printing if present.", + "ext-imagick": "Will be used for image printing if present. Required for PDF printing or use of custom fonts.", + "guzzlehttp/guzzle": "Allows the use of the ApiConnector to send print jobs over HTTP." }, "type": "library", "autoload": { @@ -79,28 +86,12 @@ "MIT" ], "authors": [ - { - "name": "Roni Saha", - "email": "roni.cse@gmail.com" - }, { "name": "Michael Billington", "email": "michael.billington@gmail.com" - }, - { - "name": "Gergely Radics", - "email": "gerifield@ustream.tv" - }, - { - "name": "Warren Doyle", - "email": "w.doyle@fuelled.co" - }, - { - "name": "vharo", - "email": "vharo@geepok.com" } ], - "description": "Thermal receipt printer library, for use with ESC/POS compatible printers", + "description": "PHP receipt printer library for use with ESC/POS-compatible thermal and impact printers", "homepage": "https://github.com/mike42/escpos-php", "keywords": [ "ESC-POS", @@ -109,20 +100,20 @@ "print", "receipt" ], - "time": "2016-04-25T01:14:07+00:00" + "time": "2019-10-05T05:59:00+00:00" }, { "name": "mobiledetect/mobiledetectlib", - "version": "2.8.33", + "version": "2.8.34", "source": { "type": "git", "url": "https://github.com/serbanghita/Mobile-Detect.git", - "reference": "cd385290f9a0d609d2eddd165a1e44ec1bf12102" + "reference": "6f8113f57a508494ca36acbcfa2dc2d923c7ed5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/cd385290f9a0d609d2eddd165a1e44ec1bf12102", - "reference": "cd385290f9a0d609d2eddd165a1e44ec1bf12102", + "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/6f8113f57a508494ca36acbcfa2dc2d923c7ed5b", + "reference": "6f8113f57a508494ca36acbcfa2dc2d923c7ed5b", "shasum": "" }, "require": { @@ -161,7 +152,48 @@ "mobile detector", "php mobile detect" ], - "time": "2018-09-01T15:05:15+00:00" + "time": "2019-09-18T18:44:20+00:00" + }, + { + "name": "nnnick/chartjs", + "version": "v2.9.3", + "source": { + "type": "git", + "url": "https://github.com/chartjs/Chart.js.git", + "reference": "06f73dc3590084b2c464bf08189c7aee2b6b92d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chartjs/Chart.js/zipball/06f73dc3590084b2c464bf08189c7aee2b6b92d2", + "reference": "06f73dc3590084b2c464bf08189c7aee2b6b92d2", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "release/2.0": "v2.0-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "NICK DOWNIE", + "email": "hello@nickdownie.com" + } + ], + "description": "Simple HTML5 charts using the canvas element.", + "homepage": "https://www.chartjs.org/", + "keywords": [ + "JS", + "chart" + ], + "time": "2019-11-14T18:37:30+00:00" }, { "name": "phpoffice/phpexcel", @@ -282,6 +314,62 @@ ], "time": "2019-05-12T15:15:11+00:00" }, + { + "name": "stripe/stripe-php", + "version": "v6.43.1", + "source": { + "type": "git", + "url": "https://github.com/stripe/stripe-php.git", + "reference": "42fcdaf99c44bb26937223f8eae1f263491d5ab8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stripe/stripe-php/zipball/42fcdaf99c44bb26937223f8eae1f263491d5ab8", + "reference": "42fcdaf99c44bb26937223f8eae1f263491d5ab8", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "1.*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/process": "~2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Stripe\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Stripe and contributors", + "homepage": "https://github.com/stripe/stripe-php/contributors" + } + ], + "description": "Stripe PHP Library", + "homepage": "https://stripe.com/", + "keywords": [ + "api", + "payment processing", + "stripe" + ], + "time": "2019-08-29T16:56:12+00:00" + }, { "name": "tecnickcom/tcpdf", "version": "6.3.2", @@ -1815,7 +1903,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=5.3.0", + "php": ">=5.5.0", "ext-curl": "*" }, "platform-dev": [] diff --git a/dev/dolibarr_changes.txt b/dev/dolibarr_changes.txt index 48c6bf342a9..79f927160ee 100644 --- a/dev/dolibarr_changes.txt +++ b/dev/dolibarr_changes.txt @@ -274,9 +274,39 @@ PARSEDOWN $shortage = 4 - $len % 4; + +OAUTH +----- +Add into Class Google of file OAuth2/Service/Google: + + // LDR CHANGE Add approval_prompt to force the prompt if value is set to 'force' so it force return of a "refresh token" in addition to "standard token" + public $approvalPrompt='auto'; + public function setApprouvalPrompt($prompt) + { + if (!in_array($prompt, array('auto', 'force'), true)) { + // @todo Maybe could we rename this exception + throw new InvalidAccessTypeException('Invalid approuvalPrompt, expected either auto or force.'); + } + $this->approvalPrompt = $prompt; + } + + + JEDITABLE.JS ------------ *