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 ca39a4e093 Fix PHP warning "idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated" with PHP 7.2 (#6075) 7 years ago
..
README.md Describe Framework requirements, drop some redundant code (since we require mbstring) 8 years ago
bootstrap.php Bump version to 1.4-git 8 years ago
html.php Merge branch 'master' into dev-elastic 7 years ago
rcube.php Fix issue caused by non-default session.cookie_lifetime setting (#5961) 7 years ago
rcube_addressbook.php Fix addressbook searching by gender (#5757) 8 years ago
rcube_base_replacer.php CS fixes 10 years ago
rcube_browser.php CS fixes 9 years ago
rcube_cache.php Fixed redundancy in sql caching system and compatibility with Galera Cluster (#5439) 8 years ago
rcube_cache_shared.php Fixed redundancy in sql caching system and compatibility with Galera Cluster (#5439) 8 years ago
rcube_charset.php Fix decoding non-ascii attachment names from TNEF attachments (#5646, #5799) 8 years ago
rcube_config.php Use configured log_file_ext also for errors thrown by PHP (#6035) 7 years ago
rcube_contacts.php Fix PHP 7.2 warnings on count() use (#5845) 8 years ago
rcube_content_filter.php PHP7: Fixed some E_WARNING errors that previously were E_STRICT 9 years ago
rcube_csv2vcard.php CS fixes 10 years ago
rcube_db.php Add ignore_errors option to rcube_db, so error logging can be disabled temporarily 8 years ago
rcube_db_mssql.php CS fixes 10 years ago
rcube_db_mysql.php Fix checking table columns when there's more schemas/databases in postgres/mysql (#6047) 7 years ago
rcube_db_oracle.php Fix PHP 7.2 warnings on count() use (#5845) 8 years ago
rcube_db_pgsql.php Fix checking table columns when there's more schemas/databases in postgres/mysql (#6047) 7 years ago
rcube_db_sqlite.php CS fixes 10 years ago
rcube_db_sqlsrv.php CS fixes 10 years ago
rcube_enriched.php CS fixes 10 years ago
rcube_html2text.php Fix so links over images are not removed in plain text signatures converted from HTML (#4473) 8 years ago
rcube_image.php Fix regression in resizing JPEG images with Imagick (#5376) 8 years ago
rcube_imap.php fix: unknown content-disposition type should be treated as attachment (#6002) 7 years ago
rcube_imap_cache.php spelling fixes (#5690) 8 years ago
rcube_imap_generic.php Fix untagged COPYUID responses handling - again (#5982) 7 years ago
rcube_imap_search.php CS fixes 10 years ago
rcube_ldap.php Don't use create_function() deprecated in PHP 7.2 8 years ago
rcube_ldap_generic.php spelling fixes (#5690) 8 years ago
rcube_message.php Ignore rewind() warnings (#5950) 7 years ago
rcube_message_header.php CS fixes 10 years ago
rcube_message_part.php CS fixes 10 years ago
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 Encode JSON with JSON_UNESCAPED_SLASHES and JSON_UNESCAPED_UNICODE options 7 years ago
rcube_plugin.php Get rid of the 2nd argument of include_stylesheet() 7 years ago
rcube_plugin_api.php Get rid of the 2nd argument of include_stylesheet() 7 years ago
rcube_result_index.php CS fixes 9 years ago
rcube_result_multifolder.php Improved multi-folder search performance on sort order change or list page change 9 years ago
rcube_result_set.php Fix PHP 7.2 warnings on count() use (#5845) 8 years ago
rcube_result_thread.php CS fixes 9 years ago
rcube_session.php Skip redundant INSERT query on successful logon when using PHP7 7 years ago
rcube_session_db.php Skip redundant INSERT query on successful logon when using PHP7 7 years ago
rcube_session_memcache.php Skip redundant INSERT query on successful logon when using PHP7 7 years ago
rcube_session_php.php CS fixes 10 years ago
rcube_session_redis.php Skip redundant INSERT query on successful logon when using PHP7 7 years ago
rcube_smtp.php Display value of the SMTP message size limit in the error message (#6032) 7 years ago
rcube_spellcheck_atd.php Use ternary operator where aplicable 9 years ago
rcube_spellcheck_enchant.php sizeof() -> count() 8 years ago
rcube_spellcheck_engine.php CS fixes 10 years ago
rcube_spellcheck_googie.php sizeof() -> count() 8 years ago
rcube_spellcheck_pspell.php sizeof() -> count() 8 years ago
rcube_spellchecker.php spelling fixes (#5690) 8 years ago
rcube_storage.php Support for IMAP folders that cannot contain both folders and messages (#5057) 7 years ago
rcube_string_replacer.php Fix converting mail addresses with @www. into mailto links (#5197) 9 years ago
rcube_text2html.php Add support for DelSp=Yes messages (#5702) 8 years ago
rcube_tnef_decoder.php Fix bug where last character of a filename extracted from TNEF could be truncated (#5799) 7 years ago
rcube_user.php Fix bug where it wasn't possible to set timezone to auto-detected value (#5782) 8 years ago
rcube_utils.php Fix PHP warning "idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated" with PHP 7.2 (#6075) 7 years ago
rcube_vcard.php Fix PHP 7.2 error: count(): Parameter must be an array or an object that implements Countable 7 years ago
rcube_washtml.php Handle remote stylesheets the same as remote images, ask the user to allow them (#5994) 7 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.7.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