Development  »  Libraries

This is a list of PHP libraries developed by the horde team. Additional libraries not yet released are available in our source repository in the development section of the site.

All of the libraries are fully independent of the Horde applications. Utilities such as our date handling library, the iCalendar module, or the natural language parsing of dates can be used without installing Kronolith. The same holds true for the IMAP and MIME libraries powering our webmailer Imp and for all released modules on our PEAR server. This allows you to embed functionality based on such libraries seamlessly into your own PHP application context.

One of the strong advantages of the Horde PHP libraries is the fact that the code has been driven by the needs of the Horde applications. As these are being used by millions of users daily this means speedy code and maximal compatibility with system not always adhering to standards (e.g. Outlook).

Obtaining Libraries

You can download the libraries from our PEAR server directly but the default way of install the Horde PHP libraries is the installation on the command line via PEAR.

For this to work you will need to register the Horde PEAR channel by running

pear channel-discover pear.horde.org

After that you will be able to install the libraries with

pear install horde/HORDE_LIBRARY_NAME

The Horde_Date library could be installed like this for example:

pear install horde/horde_date

 Horde Libraries

ActiveSync

Libraries for implementing an ActiveSync server.

Alarm

An interface to deal with reminders, alarms and notifications through a standardized API. The following notification methods are currently available: standard Horde notifications, popups, emails.

Argv

Classes for parsing command line arguments with various actions, providing help, grouping options, and more.

Auth

The Horde_Auth package provides a common interface into the various backends for the Horde authentication system.

Autoloader

Autoload implementation and class loading manager for Horde.

Autoloader_Cache

Extension of the Horde_Autoloader that implements caching of class-file-maps. The caching method is determined automatically from the list of supported cache backends: APC, XCache, eAccelerator, local file system.

Browser

The Horde_Browser class provides an API for getting information about the current user's browser and its capabilities.

Cache

This package provides a simple, functional caching API, with the option to store the cached data on the filesystem, in one of the PHP opcode cache systems (APC, eAcclerator, XCache, or Zend Performance Suite's content cache), memcached, or an SQL table.

Cli

Horde_Cli:: API for basic command-line functionality/checks

Cli_Modular

Command line interfaces can often be composed of different modules responsible for distinct actions. This package allows each such module to influence the overall command line interface. First and foremost each module can add its own option group with a specific title, description and a set of module specific options (see Horde_Argv_OptionGroup for further details). In addition Cli_Modular allows a module to modify the global usage string and add basic options valid for all modules.

Compress

An API for various compression techniques.

Constraint

A programmatic way of building constraints that evaluate to true or false.

Controller

This package provides the controller part of an MVC system for Horde.

Core

These classes provide the core functionality of the Horde Application Framework.

Crypt

The Horde_Crypt package class provides an API for various cryptographic systems.

Data

A data import and export API, with backends for: * CSV * TSV * iCalendar * vCard * vNote * vTodo

DataTree

TODO

Date

Package for creating and manipulating dates.

Date_Parser

Library for natural-language date parsing, with support for multiple languages and locales

Db

Horde database/SQL abstraction layer

Editor

The Horde_Editor package provides an API to generate the code necessary for embedding javascript RTE editors in a web page.

Exception

This class provides the default exception handlers for the Horde Application Framework.

Feed

Support for working with feed formats such as RSS and Atom.

Form

The Horde_Form package provides form rendering, validation, and other functionality for the Horde Application Framework.

Group

Package for managing and accessing the Horde groups system.

History

The Horde_History API provides a way to track changes on arbitrary pieces of data in Horde applications.

Http

This package provides a set of classes for making HTTP requests.

Icalendar

An API for dealing with iCalendar data.

Image

An Image utility API, with backends for: * GD * GIF * PNG * SVG * SWF * ImageMagick convert command line tool * Imagick Extension

Imap_Client

An abstracted API interface to various IMAP4rev1 (RFC 3501) backend drivers.

Imsp

Provides an API into an IMSP server for address books and options.

Injector

A depedency injection container for Horde.

Itip

This package to generates MIME encapsuled responses to iCalendar invitations.

Kolab_Cli

A set of utilities to deal with the various aspects of a Kolab server as backend. The primary focus is dealing with the data stored in IMAP.

Kolab_Format

This package allows to convert Kolab data objects from XML to data arrays.

Kolab_Server

This package reads/writes entries in the Kolab user database stored in LDAP.

Kolab_Session

This package stores Kolab specific user data in the session.

Kolab_Storage

Storing user data in an IMAP account belonging to the user is one of the Kolab server core concepts. This package provides all the necessary means to deal with this type of data storage effectively.

Ldap

This package provides a set of classes for connecting to LDAP servers and working with directory objects.

Lock

The Horde_Lock library provides the Horde resource locking system.

Log

Horde Logging package with configurable handlers, filters, and formatting.

LoginTasks

The Horde_LoginTasks library provides a set of methods for dealing with tasks run upon login to Horde applications.

Mail

The Horde_Mail library is a fork of the PEAR Mail library that provides additional functionality, including (but not limited to): * Allows a stream to be passed in. * Allows raw headertext to be used in the outgoing messages (required for things like message redirection pursuant to RFC 5322 [3.6.6]). * Native PHP 5 code. * PHPUnit test suite. * Provides more comprehensive sendmail error messages. * Uses Exceptions instead of PEAR_Errors.

Memcache

Provides an API to access a memcache installation.

Mime

Provides methods for dealing with MIME (RFC 2045) and related e-mail (RFC 822/2822/5322) standards.

Mime_Viewer

Provides rendering drivers for MIME data.

Nls

Common methods for handling language data, timezones, and hostname->country lookups.

Notification

A library implementing a subject-observer pattern for raising and showing messages of different types and to different listeners.

Oauth

This package provides an OAuth consumer (http://oauth.net) and OAuth infrastruture, and in the future will provide an OAuth server.

Pdf

This package provides PDF generation using only PHP, without requiring any external libraries.

Pear

The component provides various tools to deal with PEAR. Among other features it allows updating the package.xml file or accessing a remote PEAR server.

Perms

The Perms package provides an interface to the Horde permissions system.

Prefs

The Horde_Prefs package provides a common abstracted interface into the various preferences storage mediums. It also includes all of the functions for retrieving, storing, and checking preference values.

Rdo

Lightweight ORM layer

Release

Tools necessary to create the Horde distribution packages.

Role

This package provides a method for PEAR to install Horde components into a base Horde installation.

Routes

Classes for mapping URLs into the controllers and actions of an MVC system. It is a port of a Python library, Routes, by Ben Bangert (http://routes.groovie.org).

Rpc

A common abstracted interface to various remote methods of accessing Horde functionality.

Scheduler

TODO

Scribe

Packaged version of the PHP Scribe client.

Secret

The Horde_Secret library provides an API for encrypting and decrypting small pieces of data with the use of a shared key.

Serialize

The Horde_Serialize library provides various methods of encapsulating data.

Service_Facebook

Client libraries for the Facebook REST API.

Service_Twitter

This package provides client libraries for the Twitter REST API.

Service_UrlShortener

This package provides interfaces to various URL shortening services.

Service_Weather

Set of classes that provide an abstraction to various online weather service providers.

SessionHandler

Horde_SessionHandler defines an API for implementing custom session handlers for PHP.

Share

Horde_Share provides an interface to all shared resources a user owns or has access to.

SpellChecker

Unified spellchecking API.

Sql

Horde_Sql:: contains some utility functions for dealing with SQL.

Stream_Filter

A collection of various stream filters.

Stream_Wrapper

This package provides various stream wrappers.

Support

Support classes not tied to Horde but is used by it. These classes can be used outside of Horde as well.

SyncMl

Classes for implementing a SyncML server.

Template

Horde Template system. Adapted from bTemplate, by Brian Lozier .

Test

Horde-specific PHPUnit base classes.

Text_Diff

This package provides a text-based diff engine and renderers for multiple diff output formats.

Text_Filter

Common methods for fitering and converting text.

Text_Filter_Csstidy

The Horde_Text_Filter_Csstidy:: class provides the PHP-based library needed to perform optimization/compression on CSS code. It is provided in a separate package as the code is under the GPLv2 license instead of the LGPLv2 license used for the Text_Filter class.

Text_Flowed

The Horde_Text_Flowed:: class provides common methods for manipulating text using the encoding described in RFC 3676 ('flowed' text).

Thrift

Packaged version of the PHP Thrift client

Token

The Horde_Token:: class provides a common abstracted interface into the various token generation mediums. It also includes all of the functions for retrieving, storing, and checking tokens.

Translation

Translation wrappers.

Tree

This package provides a tree view of hierarchical information. It allows for expanding/collapsing of branches and maintains their state.

Url

This class represents a single URL and provides methods for manipulating URLs.

Util

These classes provide functionality useful for all kind of applications.

Vfs

This package provides a Virtual File System API, with backends for: * SQL * FTP * Local filesystems * Hybrid SQL and filesystem * Samba * SSH2/SFTP * IMAP (Kolab) Reading, writing and listing of files are all supported, and there are both object-based and array-based interfaces to directory listings.

View

A simple View pattern implementation.

Xml_Element

This package provides an element object that can be used to provide SimpleXML-like functionality over a DOM object. The main advantage over using SimpleXML is the ability to add multiple levels of new elements in a single call, without introducing "ghost" objects.

Xml_Wbxml

This package provides encoding and decoding of WBXML (Wireless Binary XML) documents. WBXML is used in SyncML for transferring smaller amounts of data with wireless devices.

Yaml

Classes for parsing YAML files into PHP arrays, and dumping PHP arrays into YAML encoding.

Released Libraries

Featured At

Featured at:
more
hide
fedoraproject.org
Fedora Project Homepage
more
hide
sfr-fresh.com
Fossies - The Fresh Open Source Software Archive
Fossies - The Fresh Open Source Software archive with special browsing features
more
hide
github.com
GitHub · Social Coding
more
hide
oreilly.com
O'Reilly Media - Technology Books, Tech Conferences, IT Courses, News
O'Reilly spreads the knowledge of innovators through technology books, online services, and tech conferences. Find the technology resources you need at O'Reilly Media, a technology company at the lead...
more
hide
ibm.com
IBM - United States
The IBM corporate home page, entry point to information about IBM products and services.
Web Site Optimization: Speed Up Your Site website optimization web speed optimize web site performance company
Website optimization speeds up slow web sites, increases website traffic, and improves conversion rates. Our web optimization services increase website performance, decrease bailout rates, and improve...
more
hide
qmailrocks.org
A qmail installation guide so advanced it takes 2 years to update - It's gotta be Qmailrocks.org
A qmail installation guide. Qmailrocks.org is a publicly available installation quide to Dan Bernstein
more
hide
egroupware.org
EGroupware: Home
EGroupware is the leading Online Collaboration Tool and the top choice for big enterprises, small businesses and teams within and across organizations all over the globe.
px junkie
more
hide
rpmfind.net
Rpmfind mirror

Support us!

Sponsors

"Thanks!" to all our other sponsors

Twitter

Otherdata.com - Wes Coming soon to Otherdata Cloud Services. Horde Webmail 4.0!!! http://t.co/kZs3jFNY http://t.co/99NqS4Q2
2 days ago     

Chege Get your hands on PHP webmail at http://t.co/KDjKr7dL!
6 days ago     

Krassen Deltchev @hordeproject have you received my e-mail?
1 week ago     

Krassen Deltchev @hordeproject a walk-through is already sent to the provided mail address; best!
1 week ago     

Krassen Deltchev @hordeproject OK, i'll write a short walk-through.
1 week ago     

Powered by Podnova twitter

More

Logos

Shops

European Store US Store CafePress