Commit Graph
161 Commits
Author SHA1 Message Date
Laurent Dinclaux 16af27a3f4 Add installation instructions to README 2026-02-10 14:02:52 +11:00
Laurent Dinclaux 3c4d856d60 Fix SQL schema issues across all database engines
- Increase password column from varchar(64) to varchar(255) to
  prevent silent truncation of encrypted passwords
- Add missing UNIQUE constraint on iid in MySQL
- Add missing IX_ident_switch_iid index in PostgreSQL
- Remove deprecated int display width in MySQL (int(10) -> int)
- Fix trailing comma syntax error in SQLite 2018121800 migration
- Normalize indentation across all initial SQL files
- Add migration 2026021000 for all engines to fix existing installs
2026-02-10 14:02:52 +11:00
Laurent Dinclaux 958af7769f Ignore config.inc.php in gitignore 2026-02-10 14:02:52 +11:00
Laurent Dinclaux 7b1a68aad6 Add conflicting packages to prevent co-installation
Declare boressoft/ident_switch (original package, same DB table)
and toteph42/identity_switch (similar plugin) as conflicts.
2026-02-10 14:02:52 +11:00
Laurent Dinclaux 651bb19d05 Split ident_switch.php into focused classes
Extract business logic into dedicated classes under lib/:
- IdentSwitchForm: form building, validation, and persistence
- IdentSwitchSwitcher: account switching, SMTP config, special folders
- IdentSwitchPreconfig: domain-based preconfiguration

The main plugin class remains the orchestrator, registering hooks
and delegating to the appropriate handler. Constants changed from
private to public to allow cross-class access.
2026-02-10 14:02:49 +11:00
Laurent Dinclaux 456d44c677 Fix and complete all localization files
- fr_FR, de_DE: add missing keys (imap.delimiter, smtp.auth.imap,
  smtp.auth.none)
- it_IT, nl_NL: rewrite with current key names (form.common.*,
  form.imap.*, form.smtp.*) and add all missing SMTP keys
- All 7 languages now have the same complete set of keys
2026-02-10 10:11:04 +11:00
Laurent Dinclaux 70f863ac68 Modernize config.inc.php.dist for Roundcube 1.6+
- Use $config instead of deprecated $rcmail_config
- Replace array() with short array syntax []
- Replace # comments with // for consistency
- Fix typo: 'threated' -> 'treated'
2026-02-10 10:11:02 +11:00
Laurent Dinclaux d979e45fa3 Add AGPL-3.0 LICENSE file 2026-02-10 10:06:20 +11:00
Laurent Dinclaux 85ed8815f1 Modernize ident_switch.php for PHP 8.2+ and Roundcube 1.6+
- Add docblocks to all classes, methods, and constants
- Add type declarations to all parameters and return types
- Add visibility modifiers to all methods and constants
- Use PHP 8.0+ syntax: match expression, named arguments,
  str_contains(), str_starts_with(), str_ends_with()
- Replace array() with short array syntax []
- Use null coalescing operator ?? instead of isset ternaries
- Use early returns instead of deeply nested if/else
- Remove Roundcube < 1.6 compatibility code (smtp_server/smtp_port)
- Fix unreferenced $config variable in on_switch default restore
- Use union type array|false for get_preconfig return
2026-02-10 10:00:22 +11:00
Laurent Dinclaux 8b9447fc63 Bump PHP requirement to >= 8.2 (first non-EOL version) 2026-02-10 10:00:22 +11:00
Laurent Dinclaux 6a4a4e09df Add copyright headers and contributors list
Add proper copyright notices to all source files with accurate date
ranges per contributor based on git history. Add contributors to
composer.json authors and README.
2026-02-10 10:00:22 +11:00
Laurent Dinclaux 8f800610cf Remove minified JS files
Minification is unnecessary as compression is handled at the HTTP
server level and Roundcube provides its own asset pipeline.
2026-02-10 09:42:46 +11:00
Laurent Dinclaux 6cf3d3da3a Improve .gitignore for IDE, OS and Composer files 2026-02-10 09:41:47 +11:00
Laurent Dinclaux 7627e6bc23 Update README with fork info and v5.x compatibility 2026-02-10 08:41:18 +11:00
Laurent Dinclaux 745b8cc38f Fork: update composer.json for new package
- Rename package to gecka/roundcube-ident_switch
- Change license from GPL-3.0+ to AGPL-3.0+
- Bump PHP requirement to >= 8.1
- Bump roundcube/plugin-installer to >= 0.3.0
- Set Roundcube min-version to 1.6
- Update homepage and support URLs to GitHub
- Update composer repository URL to HTTPS
2026-02-10 08:39:00 +11:00
Boris Gulay 52923e1278 Update readme 2022-08-01 21:58:38 +03:00
Boris Gulay 5577699dae Fix incompatibility introduced in PR #4.
Closes #88.
4.4.2
2022-08-01 21:55:30 +03:00
Gergely Papp eb8175fb7c Merged in master (pull request #5)
Fixes for #74, #82

Approved-by: Boris Gulay
4.4.1
2022-02-09 18:16:02 +00:00
Gergely Papp 3e803f65a2 Merged BoresExpress/ident_switch into master 2022-02-01 13:07:49 +01:00
Boris Gulay ad97f4bfd0 Use identity from field. Thanx Daniel Haag.
Closes #44.
4.4
2022-01-17 19:30:39 +03:00
Mickael 181ac6b27c Merged in Mickael/ident_switchphp-solve-the-issue-that-do-1642283330232 (pull request #4)
ident_switch.php - Solve the issue that don't set the good configuration variable for the smtp_host on the latest version + dev of roundcube

Approved-by: Boris Gulay
2022-01-17 15:55:00 +00:00
Mickael ae7b905824 ident_switch.php - Solve the issue that don't set the good configuration variable for the smtp_host on the latest version + dev of roundcube 2022-01-15 21:48:55 +00:00
Gergely Papp 5aed4c9947 fixes #74 2021-12-28 16:11:48 +00:00
Gergely Papp 46eba62185 Fixes #82 2021-12-28 16:10:23 +00:00
Boris Gulay ca790d72de Add Slovenian translation. Thanx to Marko Ambrožič 4.3.5 2021-02-03 00:28:03 +03:00
Boris Gulay af54e4b099 Remove version 4.3.4 2020-12-17 21:35:31 +03:00
Boris Gulay da17fb896b Bump up version 4.3.3 2020-12-17 00:15:05 +03:00
Boris Gulay afc4f54594 Merge branch 'master' of bitbucket.org:BoresExpress/ident_switch 4.3.2 2020-12-16 23:57:08 +03:00
Boris Gulay 7795a0fbf9 Fix SQlite scripts. Thanx to T S. Closes #76 2020-12-16 23:56:28 +03:00
Boris Gulay 6fa82d6ba5 Fix missing comma 2020-06-06 23:27:58 +03:00
Boris Gulay fff6c6b95a Update readme 2020-06-01 17:28:54 +03:00
Boris Gulay 92d0f40e3c Add version to composer.json 2020-06-01 17:28:20 +03:00
Boris Gulay 33555a94d4 Remove debug logging 4.3 2020-06-01 17:21:12 +03:00
Boris Gulay 5f6f2eb095 Render selector with only one query 2020-06-01 17:20:12 +03:00
Boris Gulay 2e09a92bc3 ender account selector in a modern way 2020-06-01 16:50:15 +03:00
Boris Gulay 072ef65fdf Add option to disable SMTP auth
Closes #61
2020-06-01 16:34:19 +03:00
Boris Gulay cb7936bf71 Handle hosts with protocol correctly.
Closes #68
2020-05-31 15:43:39 +03:00
Boris Gulay 46f58d694f Fix IMAP delimiter translation 2020-05-31 14:42:50 +03:00
Boris Gulay 07d1366825 Migrate to VSCode 2020-05-31 14:42:37 +03:00
Boris Gulay b8a751c4ff Merge branch 'master' of bitbucket.org:BoresExpress/ident_switch 2020-04-21 21:30:44 +03:00
Boris Gulay 312026b059 Quote all identifier for MySQL/MariaDB. Closes #54 2020-04-21 21:30:21 +03:00
Boris Gulay f54d9c9618 Quote all identifier for MySQL/MariaDB. Closes # 54 2020-04-21 21:29:42 +03:00
Boris Gulay 8176ab9c26 Add Postgres migration for special folders 2019-12-26 22:56:17 +03:00
Christian Landvogt dbb50903d9 Merged in landch/ident_switch/special_folders (pull request #3)
Special folders

Approved-by: Boris Gulay <boris@gulay.name>
2019-12-26 19:48:02 +00:00
Christian Landvogt fa0d0c1684 adjust MySQL database - postgres and sqlite are missing! 2019-12-13 12:37:42 +01:00
Christian Landvogt 0342dd4975 display identity label at folder selection 2019-12-13 12:35:01 +01:00
Christian Landvogt 98e0f16836 fix special folder not updated for main identity 2019-12-13 12:20:06 +01:00
Christian Landvogt f1d2e3193a save special folders from normal dialog 2019-12-13 12:16:16 +01:00
Christian Landvogt f30f72099b load and set special folders from db 2019-12-13 10:49:50 +01:00
Christian Landvogt 67fc6b8b66 fix imap delimiter switching 2019-12-13 09:35:08 +01:00