<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-34331783</id><updated>2012-01-31T23:10:15.651-08:00</updated><category term='dmg'/><category term='bake'/><category term='translate'/><category term='web'/><category term='bug'/><category term='CakePHP 1.2'/><category term='acl'/><category term='TinyMCE'/><category term='ADSL'/><category term='new'/><category term='relation'/><category term='query'/><category term='validation'/><category term='nicedit'/><category term='array'/><category term='chrome'/><category term='baking'/><category term='spam'/><category term='favicon'/><category term='cakephp'/><category term='fest'/><category term='humor'/><category term='multiple'/><category term='i18n'/><category term='Xihna'/><category term='changelog'/><category term='mysql'/><category term='new year release'/><category term='schema'/><category term='UFO'/><category term='textmate'/><category term='Zyxel'/><category term='aco'/><category term='cloud'/><category term='NetBeans'/><category term='filter'/><category term='beta'/><category term='editor'/><category term='global'/><category term='socket'/><category term='Firefox'/><category term='RoR'/><category term='session'/><category term='project'/><category term='release'/><category term='prototype'/><category term='google'/><category term='1.2'/><category term='Post'/><category term='MacBook'/><category term='setup'/><category term='yahoo'/><category term='url'/><category term='belongsTo'/><category term='strange'/><category term='javascript'/><category term='bindModel'/><category term='WYSIWYG'/><category term='behaviors'/><category term='paginator'/><category term='customers'/><category term='HABTM'/><category term='4 july'/><category term='auth'/><category term='IDE'/><category term='site'/><category term='aro'/><category term='plugin'/><category term='PostTask'/><category term='browser'/><category term='prodam-auto'/><category term='uppercase'/><category term='acl howto'/><category term='access'/><category term='Ruby on Rails'/><category term='JSON'/><category term='cake'/><category term='503'/><category term='pipes'/><category term='helpers'/><category term='database'/><category term='hack'/><category term='Internet'/><category term='php'/><category term='ajax'/><category term='MAMP'/><category term='programming'/><category term='MacOS'/><category term='startup'/><category term='lowcase'/><category term='life'/><category term='pagination'/><category term='jquery'/><category term='tags'/><category term='cakephp source'/><category term='unix'/><category term='twitter'/><category term='poEdit'/><category term='SPAW'/><category term='FCKEditor'/><category term='custom query'/><category term='IE'/><category term='htaccess'/><category term='model'/><category term='paginate'/><category term='WiFi'/><title type='text'>Cake PHP useful tips</title><subtitle type='html'>Interesting code, feature, hints, tips for programming in cakephp style</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>86</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-34331783.post-8836624531809782959</id><published>2011-03-22T11:47:00.000-07:00</published><updated>2011-03-22T11:48:17.687-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><title type='text'>I come back</title><content type='html'>Hi everybody!&lt;br /&gt;&lt;br /&gt;I have come back. I look - you read this blog and still have interest to CakePhp. So, I will write more and repost more interest and useful thing ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-8836624531809782959?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/8836624531809782959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=8836624531809782959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8836624531809782959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8836624531809782959'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2011/03/i-come-back.html' title='I come back'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-9042800352201934430</id><published>2009-05-22T05:26:00.000-07:00</published><updated>2009-05-22T05:29:49.308-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='paginate'/><category scheme='http://www.blogger.com/atom/ns#' term='belongsTo'/><category scheme='http://www.blogger.com/atom/ns#' term='behaviors'/><category scheme='http://www.blogger.com/atom/ns#' term='strange'/><title type='text'>Behavior in belongsTo request...</title><content type='html'>As usual I was not looking for easy ways, and as usual faces challenges not addressed in book.cakephp.org ;-) &lt;br /&gt;&lt;br /&gt;Always, the most troublesome part of the project for me is paginate and all that associated with it (sampling, sorting). &lt;br /&gt;&lt;br /&gt;And now, I once again stepped on a rake, and the answer to my question - no. &lt;br /&gt;&lt;br /&gt;So, what was the challenge: &lt;br /&gt;&lt;br /&gt;Model A - hasMany Model B &lt;br /&gt;Model B - belongsTo Model A &lt;br /&gt;&lt;br /&gt;Model B - actAs ( 'Image') &lt;br /&gt;&lt;br /&gt;Image - a wonderful Yevgenia Tomenko behavior, which is used to link entries in the model with the stored image. &lt;br /&gt;&lt;br /&gt;In the case of a request Model B -&gt; ... of any form - behavior of hours worked, and I got me the correct information - in this case, pictures. &lt;br /&gt;&lt;br /&gt;However, when the problem began to build a query type &lt;br /&gt;&lt;br /&gt;Model B -&gt; Model -&gt; A (in terms of where the sample is on the fields of Model A) &lt;br /&gt;&lt;br /&gt;turned out - that the search and pedzhinatsiya work perfectly, but the results of Model B - no trace of the behavior ... I just got a field model, without the right to me «curvature». &lt;br /&gt;&lt;br /&gt;No dancing, dancing with Contain, the order request, etc. - No effect. Well the answer is no, and guglegruppe. &lt;br /&gt;&lt;br /&gt;And today I found another rake, but with behavior Translate. If you use the instructions and do as they advised - and it works fine, except my favorite pedzhinatsii ... &lt;br /&gt;&lt;br /&gt;And it is - sort of fields located in the i18n table - you can not. Not possible. Only those fields that are present in an explicit form. Whew. &lt;br /&gt;&lt;br /&gt;Of course, I do not want to say that sorting through the i18n table built to work quickly, or, in principle, be attributable to work. Maybe not. But in this case, if you need some sort of results except for id, created - no chance to use the behavior you do not. It does not work. : ( &lt;br /&gt;&lt;br /&gt;And if the rake can bypass the second request (first received the list of id Model B, and then to obtain directly from the Model B, all records (this is work behavior). In the second rake, the only way to sort - to dispense with boxed behavior. &lt;br /&gt;&lt;br /&gt;But I have the trick ;-)&lt;br /&gt;&lt;br /&gt;$results = this-&gt;Immovable-&gt;Best-&gt;find('all',array('conditions' =&gt; array('Best.country_id' =&gt; $country), 'limit' =&gt; 5, 'contain' =&gt; array('Immovable' =&gt; array('order' =&gt; array('Immovable.created' =&gt; 'ASC')))));&lt;br /&gt;&lt;br /&gt;$result = $this-&gt;Immovable-&gt;Behaviors-&gt;Image-&gt;afterFind($this-&gt;Immovable, $results, false);&lt;br /&gt;&lt;br /&gt;In this case, the results will be applied behavior &lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-9042800352201934430?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/9042800352201934430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=9042800352201934430' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/9042800352201934430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/9042800352201934430'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2009/05/behavior-in-belongsto-request.html' title='Behavior in belongsTo request...'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-8418150402865334514</id><published>2009-01-08T03:56:00.000-08:00</published><updated>2009-01-08T04:02:07.718-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='custom query'/><category scheme='http://www.blogger.com/atom/ns#' term='HABTM'/><category scheme='http://www.blogger.com/atom/ns#' term='paginate'/><title type='text'>double HABTM how to?</title><content type='html'>We have:&lt;br /&gt;&lt;br /&gt;Post HABTM Tag&lt;br /&gt;Post HABTM Category&lt;br /&gt;&lt;br /&gt;We need:&lt;br /&gt;&lt;br /&gt;Get all posts where Category.id = M, Tag.id = N&lt;br /&gt;In CakePHP style, of couse ;-)&lt;br /&gt;&lt;br /&gt;Scaffolding (just use cake console, nothing strange, all - typical).&lt;br /&gt;&lt;br /&gt;Table:&lt;br /&gt;&lt;br /&gt;posts: id, title, body&lt;br /&gt;tags: id, title&lt;br /&gt;category: id,title&lt;br /&gt;&lt;br /&gt;join tables:&lt;br /&gt;&lt;br /&gt;posts_tags: id, post_id, tag_id&lt;br /&gt;categories_tags: id, post_id, category_id&lt;br /&gt;&lt;br /&gt;How to?&lt;br /&gt;&lt;br /&gt;Easy...&lt;br /&gt;&lt;br /&gt;$this-&gt;Post-&gt;bindModel(array('hasOne' =&gt; array('PostsTag','CategoriesPost'))); &lt;br /&gt;&lt;br /&gt;(add param false if want to make paginate ;-)&lt;br /&gt;&lt;br /&gt;And now:&lt;br /&gt;&lt;br /&gt;      $posts = $this-&gt;Post-&gt;find('all',array(&lt;br /&gt;      'fields' =&gt; 'Post.*', &lt;br /&gt;      'conditions' =&gt; array('PostsTag.tag_id' =&gt; 1,'CategoriesPost.category_id' =&gt; 4), &lt;br /&gt;      ));&lt;br /&gt;&lt;br /&gt;That's all, folks.&lt;br /&gt;&lt;br /&gt;You can add params recursive = 0 (I think it good idea to reduce data in result)&lt;br /&gt;You can use any cake-style 'or', 'and' in conditions query.&lt;br /&gt;&lt;br /&gt;And this works well ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-8418150402865334514?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/8418150402865334514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=8418150402865334514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8418150402865334514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8418150402865334514'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2009/01/double-habtm-how-to.html' title='double HABTM how to?'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7277425483666499877</id><published>2009-01-05T04:45:00.000-08:00</published><updated>2009-01-05T04:48:26.610-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Comments</title><content type='html'>Dear readers!&lt;br /&gt;&lt;br /&gt;Blogspot have too non-usability UI for comment reading and answering.&lt;br /&gt;&lt;br /&gt;Yes. I read all your comments, but I remember - I saw some questions in your comments, but after "aprove" I cann't found comments ;-(&lt;br /&gt;&lt;br /&gt;If you have question - ask me in twitter: cakephp&lt;br /&gt;http://twitter.com/cakephp&lt;br /&gt;&lt;br /&gt;I'll try answer to all your question with my bad english ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7277425483666499877?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7277425483666499877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7277425483666499877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7277425483666499877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7277425483666499877'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2009/01/comments.html' title='Comments'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-4623395206644383084</id><published>2008-12-26T07:25:00.000-08:00</published><updated>2008-12-26T07:26:21.284-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CakePHP 1.2'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>CakePHP 1.2 Stable is finally released!</title><content type='html'>And now we have release ;-)&lt;br /&gt;&lt;br /&gt;Merry Christmas and happy New Year and happy CakePHP! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-4623395206644383084?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/4623395206644383084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=4623395206644383084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4623395206644383084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4623395206644383084'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/12/cakephp-12-stable-is-finally-released.html' title='CakePHP 1.2 Stable is finally released!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1515523303764033425</id><published>2008-12-05T11:11:00.000-08:00</published><updated>2008-12-05T11:14:55.519-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='aco'/><category scheme='http://www.blogger.com/atom/ns#' term='aro'/><category scheme='http://www.blogger.com/atom/ns#' term='auth'/><title type='text'>ACO\ARO - no problem!</title><content type='html'>Recently, I finished my first application using Auth (ACO \ ARO). It turned out it was not scared. &lt;br /&gt;&lt;br /&gt;It's simple, easy. &lt;br /&gt;&lt;br /&gt;However, there are nuances. First hand accounts add all of these controllers ACO / ARO. Secondly Auth after login does not want to understand the prefix admin, and I get to the admin / posts / main - no way out, only to / posts / main. I had to write an additional line in routes.php &lt;br /&gt;&lt;br /&gt;In general - I am happy. Very nice work. Faster and more convenient than dispose of around $ this-&gt; obAuth-&gt; check (...) &lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1515523303764033425?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1515523303764033425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1515523303764033425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1515523303764033425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1515523303764033425'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/12/acoaro-no-problem.html' title='ACO\ARO - no problem!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2825339086077410989</id><published>2008-11-27T13:42:00.000-08:00</published><updated>2008-11-27T13:43:15.620-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby on Rails'/><title type='text'>CakePHP vs RoR</title><content type='html'>Why you still with CakePHP? Why don't switch onto Ruby on Rails?&lt;br /&gt;&lt;br /&gt;Just interesting to know...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2825339086077410989?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2825339086077410989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2825339086077410989' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2825339086077410989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2825339086077410989'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/11/cakephp-vs-ror.html' title='CakePHP vs RoR'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-6467212426227691485</id><published>2008-11-23T12:09:00.001-08:00</published><updated>2008-11-23T12:09:59.749-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='acl howto'/><title type='text'>ACL ACO Howto...</title><content type='html'>Just do it few simple steps, and you haven't any more questions about ACL|ARO...&lt;br /&gt;&lt;br /&gt;http://book.cakephp.org/view/641/Simple-Acl-controlled-Application&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-6467212426227691485?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/6467212426227691485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=6467212426227691485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6467212426227691485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6467212426227691485'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/11/acl-aco-howto.html' title='ACL ACO Howto...'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-3376888365076027654</id><published>2008-11-20T13:22:00.000-08:00</published><updated>2008-11-20T13:24:41.815-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp source'/><title type='text'>CakeBook source</title><content type='html'>And now You can read and study on CakeBook (book.cakeforge.org) sources code ;-)&lt;br /&gt;&lt;br /&gt;http://thechaw.com/cakebook&lt;br /&gt;&lt;br /&gt;I'm going for popcorn ;-)&lt;br /&gt;&lt;br /&gt;You see? Guys work on CakeBook over 39 years! Starting in 1969... Nice hippy time.. Love drugs and rock'n'roll ;-)&lt;br /&gt;&lt;br /&gt;So it's funny, but really - very nice time to start learning how to write code RIGHT&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-3376888365076027654?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/3376888365076027654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=3376888365076027654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3376888365076027654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3376888365076027654'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/11/cakebook-source.html' title='CakeBook source'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-6682766049244191553</id><published>2008-11-18T03:06:00.000-08:00</published><updated>2008-11-18T03:08:35.447-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='global'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>PHP 2008</title><content type='html'>Asked to look and move the site, written by one system administrator. The site is written in php without a bare framework. &lt;br /&gt;&lt;br /&gt;What do you say friends? At the yard - in 2008, and within - solid global variables. &lt;br /&gt;&lt;br /&gt;And type: &lt;br /&gt;&lt;br /&gt;INSERT INTO ... ". $ _GET [" Param1 "] - and does, at every turn. &lt;br /&gt;&lt;br /&gt;As their site is not hacked so far - do not understand&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-6682766049244191553?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/6682766049244191553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=6682766049244191553' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6682766049244191553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6682766049244191553'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/11/php-2008.html' title='PHP 2008'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1328799296818171845</id><published>2008-11-02T07:00:00.000-08:00</published><updated>2008-11-02T07:01:10.678-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aco'/><category scheme='http://www.blogger.com/atom/ns#' term='acl'/><category scheme='http://www.blogger.com/atom/ns#' term='aro'/><title type='text'>ACL ACO ARO</title><content type='html'>Don't understand....&lt;br /&gt;&lt;br /&gt;Terrible things&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1328799296818171845?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1328799296818171845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1328799296818171845' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1328799296818171845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1328799296818171845'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/11/acl-aco-aro.html' title='ACL ACO ARO'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-3202171447706537510</id><published>2008-10-27T12:20:00.000-07:00</published><updated>2008-10-27T12:29:05.396-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='prodam-auto'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='project'/><category scheme='http://www.blogger.com/atom/ns#' term='site'/><title type='text'>Automobile project</title><content type='html'>Hi, friends! &lt;br /&gt;&lt;br /&gt;I was silent a long time, because it was a lot of work. Yes, despite the looming default in our country (I hope I am wrong). Like most of my friends, we work, work, work ... &lt;br /&gt;&lt;br /&gt;Now I want you to submit a site devoted to selling cars - &lt;a href="http://prodam-auto.com"&gt;prodam-auto.com&lt;/a&gt;. The site in Russian, so forgive me, the English-speaking friends (google will help you to understand that where and how). &lt;br /&gt;&lt;br /&gt;The site just completed its local run and fixing errors. Now going on alpha testing.&lt;br /&gt;&lt;br /&gt;I have already found a couple of points that I missed in the development of the site. Now I think whether it is a mistake, or feature ;-) &lt;br /&gt;&lt;br /&gt;Thanks to that tolerate me!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-3202171447706537510?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/3202171447706537510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=3202171447706537510' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3202171447706537510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3202171447706537510'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/10/hi-friends-i-was-silent-long-time.html' title='Automobile project'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-3512128048174092131</id><published>2008-10-09T00:33:00.000-07:00</published><updated>2008-10-09T00:34:24.095-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Twitter</title><content type='html'>I think the twitter is more useful than short message in blogger.com&lt;br /&gt;&lt;br /&gt;So, welcome to my twit: www.twitter.com/cakephp ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-3512128048174092131?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/3512128048174092131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=3512128048174092131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3512128048174092131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3512128048174092131'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/10/twitter.html' title='Twitter'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2784808361161943961</id><published>2008-09-10T01:27:00.000-07:00</published><updated>2008-09-10T01:48:44.419-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><category scheme='http://www.blogger.com/atom/ns#' term='chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Browsers</title><content type='html'>I went to see w3school statistics browsers… However, employment trend emerges. &lt;br /&gt;&lt;br /&gt;As this is still statistics, that is close to the "Rules on Water" does not look at absolute figures, but on the relative changes… &lt;br /&gt;&lt;br /&gt;2004, IE = 76.2% &lt;br /&gt;&lt;br /&gt;2005, IE = 68.9% Fx 23.6% &lt;br /&gt;&lt;br /&gt;In 2006 IE = 60.6% Fx 29.9% &lt;br /&gt;&lt;br /&gt;In 2007 IE = 57% Fx 36.3% &lt;br /&gt;&lt;br /&gt;2008, IE = 50.6% Fx 43.7% &lt;br /&gt;&lt;br /&gt;Even if there plus minus 5-10% in accuracy. The trend, nevertheless, to the person. And yet here, I think Google Chrome will make serious amendments to the statistics. &lt;br /&gt;&lt;br /&gt;According to statistics LiveInternet for September 1-7 at GC 0.6%, for 8-14 September (but today only 9 - e!) - 0.8% &lt;br /&gt;&lt;br /&gt;Less percent, is, of course drop in the ocean. But this is not two weeks have passed since the advent of the browser. All the more useful feature such as - creating web application - again, this is NOT FireFox from "unclear whom", and the great Google (!  That for companies and offices important), fast (as promised) processing Javascript that in my opinion it is not important, but arhivazhno, Google Chrome opportunity to establish normal user under Windows without resorting to the services administrator (not personally experimented, but overhear in podcasts). &lt;br /&gt;&lt;br /&gt;IE as I see it, CMS for the site can be targeted at Google Chrome (almost Safari), a company with more likely to agree to set Chrome (FF on - the refusal of nearly 100% - I do not know why). And fast work with JS - also can not fail to please users jquery / prototype and (especially) extjs.&lt;br /&gt;&lt;br /&gt;Honestly admit, I personally Google Chrome has not yet watched. Wait a formal assembly under poppy (Google shame!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2784808361161943961?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2784808361161943961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2784808361161943961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2784808361161943961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2784808361161943961'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/09/browsers.html' title='Browsers'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1904602093294194465</id><published>2008-09-05T04:03:00.000-07:00</published><updated>2008-09-05T04:06:06.983-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='customers'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Typical dialogue with the client</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Customer:&lt;/span&gt; Hello. I am here for you e-mail sent, with a list of sites which I like. Look. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Me:&lt;/span&gt; (I looked). Why do you sent me html? Why could not link? &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Customer&lt;/span&gt;: What is the difference? &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Me:&lt;/span&gt; There are. Okay. (Open html-file search for a direct link to the site. Open site) &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Customer&lt;/span&gt;: I decided that I did not write it like that do not like. I better explain in words. So will be faster. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Me:&lt;/span&gt; Do you think that I remember it all? &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Customer&lt;/span&gt;: Are you inscribe. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Me:&lt;/span&gt; 8-O (curtain)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1904602093294194465?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1904602093294194465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1904602093294194465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1904602093294194465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1904602093294194465'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/09/typical-dialogue-with-client.html' title='Typical dialogue with the client'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-8021079142754933307</id><published>2008-09-04T08:00:00.000-07:00</published><updated>2008-09-04T08:02:08.778-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='503'/><category scheme='http://www.blogger.com/atom/ns#' term='yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='pipes'/><title type='text'>Pipes.Yahoo 503 error</title><content type='html'>Recently I met to do a careful study yahoo pipes, as it turned out - something is broken, and pipes.yahoo do not work. Everywhere error 503. &lt;br /&gt;&lt;br /&gt;Even previously saved to open pipes is not possible. Judging by reports on the forum - a problem with the 7-8 morning. &lt;br /&gt;&lt;br /&gt;And I just encountered a problem that String.Translate module converts any field except the field content: encoded. And I just met to find out what the problem is - 503 :(&lt;br /&gt;&lt;br /&gt;Well then. Let's wait. Meanwhile, loans something more useful. For example CakePHP :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-8021079142754933307?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/8021079142754933307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=8021079142754933307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8021079142754933307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8021079142754933307'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/09/pipesyahoo-503-error.html' title='Pipes.Yahoo 503 error'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2376329689414300193</id><published>2008-09-03T10:20:00.000-07:00</published><updated>2008-09-03T10:23:25.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='helpers'/><category scheme='http://www.blogger.com/atom/ns#' term='CakePHP 1.2'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><title type='text'>dateTime bugs</title><content type='html'>Strange error in the helpers who is responsible for form:&lt;br /&gt;&lt;br /&gt;echo $ form-&gt; dateTime ( "Showtime", "DMY", 24, null, array ( "minYear" =&gt; 2008, "maxYear" =&gt; 2012, 'monthNames' =&gt; false, "interval" =&gt; 15) false);&lt;br /&gt;&lt;br /&gt;All right? Everything!&lt;br /&gt;&lt;br /&gt;However, in html see the following code:&lt;br /&gt;&lt;br /&gt;&lt; name="data[Showtime][Showtime][day]" id="ShowtimeShowtimeDay"&gt;&lt;br /&gt;&lt; value="01"&gt; 1&lt;br /&gt;...&lt;br /&gt;&lt; / select&gt; -&lt;br /&gt;&lt; name="data[Showtime][month]" id="ShowtimeMonth"&gt;&lt;br /&gt;&lt; value="01"&gt; 01&lt;br /&gt;&lt;br /&gt;Why do we have chosen day encoded twice Showtime? Other parameters are coded properly. If only not forget that in order to set the interval mode 24 hours a day, should be a bit sub-source code (ticket already established).&lt;br /&gt;&lt;br /&gt;We are talking about CakePHP 1.2 RC2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2376329689414300193?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2376329689414300193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2376329689414300193' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2376329689414300193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2376329689414300193'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/09/datetime-bugs.html' title='dateTime bugs'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2194163706985074925</id><published>2008-09-03T01:38:00.000-07:00</published><updated>2008-09-03T01:42:46.288-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poEdit'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='i18n'/><category scheme='http://www.blogger.com/atom/ns#' term='translate'/><category scheme='http://www.blogger.com/atom/ns#' term='MacOS'/><title type='text'>Multilingual project, i18n, poEdit - in CakePHP</title><content type='html'>&lt;div id="result_box" dir="ltr"&gt;PoEdit - excellent piece for the "transfer" in the draft texts. Installed - editor works, but there are features.&lt;br /&gt;&lt;br /&gt;First, poEdit unwanted collect data from catalogues CakePHP - reported that nothing was found.&lt;br /&gt;&lt;br /&gt;Secondly, while maintaining po / mo files - reported error (but not scared, the files still persist).&lt;br /&gt;&lt;br /&gt;The first had to deal means CakePHP:&lt;br /&gt;&lt;br /&gt;bash cake i18n - ask the location project, and the cake itself forms the pot file for poEdit.&lt;br /&gt;&lt;br /&gt;We are talking about poEdit for MacOS.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2194163706985074925?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2194163706985074925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2194163706985074925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2194163706985074925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2194163706985074925'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/09/multilingual-project-i18n-poedit-in.html' title='Multilingual project, i18n, poEdit - in CakePHP'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-8716808967130289907</id><published>2008-07-30T02:40:00.000-07:00</published><updated>2008-07-30T02:42:20.944-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CakePHP 1.2'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='1.2'/><title type='text'>CakePHP 1.1 is dead now</title><content type='html'>If you are new user of CakePHP, forget about CakePHP 1.1 (stable). Learn CakePHP 1.2. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Yes, it's just RC2, but very useful, nice working and stable ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CakePHP going to past... So long, pal...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-8716808967130289907?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/8716808967130289907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=8716808967130289907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8716808967130289907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8716808967130289907'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/cakephp-11-is-dead-now.html' title='CakePHP 1.1 is dead now'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-8058467991258706290</id><published>2008-07-17T06:46:00.000-07:00</published><updated>2008-07-17T06:52:00.016-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='access'/><category scheme='http://www.blogger.com/atom/ns#' term='ADSL'/><category scheme='http://www.blogger.com/atom/ns#' term='MacBook'/><category scheme='http://www.blogger.com/atom/ns#' term='Zyxel'/><category scheme='http://www.blogger.com/atom/ns#' term='setup'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='WiFi'/><title type='text'>Zyxel, MacBook &amp; WiFi troubles</title><content type='html'>As you know, I'm a happy owner a Apple Macbook. Also, for home mobile development ;-) I get Zyxel 660HTW2EE (ADSL modem + router + WiFi).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But my happy wasn't long ;-(&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;MacBook drop WiFi connection every 30-60 minutes (when WPA2-PSK). Or drop connect and Zyxel make could restart (!). And I have 3-5 minutes without Internet, without network (terrible! ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I'm switching into WPA-PSK mode, I get stable connection, Zyxel hasn't restarting. But speed is so slow ;-( max - 110KB/sec (It's 802.11g mode!) Terrible..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After reading a lot of forum/blog and manuals I switch off any WPA, and setup MAC-Filter for my MacBook. Now I have stable connect. STable working of Zyxel, stable Wifi in MacBook.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You may ask me - why you don't by AirPort from Apple? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have answer ;-) &lt;/div&gt;&lt;div&gt;Because AirPort doesn't have ADSL modem ;-( Yep. In my region we using ADSL internet. still... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, If you happy from your Zyxel &amp;amp; MacBook - switch off any WPA/WPA2 coding, setup Mac Filter and have fun with WiFi Internet on  your notebook...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-8058467991258706290?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/8058467991258706290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=8058467991258706290' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8058467991258706290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8058467991258706290'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/zyxel-macbook-wifi-troubles.html' title='Zyxel, MacBook &amp; WiFi troubles'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1856018824898275805</id><published>2008-07-14T06:24:00.000-07:00</published><updated>2008-07-14T06:32:44.617-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='bindModel'/><category scheme='http://www.blogger.com/atom/ns#' term='relation'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><title type='text'>Great thing : bindModel</title><content type='html'>At present moment a have a lot of free time for self improvement and I can learn CakePHP deeper and deeper, as it possible ;-)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In one of my project I have two table with simple relation&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Division (id, title) - hasMany Staff&lt;/div&gt;&lt;div&gt;Staff (id, division_id, name, jobtitle..)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So. Now I need to get some info like: I need to get all Staff where birthday today, and get result like:&lt;/div&gt;&lt;div&gt;Array (&lt;/div&gt;&lt;div&gt;   [0] =&gt; ["Division"] = Array ...&lt;/div&gt;&lt;div&gt;         =&gt; ["Staff"] = [0]&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;  [1] ...&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But I don't want (or cann't) rewrite model fore staff/division. So, What I must doing?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Of cause I must to use this wonderful thing - bindModel ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Look&lt;/div&gt;&lt;div&gt;&lt;br /&gt;   $this-&gt;Division-&gt;bindModel(array("hasMany" =&gt; array ("Staff" =&gt; array (&lt;br /&gt;    "conditions" =&gt; array ("MONTH (birthday) = " . $month, "DAY (birthday) = " . $day),&lt;br /&gt;    "fields" =&gt; array ("Staff.id,Staff.name"),&lt;br /&gt;    "order" =&gt; array("Staff.name" =&gt; "ASC")))));&lt;br /&gt;   $staff = $this-&gt;Division-&gt;find("all");&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, we can put in field "fields" something like this&lt;/div&gt;&lt;div&gt;"fields" =&gt; array ("COUNT (Staff.id) as count")&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And we have array with Division and numbers (count of staff with correct birthday)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Simple? yep. And in good cakephp tradition ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1856018824898275805?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1856018824898275805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1856018824898275805' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1856018824898275805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1856018824898275805'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/great-thing-bindmodel.html' title='Great thing : bindModel'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7441613104412109813</id><published>2008-07-10T12:50:00.000-07:00</published><updated>2008-07-10T12:55:22.265-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MAMP'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='socket'/><category scheme='http://www.blogger.com/atom/ns#' term='MacOS'/><title type='text'>MAMP &amp; cake (terminal)</title><content type='html'>YESS! I did it! ;-)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock &lt;/div&gt;&lt;div&gt;2. And 1 hour looking for bug, and found mistake in database.php&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After some experiments I put host =&gt; 127.0.0.1&lt;/div&gt;&lt;div&gt;And forget about it ;-)&lt;/div&gt;&lt;div&gt;Now all cool -&gt; host -&gt; localhost&lt;/div&gt;&lt;div&gt;And my cake bash baker work fine&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am happy! I am like unixman ;-))))&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7441613104412109813?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7441613104412109813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7441613104412109813' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7441613104412109813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7441613104412109813'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/mamp-cake-terminal.html' title='MAMP &amp; cake (terminal)'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-3787376522797895736</id><published>2008-07-10T00:20:00.000-07:00</published><updated>2008-07-10T09:46:57.330-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='bake'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='MacOS'/><title type='text'>Hm. Cake 1.2RC2 &amp; baker</title><content type='html'>It's very strange, but I cann't use this cake baker under MacOS ;-(&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If I starting terminal cake (from pack dmg) I can read only help and resume: Process completed. And could not put any symbol&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If I starting terminal, and go to my site directory and run:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;bash cake bake&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I can create "skeleton" of my web application in directory myapp. Now cake not want to use this subdir and I'm moving files into /cake/console/..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After this I type: bash cake bake&lt;/div&gt;&lt;div&gt;&amp;amp; setup database.php setup. Of couse, I know - this file has not mistakes (Yep, I'm copy database.php into site/app/config/ and read this "Cake is able to connect to database". So - My database setup is nice, and MySQL server work properly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So. I returning into cake/console, and run bash cake bake - for creating model. But, after I choose database config "default" (yep My database config is really calling default) I get 3 warning about impossible to connect to database throw sockets and get finally message about "database haven't any tables" but this is wrong! I have tables.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And of cause, I'm using MAMP&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Where is mistake? I don't know ;-(&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-3787376522797895736?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/3787376522797895736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=3787376522797895736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3787376522797895736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3787376522797895736'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/hm-cake-12rc2-baker.html' title='Hm. Cake 1.2RC2 &amp; baker'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1579207707391400913</id><published>2008-07-08T22:39:00.000-07:00</published><updated>2008-07-08T22:43:37.657-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='dmg'/><category scheme='http://www.blogger.com/atom/ns#' term='htaccess'/><category scheme='http://www.blogger.com/atom/ns#' term='MacOS'/><title type='text'>Cake...dmg &amp; .htaccess</title><content type='html'>After my switching into MacOS I'm start to use cakephp.dmg with latest version of this wonderful framework. But I found some troubles with use this image (dmg).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When MacOS mount cake.dmg you can drag &amp;amp; copy content of framework into your project. Easy? Of cause! But you cann't drag .htaccess from the root of the cakephp. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;May be it's a stupid problem, and after setup finder folder view you can move even invisible files, but I don't know how to made this. After all I'm install muCommander and copying this .htaccess file from mu. How to make this copy more easy?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Yes, .htaccess from /app/ &amp;amp; /app/webroot - copying to project without any problem.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1579207707391400913?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1579207707391400913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1579207707391400913' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1579207707391400913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1579207707391400913'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/cakedmg-htaccess.html' title='Cake...dmg &amp; .htaccess'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-5374777049227389093</id><published>2008-07-08T03:30:00.001-07:00</published><updated>2008-07-08T03:34:26.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lowcase'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='uppercase'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><title type='text'>Unix hosting</title><content type='html'>My pal (pal by ICQ ;-) broken mind about simple problem...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pre...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On localhost all work nice. Stable and fine. (Windows)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After uploading to unix hosting my pal get some troubles with error "Model not found", "Controller not found" etc...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But, of couse, file posts_controller.php, post.php are present in bot copies of site.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Decision: unix-style hosting known file Post.php and file post.php - it's really different file. Not same. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, if both copies of your site identical - don't forget to check filename uppercase &amp;amp; lowcase ;-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-5374777049227389093?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/5374777049227389093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=5374777049227389093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5374777049227389093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5374777049227389093'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/unix-hosting.html' title='Unix hosting'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-6512678146576278446</id><published>2008-07-03T23:58:00.000-07:00</published><updated>2008-07-04T00:01:46.584-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UFO'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='4 july'/><title type='text'>4 July</title><content type='html'>Independence Day! My congratulations to all citizens of USA ;-)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this day, please, be careful with UFO! As I know, only 4 july a lot of dangerous aliens attack USA and Earth!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Don't look at sky! Don't speak with unknown aliens! Don't enter in UFO!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-))))&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-6512678146576278446?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/6512678146576278446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=6512678146576278446' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6512678146576278446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6512678146576278446'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/4-july.html' title='4 July'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1301329685283713799</id><published>2008-07-02T23:11:00.000-07:00</published><updated>2008-07-02T23:16:14.320-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='textmate'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>Textmate vs CakePHP</title><content type='html'>Yes, I'm really happy with Textmate ;-)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After reading article &lt;a href="http://bakery.cakephp.org/articles/view/cakephp-for-textmate"&gt;"CakePHP for TextMate"&lt;/a&gt; I get SVN (universal pack), install SVN, then going and get CakePHP Bundle. And now, I can comfortable use tab triggers with CakePHP ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't use TextMate before, and et current time I don't understand, how to made autocomplited with function? I read manual, look at video-tutorial and don't know how ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;May be after 1-2 days I found easiest way to use this useful function, and write here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Netbeans - go to trash, you really monster for me (but good soft, of cause ;-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1301329685283713799?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1301329685283713799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1301329685283713799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1301329685283713799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1301329685283713799'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/textmate-vs-cakephp.html' title='Textmate vs CakePHP'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-9194453765229509419</id><published>2008-07-02T13:46:00.001-07:00</published><updated>2008-07-02T13:46:58.447-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='textmate'/><title type='text'>Textmate</title><content type='html'>I don't know it is my last word about IDE for CakePHP. But at present time I think - TextMate is best choice ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-9194453765229509419?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/9194453765229509419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=9194453765229509419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/9194453765229509419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/9194453765229509419'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/textmate.html' title='Textmate'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-732085698948678164</id><published>2008-07-01T07:33:00.000-07:00</published><updated>2008-07-01T07:38:21.675-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='MacBook'/><title type='text'>To be continue...</title><content type='html'>I had 4 comments at my &lt;a href="http://cake-php.blogspot.com/2008/06/ide-for-cakephp-os-x.html#comments"&gt;last pos&lt;/a&gt;t about selecting IDE for CakePHP ;-)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So. I trying:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;TextMate&lt;/div&gt;&lt;div&gt;NetBeans&lt;/div&gt;&lt;div&gt;Eclipse&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I not unix-man, and I have really problem with installing CakePHP Bundles for TextMate (strange SVN etc... ;)) I think I must start to learn this aspect of IT, for better productivity ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Really, I buy MacBook after 4 month of thinking about ;-) And my choice mac, because it's natural Drag-n-Drop &amp;amp; natural unix shell.... I have no problem with drag-drop, but have really problem with unix part of this beautiful OS.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks a lot, pal! And, I hope, I made right choice ;-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-732085698948678164?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/732085698948678164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=732085698948678164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/732085698948678164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/732085698948678164'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/07/to-be-continue.html' title='To be continue...'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-6506216844227050363</id><published>2008-06-30T23:46:00.000-07:00</published><updated>2008-06-30T23:48:27.598-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><title type='text'>IDE for CakePHP (OS X)</title><content type='html'>Hi to all!&lt;br /&gt;&lt;br /&gt;Can you help me to make choice between: TextMate &amp;amp; NetBeans?&lt;br /&gt;&lt;br /&gt;As I saw, it's tow nice IDE for developing in PHP (for Mac). But TextMate cost some money, and NB - weight like 91 Mb...&lt;br /&gt;&lt;br /&gt;What better? Help me to select ;-)&lt;br /&gt;&lt;br /&gt;How about autocomplite? Help (for class-function, and browsing through lib?)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-6506216844227050363?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/6506216844227050363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=6506216844227050363' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6506216844227050363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6506216844227050363'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/06/ide-for-cakephp-os-x.html' title='IDE for CakePHP (OS X)'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-4502865483335157335</id><published>2008-06-29T11:10:00.000-07:00</published><updated>2008-06-29T11:17:27.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='prototype'/><title type='text'>jQuery ft Prototype</title><content type='html'>It's really hard to choice. Easy (to me ;) in developing and understanding jQuery as AJAX/javascript framework. Or hard (as for me) but native Prototype.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I wrote my own function in AJAX/JS I use jQuery (of course). But when you'll start using AJAX with standart pagination (for example) - easy to use - prototype with ajax.helper....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now I seat and thinking about: may be start to study Prototype? Or start to write jquery.helper?  ;-)&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-4502865483335157335?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/4502865483335157335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=4502865483335157335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4502865483335157335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4502865483335157335'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/06/jquery-ft-prototype.html' title='jQuery ft Prototype'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2197334518893100894</id><published>2008-06-28T01:04:00.000-07:00</published><updated>2008-06-28T01:06:05.638-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><title type='text'>Cake 1.2 RC2</title><content type='html'>My congratulations to all community! ;-)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I very glad to use CakePHP ;) And I hope, that RC2 haven't bugs, and work faster than RC1 ;-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2197334518893100894?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2197334518893100894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2197334518893100894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2197334518893100894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2197334518893100894'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/06/cake-12-rc2.html' title='Cake 1.2 RC2'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-4365710604683696714</id><published>2008-06-25T22:40:00.000-07:00</published><updated>2008-06-25T22:46:53.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='filter'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='cake'/><title type='text'>Empty &amp; old Cake</title><content type='html'>Hi, pals!&lt;br /&gt;&lt;br /&gt;I have one old  project with cake 1.1. And, suddenly, I start to get a lot of "empty" message.&lt;br /&gt;&lt;br /&gt;So, it's look like this:&lt;br /&gt;&lt;br /&gt;site.com/ads/add&lt;br /&gt;&lt;br /&gt;Model have (all field) -&gt; VALID_NOT_EMPTY&lt;br /&gt;&lt;br /&gt;In controller, before $this-&gt;Ad-&gt;save() I made this:&lt;br /&gt;&lt;br /&gt;trim(...)&lt;br /&gt;strip_tags(...)&lt;br /&gt;And, even, I wrote:&lt;br /&gt;&lt;br /&gt;if ($this-&gt;data['Field'] == '') die;&lt;br /&gt;&lt;br /&gt;But... But after one-two day I can found in DB records with empty fields. ;(&lt;br /&gt;&lt;br /&gt;Of couse, I trying to add record with empty fields an cann't do it. Cake work fine, and return me to /ads/add with error "Field cannot be empty"&lt;br /&gt;&lt;br /&gt;But fields empty. I don't know, how spammers do it, but he do it fine ;-(&lt;br /&gt;&lt;br /&gt;After week of a lot attempts to fight with this I start use function afterSave ;-)&lt;br /&gt;&lt;br /&gt;So&lt;br /&gt;&lt;br /&gt;afterSave&lt;br /&gt;&lt;br /&gt;$id = $this-&gt;Model-&gt;GetId();&lt;br /&gt;$data  = $this-&gt;Model-&gt;read(null,$id);&lt;br /&gt;if ($data['Field'] == '') -&gt; $this-&gt;Model-&gt;del($id)&lt;br /&gt;&lt;br /&gt;After this I got only useful record in database.&lt;br /&gt;&lt;br /&gt;But, of couse, this decision is not so beauty ;-(&lt;br /&gt;&lt;br /&gt;If you know HOW this spammers do it - I'll be very happy if you tell me&lt;br /&gt;&lt;br /&gt;(Yes, I look apache logs and don't found anything strange)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-4365710604683696714?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/4365710604683696714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=4365710604683696714' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4365710604683696714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4365710604683696714'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/06/empty-old-cake.html' title='Empty &amp; old Cake'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-30339960167079723</id><published>2008-06-05T03:32:00.000-07:00</published><updated>2008-06-05T03:35:01.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tags'/><category scheme='http://www.blogger.com/atom/ns#' term='Post'/><title type='text'>Bug in posts_tags table</title><content type='html'>If you read my previous article about strange bugs in posts_tag table, you must to know, I found "error", and now all work stable.&lt;br /&gt;&lt;br /&gt;In Mysql table posts_tag, you must add column id (BIGINT, unique, autoincrease)&lt;br /&gt;So, at least you had:&lt;br /&gt;&lt;br /&gt;id BIGINT +&lt;br /&gt;post_id&lt;br /&gt;tag_id&lt;br /&gt;&lt;br /&gt;And, if you editing any posts (clearing tag, for example) - other posts don't clear in this table.&lt;br /&gt;&lt;br /&gt;Alliluja! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-30339960167079723?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/30339960167079723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=30339960167079723' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/30339960167079723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/30339960167079723'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/06/bug-in-poststags-table.html' title='Bug in posts_tags table'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2057857402566846602</id><published>2008-05-23T01:19:00.000-07:00</published><updated>2008-05-23T05:43:04.793-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='paginator'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='pagination'/><title type='text'>Paginator and multi language</title><content type='html'>Guys! I have real trouble with multi-languages site and&lt;br /&gt;&lt;br /&gt;echo $paginator-&gt;next(...)&lt;br /&gt;&lt;br /&gt;I made Routes like:&lt;br /&gt;&lt;br /&gt;/:lang/:controller/:action/*&lt;br /&gt;&lt;br /&gt;Nice? Nice!&lt;br /&gt;&lt;br /&gt;But paginator don't want made url like this ;-(&lt;br /&gt;Even in latest trunk version, when I made&lt;br /&gt;&lt;br /&gt;array ('url' =&gt; array ('lang' =&gt; 'uk'))...&lt;br /&gt;&lt;br /&gt;in parameters, I got:&lt;br /&gt;&lt;br /&gt;/controller/action/&lt;span style="font-weight: bold;"&gt;uk&lt;/span&gt;/...&lt;br /&gt;&lt;br /&gt;How I can get url like this:&lt;br /&gt;&lt;br /&gt;/&lt;span style="font-weight: bold;"&gt;uk/&lt;/span&gt;controller/action/... ??&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE&lt;/span&gt;: I found a lot useless Routes in my routes.php. Now all work nice ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2057857402566846602?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2057857402566846602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2057857402566846602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2057857402566846602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2057857402566846602'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/05/paginator-and-multi-language.html' title='Paginator and multi language'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7382627776863874845</id><published>2008-05-12T23:57:00.000-07:00</published><updated>2008-05-12T23:59:47.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tags'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><title type='text'>Tags cloud</title><content type='html'>I suddenly had problem with my posts_tag table.&lt;br /&gt;&lt;br /&gt;I don't know why, but yesterday I found this talbe empty. Not so empty, but table must have around 400-500 record. She has 27.&lt;br /&gt;&lt;br /&gt;Yep I recover this table from field Post['tags']&lt;br /&gt;&lt;br /&gt;But why this table was empty? I don't understand ;-(&lt;br /&gt;&lt;br /&gt;You have any idea?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7382627776863874845?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7382627776863874845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7382627776863874845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7382627776863874845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7382627776863874845'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/05/tags-cloud.html' title='Tags cloud'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-4137248395823914489</id><published>2008-03-28T02:47:00.000-07:00</published><updated>2008-03-28T02:56:28.524-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tags'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='behaviors'/><title type='text'>Tags, Tags cloud, behaviors etc...b</title><content type='html'>I am based my compilation of this useful stuff on &lt;a href="http://bakery.cakephp.org/articles/view/simple-tagging-behavior"&gt;This Article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But, &lt;span class="author"&gt;&lt;a href="http://bakery.cakephp.org/users/view/dooltaz"&gt;DW&lt;/a&gt; aka "dooltaz" made some mistakes in his code.&lt;br /&gt;&lt;br /&gt;First of all you need to created model &lt;/span&gt;post.php:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;VALID_NOT_EMPTY,&lt;br /&gt;              'email' =&gt; VALID_EMAIL,&lt;br /&gt;              'body' =&gt; VALID_NOT_EMPTY,&lt;br /&gt;      );&lt;br /&gt;   &lt;br /&gt;      var $actsAs = array('Tag'=&gt;array('table_label'=&gt;'tags', 'tags_label'=&gt;'tag', 'separator'=&gt;','));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      var $hasAndBelongsToMany = array('Tag' =&gt;&lt;br /&gt;                             array('className'    =&gt; 'Tag',&lt;br /&gt;                                   'joinTable'    =&gt; 'posts_tags',&lt;br /&gt;                                   'foreignKey'   =&gt; 'post_id',&lt;br /&gt;                                   'associationForeignKey'=&gt; 'tag_id',&lt;br /&gt;                                   'conditions'   =&gt; '',&lt;br /&gt;                                   'order'        =&gt; '',&lt;br /&gt;                                   'limit'        =&gt; '',&lt;br /&gt;                                   'unique'       =&gt; true,&lt;br /&gt;                                   'finderQuery'  =&gt; '',&lt;br /&gt;                                   'deleteQuery'  =&gt; '',&lt;br /&gt;                             )&lt;br /&gt;                             );&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;nest make posts_tag.php&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And the last tag.php&lt;br /&gt;&lt;br /&gt;array('className' =&gt; 'Post',&lt;br /&gt;                                              'joinTable' =&gt; 'posts_tags',&lt;br /&gt;                                              'foreignKey' =&gt; 'tag_id',&lt;br /&gt;                                              'associationForeignKey' =&gt; 'post_id',&lt;br /&gt;                                              'unique' =&gt; true,&lt;br /&gt;                                              'conditions' =&gt; '',&lt;br /&gt;                                              'fields' =&gt; '',&lt;br /&gt;                                              'order' =&gt; '',&lt;br /&gt;                                              'limit' =&gt; '',&lt;br /&gt;                                              'offset' =&gt; '',&lt;br /&gt;                                              'finderQuery' =&gt; '',&lt;br /&gt;                                              'deleteQuery' =&gt; '',&lt;br /&gt;                                              'insertQuery' =&gt; ''&lt;br /&gt;                      )&lt;br /&gt;      );&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;don't forget to create table in your MySQL database ;-)&lt;br /&gt;&lt;br /&gt;Model Post: posts must have fields:&lt;br /&gt;&lt;br /&gt;id (bigint)&lt;br /&gt;tags (text) - it's field need to HABTM working properly ;-))&lt;br /&gt;&lt;br /&gt;Model Tag: tags&lt;br /&gt;&lt;br /&gt;id (bigint)&lt;br /&gt;tag (text, or varchar 255)&lt;br /&gt;&lt;br /&gt;Join model posts_tags:&lt;br /&gt;&lt;br /&gt;post_id (bigint)&lt;br /&gt;tag_id (bigint)&lt;br /&gt;&lt;br /&gt;Ok? Ok!&lt;br /&gt;&lt;br /&gt;Now, if you use CakePHP 1.2.0.6311-beta, you'll need to make some things with /lib/model.php&lt;br /&gt;&lt;br /&gt;Look at &lt;a href="https://trac.cakephp.org/ticket/3814"&gt;track&lt;/a&gt; - ticket.&lt;br /&gt;&lt;br /&gt;Ok? Ok! In next post I told you how to make view cloud ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-4137248395823914489?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/4137248395823914489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=4137248395823914489' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4137248395823914489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4137248395823914489'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/03/tags-tags-cloud-behaviors-etcb.html' title='Tags, Tags cloud, behaviors etc...b'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2160334684627995332</id><published>2008-03-12T14:51:00.000-07:00</published><updated>2008-03-12T15:02:31.061-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='array'/><category scheme='http://www.blogger.com/atom/ns#' term='query'/><category scheme='http://www.blogger.com/atom/ns#' term='custom query'/><category scheme='http://www.blogger.com/atom/ns#' term='pagination'/><title type='text'>CakePHP 1.2: paginator and custom query</title><content type='html'>Hello everybody!&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;Today I'm broken my brain for making custom query in paginator ;-)&lt;br /&gt;&lt;br /&gt;So. Let's begining!&lt;br /&gt;&lt;br /&gt;I have two models (don't ask why ;-)&lt;br /&gt;&lt;br /&gt;Post: id, body, ...&lt;br /&gt;Answer: id, post_id, body ...&lt;br /&gt;&lt;br /&gt;What I need? I want to search for %query% in Answer.body and in Post.body.&lt;br /&gt;&lt;br /&gt;But!&lt;br /&gt;&lt;br /&gt;I want to get list only like this: site.com/posts/view/id&lt;br /&gt;&lt;br /&gt;Other words: if I found %query% in both body (Answer.body and Post.body) I don't need to get 2 url.  Only one.&lt;br /&gt;&lt;br /&gt;How to get it with SQL (MySQL)? It's so easy if you use DISTINCT in your query.&lt;br /&gt;&lt;br /&gt;But, after 2 hours with cofee and brainstorming... I made this code:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;$datas = $this-&gt;Post-&gt;findAll($query,"id");&lt;br /&gt;        foreach ($datas as $key =&gt; $value) {&lt;br /&gt;         $dat .= $value['Post']['id'] . " ";&lt;br /&gt;        }&lt;br /&gt;        $dat = explode (" ",$dat);&lt;br /&gt;        $dat = array_unique ($dat);&lt;br /&gt;        array_pop($dat);&lt;br /&gt;        $dat = implode(",",$dat);&lt;br /&gt;        $this-&gt;Post-&gt;recursive = -2;&lt;br /&gt;         $this-&gt;paginate = array ('limit' =&gt; '10','conditions' =&gt; 'Post.id IN ('. $dat .')', 'order' =&gt; 'Post.created DESC');&lt;br /&gt;&lt;br /&gt;Yes, it's not so good idea, but it's simple, it's work. And I think - Keep It Simple St... ;-)&lt;br /&gt;&lt;br /&gt;If you have better idea, I very glad to see your code!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2160334684627995332?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2160334684627995332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2160334684627995332' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2160334684627995332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2160334684627995332'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/03/cakephp-12-paginator-and-custom-query.html' title='CakePHP 1.2: paginator and custom query'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-8432768882374283157</id><published>2008-02-01T00:11:00.000-08:00</published><updated>2008-02-01T00:12:26.205-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='schema'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><title type='text'>Visualize your models</title><content type='html'>The article by &lt;a href="http://cakeexplorer.wordpress.com/"&gt;Cakeexplorer &lt;/a&gt;on a script to build an image of your db schema. I had been meaning to write such a script for some time, it was great to have it already ticked off the to-do list.&lt;br /&gt;&lt;br /&gt;More information &lt;a href="http://www.ad7six.com/MiBlog/VisualizeYourModels"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-8432768882374283157?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/8432768882374283157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=8432768882374283157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8432768882374283157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8432768882374283157'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/02/visualize-your-models.html' title='Visualize your models'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2350178317324209846</id><published>2008-02-01T00:09:00.000-08:00</published><updated>2008-02-01T00:10:35.099-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='baking'/><title type='text'>Baking plugin (cakephp 1.2)</title><content type='html'>Since CakePHP 1.2beta the bake script supports the generation of plug-ins. This feature is a bit hidden in the current version, as it is not mentioned when you call the help of the bake script:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;cake bake help&lt;br /&gt;&lt;br /&gt;Really interesting feature! ;-) You can find more useful information &lt;a href="http://cakebaker.42dh.com/2008/01/26/baking-plug-ins/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2350178317324209846?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2350178317324209846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2350178317324209846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2350178317324209846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2350178317324209846'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/02/baking-plugin-cakephp-12.html' title='Baking plugin (cakephp 1.2)'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1242498595790886087</id><published>2008-01-24T22:56:00.000-08:00</published><updated>2008-01-24T23:03:12.491-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostTask'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='startup'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>jQuery and cakephp startup</title><content type='html'>After a long work (from 16 sep) we need to wait some day to get new release of UI jQuery (as I read at jquery/blog) Waiting! Be patient! ;-)&lt;br /&gt;&lt;br /&gt;And you know who - start new cakephp startup - &lt;a href="http://www.posttask.com/"&gt;PostTask&lt;/a&gt; (forget about your time leak!)&lt;br /&gt;&lt;br /&gt;But at current moment site is not work ;( Yesterday I use them, but now...&lt;br /&gt;&lt;br /&gt;Waiting and look at this interesting project&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1242498595790886087?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1242498595790886087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1242498595790886087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1242498595790886087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1242498595790886087'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/jquery-and-cakephp-startup.html' title='jQuery and cakephp startup'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-5324928178431232231</id><published>2008-01-17T12:37:00.000-08:00</published><updated>2008-01-17T12:41:11.809-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='nicedit'/><title type='text'>Nicedit &amp; jQuery</title><content type='html'>I found some trouble when using Nicedit &amp;amp; jQuery together.&lt;br /&gt;&lt;blockquote&gt;&lt; ? if ($obAuth-&gt;lock(array(2)) != 1) : ? &gt;&lt;br /&gt;&lt;scr type="text/javascript" src="/blog/js/jquery.js"&gt;&lt;/scri pt&gt;&lt;br /&gt;&lt;scr&gt;&lt;br /&gt;$(document).ready(function() {&lt;br /&gt;  $("div.ppp a").not("[@href*=flomaster]").attr({ target : "_blank"});&lt;br /&gt;});&lt;br /&gt;&lt;/scr ipt&gt;&lt;br /&gt;&lt; ? endif; ? &gt;&lt;br /&gt;&lt; ? if ($obAuth-&gt;lock(array(2)) == 1) : ? &gt;&lt;br /&gt;&lt;scri src="/blog/js/nicEdit.js" type="text/javascript"&gt;&lt;/scri pt&gt;&lt;br /&gt;&lt;scri type="text/javascript"&gt;&lt;br /&gt;    bkLib.onDomLoaded(function() {&lt;br /&gt;        new nicEditor().panelInstance('PostBody');&lt;br /&gt;    });&lt;br /&gt;&lt;/scr ipt&gt;&lt;br /&gt;&lt; ? endif;? &gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;It's too late. But now it's work in my admin area. Only one be live (Highlander ;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-5324928178431232231?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/5324928178431232231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=5324928178431232231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5324928178431232231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5324928178431232231'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/nicedit-jquery.html' title='Nicedit &amp; jQuery'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2400207857485578670</id><published>2008-01-16T10:28:00.000-08:00</published><updated>2008-01-16T10:32:10.519-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nicedit'/><category scheme='http://www.blogger.com/atom/ns#' term='WYSIWYG'/><title type='text'>Nicedit - Nice editor</title><content type='html'>After some days, I trying to change in my own (personal) project - FCKEditor to small and fast &lt;a href="http://nicedit.com/"&gt;Nicedit&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And, I must told you... It's very nice editor.&lt;br /&gt;&lt;br /&gt;I like it. And I love them after 1 day of using ;-)&lt;br /&gt;&lt;br /&gt;Yep, some features I really need in this editor:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Table editor (insert, edit)&lt;/li&gt;&lt;li&gt;Image Browser (upload, insert, delete)&lt;/li&gt;&lt;/ul&gt;I think, that I could adoptate ibrowse (tinymce) to this editor. But question with table editor - is open...&lt;br /&gt;&lt;br /&gt;Yes, I understand... XXI century... Div... CSS... But my clients love and using table.&lt;br /&gt;What I can do? ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2400207857485578670?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2400207857485578670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2400207857485578670' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2400207857485578670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2400207857485578670'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/nicedit-nice-editor.html' title='Nicedit - Nice editor'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-5817605445606233164</id><published>2008-01-15T02:02:00.000-08:00</published><updated>2008-01-15T02:09:33.717-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>New jQuery 1.2.2: 300% speedup!</title><content type='html'>From jQuery Blog:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;On the 2nd anniversary of jQuery’s release we’re proud to bring you a &lt;a href="http://docs.jquery.com/Release:jQuery_1.2.2"&gt;brand new release&lt;/a&gt; of jQuery. This is primarily a bug fix release for &lt;a href="http://docs.jquery.com/Release:jQuery_1.2"&gt;jQuery 1.2&lt;/a&gt;. You can view the full list of what was fixed on the &lt;a href="http://dev.jquery.com/report/22"&gt;bug tracker&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt; Downloading &lt;/h2&gt; &lt;p&gt;&lt;b&gt;&lt;a href="http://docs.jquery.com/Release:jQuery_1.2.2"&gt;jQuery 1.2.2&lt;/a&gt;:&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.2.min.js"&gt;jQuery Minified&lt;/a&gt; (15kb with &lt;a href="http://www.julienlecomte.net/blog/2007/08/13/"&gt;Gzipping&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.2.pack.js"&gt;jQuery Packed&lt;/a&gt; (28kb)&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.2.js"&gt;jQuery Regular&lt;/a&gt; (93kb)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;As I see, now we have 28kb of js code... One year ago we had 16kb... And this fact was a great argument to choice this library for development. Now, after getting a lot of funs, jquery grows up ;-)&lt;br /&gt;&lt;br /&gt;Also, I didn't see a big problem in size. Year ago I had 512kb/128kb ADSL, now I have 1M/512kb in same price. Other guys (I think so) have speedup them Internet connection to. So, Long Live jQuery! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-5817605445606233164?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/5817605445606233164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=5817605445606233164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5817605445606233164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5817605445606233164'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/new-jquery-122-300-speedup.html' title='New jQuery 1.2.2: 300% speedup!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7162837668885645897</id><published>2008-01-11T12:35:00.000-08:00</published><updated>2008-01-11T12:37:55.456-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='fest'/><title type='text'>First CakePHP official gathering</title><content type='html'>&lt;a href="http://www.cakefest.org/"&gt;First CakePHP official gathering&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;February 6-8, 2008.&lt;br /&gt;&lt;br /&gt;&lt;div id="content"&gt;&lt;h2&gt;The Planned Festivities&lt;/h2&gt; &lt;div class="schedule"&gt;&lt;h3&gt;February 06, 2008&lt;/h3&gt;  &lt;ul&gt;&lt;li&gt;Listen to One&lt;/li&gt;&lt;li&gt;Hear some fantastic presentations&lt;/li&gt;&lt;li&gt;Eat food, be merry&lt;/li&gt;&lt;/ul&gt;  &lt;h3&gt;February 07, 2008&lt;/h3&gt;  &lt;ul&gt;&lt;li&gt;Listen to Another One&lt;/li&gt;&lt;li&gt;Hear some fantastic presentations&lt;/li&gt;&lt;li&gt;Eat more food, be merry&lt;/li&gt;&lt;/ul&gt;  &lt;h3&gt;February 08, 2008&lt;/h3&gt;  &lt;ul&gt;&lt;li&gt;Listen to the Final One&lt;/li&gt;&lt;li&gt;Hear some fantastic presentations&lt;/li&gt;&lt;li&gt;Eat food, be jolly&lt;/li&gt;&lt;/ul&gt; &lt;/div&gt;   &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Who is coming?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7162837668885645897?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7162837668885645897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7162837668885645897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7162837668885645897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7162837668885645897'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/first-cakephp-official-gathering.html' title='First CakePHP official gathering'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2524018582723751066</id><published>2008-01-10T22:39:00.000-08:00</published><updated>2008-01-10T22:42:36.933-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WYSIWYG'/><title type='text'>WYSIWYG Editors. Again</title><content type='html'>I'm so sorry for one more post about WYSIWYG's, but I found a power link with tonns of wysiwyg's ;-)&lt;br /&gt;&lt;br /&gt;For all projects, with any licenses. For everyone ;-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.htmlarea.com/directory/Web_Software_Components/WYSIWYG_Editors/"&gt;Look here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;;-) Have a nice choice!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2524018582723751066?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2524018582723751066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2524018582723751066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2524018582723751066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2524018582723751066'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/wysiwyg-editors-again.html' title='WYSIWYG Editors. Again'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-6338961194048448307</id><published>2008-01-09T04:59:00.000-08:00</published><updated>2008-01-09T05:04:20.579-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Server-side AJAX answer generator</title><content type='html'>At russian news-site habrahabr.ru, I found interesting jQueryPHP library, which help you generate correct AJAX-answers.&lt;br /&gt;&lt;br /&gt;Try and use. &lt;a href="http://jquery.hohli.com/"&gt;Link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Don't worry, all information at that pages in english ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-6338961194048448307?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/6338961194048448307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=6338961194048448307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6338961194048448307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6338961194048448307'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/server-side-ajax-answer-generator.html' title='Server-side AJAX answer generator'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7455264321188701482</id><published>2008-01-08T06:45:00.000-08:00</published><updated>2008-01-08T06:52:05.490-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xihna'/><category scheme='http://www.blogger.com/atom/ns#' term='TinyMCE'/><category scheme='http://www.blogger.com/atom/ns#' term='editor'/><category scheme='http://www.blogger.com/atom/ns#' term='SPAW'/><category scheme='http://www.blogger.com/atom/ns#' term='FCKEditor'/><category scheme='http://www.blogger.com/atom/ns#' term='WYSIWYG'/><title type='text'>WYSIWYG editor</title><content type='html'>Yes, I know. WYSIWYG - must die, and textpattern, textile - rules forever ;-)&lt;br /&gt;&lt;br /&gt;But how I can explain it to my clients? I have no idea ;-(&lt;br /&gt;&lt;br /&gt;Secretary, blondes doesn't understand style "**bold**". But drag-n-play - is rules for them.&lt;br /&gt;&lt;br /&gt;So, it's small catalog of WYSIWYG editor, which we can use in our project.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.fckeditor.net/"&gt;FCKEditor&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spaweditor.com/"&gt;SPAW editor&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://xinha.python-hosting.com/"&gt;Xihna&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My choice - FCKEDitor. It's large editor, but good license, Image/File browser - present.&lt;br /&gt;TinyMCE - non browser inluded. MCFileManager - 50 euro. But, TinyMCE good choice, if you want Copy-Paste table from MS Word. No bugs, no error.&lt;br /&gt;&lt;br /&gt;SPAW Editor - I don't like license and price. And, as I remember - Image/File browser absent.&lt;br /&gt;&lt;br /&gt;Xihna - Image browser present, but I don't see preview in Image browser dialog.&lt;br /&gt;&lt;br /&gt;Do you know some separated Image/File browser (free) who can be easy connecting with TinyMCE, or normal Word Copy-Paste plugin for FCKEditor?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7455264321188701482?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7455264321188701482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7455264321188701482' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7455264321188701482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7455264321188701482'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/wysiwyg-editor.html' title='WYSIWYG editor'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-4347988853113530463</id><published>2008-01-07T14:18:00.000-08:00</published><updated>2008-01-07T14:23:09.034-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='new year release'/><category scheme='http://www.blogger.com/atom/ns#' term='changelog'/><title type='text'>CakePHP Beta: 1.2.0.6311 changelog</title><content type='html'>Small addon to my &lt;a href="http://cake-php.blogspot.com/2008/01/cakephp-no-more-pre-beta-now-we-are.html#comments"&gt;pervious note&lt;/a&gt; - changelog CakePHP Beta 1.2.0.6311:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://trac.cakephp.org/wiki/changelog/1.2.x.x"&gt;Look here&lt;/a&gt; &lt;-&lt;br /&gt;&lt;br /&gt;Happy New Cake! ;-)&lt;br /&gt;&lt;br /&gt;And don't forget, it's BETA!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-4347988853113530463?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/4347988853113530463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=4347988853113530463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4347988853113530463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4347988853113530463'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/cakephp-beta-1206311-changelog.html' title='CakePHP Beta: 1.2.0.6311 changelog'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2948628690497665641</id><published>2008-01-07T06:21:00.000-08:00</published><updated>2008-01-07T06:24:25.959-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='new'/><category scheme='http://www.blogger.com/atom/ns#' term='beta'/><title type='text'>CakePHP: no more pre-beta. Now we are BETA!</title><content type='html'>It's very nice New Years gift: now, cakephp change status from pre-beta to beta:&lt;br /&gt;&lt;strong&gt;  &lt;a href="http://cakeforge.org/projects/cakephp/"&gt;Beta &lt;/a&gt;&lt;/strong&gt;&lt;a href="http://cakeforge.org/projects/cakephp/"&gt;1.2.0.6311-beta&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Of course, if you made your project, don't change pervious version to new. Make backup ;-)&lt;br /&gt;Don't forget about it!&lt;br /&gt;&lt;br /&gt;Happy new year! I hope, I'll write more in 2008, and more useful issues ;-)&lt;br /&gt;&lt;br /&gt;Happy New Year! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2948628690497665641?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2948628690497665641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2948628690497665641' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2948628690497665641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2948628690497665641'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2008/01/cakephp-no-more-pre-beta-now-we-are.html' title='CakePHP: no more pre-beta. Now we are BETA!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-6927500920795747609</id><published>2007-12-04T23:03:00.000-08:00</published><updated>2007-12-04T23:06:35.065-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='multiple'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='validation'/><title type='text'>Multiple rules of validation per field in CakePHP 1.2</title><content type='html'>Custom Validation and Multiple rules of validation per field in CakePHP 1.2&lt;br /&gt;&lt;br /&gt;It's really very useful information! A lot of time I thinking about: how to check size of field, NOT_EMPTY or something else.&lt;br /&gt;&lt;br /&gt;And now, at Bakery, I found articles: How to made custom validations ;-)&lt;br /&gt;&lt;br /&gt;Look here and use this great tip! &lt;a href="http://bakery.cakephp.org/articles/view/multiple-rules-of-validation-per-field-in-cakephp-1-2"&gt;Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-6927500920795747609?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/6927500920795747609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=6927500920795747609' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6927500920795747609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6927500920795747609'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/12/multiple-rules-of-validation-per-field.html' title='Multiple rules of validation per field in CakePHP 1.2'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1533301413093476275</id><published>2007-11-09T10:39:00.000-08:00</published><updated>2007-11-09T10:43:15.324-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='favicon'/><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='url'/><category scheme='http://www.blogger.com/atom/ns#' term='session'/><title type='text'>Session. Sessions... A lot of sessions</title><content type='html'>When I start "dressing" my engine into new design. I had a problem with session.&lt;br /&gt;Every load of any page giving a lot of session. 2-3-10-20... A lot of...&lt;br /&gt;&lt;br /&gt;I found two way, why It's happening:&lt;br /&gt;&lt;br /&gt;1. Don't forgot about favicon.ico (/app/webroot/favicon.ico)&lt;br /&gt;If this file absent, you have a troubles with session multiplying&lt;br /&gt;&lt;br /&gt;2. Check all path to your design images. Into your ctp, and (SIC!) into style css file. Like url (image/background.jpg)...&lt;br /&gt;&lt;br /&gt;I trying to teach my designer, but have fiasco with him ;-) Easy way - remake design code, then trying to teach designer ;-)&lt;br /&gt;&lt;br /&gt;Have a nice time ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1533301413093476275?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1533301413093476275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1533301413093476275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1533301413093476275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1533301413093476275'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/11/session-sessions-lot-of-sessions.html' title='Session. Sessions... A lot of sessions'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-9023601151643494673</id><published>2007-10-27T08:33:00.000-07:00</published><updated>2007-10-27T08:36:43.947-07:00</updated><title type='text'>Cake 1.2.5875 pre-beta some bug with saveField</title><content type='html'>I have some trouble with Model-&gt;saveField('title',$title);&lt;br /&gt;&lt;br /&gt;when I switch project to  Cake 1.2.5875 pre-beta, suddenly cake set to 0,null,'' all other fields in my table ;-(&lt;br /&gt;&lt;br /&gt;But daphonz say, how to fight with this bug:&lt;br /&gt;&lt;br /&gt;$saveData = array('Category'=&gt;array('id'=&gt;$category['ParentCategory']['id'],'options'=&gt;serialize($options)));&lt;br /&gt;&lt;br /&gt;$this-&gt;Image-&gt;Category-&gt;save($saveData,false,array('Category.options'));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Not so beauty, but it's work fine.&lt;br /&gt;&lt;br /&gt;Good luck, pals!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-9023601151643494673?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/9023601151643494673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=9023601151643494673' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/9023601151643494673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/9023601151643494673'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/10/cake-125875-pre-beta-some-bug-with.html' title='Cake 1.2.5875 pre-beta some bug with saveField'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-5398229223546542261</id><published>2007-10-22T22:13:00.000-07:00</published><updated>2007-10-22T22:18:10.579-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>CakePHP 1.2 pre beta</title><content type='html'>Hey-ya!&lt;br /&gt;&lt;br /&gt;Now, we all can made dance of fun, and go to &lt;a href="http://cakeforge.org/projects/cakephp/"&gt;cakeforge.org&lt;/a&gt; to get latest version of Cake:&lt;br /&gt;&lt;br /&gt;CakePHP 1.2.0.5875pre-beta&lt;br /&gt;CakePHP 1.1.18.5850&lt;br /&gt;&lt;br /&gt;yep! I', already download my favorite CakePHP 1.2! (Erh, I don't understand why you still using 1.1.* versions?)&lt;br /&gt;&lt;br /&gt;I hope, in new october version of 1.2 cake, I haven't problems with saving unique/non unique fields in MySQL...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-5398229223546542261?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/5398229223546542261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=5398229223546542261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5398229223546542261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5398229223546542261'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/10/cakephp-12-pre-beta.html' title='CakePHP 1.2 pre beta'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-3840730005576235897</id><published>2007-10-15T11:29:00.000-07:00</published><updated>2007-10-15T11:38:06.743-07:00</updated><title type='text'>List, JQuery &amp; CakePHP</title><content type='html'>In my work I will need a online change droplist.&lt;br /&gt;&lt;br /&gt;So. I have list of countries, and of course, every country have a lot of cities. And we don't need to put ALL tons of cities in our html code. What we must do?&lt;br /&gt;&lt;br /&gt;I don't work with prototype, I love jquery, and I wrote small code in jquery &amp;amp; cakephp.&lt;br /&gt;&lt;br /&gt;First, user select country, then script AJAX-working upload list of cities, and user can select needing city.&lt;br /&gt;&lt;br /&gt;How? Look my add.thtml (ctp):&lt;br /&gt;&lt;br /&gt;For country select:&lt;br /&gt;&lt;br /&gt;&lt;?php echo $html-&gt;selectTag('Realty/country_id', $country_list,null,null,null,true)?&gt;&lt;br /&gt;&lt;br /&gt;And city select:&lt;br /&gt;&lt;br /&gt;&lt;div id="sel_city"&gt;&lt;br /&gt;        &lt;?php echo $html-&gt;selectTag('Realty/city_id', $city_list,null,null,null,true)?&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ok?&lt;br /&gt;&lt;br /&gt;In top of add.thtml I wrote:&lt;br /&gt;&lt;br /&gt;$(document).ready(function() {&lt;br /&gt;    $("#attention").hide();&lt;br /&gt;    $("#RealtyCountryId").change( function () {&lt;br /&gt;    $("#sel_city").html("Please wait...");&lt;br /&gt;    $.get("/realties/sel_city", {id: $("#RealtyCountryId").val()}, function (data) { $("#sel_city").html(data)} );&lt;br /&gt;    $("#sel_city").show();&lt;br /&gt;    });&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;And, of course, in realties_controller I have sel_city function:&lt;br /&gt;&lt;br /&gt;        function sel_city()&lt;br /&gt;        {&lt;br /&gt;        $this-&gt;layout = null;&lt;br /&gt;        $id = intval($this-&gt;params['url']['id']);&lt;br /&gt;        if (! $id) exit;&lt;br /&gt;        $this-&gt;City-&gt;unbindModel(array('hasMany' =&gt; array('Realty'), 'belongsTo' =&gt; array('Country')));&lt;br /&gt;        $city_list = $this-&gt;City-&gt;generateList('country_id = ' . $id,'name ASC');&lt;br /&gt;        $this-&gt;set('city_list',$city_list);   &lt;br /&gt;        $this-&gt;render();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;Yep! ;-) Any questions? ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-3840730005576235897?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/3840730005576235897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=3840730005576235897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3840730005576235897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3840730005576235897'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/10/list-jquery-cakephp.html' title='List, JQuery &amp; CakePHP'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-8774757093762909958</id><published>2007-10-08T13:45:00.000-07:00</published><updated>2007-10-08T13:47:53.234-07:00</updated><title type='text'>Documentation for CakePHP 1.2</title><content type='html'>Yep! I got a link! ;-)&lt;br /&gt;&lt;br /&gt;Try this rapidshare-link for getting first version of &lt;a href="http://rapidshare.com/files/56159824/CAKEPHP.ZIP"&gt;CakePHP 1.2 documentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Like 60-70% of complete, but you can find here a lot of useful things ;-) I already read it manual, and hope,  you too found this documentation useful. Have a nace baking ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-8774757093762909958?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/8774757093762909958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=8774757093762909958' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8774757093762909958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/8774757093762909958'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/10/documentation-for-cakephp-12.html' title='Documentation for CakePHP 1.2'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-4906860376070822913</id><published>2007-09-25T02:43:00.000-07:00</published><updated>2007-09-25T02:50:39.293-07:00</updated><title type='text'>First steps from Wordpress to CakePHP</title><content type='html'>Felix Geisendörfer (aka the_undefined) in his own blog wrote about first step for migration from platform Wordpress to CakePHP.&lt;br /&gt;&lt;br /&gt;Of course, CakePHP engine doesn't exist right now, but, as I say, it's just first step in this direction.&lt;br /&gt;&lt;br /&gt;Planning about DB structure tables, and some migrations tools for cake console (1.2, of course! :)&lt;br /&gt;&lt;br /&gt;Oh. Forget give to you link to this wonderful article ;-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thinkingphp.org/2007/09/24/migrating-from-wordpress-to-cakephp/"&gt;Here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-4906860376070822913?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/4906860376070822913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=4906860376070822913' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4906860376070822913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/4906860376070822913'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/09/first-steps-from-wordpress-to-cakephp.html' title='First steps from Wordpress to CakePHP'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7606627144929493280</id><published>2007-09-06T11:13:00.000-07:00</published><updated>2007-09-06T11:17:21.999-07:00</updated><title type='text'>FrameWork mania</title><content type='html'>It's strange, but, when I trying to write code on PHP without my favorite CakePHP, I got my own Waterloo...&lt;br /&gt;&lt;br /&gt;I forget about _SESSION, how to work with him, how to cache, how to make simple SQL code...&lt;br /&gt;&lt;br /&gt;Wow...&lt;br /&gt;&lt;br /&gt;It's terrible!&lt;br /&gt;&lt;br /&gt;But... After 20 minutes of reminding I install N-th copy of CakePHP, and in 2 minutes wrote all needing code ;-)&lt;br /&gt;&lt;br /&gt;CakePHP is my FrameWork. (&amp; jQuery, of couse ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7606627144929493280?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7606627144929493280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7606627144929493280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7606627144929493280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7606627144929493280'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/09/framework-mania.html' title='FrameWork mania'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2839966875644982532</id><published>2007-09-04T11:19:00.000-07:00</published><updated>2007-09-04T11:23:45.914-07:00</updated><title type='text'>MySQL warning and CakePHP 1.2 error?</title><content type='html'>I wrote some code about adding users to MySQL Table.&lt;br /&gt;&lt;br /&gt;In my table present two unique fields: username &amp; email. Ok?&lt;br /&gt;&lt;br /&gt;Ok!&lt;br /&gt;&lt;br /&gt;It's code for adding user:&lt;br /&gt;&lt;br /&gt;if($this-&gt;User-&gt;save($this-&gt;data)) {&lt;br /&gt;                                $this-&gt;flash('All good','/login');&lt;br /&gt;                                $this-&gt;redirect(array('action'=&gt;'index'), null, true);&lt;br /&gt;                        } else {&lt;br /&gt;                                $this-&gt;data['User']['password'] = null;&lt;br /&gt;                                $this-&gt;Session-&gt;setFlash('All bad');&lt;br /&gt;                        }&lt;br /&gt;(of couse it's fragment!)&lt;br /&gt;&lt;br /&gt;So. When debug = 1. And I add user with already present in table username or email, I get&lt;br /&gt;&lt;br /&gt;1: SQL Error about key who must be unique&lt;br /&gt;2. I see message: All bad&lt;br /&gt;3. No new records in table.&lt;br /&gt;&lt;br /&gt;Now, switch debug level = 0&lt;br /&gt;&lt;br /&gt;1. We don't see SQL Error (fine!)&lt;br /&gt;2. We see message "All good"&lt;br /&gt;3. We have new record in table with NON unique email (or username)&lt;br /&gt;&lt;br /&gt;Who is wrong???&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2839966875644982532?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2839966875644982532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2839966875644982532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2839966875644982532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2839966875644982532'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/09/mysql-warning-and-cakephp-12-error.html' title='MySQL warning and CakePHP 1.2 error?'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-3835577936850844610</id><published>2007-09-03T14:04:00.000-07:00</published><updated>2007-09-03T14:10:47.137-07:00</updated><title type='text'>Password Reminder</title><content type='html'>I have some idea about "How To Remind Password".&lt;br /&gt;&lt;br /&gt;Firsd idea in: I don't want to store password in database. Only md5('pass').&lt;br /&gt;Second idea: I haven't time to programming scheme like: Forgot password? -&gt; Get e-mail with shortlifetime links -&gt; Go To url -&gt; Get new password in your mailbox Or Type in special fields.&lt;br /&gt;&lt;br /&gt;So. For my small, fast forum engine I use remindpassword from CheeseCake (PhotoBlog) ;-)&lt;br /&gt;for my user password. And. Yes, I bad boy ;), I had store user's password in DB ;-( Anyway admin password only in md5 ;-)&lt;br /&gt;&lt;br /&gt;It's not commercial site, project, and not so secure forum, so, next time, I promise, I'll write more secure password remind code ;-)&lt;br /&gt;&lt;br /&gt;But, I think, If cheesecake store admin pass in open-view i DB, why I cann't? ;-)))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-3835577936850844610?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/3835577936850844610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=3835577936850844610' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3835577936850844610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3835577936850844610'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/09/password-reminder.html' title='Password Reminder'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7373172584488133384</id><published>2007-08-31T00:47:00.000-07:00</published><updated>2007-08-31T00:50:25.790-07:00</updated><title type='text'>DBDesigner &amp; CakePHP</title><content type='html'>Cool man &lt;span class="fontsize2 author"&gt;   &lt;span style="color: rgb(0, 104, 28);"&gt;Dérico Filho&lt;/span&gt; (respect!)&lt;br /&gt;&lt;br /&gt;Wrote some usefule tips for DBDesigner 2 CakePHP&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;a target="_blank" rel="nofollow" href="http://www.cirello.org/dbdesigner2cake/download.html"&gt;http://www.cirello.org/dbdesigner2cake/download.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;and&lt;br /&gt;&lt;/p&gt;&lt;a target="_blank" rel="nofollow" href="http://cakeforge.org/frs/?group_id=162"&gt;http://cakeforge.org/frs/?group_id=162&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'm open  DBDesginer  2 weeks ago, and found this tool very useful for design relation in my DB.&lt;br /&gt;&lt;br /&gt;DBDesigner is free, so. If you don't see this tools - go and try it ;-)&lt;br /&gt;&lt;br /&gt;Google help you to find dbdesign, yes, I lose link ;-)&lt;span class="fontsize0" id="prof"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7373172584488133384?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7373172584488133384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7373172584488133384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7373172584488133384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7373172584488133384'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/08/dbdesigner-cakephp.html' title='DBDesigner &amp; CakePHP'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-3015317127489503535</id><published>2007-08-30T11:12:00.000-07:00</published><updated>2007-08-30T11:17:27.690-07:00</updated><title type='text'>Fields: created, modified in CakePHP 1.2</title><content type='html'>I had a troubles with automatic omplete this fields, when my script made $this-&gt;Model-&gt;save&lt;br /&gt;&lt;br /&gt;After 2 hours of brain storm, I come back to group.google.com/cake-php and found answer on my question - &lt;a href="https://trac.cakephp.org/ticket/2595"&gt;Ticket #2595&lt;/a&gt; ;-)&lt;br /&gt;&lt;br /&gt;But we can solve this problem ;-)&lt;br /&gt;&lt;br /&gt;All we need to do is convert default in MySQL:&lt;br /&gt;&lt;br /&gt;0000-00-00 00:00 - is wrong! And doesn't working!!!&lt;br /&gt;&lt;br /&gt;But&lt;br /&gt;&lt;br /&gt;Null - default. It's working fine!&lt;br /&gt;&lt;br /&gt;I'm change my table defaults parameters of this fields, and -&gt;save method working fine ;-)&lt;br /&gt;&lt;br /&gt;Wow! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-3015317127489503535?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/3015317127489503535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=3015317127489503535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3015317127489503535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3015317127489503535'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/08/fields-created-modified-in-cakephp-12.html' title='Fields: created, modified in CakePHP 1.2'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-3680576477496205216</id><published>2007-08-30T05:45:00.000-07:00</published><updated>2007-08-30T05:49:57.761-07:00</updated><title type='text'>Some interesting features in CakePHP 1.2</title><content type='html'>After changing 1.1 up to 1.2 version. A have a lot of question. Some answer I can find, some - no.&lt;br /&gt;&lt;br /&gt;Let's go...&lt;br /&gt;&lt;br /&gt;1. If you want to make validation in 1.2, You must write this:&lt;br /&gt;&lt;br /&gt;if ($this-&gt;&lt;a tiddlylink="YourModel-" refresh="link" class="tiddlyLink tiddlyLinkNonExisting" title="Записи 'YourModel-' не существует" href="javascript:;"&gt;YourModel-&lt;/a&gt;&gt;create($this-&gt;data) &amp;&amp;amp; $this-&gt;&lt;a tiddlylink="YourModel-" refresh="link" class="tiddlyLink tiddlyLinkNonExisting" title="Записи 'YourModel-' не существует" href="javascript:;"&gt;YourModel-&lt;/a&gt;&gt;validates()) { &lt;br /&gt;   &lt;em&gt; validation ok &lt;br /&gt;} else { &lt;br /&gt;   &lt;/em&gt; validation not ok &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. If you want to change default paginator in 1.2, you must define variable in your controller, like this:&lt;br /&gt;&lt;br /&gt;var $paginate = array('limit' =&gt; 10, 'page' =&gt; 1, 'conditions' =&gt; 'User.id &gt;= 2');&lt;br /&gt;&lt;br /&gt;3. If you have 0000-00-00 00:00 in your default-named fields: created/modifiead...&lt;br /&gt;&lt;br /&gt;I... I don't know what you must do ;-( Someone can help with this trouble?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-3680576477496205216?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/3680576477496205216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=3680576477496205216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3680576477496205216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/3680576477496205216'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/08/some-interesting-features-in-cakephp-12.html' title='Some interesting features in CakePHP 1.2'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-6007619876725357736</id><published>2007-08-27T02:59:00.000-07:00</published><updated>2007-08-27T03:01:28.865-07:00</updated><title type='text'>Vacation</title><content type='html'>I had a vacation ;-) 3 days at sea (Black Sea). Zatoka, near Odessa.&lt;br /&gt;We use one Ford Connect for 5 (one way) and 4 (other way). So. That's cost 10 USD for 2 man and 1200 km ;-)&lt;br /&gt;&lt;br /&gt;Weather is nice, sea is warm. Vacation is short ;-)))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-6007619876725357736?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/6007619876725357736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=6007619876725357736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6007619876725357736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6007619876725357736'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/08/vacation.html' title='Vacation'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7726254630053431729</id><published>2007-08-16T01:34:00.000-07:00</published><updated>2007-08-16T01:35:38.147-07:00</updated><title type='text'>I'm find my own bug. Again</title><content type='html'>Yep. CakePHP 1.2 has not this error...&lt;br /&gt;When I made Posts/Rubrics (M-V-C) and change routes to my post/index...&lt;br /&gt;No more blank page. All work done. Hmm...&lt;br /&gt;&lt;br /&gt;May be I need more time for dreaming? ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7726254630053431729?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7726254630053431729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7726254630053431729' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7726254630053431729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7726254630053431729'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/08/im-find-my-own-bug-again.html' title='I&apos;m find my own bug. Again'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-2600373906001279984</id><published>2007-08-15T07:04:00.000-07:00</published><updated>2007-08-15T07:08:36.344-07:00</updated><title type='text'>CakePHP 1.2 &amp; debug 0</title><content type='html'>Hmm... I got a real problem, and don't see decision.&lt;br /&gt;&lt;br /&gt;PHP4, MySQL, all directory is writeable.&lt;br /&gt;&lt;br /&gt;1.1 CakePHP (empty, only framework). Set debug 0 - no problem. I see normal "Hello page of CakePHP"&lt;br /&gt;&lt;br /&gt;1.2 CakePHP (empty, only framework). Set debug 0 - and get blank page... No data. No one byte.&lt;br /&gt;In choise debug 1 - I see "Hellopage", when switch to debug 0 - blank.&lt;br /&gt;&lt;br /&gt;Where is error? I don't understand... No one string of code... Where is bug???&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-2600373906001279984?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/2600373906001279984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=2600373906001279984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2600373906001279984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/2600373906001279984'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/08/cakephp-12-debug-0.html' title='CakePHP 1.2 &amp; debug 0'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-6256942483333342689</id><published>2007-08-14T10:39:00.000-07:00</published><updated>2007-08-14T10:44:08.193-07:00</updated><title type='text'>CakePHP 1.2 &amp; Auth</title><content type='html'>I trying to change my experience in CakePHP 1.1 into 1.2, and even find this useful article:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://realm3.com/articles/setting_up_users_groups_withacl_and_auth_in_cake_1.2.php"&gt;Setting Up User Groups With ACL/Auth in CakePHP 1.2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But.... I still don't understand how to I must work with all of this. I think I will use ob_auth (some modify for 1.2 version made by myself).&lt;br /&gt;&lt;br /&gt;Also I found some bug (?) in cake.bat (console).&lt;br /&gt;&lt;br /&gt;When I trying to: cake acl create aro ROOT ROOT&lt;br /&gt;&lt;br /&gt;I get: Unknown type aro&lt;br /&gt;&lt;br /&gt;But, If I use php 5, I have no error... So. May be My installation of PHP 4 is not so good for cake console? I don't know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-6256942483333342689?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/6256942483333342689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=6256942483333342689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6256942483333342689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/6256942483333342689'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/08/cakephp-12-auth.html' title='CakePHP 1.2 &amp; Auth'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7045876090058961574</id><published>2007-08-13T01:08:00.000-07:00</published><updated>2007-08-13T01:19:07.172-07:00</updated><title type='text'>ACL: user &amp; Groups in CakePHP 1.2 - it's easy</title><content type='html'>After a long searching in web, I found &lt;a href="http://realm3.com/articles/setting_up_users_groups_withacl_and_auth_in_cake_1.2.php"&gt;this page&lt;/a&gt;.&lt;br /&gt;All steps about user/group ACL/ACO in &lt;a href="http://cakeforge.org/"&gt;CakePHP&lt;/a&gt;.  From creating table to use this.&lt;br /&gt;Yes, You must know something about CakePHP, other way you can find this manual to hard for understanding.&lt;br /&gt;&lt;br /&gt;So, have a nice reading the article &lt;a href="http://realm3.com/articles/setting_up_users_groups_withacl_and_auth_in_cake_1.2.php"&gt;Setting Up User Groups With ACL/Auth in CakePHP 1.2&lt;/a&gt;&lt;br /&gt;And I'll learn it too. After, may be add some comments to this manual.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7045876090058961574?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7045876090058961574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7045876090058961574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7045876090058961574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7045876090058961574'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/08/acl-user-groups-in-cakephp-12-its-easy.html' title='ACL: user &amp; Groups in CakePHP 1.2 - it&apos;s easy'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1234009548942249221</id><published>2007-07-13T07:29:00.000-07:00</published><updated>2007-07-13T07:34:41.477-07:00</updated><title type='text'>I Find The Own Bug in Code</title><content type='html'>It's very strange, but it's still don't solve this problem.&lt;br /&gt;&lt;br /&gt;So. I have 3 copy of sites in my hosting (equal code, equal MySQL, etc).&lt;br /&gt;&lt;br /&gt;But present small difference...&lt;br /&gt;&lt;br /&gt;In two copies of code function $this-&gt;{$Model}-&gt;SetId($id); working properly...&lt;br /&gt;&lt;br /&gt;in one copy - doesn't.&lt;br /&gt;&lt;br /&gt;Why? I don't know. Version of CakePHP 1.15.... May be some bug in code? Unnecessary space, comma? I don't know.&lt;br /&gt;&lt;br /&gt;Full week I hunting for this bug ;-) And only I'm add "//" before SetId construction, I get normal working.&lt;br /&gt;&lt;br /&gt;(I mean bug was: empty records was adding to table, without any system or any conforming.&lt;br /&gt;&lt;br /&gt;Now code work (without SetId). Yep. Only one week ;-))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1234009548942249221?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1234009548942249221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1234009548942249221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1234009548942249221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1234009548942249221'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/07/i-find-own-bug-in-code.html' title='I Find The Own Bug in Code'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-9043163866925402672</id><published>2007-07-11T02:11:00.000-07:00</published><updated>2007-07-11T02:21:15.317-07:00</updated><title type='text'>Tools For CakePHP</title><content type='html'>It's a small post about my tools, what I use for development my site in CakePHP style.&lt;br /&gt;&lt;br /&gt;So. First of all about mu workplace: it's standart PC (born in 2004 year ;-) with Windows 2000 on board (yes, yes, I understand, but it's corporative style &amp; I cann't change anything ;(&lt;br /&gt;&lt;br /&gt;Editor: I use &lt;a href="http://notepad-plus.sourceforge.net/uk/site.htm"&gt;notepad++&lt;/a&gt;.  He is small, useful, freeware. Yep. He hasn't  a lot of feature. but if you write code on CakePHP framework, you must know - it's not necessary ;-)) Notepad++ is really useful tool in my comp.&lt;br /&gt;&lt;br /&gt;Development: I use &lt;a href="http://www.denwer.ru/base.html"&gt;Denver&lt;/a&gt;. It's small self-install package with PHP, MySQL &amp; apache. (doesn't work at Vista!). just 4-5 Mb, one-two clicks and I have useful local websites for coding, testing etc. Don't forget about proxy! ;-) If you made local site with same name like your real site, you will less a lot time, why understand: "I made change in code... Why it's not working???" like me ;-) Don't forget about it.&lt;br /&gt;&lt;br /&gt;And last. I use &lt;a href="www.farmanager.com"&gt;FAR manager&lt;/a&gt; for uploading/downloading. Yep it's not so beauty like standard windows application, but small &amp; useful. And free for people living in exUSSR ;-)&lt;br /&gt;&lt;br /&gt;Well.&lt;br /&gt;&lt;br /&gt;Ops! Yep, I am using chm version of CakePHP manual, PHP manual. But now CakePHP manual is too old for coding (but very nice for newbie and understanding "how it's works???").&lt;br /&gt;&lt;br /&gt;That's all! Have a nice coding &amp;amp; sorry again about my poor english&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-9043163866925402672?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/9043163866925402672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=9043163866925402672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/9043163866925402672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/9043163866925402672'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/07/tools-for-cakephp.html' title='Tools For CakePHP'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-7353392237345293013</id><published>2007-07-10T03:19:00.000-07:00</published><updated>2007-07-10T03:27:06.338-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='cake'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>News of CakePHP!</title><content type='html'>Hi to everyone!&lt;br /&gt;&lt;br /&gt;I'm so sorry for long time without any posts. But, I hope, from this time I will write pften ;-)&lt;br /&gt;&lt;br /&gt;So. If you don't visit &lt;a href="http://cakeforge.org"&gt;Official Site of CakePHP&lt;/a&gt; - do it now. And you can get fresh version of CakePHP ;-)&lt;br /&gt;&lt;br /&gt;I'm already get fresh 1.2 alpha, and reading in changes about next 1.2 will be BETA.&lt;br /&gt;&lt;br /&gt;I think - it's good time to start learning 1.2 version, because is too many differences between 1.1 &amp; 1.2 version, and when (I think about september/october) 1.2 version will have status: release, we had a lot knowledges about 1.2 and use them in full power.&lt;br /&gt;&lt;br /&gt;Well, I think next my posting will be oriented for newbie in Cake and newbie in 1.2 (like me ;-)))&lt;br /&gt;&lt;br /&gt;My last works in CakePHP use standard features, standard function. I understand, all around is Web 2.0, Web 3.0 etc. But my clients always say: "We want some new, difference from other" but, when our small web-company finishing project, they say "All good, but it's so unusual... Please make it like at site .... " ;-)&lt;br /&gt;&lt;br /&gt;Well, that's all, folks! I'm going to learn 1.2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-7353392237345293013?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/7353392237345293013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=7353392237345293013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7353392237345293013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/7353392237345293013'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/07/news-of-cakephp.html' title='News of CakePHP!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-5678277762353064969</id><published>2007-06-28T23:55:00.000-07:00</published><updated>2007-06-29T00:00:49.363-07:00</updated><title type='text'>Did AJAX At Work Now?</title><content type='html'>&lt;a href="http://www.thinkingphp.org/2007/06/27/simple-global-ajax-activity-indicator-with-jquery/"&gt;Original &gt;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think it's very simple and useful short script. Jquery + CakePHP or any PHP page.&lt;br /&gt;&lt;br /&gt;It's a AJAX Global Activity code:&lt;br /&gt;&lt;br /&gt;$&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;    var&lt;/span&gt; $headline = $&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'h1:first'&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt;;&lt;br /&gt;        $&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;document&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;ajaxSend&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;{&lt;br /&gt;&lt;/span&gt;            $headline&lt;br /&gt;                    .&lt;span style="color: rgb(0, 102, 0);"&gt;removeClass&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'activity'&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;br /&gt;&lt;/span&gt;                    .&lt;span style="color: rgb(0, 102, 0);"&gt;addClass&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'activity'&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;            }&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt;;&lt;br /&gt;        $&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;document&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;ajaxStop&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;{&lt;br /&gt;&lt;/span&gt;        $headline.&lt;span style="color: rgb(0, 102, 0);"&gt;removeClass&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'activity'&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;            }&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;}&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;So. When ANY AJAX activity - your 'activity'-class will be work;-) Easy ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-5678277762353064969?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/5678277762353064969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=5678277762353064969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5678277762353064969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5678277762353064969'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/06/did-ajax-at-work-now.html' title='Did AJAX At Work Now?'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-5785116868605714705</id><published>2007-06-24T02:00:00.000-07:00</published><updated>2007-06-24T02:03:00.905-07:00</updated><title type='text'>Ajax/jquery</title><content type='html'>So, I want to ask you about one thing:&lt;br /&gt;&lt;br /&gt;Did you interesting about: How To Use &lt;a href="http://jquery.com/"&gt;JQuery&lt;/a&gt; into your CakePHP project?&lt;br /&gt;&lt;br /&gt;I wrote some articles (in &lt;a href="http://ouch.kiev.ua/category/jquery"&gt;russian&lt;/a&gt;), but if you have interest, I can translate it into english.&lt;br /&gt;&lt;br /&gt;Please write in comments, if it's interesting for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-5785116868605714705?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/5785116868605714705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=5785116868605714705' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5785116868605714705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/5785116868605714705'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/06/ajaxjquery.html' title='Ajax/jquery'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-1484608772740412760</id><published>2007-03-23T02:24:00.000-07:00</published><updated>2007-03-23T02:38:45.305-07:00</updated><title type='text'>Yep!</title><content type='html'>Really nice day!&lt;br /&gt;&lt;br /&gt;I start new project - &lt;a href="http://easy-ajax.blogspot.com/"&gt;Easy-Ajax&lt;/a&gt;. You could find there a lot of useful links about Ajax, programming, and, I hope, useful info around cake PHP + ajax ;-)&lt;br /&gt;&lt;br /&gt;Have a nice programming! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-1484608772740412760?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/1484608772740412760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=1484608772740412760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1484608772740412760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/1484608772740412760'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2007/03/yep.html' title='Yep!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115925253875276399</id><published>2006-09-25T23:35:00.000-07:00</published><updated>2006-09-25T23:35:39.343-07:00</updated><title type='text'>New Feature: bindModel/unbindModel</title><content type='html'>&lt;h4&gt;&amp;nbsp;&lt;/h4&gt; &lt;p&gt;This feature allows you to bind or turn off associations on the fly, and will be available in the next release (RC6?) of CakePHP.  &lt;p&gt;Let us start with an unbindModel example. We have three models: User, Project and Supportrequest. A user has many projects and many support requests. If we do &lt;pre&gt;debug($this-&amp;gt;User-&amp;gt;findAll());&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;the output would be something like:&lt;pre&gt;Array&lt;br /&gt;(&lt;br /&gt;    [0] =&amp;gt; Array&lt;br /&gt;        (&lt;br /&gt;            [User] =&amp;gt; Array&lt;br /&gt;                (&lt;br /&gt;                    [id] =&amp;gt; 1&lt;br /&gt;                    [firstname] =&amp;gt; Daniel&lt;br /&gt;                    [lastname] =&amp;gt; Hofstetter&lt;br /&gt;                )&lt;br /&gt;           [Project] =&amp;gt; Array&lt;br /&gt;                (&lt;br /&gt;                    [0] =&amp;gt; Array&lt;br /&gt;                        (&lt;br /&gt;                            [id] =&amp;gt; 1&lt;br /&gt;                            [user_id] =&amp;gt; 1&lt;br /&gt;                            [name] =&amp;gt; project A&lt;br /&gt;                        )&lt;br /&gt;                )&lt;br /&gt;            [Supportrequest] =&amp;gt; Array&lt;br /&gt;                (&lt;br /&gt;                    [0] =&amp;gt; Array&lt;br /&gt;                        (&lt;br /&gt;                            [id] =&amp;gt; 1&lt;br /&gt;                            [user_id] =&amp;gt; 1&lt;br /&gt;                            [comment] =&amp;gt; a support request&lt;br /&gt;                        )&lt;br /&gt;                    [1] =&amp;gt; Array&lt;br /&gt;                        (&lt;br /&gt;                            [id] =&amp;gt; 2&lt;br /&gt;                            [user_id] =&amp;gt; 1&lt;br /&gt;                            [comment] =&amp;gt; another support request&lt;br /&gt;                        )&lt;br /&gt;                )&lt;br /&gt;        )&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Ok, but what if we are only interested in the users and the projects? Well, we could simply ignore the support requests. Or we could turn off the association to the support requests with unbindModel:&lt;pre&gt;$this-&amp;gt;User-&amp;gt;unbindModel(array('hasMany' =&amp;gt; array('Supportrequest')));&lt;br /&gt;debug($this-&amp;gt;User-&amp;gt;findAll());&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;That gives us the following output:&lt;pre&gt;Array&lt;br /&gt;(&lt;br /&gt;    [0] =&amp;gt; Array&lt;br /&gt;        (&lt;br /&gt;            [User] =&amp;gt; Array&lt;br /&gt;                (&lt;br /&gt;                    [id] =&amp;gt; 1&lt;br /&gt;                    [firstname] =&amp;gt; Daniel&lt;br /&gt;                    [lastname] =&amp;gt; Hofstetter&lt;br /&gt;                )&lt;br /&gt;           [Project] =&amp;gt; Array&lt;br /&gt;                (&lt;br /&gt;                    [0] =&amp;gt; Array&lt;br /&gt;                        (&lt;br /&gt;                            [id] =&amp;gt; 1&lt;br /&gt;                            [user_id] =&amp;gt; 1&lt;br /&gt;                            [name] =&amp;gt; project A&lt;br /&gt;                        )&lt;br /&gt;                )&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Notice: The associations are reset after each call to a find function.&lt;br /&gt;&lt;p&gt;Ok, that was the unbindModel example. Let us go to the bindModel example. That example will be a little bit artificial as I do not see a real use case for bindModel at the moment. Maybe you know one? Ok, we have two Models: User and Supportrequest. The model do not have any associations. If we do &lt;pre&gt;debug($this-&amp;gt;User-&amp;gt;findAll());&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;we get the following output:&lt;pre&gt;Array&lt;br /&gt;(&lt;br /&gt;    [0] =&amp;gt; Array&lt;br /&gt;        (&lt;br /&gt;            [User] =&amp;gt; Array&lt;br /&gt;                (&lt;br /&gt;                    [id] =&amp;gt; 1&lt;br /&gt;                    [firstname] =&amp;gt; Daniel&lt;br /&gt;                    [lastname] =&amp;gt; Hofstetter&lt;br /&gt;                )&lt;br /&gt;        )&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;For some reason we want to have a temporary “hasMany” association between user and support request. We define it in the following way using the usual &lt;a href="http://wiki.cakephp.org/docs:understanding_associations"&gt;association syntax&lt;/a&gt;:&lt;pre&gt;$this-&amp;gt;User-&amp;gt;bindModel(array('hasMany' =&amp;gt; array('Supportrequest' =&amp;gt;&lt;br /&gt;                             array('foreignKey' =&amp;gt; 'user_id'))));&lt;br /&gt;debug($this-&amp;gt;User-&amp;gt;findAll());&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;And that is the output:&lt;pre&gt;Array&lt;br /&gt;(&lt;br /&gt;    [0] =&amp;gt; Array&lt;br /&gt;        (&lt;br /&gt;            [User] =&amp;gt; Array&lt;br /&gt;                (&lt;br /&gt;                    [id] =&amp;gt; 1&lt;br /&gt;                    [firstname] =&amp;gt; Daniel&lt;br /&gt;                    [lastname] =&amp;gt; Hofstetter&lt;br /&gt;                )&lt;br /&gt;            [Supportrequest] =&amp;gt; Array&lt;br /&gt;                (&lt;br /&gt;                    [0] =&amp;gt; Array&lt;br /&gt;                        (&lt;br /&gt;                            [id] =&amp;gt; 1&lt;br /&gt;                            [user_id] =&amp;gt; 1&lt;br /&gt;                            [comment] =&amp;gt; a support request&lt;br /&gt;                        )&lt;br /&gt;                    [1] =&amp;gt; Array&lt;br /&gt;                        (&lt;br /&gt;                            [id] =&amp;gt; 2&lt;br /&gt;                            [user_id] =&amp;gt; 1&lt;br /&gt;                            [comment] =&amp;gt; another support request&lt;br /&gt;                        )&lt;br /&gt;                )&lt;br /&gt;        )&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;That’s it :) (&lt;a href="http://cakebaker.42dh.com/2006/02/22/new-feature-bindmodelunbindmodel/"&gt;original&lt;/a&gt;)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115925253875276399?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115925253875276399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115925253875276399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115925253875276399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115925253875276399'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/new-feature-bindmodelunbindmodel.html' title='New Feature: bindModel/unbindModel'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115861375208951344</id><published>2006-09-18T14:09:00.000-07:00</published><updated>2006-09-18T14:09:12.133-07:00</updated><title type='text'>21 Things You Must Know About CakePHP</title><content type='html'>&lt;a href="http://www.avatarfinancial.com/pages/cake/"&gt;Original &amp;gt;&amp;gt;&lt;/a&gt; &lt;h4&gt;Easily creating static pages&lt;/h4&gt; &lt;p&gt;I needed to create several pages that didn't use any models and contained static data inside the default layout. My first thought was to create a controller for these pages and define an action for each static page I needed. However, this solution seemed tedious and would make it difficult to quickly add new pages. Enter the pages controller - simply create a view inside the views/pages/ folder and it'll automatically be rendered in /pages. For example, if I created /views/pages/matt.thtml it would be accessible via http://www.example.com/pages/matt &lt;/p&gt; &lt;h4&gt;Static pages - Adjusting the page title &lt;/h4&gt; &lt;p&gt;If you're using the pages controller and you need to change the page title, add the following to your view: &lt;br&gt;&lt;code&gt;&amp;lt;? $this-&amp;gt;pageTitle = 'Title of your page.'; ?&amp;gt;&lt;/code&gt;&lt;/p&gt; &lt;h4&gt;Static pages - Adjusting other data sent to the layout&lt;/h4&gt; &lt;p&gt;If you need to send data to the layout (such as a variable indicating what section to highlight on the nav bar), add this to your view: &lt;p&gt;&lt;code&gt;&amp;lt;? $this-&amp;gt;_viewVars['somedata'] = array('some','data'); ?&amp;gt;&lt;/code&gt; &lt;p&gt;That array should then be accessible as $somedata inside your layout.  &lt;h4&gt;Creating a simple admin center&lt;/h4&gt; &lt;p&gt;If you need to create an administrative back-end for your CakePHP site and would like all the actions with administrative capabilities to exist under a specific folder, open up config/core.php and uncomment: &lt;br&gt;define('CAKE_ADMIN', 'admin');&lt;br&gt;This will then make all actions that are prefixed with "admin_" to be accessible via: &lt;br&gt;/admin/yourcontroller/youraction. For instance, if I created an action in my posts controller called "admin_add," I would access this via: www.example.com/admin/posts/add&lt;br&gt;From there I could simply password the admin folder to prohibit unwanted users from adding posts. &lt;/p&gt; &lt;h4&gt;Viewing the SQL queries that are running behind the scenes&lt;/h4&gt; &lt;p&gt;You can easily see the SQL queries that CakePHP is running by adjusting the DEBUG constant in config/core.php. 0 is production, 1 is development, 2 is full debug with SQL, and 3 is full debug with SQL and dump of the current object. I typically have debug set at 2, which renders a table at the bottom of the page that contains SQL debug information. &lt;br&gt;If rendering a table at the bottom of your site is constantly breaking your layout during development (especially if you're making AJAX calls and you're getting SQL inside your pages, not just the bottom), you can easily style this table to be hidden by adding this to your CSS: &lt;br&gt;&lt;code&gt;.cakeSqlLog { display: none; } &lt;/code&gt;&lt;br&gt;This will allow you to view debug information in the HTML source code without your layout getting mangled, just don't forget to set debug back to 0 when your site goes live. &lt;/p&gt; &lt;h4&gt;Multiple sources of documentation&lt;/h4&gt; &lt;p&gt;Don't just rely on the &lt;a href="http://manual.cakephp.org/"&gt;manual&lt;/a&gt;. The &lt;a href="http://wiki.cakephp.org/"&gt;wiki &lt;/a&gt;and the &lt;a href="http://api.cakephp.org/"&gt;API&lt;/a&gt; are invaluable sources of information. The &lt;a href="http://wiki.cakephp.org/tutorials"&gt;tutorials&lt;/a&gt; in the wiki are especially useful, and the API may be daunting at first, but you'll quickly find the information in there is crucial to building a site with CakePHP.  &lt;h4&gt;Using bake.php&lt;/h4&gt; &lt;p&gt;Bake is a command line PHP script that will automagically generate a model, controller, and views based on the design of your database. I highly recommend using &lt;a href="http://wiki.cakephp.org/tutorials:scaffolding_a_blog"&gt;scaffolding&lt;/a&gt; to get a prototype going of a table that may change a lot in the beginning. If you're fairly certain the data is not subject to any drastic change, I recommend using bake instead. With bake all the files are generated and written to disk and you can make modifications from there. It saves a lot of time doing the repetitive tasks such as creating associations, views, and the basic CRUD controller operations. &lt;br&gt;Using bake is really easy. Once you have a table(s) in your database created, change directories to the /cake/scripts/ folder and run: &lt;br&gt;&lt;code&gt;php bake.php&lt;/code&gt;&lt;br&gt;If you choose to bake interactively it'll walk you through the steps required to create your model, controller, and views. Once everything has been baked I usually go through all the generated code and make custom modifications as needed. &lt;/p&gt; &lt;h4&gt;Mind permissions when moving cake around&lt;/h4&gt; &lt;p&gt;When I changed from the development server to the live server I tarred up my entire cake directory and scp'd it to the new server. Immediately I started having an issue where any time the debug level was set to 0 (production mode), data would not be returned for certain database calls. This was a bit of a catch 22 since I needed to view debug information to troubleshoot the problem. &lt;br&gt;Someone in #cakephp kindly pointed out that permissions on the /app/tmp folder need to be writeable by apache. I changed the permissions to 777 and the issue went away. &lt;/p&gt; &lt;h4&gt;Complex model validation&lt;/h4&gt; &lt;p&gt;I needed to validate beyond just checking to make sure a field wasn't empty or it matched a regular expression. In particular, I needed a way to verify that the email address users registered with was unique. In the wiki I found this gem: &lt;a href="http://wiki.cakephp.org/tutorials:advanced_validation"&gt;this advanced validation tutorial&lt;/a&gt;, which covers some advanced methods of validation that were very useful.  &lt;h4&gt;Logging errors&lt;/h4&gt; &lt;p&gt;&lt;code&gt;$this-&amp;gt;log('Something broke'); &lt;/code&gt;&lt;br&gt;This will log your error to /tmp/logs/ (I initially made the mistake of thinking it would log it to the apache error log) &lt;/p&gt; &lt;h4&gt;Creating a controller that uses other models&lt;/h4&gt; &lt;p&gt;Suppose you have a controller that needs data from a bunch of different models, simply add this to the top of your controller: &lt;br&gt;&lt;code&gt;class yourController extends AppController &lt;br&gt;{&lt;br&gt;var $uses = array('Post','User'); &lt;br&gt;} &lt;/code&gt;&lt;br&gt;This controller would then have access to both the Post and the User model. &lt;/p&gt; &lt;h4&gt;Creating a model for a table that doesn't actually exist in the database&lt;/h4&gt; &lt;p&gt;I needed a way to create a model and controller without actually having an associated table in the database. I particularly wanted to make use of the $validate array so I could easily validate my fields and keep the validation logic in the model. CakePHP will throw an error if you create a model for a table that doesn't exist. Adding this to the model fixed the problem: &lt;br&gt;&lt;code&gt;var $useTable = false;&lt;/code&gt;&lt;br&gt;You can use this to change tables names as well. &lt;br&gt;&lt;code&gt;var $useTable = 'some_table';&lt;/code&gt;&lt;/p&gt; &lt;h4&gt;Call exit() after redirecting&lt;/h4&gt; &lt;p&gt;This should be no surprise to anyone who has done any serious web development in the past, but make sure you call exit() after running &lt;code&gt;$this-&amp;gt;redirect()&lt;/code&gt; if there's code afterward that you don't want to run. I've always done this in the past, but I made the assumption that &lt;code&gt;$this-&amp;gt;redirect()&lt;/code&gt; would make an exit call for me (which it didn't).  &lt;h4&gt;Advanced model functions&lt;/h4&gt; &lt;p&gt;Unless you delve in to the API, there are some very useful model functions at your disposal you might not know exist. I highly recommend reading over the &lt;a href="http://api.cakephp.org/class_model.html"&gt;Model Class Reference&lt;/a&gt; at least once. Here's a few key functions I wasn't aware of that I found to be very useful: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://api.cakephp.org/class_model.html#e8844b859626edc554946480046e395f"&gt;generateList()&lt;/a&gt; - I use this function primarily to populate select boxes with data from associated tables  &lt;li&gt;&lt;a href="http://api.cakephp.org/class_model.html#6489e2300b9002286e49d48f51004332"&gt;findBySql()&lt;/a&gt; - Sometimes you just need to write your own SQL  &lt;li&gt;&lt;a href="http://api.cakephp.org/class_model.html#0978aba07f5d196079d7518a99bcfa86"&gt;findCount()&lt;/a&gt; - Returns number of rows matching given SQL condition  &lt;li&gt;&lt;a href="http://api.cakephp.org/class_model.html#1bc86347df904da22e555b1f9aa78970"&gt;hasAny()&lt;/a&gt; - Returns true if a record that meets the given conditions exists. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Again, I highly recommend reading over the entire &lt;a href="http://api.cakephp.org/class_model.html"&gt;model class reference&lt;/a&gt;, you'll be surprised at what you learn. &lt;/p&gt; &lt;h4&gt;Inserting multiple rows in succession&lt;/h4&gt; &lt;p&gt;I had a situation where I needed to iterate through a list of items and insert new rows for each. I quickly discovered that if you insert an item and then immediately insert another, the item that is inserted next doesn't insert at all. Instead the previously inserted row was being updated. For example: &lt;br&gt;&lt;code&gt;$items = array('Item 1','Item 2','Item 3'); &lt;br&gt;foreach ($items as $item) { &lt;br&gt;&amp;nbsp;&amp;nbsp;$this-&amp;gt;Post-&amp;gt;save(array('Post' =&amp;gt; array('title' =&amp;gt; $item))); &lt;br&gt;}&lt;/code&gt;&lt;br&gt;This code will result in a single entry in the posts table: "item 3." CakePHP inserted "item 1", but then updates it to become "item 2," then "item 3" because $this-&amp;gt;Post-&amp;gt;id gets the value of the last inserted ID. Normally this functionality is very useful, but in this particular instance it was not. I found was to setting &lt;code&gt;$this-&amp;gt;Post-&amp;gt;id = false&lt;/code&gt; after each insert solved the problem. &lt;/p&gt; &lt;h4&gt;Inserting logic before or after controller functions&lt;/h4&gt; &lt;p&gt;Suppose you needed an array of colors to be available to every view rendered by your controller but you don't want to have to define this data in every action. Using the beforeRender() callback will allow you to do this: &lt;br&gt;&lt;code&gt;function beforeRender() {&lt;br&gt;&amp;nbsp;&amp;nbsp;$this-&amp;gt;set('colors',array('red','blue','green'); &lt;br&gt;}&lt;/code&gt;&lt;br&gt;This would make $colors accessible in every view rendered by that controller. &lt;a href="http://api.cakephp.org/class_controller.html#f556912271b8d7b4b34da2db8d9482ee"&gt;beforeRender()&lt;/a&gt; is called after the controller logic and just before a view is rendered. &lt;br&gt;There's also &lt;a href="http://api.cakephp.org/class_controller.html#e756a803e378b692480ba0ab107c9bee"&gt;beforeFilter()&lt;/a&gt; and &lt;a href="http://api.cakephp.org/class_controller.html#2413935136814586d9993b831639ee43"&gt;afterFilter()&lt;/a&gt;, which are called before and after every controller action. For more information, read up on callbacks in the &lt;a href="http://manual.cakephp.org/chapter/models"&gt;models section&lt;/a&gt; of the manual. &lt;/p&gt; &lt;h4&gt;Adding a &lt;acronym&gt;WYSIWYG&lt;/acronym&gt; editor to CakePHP&lt;/h4&gt; &lt;p&gt;I found &lt;a href="http://wiki.cakephp.org/tutorials:tinymce_with_cake"&gt;this great tutorial&lt;/a&gt; on getting TinyMCE set up with CakePHP. Basically you just link the tiny_mce .js file to your page and then add a small bit of init code to every page that you want textareas to be converted into TinyMCE editors.  &lt;h4&gt;Writing your own SQL for HABTM relationships&lt;/h4&gt; &lt;p&gt;I had an issue with trying to create a HABTM (has-and-belongs-to-many) relationship where I needed to specify my own SQL statement. According to the docs (at the time of this writing) you should set finderSql in your model, but according to the cakePHP source you should set &lt;strong&gt;finderQuery&lt;/strong&gt; instead. It's just a foul-up in the docs, but I figured it'd be worth noting to save others from having to figure it out for themselves. Trac ticket here: &lt;a href="https://trac.cakephp.org/ticket/1217"&gt;https://trac.cakephp.org/ticket/1217&lt;/a&gt; &lt;h4&gt;Sending email&lt;/h4&gt; &lt;p&gt;I found two tutorials in the wiki: &lt;a href="http://wiki.cakephp.org/tutorials:sending_email"&gt;Sending email&lt;/a&gt; and &lt;a href="http://wiki.cakephp.org/tutorials:sending_email_with_phpmailer"&gt;Sending email with PHPMailer&lt;/a&gt;&lt;br&gt;I highly recommend the latter of the two, sending emails with PHPMailer is more secure and there's less of a headache because you don't have to deal with constructing the mail headers yourself. &lt;/p&gt; &lt;h4&gt;Customizing HTML generated by the Helper&lt;/h4&gt; &lt;p&gt;I needed to change the default &lt;code&gt;&amp;lt;option&amp;gt;&lt;/code&gt; generated when I called &lt;code&gt;$html-&amp;gt;selectTag()&lt;/code&gt; to say something like "Please Select" rather than an empty space (default). I also wanted radio buttons to have labels so the user doesn't have to click exactly on the radio button itself but can instead click anywhere on the text associated with it. &lt;br&gt;Create the file /app/config/tags.ini.php and add the following:&lt;br&gt;&lt;code&gt;; Tag template for a input type='radio' tag.&lt;br&gt;radio = "&amp;lt;input type="radio" name="data[%s][%s]" id="%s" %s /&amp;gt;&amp;lt;label for="%3$s"&amp;gt;%s&amp;lt;/label&amp;gt;"&lt;br&gt;; Tag template for an empty select option tag.&lt;br&gt;selectempty = "&amp;lt;option value="" %s&amp;gt;-- Please Select --&amp;lt;/option&amp;gt;"&lt;/code&gt;&lt;br&gt;You can get a full list of available tags in /cake/config/tags.ini.php. I wouldn't recommend modifying that file, however, because you could lose your changes when you upgrade CakePHP. &lt;/p&gt; &lt;h4&gt;Creating a custom 404 error page&lt;/h4&gt; &lt;p&gt;If you need to change the page that users see when a document is not found, create:&lt;br&gt;/app/views/errors/error404.thtml &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115861375208951344?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115861375208951344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115861375208951344' title='48 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115861375208951344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115861375208951344'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/21-things-you-must-know-about-cakephp.html' title='21 Things You Must Know About CakePHP'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>48</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115852976149874570</id><published>2006-09-17T14:49:00.000-07:00</published><updated>2006-09-17T14:49:21.573-07:00</updated><title type='text'>Fixed Security Exploit</title><content type='html'>&lt;p&gt;&lt;a href="http://groups.google.com/group/cake-php/browse_thread/thread/ff36dd9621fdc7d8/#"&gt;Larry E. Masters aka PhpNut&lt;/a&gt;: &lt;/p&gt; &lt;p&gt;There was an security exploit brought to my attention today. I have fixed this exploit in the trunk and branched versions. Please replace the&amp;nbsp; app/webroot/js/vendors.php with this file. &lt;/p&gt; &lt;p&gt;&lt;a href="https://trac.cakephp.org/browser/trunk/cake/1.x.x.x/app/webroot/js/vendors.php?format=txt"&gt;https://trac.cakephp.org/browser/trunk/cake/1.x.x.x/app/webroot/js/ve...&lt;/a&gt; &lt;p&gt;This exploit is important to correct since it would allow reading files outside of the vendors/javascript directory when magic_quotes_gpc = Off.  &lt;p&gt;And I put this file here: &lt;p&gt;&amp;lt;?php&lt;br&gt;/* SVN FILE: $Id$ */&lt;br&gt;/**&lt;br&gt;* Short description for file.&lt;br&gt;*&lt;br&gt;* This file includes js vendor-files from /vendor/ directory if they need to&lt;br&gt;* be accessible to the public.&lt;br&gt;*&lt;br&gt;* PHP versions 4 and 5&lt;br&gt;*&lt;br&gt;* CakePHP : Rapid Development Framework &amp;lt;&lt;a href="http://www.cakephp.org/"&gt;http://www.cakephp.org/&lt;/a&gt;&amp;gt;&lt;br&gt;* Copyright (c) 2006, Cake Software Foundation, Inc.&lt;br&gt;* 1785 E. Sahara Avenue, Suite 490-204&lt;br&gt;* Las Vegas, Nevada 89104&lt;br&gt;*&lt;br&gt;* Licensed under The MIT License&lt;br&gt;* Redistributions of files must retain the above copyright notice.&lt;br&gt;*&lt;br&gt;* @filesource&lt;br&gt;* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.&lt;br&gt;* @link &lt;a href="http://www.cakefoundation.org/projects/info/cakephp"&gt;http://www.cakefoundation.org/projects/info/cakephp&lt;/a&gt; CakePHP Project&lt;br&gt;* @package cake&lt;br&gt;* @subpackage cake.app.webroot.js&lt;br&gt;* @since CakePHP v 0.2.9&lt;br&gt;* @version $Revision$&lt;br&gt;* @modifiedby $LastChangedBy$&lt;br&gt;* @lastmodified $Date$&lt;br&gt;* @license &lt;a href="http://www.opensource.org/licenses/mit-license.php"&gt;http://www.opensource.org/licenses/mit-license.php&lt;/a&gt; The MIT License&lt;br&gt;*/&lt;br&gt;/**&lt;br&gt;* Enter description here...&lt;br&gt;*/&lt;br&gt;$file = $_GET['file'];&lt;br&gt;$pos = strpos($file, '..');&lt;br&gt;if ($pos === false) {&lt;br&gt;if(is_file('../../vendors/javascript/'.$file) &amp;amp;&amp;amp; (preg_match('/(\/.+)\\.js/', $file)))&lt;br&gt;{&lt;br&gt;readfile('../../vendors/javascript/'.$file);&lt;br&gt;}&lt;br&gt;} else {&lt;br&gt;header('HTTP/1.1 404 Not Found');&lt;br&gt;}&lt;br&gt;?&amp;gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115852976149874570?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115852976149874570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115852976149874570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115852976149874570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115852976149874570'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/fixed-security-exploit.html' title='Fixed Security Exploit'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115840404880236295</id><published>2006-09-16T03:54:00.000-07:00</published><updated>2006-09-16T03:54:26.153-07:00</updated><title type='text'>Easy Way To Upload Files Up To Your Server</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;The easyest answer to question: "How to I can upload files to server?" Is - File Handler Component, written by Chris Partridge. &lt;p&gt;(You can find fresh version of this component at &lt;a href="http://cakeforge.org/snippet/"&gt;Code Snippet&lt;/a&gt;) &lt;p&gt;Just one moment! Do not use  &lt;p&gt;$html-&amp;gt;file ('UserFile'); &lt;p&gt;Because construction &lt;p&gt;$_FILES['data[User][File]'] doesn't work (PHP 4.1.* at least). &lt;p&gt;So use standart html code: &lt;p&gt;&amp;lt;input type="file" name="userfile"&amp;gt; &lt;p&gt;Then &lt;p&gt;$this-&amp;gt;filehandler-&amp;gt;upload('userfile','dir'); &lt;p&gt;Remember, You must creating directory at your webroot ;-) &lt;p&gt;With 777 access ;-) &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;lt;?php  &lt;p&gt;/***************************&lt;br&gt;* File Handler Component&lt;br&gt;*************************** &lt;br&gt;* Author: Chris Partridge&lt;br&gt;* License: MIT&lt;br&gt;* Release Date: 09/03/2006&lt;br&gt;* Version: 1.0&lt;br&gt;* Revision: 2&lt;br&gt;*&lt;br&gt;* Description: This class is designed to be extended for&lt;br&gt;* a specific purpouse. However, it can act &lt;br&gt;* as a file repository component "out of the box".&lt;br&gt;***************************/ &lt;br&gt;class FileHandlerComponent extends Object&lt;br&gt;{&lt;br&gt;/*&lt;br&gt;Probably the most important variable, this determines how the&lt;br&gt;file is handled within the component.&lt;br&gt;There are two options, db and array.&lt;br&gt;db: &lt;br&gt;This will use the dbModel and dbFields variables to save the &lt;br&gt;file data to the database. When getLastUploadInfo() is requested, &lt;br&gt;it will return the id aswell as all the other information. &lt;br&gt;A specific table and model need to be created for this to work.&lt;br&gt;When saved, it will be placed in $dir/$file_id/$filename &lt;br&gt;(e.g 'files/25/some_file.zip')&lt;br&gt;array:&lt;br&gt;This will take the uploaded file and store it. When getLastUploadInfo()&lt;br&gt;is run, it will return all information related to the file.&lt;br&gt;The information will be returned in the format of the dbFields array.&lt;br&gt;The unique directory name will be appended to the dir variable.&lt;br&gt;When saved, it will be placed in $dir/$unique_id/$filename &lt;br&gt;(e.g 'files/a438sdu4s/some_file.zip')&lt;br&gt;If you wish to save information about array uploads, you must&lt;br&gt;do so manually with the return data from getLastUploadInfo()&lt;br&gt;*/&lt;br&gt;var $handlerType = 'array'; &lt;br&gt;/*&lt;br&gt;You can specify a different model to store the file &lt;br&gt;upload information. You need to create the correct model&lt;br&gt;file and database table for this to work correctly.&lt;br&gt;*/&lt;br&gt;var $dbModel = 'FileUpload';&lt;br&gt;/*&lt;br&gt;You can modify the array key values below, if you&lt;br&gt;want/have to change the field names in your database.&lt;br&gt;*/&lt;br&gt;var $dbFields = array( 'dir' =&amp;gt; 'dir', // The directory the file was uploaded to&lt;br&gt;'file_name' =&amp;gt; 'file_name', // The file name it was saved with&lt;br&gt;'mime_type' =&amp;gt; 'mime_type', // The mime type of the file&lt;br&gt;'file_size' =&amp;gt; 'file_size', // The size of the file&lt;br&gt;);&lt;br&gt;/*&lt;br&gt;This array stores all allowed mime types, a mime type&lt;br&gt;determines the type of file.&lt;br&gt;The specified mime types below should be safe for uploads,&lt;br&gt;however the compressed formats could be a touch unsafe.&lt;br&gt;*/ &lt;br&gt;var $allowedMime = array( 'image/jpeg', // images&lt;br&gt;'image/pjpeg', &lt;br&gt;'image/png', &lt;br&gt;'image/gif', &lt;br&gt;'image/tiff', &lt;br&gt;'image/x-tiff', &lt;br&gt;'application/pdf', // pdf&lt;br&gt;'application/x-pdf', &lt;br&gt;'application/acrobat', &lt;br&gt;'text/pdf',&lt;br&gt;'text/x-pdf', &lt;br&gt;'text/plain', // text&lt;br&gt;'application/msword', // word&lt;br&gt;'application/mspowerpoint', // powerpoint&lt;br&gt;'application/powerpoint',&lt;br&gt;'application/vnd.ms-powerpoint',&lt;br&gt;'application/x-mspowerpoint',&lt;br&gt;'application/x-msexcel', // excel&lt;br&gt;'application/excel',&lt;br&gt;'application/x-excel',&lt;br&gt;'application/x-compressed', // compressed files&lt;br&gt;'application/x-zip-compressed',&lt;br&gt;'application/zip',&lt;br&gt;'multipart/x-zip',&lt;br&gt;'application/x-tar',&lt;br&gt;'application/x-compressed',&lt;br&gt;'application/x-gzip',&lt;br&gt;'application/x-gzip',&lt;br&gt;'multipart/x-gzip'&lt;br&gt;);&lt;br&gt;/*&lt;br&gt;This variable stores the maximum allowed file&lt;br&gt;size(in kilobytes) for uploaded files.&lt;br&gt;Please note that this can also be limited on the form&lt;br&gt;and by php itself. Default is 3584(3.5 MB).&lt;br&gt;*/&lt;br&gt;var $maxFileSize = 3584;&lt;br&gt;/*&lt;br&gt;These variables are used to store information about&lt;br&gt;errors or/information that needs to be stored while &lt;br&gt;using this component.&lt;br&gt;Do not modify these.&lt;br&gt;*/&lt;br&gt;var $errorMessage = null;&lt;br&gt;var $isError = false;&lt;br&gt;var $lastUploadData;&lt;br&gt;/*&lt;br&gt;__construct&lt;br&gt;Initiates the database model&lt;br&gt;and runs the parent constructor.&lt;br&gt;*/&lt;br&gt;function __construct()&lt;br&gt;{&lt;br&gt;if(!in_array($this-&amp;gt;handlerType, array('db','array')))&lt;br&gt;{&lt;br&gt;$this-&amp;gt;setError('The specified handler type is invalid.');&lt;br&gt;}&lt;br&gt;if($this-&amp;gt;handlerType == 'db')&lt;br&gt;{&lt;br&gt;if(!class_exists($this-&amp;gt;dbModel))&lt;br&gt;{&lt;br&gt;$this-&amp;gt;setError('The specified database model does not exist.');&lt;br&gt;}&lt;br&gt;$this-&amp;gt;{$this-&amp;gt;dbModel} = &amp;amp;new $this-&amp;gt;dbModel;&lt;br&gt;if(!is_subclass_of($this-&amp;gt;{$this-&amp;gt;dbModel}, 'AppModel'))&lt;br&gt;{&lt;br&gt;unset($this-&amp;gt;{$this-&amp;gt;dbModel});&lt;br&gt;$this-&amp;gt;setError('The specified database model is not a cake database model.');&lt;br&gt;}&lt;br&gt;}&lt;br&gt;parent::__construct();&lt;br&gt;}  &lt;p&gt;/*&lt;br&gt;getLastFileId&lt;br&gt;Returns the id of the last &lt;br&gt;uploaded file if using db&lt;br&gt;handler type.&lt;br&gt;*/&lt;br&gt;function getLastUploadInfo()&lt;br&gt;{&lt;br&gt;if(!is_array($this-&amp;gt;lastUploadData))&lt;br&gt;{&lt;br&gt;$this-&amp;gt;setError('No upload detected.');&lt;br&gt;}&lt;br&gt;else&lt;br&gt;{&lt;br&gt;return $this-&amp;gt;lastUploadData;&lt;br&gt;}&lt;br&gt;}&lt;br&gt;function getMime($file)&lt;br&gt;{&lt;br&gt;if (!function_exists('mime_content_type'))&lt;br&gt;{&lt;br&gt;return system(trim('file -bi ' . escapeshellarg ($file)));&lt;br&gt;}&lt;br&gt;else&lt;br&gt;{&lt;br&gt;return mime_content_type($file);&lt;br&gt;}&lt;br&gt;}  &lt;p&gt;/* &lt;br&gt;upload&lt;br&gt;Passed a form field and dir,&lt;br&gt;the class will check and attempt&lt;br&gt;to upload the file.&lt;br&gt;If uploaded, the details are stored&lt;br&gt;and the id is returned.&lt;br&gt;*/&lt;br&gt;function upload($field, $dir)&lt;br&gt;{&lt;br&gt;// Check that the two method variables are set&lt;br&gt;if(empty($field) || empty($dir))&lt;br&gt;{&lt;br&gt;$this-&amp;gt;setError('You must supply a file field name and a directory on the server.');&lt;br&gt;return false;&lt;br&gt;}&lt;br&gt;// Check that the upload file field exists&lt;br&gt;if(!isset($_FILES[$field]))&lt;br&gt;{&lt;br&gt;$this-&amp;gt;setError('No file supplied.');&lt;br&gt;return false;&lt;br&gt;}&lt;br&gt;// Check that the file upload was not errornous&lt;br&gt;if($_FILES[$field]['error'] != 0)&lt;br&gt;{ &lt;br&gt;switch($_FILES[$field]['error'])&lt;br&gt;{&lt;br&gt;case 1:&lt;br&gt;$this-&amp;gt;setError('The file is too large (server).');&lt;br&gt;break;&lt;br&gt;case 2:&lt;br&gt;$this-&amp;gt;setError('The file is too large (form).');&lt;br&gt;break;&lt;br&gt;case 3:&lt;br&gt;$this-&amp;gt;setError('The file was only partially uploaded.');&lt;br&gt;break;&lt;br&gt;case 4:&lt;br&gt;$this-&amp;gt;setError('No file was uploaded.');&lt;br&gt;break;&lt;br&gt;case 5:&lt;br&gt;$this-&amp;gt;setError('The servers temporary folder is missing.');&lt;br&gt;break;&lt;br&gt;case 6:&lt;br&gt;$this-&amp;gt;setError('Failed to write to the temporary folder.');&lt;br&gt;break;&lt;br&gt;}&lt;br&gt;return false;&lt;br&gt;}&lt;br&gt;// Check that the supplied dir ends with a DS&lt;br&gt;if($dir[(strlen($dir)-1)] != DS)&lt;br&gt;{&lt;br&gt;$dir .= DS;&lt;br&gt;}  &lt;p&gt;// Check that the given dir is writable&lt;br&gt;if(!is_dir($dir) || !is_writable($dir))&lt;br&gt;{&lt;br&gt;$this-&amp;gt;setError('The supplied upload directory does not exist or is not writable.');&lt;br&gt;return false;&lt;br&gt;}&lt;br&gt;// Check that the file is of a legal mime type&lt;br&gt;if(!in_array($_FILES[$field]['type'], $this-&amp;gt;allowedMime))&lt;br&gt;{&lt;br&gt;$this-&amp;gt;setError('The file upload is of an illegal mime type.');&lt;br&gt;return false;&lt;br&gt;}&lt;br&gt;// Check that the file is smaller than the maximum filesize.&lt;br&gt;if((filesize($_FILES[$field]['tmp_name'])/1024) &amp;gt; $this-&amp;gt;maxFileSize)&lt;br&gt;{&lt;br&gt;$this-&amp;gt;setError('The file is too large (application).');&lt;br&gt;return false;&lt;br&gt;}&lt;br&gt;// Get the mime type for the file&lt;br&gt;$mime_type = $_FILES[$field]['type'];  &lt;p&gt;// Update the database is using db&lt;br&gt;if($this-&amp;gt;handlerType == 'db')&lt;br&gt;{&lt;br&gt;// Create database update array&lt;br&gt;$file_details = array($this-&amp;gt;dbModel =&amp;gt; array( $this-&amp;gt;dbFields['dir'] =&amp;gt; $dir,&lt;br&gt;$this-&amp;gt;dbFields['file_name'] =&amp;gt; basename($_FILES[$field]['name']),&lt;br&gt;$this-&amp;gt;dbFields['mime_type'] =&amp;gt; $file_type,&lt;br&gt;$this-&amp;gt;dbFields['file_size'] =&amp;gt; (filesize($_FILES[$field]['tmp_name'])/1024)&lt;br&gt;)&lt;br&gt;);&lt;br&gt;// Update database, set error on failure &lt;br&gt;if(!$this-&amp;gt;{$this-&amp;gt;dbModel}-&amp;gt;save($file_details))&lt;br&gt;{&lt;br&gt;$this-&amp;gt;setError('There was a database error');&lt;br&gt;return false;&lt;br&gt;}&lt;br&gt;// Get the database id&lt;br&gt;$file_id = $this-&amp;gt;{$this-&amp;gt;dbModel}-&amp;gt;getLastInsertId();&lt;br&gt;$dir = $dir . $file_id . DS;&lt;br&gt;}&lt;br&gt;// Generate dir name if using handler type of array&lt;br&gt;if($this-&amp;gt;handlerType == 'array')  &lt;p&gt;{&lt;br&gt;$dir = $dir . uniqid('') . DS;&lt;br&gt;}&lt;br&gt;// Create a folder for the file, on failure delete db record and set error&lt;br&gt;if(!mkdir($dir))&lt;br&gt;{&lt;br&gt;// Remove db record if using db&lt;br&gt;if($this-&amp;gt;handlerType == 'db')&lt;br&gt;{&lt;br&gt;$this-&amp;gt;{$this-&amp;gt;dbModel}-&amp;gt;del($file_id);&lt;br&gt;}&lt;br&gt;// Set the error and return false&lt;br&gt;$this-&amp;gt;setError('The folder for the file upload could not be created.');&lt;br&gt;return false;&lt;br&gt;}&lt;br&gt;// Move the uploaded file to the new directory&lt;br&gt;if(!move_uploaded_file($_FILES[$field]['tmp_name'], $dir . basename($_FILES[$field]['name'])))&lt;br&gt;{&lt;br&gt;// Remove db record if using db&lt;br&gt;if($this-&amp;gt;handlerType == 'db')&lt;br&gt;{&lt;br&gt;$this-&amp;gt;{$this-&amp;gt;dbModel}-&amp;gt;del($file_id);&lt;br&gt;}&lt;br&gt;// Set the error and return false&lt;br&gt;$this-&amp;gt;setError('The uploaded file could not be moved to the created directory');&lt;br&gt;return false;&lt;br&gt;}&lt;br&gt;// Set the data for the lastUploadData variable&lt;br&gt;$this-&amp;gt;lastUploadData = array( 'dir' =&amp;gt; $dir,&lt;br&gt;'file_name' =&amp;gt; basename($_FILES[$field]['name']),&lt;br&gt;'mime_type' =&amp;gt; $mime_type,&lt;br&gt;'file_size' =&amp;gt; (filesize($_FILES[$field]['tmp_name'])/1024)&lt;br&gt;);&lt;br&gt;// Add the id if using db&lt;br&gt;if($this-&amp;gt;handlerType == 'db')&lt;br&gt;{&lt;br&gt;$this-&amp;gt;_lastUploadData['id'] = $file_id;&lt;br&gt;}&lt;br&gt;// Return true&lt;br&gt;return true;&lt;br&gt;}&lt;br&gt;/*&lt;br&gt;setError&lt;br&gt;Set the errorMessage and isError&lt;br&gt;variables.&lt;br&gt;*/&lt;br&gt;function setError($error)&lt;br&gt;{&lt;br&gt;$this-&amp;gt;isError = true;&lt;br&gt;$this-&amp;gt;errorMessage = $error;&lt;br&gt;}&lt;br&gt;}&lt;br&gt;?&amp;gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115840404880236295?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115840404880236295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115840404880236295' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115840404880236295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115840404880236295'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/easy-way-to-upload-files-up-to-your.html' title='Easy Way To Upload Files Up To Your Server'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115832431556479235</id><published>2006-09-15T05:45:00.000-07:00</published><updated>2006-09-15T05:45:17.096-07:00</updated><title type='text'>How To Integrate WYSIWYG Editor into CakePHP?</title><content type='html'>&lt;p&gt;Easy way to &lt;a href="http://wiki.cakephp.org/tutorials:online_editor-xinha"&gt;integrate Xihna into CakePHP&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Easy way to integrate &lt;a href="http://wiki.cakephp.org/tutorials:tinymce_with_cake"&gt;TinyMCE into CakePHP&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;And, of couse, it's SO EASY to integrate &lt;a href="http://wiki.cakephp.org/tutorials:online_editor-fckeditor"&gt;FCKEditor into CakePHP&lt;/a&gt; ;-)&lt;/p&gt; &lt;p&gt;But if you asked me about WYSIWYG Editor, I say to you: "I don't like WYSIWYG! And use MarkDown PHP.&lt;/p&gt; &lt;p&gt;So, about MarkDown "non-visual editor" next time. Ok? ;)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115832431556479235?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115832431556479235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115832431556479235' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115832431556479235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115832431556479235'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/how-to-integrate-wysiwyg-editor-into.html' title='How To Integrate WYSIWYG Editor into CakePHP?'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115830668911629737</id><published>2006-09-15T00:51:00.000-07:00</published><updated>2006-09-15T00:51:29.176-07:00</updated><title type='text'>Security Component</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Some tricks for extra security in cake. &lt;p&gt;If you call http://example.com/users/render/delete (you’ve an UsersController) you will get rendered the delete.thtml view. &lt;br&gt;Try it at home with any controller. &lt;br&gt;The render() method from Controller gets called. I’m not sure if something dangerous can be done, but some other functions can be called like redirect. For forbidding all the methods from Controller base class, use this component. &lt;p&gt;&amp;lt;?php&lt;br&gt;/**&lt;br&gt;&amp;nbsp;* MySecurity.php&lt;br&gt;&amp;nbsp;* Some security things for Cake&lt;br&gt;&amp;nbsp;*&lt;br&gt;&amp;nbsp;* Features:&lt;br&gt;&amp;nbsp;* - The public functions from controller &amp;amp; object now can’t be called from url&lt;br&gt;&amp;nbsp;* -&lt;br&gt;&amp;nbsp;*&lt;br&gt;&amp;nbsp;* @author RosSoft&lt;br&gt;&amp;nbsp;* @version 0.1&lt;br&gt;&amp;nbsp;* @license MIT&lt;br&gt;&amp;nbsp;*&lt;br&gt;&amp;nbsp;* @package components&lt;br&gt;&amp;nbsp;*/ &lt;p&gt;class MySecurityComponent extends Object&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var $components=array(’Security’); &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* Extra forbidden actions&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @var array $forbidden_actions&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var $forbidden_actions=array(); &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function startup(&amp;amp;$controller)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;forbidden_actions=am($this-&amp;gt;forbidden_actions, get_class_methods(’Controller’)); &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;Security-&amp;gt;startup($controller);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (in_array($controller-&amp;gt;action,$this-&amp;gt;forbidden_actions))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;Security-&amp;gt;blackHoleCallback=null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;Security-&amp;gt;blackHole($this);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;?&amp;gt;  &lt;p&gt;&amp;nbsp; &lt;p&gt;Original at &lt;a href="http://rossoft.wordpress.com/2006/08/23/mysecurity-component/"&gt;RosSoft&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115830668911629737?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115830668911629737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115830668911629737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115830668911629737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115830668911629737'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/security-component.html' title='Security Component'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115822975194302380</id><published>2006-09-14T03:29:00.000-07:00</published><updated>2006-09-14T03:29:11.946-07:00</updated><title type='text'>Need Different Title For Page? It's simple!</title><content type='html'>&lt;p&gt;Just add this code in &amp;lt;head&amp;gt; your views:&lt;/p&gt; &lt;blockquote&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;h2&amp;gt;&amp;lt;?php echo $this-&amp;gt;pageTitle="Page title goes here"?&amp;gt;&amp;lt;/h2&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre&gt;&lt;code&gt;But remember, in cakephp 1.2.xx you can achieve this by&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;code&gt;$this-&amp;gt;set(‘title’, ‘Foo bar’);&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre&gt;&lt;code&gt;Of couse, you must setup this variable (pageTitle) in your controller ;-)&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&amp;nbsp;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115822975194302380?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115822975194302380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115822975194302380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115822975194302380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115822975194302380'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/need-different-title-for-page-its.html' title='Need Different Title For Page? It&apos;s simple!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115822958499973012</id><published>2006-09-14T03:26:00.000-07:00</published><updated>2006-09-14T03:45:08.796-07:00</updated><title type='text'>Navigation Helper The Best of!</title><content type='html'>&lt;p&gt;If you want get code like this: &lt;/p&gt;&lt;code&gt;&amp;lt;ul id="main_nav"&amp;gt; &amp;lt;li&amp;gt;&amp;lt;a href="/users/account' class="active"&amp;gt;My account&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&amp;lt;a href="/items/browse'&amp;gt;Browse&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&amp;lt;a href="/items/add' class="active"&amp;gt;Create item&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;&amp;lt;a href="/users/add' class="active"&amp;gt;Create User&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;&lt;/code&gt;  &lt;p&gt;You can use useful ;) helper - Navigation Helper!&lt;/p&gt; &lt;p&gt;Code like this:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;?$navigation-&amp;gt;link('My account',"/users/account/",array('activeAction'=&amp;gt;'account'))?&amp;gt;&lt;br /&gt;&amp;lt;?$navigation-&amp;gt;link('Browse',"/items/browse/",array('activeAction'=&amp;gt;'browse'))?&amp;gt;&lt;br /&gt;&amp;lt;?$navigation-&amp;gt;link('Create Item',"/items/add/",array('activeAction'=&amp;gt;'add','activeController'=&amp;gt;'items'))?&amp;gt;&lt;br /&gt;&amp;lt;?$navigation-&amp;gt;link('Create Item',"/users/add/",array('activeAction'=&amp;gt;'add','activeController'=&amp;gt;'users'))?&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;So... When user travel into your site and change /items/add -&amp;gt; users/add - the different menu be displayed (class = "active" I mean).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Just add code like this&lt;/p&gt;&lt;code&gt;&amp;lt;?php echo $navigation-&amp;gt;render(null,array('id'=&amp;gt;'main_nav'))?&amp;gt;&lt;/code&gt; &lt;br /&gt;&lt;p&gt;In your views! ;-)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Easy Way? Yes! Easy!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;You can find more detail information &lt;a href="http://www.nolimit-studio.com/baking/2006/08/02/navigation-helper/"&gt;here&lt;/a&gt;. And &lt;a href="http://www.nolimit-studio.com/baking/2006/08/02/navigation-helper/"&gt;download navigation helper&lt;/a&gt; (sorry it's not direct link, because this file present in other blog).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115822958499973012?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115822958499973012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115822958499973012' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115822958499973012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115822958499973012'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/navigation-helper-best-of.html' title='Navigation Helper The Best of!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115822831460805636</id><published>2006-09-14T03:05:00.000-07:00</published><updated>2006-09-14T03:05:14.626-07:00</updated><title type='text'>How To Make Model Without a Table? Easy Decision!</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;The answer is simple:  &lt;blockquote&gt;&lt;pre&gt;class ModelWithoutTable extends AppModel&lt;br /&gt;{&lt;br /&gt;    var $useTable = false;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;How To Make Controller Without a Model?&lt;/h3&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;class MyController extends AppController&lt;br /&gt;{&lt;br /&gt;    // var $uses = null; works too&lt;br /&gt;    var $uses = array();&lt;br /&gt;&lt;br /&gt;    function index()&lt;br /&gt;    {&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;If you omit the “var $uses = array();” you will get a “missing model” error. &lt;br /&gt;&lt;p&gt;Thank's to &lt;a href="http://cakebaker.42dh.com"&gt;CakeBaker&lt;/a&gt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115822831460805636?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115822831460805636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115822831460805636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115822831460805636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115822831460805636'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/how-to-make-model-without-table-easy.html' title='How To Make Model Without a Table? Easy Decision!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115815244089102831</id><published>2006-09-13T06:00:00.000-07:00</published><updated>2006-09-13T06:00:40.906-07:00</updated><title type='text'>Useful Site for CakePHP Developer</title><content type='html'>&lt;p&gt;&lt;a href="http://thinkingphp.org/cakenews/"&gt;Here&lt;/a&gt; you can monitore a lot of useful cakephp-oriented site (but without this ;)&lt;/p&gt; &lt;p&gt;Just reload this page every 2-3 hours and you can read all news, all discovery, all new hints.&lt;/p&gt; &lt;p&gt;&lt;a href="http://cakephp.org"&gt;CakePHP&lt;/a&gt; - is fastest developing framework in the world. Just try it!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115815244089102831?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115815244089102831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115815244089102831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115815244089102831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115815244089102831'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/useful-site-for-cakephp-developer.html' title='Useful Site for CakePHP Developer'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115815090948199095</id><published>2006-09-13T05:35:00.000-07:00</published><updated>2006-09-13T05:35:09.486-07:00</updated><title type='text'>How To Validate data Without Saving?</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;You know, CakePHP check data only when you saving: &lt;blockquote&gt; &lt;p&gt;$this -&amp;gt; User -&amp;gt; save ($this-&amp;gt;data)&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;But if you do not needing to save data?  &lt;p&gt;In this case, you can use this "hint": &lt;blockquote&gt; &lt;p&gt;if ( $this -&amp;gt; User -&amp;gt; validates ( $this -&amp;gt; data ) ) &lt;br&gt;{ &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // OK, good to go  &lt;p&gt;}  &lt;p&gt;else &lt;br&gt;{ &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;set( 'data', $this-&amp;gt;params['data'] ); &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;validateErrors( $this-&amp;gt;User ); &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;render();  &lt;p&gt;} &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;This code snippet made by &lt;a href="http://groups.google.com/group/cake-php/tree/browse_frm/thread/90518a951a41e1b6/e75c9ccd0ac0a575?rnum=1&amp;amp;q=validate&amp;amp;_done=%2Fgroup%2Fcake-php%2Fbrowse_frm%2Fthread%2F90518a951a41e1b6%2Fe75c9ccd0ac0a575%3Flnk%3Dgst%26q%3Dvalidate%26rnum%3D1%26#doc_e75c9ccd0ac0a575"&gt;Devo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115815090948199095?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115815090948199095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115815090948199095' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115815090948199095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115815090948199095'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/how-to-validate-data-without-saving.html' title='How To Validate data Without Saving?'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34331783.post-115815000683941356</id><published>2006-09-13T05:18:00.000-07:00</published><updated>2006-09-13T05:20:06.860-07:00</updated><title type='text'>Hi!</title><content type='html'>The goal of this blog - concentrate useful tips, hints and original metod of programming... All about &lt;a href="http://cakephp.org"&gt;Cakephp&lt;/a&gt; - one of the best framework in the world ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34331783-115815000683941356?l=cake-php.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cake-php.blogspot.com/feeds/115815000683941356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34331783&amp;postID=115815000683941356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115815000683941356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34331783/posts/default/115815000683941356'/><link rel='alternate' type='text/html' href='http://cake-php.blogspot.com/2006/09/hi.html' title='Hi!'/><author><name>Владислав</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
