定制 texxasrulez/change_notification 二次开发

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

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

texxasrulez/change_notification

最新稳定版本:1.0

Composer 安装命令:

composer require texxasrulez/change_notification

包简介

Change default audio new mail notification.

README 文档

README

Packagist Downloads Packagist Version Github License GitHub Stars GitHub Issues GitHub Contributors GitHub Forks Donate Paypal

License: GPLv3
Composer: texxasrulez/change_notification (type: roundcube-plugin)

Upload a per-user audio file (mp3/ogg/flac/wav/m4a) and use it as the "new message" notification sound when the Roundcube preference Settings → Mailbox View → Play the sound on new message is enabled.

Install (composer)

composer require texxasrulez/change_notification

Manual install: copy change_notification into your Roundcube plugins/ dir Then enable in config/config.inc.php:

$config['plugins'][] = 'change_notification';

Optionally copy plugins/change_notification/config.inc.php.dist to plugins/change_notification/config.inc.php and adjust limits/paths.

How it works

  • Adds an upload control under Settings → Mailbox View using the preferences_list hook.
  • Stores the uploaded file in plugins/change_notification/user_sounds/{user_id}/.
  • Saves the relative file path in the Roundcube user prefs as change_notification_file.
  • Injects a tiny JS that points the notification audio element to the per-user file at runtime. This respects the existing Roundcube "play sound" toggle.

Security & notes

  • Files are stored per-user in a non-browsable directory and served only through the plugin endpoint plugin.change_notification.get, which checks the logged-in user.
  • Max size defaults to 2MB; MIME and extension validated.

Uninstall

  • Disable the plugin and remove the directory.
  • User prefs key change_notification_file can be left or removed.

Versioning

  • change_notification now keeps its canonical version in change_notification::PLUGIN_VERSION inside change_notification.php.
  • change_notification::info() exposes the plugin metadata array used for self-identification.
  • Development builds should use a +dev suffix such as 1.0.0+dev.
  • Release builds should use a clean tagged version such as 1.0.0.

For a release bump:

  1. Update change_notification::PLUGIN_VERSION in change_notification.php or run sh scripts/bump-version.sh 1.0.0.
  2. Update CHANGELOG.md.
  3. Create the matching release tag after verification.

统计信息

  • 总下载量: 30
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0
  • 更新时间: 2025-10-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固