Important! Please read everything below before using any of these patches. These patches are modifications to CakePHP that are intended to provide a smoother migration path between my custom PHP framework and CakePHP. If you use them, please DO NOT send bug reports to the official CakePHP communication channels (IRC, Google Groups, Wiki, CakePHP Trac Site). Send any bug reports to me: Nimrod A. Abing <nimrod.abing@gmail.com> Please note that some of the patches here MIGHT break compatibility with the official CakePHP. However, I try to maintain compatibility as much as possible. In case a patch breaks compatibility, it will be indicated in the patch description. View the ChangeLog and check to see if a patch breaks a standard CakePHP API. The ChangeLog can be found here. I recommend you use Firefox when viewing the ChangeLog. It is highly recommended that you use the pre-patched CakePHP found here: cake-diffs-latest.tar.gz. The current pre-patched package is at CakePHP-v-1.1.12.4205. You can use the pre-patched version as you would the mainstream CakePHP. If you already have an existing app that uses the mainstream CakePHP code, you can replace the `app' folder with your `app'. Make sure you copy cake/scripts/templates/skel/webroot/index.php into your app/webroot or your app will create two dispatchers! Using the Individual Patches It is possible to apply each patch separately but because changes occur with every SVN revision of the mainstream CakePHP, it is possible that an older patch will not apply cleanly. When a patch does not apply cleanly, the `patch' command will report failed hunks. Those hunks can be found in the files with extension `*.rej'. If you download `all.tar.gz' unpack it somewhere convenient. Normally you would unpack it into the same directory as your CakePHP install. For example, your CakePHP directory structure is as follows: cake-1.x.x.x +-- app +-- cake +-- vendor Unpack `all.tar.gz' into the same directory as cake-1.x.x.x so that you end up with: diffs cake-1.x.x.x +-- app +-- cake +-- vendor `cd' into cake-1.x.x.x. Then apply each patch individually making sure you apply at the correct SVN revision as indicated in the table below: patch -p1 ../diffs/000001-move-dispatcher-dispatch-instantiation.diff Resolve any rejected hunks and bump up your CakePHP version before applying the next patch. Use the following table as your guide when applying patches individually. Make sure you apply the patches at the appropriate SVN revision to minimize the amount of rejected hunks.
| Patch Name | Applied at SVN Revision |
|---|---|
| 000001-move-dispatcher-dispatch-instantiation.diff | CakePHP-v-1.1.6.3216 |
| 000002-custom-dispatcher.diff | CakePHP-v-1.1.6.3216 |
| 000003-hide-expose-controller-actions.diff | CakePHP-v-1.1.6.3216 |
| 000004-resolve-1.1.6.3264.conflicts.diff | CakePHP-v-1.1.6.3264 |
| 000005-resolve-1.1.6.3346.conflicts.diff | CakePHP-v-1.1.6.3346 |
| 000006-fix-custom-dispatcher-handling-bugs.diff | CakePHP-v-1.1.6.3346 |
| 000007-delegate-controller-actions-to-action-class.diff | CakePHP-v-1.1.6.3346 |
| 000008-resolve-1.1.6.3363.conflicts.diff | CakePHP-v-1.1.6.3363 |
| 000009-resolve-1.1.7.3454.conflicts.diff | CakePHP-v-1.1.7.3454 |
| 000010-lazy-loaded-models.diff | CakePHP-v-1.1.7.3454 |
| 000011-resolve-1.1.10.3825.conflicts.diff | CakePHP-v-1.1.10.3825 |
| 000012-resolve-1.1.11.4064.conflicts.diff | CakePHP-v-1.1.11.4064 |
| 000013-resolve-1.1.12.4205.conflicts.diff | CakePHP-v-1.1.12.4205 |