Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #1277

Open
wants to merge 1,696 commits into
base: master
Choose a base branch
from
Open

Develop #1277

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1696 commits
Select commit Hold shift + click to select a range
6e87789
Unset foreach variable
alextselegidis Apr 26, 2024
d8845ec
Allow users to edit events in all views
alextselegidis Apr 26, 2024
a8ac22f
Include the unavailabilities to the "all" display in the calendar
alextselegidis Apr 26, 2024
1e4fa88
Fix untranslated secretaries + providers js (errors)
sudwebdesign Apr 24, 2024
b9a4efc
Resolve conflicts
alextselegidis May 11, 2024
9ebeb89
Fix controller Booking : typo default phone_number
sudwebdesign Apr 24, 2024
d99709f
Add the reload button to the page notifications so that users can see…
alextselegidis Apr 26, 2024
39350c7
css layouts bg by theme
sudwebdesign Apr 23, 2024
3b5a2e7
Fix french typos, improve & add missing translations
sudwebdesign Apr 23, 2024
626d777
Idea : initialize calendar view scroll at time
sudwebdesign Apr 23, 2024
f3209b5
Slovak translations
krtcom Apr 17, 2024
a5aa7da
Revert scroll down
alextselegidis Apr 26, 2024
171623c
Fix the calendar drop and resize "undo" functionality
alextselegidis Apr 26, 2024
0784427
Set the Google attendee data only if all the values are available
alextselegidis Apr 26, 2024
55bdcf4
Added and improved Finnish translations
zikkee Feb 20, 2024
b0c0acd
French translation fixes
alextselegidis Apr 26, 2024
0d89bb7
Switch the duration with the appointment date time in the confirmatio…
alextselegidis May 8, 2024
2b49077
Suppress session warnings
alextselegidis May 9, 2024
f1a00b8
Update composer and NPM dependencies
alextselegidis May 11, 2024
949a73a
Make the search method order_by and offset use the provided values
alextselegidis May 11, 2024
37bfc08
Create constant for future month search
alextselegidis May 11, 2024
c33ebed
Change the opacity of the datepicker while loading unavailable dates
alextselegidis May 11, 2024
9007e97
The webhook actions are optional
alextselegidis May 11, 2024
e4ef2da
Expose the internal JS functions so that they be overriden
alextselegidis May 11, 2024
f1abeee
Move the allowed and optional fields to of CRUD controllers to new ov…
alextselegidis May 11, 2024
08998f3
Define get/set methods for related model resources (provider, secreta…
alextselegidis May 11, 2024
0e76641
Update exposed calendar page methods
alextselegidis May 11, 2024
3b01f9b
Echo the slot as a comment so that it can be used by HTML replacement…
alextselegidis May 11, 2024
fd57ddb
Add slots to key positions in the app mark up
alextselegidis May 11, 2024
8294dba
Wording
alextselegidis May 11, 2024
3e0f7e5
Rename the private switch label for more clarity
alextselegidis May 11, 2024
cde5801
GitHub Actions with PHP 8.2
alextselegidis May 11, 2024
6213471
Restructure the links of the about page and add customize link
alextselegidis May 11, 2024
3796843
Update 3rd party NPM libraries
alextselegidis May 11, 2024
33d189a
Add the matomo analytics site ID setting for the Matomo integration (…
alextselegidis May 11, 2024
79f4d50
Booking confirmation background by theme css + DRY
sudwebdesign Apr 30, 2024
ff599e2
Installation labels translated in browser lang
sudwebdesign Apr 30, 2024
a04c0ca
Fix install alert msg not showed, pw confirm id + js errors lang
sudwebdesign Apr 30, 2024
80ada71
Install: Admin Add Language selector + set timezone by server
sudwebdesign Apr 30, 2024
2e9bcac
Install: html lang + language & timezone provider same as admin
sudwebdesign Apr 30, 2024
1788f20
Fix App lib Timezones::get_default_timezone() always UTC
sudwebdesign Apr 30, 2024
97d9219
Fix CodeIgniter creating a lot of session files
sudwebdesign Apr 29, 2024
40cab55
Fix session::sess_regenerate $delete_old_session always null
sudwebdesign Apr 30, 2024
ea4be01
Fix refresh Appointments MONTH calendarView : current2active
sudwebdesign Apr 29, 2024
505abd0
Add missing lang() : Calendar view (default|table) selectors
sudwebdesign Apr 29, 2024
ffde07a
Suppress session start warning
alextselegidis May 11, 2024
9ad6608
Update translations for new timezone and language settings
alextselegidis May 11, 2024
4cf7c1e
Rename the migration classes
alextselegidis May 11, 2024
89c19e5
Merge branch 'refs/heads/tm8544-default_settings' into develop
alextselegidis May 11, 2024
8a7f6b1
Update CHANGELOG.md
alextselegidis May 11, 2024
db778e1
Update booking.js
tm8544 May 12, 2024
de63955
Integrate CalDAV Protocol for appointment syncing (#209)
alextselegidis May 12, 2024
2aea423
Remove test code from the Caldav.php controller (#209)
alextselegidis May 12, 2024
ab8257f
More fixes related to the caldav syncing (#209)
alextselegidis May 12, 2024
b2ecc46
Clean the caldav IDs after disabling syncing (#209)
alextselegidis May 12, 2024
05e4829
Add the LDAP docker configuration (#128)
alextselegidis May 12, 2024
dc2b9f8
Update appointments_modal.js
tm8544 May 13, 2024
a993b83
Add missing isPrivate to service and provider records
alextselegidis May 13, 2024
33cd89d
Merge pull request #1524 from tm8544/patch-3
alextselegidis May 13, 2024
b0ffe4f
Merge pull request #1523 from tm8544/patch-2
alextselegidis May 13, 2024
5967864
Finalize the LDAP integration and complete SSO support in the login p…
alextselegidis May 13, 2024
d482625
Add missing jsdoc comments
alextselegidis May 13, 2024
a4a0cad
Update the spanish translation (#1468)
alextselegidis May 13, 2024
0db1e51
Merge branch 'master' into develop
alextselegidis May 14, 2024
f31bcad
Update @since text in file header comment block
alextselegidis May 14, 2024
f516f30
Fix typo
alextselegidis May 14, 2024
26487c5
Minor corrections to caldav-calendar-sync.md
alextselegidis May 14, 2024
5c1afbc
Add LDAP configuration documentation
alextselegidis May 14, 2024
f54ae1b
Update the German and Greek translations
alextselegidis May 14, 2024
8682911
Remove the details tag
alextselegidis May 14, 2024
ec545a2
Fix the id_caldav_calendar column migration
alextselegidis May 14, 2024
f7e6b21
Make sure that at least one booking field must be set as required
alextselegidis May 14, 2024
7c0b712
Release v1.5.0-alpha.1
alextselegidis May 14, 2024
ec3ec69
Add missing translation key
alextselegidis May 17, 2024
c407bf5
Make sure that rescheduling from the public page will not throw an er…
alextselegidis May 17, 2024
295a5f1
Remove the default paragraph in the message modal
alextselegidis May 17, 2024
98998ad
Attach the fullCalendar instance to the calendar component for easy a…
alextselegidis May 17, 2024
e4cc2fc
Add custom render method that can be easily overriden
alextselegidis May 17, 2024
3f39861
Suppress warning errors and check the environment before using ldap f…
alextselegidis May 20, 2024
7713f3f
Add empty value check (#1529)
alextselegidis May 21, 2024
4703df1
Fix provider filter (#1530)
alextselegidis May 21, 2024
1f17ae6
Suppress session_regenerate_id warning
alextselegidis May 21, 2024
af2e3a0
Skip regenerate if session is not active
alextselegidis May 22, 2024
07bc7b3
Make sure that editing a working plan exception and changing the date…
alextselegidis May 24, 2024
3bc2e69
Update Catalan translations_lang.php
alextselegidis May 27, 2024
2d41f18
Fixed save working plan exception handling for calendar page and non …
alextselegidis May 27, 2024
90a05b2
Add missing translation key
alextselegidis May 27, 2024
cd5b56e
Translate invalid credentials message (#1544)
alextselegidis May 27, 2024
a1184df
Update Finnish translations (#1536)
alextselegidis May 27, 2024
ff4657f
Remove duplicate load
alextselegidis May 27, 2024
81a2f65
Add missing language field from API encoding/decoding
alextselegidis May 27, 2024
99addd2
Use class instead of fading out the error message
alextselegidis May 29, 2024
b49787c
Minor adjustments to the LDAP result display
alextselegidis Jun 1, 2024
9d7e0ba
Whitelist the supported LDAP attributes in order to avoid parsing iss…
alextselegidis Jun 1, 2024
08f8315
Update the LDAP password validation because some servers will not inc…
alextselegidis Jun 1, 2024
3a488c2
Set protocol configuration before creating a new LDAP binding
alextselegidis Jun 1, 2024
29bf31b
Create new "pure_html" helper function that uses the HTML purifier li…
alextselegidis Jun 1, 2024
341c790
Apply the new "pure_html" helper to the content that originates from …
alextselegidis Jun 1, 2024
29e5fce
Do not block the booking page if the cookieconsent is blocked (#1398)
alextselegidis Jun 1, 2024
f324244
Edit Arabic language translations
saud978 Jun 1, 2024
89cff93
Merge branch 'alextselegidis:develop' into develop
saud978 Jun 1, 2024
1b32f83
Update default config-sample.php values
alextselegidis Jun 3, 2024
b800cf2
Correct dest_url value
alextselegidis Jun 3, 2024
6e39583
Change the scope of the "get_available_periods" method to public so t…
alextselegidis Jun 3, 2024
740a1d0
Enlarge popover so that contents display nicely in all languages
alextselegidis Jun 4, 2024
5ee6536
Apply the form-select class to select dropdown elements
alextselegidis Jun 4, 2024
706344c
Update wording
alextselegidis Jun 14, 2024
dd34836
Update the label of the calendar caldav url
alextselegidis Jun 14, 2024
f398d18
Remove the automated calendar detection from the CalDAV sync as it wi…
alextselegidis Jun 14, 2024
88b8f87
Add missing timezone and language props in API
alextselegidis Jun 18, 2024
ea95b20
Do not try to check the ldap credentials if the user has no ldap inst…
alextselegidis Jun 18, 2024
48d8449
Automatically focus the last modal button so that pressing enter subm…
alextselegidis Jun 18, 2024
1a476a4
Update styling of last modal button
alextselegidis Jun 18, 2024
6be7e24
Render non-working time in background
alextselegidis Jun 18, 2024
c95f6d7
Styling for the month view in calendar page
alextselegidis Jun 18, 2024
234a154
Remove opacity from unavailability (applied from background display s…
alextselegidis Jun 18, 2024
721a976
Remove text shadow from calendar
alextselegidis Jun 18, 2024
540af17
Add the please-select option to the booking page step
alextselegidis Jun 18, 2024
00bb543
Log json_exception messages so that we can later troubleshoot them
alextselegidis Jun 20, 2024
2a64531
Default color
alextselegidis Jun 20, 2024
808a073
Remove dot
alextselegidis Jun 20, 2024
35f914a
Merge pull request #1550 from saud978/develop
alextselegidis Jun 21, 2024
1f146ff
Hide the insert working plan button while viewing services in calendar
alextselegidis Jul 1, 2024
2a41f27
Update screenshot
alextselegidis Jul 1, 2024
f15d787
Move the custom fields to the second customer column for better layou…
alextselegidis Jul 1, 2024
5ade840
Release v1.5.0-beta.1
alextselegidis Jul 1, 2024
73cda37
Update translations_lang.php
alextselegidis Jul 4, 2024
a4e98aa
Update translations_lang.php
tm8544 Jul 6, 2024
30c49f6
Merge pull request #1558 from tm8544/patch-3
alextselegidis Jul 7, 2024
1db52fe
Update translations_lang.php
tm8544 Jul 7, 2024
564b7de
Always re-enable the primary button
alextselegidis Jul 4, 2024
935156a
Update error message
alextselegidis Jul 4, 2024
b0f7dec
Formatting
alextselegidis Jul 7, 2024
4c7696e
Disable x-frame-options by default
alextselegidis Jul 7, 2024
8dab03f
Select first service and provider if only one option exists
alextselegidis Jul 7, 2024
2b081a8
Set right class to remaining dropdown elements
alextselegidis Jul 7, 2024
fec1b1b
Merge remote-tracking branch 'refs/remotes/origin/master' into develop
alextselegidis Jul 7, 2024
8c8aaaa
Move the default option to the beginning of the category dropdown
alextselegidis Jul 7, 2024
0242c70
Correct the Learn More button behavior
alextselegidis Jul 7, 2024
87ede44
Update php version in docs
alextselegidis Jul 7, 2024
5cda141
Upgrade Dockerfile to PHP8.3
alextselegidis Jul 7, 2024
f496419
Update vendor package so that vendor files support PHP8.1 as well
alextselegidis Jul 7, 2024
e45fcf3
Release v1.5.0
alextselegidis Jul 7, 2024
fd74e3f
Remove duplicate line
alextselegidis Jul 7, 2024
62618a2
Add the 1.5 upgrade notes
alextselegidis Jul 8, 2024
001231c
Merge pull request #1559 from tm8544/patch-4
alextselegidis Jul 9, 2024
abfb649
Missing calls
alextselegidis Jul 11, 2024
d12d4f1
Typo
alextselegidis Jul 11, 2024
bdc5782
Update how the booking selection displays on the screen
alextselegidis Jul 15, 2024
cc268f8
Minor fix
alextselegidis Jul 15, 2024
5b387b0
Another fix related to booking selection
alextselegidis Jul 15, 2024
7d6c58f
Missing white-listed field
alextselegidis Jul 15, 2024
b4a8711
Fix translation
alextselegidis Jul 22, 2024
e89686c
Set the displayed language with a URL query parameter (#1566)
alextselegidis Jul 22, 2024
37374a2
Correct the example service category requests
alextselegidis Jul 22, 2024
493fff1
Add company colors to notifications
ml1nk Jul 23, 2024
2fac608
Fix console caldav sync
ml1nk Jul 23, 2024
9f2c893
Correct route for service categories (#1562)
alextselegidis Jul 29, 2024
93fff8d
Update Spanish translation
willyaranda Jul 29, 2024
f290afd
Correct the appointment reschedule link in the add-to-google link
alextselegidis Jul 30, 2024
7b42d8a
fix loop when going a month back
ml1nk Jul 31, 2024
665e635
Updated the italian translation
alextselegidis Aug 6, 2024
dcf9015
Merge pull request #1576 from willyaranda/update_es_translation
alextselegidis Aug 7, 2024
14a0c38
Patch error with Safari while booking related to time parsing (#1584)
alextselegidis Aug 12, 2024
1040122
Correct the dropdown style in Safari
alextselegidis Aug 12, 2024
58f53b1
Fix validation rules for the customer model (#1581)
alextselegidis Aug 12, 2024
faa6672
Fix the array-unpack PHP error during installation
alextselegidis Aug 13, 2024
99cf4c8
Improve the Model "optional" method functionality for empty values
alextselegidis Aug 13, 2024
ca66429
Hook the optional field checks to all CRUD controllers
alextselegidis Aug 13, 2024
aa3bbdf
Call global methods in appointments modal
alextselegidis Aug 13, 2024
21625cd
updated translations, batch 1
herzogmedia Aug 14, 2024
74e57a2
Translations batch 2
herzogmedia Aug 14, 2024
8fbdacb
fix typo
herzogmedia Aug 14, 2024
f0bd29a
add suggestion by @cn-tools
herzogmedia Aug 15, 2024
821b125
Merge pull request #1585 from herzogmedia/240814_UpdateGermanTrans
alextselegidis Aug 16, 2024
25f6cdf
Skip gulp prompt
alextselegidis Aug 20, 2024
ce04713
Correct the npx parameter
alextselegidis Aug 20, 2024
f237f99
Update the turkish translation
alextselegidis Aug 27, 2024
547513b
Do not parse the base url dynamically if the request is a CLI request
alextselegidis Aug 28, 2024
89feea4
Add missing key
alextselegidis Aug 29, 2024
c9da3c8
Correct the error formatting
alextselegidis Aug 29, 2024
2558eee
Fix typo
alextselegidis Sep 1, 2024
b985eed
Add Traditional Chinese(zh-TW) translation
PeterDaveHello Aug 22, 2024
0b388a3
Update the remaining translation files
alextselegidis Sep 6, 2024
0067d96
Add more translations (norwegian, latvian, lithuanian, bosnian, slove…
alextselegidis Sep 6, 2024
4a6d2e6
Fix translation
alextselegidis Oct 7, 2024
e906e22
Merge pull request #1573 from UPONU-GmbH/feature/console
alextselegidis Oct 7, 2024
de344f3
Apply fixes to the CalDAV syncing library so that syncing works for r…
alextselegidis Oct 7, 2024
d1a5494
Update the contents of the caldav-calendar-sync.md
alextselegidis Oct 7, 2024
34242d6
Correct applicable version in doc files
alextselegidis Oct 10, 2024
833b7ba
Return null if there is no input stream
alextselegidis Oct 10, 2024
65a4cc5
Use the block display mode so that the right colors render in the mon…
alextselegidis Oct 14, 2024
62f76ad
Increase the color contrast of the booking header selection information
alextselegidis Oct 14, 2024
e11228b
Add the provider name to the unavailability popover
alextselegidis Oct 14, 2024
2d7e862
Add Portuguese Transations
RobertoValente Oct 18, 2024
fc60d63
Wording
alextselegidis Oct 21, 2024
6172e5e
Fix working plan configuration am/pm hour parsing so that it works in…
alextselegidis Oct 21, 2024
cec8300
Upgrade the development run scripts (also add Restart and Stop)
alextselegidis Oct 23, 2024
b6f8897
Escape the exclamation mark character
alextselegidis Oct 23, 2024
855a7e8
Fix default sorting
alextselegidis Oct 28, 2024
47a2ce9
Merge branch 'develop' into main
RobertoValente Oct 29, 2024
71a7b7f
#1611 Breaks bug when Time Format is set to regular
ammarcoux Nov 1, 2024
d58d9f7
Allow the notification method to return a null time zone value (like …
alextselegidis Nov 5, 2024
29fb168
Fix the parsing of unavailability dates so that those render correctl…
alextselegidis Nov 5, 2024
7145fd6
Merge pull request #1605 from RobertoValente/main
alextselegidis Nov 5, 2024
4722013
Merge pull request #1612 from alxlab-zone66x/feature/1611
alextselegidis Nov 5, 2024
df0703b
Fix the z-index of the cookie notice modal and the bottom cookie banner
alextselegidis Nov 5, 2024
1153d76
Merge pull request #1595 from PeterDaveHelloKitchen/AddTraditionalChi…
alextselegidis Nov 5, 2024
2c84a06
Typo
alextselegidis Nov 20, 2024
bf3af80
Remove the restart script
alextselegidis Nov 21, 2024
c6d44fe
Replace the internal email library with phpmailer for better smtp ser…
alextselegidis Nov 21, 2024
947bd79
Set UTF-8 charset for PHP Mailer
alextselegidis Nov 22, 2024
37e3618
Improve the CalDAV syncing mechanism so that it connects to more syst…
alextselegidis Nov 25, 2024
37553e0
Call PHPMailer isHtml once
alextselegidis Nov 27, 2024
3d6e3d8
Move common code into the get_php_mailer function
alextselegidis Nov 27, 2024
0a36662
Fix PHP warning when fixing unavailabilities
alextselegidis Nov 29, 2024
a0361e2
Update german wording
alextselegidis Nov 29, 2024
855c94f
Fix the str_contains php error
alextselegidis Dec 3, 2024
aea5cab
Fix ICS file mimetype
skylarmt Dec 9, 2024
c8aef54
Only check for existing user if the users table exists
alextselegidis Dec 9, 2024
0522e67
Add case for null $caldav_event
alextselegidis Dec 18, 2024
016bef8
Update the php.ini overrides
alextselegidis Dec 19, 2024
a6f78b1
Remove mcrypt as it does not support php 8.4.1
alextselegidis Dec 19, 2024
3251923
Update translations
alextselegidis Dec 19, 2024
54529a2
Add support for PHP 8.4 (#1640)
alextselegidis Dec 19, 2024
0b48389
Merge pull request #1630 from skylarmt/patch-1
alextselegidis Dec 19, 2024
d30d616
Update CHANGELOG.md
alextselegidis Dec 19, 2024
ca19442
Update german translation file
alextselegidis Dec 19, 2024
b2ed516
Update the docker-compose baikal version
alextselegidis Dec 19, 2024
8e14176
Incorrect Timezone Handling in CalDAV Synchronization Causes Time Shi…
alextselegidis Dec 19, 2024
ebd67b2
No color change in the appointment modal window (in the backend calen…
alextselegidis Dec 19, 2024
376c04c
Add new secret token header field to webhooks and default to X-EA-Tok…
alextselegidis Dec 19, 2024
0d4ee9e
Update the twitter link in the about page
alextselegidis Dec 19, 2024
c8bb40d
The plain user password might appear in the log messages in case of a…
alextselegidis Dec 19, 2024
76039fb
Show the any-provider if there are more than one providers
alextselegidis Dec 19, 2024
6a2620e
Release v1.5.1-beta.1
alextselegidis Dec 19, 2024
a7b999c
added albanian language
glalo Dec 22, 2024
37e0530
Fallback value for the SCRIPT_NAME prop
alextselegidis Jan 10, 2025
2d0014a
Merge pull request #1646 from glalo/feature/sq-language
alextselegidis Jan 17, 2025
0c59b43
Merge pull request #1569 from UPONU-GmbH/feature/companycolor
alextselegidis Jan 17, 2025
5b273df
Merge pull request #1577 from UPONU-GmbH/fix/bookingloop
alextselegidis Jan 17, 2025
59a0442
Update CHANGELOG.md
alextselegidis Jan 17, 2025
f07bc7c
Fix loop when going a month back in an edge case (#1577)
alextselegidis Jan 17, 2025
4022a59
Dedicated provider links do not pre-select the relevant provider on t…
alextselegidis Jan 20, 2025
f64fda1
Release v1.5.1
alextselegidis Jan 20, 2025
bbadf02
Update CHANGELOG.md
alextselegidis Jan 20, 2025
40b20c6
Update version reference
alextselegidis Jan 20, 2025
fc3d70a
Nullable param
alextselegidis Jan 20, 2025
32a0edb
Correct the working plan handling when the user has the military time…
alextselegidis Jan 21, 2025
d4c75e7
Fix the GTag script URL html rendering (#1666)
alextselegidis Feb 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ insert_final_newline = true
indent_style = space
indent_size = 4

[{package.json,.travis.yml}]
[{package.json,*.yml}]
indent_size = 2
4 changes: 4 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Security Vulnerabilities

If you discover a security vulnerability within Easy!Appointments, please send an email to [email protected].
All security vulnerabilities will be promptly addressed.
23 changes: 23 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: CI

on: [ push ]

jobs:
build-test:
runs-on: ubuntu-latest

steps:
- name: Git clone
uses: actions/checkout@v2
- name: Install dependencies
uses: php-actions/composer@v6
with:
php_version: 8.2
php_extensions: gd
version: 2
- name: PHPUnit Tests
uses: php-actions/phpunit@v3
env:
TEST_NAME: Test
with:
configuration: phpunit.xml
8 changes: 5 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
/docs/apigen/html
/docs/jsdoc/html
/docs/plato/html
/docker/mysql/*
!/docker/mysql/.gitkeep
/docker/mysql/
/docker/baikal/
/docker/openldap/
/node_modules/
/npm-debug.log
/assets/js/**/*.min.js
/assets/css/**/*.min.css
/assets/css/**/*.css
/assets/vendor
/config.php
/storage/backups/*
!/storage/backups/.htaccess
Expand Down
11 changes: 11 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.idea
.github
.run
application/language/*
build
docker
docs
node_modules
storage
system
vendor
12 changes: 12 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"printWidth": 120,
"tabWidth": 4,
"singleQuote": true,
"bracketSpacing": false,
"bracketSameLine": false,
"quoteProps": "preserve",
"trailingComma": "all",
"trailingCommaPHP": true,
"phpVersion": "8.0",
"plugins": ["@prettier/plugin-php"]
}
17 changes: 17 additions & 0 deletions .run/Build.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Build" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="if [ -z &quot;$(docker compose ls | grep $(basename &quot;$PWD&quot;))&quot; ]; then docker stop $(docker ps -a -q) &amp;&amp; docker network prune -f &amp;&amp; docker compose up -d --force-recreate &amp;&amp; docker exec -it $(basename &quot;$PWD&quot;)-php-fpm-1 npm run build; else docker exec -it $(basename &quot;$PWD&quot;)-php-fpm-1 npm run build; fi " />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
<option name="INTERPRETER_PATH" value="/bin/zsh" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="EXECUTE_IN_TERMINAL" value="true" />
<option name="EXECUTE_SCRIPT_FILE" value="false" />
<envs />
<method v="2" />
</configuration>
</component>
17 changes: 17 additions & 0 deletions .run/SSH.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="SSH" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="if [ -z &quot;$(docker compose ls | grep $(basename &quot;$PWD&quot;))&quot; ]; then docker stop $(docker ps -a -q) &amp;&amp; docker network prune -f &amp;&amp; docker compose up -d --force-recreate &amp;&amp; docker exec -it $(basename &quot;$PWD&quot;)-php-fpm-1 bash; else docker exec -it $(basename &quot;$PWD&quot;)-php-fpm-1 bash; fi" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
<option name="INTERPRETER_PATH" value="/bin/zsh" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="EXECUTE_IN_TERMINAL" value="true" />
<option name="EXECUTE_SCRIPT_FILE" value="false" />
<envs />
<method v="2" />
</configuration>
</component>
17 changes: 17 additions & 0 deletions .run/Start.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Start" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="if [ -z &quot;$(docker compose ls | grep $(basename &quot;$PWD&quot;))&quot; ]; then docker stop $(docker ps -a -q) &amp;&amp; docker network prune -f &amp;&amp; docker compose up -d --force-recreate &amp;&amp; docker exec -it $(basename &quot;$PWD&quot;)-php-fpm-1 npm start; else echo &quot;Docker compose is already running\!&quot;; fi " />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
<option name="INTERPRETER_PATH" value="/bin/zsh" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="EXECUTE_IN_TERMINAL" value="true" />
<option name="EXECUTE_SCRIPT_FILE" value="false" />
<envs />
<method v="2" />
</configuration>
</component>
17 changes: 17 additions & 0 deletions .run/Stop.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Stop" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="docker stop $(docker ps -a -q)" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
<option name="INTERPRETER_PATH" value="/bin/zsh" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="EXECUTE_IN_TERMINAL" value="true" />
<option name="EXECUTE_SCRIPT_FILE" value="false" />
<envs />
<method v="2" />
</configuration>
</component>
104 changes: 104 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,110 @@
This file contains the code changes that were introduced into each release (starting from v1.1.0) so that is easy for
developers to maintain and readjust their custom modifications on the main project codebase.

## [Unreleased]

### Fixed

- Fix the GTag script URL html rendering (#1666)




## [1.5.1] - 2025-01-20

### Added

- Add support for PHP 8.4 (#1640)
- Add new secret token header field to webhooks and default to X-EA-Token (#1607)
- Add company colors to notifications (#1569)
- Add Albanian Language Translations (#1646)

### Fixed

- Fix the date parsing issue on Safari web browsers during the booking process (#1584)
- Fix working plan configuration am/pm hour parsing so that it works in all languages (#1606)
- Improve the CalDAV syncing mechanism so that it connects to more systems without problems (#1622)
- Fix various 1.5.0 API issues (#1562)
- Correct email issues by replacing the internal email library with phpmailer (#1587)
- Fix ICS file mimetype (#1630)
- Incorrect Timezone Handling in CalDAV Synchronization Causes Time Shifts (#1626)
- No color change in the appointment modal window (in the backend calendar) (#1641)
- The plain user password might appear in the log messages in case of an error (#1590)
- Fix loop when going a month back in an edge case (#1577)
- Dedicated provider links do not pre-select the relevant provider on the booking page (#1651)
- Correct the service / provider booking header display (#1650)



## [1.5.0] - 2024-07-07

### Added

- Display month with the earliest available day (#1075)
- Allow admins to define the business closed dates (blocked-periods) (#432)
- Allow working plan exceptions to be defined as non-working days (#1383)
- Create an official docker image of the project and host it on Docker Hub(#1116)
- Automatically select the next available date in the booking page or display a message if this month is unavailable (#1204)
- Add Open Graph information to the public booking page so that it renders nicely once shared on social media apps (#1382)
- Preselect the date with a query parameter (#1376)
- Add the location and notes fields to the appointment email notifications (if a value was provided) (#1341)
- Add date, from and till query parameters to the filter the appointments index results by date (#1134)
- Allow the users to define their own status and assign them to appointments (#244)
- Add new setting for limiting new public bookings in the future (#1203)
- Automatically enable the secure cookie config if the current installation uses HTTPS (#1126)
- Add language and timezone properties to the customer API resource (#1157)
- Add support for the definition of custom webhooks via the settings page (#581)
- Allow the user to select their own preferred language (#1263)
- Support multiple Bootswatch themes for the app (#1205)
- Providers and secretaries must only be able to see and manage their own customers (#1199)
- Use the default service duration if the user just clicks on a calendar slot for creating a new appointment (#1237)
- Google Calendar synchronisation failure when symbols/emoji appear in events to be imported (#1182)
- Add the customer timezone field in the appointment modal of the calendar page (#1094)
- Add a new setting that toggles the login link of the booking page (#1148)
- Add custom Matomo analytics integration (#974)
- Prefill the form field though url parameters (#1021)
- Color code events by provider or service (#422)
- Service duration values shorter than 5 minutes should be acceptable via the services page (#1110)
- Add a new "is_private" flag to services and providers so that they do not appear in the booking page (#378)
- Skip the first booking step when only one service and one provider are available (#349)
- Enable the change of the brand logo and colors from the backend (#789)
- Add the ability to temporarily block new appointments / set away message (#940)
- Add optional (configurable with setting) phone number validation (#820)
- Add an option to deactivate the remove-all-data function for customers (#808)
- Skip the first booking step if both provider and service are preselected (#1117)
- Make delete appointment via API to send emails just like the calendar page does (#1101)
- Create new layout structure for the markup, so that common HTML markup is being reused (#1152)
- Have an option to hide customer data fields during booking (#1081)
- Add a SECURITY.md file to the repository (#1122)
- Add support for custom fields on customers (#1133)
- Add from email/name and reply-to settings in the email.php configuration file (#1465)
- Create a new setting that will define the default timezone of the application (#1390)
- Integrate CalDAV Protocol for appointment syncing (#209)
- Add LDAP / Active Directory integration (#128)

### Changed

- Do not allow a customer to book the same hours multiple times (#1420)
- All the user roles with access to the backend calendar page can filter by services (#956)
- Update Bootstrap to version 5 (#1150)
- Update FullCalendar to version 5 (#1151)
- The availability generation algorithm needs performance improvements when many appointments are stored in the system (#1171)
- Support for relative paths when loading resources or working with the session (#1158)
- Support line breaks when displaying the service description (#1149)
- Remove the CodeIgniter fork from the composer.json file and re-import the system directory (#1109)

### Fixed

- Sync all the providers without errors, when the user clicks on the "sync" button and "all" is selected in the calendar page (#1365)
- Non-working time not showing correctly in the week view of calendar (#1381)
- Make sure the booking cancellation is a post request and has a reason value provided (#1178)

### Removed

- Remove the engine directory and files form the app (they're deprecated) (#971)
- Remove the PHPMailer dependency from the app and use the built-in CodeIgniter mailer (#970)


## [1.4.3] - 2022-03-08

### Added
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ You can build the files by running `npm run build`. This command will bundle eve

You will need to perform the following steps to install the application on your server:

* Make sure that your server has Apache/Nginx, PHP and MySQL installed.
* Make sure that your server has Apache/Nginx, PHP (8.2+) and MySQL installed.
* Create a new database (or use an existing one).
* Copy the "easyappointments" source folder on your server.
* Make sure that the "storage" directory is writable.
Expand Down
18 changes: 18 additions & 0 deletions application/config/app.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php defined('BASEPATH') or exit('No direct script access allowed');

/*
|--------------------------------------------------------------------------
| App Configuration
|--------------------------------------------------------------------------
|
| Declare some of the global config values of Easy!Appointments.
|
*/

$config['version'] = '1.5.1'; // This must be changed manually.

$config['url'] = Config::BASE_URL;

$config['debug'] = Config::DEBUG_MODE;

$config['cache_busting_token'] = 'TSJ77';
32 changes: 24 additions & 8 deletions application/config/autoload.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@

$autoload['packages'] = [];


/*
| -------------------------------------------------------------------
| Auto-load Libraries
Expand All @@ -55,7 +54,6 @@

$autoload['libraries'] = ['database', 'session'];


/*
| -------------------------------------------------------------------
| Auto-load Helper Files
Expand All @@ -65,8 +63,29 @@
| $autoload['helper'] = array('url', 'file');
*/

$autoload['helper'] = ['custom_exceptions', 'url', 'file', 'language', 'asset', 'config', 'render', 'rate_limit', 'security'];

$autoload['helper'] = [
'array',
'asset',
'config',
'date',
'debug',
'env',
'file',
'html',
'http',
'installation',
'language',
'password',
'path',
'permission',
'rate_limit',
'routes',
'session',
'setting',
'string',
'url',
'validation'
];

/*
| -------------------------------------------------------------------
Expand All @@ -81,8 +100,7 @@
|
*/

$autoload['config'] = ['google', 'email'];

$autoload['config'] = ['app', 'google', 'email'];

/*
| -------------------------------------------------------------------
Expand All @@ -99,7 +117,6 @@

$autoload['language'] = [];


/*
| -------------------------------------------------------------------
| Auto-load Models
Expand All @@ -112,6 +129,5 @@

$autoload['model'] = [];


/* End of file autoload.php */
/* Location: ./application/config/autoload.php */
Loading