Commit graph

381 commits

Author SHA1 Message Date
phpnut
301731fb1a Corrected the use of View class instance.
It looks like the way you where coding it was to be used as a Singleton.
In Controller::render() I am setting all View() attributed by pass reference.
I do not think it will effect other parts of the system.

You can see why I did this by uncommenting the print_r function in View::render().
Reload url in browser.
Then in Controller::render() remove the & from:
$view->autoRender =& $this->autoRender;
This is the only one that seems to cause array to print.

This may also caused in the Router::connect().
Look at this if you get time.
I noticed that each setting in the conf/routes.php file calls outer::connect();
Tee profiler show this happening 6 times on current install from trunk
Router::parse() is called 2 times.


We really need to get some good unit test in place.

Also speeded things up a little.

Profiler test:

Before changes on default install from trunk

Between:
Total Request Time: 13013.4 Milliseconds
Total Request Time: 13065.84 Milliseconds
28 files

After changes
Between:
Total Request Time: 10230.99 Milliseconds
Total Request Time: 10511.59 Milliseconds
27 files



git-svn-id: https://svn.cakephp.org/repo/trunk/cake@304 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-07-03 07:07:47 +00:00
phpnut
cad49da852 fixed mime type setting on file
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@303 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-07-03 00:15:26 +00:00
phpnut
5db836ec59 merging css changes from Kamil's sandbox that I forgot
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@302 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-07-02 23:20:03 +00:00
phpnut
75cce3f107 Merging changes from Kamil's sandbox.
Beginning refactoring to bring current trunk to a usable release.


git-svn-id: https://svn.cakephp.org/repo/trunk/cake@301 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-07-02 22:49:04 +00:00
phpnut
4089572c5f testing new server and maillist 4th
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@299 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-07-02 04:44:46 +00:00
phpnut
cbe816dc10 testing new server and maillist 3
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@298 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-07-02 04:39:29 +00:00
phpnut
108db1fbcd testing new server and maillist
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@297 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-07-02 04:36:18 +00:00
phpnut
8f4ac9bfd9 testing new server and maillist
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@296 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-07-02 03:53:01 +00:00
phpnut
63f20284dc testing new server
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@295 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-07-02 03:46:57 +00:00
phpnut
fe6c343771 setting proper mime-type on files in the trunk
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@294 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-30 02:32:36 +00:00
phpnut
01c846dc19 setting proper mime-type on files in the trunk
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@293 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-30 02:11:23 +00:00
phpnut
55da45ec77 setting proper mime-type on files in the trunk
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@292 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-30 02:09:47 +00:00
phpnut
217e177abf Put check in index.php if $_GET['url'] is favicon.ico do nothing.
This will stop errors of a AppController? trying to be created 

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@291 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-26 17:54:49 +00:00
brego
975e0b3755 Changed error methods, and a typo in one error file.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@277 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-23 20:45:22 +00:00
brego
d9a7885d0f DboFactory comes back, no more global variables. To get actual instance of db, call DboFactory::getInstance(). You can also change the running object with DboFactory::setConfig('configname').
Data validation is still dead, gonna spend a night on that one.



git-svn-id: https://svn.cakephp.org/repo/trunk/cake@276 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-23 20:41:10 +00:00
brego
63fe9906cc Tests are passing now, but DboFactory needs to get out at some point.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@275 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-23 14:13:50 +00:00
brego
ba139f10bb Database should work now. I have introduced some semi-singelton magic in dbo. DboFactory is no longer needed. This is not tested properly, and tests will most likely fail! Follow up soon.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@274 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-23 13:59:02 +00:00
brego
9206b074d3 I do not want any uppercase letters in filenames. I want CamelCase actions that link to under_scored files.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@273 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-23 08:32:04 +00:00
phpnut
77d259860c used unset to remove $this->db from the printed object
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@272 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-23 00:27:37 +00:00
pies
27d16ff9b9 I'm sorry, I've reversed two changes. I've changed the error views names to underscored, and I've changed the default DEBUG to 1.
The first one is for consistency (no UppperCase filenames, please), the second is because while I'm no enemy of application security, the application has to be safe _after_ it's written, not before. And to easily write an application, the developer should have the DEBUG mode set to 1 or 2.

Other than that, I think it's a very good idea to put the tag generators in helpers :)

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@271 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-22 23:16:26 +00:00
brego
0535607f5a Now we use DEBUG=0 as default... Also potential security hole - error pages showing database info - are only show when DEBUG>1.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@270 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-22 18:52:34 +00:00
brego
dd5f22418e Tests run properly now - need to add more of them into /libs/helpers/html.php!
Data validation should work - not tested (will do it tomorrow).



git-svn-id: https://svn.cakephp.org/repo/trunk/cake@265 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-22 01:20:19 +00:00
brego
38ddea527e Ok, this one is very big. Firstly, I've outsourced (:]) helper methods like linkTo etc into separate files, located in /libs/helpers/*.
I am not finished with copying methods out of template.php, but it will come - also data validation would not be a problem helpers inclusion happens in the Template::_render().

Also, there was a bug with error functions (as Controller::missingView) - on linux, calling $this->render('../errors/missingController'); rsulted in an error - beacouse apparently is_file() cannot work with '..'. I added a simple fix in Template::_getViewFn.

I've also made some cleanups. Will continue to work tonight.



git-svn-id: https://svn.cakephp.org/repo/trunk/cake@264 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-21 23:44:49 +00:00
brego
63052f1d64 Checked with http://sqlite.org/lang_select.html
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@263 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-21 17:09:42 +00:00
brego
5f0e5a1c59 Some SQLite cleanups.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@262 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-21 17:06:54 +00:00
brego
34a4490f74 Added /public/js/vendors.php which requests files from /vendors/javascript/ through "file" GET variable.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@261 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-21 16:48:06 +00:00
pies
b717167c4f - changed NeatArray to Narray, it's shorter, easier to use,
- Time::daysAsSql returns SQL limits for a set of days, perhaps should be in DBO,
- cleanups

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@259 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-20 23:08:59 +00:00
brego
847d6df3a3 PHP5 bugs:
- "public" cannot be defined as constant (PHP5 keyword)
- Cannot re-assign $this in libs/template.php on line 217...

Other:
- Started on refactoring as described in #27 - but this feels like fooled aproach. We need to modularize HTML and AJAX stuff to be included only on-call.



git-svn-id: https://svn.cakephp.org/repo/trunk/cake@256 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-19 23:30:36 +00:00
pies
37e42105c6 I've merged in the changes by scharfie@gmail.com. For more information please see http://www.bluemargin.com/cake_custom_errors.zip. Olle, can you extract some information from the app/views/pages/home.thtml of that file?
The point is to provide custom error messages for Cake. As you will see, the quality of documentation is astounding.

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@255 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-19 06:45:55 +00:00
pies
6fa1c1b3d4 - fix for Ticket #30
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@254 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-19 04:42:52 +00:00
pies
6a8bf274e2 - minor fix to CCSS
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@253 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-19 03:55:52 +00:00
pies
a8eed860b2 - added the csspp library that automatically reduces the size of CSS files; it is activated by prefixing an CSS file URL with /ccss/ instead of /css/ and there's a switch in the /config/core.php to activate it in Controller::cssTag()
- added a new class, File, currently only used by the Log class and Compressed CSS (CCSS) caching; aims to support easy reading and writing of files

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@252 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-19 03:35:19 +00:00
pies
7fadee449b Temporary directory for tests.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@250 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-18 23:36:05 +00:00
pies
309d5465a9 Two missing changes.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@249 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-18 23:33:13 +00:00
pies
da79dff7d7 - merged in Brego's SimpleTest implementation, fixed some of the tests (the Folder test fails to delete one of the test directories on my system, so it's not perfectly clean yet)
- Dispatcher sets a Controller::here variable with the real URL used to access the page, so that tag generators can that use an url (linkTo and formTag for example) use the real url, not guess it from the controller and action names which often fails
- Log class works more reliably and a LogError() shortcut function was added
- Nstring class added, to store string-related functions (there are just four yet, including a random password generator and an string-to-array splitter
- SimpleTest library (with Rephlux) included in /vendors; I've tweaked SimpleScorer::inCli() function, because it didn't work on my setup, it should work everywhere now (it checks for empty REQUEST_METHOD, which should only be empty in CLI)

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@248 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-18 23:26:35 +00:00
pies
27faaea8ea - Controller::imageTag() uses a path set in /config/paths.php
- new Controller::linkEmail() tag generator, with binary encoding (not UTF-8 compatibile)
- Controller::parseHtmlOptions() accepts a new second parameter -- options to exclude
- fixed DBO::farr() (ticked #23)
- fixed and cleaned up DBO layers NEEDS TESTING!
- fixed Template::renderElement(), it didn't use the controller's view vars
- models are loaded only if a database configuration is present

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@247 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-14 19:57:01 +00:00
pies
01b0d81dd2 - Bake pluralized all controller names, fixed.
- vendor() function to load a vendor library
- uses() is simple again
- config() treats database config differently (needs to because database config is a class, not a great idea after all)
- moved DBO layers into their own subfolder in /libs -- there's too many of them already
- AdoDB and Pear::DB support much better, although needs testing
- fixes in Flay URL parsing
- Model::findAll() uses the new DBO::selectLimit() method for wider database compatibility
- changed Template::_page_title into _pageTitle
- /public/index.php cleaned up

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@245 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-12 20:50:12 +00:00
pies
39132f9bcf - I've rebuilt the startup a bit, more libraries are explicitly loaded at startup. They were loaded anyway (Object, Inflector), but implicitly thru uses() calls. I did it to untangle the relationships between files.
- Link tag generator fixed for compatibility with XHTML (& => &)
- prepare() and tables() methods renamed to prepareField() and tablesList() in database layers, prepare() and tables() meta-methods created in Model. The first one so that prepare() can accept both strings and arrays, the second one to fix Ticket #26 (case-sensitive table names didn't work for DB2).
- Few minor changes of includes() to requires() and the other way, to prevent unnecessary program terminations, and potential crashes.
- Time::toAtom() and Time::toRss() to format dates for XML feeds.
- Some code cleanups (unnecessary __construct()'s), also, I'm changing the parentheses into:

if (true)
{
}

I hope that's ok with everybody? I find it easier to understand code with that formatting. Does anyone know a highly configurable tool that would format PHP code automatically?

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@241 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-11 03:45:31 +00:00
pies
f2f3d56e36 Added back the @package and @subpackage headers to /app and /config files.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@239 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-05 23:41:46 +00:00
pies
3f10d747b7 - Cake didn't work without mod_rewrite, fixed (/index.php, /libs/router.php).
- Controller accepts $params as a constructor parameter (for Larry).
- DBO::prepare() returned an array even when a string was passed to it, fixed.
- Flay and Folder tests fixed, DBO_Factory test disabled (no database config by default, so do database access to test).
- 

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@238 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-05 19:42:54 +00:00
pies
443a702376 I've merged in Olle's changes.
Larry, I've merged in _some_ of your changes, I'll merge in the scaffolding and joins code when you tell me it's ready. But I don't want to break how the Controller class works, can't we really do without the constructClasses() method call? Which reminds me, with your joins code, will we be able to use constructs like $user->post->findAll() and $user->post->save()?

Also, what are your changes to the DBO_MySQL class? I mean the mysqlResultSet(), and fetchResult() methods. I didn't see any MySQL-specific code inside them, perhaps they belong to the DBO class itself? 

- I've changed the headers on user-editable files in /app and /config. I hope they will constitute a compromise between readability and legality. I've left file Id, copyright, and licence notices.

- /libs/basic.php::uses() function logs included files in global $loaded. Please, consider it a note to myself. Also, I've moved the NeatArray class out of the /libs/basics.php (into /libs/neat_array.php).
- Some cleanups in the Controller and Dispatcher classes.
- DBO::Prepare() accepts strings _and_ arrays now. It's a step towards a unified params theory.
- I think I've added some comments to DBO sub-classes, but it might have been Olle.
- A fix in Model class (findAll didn't work properly)
- Object's constructor sets $this->db to &DBO, which means all Object-descendand classes have default access to the database if it's connected. We need to clean up the code accordingly (some classes set their own $this->db references).

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@236 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-05 11:05:24 +00:00
phpnut
dada2432f0 Merging current trunk into my sandbox.
Added docblocks that where missing from some files in the trunk

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@227 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-05 04:56:55 +00:00
phpnut
f98a79266f Merging current trunk into my sandbox.
Added docblocks that where missing from some files in the trunk

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@226 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-05 04:43:07 +00:00
phpnut
40c77bcb53 Merging current trunk into my sandbox.
Added docblocks to some methods that were missing in the trunk/cake/libs/basics.php

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@224 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-05 04:27:03 +00:00
pies
85dff45ada - NeatArray::threaded() returns to the repository, it got lost somehow.
- A limit (default: 200 lines) on query log size in DBO.
- A fix for Flay's url guessing.
- Removed application specific code from /libs/legacy.php
- A fix for /libs/model.php
- An unfinished /libs/dbo_pear.php; if anyone can help out finishing it, it would be great -- I don't know Pear::DB too well

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@218 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-02 23:04:20 +00:00
pies
065131205d Merged in Olle's changes (comments). Olle, can you sync with the trunk? It's up to half an hour ago.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@213 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-02 19:37:06 +00:00
brego
303d3202d2 SQLite driver should work.
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@212 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-06-01 21:30:39 +00:00
pies
9bbe275903 (I don't know what's happening:/ )
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@207 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-05-31 23:18:22 +00:00
pies
12fe85f2c0 (I've lost Internet connection during a commit, I thought svn was supposed to roll back, I don't think it did though, I'm including the changelog again, perhaps it's just Tortoise SVN).
---
Sync'd with my sandbox, the changes are the same as with my previous commit, here's a copy:
---
Sync'd with Olle's sandbox and with the Ajax stuff I've received. I'm trying to put together a sample application using Ajax, but it's gonna take at least few days (mostly because I've already done it and got bored with it:)

Changes are mostly comments, plus a few more methods for the Controller class (which really needs thinning). I think I'll create two helper classes, Html and Ajax to handle the tag-generating stuff and take some code off libs/controller.php. Also, added /vendors/javascript/prototype.js and /public/js/prototype.js -- they are the same, perhaps we should just distribute one.

One other change is a standards-fix for Controller::urlFor() (ampersands are entity-encoded now), but it seems puny compared to the former.

Larry, can you refresh the PHPDocs?

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@206 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-05-31 23:17:48 +00:00
pies
8af7d1f67a Sync'd with Olle's sandbox and with the Ajax stuff I've received. I'm trying to put together a sample application using Ajax, but it's gonna take at least few days (mostly because I've already done it and got bored with it:)
Changes are mostly comments, plus a few more methods for the Controller class (which really needs thinning). I think I'll create two helper classes, Html and Ajax to handle the tag-generating stuff and take some code off libs/controller.php. Also, added /vendors/javascript/prototype.js and /public/js/prototype.js -- they are the same, perhaps we should just distribute one.

One other change is a standards-fix for Controller::urlFor() (ampersands are entity-encoded now), but it seems puny compared to the former.

Larry, can you refresh the PHPDocs?

git-svn-id: https://svn.cakephp.org/repo/trunk/cake@205 3807eeeb-6ff5-0310-8944-8be069107fe0
2005-05-31 22:40:49 +00:00