App Framework Update

Added:
* custom/site.php ~ custom site config
* core/MY_Controller ~ base app controller (extends CI_Controller)
* core/MY_Model ~ base app model (extends CI_Model)
* libraries/AdminController ~ common parent for all admin controllers
* libraries/FrontendController ~ common parent for all frontend
controllers

Cleanup:
* Removed welcome controller and message

Misc:
* Added autoloader function to index.php for autoloading custom
libraries
Added CRUD functionality to MY_Model

Updated MY_Model with basic database Create Read Update Delete (CRUD)
functionality.
Migration Interface Update

Added:
controllers/admin/migration.php ~ controller for running migrations
migrations/001_blogpost.php ~ creates the blogpost table
models/blogpost_m.php ~ skeleton for blogpost model

Changes:
* config/migration.php ~ enabled CI migration tool
* core/MY_Model.php ~ fixed some bugs and got the code working on sample
blog data. also changed constructor to follow CI convention of empty
parameter list.
Schema change to blogpost

Changes:
* migrations/001_blogpost.php ~ changed blogpost.postdate from an
int(10) to an int(11)
Added project migration

Added:
* migrations/002_project.php ~ creates the project table
Admin Update (first pass)

Added:
* controllers/admin/blogpost.php ~ handles CMS operations on blog posts
* controllers/admin/dashboard.php ~ welcome page for CMS. will possibly
have site statistics at some future date.
* controllers/admin/projects.php ~ handles CMS operations on projects
(WIP)
* helpers/data_processing_helper.php ~ contains helper functions for
data processing
* views/admin/blogpost/blog_edit_v.php ~ blog post edit view
* views/admin/blogpost/blog_index_v.php ~ blog post index view
* views/admin/main_layout_v.php ~ main layout for CMS
* views/admin/project/project_edit_v.php ~ project edit view
* views/admin/project/project_index_v.php ~ project index view
* views/admin/template/page_foot_v.php ~ admin page footer
* views/admin/template/page_head_v.php ~ admin page header
* views/admin/welcome_v.php ~ subview for CMS welcome page, may contain
site statistics in the future

Changes:
* core/MY_Controller.php ~ added generic form validation here that child
controllers can leverage
* core/MY_Model.php ~ a bunch of changes related to input
processing/data conversion:
1. Added data packaging/unpackaging functionality, which allows a
specified function to be called for each field in the model to transform
it between storage and processing/display format
2. Form input rules for the model data are now defined in the model.
Functionality has been added to retrieve those rules, making the
controller's job regarding form validation trivial.
3. Added functionality for retrieving post data, again to make the
controller's job easier.
* libraries/AdminController.php ~ Changed it to store the page title
since all admin views will need it.
* models/blogpost_m.php ~ Two changes:
1. Added packager/unpackager info to blogpost, to take advantage of the
new packager/unpackager functionality added to MY_Model (see changes for
MY_Model)
2. Added getDefault method which aids in getting field defaults for form
processing
* system/language/english/form_validation_lang.php ~ Added validation
message for generic validation routine added to MY_Controller (see
changes for MY_Controller)
* index.php ~ Set the default timezone when in development mode
* config/autoload.php ~ added custom 'data_processing_helper' to
autoloader
Admin Update (second pass)

Added:
* helpers/view_processing_helper.php ~ Contains functions for generating
html chunks (buttons, forms, etc) on the fly for better reusability and
maintainability.
* models/project_m.php ~ project model
TWITTER BOOTSTRAP STUFF:
* css/bootstrap-responsive.min.css
* css/bootstrap.min.css
* img/glyphicons-halflings-white.png
* img/glyphicons-halflings.png
* js/bootstrap-datepicker.js
* js/bootstrap-min.js

Changes:
* config/autoload.php ~ added view_processing_helper to autoloader
* controllers/admin/blogpost.php ~ Two changes:
1. Added a delete method for deleting posts.
2. Added setEditFormData  method which sets up the form data for editing
posts. The form itself is built dynamically from this data when the view
is rendered.
* controllers/admin/project.php ~ Several changes:
1. Updated index method to fetch projects using project model
2. Implemented the edit method, which presents the edit form, runs
validation, and calls off to the model to either update or insert a new
project.
3. Added a delete method for deleting projects.
4. Added setEditFormData method which sets up the form data for editing
posts. The form itself is built dynamically from this data when the view
is rendered.
* helpers/data_processing_helper.php ~ Several changes:
1. Cleaned up some comments.
2. Wrapped functions in "function_exists" calls to be more in line with
how CI implements helpers.
3. Changed the dp_validDate function so that it now parses out the word
"at" (which is placed between the date and time in the form field for
readability) and returns the parsed string if the date is valid, rather
than simply returning true. This way, it does double duty in that it
validates and processes user input.
* libraries/AdminController.php ~ Setup the main nav menu link data here
since all admin views will need it.
* views/admin/blogpost/blog_edit_v.php ~ Updated to use vp_buildForm for
easier maintainability. vp_buildForm also injects class tags for twitter
bootstrap styling.
* views/admin/blogpost/blog_index_v.php ~ Changes:
1. Added edit/delete buttons.
2. Updated for twitter bootstrap styling.
* views/admin/main_layout_v.php ~ Updated for twitter bootstrap styling
* views/admin/project/project_edit_v.php ~ same story as blog_edit_v.php
* views/admin/project/project_index_v.php ~ same story as
blog_index_v.php
* views/admin/template/page_head_v.php ~ added includes for twitter
bootstrap
* views/admin/welcome_v.php ~ Wrapped welcome msg in h2 tags.
Tiny MCE integration

Added:
* Tiny MCE HTML editor ~ Spruces up select textareas by converting them
into mini html editors.
Added Snippets to CMS

Snippets are blocks of html content with a title.

Added:
* controllers/admin/snippet.php ~ snippet controller
* migrations/003_snippet.php ~ creates the snippets table
* models/snippet_m.php ~ snippet model
* views/admin/snippet/snippet_edit_v.php ~ edit form for snippets
* veiws/admin/snippet/snippet_index_v.php ~ index view for snippets

Changed:
* config/migration.php ~ Bumped migration version
* libraries/AdminController.php ~ Added snippet link to main admin nav
menu
Added pagination to CMS pages

Added:
* config/pagination.php ~ sets up the tags used in the pagination
control so that it can be styled by twitter bootstrap

Changes:
* config/routes.php ~ adding routing rule to simplify pagination URIs
added pagination logic to index method
* controllers/admin/blogpost.php
* controllers/admin/project.php
* controllers/admin/snippet.php
* core/MY_Model.php ~ added a row count method and changed get/getby to
have limit/offset arguments
added pagination control
* views/admin/blogpost/blog_index_v.php
* views/admin/project/project_index_v.php
* views/admin/snippet/snippet_index_v.php
Added user authentication

Added:
* controllers/admin/user.php ~ the user controller which handles login
* migrations/004_user.php ~ creates the user table
* migrations/005_ci_session.php ~ creates the CI session table (I
config'd sessions to be stored in DB)
* models/user_m.php ~ the user model
* views/admin/modal_layout_v.php ~ a layout view for modal dialogs
* views/admin/user/user_login_v.php ~ the user login view

Changes:
* config/config.php ~ enabled DB sessions and up'd the security on
sessions from defaults
* config/migration.php ~ bumped version
* helpers/view_processing_helper.php ~ made it so session flashdata
errors with the identifier of "form_error" now show up in the form
errors. also injected error html within the form so that it is aligned
with the form better.
* libraries/AdminController.php ~ Changes:
1. I now load the session library here so that its available in all
admin controllers.
2. I perform a login check here so that it will fire anytime an admin
controller is invokved. If the user is not logged in, they'll get
redirected to the login screen.
* views/admin/main_layout_v.php ~ Changes:
1. Removed opening body tag from page_head and added it here so that its
available for styling. I style it modal_layout_v.php.
2. Added a logout button to the main layout.
* views/admin/template/page_head_v.php ~ removed opening body tag. this
will now reside in the layout views, so that they may style the body.