=== Plugin Name ===
Author: Francis Crossen (fcrossen)
Contributors: Francis Crossen (fcrossen)
Donate link: http://seeit.org/tina-mvc-for-wordpress
Tags: plugin, widget, mvc, shortcode, development
Requires at least: 2.9.1
Tested up to: 3.0.1
Dev version: 0.3
Stable tag: 0.3
The Tina MVC plugin provides a framework upon which you can develop your own plugins, shortcode functions
and widgets.
== Description ==
Need to develop your own plugin, widget and shortcode functionality? Tina MVC provides you with a set of base classes and helper functions on which you build your applications.
It uses a lose model view controller pattern to abstract design and logic and make life easier for you and your HTML designer. It is released under the GPL v.2 license.
It is designed to:
* separate your code from Wordpress themes - allows you users to change their theme and still retain your application functionality.
* provide you with a helper for generating and processing HTML forms.
* separate your code from the core Tina MVC files for easy upgrades.
* be as non-intrusive and use as few action hooks and filters as possible. Currently 2 page filters plus, 1 action hook for widgets and 1 shortcode hook are used for basic usage.
* be flexible enough for quick procedural prototyping - don't like MVC? No problem!
If you are interested in alternative licensing models, or in commercial support, please contact the author at http://www.seeit.org/about-us/.
Support for this version is available at http://wordpress.org/tags/tina-mvc?forum_id=10.
== Installation ==
1. Download and unzip
1. Upload the `tina-mvc` folder to the `/wp-content/plugins/` directory
1. Activate the plugin through the 'Plugins' menu in WordPress
1. Go to the `Tina MVC` entry in your Wordpress Administration `Settings` menu for a quick start
1. Navigate to the newly created `Tina MVC for Wordpress` page on your Wordpress site
== Upgrade Notice ==
The automatic upgrade feature is unreliable. It definitely will not work for you if your web server cannot write to the wp-content folder. * Always backup your apps. *
You can upgrade manually:
1) Download and unzip; 2) Deactivate the plugin through the 'Plugins' menu in WordPress; 3) Backup `app`, `app_emails`, `tina_mvc_app_settings.php` and any other files and folders you created;
4) Delete the contents of the `tina-mvc` folder and copy back your backed up files; 5) Compare the new `tina_mvc_app_settings_sample.php` file with your `tina_mvc_app_settings.php` file and merge any changes;
5) Reactivate the plugin
== Frequently Asked Questions ==
= PHP Errors? =
This plugin was written from the ground up on PHP 5.2 and Wordpress 2.9.1. PHP 4 is NOT supported.
= I changed a setting and Tina is ignoring it... =
If you edit tina_mvc_app_settings.php, you must deactivate/reactivate the plugin to load the new settings.
= How do I start writing my code? =
The default install will create 2 new Wordpress pages. One will be a public page that will act as a front end controller page.
It will contain some basic instructions on how to proceed. The package contains some sample applications to get you started. If you do anything funky with Tina MVC, why not submit it to us for inclusion as a sample?
= Where can I get support? =
At the moment the best place to go is the 'Plugins and Hacks' forum (http://wordpress.org/tags/tina-mvc?forum_id=10). I'll implement a proper bug tracker if it is required.
== Changelog ==
= 0.3 =
* Complete reorganisation of core files
* Rewrite of core page controllers and views
* the form helper is not autoloaded any more. Use tina_mvc_include_helper('tina_mvc_form_helper') first
* new function tina_mvc_call_page_controller() for use in your apps or theme template files
* can use custom folder locations for page controllers `tina_mvc_call_page_controller()` and views `tina_mvc_base_page_class->load_view()` to separate core code from your own apps
* tina_mvc_user_has_role() and tina_mvc_user_has_capability() accept comma seperated list or arrays
* Added app_bootstrap feature - allows you to enqueue styles and scripts before page output begins when using widgets or shortcodes
* Added app_init_bootstrap feature - allows you to run code (e.g. to register a custom post) at the init action hook
* Changed how shortcodes are run - now we go before wp_texturizer()
* The contents of a non self-enclosing shortcode are available to the page controller now
* Added 'app_install_remove' to allow running arbitrary code on plugin install/remove. See tina_mvc_admin_install()/tina_mvc_admin_remove() in tina_mvc_admin_functions.php
* Added a basic framework for unit tests (unfinished)
* Removed the phpDocumentor tutorials folder.
* Bug fix: tina_mvc_form_helper_class->validate_as_REGEXP() was broken
* Fixed a possible XSS attack vector
= 0.2 =
* Rollup release of recent fixes and additions
- Minor bug: Widget title was not being passed through apply_filters() if you used set_page_title() from your page controller
- Edited the default front end controller page content
- Added a logo
- Added a sample application (widgets_page.php)
- Fixed minor bug in a sample app
* Preparatory release prior to 0.3 release and reorganisation of plugin
= 0.1.12 =
* Release of recent changes
* Added a sample application (widgets_page.php)
* RC2 for 0.2
= 0.1.11.2 =
* Edited the default front end controller page content
* Added a logo
= 0.1.11.1 =
* Minor bug: Widget title was not being passed through apply_filters() if you used set_page_title() from your page controller
= 0.1.11 =
* Fixed a critical bug introduced in last commit
= 0.1.10.2 =
* Fixed a typo
= 0.1.10.1 =
* Added PHPDocumentor style manual
* Updated description
= 0.1.10 =
* Rollup and testing of recent fixes and additions
- removal of the PHP __autoload() function requirement
- new dispatcher method for auto excuting your mothods
- $tina_mvc_missing_page_controller_action to manage missing controller errors
* Example page for the new dispatcher method
* RC1 for 0.2
= 0.1.9.4 =
* Widgets and shortcodes now display missing controller errors when $tina_mvc_missing_page_controller_action option == 'display_errors'
= 0.1.9.3 =
* Added 'tina_mvc_missing_page_controller_action' option
* Provides configurable behaviour of what happens when a missing page controller is called
= 0.1.9.2 =
* Removed the __autoload() function definition
= 0.1.9 =
* Pushed recent changes to a stable tag
= 0.1.8.2 =
* Backported various bug fixes from a app development session
* Started to add basic functionality to mvc models
* Changed version numbering system. x.x.x releases are kept for stable tags, x.x.x.x for the latest development version
= 0.1.8.1 =
* Bug in the contact-form sample controller. Made it more functional while I was at it.
= 0.1.8.1 =
* Bug in the contact-form sample controller. Made it more functional while I was at it.
= 0.1.8 =
* Custom pages for registration, login, password reminder
* Custom user landing page
* View files working properly with widgets and shortcodes
* Permissions (role and capability based) working
* Lots of minor bugfixes
* Lots of general tidying
= 0.1.7.5 =
* Release candidate 3 for 0.1.8
* Critical enhancement: New tina_mvc_app_settings_sample.php file. Added `$tina_mvc_logon_redirect_target`
* Major bugfix: fixed a bug introduced on last commit. Was causing load_view() to fail when used in widgets (and possibly shortcodes).
= 0.1.7.4 =
* Release candidate 2 for 0.1.8
* Major enhancement: added a new helper function to the forms helper.
= 0.1.7.3 =
* Release candidate for 0.1.8
* Critical enhancement: Tina MVC custom user pages should now be working fine.
* Major bugfix: Several helper functions were fixed. These were causing the redirect functionality to fail when you use the Tina MVC custom user pages.
= 0.1.7 =
* Minor bugfix: tina_mvc_make_controller_url() was creating an incorrect url for absolute controller paths.
* Trivial bugfix: In sample apps, index_view() was using the wrong function to create some links to sample apps.
= 0.1.6 =
* Added backup/restore functionality to migrate settings when Tina MVC is upgraded
= 0.1.5 =
* Tidied the PhpDocumentor tags.
= 0.1.4 =
* Fixed a bug that was causing tina_mvc_make_controller_url() to return incorrect paths to controllers
= 0.1.3 =
* Fixed a logic typo which was causing the http redirect from wp-admin/wp-login to fail if $default_role_to_view == '' instead of '-1' (the default setting).
= 0.1.2 =
* Changed the plugin folder name to tina-mvc (to match the Wordpress.org name)
= 0.1.1 =
* Minor change to the readme.txt file.
= 0.1 =
* Initial release to the wild.