2005-07-04 01:07:14 +00:00
|
|
|
<?php
|
2005-08-21 06:49:02 +00:00
|
|
|
/* SVN FILE: $Id$ */
|
2005-06-19 23:30:36 +00:00
|
|
|
|
|
|
|
/**
|
2005-08-25 03:45:14 +00:00
|
|
|
* Base controller class.
|
2005-06-19 23:30:36 +00:00
|
|
|
*
|
2005-08-21 06:49:02 +00:00
|
|
|
* PHP versions 4 and 5
|
2005-06-19 23:30:36 +00:00
|
|
|
*
|
2005-08-21 06:49:02 +00:00
|
|
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
2006-01-20 07:46:14 +00:00
|
|
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
2005-12-23 21:57:26 +00:00
|
|
|
* 1785 E. Sahara Avenue, Suite 490-204
|
|
|
|
* Las Vegas, Nevada 89104
|
2005-07-10 05:08:19 +00:00
|
|
|
*
|
2005-12-23 21:57:26 +00:00
|
|
|
* Licensed under The MIT License
|
|
|
|
* Redistributions of files must retain the above copyright notice.
|
2005-07-10 05:08:19 +00:00
|
|
|
*
|
2005-08-25 03:45:14 +00:00
|
|
|
* @filesource
|
2006-01-20 07:46:14 +00:00
|
|
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
2005-12-23 21:57:26 +00:00
|
|
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
2005-08-21 06:49:02 +00:00
|
|
|
* @package cake
|
2005-10-09 01:56:21 +00:00
|
|
|
* @subpackage cake.cake.libs.controller
|
2005-08-21 06:49:02 +00:00
|
|
|
* @since CakePHP v 0.2.9
|
|
|
|
* @version $Revision$
|
|
|
|
* @modifiedby $LastChangedBy$
|
|
|
|
* @lastmodified $Date$
|
|
|
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
2005-07-10 05:08:19 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2005-08-25 03:45:14 +00:00
|
|
|
* Include files
|
2005-07-10 05:08:19 +00:00
|
|
|
*/
|
2005-12-27 03:33:44 +00:00
|
|
|
uses(DS.'controller'.DS.'component', DS.'view'.DS.'view');
|
2005-07-10 05:08:19 +00:00
|
|
|
|
|
|
|
/**
|
2005-08-21 06:49:02 +00:00
|
|
|
* Controller
|
2005-07-10 05:08:19 +00:00
|
|
|
*
|
2005-08-25 03:45:14 +00:00
|
|
|
* Application controller (controllers are where you put all the actual code)
|
2005-08-21 06:49:02 +00:00
|
|
|
* Provides basic functionality, such as rendering views (aka displaying templates).
|
2005-08-25 03:45:14 +00:00
|
|
|
* Automatically selects model name from on singularized object class name
|
2005-08-21 06:49:02 +00:00
|
|
|
* and creates the model object if proper class exists.
|
2005-07-10 05:08:19 +00:00
|
|
|
*
|
2005-08-21 06:49:02 +00:00
|
|
|
* @package cake
|
2005-10-09 01:56:21 +00:00
|
|
|
* @subpackage cake.cake.libs.controller
|
2005-08-21 06:49:02 +00:00
|
|
|
* @since CakePHP v 0.2.9
|
2005-07-10 05:08:19 +00:00
|
|
|
*
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
class Controller extends Object
|
|
|
|
{
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Name of the controller.
|
|
|
|
*
|
|
|
|
* @var unknown_type
|
|
|
|
* @access public
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $name = null;
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Stores the current URL (for links etc.)
|
|
|
|
*
|
|
|
|
* @var string Current URL
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $here = null;
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Action to be performed.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
* @access public
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $action = null;
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* An array of names of models the particular controller wants to use.
|
|
|
|
*
|
|
|
|
* @var mixed A single name as a string or a list of names as an array.
|
|
|
|
* @access protected
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $uses = false;
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* An array of names of built-in helpers to include.
|
|
|
|
*
|
|
|
|
* @var mixed A single name as a string or a list of names as an array.
|
|
|
|
* @access protected
|
|
|
|
*/
|
[1210]
Author: phpnut
Date: 4:44:45 AM, Wednesday, October 26, 2005
Message:
AJAX is now available as a by default in the $html variable in the templates.
You access it like this:
$html->Ajax->xxx();
Updated default templates.
[1208]
Author: phpnut
Date: 6:49:26 PM, Tuesday, October 25, 2005
Message:
Adding fix in Controller::generateFieldNames();
[1203]
Author: phpnut
Date: 10:40:28 AM, Tuesday, October 25, 2005
Message:
Changes made to core templates and css.
Fixed added for Ticket #60
[1202]
Author: phpnut
Date: 2:30:58 AM, Tuesday, October 25, 2005
Message:
Fix for cake error templates
Fixed a key for tables that are underscored in scaffolded code.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1211 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-26 10:55:44 +00:00
|
|
|
var $helpers = array('Html');
|
2005-08-21 06:49:02 +00:00
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var unknown_type
|
|
|
|
*/
|
2006-03-08 03:13:32 +00:00
|
|
|
var $viewPath = null;
|
2005-08-21 06:49:02 +00:00
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Variables for the view
|
|
|
|
*
|
|
|
|
* @var array
|
|
|
|
* @access private
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $_viewVars = array();
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Web page title
|
|
|
|
*
|
|
|
|
* @var boolean
|
|
|
|
* @access private
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $pageTitle = false;
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* An array of model objects.
|
|
|
|
*
|
|
|
|
* @var array Array of model objects.
|
|
|
|
* @access public
|
|
|
|
*/
|
[1178]
Author: phpnut
Date: 8:52:12 PM, Sunday, October 23, 2005
Message:
adding cakephp power image
[1177]
Author: phpnut
Date: 8:48:32 PM, Sunday, October 23, 2005
Message:
Updated scaffold to use new layout template.
[1176]
Author: phpnut
Date: 7:09:27 PM, Sunday, October 23, 2005
Message:
renaming cake/conf to cake/config
[1175]
Author: phpnut
Date: 7:06:04 PM, Sunday, October 23, 2005
Message:
moving tags.ini.php to cake/conf/tags.ini.php
[1174]
Author: phpnut
Date: 6:52:19 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1173]
Author: phpnut
Date: 6:46:07 PM, Sunday, October 23, 2005
Message:
updating css/cake.deafult.css and default layout
[1172]
Author: phpnut
Date: 6:42:48 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1171]
Author: phpnut
Date: 6:41:00 PM, Sunday, October 23, 2005
Message:
Adding spaces to tags.ini file
[1170]
Author: phpnut
Date: 6:37:17 PM, Sunday, October 23, 2005
Message:
Removing code that is no longer used
[1169]
Author: phpnut
Date: 6:34:24 PM, Sunday, October 23, 2005
Message:
removing files that are no longer used
[1168]
Author: phpnut
Date: 6:19:46 PM, Sunday, October 23, 2005
Message:
Cleaning up Scaffold class.
[1167]
Author: phpnut
Date: 5:26:27 PM, Sunday, October 23, 2005
Message:
Changes are added to remove the $this->models array that would hold the instance of the models.
Now they are available as $this->ModelName; This should be CamelCased.
Added check in the Scaffold to return forms when accessing the actions update, create without a form being submitted.
[1166]
Author: phpnut
Date: 3:53:08 PM, Sunday, October 23, 2005
Message:
Making change to allow setting the name of a class camel cased to fix issues with PHP 4.
In both the model and the controllers:
Model: var $name = 'ModelName';
Controller: var $name = 'ControllerName'; ControllerName not ControllerNameController.
[1165]
Author: phpnut
Date: 1:45:17 PM, Sunday, October 23, 2005
Message:
Fix added for problems with key name that was added to the class registry when underscored
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1179 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 01:56:20 +00:00
|
|
|
var $modelNames = array();
|
2005-08-21 06:49:02 +00:00
|
|
|
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var unknown_type
|
|
|
|
* @access public
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $base = null;
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Layout file to use (see /app/views/layouts/default.thtml)
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
* @access public
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $layout = 'default';
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Automatically render the view (the dispatcher checks for this variable before running render())
|
|
|
|
*
|
|
|
|
* @var boolean
|
|
|
|
* @access public
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $autoRender = true;
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var boolean
|
|
|
|
* @access public
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $autoLayout = true;
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
* @access public
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
var $beforeFilter = null;
|
2005-12-22 01:07:28 +00:00
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var unknown_type
|
|
|
|
*/
|
2005-10-09 01:56:21 +00:00
|
|
|
var $components = array();
|
2005-08-21 06:49:02 +00:00
|
|
|
|
2006-01-01 02:05:01 +00:00
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var unknown_type
|
|
|
|
*/
|
|
|
|
var $view = 'View';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var unknown_type
|
|
|
|
*/
|
|
|
|
var $_viewClass = null;
|
|
|
|
|
2006-02-02 11:48:29 +00:00
|
|
|
/**
|
|
|
|
* The output of the requested action. Contains either a variable
|
|
|
|
* returned from the action, or the data of the rendered view;
|
|
|
|
*
|
|
|
|
* @var unknown_type
|
|
|
|
*/
|
|
|
|
var $output = null;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var unknown_type
|
|
|
|
*/
|
2006-02-01 13:26:23 +00:00
|
|
|
var $plugin = null;
|
|
|
|
|
2006-03-12 00:11:40 +00:00
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var unknown_type
|
|
|
|
*/
|
|
|
|
var $cacheAction = false;
|
|
|
|
|
2006-03-19 03:26:43 +00:00
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @var boolean
|
|
|
|
*/
|
|
|
|
var $persistModel = false;
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
|
|
|
* Constructor.
|
|
|
|
*
|
|
|
|
*/
|
2005-09-17 02:22:07 +00:00
|
|
|
function __construct ()
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
[1178]
Author: phpnut
Date: 8:52:12 PM, Sunday, October 23, 2005
Message:
adding cakephp power image
[1177]
Author: phpnut
Date: 8:48:32 PM, Sunday, October 23, 2005
Message:
Updated scaffold to use new layout template.
[1176]
Author: phpnut
Date: 7:09:27 PM, Sunday, October 23, 2005
Message:
renaming cake/conf to cake/config
[1175]
Author: phpnut
Date: 7:06:04 PM, Sunday, October 23, 2005
Message:
moving tags.ini.php to cake/conf/tags.ini.php
[1174]
Author: phpnut
Date: 6:52:19 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1173]
Author: phpnut
Date: 6:46:07 PM, Sunday, October 23, 2005
Message:
updating css/cake.deafult.css and default layout
[1172]
Author: phpnut
Date: 6:42:48 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1171]
Author: phpnut
Date: 6:41:00 PM, Sunday, October 23, 2005
Message:
Adding spaces to tags.ini file
[1170]
Author: phpnut
Date: 6:37:17 PM, Sunday, October 23, 2005
Message:
Removing code that is no longer used
[1169]
Author: phpnut
Date: 6:34:24 PM, Sunday, October 23, 2005
Message:
removing files that are no longer used
[1168]
Author: phpnut
Date: 6:19:46 PM, Sunday, October 23, 2005
Message:
Cleaning up Scaffold class.
[1167]
Author: phpnut
Date: 5:26:27 PM, Sunday, October 23, 2005
Message:
Changes are added to remove the $this->models array that would hold the instance of the models.
Now they are available as $this->ModelName; This should be CamelCased.
Added check in the Scaffold to return forms when accessing the actions update, create without a form being submitted.
[1166]
Author: phpnut
Date: 3:53:08 PM, Sunday, October 23, 2005
Message:
Making change to allow setting the name of a class camel cased to fix issues with PHP 4.
In both the model and the controllers:
Model: var $name = 'ModelName';
Controller: var $name = 'ControllerName'; ControllerName not ControllerNameController.
[1165]
Author: phpnut
Date: 1:45:17 PM, Sunday, October 23, 2005
Message:
Fix added for problems with key name that was added to the class registry when underscored
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1179 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 01:56:20 +00:00
|
|
|
if($this->name === null)
|
2005-09-19 22:59:06 +00:00
|
|
|
{
|
[1178]
Author: phpnut
Date: 8:52:12 PM, Sunday, October 23, 2005
Message:
adding cakephp power image
[1177]
Author: phpnut
Date: 8:48:32 PM, Sunday, October 23, 2005
Message:
Updated scaffold to use new layout template.
[1176]
Author: phpnut
Date: 7:09:27 PM, Sunday, October 23, 2005
Message:
renaming cake/conf to cake/config
[1175]
Author: phpnut
Date: 7:06:04 PM, Sunday, October 23, 2005
Message:
moving tags.ini.php to cake/conf/tags.ini.php
[1174]
Author: phpnut
Date: 6:52:19 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1173]
Author: phpnut
Date: 6:46:07 PM, Sunday, October 23, 2005
Message:
updating css/cake.deafult.css and default layout
[1172]
Author: phpnut
Date: 6:42:48 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1171]
Author: phpnut
Date: 6:41:00 PM, Sunday, October 23, 2005
Message:
Adding spaces to tags.ini file
[1170]
Author: phpnut
Date: 6:37:17 PM, Sunday, October 23, 2005
Message:
Removing code that is no longer used
[1169]
Author: phpnut
Date: 6:34:24 PM, Sunday, October 23, 2005
Message:
removing files that are no longer used
[1168]
Author: phpnut
Date: 6:19:46 PM, Sunday, October 23, 2005
Message:
Cleaning up Scaffold class.
[1167]
Author: phpnut
Date: 5:26:27 PM, Sunday, October 23, 2005
Message:
Changes are added to remove the $this->models array that would hold the instance of the models.
Now they are available as $this->ModelName; This should be CamelCased.
Added check in the Scaffold to return forms when accessing the actions update, create without a form being submitted.
[1166]
Author: phpnut
Date: 3:53:08 PM, Sunday, October 23, 2005
Message:
Making change to allow setting the name of a class camel cased to fix issues with PHP 4.
In both the model and the controllers:
Model: var $name = 'ModelName';
Controller: var $name = 'ControllerName'; ControllerName not ControllerNameController.
[1165]
Author: phpnut
Date: 1:45:17 PM, Sunday, October 23, 2005
Message:
Fix added for problems with key name that was added to the class registry when underscored
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1179 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 01:56:20 +00:00
|
|
|
$r = null;
|
|
|
|
if (!preg_match('/(.*)Controller/i', get_class($this), $r))
|
|
|
|
{
|
|
|
|
die("Controller::__construct() : Can't get or parse my own class name, exiting.");
|
|
|
|
}
|
2005-09-19 22:59:06 +00:00
|
|
|
$this->name = $r[1];
|
|
|
|
}
|
2006-03-08 03:13:32 +00:00
|
|
|
|
|
|
|
if ($this->viewPath == null)
|
|
|
|
{
|
|
|
|
$this->viewPath = Inflector::underscore($this->name);
|
|
|
|
}
|
|
|
|
|
2006-03-15 20:45:59 +00:00
|
|
|
$this->modelClass = ucwords(Inflector::singularize($this->name));
|
[1183]
Author: phpnut
Date: 10:42:06 PM, Sunday, October 23, 2005
Message:
Fixed errors created with change I have been making.
Controller::generateFields(); was not setting the tagName properly.
[1182]
Author: phpnut
Date: 10:13:33 PM, Sunday, October 23, 2005
Message:
Removing the need to set hasMany and hasAndBelongsToMany to plural.
All associations should be created as CamelCase associations now.
[1181]
Author: phpnut
Date: 9:38:50 PM, Sunday, October 23, 2005
Message:
Forgot dispatcher.php in last commit
[1180]
Author: phpnut
Date: 9:37:06 PM, Sunday, October 23, 2005
Message:
refactoring and removing unneeded calls to Inflector
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1184 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 03:44:54 +00:00
|
|
|
$this->modelKey = Inflector::underscore($this->modelClass);
|
2006-02-23 08:24:23 +00:00
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
if(!defined('AUTO_SESSION') || AUTO_SESSION == true)
|
|
|
|
{
|
2006-02-23 08:24:23 +00:00
|
|
|
$this->components[] = 'Session';
|
|
|
|
}
|
|
|
|
|
|
|
|
if (is_subclass_of($this, 'AppController'))
|
|
|
|
{
|
|
|
|
$appVars = get_class_vars('AppController');
|
|
|
|
foreach(array('components', 'helpers', 'uses') as $var)
|
|
|
|
{
|
2006-03-15 20:45:59 +00:00
|
|
|
if (isset($appVars[$var]) && !empty($appVars[$var]) && is_array($this->{$var}))
|
2006-02-23 08:24:23 +00:00
|
|
|
{
|
|
|
|
$diff = array_diff($appVars[$var], $this->{$var});
|
|
|
|
$this->{$var} = array_merge($this->{$var}, $diff);
|
|
|
|
}
|
|
|
|
}
|
2005-12-22 01:07:28 +00:00
|
|
|
}
|
2006-03-14 02:26:08 +00:00
|
|
|
if (!empty($this->components))
|
|
|
|
{
|
|
|
|
$component =& new Component($this);
|
|
|
|
}
|
[1183]
Author: phpnut
Date: 10:42:06 PM, Sunday, October 23, 2005
Message:
Fixed errors created with change I have been making.
Controller::generateFields(); was not setting the tagName properly.
[1182]
Author: phpnut
Date: 10:13:33 PM, Sunday, October 23, 2005
Message:
Removing the need to set hasMany and hasAndBelongsToMany to plural.
All associations should be created as CamelCase associations now.
[1181]
Author: phpnut
Date: 9:38:50 PM, Sunday, October 23, 2005
Message:
Forgot dispatcher.php in last commit
[1180]
Author: phpnut
Date: 9:37:06 PM, Sunday, October 23, 2005
Message:
refactoring and removing unneeded calls to Inflector
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1184 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 03:44:54 +00:00
|
|
|
parent::__construct();
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
/**
|
2006-02-23 08:24:23 +00:00
|
|
|
* Loads and instantiates classes required by this controller,
|
|
|
|
* including components and models
|
[1285]
Author: phpnut
Date: 10:09:03 PM, Monday, October 31, 2005
Message:
Removed references in the Session class
[1283]
Author: phpnut
Date: 8:47:37 PM, Monday, October 31, 2005
Message:
Added fix to the Controller::constructClassess().
The database should have an instance available if a component will use it.
[1282]
Author: phpnut
Date: 8:36:07 PM, Monday, October 31, 2005
Message:
Updated the Model association methods to correct and error I introduced when reactoring last week.
Added a return from each of the settings in Security::inactiveMins(); This class is not fully implemented.
Updated scaffold and dipatcher with changes to the session class.
Fixed problem with session not working properly.
Added a regenrate id for sessions.
When CAKE_SECURITY is set to high this will regenrate a new session key on each request.
The old session file will be removed from the file system. This is a added security measure.
[1270]
Author: phpnut
Date: 1:55:28 PM, Sunday, October 30, 2005
Message:
Updated Session class to regenrate a new session key on each request when security level set to high.
Updated doc comments in some classes
[1269]
Author: phpnut
Date: 9:49:43 AM, Sunday, October 30, 2005
Message:
Added a fix for Ticket #105
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1286 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-01 04:20:28 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
function constructClasses()
|
|
|
|
{
|
2005-08-21 06:49:02 +00:00
|
|
|
if(empty($this->params['pass']))
|
|
|
|
{
|
|
|
|
$id = false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
$id = $this->params['pass'];
|
|
|
|
}
|
|
|
|
|
2006-03-19 03:26:43 +00:00
|
|
|
$cached = false;
|
|
|
|
$object = null;
|
[1183]
Author: phpnut
Date: 10:42:06 PM, Sunday, October 23, 2005
Message:
Fixed errors created with change I have been making.
Controller::generateFields(); was not setting the tagName properly.
[1182]
Author: phpnut
Date: 10:13:33 PM, Sunday, October 23, 2005
Message:
Removing the need to set hasMany and hasAndBelongsToMany to plural.
All associations should be created as CamelCase associations now.
[1181]
Author: phpnut
Date: 9:38:50 PM, Sunday, October 23, 2005
Message:
Forgot dispatcher.php in last commit
[1180]
Author: phpnut
Date: 9:37:06 PM, Sunday, October 23, 2005
Message:
refactoring and removing unneeded calls to Inflector
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1184 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 03:44:54 +00:00
|
|
|
if (class_exists($this->modelClass) && ($this->uses === false))
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2006-03-19 03:26:43 +00:00
|
|
|
if($this->persistModel === true)
|
|
|
|
{
|
|
|
|
$cached = $this->_persist($this->modelClass, null, $object);
|
|
|
|
}
|
|
|
|
if(($cached === false))
|
|
|
|
{
|
|
|
|
$model =& new $this->modelClass($id);
|
|
|
|
$this->modelNames[] = $this->modelClass;
|
|
|
|
$this->{$this->modelClass} = $model;
|
|
|
|
if($this->persistModel === true)
|
|
|
|
{
|
|
|
|
$this->_persist($this->modelClass, true, $model);
|
2006-03-28 19:46:59 +00:00
|
|
|
$registry = ClassRegistry::getInstance();
|
|
|
|
$this->_persist($this->modelClass.'registry', true, $registry->_objects, 'registry');
|
2006-03-19 03:26:43 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2006-03-28 19:46:59 +00:00
|
|
|
$this->_persist($this->modelClass.'registry', true, $object, 'registry');
|
2006-03-19 03:26:43 +00:00
|
|
|
$this->_persist($this->modelClass, true, $object);
|
|
|
|
$this->modelNames[] = $this->modelClass;
|
|
|
|
return true;
|
|
|
|
}
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
2006-02-01 13:26:23 +00:00
|
|
|
elseif($this->uses === false)
|
|
|
|
{
|
|
|
|
return $this->cakeError('missingModel',array(array('className' => $this->modelClass,
|
2006-02-18 23:42:21 +00:00
|
|
|
'webroot' => '')));
|
2006-02-01 13:26:23 +00:00
|
|
|
}
|
|
|
|
if ($this->uses)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$uses = is_array($this->uses)? $this->uses: array($this->uses);
|
2005-07-10 05:08:19 +00:00
|
|
|
|
[1183]
Author: phpnut
Date: 10:42:06 PM, Sunday, October 23, 2005
Message:
Fixed errors created with change I have been making.
Controller::generateFields(); was not setting the tagName properly.
[1182]
Author: phpnut
Date: 10:13:33 PM, Sunday, October 23, 2005
Message:
Removing the need to set hasMany and hasAndBelongsToMany to plural.
All associations should be created as CamelCase associations now.
[1181]
Author: phpnut
Date: 9:38:50 PM, Sunday, October 23, 2005
Message:
Forgot dispatcher.php in last commit
[1180]
Author: phpnut
Date: 9:37:06 PM, Sunday, October 23, 2005
Message:
refactoring and removing unneeded calls to Inflector
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1184 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 03:44:54 +00:00
|
|
|
foreach ($uses as $modelClass)
|
2005-07-10 05:08:19 +00:00
|
|
|
{
|
2006-03-26 09:59:40 +00:00
|
|
|
$cached = false;
|
|
|
|
$object = null;
|
[1183]
Author: phpnut
Date: 10:42:06 PM, Sunday, October 23, 2005
Message:
Fixed errors created with change I have been making.
Controller::generateFields(); was not setting the tagName properly.
[1182]
Author: phpnut
Date: 10:13:33 PM, Sunday, October 23, 2005
Message:
Removing the need to set hasMany and hasAndBelongsToMany to plural.
All associations should be created as CamelCase associations now.
[1181]
Author: phpnut
Date: 9:38:50 PM, Sunday, October 23, 2005
Message:
Forgot dispatcher.php in last commit
[1180]
Author: phpnut
Date: 9:37:06 PM, Sunday, October 23, 2005
Message:
refactoring and removing unneeded calls to Inflector
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1184 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 03:44:54 +00:00
|
|
|
$modelKey = Inflector::underscore($modelClass);
|
2005-08-21 06:49:02 +00:00
|
|
|
|
2005-09-19 22:59:06 +00:00
|
|
|
if (class_exists($modelClass))
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2006-03-26 09:59:40 +00:00
|
|
|
if($this->persistModel === true)
|
|
|
|
{
|
|
|
|
$cached = $this->_persist($modelClass, null, $object);
|
|
|
|
}
|
|
|
|
if(($cached === false))
|
|
|
|
{
|
2006-03-26 10:03:06 +00:00
|
|
|
$model =& new $modelClass($id);
|
2006-03-26 09:59:40 +00:00
|
|
|
$this->modelNames[] = $modelClass;
|
|
|
|
$this->{$modelClass} = $model;
|
|
|
|
if($this->persistModel === true)
|
|
|
|
{
|
|
|
|
$this->_persist($modelClass, true, $model);
|
2006-03-28 19:46:59 +00:00
|
|
|
$registry = ClassRegistry::getInstance();
|
|
|
|
$this->_persist($modelClass.'registry', true, $registry->_objects, 'registry');
|
2006-03-26 09:59:40 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2006-03-28 19:46:59 +00:00
|
|
|
$this->_persist($modelClass.'registry', true, $object, 'registry');
|
2006-03-26 09:59:40 +00:00
|
|
|
$this->_persist($modelClass, true, $object);
|
|
|
|
$this->modelNames[] = $modelClass;
|
|
|
|
return true;
|
|
|
|
}
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2006-02-01 13:26:23 +00:00
|
|
|
return $this->cakeError('missingModel',array(array('className' => $modelClass,
|
2006-02-18 23:42:21 +00:00
|
|
|
'webroot' => '')));
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
2005-07-10 05:08:19 +00:00
|
|
|
}
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* Redirects to given $url, after turning off $this->autoRender.
|
|
|
|
*
|
2006-02-01 13:26:23 +00:00
|
|
|
* @param string $url
|
|
|
|
* @param integer $status
|
2005-12-22 01:07:28 +00:00
|
|
|
*/
|
2006-02-01 13:26:23 +00:00
|
|
|
function redirect ($url, $status = null)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$this->autoRender = false;
|
2006-02-02 11:48:29 +00:00
|
|
|
$pos = strpos($url, '://');
|
|
|
|
if ($pos === false)
|
2005-12-29 16:18:17 +00:00
|
|
|
{
|
2006-02-02 11:48:29 +00:00
|
|
|
if(strpos($url, '/') !== 0)
|
|
|
|
{
|
|
|
|
$url = '/'.$url;
|
|
|
|
}
|
|
|
|
$url = $this->base . $url;
|
2005-12-29 16:18:17 +00:00
|
|
|
}
|
2006-01-06 04:46:42 +00:00
|
|
|
if (function_exists('session_write_close'))
|
|
|
|
{
|
|
|
|
session_write_close();
|
|
|
|
}
|
2006-02-01 13:26:23 +00:00
|
|
|
|
|
|
|
if ($status != null)
|
|
|
|
{
|
|
|
|
$codes = array (
|
|
|
|
100 => "HTTP/1.1 100 Continue",
|
|
|
|
101 => "HTTP/1.1 101 Switching Protocols",
|
|
|
|
200 => "HTTP/1.1 200 OK",
|
|
|
|
201 => "HTTP/1.1 201 Created",
|
|
|
|
202 => "HTTP/1.1 202 Accepted",
|
|
|
|
203 => "HTTP/1.1 203 Non-Authoritative Information",
|
|
|
|
204 => "HTTP/1.1 204 No Content",
|
|
|
|
205 => "HTTP/1.1 205 Reset Content",
|
|
|
|
206 => "HTTP/1.1 206 Partial Content",
|
|
|
|
300 => "HTTP/1.1 300 Multiple Choices",
|
|
|
|
301 => "HTTP/1.1 301 Moved Permanently",
|
|
|
|
302 => "HTTP/1.1 302 Found",
|
|
|
|
303 => "HTTP/1.1 303 See Other",
|
|
|
|
304 => "HTTP/1.1 304 Not Modified",
|
|
|
|
305 => "HTTP/1.1 305 Use Proxy",
|
|
|
|
307 => "HTTP/1.1 307 Temporary Redirect",
|
|
|
|
400 => "HTTP/1.1 400 Bad Request",
|
|
|
|
401 => "HTTP/1.1 401 Unauthorized",
|
|
|
|
402 => "HTTP/1.1 402 Payment Required",
|
|
|
|
403 => "HTTP/1.1 403 Forbidden",
|
|
|
|
404 => "HTTP/1.1 404 Not Found",
|
|
|
|
405 => "HTTP/1.1 405 Method Not Allowed",
|
|
|
|
406 => "HTTP/1.1 406 Not Acceptable",
|
|
|
|
407 => "HTTP/1.1 407 Proxy Authentication Required",
|
|
|
|
408 => "HTTP/1.1 408 Request Time-out",
|
|
|
|
409 => "HTTP/1.1 409 Conflict",
|
|
|
|
410 => "HTTP/1.1 410 Gone",
|
|
|
|
411 => "HTTP/1.1 411 Length Required",
|
|
|
|
412 => "HTTP/1.1 412 Precondition Failed",
|
|
|
|
413 => "HTTP/1.1 413 Request Entity Too Large",
|
|
|
|
414 => "HTTP/1.1 414 Request-URI Too Large",
|
|
|
|
415 => "HTTP/1.1 415 Unsupported Media Type",
|
|
|
|
416 => "HTTP/1.1 416 Requested range not satisfiable",
|
|
|
|
417 => "HTTP/1.1 417 Expectation Failed",
|
|
|
|
500 => "HTTP/1.1 500 Internal Server Error",
|
|
|
|
501 => "HTTP/1.1 501 Not Implemented",
|
|
|
|
502 => "HTTP/1.1 502 Bad Gateway",
|
|
|
|
503 => "HTTP/1.1 503 Service Unavailable",
|
|
|
|
504 => "HTTP/1.1 504 Gateway Time-out"
|
|
|
|
);
|
|
|
|
if (isset($codes[$status]))
|
|
|
|
{
|
|
|
|
header($codes[$status]);
|
|
|
|
}
|
|
|
|
}
|
2006-02-02 11:48:29 +00:00
|
|
|
header ('Location: '.$url);
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* Saves a variable to use inside a template.
|
|
|
|
*
|
|
|
|
* @param mixed $one A string or an array of data.
|
2006-03-01 19:13:48 +00:00
|
|
|
* @param mixed $two Value in case $one is a string (which then works as the key). Unused if $one is an associative array, otherwise serves as the values to $one's keys.
|
2005-12-22 01:07:28 +00:00
|
|
|
* @return unknown
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
function set($one, $two=null)
|
|
|
|
{
|
2006-03-01 19:13:48 +00:00
|
|
|
if (is_array($one))
|
|
|
|
{
|
|
|
|
if (is_array($two))
|
|
|
|
{
|
|
|
|
return $this->_setArray(array_combine($one, $two));
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
return $this->_setArray($one);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
return $this->_setArray(array($one=>$two));
|
|
|
|
}
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* Enter description here...
|
|
|
|
*
|
|
|
|
* @param unknown_type $action
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
function setAction ($action)
|
|
|
|
{
|
|
|
|
$this->action = $action;
|
|
|
|
|
|
|
|
$args = func_get_args();
|
2006-03-08 03:13:32 +00:00
|
|
|
unset($args[0]);
|
|
|
|
|
2005-08-21 06:49:02 +00:00
|
|
|
call_user_func_array(array(&$this, $action), $args);
|
|
|
|
}
|
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* Returns number of errors in a submitted FORM.
|
|
|
|
*
|
|
|
|
* @return int Number of errors
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
function validate ()
|
|
|
|
{
|
|
|
|
$args = func_get_args();
|
|
|
|
$errors = call_user_func_array(array(&$this, 'validateErrors'), $args);
|
|
|
|
|
2006-02-20 22:19:21 +00:00
|
|
|
if ($errors === false)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
2005-08-21 06:49:02 +00:00
|
|
|
return count($errors);
|
|
|
|
}
|
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* Validates a FORM according to the rules set up in the Model.
|
|
|
|
*
|
|
|
|
* @return int Number of errors
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
function validateErrors ()
|
|
|
|
{
|
|
|
|
$objects = func_get_args();
|
2006-01-02 21:58:12 +00:00
|
|
|
if (!count($objects))
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
2005-08-21 06:49:02 +00:00
|
|
|
|
|
|
|
$errors = array();
|
|
|
|
foreach ($objects as $object)
|
|
|
|
{
|
2006-03-15 20:45:59 +00:00
|
|
|
$errors = array_merge($errors, $this->{$object->name}->invalidFields($object->data));
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return $this->validationErrors = (count($errors)? $errors: false);
|
|
|
|
}
|
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* Gets an instance of the view object & prepares it for rendering the output, then
|
|
|
|
* asks the view to actualy do the job.
|
|
|
|
*
|
|
|
|
* @param unknown_type $action
|
|
|
|
* @param unknown_type $layout
|
|
|
|
* @param unknown_type $file
|
|
|
|
* @return unknown
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
function render($action=null, $layout=null, $file=null)
|
|
|
|
{
|
2006-01-01 02:05:01 +00:00
|
|
|
$viewClass = $this->view;
|
|
|
|
if($this->view != 'View' && !class_exists($viewClass))
|
|
|
|
{
|
|
|
|
$viewClass = $this->view.'View';
|
|
|
|
loadView($this->view);
|
|
|
|
}
|
2006-01-17 22:13:15 +00:00
|
|
|
if($this->view != 'View')
|
|
|
|
{
|
|
|
|
$viewClass = $this->view.'View';
|
|
|
|
}
|
2006-02-17 10:12:15 +00:00
|
|
|
|
|
|
|
$this->beforeRender();
|
|
|
|
|
2006-01-01 02:05:01 +00:00
|
|
|
$this->_viewClass =& new $viewClass($this);
|
[1178]
Author: phpnut
Date: 8:52:12 PM, Sunday, October 23, 2005
Message:
adding cakephp power image
[1177]
Author: phpnut
Date: 8:48:32 PM, Sunday, October 23, 2005
Message:
Updated scaffold to use new layout template.
[1176]
Author: phpnut
Date: 7:09:27 PM, Sunday, October 23, 2005
Message:
renaming cake/conf to cake/config
[1175]
Author: phpnut
Date: 7:06:04 PM, Sunday, October 23, 2005
Message:
moving tags.ini.php to cake/conf/tags.ini.php
[1174]
Author: phpnut
Date: 6:52:19 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1173]
Author: phpnut
Date: 6:46:07 PM, Sunday, October 23, 2005
Message:
updating css/cake.deafult.css and default layout
[1172]
Author: phpnut
Date: 6:42:48 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1171]
Author: phpnut
Date: 6:41:00 PM, Sunday, October 23, 2005
Message:
Adding spaces to tags.ini file
[1170]
Author: phpnut
Date: 6:37:17 PM, Sunday, October 23, 2005
Message:
Removing code that is no longer used
[1169]
Author: phpnut
Date: 6:34:24 PM, Sunday, October 23, 2005
Message:
removing files that are no longer used
[1168]
Author: phpnut
Date: 6:19:46 PM, Sunday, October 23, 2005
Message:
Cleaning up Scaffold class.
[1167]
Author: phpnut
Date: 5:26:27 PM, Sunday, October 23, 2005
Message:
Changes are added to remove the $this->models array that would hold the instance of the models.
Now they are available as $this->ModelName; This should be CamelCased.
Added check in the Scaffold to return forms when accessing the actions update, create without a form being submitted.
[1166]
Author: phpnut
Date: 3:53:08 PM, Sunday, October 23, 2005
Message:
Making change to allow setting the name of a class camel cased to fix issues with PHP 4.
In both the model and the controllers:
Model: var $name = 'ModelName';
Controller: var $name = 'ControllerName'; ControllerName not ControllerNameController.
[1165]
Author: phpnut
Date: 1:45:17 PM, Sunday, October 23, 2005
Message:
Fix added for problems with key name that was added to the class registry when underscored
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1179 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 01:56:20 +00:00
|
|
|
if(!empty($this->modelNames))
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
[1178]
Author: phpnut
Date: 8:52:12 PM, Sunday, October 23, 2005
Message:
adding cakephp power image
[1177]
Author: phpnut
Date: 8:48:32 PM, Sunday, October 23, 2005
Message:
Updated scaffold to use new layout template.
[1176]
Author: phpnut
Date: 7:09:27 PM, Sunday, October 23, 2005
Message:
renaming cake/conf to cake/config
[1175]
Author: phpnut
Date: 7:06:04 PM, Sunday, October 23, 2005
Message:
moving tags.ini.php to cake/conf/tags.ini.php
[1174]
Author: phpnut
Date: 6:52:19 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1173]
Author: phpnut
Date: 6:46:07 PM, Sunday, October 23, 2005
Message:
updating css/cake.deafult.css and default layout
[1172]
Author: phpnut
Date: 6:42:48 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1171]
Author: phpnut
Date: 6:41:00 PM, Sunday, October 23, 2005
Message:
Adding spaces to tags.ini file
[1170]
Author: phpnut
Date: 6:37:17 PM, Sunday, October 23, 2005
Message:
Removing code that is no longer used
[1169]
Author: phpnut
Date: 6:34:24 PM, Sunday, October 23, 2005
Message:
removing files that are no longer used
[1168]
Author: phpnut
Date: 6:19:46 PM, Sunday, October 23, 2005
Message:
Cleaning up Scaffold class.
[1167]
Author: phpnut
Date: 5:26:27 PM, Sunday, October 23, 2005
Message:
Changes are added to remove the $this->models array that would hold the instance of the models.
Now they are available as $this->ModelName; This should be CamelCased.
Added check in the Scaffold to return forms when accessing the actions update, create without a form being submitted.
[1166]
Author: phpnut
Date: 3:53:08 PM, Sunday, October 23, 2005
Message:
Making change to allow setting the name of a class camel cased to fix issues with PHP 4.
In both the model and the controllers:
Model: var $name = 'ModelName';
Controller: var $name = 'ControllerName'; ControllerName not ControllerNameController.
[1165]
Author: phpnut
Date: 1:45:17 PM, Sunday, October 23, 2005
Message:
Fix added for problems with key name that was added to the class registry when underscored
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1179 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 01:56:20 +00:00
|
|
|
foreach ($this->modelNames as $model)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
[1178]
Author: phpnut
Date: 8:52:12 PM, Sunday, October 23, 2005
Message:
adding cakephp power image
[1177]
Author: phpnut
Date: 8:48:32 PM, Sunday, October 23, 2005
Message:
Updated scaffold to use new layout template.
[1176]
Author: phpnut
Date: 7:09:27 PM, Sunday, October 23, 2005
Message:
renaming cake/conf to cake/config
[1175]
Author: phpnut
Date: 7:06:04 PM, Sunday, October 23, 2005
Message:
moving tags.ini.php to cake/conf/tags.ini.php
[1174]
Author: phpnut
Date: 6:52:19 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1173]
Author: phpnut
Date: 6:46:07 PM, Sunday, October 23, 2005
Message:
updating css/cake.deafult.css and default layout
[1172]
Author: phpnut
Date: 6:42:48 PM, Sunday, October 23, 2005
Message:
updating css/cake.scaffold.css
[1171]
Author: phpnut
Date: 6:41:00 PM, Sunday, October 23, 2005
Message:
Adding spaces to tags.ini file
[1170]
Author: phpnut
Date: 6:37:17 PM, Sunday, October 23, 2005
Message:
Removing code that is no longer used
[1169]
Author: phpnut
Date: 6:34:24 PM, Sunday, October 23, 2005
Message:
removing files that are no longer used
[1168]
Author: phpnut
Date: 6:19:46 PM, Sunday, October 23, 2005
Message:
Cleaning up Scaffold class.
[1167]
Author: phpnut
Date: 5:26:27 PM, Sunday, October 23, 2005
Message:
Changes are added to remove the $this->models array that would hold the instance of the models.
Now they are available as $this->ModelName; This should be CamelCased.
Added check in the Scaffold to return forms when accessing the actions update, create without a form being submitted.
[1166]
Author: phpnut
Date: 3:53:08 PM, Sunday, October 23, 2005
Message:
Making change to allow setting the name of a class camel cased to fix issues with PHP 4.
In both the model and the controllers:
Model: var $name = 'ModelName';
Controller: var $name = 'ControllerName'; ControllerName not ControllerNameController.
[1165]
Author: phpnut
Date: 1:45:17 PM, Sunday, October 23, 2005
Message:
Fix added for problems with key name that was added to the class registry when underscored
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1179 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-24 01:56:20 +00:00
|
|
|
if(!empty($this->{$model}->validationErrors))
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2006-01-02 21:58:12 +00:00
|
|
|
$this->_viewClass->validationErrors[$model] =& $this->{$model}->validationErrors;
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2006-02-02 23:01:23 +00:00
|
|
|
|
2005-12-29 06:45:33 +00:00
|
|
|
$this->autoRender = false;
|
2006-01-01 02:05:01 +00:00
|
|
|
return $this->_viewClass->render($action, $layout, $file);
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
|
2006-01-25 22:40:17 +00:00
|
|
|
/**
|
|
|
|
* Gets the referring URL of this request
|
|
|
|
*
|
|
|
|
* @param string $default Default URL to use if HTTP_REFERER cannot be read from headers
|
|
|
|
* @param boolean $local If true, restrict referring URLs to local server
|
|
|
|
* @access public
|
|
|
|
*/
|
|
|
|
function referer($default = null, $local = false)
|
|
|
|
{
|
|
|
|
$ref = env('HTTP_REFERER');
|
|
|
|
$base = FULL_BASE_URL . $this->webroot;
|
|
|
|
|
2006-02-16 09:29:28 +00:00
|
|
|
if ($ref != null && (defined(FULL_BASE_URL) || FULL_BASE_URL))
|
2006-01-25 22:40:17 +00:00
|
|
|
{
|
2006-02-16 09:29:28 +00:00
|
|
|
if (strpos($ref, $base) === 0)
|
2006-01-25 22:40:17 +00:00
|
|
|
{
|
|
|
|
return substr($ref, strlen($base) - 1);
|
|
|
|
}
|
|
|
|
elseif (!$local)
|
|
|
|
{
|
|
|
|
return $ref;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($default != null)
|
|
|
|
{
|
|
|
|
return $default;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
return '/';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2005-09-17 12:37:05 +00:00
|
|
|
/**
|
2005-12-22 01:07:28 +00:00
|
|
|
* Sets data for this view. Will set title if the key "title" is in given $data array.
|
2005-09-17 12:37:05 +00:00
|
|
|
*
|
2005-12-22 01:07:28 +00:00
|
|
|
* @param array $data Array of
|
|
|
|
* @access private
|
2005-09-17 12:37:05 +00:00
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
function _setArray($data)
|
|
|
|
{
|
|
|
|
foreach ($data as $name => $value)
|
|
|
|
{
|
|
|
|
if ($name == 'title')
|
2006-02-01 13:26:23 +00:00
|
|
|
{
|
|
|
|
$this->_setTitle($value);
|
|
|
|
}
|
2005-08-21 06:49:02 +00:00
|
|
|
else
|
2006-02-01 13:26:23 +00:00
|
|
|
{
|
|
|
|
$this->_viewVars[$name] = $value;
|
|
|
|
}
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* Set the title element of the page.
|
|
|
|
*
|
|
|
|
* @param string $pageTitle Text for the title
|
|
|
|
* @access private
|
|
|
|
*/
|
2005-08-21 06:49:02 +00:00
|
|
|
function _setTitle($pageTitle)
|
|
|
|
{
|
|
|
|
$this->pageTitle = $pageTitle;
|
|
|
|
}
|
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* Shows a message to the user $time seconds, then redirects to $url
|
|
|
|
* Uses flash.thtml as a layout for the messages
|
|
|
|
*
|
|
|
|
* @param string $message Message to display to the user
|
|
|
|
* @param string $url Relative URL to redirect to after the time expires
|
|
|
|
* @param int $time Time to show the message
|
|
|
|
*/
|
2006-02-18 23:42:21 +00:00
|
|
|
function flash($message, $url, $pause = 1)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$this->autoRender = false;
|
|
|
|
$this->autoLayout = false;
|
|
|
|
|
|
|
|
$this->set('url', $this->base.$url);
|
|
|
|
$this->set('message', $message);
|
2005-09-17 02:22:07 +00:00
|
|
|
$this->set('pause', $pause);
|
|
|
|
$this->set('page_title', $message);
|
2005-08-21 06:49:02 +00:00
|
|
|
|
2005-12-27 03:33:44 +00:00
|
|
|
if(file_exists(VIEWS.'layouts'.DS.'flash.thtml'))
|
|
|
|
{
|
|
|
|
$flash = VIEWS.'layouts'.DS.'flash.thtml';
|
|
|
|
}
|
2006-02-18 23:42:21 +00:00
|
|
|
elseif($flash = fileExistsInPath(LIBS.'view'.DS.'templates'.DS."layouts".DS.'flash.thtml'))
|
2005-12-27 03:33:44 +00:00
|
|
|
{
|
2005-12-22 01:07:28 +00:00
|
|
|
|
2006-02-18 23:42:21 +00:00
|
|
|
}
|
|
|
|
$this->render(null, false, $flash);
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
2005-08-25 03:45:14 +00:00
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* Shows a message to the user $time seconds, then redirects to $url
|
|
|
|
* Uses flash.thtml as a layout for the messages
|
|
|
|
*
|
|
|
|
* @param string $message Message to display to the user
|
|
|
|
* @param string $url URL to redirect to after the time expires
|
|
|
|
* @param int $time Time to show the message
|
|
|
|
*
|
|
|
|
* @param unknown_type $message
|
|
|
|
* @param unknown_type $url
|
|
|
|
* @param unknown_type $time
|
|
|
|
*/
|
2006-03-26 19:15:30 +00:00
|
|
|
function flashOut($message, $url, $pause=1)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$this->autoRender = false;
|
|
|
|
$this->autoLayout = false;
|
|
|
|
|
|
|
|
$this->set('url', $url);
|
|
|
|
$this->set('message', $message);
|
2006-03-26 19:15:30 +00:00
|
|
|
$this->set('pause', $pause);
|
|
|
|
$this->set('page_title', $message);
|
2005-08-21 06:49:02 +00:00
|
|
|
|
2006-03-26 19:15:30 +00:00
|
|
|
if(file_exists(VIEWS.'layouts'.DS.'flash.thtml'))
|
|
|
|
{
|
|
|
|
$flash = VIEWS.'layouts'.DS.'flash.thtml';
|
|
|
|
}
|
|
|
|
elseif($flash = fileExistsInPath(LIBS.'view'.DS.'templates'.DS."layouts".DS.'flash.thtml'))
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
$this->render(null, false, $flash);
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
2005-08-25 03:45:14 +00:00
|
|
|
|
2005-12-22 01:07:28 +00:00
|
|
|
/**
|
|
|
|
* This function creates a $fieldNames array for the view to use.
|
|
|
|
* @todo Map more database field types to html form fields.
|
|
|
|
* @todo View the database field types from all the supported databases.
|
|
|
|
*
|
|
|
|
*/
|
2005-12-27 03:33:44 +00:00
|
|
|
function generateFieldNames( $data = null, $doCreateOptions = true )
|
|
|
|
{
|
|
|
|
$fieldNames = array();
|
|
|
|
$model = $this->modelClass;
|
|
|
|
$modelKey = $this->modelKey;
|
2006-01-12 03:56:59 +00:00
|
|
|
$table = $this->{$model}->table;
|
2005-12-27 03:33:44 +00:00
|
|
|
$association = array_search($table,$this->{$model}->alias);
|
2006-01-20 18:43:05 +00:00
|
|
|
$objRegistryModel =& ClassRegistry::getObject($modelKey);
|
2005-12-27 03:33:44 +00:00
|
|
|
|
|
|
|
foreach ($objRegistryModel->_tableInfo as $tables)
|
|
|
|
{
|
|
|
|
foreach ($tables as $tabl)
|
|
|
|
{
|
2006-01-12 02:10:47 +00:00
|
|
|
if ($objRegistryModel->isForeignKey($tabl['name']))
|
2005-12-27 03:33:44 +00:00
|
|
|
{
|
|
|
|
$niceName = substr( $tabl['name'], 0, strpos( $tabl['name'], "_id" ) );
|
2006-01-22 05:12:28 +00:00
|
|
|
$fkNames = $this->{$model}->keyToTable[$tabl['name']];
|
|
|
|
$fieldNames[ $tabl['name'] ]['table'] = $fkNames[0];
|
2005-12-27 03:33:44 +00:00
|
|
|
$association = array_search($fieldNames[ $tabl['name'] ]['table'],$this->{$model}->alias);
|
2006-03-12 06:58:53 +00:00
|
|
|
$fieldNames[ $tabl['name'] ]['prompt'] = Inflector::humanize($niceName);
|
2006-01-22 05:12:28 +00:00
|
|
|
$fieldNames[ $tabl['name'] ]['model'] = $fkNames[1];
|
2005-12-27 03:33:44 +00:00
|
|
|
$fieldNames[ $tabl['name'] ]['modelKey'] = $this->{$model}->tableToModel[$fieldNames[ $tabl['name'] ]['table']];
|
2006-02-16 09:29:28 +00:00
|
|
|
$fieldNames[ $tabl['name'] ]['controller'] = Inflector::pluralize($this->{$model}->tableToModel[$fkNames[0]]);
|
2005-12-27 03:33:44 +00:00
|
|
|
$fieldNames[ $tabl['name'] ]['foreignKey'] = true;
|
|
|
|
}
|
|
|
|
else if( 'created' != $tabl['name'] && 'updated' != $tabl['name'] )
|
|
|
|
{
|
|
|
|
$fieldNames[$tabl['name']]['prompt'] = Inflector::humanize($tabl['name']);
|
|
|
|
}
|
|
|
|
else if( 'created' == $tabl['name'] )
|
|
|
|
{
|
|
|
|
$fieldNames[$tabl['name']]['prompt'] = 'Created';
|
|
|
|
}
|
|
|
|
else if( 'updated' == $tabl['name'] )
|
|
|
|
{
|
|
|
|
$fieldNames[$tabl['name']]['prompt'] = 'Modified';
|
|
|
|
}
|
2006-01-13 05:56:04 +00:00
|
|
|
$fieldNames[ $tabl['name']]['tagName'] = $model.'/'.$tabl['name'];
|
2005-12-27 03:33:44 +00:00
|
|
|
$validationFields = $objRegistryModel->validate;
|
|
|
|
if( isset( $validationFields[ $tabl['name'] ] ) )
|
|
|
|
{
|
|
|
|
if( VALID_NOT_EMPTY == $validationFields[ $tabl['name'] ] )
|
|
|
|
{
|
|
|
|
$fieldNames[$tabl['name']]['required'] = true;
|
|
|
|
$fieldNames[$tabl['name']]['errorMsg'] = "Required Field";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$lParenPos = strpos( $tabl['type'], '(');
|
|
|
|
$rParenPos = strpos( $tabl['type'], ')');
|
|
|
|
if( false != $lParenPos )
|
|
|
|
{
|
|
|
|
$type = substr($tabl['type'], 0, $lParenPos );
|
|
|
|
$fieldLength = substr( $tabl['type'], $lParenPos+1, $rParenPos - $lParenPos -1 );
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
$type = $tabl['type'];
|
|
|
|
}
|
|
|
|
switch( $type )
|
|
|
|
{
|
|
|
|
case "text":
|
|
|
|
$fieldNames[ $tabl['name']]['type'] = 'area';
|
2005-08-21 06:49:02 +00:00
|
|
|
break;
|
2006-03-26 09:59:40 +00:00
|
|
|
case "string":
|
2006-01-12 02:10:47 +00:00
|
|
|
if (isset($fieldNames[ $tabl['name']]['foreignKey']))
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$fieldNames[ $tabl['name']]['type'] = 'select';
|
|
|
|
$fieldNames[ $tabl['name']]['options'] = array();
|
2006-01-20 18:43:05 +00:00
|
|
|
$otherModel =& ClassRegistry::getObject(Inflector::underscore($fieldNames[$tabl['name']]['modelKey']));
|
2006-01-12 02:10:47 +00:00
|
|
|
if (is_object($otherModel))
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2006-01-12 02:10:47 +00:00
|
|
|
if ($doCreateOptions)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$otherDisplayField = $otherModel->getDisplayField();
|
2006-03-26 09:59:40 +00:00
|
|
|
$rec = $otherModel->findAll(null, null, null, 500);
|
|
|
|
foreach ($rec as $pass)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2006-01-12 02:10:47 +00:00
|
|
|
foreach ($pass as $key => $value)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2006-03-12 06:58:53 +00:00
|
|
|
if($key == $this->{$model}->tableToModel[$fieldNames[ $tabl['name'] ]['table']] && isset( $value['id'] ) && isset( $value[$otherDisplayField]))
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2006-01-12 02:10:47 +00:00
|
|
|
$fieldNames[ $tabl['name']]['options'][$value['id']] = $value[$otherDisplayField];
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
[1335]
Author: phpnut
Date: 2:11:57 PM, Saturday, November 05, 2005
Message:
Fixing Controller::generateFieldNames() to work with changes to Model
[1334]
Author: phpnut
Date: 1:18:02 PM, Saturday, November 05, 2005
Message:
More work on changes made in the model to allow association names to be used as an alias.
These changes are being made to update scaffold to work with changes in [1330].
Added var $alias that holds an array with the key value pair of the table name and the association name.
[1330]
Author: phpnut
Date: 10:25:16 PM, Friday, November 04, 2005
Message:
Adding fix for Ticket #127. The query returns properly now but, this breaks scaffold which I will be fixing soon.
Also the save methods for the model have not been tested but I am sure these need to be corrected also.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1336 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-11-05 20:35:43 +00:00
|
|
|
$fieldNames[ $tabl['name']]['selected'] = $data[$association][$tabl['name']];
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
}
|
2005-08-25 03:45:14 +00:00
|
|
|
else
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$fieldNames[ $tabl['name']]['type'] = 'input';
|
|
|
|
}
|
2006-01-13 05:56:04 +00:00
|
|
|
|
2005-08-21 06:49:02 +00:00
|
|
|
break;
|
2006-03-26 09:59:40 +00:00
|
|
|
case "boolean":
|
|
|
|
$fieldNames[ $tabl['name']]['type'] = 'checkbox';
|
2005-08-25 03:45:14 +00:00
|
|
|
break;
|
2006-03-26 09:59:40 +00:00
|
|
|
case "integer":
|
2005-08-21 20:01:32 +00:00
|
|
|
case "float":
|
2006-03-01 19:13:48 +00:00
|
|
|
if(strcmp($tabl['name'], $this->$model->primaryKey) == 0)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$fieldNames[ $tabl['name']]['type'] = 'hidden';
|
|
|
|
}
|
|
|
|
else if( isset( $fieldNames[ $tabl['name']]['foreignKey'] ) )
|
|
|
|
{
|
|
|
|
$fieldNames[ $tabl['name']]['type'] = 'select';
|
|
|
|
$fieldNames[ $tabl['name']]['options'] = array();
|
2006-01-20 18:43:05 +00:00
|
|
|
$otherModel =& ClassRegistry::getObject(Inflector::underscore($fieldNames[$tabl['name']]['modelKey']));
|
2005-08-25 03:45:14 +00:00
|
|
|
if( is_object($otherModel) )
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2005-08-25 03:45:14 +00:00
|
|
|
if( $doCreateOptions )
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$otherDisplayField = $otherModel->getDisplayField();
|
2006-03-26 09:59:40 +00:00
|
|
|
$rec = $otherModel->findAll(null, null, null, 500);
|
|
|
|
foreach ($rec as $pass)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2006-01-12 02:10:47 +00:00
|
|
|
foreach($pass as $key => $value)
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2006-03-12 06:58:53 +00:00
|
|
|
if( $key == $this->{$model}->tableToModel[$fieldNames[ $tabl['name'] ]['table']] && isset($value[$otherModel->primaryKey]) && isset($value[$otherDisplayField]))
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
2005-12-23 21:57:26 +00:00
|
|
|
$fieldNames[ $tabl['name']]['options'][$value[$otherModel->primaryKey]] = $value[$otherDisplayField];
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
[1198]
Author: phpnut
Date: 7:29:04 PM, Monday, October 24, 2005
Message:
More work on changes to use CamelCase throughout the system.
[1197]
Author: phpnut
Date: 2:57:08 PM, Monday, October 24, 2005
Message:
Removing unneeded calls to Inflector class
[1196]
Author: phpnut
Date: 2:39:30 PM, Monday, October 24, 2005
Message:
adding fix for Ticket #61
[1195]
Author: phpnut
Date: 11:19:43 AM, Monday, October 24, 2005
Message:
Adding fix for Ticket #47
[1194]
Author: phpnut
Date: 10:10:41 AM, Monday, October 24, 2005
Message:
Adding fix for Ticket #49
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1199 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-25 00:33:08 +00:00
|
|
|
$fieldNames[ $tabl['name']]['selected'] = $data[$model][$tabl['name']];
|
2005-08-21 06:49:02 +00:00
|
|
|
}
|
|
|
|
}
|
2005-08-25 03:45:14 +00:00
|
|
|
else
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$fieldNames[ $tabl['name']]['type'] = 'input';
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case "enum":
|
|
|
|
$fieldNames[ $tabl['name']]['type'] = 'select';
|
|
|
|
$fieldNames[ $tabl['name']]['options'] = array();
|
|
|
|
$enumValues = split(',', $fieldLength );
|
2005-08-25 03:45:14 +00:00
|
|
|
foreach ($enumValues as $enum )
|
2005-08-21 06:49:02 +00:00
|
|
|
{
|
|
|
|
$enum = trim( $enum, "'" );
|
|
|
|
$fieldNames[$tabl['name']]['options'][$enum] = $enum;
|
|
|
|
}
|
[1198]
Author: phpnut
Date: 7:29:04 PM, Monday, October 24, 2005
Message:
More work on changes to use CamelCase throughout the system.
[1197]
Author: phpnut
Date: 2:57:08 PM, Monday, October 24, 2005
Message:
Removing unneeded calls to Inflector class
[1196]
Author: phpnut
Date: 2:39:30 PM, Monday, October 24, 2005
Message:
adding fix for Ticket #61
[1195]
Author: phpnut
Date: 11:19:43 AM, Monday, October 24, 2005
Message:
Adding fix for Ticket #47
[1194]
Author: phpnut
Date: 10:10:41 AM, Monday, October 24, 2005
Message:
Adding fix for Ticket #49
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@1199 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-10-25 00:33:08 +00:00
|
|
|
$fieldNames[ $tabl['name']]['selected'] = $data[$model][$tabl['name']];
|
2006-01-13 05:56:04 +00:00
|
|
|
break;
|
|
|
|
case "date":
|
|
|
|
case "datetime":
|
|
|
|
if(0 != strncmp( "created", $tabl['name'], 6 ) && 0 != strncmp("modified",$tabl['name'], 8))
|
|
|
|
{
|
|
|
|
$fieldNames[ $tabl['name']]['type'] = $type;
|
|
|
|
}
|
|
|
|
if(isset($data[$model][$tabl['name']]))
|
|
|
|
{
|
|
|
|
$fieldNames[ $tabl['name']]['selected'] = $data[$model][$tabl['name']];
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
$fieldNames[ $tabl['name']]['selected'] = null;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
foreach($objRegistryModel->hasAndBelongsToMany as $relation => $relData)
|
|
|
|
{
|
|
|
|
$modelName = $relData['className'];
|
|
|
|
$manyAssociation = $relation;
|
|
|
|
$modelKeyM = Inflector::underscore($modelName);
|
2006-01-22 05:12:28 +00:00
|
|
|
$modelObject =& new $modelName();
|
2006-01-13 05:56:04 +00:00
|
|
|
if($doCreateOptions)
|
|
|
|
{
|
|
|
|
$otherDisplayField = $modelObject->getDisplayField();
|
|
|
|
$fieldNames[$modelKeyM]['model'] = $modelName;
|
|
|
|
$fieldNames[$modelKeyM]['prompt'] = "Related ".Inflector::humanize(Inflector::pluralize($modelName));
|
|
|
|
$fieldNames[$modelKeyM]['type'] = "selectMultiple";
|
|
|
|
$fieldNames[$modelKeyM]['tagName'] = $manyAssociation.'/'.$manyAssociation;
|
2006-03-26 09:59:40 +00:00
|
|
|
$rec = $modelObject->findAll(null, null, null, 500);
|
|
|
|
foreach ($rec as $pass)
|
2005-08-21 20:01:32 +00:00
|
|
|
{
|
2006-01-13 05:56:04 +00:00
|
|
|
foreach($pass as $key=>$value)
|
|
|
|
{
|
|
|
|
if($key == $modelName && isset($value[$modelObject->primaryKey]) && isset( $value[$otherDisplayField]))
|
|
|
|
{
|
|
|
|
$fieldNames[$modelKeyM]['options'][$value[$modelObject->primaryKey]] = $value[$otherDisplayField];
|
|
|
|
}
|
|
|
|
}
|
2005-08-21 20:01:32 +00:00
|
|
|
}
|
2006-01-13 05:56:04 +00:00
|
|
|
if( isset( $data[$manyAssociation] ) )
|
|
|
|
{
|
|
|
|
foreach( $data[$manyAssociation] as $key => $row )
|
|
|
|
{
|
|
|
|
$fieldNames[$modelKeyM]['selected'][$row[$modelObject->primaryKey]] = $row[$modelObject->primaryKey];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2005-12-27 03:33:44 +00:00
|
|
|
}
|
2006-01-13 05:56:04 +00:00
|
|
|
return $fieldNames;
|
2005-12-27 03:33:44 +00:00
|
|
|
}
|
2006-02-02 11:48:29 +00:00
|
|
|
|
2006-03-14 02:26:08 +00:00
|
|
|
/**
|
|
|
|
* Converts POST'ed model data to a model conditions array, suitable for a find
|
|
|
|
* or findAll Model query
|
|
|
|
*
|
|
|
|
* @param array $data POST'ed data organized by model and field
|
|
|
|
* @return array An array of model conditions
|
|
|
|
*/
|
|
|
|
function postConditions ($data)
|
|
|
|
{
|
|
|
|
if (!is_array($data) || empty($data))
|
|
|
|
{
|
|
|
|
return null;
|
|
|
|
}
|
2006-03-14 11:54:03 +00:00
|
|
|
|
2006-03-14 02:26:08 +00:00
|
|
|
$conditions = array();
|
|
|
|
foreach ($data as $model => $fields)
|
|
|
|
{
|
|
|
|
foreach ($fields as $field => $value)
|
|
|
|
{
|
|
|
|
$conditions[$model.'.'.$field] = $value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $conditions;
|
|
|
|
}
|
|
|
|
|
2006-02-23 11:40:52 +00:00
|
|
|
/**
|
|
|
|
* Cleans up the date fields of current Model.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
function cleanUpFields()
|
|
|
|
{
|
2006-02-25 04:42:31 +00:00
|
|
|
foreach( $this->{$this->modelClass}->_tableInfo as $table )
|
2006-02-23 11:40:52 +00:00
|
|
|
{
|
|
|
|
foreach ($table as $field)
|
|
|
|
{
|
2006-02-25 04:42:31 +00:00
|
|
|
if('date' == $field['type'] && isset($this->params['data'][$this->modelClass][$field['name'].'_year']))
|
2006-02-23 11:40:52 +00:00
|
|
|
{
|
2006-02-25 04:42:31 +00:00
|
|
|
$newDate = $this->params['data'][$this->modelClass][$field['name'].'_year'].'-';
|
|
|
|
$newDate .= $this->params['data'][$this->modelClass][$field['name'].'_month'].'-';
|
|
|
|
$newDate .= $this->params['data'][$this->modelClass][$field['name'].'_day'].' ';
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_year']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_month']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_day']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_hour']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_min']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_meridian']);
|
|
|
|
$this->params['data'][$this->modelClass][$field['name']] = $newDate;
|
2006-02-23 11:40:52 +00:00
|
|
|
}
|
2006-02-25 04:42:31 +00:00
|
|
|
else if( 'datetime' == $field['type'] && isset($this->params['data'][$this->modelClass][$field['name'].'_year'] ) )
|
2006-02-23 11:40:52 +00:00
|
|
|
{
|
2006-02-25 04:42:31 +00:00
|
|
|
$hour = $this->params['data'][$this->modelClass][$field['name'].'_hour'];
|
|
|
|
if( $hour != 12 && 'pm' == $this->params['data'][$this->modelClass][$field['name'].'_meridian'] )
|
2006-02-23 11:40:52 +00:00
|
|
|
{
|
|
|
|
$hour = $hour + 12;
|
|
|
|
}
|
2006-02-25 04:42:31 +00:00
|
|
|
$newDate = $this->params['data'][$this->modelClass][$field['name'].'_year'].'-';
|
|
|
|
$newDate .= $this->params['data'][$this->modelClass][$field['name'].'_month'].'-';
|
|
|
|
$newDate .= $this->params['data'][$this->modelClass][$field['name'].'_day'].' ';
|
|
|
|
$newDate .= $hour.':'.$this->params['data'][$this->modelClass][$field['name'].'_min'].':00';
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_year']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_month']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_day']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_hour']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_min']);
|
|
|
|
unset($this->params['data'][$this->modelClass][$field['name'].'_meridian']);
|
|
|
|
$this->params['data'][$this->modelClass][$field['name']] = $newDate;
|
2006-02-23 11:40:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2006-02-02 11:48:29 +00:00
|
|
|
/**
|
|
|
|
* Called before the controller action. Overridden in subclasses.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
function beforeFilter ()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Called after the controller action is run, but before the view is rendered. Overridden in subclasses.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
function beforeRender ()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Called after the controller action is run and rendered. Overridden in subclasses.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
function afterFilter ()
|
|
|
|
{
|
|
|
|
}
|
2006-02-23 11:40:52 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* This method should be overridden in child classes.
|
|
|
|
*
|
|
|
|
* @param string $method name of method called example index, edit, etc.
|
|
|
|
* @return boolean
|
|
|
|
*/
|
|
|
|
function _beforeScaffold($method)
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2006-03-01 19:13:48 +00:00
|
|
|
/**
|
|
|
|
* This method should be overridden in child classes.
|
|
|
|
*
|
|
|
|
* @param string $method name of method called either edit or update.
|
|
|
|
* @return boolean
|
|
|
|
*/
|
|
|
|
function _afterScaffoldSave($method)
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This method should be overridden in child classes.
|
|
|
|
*
|
|
|
|
* @param string $method name of method called either edit or update.
|
|
|
|
* @return boolean
|
|
|
|
*/
|
|
|
|
function _afterScaffoldSaveError($method)
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2006-02-23 11:40:52 +00:00
|
|
|
/**
|
|
|
|
* This method should be overridden in child classes.
|
|
|
|
* If not it will render a scaffold error.
|
|
|
|
* Method MUST return true in child classes
|
|
|
|
*
|
|
|
|
* @param string $method name of method called example index, edit, etc.
|
|
|
|
* @return boolean
|
|
|
|
*/
|
|
|
|
function _scaffoldError($method)
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
2006-01-12 02:10:47 +00:00
|
|
|
}
|
2006-03-26 09:59:40 +00:00
|
|
|
?>
|