Zebra_cURL is a high performance PHP library acting as a wrapper to PHP's libcurl library, which not only allows the running of multiple requests at once asynchronously in parallel, but as soon as one thread finishes, it can be processed right away without having to wait for the other threads in the queue to finish, eliminating wasted CPU cycles from busy waiting. This result is a faster and more efficient way of processing large quantities of cURL requests (like fetching thousands of RSS feeds at once), drastically reducing processing time. This script supports GET (with caching) and POST requests, and basic downloads as well as downloads from FTP servers, HTTP Authentication, and requests through proxy servers. For maximum efficiency, downloads are streamed (bytes downloaded are directly written to disk), removing the unnecessary strain from the server of having to read files into memory first and then writing them to disk.
Zebra_Database is an advanced, compact (one-file only), lightweight, object-oriented MySQL database wrapper built upon PHP’s MySQL extension. It provides methods for interacting with MySQL databases that are more powerful and intuitive to use than PHP’s default ones. It supports transactions and provides ways for caching query results either by saving cached data on the disk, or by using memcache.The class provides a comprehensive debugging interface with detailed information about the executed queries: execution time, returned/affected rows, excerpts of the found rows, error messages, etc. It also automatically EXPLAIN‘s each SELECT query (so you don’t miss those keys again). It encourages developers to write maintainable code and provides a better default security layer by automatically escaping strings. Zebra_Database‘s code is heavily commented and generates no warnings, errors, or notices when PHP’s error reporting level is set to E_ALL.
Zebra_Form is a PHP class that simplifies the process of creating and validating HTML forms. Its object-oriented structure promotes rapid HTML forms development and encourages developers to write clean and easily maintainable code. It frees the developers from the repetitive task of writing the code for validating forms by offering powerful built-in client-side and server-side validation. Zebra_Form has an integrated cross-site scripting prevention mechanism that automatically strips out potentially malicious code from the submitted data. It also prevents automated SPAM posts, out of the box and without relying on CAPTCHA by using honey pots. Output can be generated either automatically or manually through templates (basic PHP files). When generated automatically, the generated output has the same look and feel across all major browsers. It provides all the controls you’d expect in an HTML form and, additionally, date/time pickers, captcha, and AJAX-like file upload controls.
Zebra_Image is a compact (one file only), lightweight, object-oriented image manipulation library, written in and for PHP, that provides methods for performing several types of image manipulation operations. It doesn’t require any external libraries other than the GD2 extension (with which PHP usually comes pre-compiled). The code is heavily commented and generates no warnings/errors/notices when PHP’s error reporting level is set to E_ALL. It can rescale, flip, rotate, and crop images. It supports loading and saving images in the GIF, JPEG, and PNG formats and preserves transparency for GIF, PNG, and PNG24. It can re-size images to an exact given width and height and still maintain aspect ratio.
Zebra_MPTT is a PHP class that provides an implementation of the modified preorder tree traversal algorithm. It provides methods for adding nodes anywhere in the tree, deleting nodes, moving and copying nodes around the tree, and for retrieving information about the nodes. It uses table locks to ensure that database integrity is always preserved and that concurrent MySQL sessions don’t compromise data integrity. A caching mechanism ensures that regardless of the type or the number of retrieval operations, the database is read only once per script execution.
Zebra_Pagination is a generic pagination PHP library which automatically generates HTML navigation links (next, previous, specific pages) given the total number of records and the number of records to be displayed per page. It can generate links both in natural and in reverse order, can be easily localized, supports page propagation via GET or via URL rewriting, lets the appearance be easily customized through CSS, and is SEO-friendly (it uses rel="prev" and rel="next", and solves the problem of duplicate content on the first page without navigation and the first page having the page number in the URL). Please note that this is a *generic* pagination PHP library, meaning that it does not display any records. It is up to the developer to fetch the actual data and display it based on the information returned by this class. The advantage is that it can be used to paginate records coming from any source (arrays, database, etc). Zebra_Pagination's code is heavily commented and generates no warnings/errors/notices when PHP's error reporting level is set to E_ALL.
Zebra_Session is a PHP class that acts as a wrapper for PHP’s default session handling functions. Instead of storing session data in flat files, it stores them in a MySQL database, thus providing both better security and better performance. The Zebra_Session class is also a solution for applications that are scaled across multiple Web servers (using a load balancer or a round-robin DNS) and where the user’s session data needs to be available, since storing sessions in a database makes them available to all of the servers. Zebra_Session‘s code is heavily commented and generates no warnings, errors, or notices when PHP’s error reporting level is set to E_ALL.
Zebra_TransForm is a tiny (3KB minified) jQuery plugin for styling the appearance of checkboxes, radio buttons, and select boxes without sacrificing functionality and accessibility: the elements preserve their tabindex order, give visual feedback when having the focus, can be accessed by using the keyboard, and look and behave in the same way in all major browsers. It degrades gracefully in IE6.