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 9ee1f4b636 Merge branch 'master' of github.com:roundcube/roundcubemail 5 years ago
..
cache Fix using unix:///path/to/socket.file in memcached driver (#7210) 5 years ago
db Use mySQL charset in connection string instead of SET NAMES (#7232) 5 years ago
session PHPDoc fixes 5 years ago
spellchecker Remove year(s) from copyright headers + some cleanup 6 years ago
README.md Remove use of ext-iconv 5 years ago
bootstrap.php Master is 1.5-git now 5 years ago
html.php Update changelog, CS improvements 5 years ago
rcube.php Add newline when writing logs to stdout (#7418) 5 years ago
rcube_addressbook.php CS fixes, Avoid usused variables, fixed minor bugs 5 years ago
rcube_base_replacer.php PHPDoc fixes 5 years ago
rcube_browser.php Drop rcube_browser::$lang property 5 years ago
rcube_cache.php Fix bug where cache keys could exceed length limit specified in db schema (#7004) 5 years ago
rcube_charset.php Merge branch 'fix_encode' of https://github.com/shirosaki/roundcubemail into shirosaki-fix_encode 5 years ago
rcube_config.php Allow skins to define which layout options they support (#7235) 5 years ago
rcube_contacts.php CS fixes, Avoid usused variables, fixed minor bugs 5 years ago
rcube_content_filter.php Remove year(s) from copyright headers + some cleanup 6 years ago
rcube_csv2vcard.php PHPDoc fixes 5 years ago
rcube_db.php Fix regression where using an absolute path to SQLite database file on Windows didn't work (#7196) 5 years ago
rcube_enriched.php Remove year(s) from copyright headers + some cleanup 6 years ago
rcube_html2text.php CS fixes, Avoid usused variables, fixed minor bugs 5 years ago
rcube_image.php Security: Better fix for CVE-2020-12641 5 years ago
rcube_imap.php Fix bug where subfolders of special folders could have been duplicated on folder list 5 years ago
rcube_imap_cache.php INSERT OR REPLACE implementation (#6771) 5 years ago
rcube_imap_generic.php Fix PHP warning: count(): Parameter must be an array or an object... in ID command handler (#7392) 5 years ago
rcube_imap_search.php PHPDoc fixes 5 years ago
rcube_ldap.php Fix bug where cache keys could exceed length limit specified in db schema (#7004) 5 years ago
rcube_ldap_generic.php PHPDoc and CS fixes 5 years ago
rcube_message.php Fix display issues with mail subject that contains line-breaks (#7191) 5 years ago
rcube_message_header.php PHPDoc fixes 5 years ago
rcube_message_part.php PHPDoc fixes 5 years ago
rcube_mime.php Merge branch 'fix_encode' of https://github.com/shirosaki/roundcubemail into shirosaki-fix_encode 5 years ago
rcube_mime_decode.php CS fixes, Avoid usused variables, fixed minor bugs 5 years ago
rcube_output.php Remove year(s) from copyright headers + some cleanup 6 years ago
rcube_plugin.php PHPDoc fixes 5 years ago
rcube_plugin_api.php Fix bug in extracting required plugins from composer.json that led to spurious error in log (#7364) 5 years ago
rcube_result_index.php CS fixes, Avoid usused variables, fixed minor bugs 5 years ago
rcube_result_multifolder.php CS fixes, Avoid usused variables, fixed minor bugs 5 years ago
rcube_result_set.php Remove year(s) from copyright headers + some cleanup 6 years ago
rcube_result_thread.php Fix so messages in threads with no root aren't displayed separately (#4999) 5 years ago
rcube_session.php Revert "Fix bug where session was destoryed with window close (#7251)" 5 years ago
rcube_smtp.php Allow array in smtp_host config (#7296) 5 years ago
rcube_spellchecker.php Remove year(s) from copyright headers + some cleanup 6 years ago
rcube_storage.php PHPDoc fixes 5 years ago
rcube_string_replacer.php PHPDoc and CS fixes 5 years ago
rcube_text2html.php PHPDoc and CS fixes 5 years ago
rcube_tnef_decoder.php PHPDoc and CS fixes 5 years ago
rcube_user.php CS fixes, Avoid usused variables, fixed minor bugs 5 years ago
rcube_utils.php Relaxed domain name validation for extended TLDs support (#5588) 5 years ago
rcube_vcard.php PHPDoc and CS fixes 5 years ago
rcube_washtml.php Fix XSS issue in handling of CDATA in HTML messages 5 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, Filter, Ctype (required)
  • PHP PDO with driver for either MySQL, PostgreSQL, SQL Server, Oracle or SQLite (required)
  • 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 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
  • Kolab/Net_LDAP3 1.0.6 or newer (for LDAP addressbook)
  • Masterminds/HTML5 2.5.x (optional HTML parser)

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