Commit Graph

44 Commits

Author SHA1 Message Date
objecttothis
6fec2464f8 Update to CodeIgniter 4.7.2 (#4485)
- Merge Config and Core File Changes 4.6.3 > 4.6.4
- Merge Config and Core File Changes 4.6.4 > 4.7.0
- Added app\Config\WorkerMode.php
- Merge Config and Core File Changes Not previously merged
- Added app\Config\Hostnames.php
- Corrected incorrect CSS property used in invoice.php view.
- Corrected unknown CSS properties used in register.php view.
- Used shorthand CSS in debug.css
- Corrected indentation in barcode_sheet.php view.
- Corrected indentation in footer.php view.
- Corrected indentation in invoice_email.php view.
- Replaced obsolete attributes with CSS style attributes in barcode_sheet.php
- Replaced obsolete attribute in error_exception.php
- Replaced obsolete attribute in invoice_email.php
- Replaced obsolete attribute in quote_email.php
- Replaced obsolete attributes in work_order_email.php
- Fixed indentation in system_info.php
- Replaced <strong> tag outside <p> tags, which isn't allowed, with style attributes.
- Simplified js return logic and indentation fixes in tax_categories.php
- Simplified js return logic in tax_codes.php
- Simplified js return logic in tax_jurisdictions.php
- Removed unnecessary labels in manage views.
- Rewrite JavaScript function and PHP to be more readable in bar.php, hbar.php, line.php and pie.php
- Added type declarations, return types and an import to app\Config\Services
- Updated Attribute.php parameter type
- Updated Receiving_lib.php parameter type
- Updated Receivings.php parameter types and updated PHPdocs
- Updated tabular_helper.php parameter types and updated PHPdocs
- Added type declarations and corrected PHPdocs in url_helper.php
- Added return types to functions
- Revert $objectSrc value in ContentSecurityPolicy.php
- Correct return type in Customer->get_stats()
- Correct return type in Item->get_info_by_id_or_number()
- Correct misspelling in border-spacing
- Added missing css style semicolons
- Resolve operator precedence ambiguity.
- Resolve column mismatch.
- Added missing escaping in view.
- Updated requirement for PHP 8.2
- Resolve unresolved conflicts
- Added PHP 8.2 requirement to the README.md
- Fixed bugs in display of UI
- Fixed duplicated `>` in app\Views\Expenses\manage.php
- Removed excess whitespace at the end of some lines in table_filter_persistence.php
- Added missing `>` in app\Views\Expenses\manage.php
- Corrected grammar in PHPdoc in table_filter_persistence.php
- Remove bug causing `\` to be injected into the new giftcard value
- Fix bug causing DROPDOWN Attribute Values to not save correctly
- Added check for null in $normalizedItemId

- Removing < PHP 8.2 from linting and tests
- Update Linter to not include PHP 8.2 and 8.1
- Remove PHP 8.1 unit test cycle.
- Update Bug Report Template
- Update Composer files for CodeIgniter 4.7.2
- Updated INSTALL.md to reflect changes.

---------

Signed-off-by: objec <objecttothis@gmail.com>
2026-04-14 01:05:10 +04:00
jekkos
e70395bb85 Fix: Improve allowedHostnames .env configuration and fail-fast in production (#4482)
* Fix: Improve allowedHostnames .env configuration and fail-fast in production

Addresses GitHub issue #4480: .env app.allowedHostnames does not work as intended

## Problem
- CodeIgniter 4 cannot override array properties from .env
- Setting app.allowedHostnames.0, app.allowedHostnames.1 did NOT populate the array
- Application always fell back to 'localhost' silently in production
- Host header injection protection was effectively disabled

## Solution
1. Support comma-separated .env values: app.allowedHostnames = 'domain1.com,domain2.com'
2. Fail explicitly in production if not configured (throws RuntimeException)
3. Allow localhost fallback in development/testing with ERROR-level logging
4. Update documentation with clear setup instructions

## Changes
- app/Config/App.php: Parse comma-separated .env values, fail in production
- .env.example: Update format documentation
- INSTALL.md: Add prominent security section
- tests/Config/AppTest.php: Comprehensive tests for new behavior

Fixes #4480
Related: GHSA-jchf-7hr6-h4f3
---------

Co-authored-by: Ollama <ollama@steganos.dev>
2026-04-08 23:07:45 +02:00
Ollama
f74f286a51 feat: migrate CI from Travis to GitHub Actions with enhancements
- Convert Travis CI configuration to GitHub Actions workflows
- Add multi-arch Docker builds (amd64/arm64)
- Implement initial schema migration for fresh database installs
- Add multi-attribute search with AND logic and sort by attribute columns
- Address various PR review feedback and formatting fixes
2026-04-01 16:46:03 +00:00
Ollama
7cb1d95da7 Fix: Host Header Injection vulnerability (GHSA-jchf-7hr6-h4f3)
Security: Prevent Host Header Injection attacks by validating HTTP_HOST
against a whitelist of allowed hostnames before constructing the baseURL.

Changes:
- Add getValidHost() method to validate HTTP_HOST against allowedHostnames
- If allowedHostnames is empty, log warning and fall back to 'localhost'
- If host not in whitelist, log warning and use first allowed hostname
- Update .env.example with allowedHostnames documentation
- Add security configuration section to INSTALL.md
- Add unit tests for host validation

This addresses the security advisory where the application constructed
baseURL from the attacker-controllable HTTP_HOST header, allowing:
- Login form phishing via manipulated form actions
- Cache poisoning via poisoned asset URLs

Fixes GHSA-jchf-7hr6-h4f3
2026-03-14 15:34:21 +00:00
BhojKamal
aee5f31cf5 Add show/hide cost price & profit feature - in reports #4130 (#4350)
* Add show/hide cost price & profit feature

* .env should be ignored.

* js code formatted. .vscode folder ignore for vscode user settings.json

* style is replaced with bootstrap class, formatted and .env.example

* toggle button on table to like in other

* comment corrected.

* class re-factored

* minor refactor

* formatted with 4 space

---------

Co-authored-by: Lotussoft Youngtech <lotussoftyoungtech@gmail.com>
2025-12-21 15:23:39 +05:45
BudsieBuds
02d63fe067 Update install docs (#4217)
- updated to show support for php 8.4
2025-04-16 07:17:28 +02:00
objecttothis
09530c1609 Feature bump ci to 4.6.0 (#4197)
* Replace tabs with spaces

Signed-off-by: objecttothis <objecttothis@gmail.com>

* Composer package bumps

- Bump codeigniter4/framework to 4.6.0
- Bump codeIgniter/coding-standard to ^1.8
- Bump codeigniter4/devkit to ^1.3
- Updated framework files required by CI4.6.0
- Removed Deprecated variables
- Added new file in the repo from framework

Signed-off-by: objecttothis <objecttothis@gmail.com>

* Reflect PHP 8.4 support
Updates for PHP 8.4 support introduced with the upgrade to CodeIgniter 4.6.x

* Update INSTALL.md

- Revert PHP 8.4 support for now.
- Removed extra space before comma

---------

Signed-off-by: objecttothis <objecttothis@gmail.com>
Co-authored-by: BudsieBuds <bas_hubers@hotmail.com>
2025-04-03 14:16:06 +04:00
jekkos
f399714dc3 Add .env to dist zip (#4194) 2025-03-28 22:19:26 +01:00
jekkos
69bcd84699 Update INSTALL instructions (#4194) 2025-03-26 19:43:34 +01:00
jekkos
f3fae110d6 Update install instructions + remove build on tag 2025-03-23 22:49:27 +01:00
BudsieBuds
4d9cd80f8b Random fixes #2
- change old directories to new (ci4)
- updated documentation for clarity
2025-02-05 21:58:28 +01:00
jekkos
3e63b99aef Add reference to unstable in INSTALL.md (#4136) 2024-12-27 00:34:21 +01:00
jekkos
402997f0da Update INSTALL.md 2024-08-17 01:24:27 +02:00
jekkos
60c3a9a96f Remove stale .bowerrc, update INSTALL.md 2024-06-15 17:19:15 +02:00
jekkos
b4d117011a Add CI4 language migration scripts (#3468) 2024-06-15 17:19:15 +02:00
Steve Ireland
145930ce5b Mostly clean up the build documentation, but also corrects an error in the creation of the database script that supports migration from phppos 2024-06-15 17:19:15 +02:00
Steve Ireland
38a1815d31 Adjust the build config to allow building the CI4 branch. 2024-06-15 17:19:15 +02:00
titusito
69b2c4c51c Update INSTALL.md
add php-xml to needed extensions
2023-04-22 21:08:07 +02:00
jekkos
c8a83fbb57 Update unstable build URL
NPM package uploads are working again. Update the URL in the documentation.
2022-04-29 15:26:29 +02:00
jekkos
81087fc093 Update link to unstable builds (#2834) 2022-01-10 12:25:19 +01:00
BudsieBuds
33cb3fa3f9 Text improvements
Improved some of the non-trivial files.
2021-10-20 22:32:02 +02:00
jekkos
92f25c3993 Remove bintray link (#3110) 2021-06-09 15:46:07 +02:00
jekkos
fc4e320ee3 Remove cPanel instructions as it's not maintained 2021-04-22 15:36:17 +02:00
Jeroen Peelaerts
a6cc04f49f Move ssl setup to separate compose file 2021-02-14 10:44:22 +01:00
FrancescoUK
d34ff02686 Update supported PHP versions 2020-12-23 12:46:47 +00:00
objecttothis
88033799a0 Update INSTALL.md
Added support for PHP 7.4
2020-07-28 15:31:04 +04:00
jekkos
ba19bc5ad6 Update INSTALL.md 2020-03-07 12:51:28 +01:00
jekkos
a9b63fa360 Update INSTALL.md 2020-03-07 12:50:07 +01:00
FrancescoUK
3b628bed45 Prepare Release 3.3.2 2020-01-03 22:38:57 +00:00
FrancescoUK
281d2df621 Prepare release 3.3.1 2019-10-26 17:43:16 +01:00
WShells
3a06f55db9 Update INSTALL.md 2019-10-06 00:31:24 +03:00
WShells
5fc20600e7 Removed breaks
Removed Line Breaks
2019-10-06 00:28:53 +03:00
WShells
0b9a767d9a Sectioning Fix
Sectioning Fix
2019-09-29 20:06:09 +03:00
WShells
a90f34d938 Added cPanel Auto Installer
For  VPS, Dedicated Servers, or Shared Hosting Installation running on cPanel with **SSH** access:

Stand-alone [WS-OSPOS-Installer](https://github.com/WebShells/WS-OSPOS-Installer.git), it will handle:

. Database.php config files generation
. Creation of db User & Password depending on user's input of Dbname, Username, Password, & Hostname ( No need for phpmyadmin )
. Imports default Db SQL files in order to run the project.
2019-09-29 18:24:03 +03:00
WShells
53a1adca04 Added cPanel Auto Installer
For  VPS, Dedicated Servers, or Shared Hosting Installation running on cPanel with **SSH** access:

Stand-alone [OSPOS-Auto-Installer](https://github.com/WebShells/WS-OSPOS-Installer.git), it will handle:

. Database.php config files generation
. Creation of db User & Password depending on user's input of Dbname, Username, Password, & Hostname ( No need for phpmyadmin )
. Imports default Db SQL files in order to run the project.
2019-09-29 18:19:03 +03:00
FrancescoUK
17b8cfd70c Add new docker installation guideline, update LICENSE 2019-09-29 13:35:35 +01:00
jekkos
79ca1ce58c Minor update Install + Readme 2019-09-29 01:35:37 +02:00
FrancescoUK
27dd669579 Fix PHP version in INSTALL.md 2019-09-28 21:22:37 +01:00
jekkos
3a66646e09 Update minimum supported PHP version 2018-11-16 09:04:28 +01:00
jekkos
b2aaae9f38 Update cloud install instructions 2018-06-17 14:27:35 +02:00
h00pl4
7ee6221952 Fix Docker run command
I believe that the quotation mark is in the wrong place currently.
2018-05-05 14:00:57 +10:00
jekkos
cd19babd6e Update Cloud install procedure (#1939) 2018-04-11 01:31:13 +02:00
jekkos
fbce16acd1 Update INSTALL with commonly reported 'system folder missing' 'bug' 2018-04-06 13:48:33 +02:00
jekkos
0a289f9ed4 Upade README.md, add INSTALL.md 2018-04-05 18:35:24 +02:00