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
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
- 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
- "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
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
- 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
- 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
- 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
- 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
- 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
- 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
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
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
- 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
---
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
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
- added Template::renderElement('element_name_or_path', $params_array) with appropriate /config/paths.php defines and a /app/views/elements directory
- added Ajax stuff to the Controller class, but I think it needs to be moved out into some helper class, along with all the tag generators
- new Flay::extractWords() to return an array of words from a string
- new Time::timeAgoInWords()
- added /vendors/javascript/prototype.js and /public/js/prototype.js (with some changes, we can keep only one copy in the tree)
git-svn-id: https://svn.cakephp.org/repo/trunk/cake@190 3807eeeb-6ff5-0310-8944-8be069107fe0