roundcubemail/program/lib/Roundcube
Aleksander Machniak 3cb52d6db1
Some checks failed
tests / PHP ${{ matrix.php }}/Linux (5.5) (push) Has been cancelled
tests / PHP ${{ matrix.php }}/Linux (5.6) (push) Has been cancelled
tests / PHP ${{ matrix.php }}/Linux (7) (push) Has been cancelled
tests / PHP ${{ matrix.php }}/Linux (7.1) (push) Has been cancelled
tests / PHP ${{ matrix.php }}/Linux (7.2) (push) Has been cancelled
tests / PHP ${{ matrix.php }}/Linux (7.3) (push) Has been cancelled
tests / PHP ${{ matrix.php }}/Linux (7.4) (push) Has been cancelled
tests / PHP ${{ matrix.php }}/Linux (8) (push) Has been cancelled
Fix Information Disclosure vulnerability in the HTML style sanitizer
reported by somerandomdev
2025-12-14 09:14:18 +01:00
..
cache PHPDoc fixes 2021-02-28 11:58:27 +01:00
db PHPDoc fixes 2021-02-28 11:58:27 +01:00
session Fix bug where session could time out if DB and PHP timezone were different (#8303) 2022-03-13 11:42:04 +01:00
spellchecker Bring back spell.roundcube.net as integrated spelling service but disable by default (#8182) 2021-10-04 22:10:32 +02:00
bootstrap.php Fix so install/update scripts do not require PEAR (#9037) 2024-08-04 11:22:55 +02:00
html.php Fix PHP Warning: Undefined array key "value" on PHP8 (#8382) 2022-01-08 08:33:23 +01:00
rcube_addressbook.php Fix various PHP8 warnings (#8392) 2022-01-11 19:06:24 +01:00
rcube_addresses.php Improve preciseness of some PHPdoc annotations (#7809) 2021-01-09 10:05:46 +01:00
rcube_base_replacer.php Short array syntax, CS fixes 2020-11-27 19:51:33 +01:00
rcube_browser.php PHP8: Fix various issues 2020-10-11 10:32:41 +02:00
rcube_cache.php Short array syntax, CS fixes 2020-11-27 19:51:33 +01:00
rcube_charset.php Fix cross-site scripting (XSS) vulnerability in setting Content-Type/Content-Disposition for attachment preview/download 2023-11-04 17:58:08 +01:00
rcube_config.php Fix an infinite loop when parsing environment variables with float/integer values (#8293) 2021-11-06 15:09:20 +01:00
rcube_contacts.php Fix importing contacts with no email address (#8227) 2021-10-19 15:28:40 +02:00
rcube_content_filter.php Remove year(s) from copyright headers + some cleanup 2019-04-16 10:42:45 +02:00
rcube_csv2vcard.php Spelling (#8001) 2021-04-18 08:43:18 +02:00
rcube_db.php Add rcube_db::error_info() 2023-07-20 10:30:07 +02:00
rcube_enriched.php CS fixes, short array syntax, PHP8 fixes, tests 2020-11-28 10:06:41 +01:00
rcube_html2text.php Fix converting >1MB of HTML content into plain text (#8137) 2021-07-16 12:37:44 +02:00
rcube_image.php Fix command injection via crafted im_convert_path/im_identify_path on Windows 2024-05-19 10:13:35 +02:00
rcube_imap_cache.php Fix a couple of PHP8 warnings (#8175) 2021-08-25 18:58:44 +02:00
rcube_imap_generic.php Fix PHP 8.2 fatal error when imap_conn_options.proxy_protocol is not an array 2023-07-20 13:18:03 +02:00
rcube_imap_search.php Spelling (#8001) 2021-04-18 08:43:18 +02:00
rcube_imap.php Fix cross-site scripting (XSS) vulnerability in setting Content-Type/Content-Disposition for attachment preview/download 2023-11-04 17:58:08 +01:00
rcube_ldap_generic.php PHP8 fixes, CS fixes, short array syntax, tests 2020-12-02 20:15:00 +01:00
rcube_ldap.php Fix PHP8 warning 2023-07-28 12:51:08 +02:00
rcube_message_header.php Remove (incorrect) use of Return-Receipt-To header (#8069) 2021-05-22 09:13:42 +02:00
rcube_message_part.php PHP8 fixes 2020-12-11 20:29:41 +01:00
rcube_message.php Fix PHP8 warning 2023-07-28 14:03:42 +02:00
rcube_mime_decode.php Add RFC2231 support to rcube_mime_decode (#7390) 2021-06-05 08:46:16 +02:00
rcube_mime.php Fix various PHP8 warnings (#8392) 2022-01-11 19:06:24 +01:00
rcube_output.php Fix regression causing inline SVG images to be missing in mail preview (#9644) 2024-09-29 14:01:10 +02:00
rcube_plugin_api.php Fix a couple of PHP8 warnings (#8420) 2022-01-29 08:37:35 +01:00
rcube_plugin.php Spelling (#8001) 2021-04-18 08:43:18 +02:00
rcube_result_index.php Fix PHP8 warning 2021-10-23 09:29:55 +02:00
rcube_result_multifolder.php PHPDoc fixes 2021-02-28 11:58:27 +01:00
rcube_result_set.php Improve preciseness of some PHPdoc annotations (#7809) 2021-01-09 10:05:46 +01:00
rcube_result_thread.php FIX PHP8 fatal error and some warnings (#7931) 2021-03-10 18:24:18 +01:00
rcube_session.php Fix bug where session could time out if DB and PHP timezone were different (#8303) 2022-03-13 11:42:04 +01:00
rcube_smtp.php CS fixes, update changelog 2021-04-25 10:00:34 +02:00
rcube_spellchecker.php Spelling (#8001) 2021-04-18 08:43:18 +02:00
rcube_spoofchecker.php Spelling (#8001) 2021-04-18 08:43:18 +02:00
rcube_storage.php Warn the user about a potential data leak on mail bounce or forward (#7993) 2021-05-01 12:45:31 +02:00
rcube_string_replacer.php Fix cross-site scripting (XSS) vulnerability in handling of linkrefs in plain text messages 2023-09-14 10:11:34 +02:00
rcube_text2html.php PHP8 fixes, CS fixes, short array syntax, tests 2020-12-02 20:15:00 +01:00
rcube_tnef_decoder.php Support displaying RTF content (including encapsulated HTML) from a TNEF attachment 2021-07-11 09:31:09 +02:00
rcube_user.php new_user_identity: Make sure email_list includes the main user email (#7085) 2021-02-21 10:20:52 +01:00
rcube_utils.php Fix Information Disclosure vulnerability in the HTML style sanitizer 2025-12-14 09:14:18 +01:00
rcube_vcard.php Fix so N property always exists in a vCard export (#8771) 2022-11-02 11:55:17 +01:00
rcube_washtml.php Fix Cross-Site-Scripting vulnerability via SVG's animate tag 2025-12-14 09:14:07 +01:00
rcube.php Fix so install/update scripts do not require PEAR (#9037) 2024-08-04 11:22:55 +02:00
README.md Fix PHP8 Fatal error: Uncaught ValueError: mb_convert_encoding() (#7850) 2021-01-30 15:51:23 +01:00

Roundcube Framework

INTRODUCTION

The Roundcube Framework is the basic library used for the Roundcube Webmail application. It is an extract of classes providing the core functionality for an email system. They can be used individually or as package for the following tasks:

  • IMAP mailbox access with optional caching
  • MIME message handling
  • Email message creation and sending through SMTP
  • General caching utilities using the local database
  • Database abstraction using PDO
  • VCard parsing and writing

REQUIREMENTS

PHP Version 5.5 or greater including:

  • PCRE, DOM, JSON, Session, Sockets, OpenSSL, Mbstring, Filter, Ctype, Intl (required)
  • PHP PDO with driver for either MySQL, PostgreSQL, SQL Server, Oracle or SQLite (required)
  • Iconv, Zip, Fileinfo, Exif (recommended)
  • LDAP for LDAP addressbook support (optional)

INSTALLATION

Copy all files of this directory to your project or install it in the default include_path directory of your webserver. Some classes of the framework require external libraries. See composer.json-dist for the list of required packages.

USAGE

The Roundcube Framework provides a bootstrapping file which registers an autoloader and sets up the environment necessary for the Roundcube classes. In order to make use of the framework, simply include the bootstrap.php file from this directory in your application and start using the classes by simply instantiating them.

If you wanna use more complex functionality like IMAP access with database caching or plugins, the rcube singleton helps you loading the necessary files:

<?php

define('RCUBE_CONFIG_DIR',  '<path-to-config-directory>');
define('RCUBE_PLUGINS_DIR', '<path-to-roundcube-plugins-directory');

require_once '<path-to-roundcube-framework/bootstrap.php';

$rcube = rcube::get_instance(rcube::INIT_WITH_DB | rcube::INIT_WITH_PLUGINS);
$imap = $rcube->get_storage();

// do cool stuff here...

?>

LICENSE

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License (with exceptions for plugins) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses/.

This file forms part of the Roundcube Webmail Framework for which the following exception is added: Plugins which merely make function calls to the Roundcube Webmail Framework, and for that purpose include it by reference shall not be considered modifications of the software.

If you wish to use this file in another project or create a modified version that will not be part of the Roundcube Webmail Framework, you may remove the exception above and use this source code under the original version of the license.

For more details about licensing and the exceptions for skins and plugins see roundcube.net/license

CONTACT

For bug reports or feature requests please refer to the tracking system at Github or subscribe to our mailing list. See roundcube.net/support for details.

You're always welcome to send a message to the project admins: hello(at)roundcube(dot)net