定制 toteph42/identity_switch 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

toteph42/identity_switch

Composer 安装命令:

composer require toteph42/identity_switch

包简介

This plugin allows users to switch between different identities (and check for new mails) in a single Roundcube session.

README 文档

README

This plugin allows users to switch between different identities in a single RoundCube session like this:

Plugin settings

If you receive new mails, the number of new mails will be shown in identity selection menue.

Where to start

  • In settings interface create new identity.
  • Be sure to fill in the Name of identity.
  • After you have created at least one identity you will see combobox instead of plain text field where your account name was displayed before. There you can switch between the identifities.

Settings

From now on all user preferences and connection settings will belong to the active identity. To indicate for which dentity you're changing preferences, you will see the identity in the header line in format [ Identity: {Active Identity} ] in the Preference menue.

There are some new setting available in Preference -> Mailbox view.

Plugin settings

  • Check all folders... - Select this option, if you want all folders to be check for new mails.
  • Display browser notification... - Select this option, if you want to get a changed icon for this site. Please be aware, that the icon will change only one time, even if there a new mails for multiple identities available (until next new-mail check-cycle is started).
  • Display desktop notification... - Select this option, if you want to get a desktop notification about how many new mails were available. Please be aware, you need to allow your mail server site in your browser configuration to send notifications to your desktop.
  • Close desktop notification - Specify how many seconds should be visible before it is automatically been closed.
  • Play sound... - Select this option, if you want a sound notification. Please be aware, that only sound will be played one time only, even if there are new mails for multiple identities available (until next new-mail check cycle is started). If you hear no sound playing, please check your browser settings, if auto-play of sound files is enabled.

If you select an identity to edit, then you'll see an additional box name Preferences managed by identity_switch plugin with all user preferences used for this identity. You may edit the seeting and save them to the idenity.

Please note:

  • All passwords were show as ●●●●●●●●. If you enter a new password, it will be stored encrypted.
  • If you set the cfg_hide_pref to true, then all preferences will be hidden.
  • Most of the settings were defined in default.inc.php. For a descption about allowed content please refer toconfig/default.inc.php.
  • All preferences will override RoundCube settings for current identity. The accociated settings differs in name only by the isw_ prefix used by plugin.

Configuration

There is a file plugins/identity_switch/default.inc.php in the plugin directory available. This file can be used to specify some individual preferences. Please copy file to plugins/identity_switch/config.inc.php and change there your preferences.

If you want to change sound, icon or desktop icon, please checkout alert.mp3, alert.ico and alert.gif in sub-directory assets.

Locking configuration

You may use the dont_override configuration option in your RoundCube configuration file config/config.inc.php to lock settings from being overriden. Plugin connection settings cannot be locked.

Performance

New mail checking is performed in background asynchronously. This has the effect that the new mail counter is not always updated immediately after login - it may take some time before this has been performed. It heavily depends on the number of identities you're using.

If you've select Check all folders, this has a huge impact on the time new-mail checking need to collect information. If you have hundreds of folders in your mail box, each of the boxes will be checked for new mails.

Depending on the workload on your host, it migth happen, that the menue isn't opened as quick as expected. This depend on how RoundCube is able to handle the synchroneous Ajax requests.

Version compatibility

Versions 3.x - for RoundCube v1.6.x and 1.7.x requires PHP version >= 8.0.0.

Limitations

This plugin only supports Elastic skin. According to RoundCube team Larry and Classic skin is not longer supported. If you wan't to get another skin to be supoorted, then please contact me. I can add support for other skins if you pay for it. Or you modify plugin according to your needs and send me your changes.

License

This plugin is released under the GNU General Public License v3.0.

Debugging

If you encounter problems with plugin, take a look at the debug options available in default.inc.php.

If you encounter connection problems, it is a good idea to enable RoundCube available debugging options.

Donation

If you like this software and you want support my work, feel free to send me a donation:

Donate with PayPal

[List of changes]

toteph42/identity_switch 适用场景与选型建议

toteph42/identity_switch 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.52k 次下载、GitHub Stars 达 22, 最近一次更新时间为 2024 年 11 月 22 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「identity」 「new mail check」 「notify new mail」 「select identity」 「switch used」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 toteph42/identity_switch 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 toteph42/identity_switch 我们能提供哪些服务?
定制开发 / 二次开发

基于 toteph42/identity_switch 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1.52k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 23
  • 点击次数: 22
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 22
  • Watchers: 3
  • Forks: 9
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0
  • 更新时间: 2024-11-22