Permalink
Browse files

Adding a simpler solution to the missing view files problem without a…

…ltering the built paths in App
  • Loading branch information...
1 parent cec9d2e commit ea79ba81a4988cc399f34a084d0986168d7d86ee @lorenzo lorenzo committed Feb 20, 2012
@@ -0,0 +1,188 @@
+<?php
+/**
+ *
+ * PHP 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package Cake.View.Pages
+ * @since CakePHP(tm) v 0.10.0.1076
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+if (Configure::read('debug') == 0):
+ throw new NotFoundException();
+endif;
+App::uses('Debugger', 'Utility');
+?>
+<iframe src="http://cakephp.org/bake-banner" width="830" height="160" style="overflow:hidden; border:none;">
+ <p>For updates and important announcements, visit http://cakefest.org</p>
+</iframe>
+<h2><?php echo __d('cake_dev', 'Release Notes for CakePHP %s.', Configure::version()); ?></h2>
+<a href="http://cakephp.org/changelogs/<?php echo Configure::version(); ?>"><?php echo __d('cake_dev', 'Read the changelog'); ?> </a>
+<?php
+if (Configure::read('debug') > 0):
+ Debugger::checkSecurityKeys();
+endif;
+?>
+<p id="url-rewriting-warning" style="background-color:#e32; color:#fff;">
+ <?php echo __d('cake_dev', 'URL rewriting is not properly configured on your server.'); ?>
+ 1) <a target="_blank" href="http://book.cakephp.org/2.0/en/installation/advanced-installation.html#apache-and-mod-rewrite-and-htaccess" style="color:#fff;">Help me configure it</a>
+ 2) <a target="_blank" href="http://book.cakephp.org/2.0/en/development/configuration.html#cakephp-core-configuration" style="color:#fff;">I don't / can't use URL rewriting</a>
+</p>
+<p>
+<?php
+ if (version_compare(PHP_VERSION, '5.2.8', '>=')):
+ echo '<span class="notice success">';
+ echo __d('cake_dev', 'Your version of PHP is 5.2.8 or higher.');
+ echo '</span>';
+ else:
+ echo '<span class="notice">';
+ echo __d('cake_dev', 'Your version of PHP is too low. You need PHP 5.2.8 or higher to use CakePHP.');
+ echo '</span>';
+ endif;
+?>
+</p>
+<p>
+ <?php
+ if (is_writable(TMP)):
+ echo '<span class="notice success">';
+ echo __d('cake_dev', 'Your tmp directory is writable.');
+ echo '</span>';
+ else:
+ echo '<span class="notice">';
+ echo __d('cake_dev', 'Your tmp directory is NOT writable.');
+ echo '</span>';
+ endif;
+ ?>
+</p>
+<p>
+ <?php
+ $settings = Cache::settings();
+ if (!empty($settings)):
+ echo '<span class="notice success">';
+ echo __d('cake_dev', 'The %s is being used for core caching. To change the config edit APP/Config/core.php ', '<em>'. $settings['engine'] . 'Engine</em>');
+ echo '</span>';
+ else:
+ echo '<span class="notice">';
+ echo __d('cake_dev', 'Your cache is NOT working. Please check the settings in APP/Config/core.php');
+ echo '</span>';
+ endif;
+ ?>
+</p>
+<p>
+ <?php
+ $filePresent = null;
+ if (file_exists(APP . 'Config' . DS . 'database.php')):
+ echo '<span class="notice success">';
+ echo __d('cake_dev', 'Your database configuration file is present.');
+ $filePresent = true;
+ echo '</span>';
+ else:
+ echo '<span class="notice">';
+ echo __d('cake_dev', 'Your database configuration file is NOT present.');
+ echo '<br/>';
+ echo __d('cake_dev', 'Rename APP/Config/database.php.default to APP/Config/database.php');
+ echo '</span>';
+ endif;
+ ?>
+</p>
+<?php
+if (isset($filePresent)):
+ App::uses('ConnectionManager', 'Model');
+ try {
+ $connected = ConnectionManager::getDataSource('default');
+ } catch (Exception $connectionError) {
+ $connected = false;
+ }
+?>
+<p>
+ <?php
+ if ($connected && $connected->isConnected()):
+ echo '<span class="notice success">';
+ echo __d('cake_dev', 'Cake is able to connect to the database.');
+ echo '</span>';
+ else:
+ echo '<span class="notice">';
+ echo __d('cake_dev', 'Cake is NOT able to connect to the database.');
+ echo '<br /><br />';
+ echo $connectionError->getMessage();
+ echo '</span>';
+ endif;
+ ?>
+</p>
+<?php endif;?>
+<?php
+ App::uses('Validation', 'Utility');
+ if (!Validation::alphaNumeric('cakephp')) {
+ echo '<p><span class="notice">';
+ echo __d('cake_dev', 'PCRE has not been compiled with Unicode support.');
+ echo '<br/>';
+ echo __d('cake_dev', 'Recompile PCRE with Unicode support by adding <code>--enable-unicode-properties</code> when configuring');
+ echo '</span></p>';
+ }
+?>
+<h3><?php echo __d('cake_dev', 'Editing this Page'); ?></h3>
+<p>
+<?php
+echo __d('cake_dev', 'To change the content of this page, create: APP/View/Pages/home.ctp.<br />
+To change its layout, create: APP/View/Layouts/default.ctp.<br />
+You can also add some CSS styles for your pages at: APP/webroot/css.');
+?>
+</p>
+
+<h3><?php echo __d('cake_dev', 'Getting Started'); ?></h3>
+<p>
+ <?php
+ echo $this->Html->link(
+ sprintf('<strong>%s</strong> %s', __d('cake_dev', 'New'), __d('cake_dev', 'CakePHP 2.0 Docs')),
+ 'http://book.cakephp.org/2.0/en/',
+ array('target' => '_blank', 'escape' => false)
+ );
+ ?>
+</p>
+<p>
+ <?php
+ echo $this->Html->link(
+ __d('cake_dev', 'The 15 min Blog Tutorial'),
+ 'http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/blog.html',
+ array('target' => '_blank', 'escape' => false)
+ );
+ ?>
+</p>
+
+<h3><?php echo __d('cake_dev', 'More about Cake'); ?></h3>
+<p>
+<?php echo __d('cake_dev', 'CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Active Record, Association Data Mapping, Front Controller and MVC.'); ?>
+</p>
+<p>
+<?php echo __d('cake_dev', 'Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility.'); ?>
+</p>
+
+<ul>
+ <li><a href="http://cakefoundation.org/"><?php echo __d('cake_dev', 'Cake Software Foundation'); ?> </a>
+ <ul><li><?php echo __d('cake_dev', 'Promoting development related to CakePHP'); ?></li></ul></li>
+ <li><a href="http://www.cakephp.org"><?php echo __d('cake_dev', 'CakePHP'); ?> </a>
+ <ul><li><?php echo __d('cake_dev', 'The Rapid Development Framework'); ?></li></ul></li>
+ <li><a href="http://book.cakephp.org"><?php echo __d('cake_dev', 'CakePHP Documentation'); ?> </a>
+ <ul><li><?php echo __d('cake_dev', 'Your Rapid Development Cookbook'); ?></li></ul></li>
+ <li><a href="http://api20.cakephp.org"><?php echo __d('cake_dev', 'CakePHP API'); ?> </a>
+ <ul><li><?php echo __d('cake_dev', 'Quick Reference'); ?></li></ul></li>
+ <li><a href="http://bakery.cakephp.org"><?php echo __d('cake_dev', 'The Bakery'); ?> </a>
+ <ul><li><?php echo __d('cake_dev', 'Everything CakePHP'); ?></li></ul></li>
+ <li><a href="http://live.cakephp.org"><?php echo __d('cake_dev', 'The Show'); ?> </a>
+ <ul><li><?php echo __d('cake_dev', 'The Show is a live and archived internet radio broadcast CakePHP-related topics and answer questions live via IRC, Skype, and telephone.'); ?></li></ul></li>
+ <li><a href="http://groups.google.com/group/cake-php"><?php echo __d('cake_dev', 'CakePHP Google Group'); ?> </a>
+ <ul><li><?php echo __d('cake_dev', 'Community mailing list'); ?></li></ul></li>
+ <li><a href="irc://irc.freenode.net/cakephp">irc.freenode.net #cakephp</a>
+ <ul><li><?php echo __d('cake_dev', 'Live chat about CakePHP'); ?></li></ul></li>
+ <li><a href="http://github.com/cakephp/"><?php echo __d('cake_dev', 'CakePHP Code'); ?> </a>
+ <ul><li><?php echo __d('cake_dev', 'For the Development of CakePHP Git repository, Downloads'); ?></li></ul></li>
+ <li><a href="http://cakephp.lighthouseapp.com/"><?php echo __d('cake_dev', 'CakePHP Lighthouse'); ?> </a>
+ <ul><li><?php echo __d('cake_dev', 'CakePHP Tickets, Wiki pages, Roadmap'); ?></li></ul></li>
+</ul>
@@ -395,7 +395,7 @@ public function testPluginPathGeneration() {
$View = new TestView($this->Controller);
$paths = $View->paths();
- $expected = array_merge(App::path('View'), App::core('View'));
+ $expected = array_merge(App::path('View'), App::core('View'), App::core('Console/Templates/skel/View'));
$this->assertEquals($paths, $expected);
$paths = $View->paths('TestPlugin');
@@ -404,7 +404,8 @@ public function testPluginPathGeneration() {
CAKE . 'Test' . DS . 'test_app' . DS . 'View' . DS . 'Plugin' . DS . 'TestPlugin' . DS,
$pluginPath . 'View' . DS,
CAKE . 'Test' . DS . 'test_app' . DS . 'View' . DS,
- CAKE . 'View' . DS
+ CAKE . 'View' . DS,
+ CAKE . 'Console' . DS . 'Templates' . DS . 'skel' . DS . 'View' . DS
);
$this->assertEquals($paths, $expected);
}
View
@@ -1082,7 +1082,8 @@ protected function _paths($plugin = null, $cached = true) {
}
$paths = array();
$viewPaths = App::path('View');
- $corePaths = array_flip(App::core('View'));
+ $corePaths = array_flip(array_merge(App::core('View'), App::core('Console/Templates/skel/View')));
+
if (!empty($plugin)) {
$count = count($viewPaths);
for ($i = 0; $i < $count; $i++) {
@@ -1099,7 +1100,7 @@ protected function _paths($plugin = null, $cached = true) {
$count = count($paths);
for ($i = 0; $i < $count; $i++) {
if (strpos($paths[$i], DS . 'Plugin' . DS) === false
- && strpos($paths[$i], DS . 'Cake' . DS . 'View') === false) {
+ && strpos($paths[$i], DS . 'Cake' . DS) === false) {
if ($plugin) {
$themePaths[] = $paths[$i] . 'Themed'. DS . $this->theme . DS . 'Plugin' . DS . $plugin . DS;
}

0 comments on commit ea79ba8

Please sign in to comment.