You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
roundcubemail/program/lib/Roundcube
Aleksander Machniak 641a67fe75 Elastic: Fix unintentional layout preference overwrite (#6613)
This is actually skin-independent mechanism that prevents overwriting
of skin-specific preferences by ajax requests (that until now were
not aware of skin config).
6 years ago
..
cache Move some framework classes to sub-directories 7 years ago
db Move some framework classes to sub-directories 7 years ago
session Support redis_debug in the redis session driver 7 years ago
spellchecker Fix PHP 7.2: count(): Parameter must be an array in enchant-based spellchecker (#6234) 7 years ago
README.md Update changelog, require Net_SMTP 1.8.1 for GSSAPI support 6 years ago
bootstrap.php give all temp files a constant prefix 6 years ago
html.php Add 'required' to the list of boolean attributes 6 years ago
rcube.php Force session.gc_probability=1 when using custom session handlers (#6560) 6 years ago
rcube_addressbook.php Remove useless "return null;" at the end of function block 6 years ago
rcube_base_replacer.php
rcube_browser.php
rcube_cache.php Remove holes in cache index keys - makes the serialized representation shorter 7 years ago
rcube_charset.php Fix decoding non-ascii attachment names from TNEF attachments (#5646, #5799) 7 years ago
rcube_config.php Elastic: Fix unintentional layout preference overwrite (#6613) 6 years ago
rcube_contacts.php Fix multiple VCard field search (#6466) 6 years ago
rcube_content_filter.php
rcube_csv2vcard.php Support simple field labels (e.g. LetterHub examples) in csv imports (#6541) 6 years ago
rcube_db.php Patched bug where rcube_db::quote() was causing an infinite connection loop. (#6175) 7 years ago
rcube_enriched.php
rcube_html2text.php Use htmlspecialchars() with charset argument, simplify some code 7 years ago
rcube_image.php Remove useless "return null;" at the end of function block 6 years ago
rcube_imap.php Fix typo 6 years ago
rcube_imap_cache.php Fix rcube_imap_cache in mode set to MESSAGE only 6 years ago
rcube_imap_generic.php Fix bug in parsing some IMAP command responses that include unsolicited replies (#6577) 6 years ago
rcube_imap_search.php
rcube_ldap.php Plugin API: Added 'ldap_connected' hook 6 years ago
rcube_ldap_generic.php Fix typo LOG_EMERGE (#6566) 6 years ago
rcube_message.php Fix bug where a message/rfc822 part without a filename wasn't listed on the attachments list (#6494) 6 years ago
rcube_message_header.php
rcube_message_part.php
rcube_mime.php Fix broken long filenames when using imap4d server - workaround server bug (#6048) 7 years ago
rcube_mime_decode.php Fix decoding message/rtf822 part body/size 7 years ago
rcube_output.php fputs() -> fwrite() 6 years ago
rcube_plugin.php Support skin localization (#5853) 7 years ago
rcube_plugin_api.php Fix including plugin scripts (regression) 6 years ago
rcube_result_index.php
rcube_result_multifolder.php
rcube_result_set.php Fix PHP 7.2 warnings on count() use (#5845) 7 years ago
rcube_result_thread.php
rcube_session.php Make rcube_session::unserialize() public method 6 years ago
rcube_smtp.php Log IMAP/SMTP connection time in debug mode 6 years ago
rcube_spellchecker.php Move some framework classes to sub-directories 7 years ago
rcube_storage.php Fix bug where some forbidden characters on Cyrus-IMAP were not prevented from use in folder names 7 years ago
rcube_string_replacer.php
rcube_text2html.php Add support for DelSp=Yes messages (#5702) 8 years ago
rcube_tnef_decoder.php Fix extracting codepage 7 years ago
rcube_user.php Elastic: Fix unintentional layout preference overwrite (#6613) 6 years ago
rcube_utils.php Fix so ANY record is not used for email domain validation, use A, MX, CNAME, AAAA instead (#6581) 6 years ago
rcube_vcard.php Fix regression in vcard parser 6 years ago
rcube_washtml.php Fix bug where valid content between HTML comments could have been skipped in some cases (#6464) 6 years ago

README.md

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.4 or greater including:

  • PCRE, DOM, JSON, Session, Sockets, OpenSSL, Mbstring (required)
  • PHP PDO with driver for either MySQL, PostgreSQL, SQL Server, Oracle or SQLite (required)
  • Libiconv, Zip, Fileinfo, Intl, 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 one or multiple of the following PEAR libraries:

  • Mail_Mime 1.8.1 or newer
  • Net_SMTP 1.8.1 or newer
  • Net_Socket 1.0.12 or newer
  • Net_IDNA2 0.1.1 or newer
  • Auth_SASL 1.0.6 or newer

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