Commit Graph
15 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