├── tests ├── .gitignore ├── bootstrap.php └── Functional │ ├── DavTest.php │ ├── DashboardTest.php │ ├── AddressBookControllerTest.php │ ├── CalendarControllerTest.php │ └── UserControllerTest.php ├── translations ├── .gitignore ├── security.en.xlf └── security.de.xlf ├── public ├── robots.txt ├── favicon.ico ├── images │ ├── logo.png │ ├── marker.png │ ├── github-mark.png │ └── github-mark-white.png ├── favicon-16x16.png ├── favicon-32x32.png ├── apple-touch-icon.png ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── site.webmanifest ├── index.php ├── css │ └── style.css ├── js │ └── color.mode.toggler.js └── .htaccess ├── .github ├── FUNDING.yml └── workflows │ └── ci.yml ├── config ├── packages │ ├── test │ │ ├── twig.yaml │ │ ├── validator.yaml │ │ ├── framework.yaml │ │ ├── web_profiler.yaml │ │ └── monolog.yaml │ ├── mailer.yaml │ ├── prod │ │ ├── routing.yaml │ │ ├── deprecations.yaml │ │ ├── monolog.yaml │ │ └── doctrine.yaml │ ├── dev │ │ ├── web_profiler.yaml │ │ ├── debug.yaml │ │ └── monolog.yaml │ ├── translation.yaml │ ├── doctrine_migrations.yaml │ ├── routing.yaml │ ├── validator.yaml │ ├── twig.yaml │ ├── cache.yaml │ ├── framework.yaml │ ├── doctrine.yaml │ └── security.yaml ├── routes.yaml ├── routes │ ├── dev │ │ ├── framework.yaml │ │ └── web_profiler.yaml │ └── attributes.yaml ├── bundles.php └── services.yaml ├── _screenshots ├── mode.png ├── user.png ├── sharing.png ├── status.png ├── dashboard.png ├── setup_info.png ├── PSD_files_for_screenshots.zip └── bad_timezone_configuration_env_var.png ├── src ├── Version.php ├── Constants.php ├── Kernel.php ├── Controller │ ├── SecurityController.php │ └── Admin │ │ └── DashboardController.php ├── Repository │ ├── PrincipalRepository.php │ └── CalendarInstanceRepository.php ├── Services │ ├── BasicAuth.php │ └── Utils.php ├── Entity │ ├── User.php │ ├── PropertyStorage.php │ ├── CalendarChange.php │ ├── AddressBookChange.php │ ├── Card.php │ ├── Lock.php │ ├── SchedulingObject.php │ ├── Calendar.php │ ├── Principal.php │ └── CalendarObject.php ├── Logging │ └── Monolog │ │ └── PasswordFilterProcessor.php ├── Security │ ├── AdminUser.php │ ├── AdminUserProvider.php │ └── LoginFormAuthenticator.php ├── Command │ └── SyncBirthdayCalendars.php ├── Form │ ├── AddressBookType.php │ ├── UserType.php │ └── CalendarInstanceType.php ├── DataFixtures │ └── AppFixtures.php └── Plugins │ ├── BirthdayCalendarPlugin.php │ └── PublicAwareDAVACLPlugin.php ├── templates ├── _partials │ ├── back_button.html.twig │ ├── flashes.html.twig │ ├── delete_modal.html.twig │ ├── delegate_row.html.twig │ ├── add_delegate_modal.html.twig │ ├── share_modal.html.twig │ └── navigation.html.twig ├── users │ ├── edit.html.twig │ ├── delegates.html.twig │ └── index.html.twig ├── calendars │ └── edit.html.twig ├── addressbooks │ ├── edit.html.twig │ └── index.html.twig ├── base.html.twig ├── mails │ └── scheduling.txt.twig ├── security │ └── login.html.twig ├── index.html.twig └── dashboard.html.twig ├── .dockerignore ├── docker ├── configurations │ ├── opcache.ini │ ├── supervisord.conf │ ├── nginx.conf │ └── Caddyfile ├── docker-compose-standalone.yml ├── docker-compose-sqlite.yml ├── docker-compose-postgresql.yml ├── .env ├── docker-compose.yml └── Dockerfile ├── .env.test ├── .gitignore ├── bin ├── phpunit └── console ├── .php-cs-fixer.php ├── phpunit.xml.dist ├── migrations ├── Version20191125093508.php ├── Version20210928132307.php ├── Version20191203111729.php ├── Version20250421163214.php ├── Version20231001214111.php ├── Version20191202091507.php ├── Version20231001214112.php ├── Version20191113170650.php ├── Version20231229203515.php ├── Version20250409193948.php ├── Version20231001214113.php └── Version20230209142217.php ├── LICENSE ├── composer.json └── .env /tests/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /translations/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: ['https://www.paypal.me/tchap'] 2 | -------------------------------------------------------------------------------- /config/packages/test/twig.yaml: -------------------------------------------------------------------------------- 1 | twig: 2 | strict_variables: true 3 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /_screenshots/mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/_screenshots/mode.png -------------------------------------------------------------------------------- /_screenshots/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/_screenshots/user.png -------------------------------------------------------------------------------- /public/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/images/logo.png -------------------------------------------------------------------------------- /_screenshots/sharing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/_screenshots/sharing.png -------------------------------------------------------------------------------- /_screenshots/status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/_screenshots/status.png -------------------------------------------------------------------------------- /config/packages/mailer.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | mailer: 3 | dsn: '%env(MAILER_DSN)%' 4 | -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/favicon-32x32.png -------------------------------------------------------------------------------- /public/images/marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/images/marker.png -------------------------------------------------------------------------------- /_screenshots/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/_screenshots/dashboard.png -------------------------------------------------------------------------------- /_screenshots/setup_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/_screenshots/setup_info.png -------------------------------------------------------------------------------- /config/packages/prod/routing.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | router: 3 | strict_requirements: null 4 | -------------------------------------------------------------------------------- /public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/apple-touch-icon.png -------------------------------------------------------------------------------- /config/routes.yaml: -------------------------------------------------------------------------------- 1 | #index: 2 | # path: / 3 | # controller: App\Controller\DefaultController::index 4 | -------------------------------------------------------------------------------- /public/images/github-mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/images/github-mark.png -------------------------------------------------------------------------------- /config/packages/test/validator.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | validation: 3 | not_compromised_password: false 4 | -------------------------------------------------------------------------------- /public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/images/github-mark-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/public/images/github-mark-white.png -------------------------------------------------------------------------------- /_screenshots/PSD_files_for_screenshots.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/_screenshots/PSD_files_for_screenshots.zip -------------------------------------------------------------------------------- /src/Version.php: -------------------------------------------------------------------------------- 1 | « {{ text }} -------------------------------------------------------------------------------- /config/packages/test/framework.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | test: true 3 | session: 4 | storage_factory_id: session.storage.factory.mock_file -------------------------------------------------------------------------------- /_screenshots/bad_timezone_configuration_env_var.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchapi/davis/HEAD/_screenshots/bad_timezone_configuration_env_var.png -------------------------------------------------------------------------------- /config/packages/test/web_profiler.yaml: -------------------------------------------------------------------------------- 1 | web_profiler: 2 | toolbar: false 3 | intercept_redirects: false 4 | 5 | framework: 6 | profiler: { collect: false } 7 | -------------------------------------------------------------------------------- /config/packages/dev/web_profiler.yaml: -------------------------------------------------------------------------------- 1 | web_profiler: 2 | toolbar: true 3 | intercept_redirects: false 4 | 5 | framework: 6 | profiler: { only_exceptions: false } 7 | -------------------------------------------------------------------------------- /config/routes/attributes.yaml: -------------------------------------------------------------------------------- 1 | controllers: 2 | resource: ../../src/Controller/ 3 | type: attribute 4 | 5 | kernel: 6 | resource: App\Kernel 7 | type: attribute 8 | -------------------------------------------------------------------------------- /config/packages/translation.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | default_locale: en 3 | translator: 4 | default_path: '%kernel.project_dir%/translations' 5 | fallbacks: 6 | - en 7 | -------------------------------------------------------------------------------- /src/Constants.php: -------------------------------------------------------------------------------- 1 | symfony/framework-bundle ### 2 | /.env.local 3 | /.env.local.php 4 | /.env.*.local 5 | /config/secrets/prod/prod.decrypt.private.php 6 | /public/bundles/ 7 | /var/ 8 | /vendor/ 9 | ###< symfony/framework-bundle ### 10 | 11 | ###> symfony/phpunit-bridge ### 12 | .phpunit 13 | .phpunit.result.cache 14 | /phpunit.xml 15 | ###< symfony/phpunit-bridge ### 16 | ###> friendsofphp/php-cs-fixer ### 17 | /.php_cs.cache 18 | ###< friendsofphp/php-cs-fixer ### 19 | 20 | .DS_Store 21 | TODO.todo 22 | webdav_* -------------------------------------------------------------------------------- /templates/users/edit.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'base.html.twig' %} 2 | {% set menu = 'resources' %} 3 | 4 | {% block body %} 5 | 6 | {% include '_partials/back_button.html.twig' with { url: path('user_index'), text: "users.back"|trans } %} 7 | 8 | {% if username %} 9 |
{{ "users.username"|trans }} : {{ delegate.username }}
{{ delegate.uri }}
23 | {{ addressbook.description }}
26 | {{ "addressbooks.uri"|trans }} :{{ addressbook.uri }} — {{ "addressbooks.contacts"|trans({'%count%': addressbook.cards|length}) }}
27 |
30 | {{ "users.username"|trans }} : {{ principal.username }}
{{ principal.uri }}{% if principal.isAdmin %} — {{ "users.administrator"|trans }}{% endif %}
29 |
41 | {{ version }} (SabreDAV {{ sabredav_version }})
43 |
44 | {{ authMethod }}{% if authMethod == 'Basic' %} ({{ "dashboard.auth_realm"|trans }}: {{ authRealm }}){% endif %}{{ invite_from_address|default('Not set') }}{{ timezone.actual_default }}
49 | {% if timezone.not_set_in_app %}{{ "dashboard.no_timezone_configuration"|trans }}{% endif %}
50 | {% if timezone.bad_value %}{{ "dashboard.bad_timezone_configuration"|trans }}{% endif %}
51 |