Skip to content

Summary of Resources Libraries Helpers Plugins...

mansueto edited this page Oct 18, 2012 · 74 revisions

Category:Links::Resources

Introduction

The wiki and CIForge were a little difficult to navigate.

This is a compilation of community contributed resources. Most of the text is stolen from other contributors wiki/CIForge/Derek Allard Blog/etc).

Current list only includes the wiki and CIForge. Might be good to post links to contributions posted in the forums as well.

Essay Writing

PDF version of this page: File:ignitedcode.zip

Libraries

Library: Rapyd Library Rapyd is a set of components/classes that can help to develop CI applications "rapidly". It has data presentation components (grids, tables) and data editing components (forms, filters, cruds). Rapyd is thought to build CMS, and to build a CRUD is easy, you need to join two or three components. Felix built this contribution up so much that it grew from its humble wiki entry, into its own website!

Library: Rabbit Forms Rabbit Forms provides a fast CRUD application development by simple using configuration files with a high customizable library.

User Management

Library: UserAuth Mini-App Simple useage, User Management System. Access Control List (ACL) Groups. Role based system, definable in config file “Remember Me” with db backed cookies. User/Group Administration Management. UI, Tables and Forms are multi-lingual. Configurable, Inactive Login Expiration. Auto-install of required db tables. Supports table prefixes for db. Forum

Library: FreakAuth FreakAuth is a library to secure your application. It performs: - user login/logout - user registration - reset password - change password - website reserved areas locking. Along with these basic functionnalities, Freakauth is a backend administration application to manage users (roles, profiles...). Forum

Library: Sentry A simple security system written by thzero and actively discussed on the forums. Sentry is perfect for those mid-size applications that need a functional user authentication system but don't really warrant building your own. It is practically plug and play, and when combined with hooks is a very quick and easy authentication system. Sentry discussion in the forums says that the project is no longer being developed and that no one can get it to work with the newest release of CI. The auth project seems to fork sentry though and claims to work in 1.5. That might be the best direction.

Library: Auth The user authorization system that handles login and registration of users based on the Sentry-system.(yes it is the modified Sentry. this one is working on CI 1.5.0.1 and higher) It uses a configuration database table to store user information and stores minimal information in the session. Features: Login/logout functionality, Registration, with activation, Forgotten password reset, Auto-login via cookie, Support for multiple languages.

Library: Simplelogin Simplelogin is designed to give you a quick and simple login library that will get you up and running with an unobtrusive authorization system very quickly. It does not try to guess how you want to structure your app, it simply tries to give you a little help. Feel free to edit it in any way to suit your needs. It is designed to help if you need it; otherwise, it stays out of your way. Forum

Library: Simple Authorization Lib

Essay

Library: Erkana Authorization Lib

Session Libraries

Sessions form the backbone of nearly every web application you can build. Tracking logins, userinformation, preferences, etc. Code Igniter does come with its own very handy session class, but there are community contributions that make working with sessions even more secure and powerful. There are at least 3 excellent contributions in the session management realm.

Library: Native Session A "go to" session management library. Nice work, and thanks Seele! A favourite feature? "Flashdata"; you can set the session attribute that will persist only for the next request.

Library: DB Session This library provides a session class that stores session variables in a database. Code Igniter bundles a session class, working with cookies. Unfortunately, this class stores session data directly inside the cookie, thus allowing the client to see and edit those data. Here is a replacement class that stores data in the database.

Library: OB Session An attempt to provide the best of all possible session worlds. By Oscar Bajner. This replacement class for Code Igniter session library borrows from ideas presented in Native session and DB session. It attempts to retain all the benefits of the original CI implementation, adding the best features from other libs and adds several enhancements. Forum

Library: PHPsession This is a session library that uses native PHP sessions. It stores data server-side, instead of client-side (like regular CI sessions). This library also supports ‘flash’ variables, as described in this forum thread. These let you set a variable that will only exist for one page load, then be automatically destroyed (unless you specify you want to keep them for one more load). Useful for passing variables from one page to the next (ie, error messages) without having to do anything in the URL.

Library: Yet another session library Forum

Filters

Library: Filters System Filters allow you to execute code before, after or around a controller; modifying a controllers execution path without modifying the controller itself. Filters permit customization of an application to specific deployment requirements using CI hooks. Useful for for authentication, data cleanup, and other assorted and sundry uses. It also seems to be one of those features that other frameworks use and is a commonly requested feature.

XML, DOM, AJAX

Library: XML Topic Maps A flexible set of libraries, one abstracting the native PHP dom functions (for ease of use), and another abstracting that class utilizing hard-coded node naming conventions standardized in the www.topicmaps.org XTM DTD - with higher level attribute and value control given to the user. Use of these libraries is near to impossible unless you know what Topic Maps are, and also how the XTM specification is used/structured. This is PHP5 ONLY at the moment.

Libray: Xml Library The XML library is an XML parser. It currently has limited features, and is more of a helper library.

Library: DOM library DOMLib was built to ease the use of the PHP DOM object.

Library: AJAX for CodeIgniter AJAX for CodeIgniter is a CodeIgniter library that provides you with AJAX functionality for your CodeIgniter web applications. It comes with simple to use AJAX helpers that you can directly put in use in your apps. AJAX for CodeIgniter includes both Prototype and Scriptaculous helpers. Compatible with CodeIgniter 1.5.1.

Library: XAJAX Xajax is an AJAX library for PHP that allows you to create AJAX functionality without writing javascript. It’s very functional and fairly simple to use.

Library: TinyAjax TinyAjax is a small php5 library that allows you to easily add AJAX-functionality to existing pages and create new AJAX-enabled pages with just a few lines of code.

Library: YUI Demonstrates using a combination of tools to build a website. Addresses some questions about how to use YUI javascript frameworks with CI. Includes several custom libraries and helpers.

Library: jQuery For fancy Web 2.0 stuff using jQuery . It’s lean, it’s easy, it’s fast and it’s fun. To speed up production uses a jquery class. It’s far from complete, probably has bugs, error handling broke but posted anyway. Knowledge of jQuery is necessary to work with it, it might be helpful for some. Using http://www.visualjquery.com/index.xml is very much recommended, the jquery API is on it.

Forms

Library: FORGE: Form Generation Library Library: [http://codeigniter.com/forums/viewthread/49484/] Forum[/url]

Library: Form Library The Form library is a complete replacement for the Form helper. It reads an XML document and converts it to an array (via the Xml Library).

Library: Generate a form from a DB table Generate a form from a DB table As is, this depends on XAJAX CI library. If you just want to produce forms based on DB tables then use the “_formBuilder” function by itself by commenting-out/removing one line of code for it to be independent (there is a comment beside the line in the code below). Forum

Library: Form Generation Form Generation Class integrates the native form helper (with two added functions) and the validation library. It uses Code Igniter 1.5.x.

Library: Formdate FormDate is a class that creates select and option tags for date and time elements. It relies on the form helpers form_dropdown function. The forum thread were it all started.

Paypal

Library: phppaypalpro integration library very light wrapper implemented as library around phppaypalpro, also at sourceforge

Library: PayPal Lib This library provides a neat and simple method to interface with paypal and the paypal Instant Payment Notification (IPN) interface. Also on CIForge.

Library: Paypal IPN Library A complete Paypal IPN library. The library is complete, I am just getting it ready for public consumption. More details to follow...

Charting, Graphing

Library: OFC2 Factory Simple library to use Open Flash Chart 2 in CI

Library: Graphing Simple graphing library for code igniter

Library: Panaci: A Charting Library If your application needs to output graphic charts at run-time, such as bar, line area, step or impulse charts, then Panaci makes this rather easy. It utilises the Panachart charting class released under the GPL by Eugen Fernea. PanaChart is a PHP class for online charts creation using PHP scripting language and the GD image manipulation library. It makes it easy to plot several types of charts with less then 10 lines of code. PanaChart is suited for any scientific or business web application. I needed a graphing library in my most recent project, and Panachart library worked out beautifully. Thanks go to Oscar Bajner for doing this up and making it available.

Library: 3D Pie chart library . Craig's adaptation of an excellent and elegant 3D Pie chart library.

Library: JP Graph A brief summary of how to integrate the JpGraph charting library with CodeIgniter. JpGraph is a comprehensive charting package with support for over 15 chart types.

Library: Google Maps Reference for how to implement a google maps api library into CI.

Library: layout library A cake-like layout/view system.

Templates

Library: (Yet Another Template System) YATS YATS is a template system designed as a library with helper functions for Code Igniter 1.5. This library was designed after the CI philosophies—it’s lean and straight forward. After installing YATS you’ll see how easy is to create and edit templates for your projects!

Library: TinyButStrong This is a template library that wraps around TinyButStrong.

Library: Catalyst Model An extension to the CI Model class that provides some functionality similar to what can be found in Django and Rails (among others).

Library: Weight Loss Collection of writing and research templates useful in your projects.

Library: Simple view library A way to build a page with the least amount of code necessary but flexible enough to use it for every site. Forum

Library: Ocular Layout Library A Rails-inspired templating system making it easy to do views-in-views (partials) and much more.

Library: Page12 Templates URL based template system that separates designers from the application

Database

Library: ADODB A CodeIgniter interface to the ADODB library

Library: ORM - Object Relational Mapper In short, it maps your database tables and fields with their relationships to programming objects. Forum

Library: Filemaker A CodeIgniter interface to the Filemaker FX.php library

Email

Library: Richmail This library extends the Email library, adds the ability to take images and add them as inline attachments. It also made some performance improvements. If you build an email application, you can see how these are sorely needed. The richmail project has so much potential. Unfortunately it hasn't evolved much since its inception, and won't work without some heavy hacking.

Library: CI SWIFT MAILER A solution for using SWIFT MAILER library with CI.

Library: imap_pop class For pulling mail from an imap or pop server. Use for tracking trouble tickets, bounced mail handling, email posting to blog, moblogging, etc...

Pagination

Library: Alternate Pagination Library An Alternate CI Pagination Library. This alternate pagination lib (Requires PHP5) uses page numbers in the URI as opposed to the offsets used by the stock class. Where the default CI class returns a html string, this class returns an array to be formatted by your own templates or views.

Library: Digg Style Pagination Library Library to produce digg-style pagination.

Miscellaneous

Library: Language Selection This package allows you to select the national language of your web site. The initial language is determined from the browser’s language list as available to PHP as the $_SERVER[’HTTP_ACCEPT_LANGUAGE’] value. This list should reflect the language preferences of the user. The entries of the browser’s list usually are predefined by the language variant of the browser, but the user can modify this list if he or she likes to read web content in various languages. Forum

Library: Unzip This class allows programmer to easily unzip files on the fly. The origial class made by “Alexandre Tedeschi” was modified to a code codeigniter library.

Library: dbug How to use phpDump as library for use in CI. PHP Dump is an enhanced version of the var_dump PHP function. It can be used during debugging to quickly output and display many data types, including multi-dimensional arrays and MySQL result sets.

Library: captcha An older CI plugin for generating captcha is converted to a library.

Library: Associative Arrays via $_POST, $_GET, and $_COOKIE Extends the CI Input and Validation libraries so it now supports associative arrays via post , get and cookie! Now you can read your arrays elements via CI Input methods!

Library: Message Notification Class This is a library inpsired by (but not derived from) the Horde Notification to enable your scripts to write messages that can be output to the end-user or logged to a file. By default there are 4 message levels: success - a successful event has take place, message - a notification message, warning - a warning about something, error - an error has occurred. Forum

Library: FireStick Add-on for CodeIgniter that makes recording historical performance easy. Performance measuring and logging is an important part of application maintenance and improvement. FireStick makes it easy to record page render times, MySQL call times, and other related information that you can use to track down performance issues. Forum

Plugins

Editor WYSIWYG

Plugin: FCKeditor Incorporate the FCKeditor using Code Igniter’s 1.4x Libraries.

Plugin: SPAW SPAW is a very powerful and easy to use visual editor that I like to use in my applications. I wanted to keep it flowing with the rest of my CI app by using the loader class to load it (instead of including it at strange places in my views), so I turned it into a custom library which can be loaded.

Forum

PDF

Plugin: PDF generation using dompdf plugin I needed to be able to generate PDFs on the fly for Bambooinvoice's invoice export. There are a few choices out there, and I played with most of them. FPDF was nice, but I found the syntax to onerous to be practical (I want users to be able to control the look of their PDFs, and with FPDF they’d essentially need to learn a new language). After much searching, I hit upon dompdf. EXCELLENT! Decent support for what I needed to do, and has decent (not great) support for many CSS styles and XHTML. Please note, that it is PHP 5 only.

Plugin: htmldoc Snags on dompdf? Use a plugin for mediawiki by Thomas Hempel that relies on htmldoc…

Forms

Plugin: QuickModel A model class that uses PEAR's HTML_Quickform to generate forms and the associated CRUD (create, update, delete) operations to connect them to a database (either CI database, or ADODB). Think of it as scaffolding on steroids.

Excel

Plugin: Excel If you work with information long enough, you're going to find a need to move it into the format of popular desktop applications. Ability to take arbitrary database results and push them out into CSV format that would get read by Excel.

Library: Excel Reader This library reads an Excel formatted spreadsheet document. Currently it only works with newer versions of Excel but will be made to work with older versions in time.

Helpers

Forms

Helper: (FAF) Form Auto Fill Form Auto Fill is a helper will populate HTML form elements with values taken from hashed array or object

Helper: ObjectForm The form helper provided with CodeIgniter is a good idea to help view creators in managing forms ; for example, the form_dropdown() function is really time and code length improving, but some function prototypes don’t suit me.

AJAX

Helper: JSON Helper The JSON helper is a simple interface to the Pear Services_JSON class created by Michal Migurski, Matt Knapp, and Brett Stimmerman. Only two functions exist, json_encode and json_decode. Both functions take one parameter, the data to be encoded/decoded. Once data is encoded, it is decoded in Javascript as so (javascript brackets should be parentheses):

Helper: Mootools A reference article to make it easy to utilize mootools in CI projects.

File Management

Helper: Asset Helper Keep track of the digital media on your site without hardcoding any paths. Loading images, CSS and JavaScript the CodeIgnitor way!

Validation

Helper: hexadecimal validation Useful for validating hexadecimal value

Collaboration: Validation A collaboration to extend the validation library.

Miscellaneous

Helper: MySQL DATETIME A reference describing how to enhance CI’s date helper with MySQL DATETIME / DATE functionality.

Helper: BBCode Helper Use this helper to parse strings and turn BBCode style tags into basic HTML with settings available to offer protection from reprbate types who post ginourmous images.

Helper: Microformats Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards. This helper is meant to ease the creation of various well known microformats. So if you ever need to generate microformats on your site, consider using the Microformats plugin. Currently it supports the widely used hCard implementation, and the less widely used (but I needed it) rel="license".

Core

Core: Filters system Filters allow you to execute code before, after or around a controller modifying a controllers execution path without modifying the controller itself . Filters permit customization of an application to specific deployment requirements using CI hooks.

Extending Config: Config Extend to Database - While looking around for usage and performance examples of application configuration should come from a database or file system. I found an interesting example between the pros and cons of each. So whipped out the trusty IDE (PHP Eclipse) and whipped up this simple addition to the core of CI.

Mini-Applications

Mini-Application: CodeCrafter CodeCrafter is a code generator for the Code Igniter framework. One might say, it is a CRUD utility. It will convert your database into ready-to-run CodeIgniter source code.

Mini-Application: Fire Ignition Fire Ignition allows you to see log messages and special messages on the fly, using Mozilla Firefox. Developed using CI 1.5.3. Probably compatible with CI 1.5.x.

Clone this wiki locally