Browse Source

Fixing paths erros in new bash and CLI scripts.
Updated missing files and directories in skel.
Corrected paths for app custom scaffold templates

git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@5031 3807eeeb-6ff5-0310-8944-8be069107fe0

phpnut 19 years ago
parent
commit
44f611cba7

+ 1 - 4
cake/console/cake.php

@@ -396,10 +396,7 @@ class ConsoleDispatcher {
 				$app = $this->params['app'];
 			}
 		}
-
-		if(strpos($this->params['working'], 'scripts')) {
-			$this->params['working'] = dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . $app;
-		}
+		$this->params['working'] = dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . $app;
 	}
 /**
  * Removes first argument and shifts other arguments up

+ 4 - 5
cake/console/libs/bake.php

@@ -662,7 +662,7 @@ class BakeScript extends CakeScript {
 
 		$controllerPath = low(Inflector::underscore($controllerName));
 
-		$doItInteractive = $this->in("Would you like bake to build your views interactively?\nWarning: Choosing no will overwrite {$controllerClassName} views if it exist.", array('y','n'), 'y');
+		$doItInteractive = $this->in("Would you like bake to build your views interactively?\nWarning: Choosing no will overwrite {$controllerName} views if it exist.", array('y','n'), 'y');
 
 		if (low($doItInteractive) == 'y' || low($doItInteractive) == 'yes') {
 			$this->interactive = true;
@@ -676,7 +676,6 @@ class BakeScript extends CakeScript {
 		}
 
 		if ((low($wannaDoAdmin) == 'y' || low($wannaDoAdmin) == 'yes')) {
-			require(CONFIGS.'core.php');
 			if(defined('CAKE_ADMIN')) {
 				$admin = CAKE_ADMIN . '_';
 				$admin_url = '/'.CAKE_ADMIN;
@@ -1017,6 +1016,7 @@ class BakeScript extends CakeScript {
  * @param array $fields
  */
 	function inputs($fields = array()) {
+		$displayFields = null;
 
 		foreach($fields as $name => $options) {
 			if(isset($options['tagName'])){
@@ -1113,7 +1113,7 @@ class BakeScript extends CakeScript {
 
 		$controllerPath = low(Inflector::underscore($controllerName));
 
-		$doItInteractive = $this->in("Would you like bake to build your controller interactively?\nWarning: Choosing no will overwrite {$controllerClassName} controller if it exist.", array('y','n'), 'y');
+		$doItInteractive = $this->in("Would you like bake to build your controller interactively?\nWarning: Choosing no will overwrite {$controllerName} controller if it exist.", array('y','n'), 'y');
 
 		if (low($doItInteractive) == 'y' || low($doItInteractive) == 'yes') {
 			$this->interactive = true;
@@ -1165,7 +1165,6 @@ class BakeScript extends CakeScript {
 		$admin = null;
 		$admin_url = null;
 		if ((low($wannaDoAdmin) == 'y' || low($wannaDoAdmin) == 'yes')) {
-			require(CONFIGS.'core.php');
 			if(defined('CAKE_ADMIN')) {
 				$admin = CAKE_ADMIN.'_';
 				$admin_url = '/'.CAKE_ADMIN;
@@ -1994,7 +1993,7 @@ class BakeScript extends CakeScript {
  */
 	function __defaultHome($dir, $app) {
 		$path = $dir.DS.'views'.DS.'pages'.DS;
-		include(CAKE_CORE_INCLUDE_PATH.DS.'cake'.DS.'scripts'.DS.'templates'.DS.'views'.DS.'home.ctp');
+		include(CAKE_CORE_INCLUDE_PATH.DS.'cake'.DS.'console'.DS.'libs'.DS.'templates'.DS.'views'.DS.'home.ctp');
 		$this->createFile($path.'home.ctp', $output);
 	}
 /**

+ 8 - 8
cake/console/libs/templates/skel/config/acl.ini.php

@@ -8,22 +8,22 @@
 ; *
 ; * CakePHP(tm) :  Rapid Development Framework <http://www.cakephp.org/>
 ; * Copyright 2005-2007, Cake Software Foundation, Inc.
-; *			1785 E. Sahara Avenue, Suite 490-204
-; *			Las Vegas, Nevada 89104
+; *							1785 E. Sahara Avenue, Suite 490-204
+; *							Las Vegas, Nevada 89104
 ; *
 ; *  Licensed under The MIT License
 ; *  Redistributions of files must retain the above copyright notice.
 ; *
 ; * @filesource
 ; * @copyright		Copyright 2005-2007, Cake Software Foundation, Inc.
-; * @link				http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
-; * @package			cake
-; * @subpackage		cake.app.config
+; * @link			http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
+; * @package		cake
+; * @subpackage	cake.app.config
 ; * @since			CakePHP(tm) v 0.10.0.1076
-; * @version			$Revision$
-; * @modifiedby		$LastChangedBy$
+; * @version		$Revision$
+; * @modifiedby	$LastChangedBy$
 ; * @lastmodified	$Date$
-; * @license			http://www.opensource.org/licenses/mit-license.php The MIT License
+; * @license		http://www.opensource.org/licenses/mit-license.php The MIT License
 ; */
 
 ; acl.ini.php - Cake ACL Configuration

+ 118 - 58
cake/console/libs/templates/skel/config/core.php

@@ -27,117 +27,177 @@
  * @license			http://www.opensource.org/licenses/mit-license.php The MIT License
  */
 /**
- * If you do not have mod rewrite on your system
- * or if you prefer to use CakePHP pretty urls.
- * uncomment the line below.
- * Note: If you do have mod rewrite but prefer the
- * CakePHP pretty urls, you also have to remove the
- * .htaccess files
- * release/.htaccess
- * release/app/.htaccess
- * release/app/webroot/.htaccess
+ * To configure CakePHP *not* to use mod_rewrite and to
+ * use CakePHP pretty URLs, remove these .htaccess
+ * files:
+ *
+ * /.htaccess
+ * /app/.htaccess
+ * /app/webroot/.htaccess
+ *
+ * And uncomment the define below:
  */
+
 //	define ('BASE_URL', env('SCRIPT_NAME'));
+
 /**
- * Set debug level here:
- * - 0: production
- * - 1: development
- * - 2: full debug with sql
- * - 3: full debug with sql and dump of the current object
+ * CakePHP Debug Level:
  *
- * In production, the "flash messages" redirect after a time interval.
- * With the other debug levels you get to click the "flash message" to continue.
+ * Production Mode:
+ * 	0: No error messages, errors, or warnings shown. Flash messages redirect.
  *
+ * Development Mode:
+ * 	1: Errors and warnings shown, model caches refreshed, flash messages halted.
+ * 	2: As in 1, but also with full debug messages and SQL output.
+ * 	3: As in 2, but also with full controller dump.
+ *
+ * In production mode, flash messages redirect after a time interval.
+ * In development mode, you need to click the flash message to continue.
  */
 	define('DEBUG', 2);
 /**
- * Turn of caching checking wide.
- * You must still use the controller var cacheAction inside you controller class.
- * You can either set it controller wide, or in each controller method.
- * use var $cacheAction = true; or in the controller method $this->cacheAction = true;
+ * Turn off or enable cache checking application-wide.
+ *
+ * If set to true, you must still use the controller var $cacheAction inside
+ * your controllers to define caching settings. You can either set it
+ * controller-wide by setting var $cacheAction = true, or in each action
+ * using $this->cacheAction = true.
  */
 	define('CACHE_CHECK', false);
 /**
- * Error constant. Used for differentiating error logging and debugging.
- * Currently PHP supports LOG_DEBUG
+ * Defines the default error type when using the log() function. Used for
+ * differentiating error logging and debugging. Currently PHP supports LOG_DEBUG.
  */
 	define('LOG_ERROR', 2);
 /**
- * CakePHP includes 3 types of session saves
- * database or file. Set this to your preferred method.
- * If you want to use your own save handler place it in
- * app/config/name.php DO NOT USE file or database as the name.
- * and use just the name portion below.
+ * The preferred session handling method. Valid values:
  *
- * Setting this to cake will save files to /cakedistro/tmp directory
- * Setting it to php will use the php default save path
- * Setting it to database will use the database
+ * 'php'	 		Uses settings defined in your php.ini.
+ * 'cake'		Saves session files in CakePHP's /tmp directory.
+ * 'database'	Uses CakePHP's database sessions.
+ *
+ * To define a custom session handler, save it at /app/config/<name>.php.
+ * Set the value of CAKE_SESSION_SAVE to <name> to utilize it in CakePHP.
+ *
+ * To use database sessions, execute the SQL file found at /app/config/sql/sessions.sql.
  *
  */
 	define('CAKE_SESSION_SAVE', 'php');
 /**
- * If using you own table name for storing sessions
- * set the table name here.
- * DO NOT INCLUDE PREFIX IF YOU HAVE SET ONE IN database.php
+ * The name of the table used to store CakePHP database sessions.
+ *
+ * CAKE_SESSION_SAVE must be set to 'database' in order to utilize this constant.
  *
+ * The table name set here should *not* include any table prefix defined elsewhere.
  */
 	define('CAKE_SESSION_TABLE', 'cake_sessions');
 /**
- * Set a random string of used in session.
- *
+ * A random string used in session management.
  */
 	define('CAKE_SESSION_STRING', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
 /**
- * Set the name of session cookie
- *
+ * The name of CakePHP's session cookie.
  */
 	define('CAKE_SESSION_COOKIE', 'CAKEPHP');
 /**
- * Set level of Cake security.
+ * The level of CakePHP session security. The session timeout time defined
+ * in CAKE_SESSION_TIMEOUT is multiplied according to the settings here.
+ * Valid values:
+ *
+ * 'high'	Session timeout in CAKE_SESSION_TIMEOUT x 10
+ * 'medium'	Session timeout in CAKE_SESSION_TIMEOUT x 100
+ * 'low'		Session timeout in CAKE_SESSION_TIMEOUT x 300
  *
+ * CakePHP session IDs are also regenerated between requests if
+ * CAKE_SECURITY is set to 'high'.
  */
 	define('CAKE_SECURITY', 'high');
 /**
- * Set Cake Session time out.
- * If CAKE_SECURITY define is set
- * high: multiplied by 10
- * medium: is multiplied by 100
- * low is: multiplied by 300
- *
- *  Number below is seconds.
+ * Session time out time (in seconds).
+ * Actual value depends on CAKE_SECURITY setting.
  */
 	define('CAKE_SESSION_TIMEOUT', '120');
 /**
- * Uncomment the define below to use cake built in admin routes.
- * You can set this value to anything you want.
- * All methods related to the admin route should be prefixed with the
- * name you set CAKE_ADMIN to.
- * For example: admin_index, admin_edit
+ * Uncomment the define below to use CakePHP admin routes.
+ *
+ * The value of the define determines the name of the route
+ * and its associated controller actions:
+ *
+ * 'admin' 		-> admin_index() and /admin/controller/index
+ * 'superuser' -> superuser_index() and /superuser/controller/index
  */
 //	define('CAKE_ADMIN', 'admin');
 /**
- *  The define below is used to turn cake built webservices
- *  on or off. Default setting is off.
+ *  Enable or disable CakePHP webservices routing. Set to 'off' or 'on'.
  */
 	define('WEBSERVICES', 'off');
 /**
- * Compress output CSS (removing comments, whitespace, repeating tags etc.)
- * This requires a/var/cache directory to be writable by the web server (caching).
+ * Compress CSS output by removing comments, whitespace, repeating tags, etc.
+ * This requires a/var/cache directory to be writable by the web server for caching.
+ *
  * To use, prefix the CSS link URL with '/ccss/' instead of '/css/' or use Controller::cssTag().
  */
 	define('COMPRESS_CSS', false);
 /**
- * If set to false, session would not automatically be started.
+ * If set to false, sessions are not automatically started.
  */
 	define('AUTO_SESSION', true);
 /**
- * Set the max size of file to use md5() .
+ * The max size of file allowed for MD5 hashes (in bytes).
  */
 	define('MAX_MD5SIZE', (5 * 1024) * 1024);
 /**
- * To use Access Control Lists with Cake...
+ * The classname, filename, (and database) used in CakePHP's
+ * access control lists.
  */
 	define('ACL_CLASSNAME', 'DB_ACL');
-	define('ACL_FILENAME', 'dbacl' . DS . 'db_acl');
+	define('ACL_FILENAME', 'db_acl');
 	define('ACL_DATABASE', 'default');
+/**
+ * How long to cache data if not defined
+ * 3600 = 1 hour
+ */
+	define('CACHE_DEFAULT_DURATION', 3600);
+/**
+ * How often to do garbage collection
+ * about once in every hundred page loads
+ */
+	define('CACHE_GC_PROBABILITY', 100);
+/**
+ * Use the file storage engine with default parameters.
+ * Cached data is kept in app/tmp/cache/
+ *
+ * File storage
+ * 	$cakeCache = array('File', [optional]array(
+ * 		'dir' => '/tmp/', // use system tmp directory - remember to use absolute path
+ * 		'prefix' => 'cakecache_', // prefix every cache file with this string
+ * 		'lock' => true, // use file locking
+ * 		));
+ * 	$cakeCache = array('File');
+ *
+ * APC (Alternative PHP Cache)
+ * 	$cakeCache = array('APC');
+ *
+ * Xcache (PHP opcode cacher)
+ *  $cakeCache  = array('Xcache', array(
+ *      'user' => 'admin', // user from xcache.admin.user settings
+ *      'password' => 'your_password', // plaintext password (xcache.admin.pass)
+ *  ));
+ *
+ * Memcache
+ * 	$cakeCache = array('Memcache', [optional]array(
+ * 		'servers' => array(
+ * 				'127.0.0.1', // localhost, default port
+ * 				'10.0.0.1:12345', // port 12345
+ * 				),
+ * 				'compress' => true, // compress data in Memcache (slower, but uses less memory)
+ * 				));
+ *
+ * Cake Model
+ * 	$cakeCache = array('Model', [optional]array(
+ * 		'modelName' => 'DbModel',
+ * 		'dataField' => 'value',
+ * 		'expiryField' => 'expires'));
+ */
+	$cakeCache = array('File');
 ?>

+ 43 - 22
cake/console/libs/templates/skel/config/database.php.default

@@ -36,39 +36,60 @@
  * Database configuration class.
  * You can specify multiple configurations for production, development and testing.
  *
- * driver =>
- * mysql, postgres, sqlite, adodb-drivername, pear-drivername
+ * driver => The name of a supported driver; valid options are as follows:
+ *		mysql 		- MySQL 4 & 5,
+ *		mysqli 		- MySQL 4 & 5 Improved Interface (PHP5 only),
+ *		sqlite		- SQLite (PHP5 only),
+ *		postgres	- PostgreSQL 7 and higher,
+ *		mssql		- Microsoft SQL Server 2000 and higher,
+ *		db2			- IBM DB2, Cloudscape, and Apache Derby (http://php.net/ibm-db2)
+ *		oracle		- Oracle 8 and higher
+ *		adodb-[drivername]	- ADOdb interface wrapper (see below),
+ *		pear-[drivername]	- PEAR::DB wrapper
+ *
+ * You can add custom database drivers (or override existing drivers) by adding the
+ * appropriate file to app/models/datasources/dbo.  Drivers should be named 'dbo_x.php',
+ * where 'x' is the name of the database.
+ *
+ * persistent => true / false
+ * Determines whether or not the database should use a persistent connection 
  *
  * connect =>
- * MySQL set the connect to either mysql_pconnect of mysql_connect
- * PostgreSQL set the connect to either pg_pconnect of pg_connect
- * SQLite set the connect to sqlite_popen or sqlite_open
- * MSSQL set the connect to mssql_connect or mssql_pconnect
  * ADOdb set the connect to one of these
  *	(http://phplens.com/adodb/supported.databases.html) and
  *	append it '|p' for persistent connection. (mssql|p for example, or just mssql for not persistent)
+ * For all other databases, this setting is deprecated.
  *
  * host =>
  * the host you connect to the database
  * To add a port number use 'port' => #
  *
+ * prefix =>
+ * Uses the given prefix for all the tables in this database.  This setting can be overridden
+ * on a per-table basis with the Model::$tablePrefix property.
+ *
  */
-class DATABASE_CONFIG
-{
-	var $default = array('driver' => 'mysql',
-								'connect' => 'mysql_connect',
-								'host' => 'localhost',
-								'login' => 'user',
-								'password' => 'password',
-								'database' => 'project_name',
-								'prefix' => '');
+class DATABASE_CONFIG {
 
-	var $test = array('driver' => 'mysql',
-							'connect' => 'mysql_connect',
-							'host' => 'localhost',
-							'login' => 'user',
-							'password' => 'password',
-							'database' => 'project_name-test',
-							'prefix' => '');
+	var $default = array(
+		'driver' => 'mysql',
+		'persistent' => false,
+		'host' => 'localhost',
+		'login' => 'user',
+		'password' => 'password',
+		'database' => 'project_name',
+		'prefix' => ''
+	);
+
+	var $test = array(
+		'driver' => 'mysql',
+		'persistent' => false,
+		'host' => 'localhost',
+		'login' => 'user',
+		'password' => 'password',
+		'database' => 'project_name-test',
+		'prefix' => ''
+	);
 }
+
 ?>

+ 9 - 0
cake/console/libs/templates/skel/config/sql/sessions.sql

@@ -1,7 +1,12 @@
+# $Id$
+#
+# Copyright 2005-2007,	Cake Software Foundation, Inc.
+#								1785 E. Sahara Avenue, Suite 490-204
+#								Las Vegas, Nevada 89104
+#
+# Licensed under The MIT License
+# Redistributions of files must retain the above copyright notice.
+# http://www.opensource.org/licenses/mit-license.php The MIT License
 
 CREATE TABLE cake_sessions (
   id varchar(255) NOT NULL default '',

+ 2 - 5
cake/console/libs/templates/skel/views/layouts/ajax.ctp

@@ -1,21 +1,18 @@
 <?php
 /* SVN FILE: $Id$ */
-
 /**
  *
- * 
- *
  * PHP versions 4 and 5
  *
  * CakePHP(tm) :  Rapid Development Framework <http://www.cakephp.org/>
- * Copyright 2005-2007, Cake Software Foundation, Inc. 
+ * Copyright 2005-2007, Cake Software Foundation, Inc.
  *			1785 E. Sahara Avenue, Suite 490-204
  *			Las Vegas, Nevada 89104
  *
  * Licensed under The MIT License
  * Redistributions of files must retain the above copyright notice.
  *
- * @filesource 
+ * @filesource
  * @copyright		Copyright 2005-2007, Cake Software Foundation, Inc.
  * @link				http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
  * @package			cake

+ 28 - 2
cake/console/libs/templates/skel/views/layouts/default.ctp

@@ -1,11 +1,37 @@
+<?php
+/* SVN FILE: $Id$ */
+/**
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) :  Rapid Development Framework <http://www.cakephp.org/>
+ * Copyright 2005-2007, Cake Software Foundation, Inc.
+ *								1785 E. Sahara Avenue, Suite 490-204
+ *								Las Vegas, Nevada 89104
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @filesource
+ * @copyright		Copyright 2005-2007, Cake Software Foundation, Inc.
+ * @link				http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
+ * @package			cake
+ * @subpackage		cake.cake.libs.view.templates.pages
+ * @since			CakePHP(tm) v 0.10.0.1076
+ * @version			$Revision$
+ * @modifiedby		$LastChangedBy$
+ * @lastmodified	$Date$
+ * @license			http://www.opensource.org/licenses/mit-license.php The MIT License
+ */
+?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 	<title>
-		CakePHP: the PHP Rapid Development Framework: 
+		CakePHP: the PHP Rapid Development Framework:
 		<?php echo $title_for_layout;?>
 	</title>
-	
+
 	<?php echo $html->charset();?>
 
 	<link rel="icon" href="<?php echo $this->webroot;?>favicon.ico" type="image/x-icon" />

+ 1 - 7
cake/console/libs/templates/skel/views/layouts/flash.ctp

@@ -1,10 +1,7 @@
 <?php
 /* SVN FILE: $Id$ */
-
 /**
  *
- *
- *
  * PHP versions 4 and 5
  *
  * CakePHP(tm) :  Rapid Development Framework <http://www.cakephp.org/>
@@ -31,7 +28,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title><?php echo $page_title?></title>
-<?php echo $html->charset();?>
+<?php echo $html->charset(); ?>
 
 <?php if(Configure::read() == 0) { ?>
 <meta http-equiv="Refresh" content="<?php echo $pause?>;url=<?php echo $url?>"/>
@@ -42,10 +39,7 @@ A { color:#444; text-decoration:none }
 A:HOVER { text-decoration: underline; color:#44E }
 --></style>
 </head>
-
 <body>
-
 <p><a href="<?php echo $url?>"><?php echo $message?></a></p>
-
 </body>
 </html>

+ 16 - 16
cake/libs/controller/scaffold.php

@@ -374,19 +374,19 @@ class Scaffold extends Object {
  */
 	function __scaffoldError() {
 		$pathToViewFile = '';
-		
+
 		if (file_exists(APP . 'views' . DS . $this->viewPath . DS . 'scaffolds' . DS. 'scaffold.error.ctp')) {
 			$pathToViewFile = APP . 'views' . DS . $this->viewPath . DS . 'scaffolds' . DS . 'scaffold.error.ctp';
 		} elseif (file_exists(APP . 'views' . DS . $this->viewPath . DS . 'scaffolds' . DS. 'scaffold.error.thtml')) {
 			$pathToViewFile = APP . 'views' . DS . $this->viewPath . DS . 'scaffolds' . DS . 'scaffold.error.thtml';
-		} elseif (file_exists(APP . 'views' . DS . 'scaffold' . DS . 'scaffold.error.ctp')) {
-			$pathToViewFile = APP . 'views' . DS . 'scaffold' . DS . 'scaffold.error.ctp';
-		} elseif (file_exists(APP . 'views' . DS . 'scaffold' . DS . 'scaffold.error.thtml')) {
-			$pathToViewFile = APP . 'views' . DS . 'scaffold' . DS . 'scaffold.error.thtml';
+		} elseif (file_exists(APP . 'views' . DS . 'scaffolds' . DS . 'scaffold.error.ctp')) {
+			$pathToViewFile = APP . 'views' . DS . 'scaffolds' . DS . 'scaffold.error.ctp';
+		} elseif (file_exists(APP . 'views' . DS . 'scaffolds' . DS . 'scaffold.error.thtml')) {
+			$pathToViewFile = APP . 'views' . DS . 'scaffolds' . DS . 'scaffold.error.thtml';
 		} else {
 			$pathToViewFile = LIBS . 'view' . DS . 'templates' . DS . 'errors' . DS . 'scaffold_error.ctp';
 		}
-		
+
 		return $this->controller->render($this->action, $this->layout, $pathToViewFile);
 	}
 /**
@@ -503,10 +503,10 @@ class Scaffold extends Object {
 				return APP . 'views' . DS . 'plugins' . DS . $this->plugin . DS . $this->subDir . $type . $scaffoldAction . '.ctp';
 			} elseif (file_exists(APP . 'views' . DS . 'plugins' . DS . $this->plugin . DS . $this->subDir . $type . $scaffoldAction . '.thtml')) {
 				return APP . 'views' . DS . 'plugins' . DS . $this->plugin . DS . $this->subDir . $type . $scaffoldAction . '.thtml';
-			} elseif (file_exists(APP . 'views' . DS . 'plugins' . DS . 'scaffold'. DS . $this->subDir . $type . $scaffoldAction . '.ctp')) {
-				return APP . 'views' . DS . 'plugins' . DS . 'scaffold'. DS . $this->subDir . $type . $scaffoldAction . '.ctp';
-			} elseif (file_exists(APP . 'views' . DS . 'plugins' . DS . 'scaffold'. DS . $this->subDir . $type . $scaffoldAction . '.thtml')) {
-				return APP . 'views' . DS . 'plugins' . DS . 'scaffold'. DS . $this->subDir . $type . $scaffoldAction . '.thtml';
+			} elseif (file_exists(APP . 'views' . DS . 'plugins' . DS . 'scaffolds'. DS . $this->subDir . $type . $scaffoldAction . '.ctp')) {
+				return APP . 'views' . DS . 'plugins' . DS . 'scaffolds'. DS . $this->subDir . $type . $scaffoldAction . '.ctp';
+			} elseif (file_exists(APP . 'views' . DS . 'plugins' . DS . 'scaffolds'. DS . $this->subDir . $type . $scaffoldAction . '.thtml')) {
+				return APP . 'views' . DS . 'plugins' . DS . 'scaffolds'. DS . $this->subDir . $type . $scaffoldAction . '.thtml';
 			} elseif (file_exists(APP . 'plugins' . DS . $this->plugin . DS . 'views' . DS . $this->viewPath . DS . $scaffoldAction . '.ctp')) {
 				return APP . 'plugins' . DS . $this->plugin . DS . 'views' . DS . $this->viewPath . DS . $scaffoldAction . '.ctp';
 			} elseif (file_exists(APP . 'plugins' . DS . $this->plugin . DS . 'views' . DS . $this->viewPath . DS . $scaffoldAction . '.thtml')) {
@@ -517,16 +517,16 @@ class Scaffold extends Object {
 		foreach($paths->viewPaths as $path) {
 			if (file_exists($path . $this->viewPath . DS . $this->subDir . $type . $scaffoldAction . $this->ext)) {
 				return $path . $this->viewPath . DS . $this->subDir . $type . $scaffoldAction . $this->ext;
-			} elseif (file_exists($path . $this->viewPath . DS . 'scaffold' . DS . $this->subDir . $type . $scaffoldAction . $this->ext)) {
-				return $path . $this->viewPath . DS . 'scaffold' . DS . $this->subDir . $type . $scaffoldAction . $this->ext;
+			} elseif (file_exists($path . $this->viewPath . DS . 'scaffolds' . DS . $this->subDir . $type . $scaffoldAction . $this->ext)) {
+				return $path . $this->viewPath . DS . 'scaffolds' . DS . $this->subDir . $type . $scaffoldAction . $this->ext;
 			} elseif (file_exists($path . $this->viewPath . DS . $this->subDir . $type . $scaffoldAction . '.ctp')) {
 				return $path . $this->viewPath . DS . $this->subDir . $type . $scaffoldAction . '.ctp';
 			} elseif (file_exists($path . $this->viewPath . DS . $this->subDir . $type . $scaffoldAction . '.thtml')) {
 				return $path . $this->viewPath . DS . $this->subDir . $type . $scaffoldAction . '.thtml';
-			} elseif (file_exists($path . $this->viewPath . DS . 'scaffold' . DS . $this->subDir . $type . $scaffoldAction . '.ctp')) {
-				return $path . $this->viewPath . DS . 'scaffold' . DS . $this->subDir . $type . $scaffoldAction . '.ctp';
-			} elseif (file_exists($path . $this->viewPath . DS . 'scaffold' . DS . $this->subDir . $type . $scaffoldAction . '.thtml')) {
-				return $path . $this->viewPath . DS . 'scaffold' . DS . $this->subDir . $type . $scaffoldAction . '.thtml';
+			} elseif (file_exists($path . $this->viewPath . DS . 'scaffolds' . DS . $this->subDir . $type . $scaffoldAction . '.ctp')) {
+				return $path . $this->viewPath . DS . 'scaffolds' . DS . $this->subDir . $type . $scaffoldAction . '.ctp';
+			} elseif (file_exists($path . $this->viewPath . DS . 'scaffolds' . DS . $this->subDir . $type . $scaffoldAction . '.thtml')) {
+				return $path . $this->viewPath . DS . 'scaffolds' . DS . $this->subDir . $type . $scaffoldAction . '.thtml';
 			}
 		}
 		return LIBS . 'view' . DS . 'templates' . DS . 'scaffolds' . DS . $action . '.ctp';