Akelos PHP Framework
- Website
- http://www.akelos.org/
- SVN
- http://svn.akelos.org/trunk/
- Short description from authors website
- Akelos PHP Framework Goals
- Improve developer happiness.
- Speed up the creation of complex web applications writing less code.
- Provide all the means for creating applications that can run on cheap PHP4/PHP5 hosts and in the developer desktop without complex configurations.
- Help on the hard task of creating and maintaining applications with data and views in multiple languages.
- Favor conventions over configurations.
- Distributed size:
- 2.3MB zip (0.9)
- Graphs
Changelog (only since Jan 1, 2009)
| Revision | Message | Date | Author |
|---|---|---|---|
| 1342 | Restoring attribute skipping when null | 22.07.2009 23:40:32 | bermi |
| 1341 | Adding support for finding within collections on finders. Now you can use on your finders {{{ $Tag->find(array('conditions'=> array('name IN (?)', array('Tag 1', 'Tag 2')))); }}} And it will escape, quote and bind the attributes properly generating this SQL {{{ SELECT * FROM tags WHERE name IN ('Tag 1', 'Tag 2') }}} You can also pass a collection of Active Record elements like those returned on by a finder. {{{ $Tag->find(array('conditions'=> array('name IN (?)', $PopularTags->find()))); }}} | 22.07.2009 18:20:07 | bermi |
| 1340 | removing tests for findByIds mismatch in number of ids and results. Adding test for deleteAll with bind parameters | 22.07.2009 11:20:39 | arnoschn |
| 1339 | lowercasing css attribute name for unifying styles | 22.07.2009 11:02:42 | arnoschn |
| 1338 | - adding layout for mailers. naming convention: layout.text.html.tpl, layout.text.plain.tpl - fixing text-helper which could not extract image urls from <img/> tags that went over multiple lines - extracting style attributes in html mailer views like <td style="height:100px;width:100px;text-align:center"></td> and converting them into element inline styles <td width="100" height="100" align="center" ></td> etc. for better mailer compatibility | 20.07.2009 08:41:18 | arnoschn |
| 1337 | 17.07.2009 12:39:41 | arnoschn | |
| 1336 | Adding render :partial functionality to Mailer. Adding extraction of css rules and applying to elements to html email Adding automatic addition of target="_blank" to links without target (needed for webmailers) | 17.07.2009 11:45:57 | arnoschn |
| 1335 | silencing unserialize of serialized column, in case the db value was not serialized before (happens if var $serialize is added later on with existing records) | 16.07.2009 16:20:26 | arnoschn |
| 1334 | adding bind syntax to ActiveRecord::updateAll and deleteAll. Callable via $record->updateAll('setme="new value"',array('condition=?','my condition')); casting findFromIds($ids) ids to its db type and quoting before finding the records. removing id count mismatch, search for $record->find(1,2,3,4) will now return records 1,2,3 even if record 4 does not exist, before it would have returned false. | 16.07.2009 16:16:02 | arnoschn |
| 1333 | DB Schema Cache will not be saved from the CLI anymore, storing the cache file from the CLI results in permission problems when reading from the webserver | 16.07.2009 16:11:35 | arnoschn |
| 1332 | Removing leading whitespace in chunk-splitted mail-body | 16.07.2009 15:13:20 | arnoschn |
| 1331 | by: @haakon Ignoring POSIX .invisible_fiels on automated model inclusion of active records on ./script/console Closes #264 | 10.07.2009 21:51:45 | bermi |
| 1330 | Making db traces less verbose by default | 10.07.2009 21:47:36 | bermi |
| 1329 | Forcing AK_REMOTE_IP to a single originating IP address. If you want to check how a request was forwarded use better $_ENV/$_SERVER[HTTP_X_FORWARDED_FOR] | 05.07.2009 12:09:36 | bermi |
| 1328 | Adding another possible IP address location for AK_REMOTE_IP | 30.06.2009 21:07:45 | bermi |
| 1327 | Double render error on rendering diferent parts | 26.06.2009 16:00:25 | masylum |
| 1326 | Using Ak::trace() to display transaction failures | 26.06.2009 09:44:49 | bermi |
| 1325 | Using Ak::trace to debug SQL queries! It will now show where in the app the query was generated, if you need to know where in the whole framework it was generated, you need to declare AK_TRACE_ONLY_APP_DB_QUERIES to false. | 25.06.2009 12:07:06 | bermi |
| 1324 | Has many counter SQL now works when calling it without requiring a previous __owner inclussion. | 22.06.2009 02:12:22 | bermi |
| 1323 | Restricting wich email header can be added automagically to AkActionMailer mail headers | 19.06.2009 13:12:50 | bermi |
| 1322 | Belongs to should not increment counter if owner is new record. Adding white background to debug message | 18.06.2009 09:05:59 | bermi |
| 1321 | Backtrace now points you to the line in the source where the bug is. | 16.06.2009 18:35:52 | bermi |
| 1320 | Making Ak::trace a little more fancy. Now it event gives trace information O:) Adding Ak::dump() for returning a string representation of var_dump, var_export, or print_r instead of directly echoing it. | 16.06.2009 16:44:32 | bermi |
| 1319 | Fixing issue #258 Patch by firodj | 10.06.2009 21:11:10 | bermi |
| 1317 | Improving lib/AkDevelopmentErrorHandler.php | 09.06.2009 09:15:39 | bermi |
| 1315 | Checking constant before it clashes | 04.06.2009 11:33:36 | bermi |
| 1314 | Creating log files if they do not exist | 03.06.2009 23:46:45 | bermi |
| 1313 | Small fix for last commit | 03.06.2009 23:15:41 | bermi |
| 1312 | Adding namespaced loggers Now you can call {{{ Ak::getLogger('signup')->error('Something screwed up'); }}} and it will store the error at {{{ log/signup.log }}} | 03.06.2009 23:12:28 | bermi |
| 1311 | Fixing AkBelongsTo::counter_cache_column default settigns to match the documentation Removing traling spaces from other files. | 03.06.2009 11:10:12 | bermi |
| 1310 | Ak::t() returning key of translation if translation is empty | 28.05.2009 08:11:49 | arnoschn |
| 1309 | fixing dependency nullify | 22.05.2009 11:17:53 | arnoschn |
| 1308 | Do not resize when the image is smaller | 22.05.2009 10:05:51 | masylum |
| 1307 | adding replacement for tablename.* columns on the findWithAssociations | 21.05.2009 16:25:30 | arnoschn |
| 1306 | adding content:encoded to rssbuilder | 20.05.2009 10:06:44 | arnoschn |
| 1305 | Changing imagecopyresized to imagecopyresampled in order to get better image quality. A bicubic resizing mode might have better quality but hit too hard on performance. Adding pear/Image/Text.php | 18.05.2009 20:06:16 | bermi |
| 1304 | Adding email messages to log/mail.log when the Mailer delivery is test and runs on Development mode | 18.05.2009 20:03:04 | bermi |
| 1303 | Getting rid o beforeDropTable and afterDropTable hook | 18.05.2009 08:30:10 | arnoschn |
| 1302 | Adding dependent options nullify/delete. adding join_conditions options which will add conditions on the JOIN part when including | 18.05.2009 08:28:43 | arnoschn |
| 1301 | fixing afterDestroy method. if associated item isNewRecord or does not exist, return true instead of trying to delete/destroy/nullify | 18.05.2009 08:21:34 | arnoschn |
| 1300 | fixing bug on constructFinderSqlWithAssoctions. handing through $include_owner_as_selection to parameter to the addConditions, to send the right table-alias to the typeCondition method. | 18.05.2009 08:20:20 | arnoschn |
| 1299 | refactoring the AkActiveRecordMock and the objectgraph builder. Adding xml_helper for php5. | 12.05.2009 19:40:08 | arnoschn |
| 1298 | Making it easier to use Ak::trace() with active records and other objects. Fixing issue with belongs to dependencies | 04.05.2009 01:54:19 | bermi |
| 1297 | fixing issue on detecting content-columns when instantiating objects in findWithAssociations | 30.04.2009 07:41:03 | arnoschn |
| 1296 | Removing empty params from Image native filters | 29.04.2009 06:33:39 | bermi |
| 1295 | Adding missing fixture O:) | 28.04.2009 15:08:58 | bermi |
| 1294 | Adding new filters for AkImage::transform : * negate * grayscale * brightness * contrast * colorize * detect_edges * emboss * gaussian_blur * selective_blur * sketch * smooth * pixelate | 28.04.2009 14:22:52 | bermi |
| 1293 | adding the possiblity to findWithAssociations to return array or an array of simulated ActiveRecord Objects instead of instantiating each and every ActiveRecord. performance improvement of generateObjectGraphFromResultSet | 28.04.2009 13:06:58 | arnoschn |
| 1292 | Allowing discarding day without breaking date preselection on the date_helper | 27.04.2009 21:57:55 | bermi |
| 1291 | damn.... hopefully fixed! | 27.04.2009 14:14:54 | arnoschn |
| 1290 | version crazyness! | 27.04.2009 13:54:57 | arnoschn |
| 1289 | need to check if version===0 instead of assuming 0 == false | 27.04.2009 08:47:48 | arnoschn |
| 1288 | Fixing soft migration issue for already installed migrations | 27.04.2009 06:54:18 | arnoschn |
| 1287 | fixing a stupid Ak::compat() call. = adding a $options['wrap'] to finders. Works as follows: $options['wrap'] = 'SELECT * FROM ({query}) a GROUP BY something"; the generated finder query is inserted for {query}. SELECT * FROM (SELECT * FROM ... WHERE ...) a GROUP BY something"; this allows you to do group bys and still define the order of a date for example. = added join-table columns to habtm sql generation, so you can use it in the "wrap" sql. useful if you have information on the join class and you want to buildl conditions on that. | 26.04.2009 16:32:27 | arnoschn |
| 1286 | WARNING: IMPORTANT CHANGES AHEAD ON AkAssociatedActiveRecord::findWithAssociations influences all custom $options['selection'] calls when using $options['include'] with a finder. New features: = AkAssociatedActiveRecord::findWithAssociations takes now nested includes: $model->findFirstBy('name','test', array('include'=>array('cars'=>array('include'=>array('driver'=>array('include'=>'mother')))))); see test/unit/lib/AkActiveRecord/_AkActiveRecord_nested_finders.php for more details. To build the nested includes result a strict convention in naming the SELECT (columns) FROM is applied. Custom $finder_options['selection'] values will not work with the new findWithAssociation if the column aliases do not conform with the convention: SELECT __owner__handler_name.column_name AS "owner[handler_name][colum_name]" .... = AkInstaller stores version on database AkInstaller now creates a "akelos_migrations" table where it stores the version numbers of the installers. A soft migration ensures that existing applications will slowly migrate to the new db storage when using migrations. Should you find any problems with the new migration system, please file a bug. Bug fixes: #255 added order,group to habtm finder #219 finder by id on habtm: see test/unit/lib/AkActiveRecord/_AkActiveRecord_association_finders.php #245 removed duplicate conditions on finder #246 habtm from self->self is now possible | 26.04.2009 12:23:26 | arnoschn |
| 1285 | Making Ak::trace accept arrays and adding a nicer format when on HTML Fixing body posting on AkHttpClient | 24.04.2009 12:14:28 | bermi |
| 1284 | Duplicated default group | 16.04.2009 14:41:19 | masylum |
| 1283 | Added group to AkHasMany | 16.04.2009 14:39:13 | masylum |
| 1282 | Better output for permissions errors on config cache | 16.04.2009 08:29:45 | masylum |
| 1281 | fixing content-encoding error on the ak_development_error_handler. Removing Content-Encoding header if we step down the ob_levels | 14.04.2009 08:04:17 | arnoschn |
| 1280 | Adding experimental pre- and post-page-cache scripting functionality. allows you to execute php script before and after delivering a page-cache. the pre-script of course can exit the caching behaviour by simply return; from the page-cache file. Enabling gzip content-encoding detection and gzip compression if gzip is in accept headers even for non-cached pages | 13.04.2009 17:02:48 | arnoschn |
| 1279 | need to enable config-cache in testing environment, so the AkConfig testcases can work. AK_CLI only uses cache now when in testing mode | 13.04.2009 16:59:20 | arnoschn |
| 1278 | fixing AK_CLI bug on AkConfig again... | 09.04.2009 11:08:19 | arnoschn |
| 1277 | fixing inheritance column condition (type = ?): WHERE (type=?) AND ( ... rest of conditions...) otherwise if you do not put the rest of the conditions in () and you have an OR the type condition is useless | 08.04.2009 08:25:58 | arnoschn |
| 1276 | adding single file tests to /script/ci-test: /script/ci-test php5 mysql test/unit/lib/AkActionController/_page_caching.php will only run the _page_caching.php test file. | 08.04.2009 08:23:32 | arnoschn |
| 1275 | fixing page_caching with get-parameters. | 08.04.2009 08:21:29 | arnoschn |
| 1274 | Disabling caching of configuration files from the CLI to pervent permission problems | 07.04.2009 14:41:30 | arnoschn |
| 1273 | Fixed a bug produced when calling a custom selected options like {{{ $form_options_helper->select('person', 'role', array('Admin'=>1,'Moderator'=>2,'Visitor'=>3), array('selected' => 2)))); }}} the output contained {{{ … <option selected="2" value="1">Admin</option> <option selected="selected" value="2">Moderator</option> <option selected="2" value="3">Visitor</option> … }}} this commit removes the 'selected' option from the tag options array to avoid including selected="2" into all options. | 06.04.2009 10:57:32 | ricard |
| 1272 | Preventing forced content type on the default dispatcher. | 26.03.2009 13:16:53 | bermi |
| 1271 | Fixing checksum clash on the file_upload helper. Fixing Crop Filer docs | 25.03.2009 18:59:32 | bermi |
| 1270 | fixing second level associations. comparing ids and unsetting data | 19.03.2009 20:00:04 | arnoschn |
| 1269 | Date Time selects were unable to set id. By default no id will be set, but if an id is passed as an option then this will be set. | 19.03.2009 10:09:11 | ricard |
| 1268 | New functionality in date_helpers that list date or time. Now it's possible to add some custom text in the first option. Some documentation has been added in order to help users to know about this feature. | 18.03.2009 18:48:44 | ricard |
| 1267 | adding group by to findWithAssociation | 18.03.2009 14:24:19 | arnoschn |
| 1266 | implementing "conditions" and "order" option on 2nd level associations. | 18.03.2009 10:30:57 | arnoschn |
| 1265 | fixes for postgres | 17.03.2009 12:32:53 | arnoschn |
| 1264 | Adding tests for after destroy on belongs to associations | 17.03.2009 12:18:18 | bermi |
| 1263 | fixing return by reference | 17.03.2009 12:09:52 | arnoschn |
| 1262 | Adding experimental "2nd level findWithAssociations", which allows you to do: $user->findFirstBy('name','Bermi',array('include'=>array('roles'=>array('include'=>'permissions'))); You will get $user->roles[0]->permissions[0] in just one select. Addressing bug #246. | 17.03.2009 11:31:32 | arnoschn |
| 1261 | Adding more details for failed associations in order to make it easier to debug | 17.03.2009 10:41:26 | bermi |
| 1260 | Fixing test/unit/lib/AkImage.php fixture images location to avoid http redirect | 16.03.2009 10:47:12 | bermi |
| 1259 | Fixing typo | 15.03.2009 17:35:00 | bermi |
| 1258 | Fixing caching issues on the file uploader | 11.03.2009 00:20:07 | bermi |
| 1257 | Fixign index creation bug on AkInstaller. Removing Cookies based sessions until completed. | 07.03.2009 00:29:14 | bermi |
| 1256 | added centered_crop | 06.03.2009 18:13:07 | masylum |
| 1255 | link_to functions fixed | 05.03.2009 15:56:20 | masylum |
| 1254 | Adding dependency control on belongs to associations | 25.02.2009 12:20:13 | bermi |
| 1253 | Forcing helper loading when rendering an action different from the ongoing one. | 24.02.2009 21:53:42 | bermi |
| 1252 | Fixing #253. Added unit test for verifying that connection to multiple databases on a model basis works. | 23.02.2009 23:28:29 | bermi |
| 1251 | Adding tests for ActiveRecord serializable attributes. Now it can be declared in multiple ways like {{{ public $serialize = 'preferences'; }}} or {{{ public $serialize = array('settings'=>'Setting'); }}} where the class 'Setting' will be included automatically before unserializing. | 23.02.2009 11:46:36 | bermi |
| 1250 | Modified view compilation rules. Now a unique view will be compiled depending on the helpers that are loaded. Now if template compilation halts, it will dump the code on development environments and it will prevent the view from being cached. Removed Ak::profile calls as Loggers calls should be used instead. Adding a default backtrace (a-la python) and simple custom error reporting for development mode. | 22.02.2009 23:34:11 | bermi |
| 1249 | Using AkActiveRecord::establishConnection as intended and documented in order to allow connecting to different databases depending on the model | 11.02.2009 20:42:24 | bermi |
| 1248 | Adding Content-Length to HTTP responses to tell HTTP 1.0 clients when the content has been delivered on Keep Alive connections Changing the plugin discovery url to its new location at http://www.akelos.org/wiki/plugins | 11.02.2009 11:37:50 | bermi |
| 1247 | Forcing table cache refresh on intallers. | 09.02.2009 23:42:07 | bermi |
| 1245 | Refactoring Active Record schema cache. Fixes #249 | 07.02.2009 23:49:17 | bermi |
| 1244 | Adding option "cache" to AkHttpClient. Now you can call {{{ Ak::url_get_contents('http://akelos.org', array('cache' => 86400)); }}} To have the contents cached during one day. | 06.02.2009 18:12:14 | bermi |
| 1243 | Fixing index bug on acts as behaviours when using multiple of them without options | 06.02.2009 12:30:18 | bermi |
| 1242 | Adding a descriptive error message when using the action mailer generator with insufficient paramenters. | 28.01.2009 20:41:21 | bermi |
| 1241 | Adding a new shotcut for sanitizing/escaping html entities variables on Sintags. Now you can use this Sintags {{{ {\variable} }}} to generate this PHP code on the compiled template {{{ <?php echo $text_helper->h($variable); ?> }}} | 26.01.2009 12:41:14 | bermi |
| 1240 | script/configure: Fixing typo reported by alake on #248 | 21.01.2009 06:16:00 | bermi |
| 1238 | Removing un-used column serialization code and documenting how colum serialization can be done on Akelos Active Records | 20.01.2009 12:01:05 | bermi |
| 1237 | Fixing #244. Reported by tosick | 16.01.2009 00:21:12 | bermi |
| 1236 | Avoiding double flash handling on the same request. | 14.01.2009 17:37:58 | bermi |
| 1235 | Silencing the image filters when no height or width is provided by default | 09.01.2009 15:32:36 | bermi |
| 1234 | Adding new Image filters. One for adding watermarks, and another one for cropping image portions. | 09.01.2009 02:04:45 | bermi |
| 1233 | Fixing db charset setting on PHP4 | 09.01.2009 01:15:24 | bermi |
| 1232 | Important: Data integrity issue on MySQL Before rev.1232 MySQL on some setups, connections where opened using PHP's default encoding latin1 this caused that UTF8 data written by Akelos could not be edited using other DB tools like phpMyAdmin This change solves the issue for new applications, but existing applications can fix this by backing up your database and following the steps at http://codesnippets.joyent.com/posts/show/84 before defining AK_SET_UTF8_ON_MYSQL_CONNECT on your configuration file. | 05.01.2009 12:03:31 | bermi |