Commit Graph
151 Commits
Author SHA1 Message Date
Bharat Mediratta 9ddc8c8aab Fix typo. 2008-11-19 23:36:50 +00:00
Bharat Mediratta 4a4eac31ad Create url::abs_site() and url::abs_file() to allow us to generate
full URLs with a clean API, and isolate the cruddy party where we have
to hardcode the server protocol into a single file.
2008-11-19 23:33:50 +00:00
Bharat Mediratta 1b36ce6c7e Fix broken path in url()
Fix some style issues
2008-11-19 22:47:30 +00:00
Tim Almdal 103bd8e8d2 Add the original item height and width to the item table 2008-11-19 22:45:30 +00:00
Tim Almdal c8dc84d502 Change the regex to assert true for files that match the pattern "#/views/.*?(\.html|mrss)\.php$#" 2008-11-19 22:39:44 +00:00
Tim Almdal 8825687d03 Change the view_files_end_in_html_dot_php_test to view_files_correct_suffix_test and change it to also accept mrss as a valid suffix 2008-11-19 22:20:23 +00:00
Tim Almdal b3314fc1dc Update the media rss template to include the resize and the fullsize
added descendants by type method to the item model to allow for the selection of children by type
2008-11-19 18:23:30 +00:00
Bharat Mediratta 161998dde6 Fix some broken-ness:
1) Item_Controller::_create() and _update() were swapped
2) _create() was redirecting to the wrong urls on success
3) Change in-place return parameter from __return to _return
4) Change in-place code to tunnel _put via POST
2008-11-19 06:35:54 +00:00
Tim Almdal e14d5574b6 Cleanup media rss feed
added parameters to thumbnail_url and resizes_url to be passed to the url::base call to generate ful urls
2008-11-19 06:05:38 +00:00
Bharat Mediratta 4ff0997c75 Fix a mistake in the route that let people try to get to the rest controller (it would fail, but this way they get a 404 instead of another error). 2008-11-19 04:22:17 +00:00
Bharat Mediratta 5638fc5fb6 Change the way that we do RESTful routing.
1) We now use __call() in REST_Controller to handle any requests to a controller
   that were not already handled.  In the case of RESTful controllers, this should
   be the only entry point (although they're free to break the model and add other
   ones.. nothing stops them).

   This means that we can remove all the catch-all routes in
   routes.php which greatly simplifies it.

2) Move request_method() and output_format() out of REST_Controller and into the REST
   helper in core/helpers/rest.php

3) Experiment with letting the various subclasses check the output_format and deal with
   it themselves.  This simplifies the API, but it might be a bad idea in that it might
   push too much work to the individual controllers.  It's a balancing act, time will tell,
   I'm willing to change it back later.
2008-11-19 04:20:35 +00:00
Bharat Mediratta e0efdee8b2 Fix /item -> /items to conform to new REST api. 2008-11-19 04:14:09 +00:00
Bharat Mediratta c0aa61787c Change output_format() to autodetect for html / xml / json 2008-11-19 03:42:43 +00:00
Bharat Mediratta 3e67a35cb0 change mime_type column from 255 chars to 64 2008-11-19 03:39:38 +00:00
Bharat Mediratta 89bb3c42f7 Update the unit test for mime types. Can't test it right now because routing is broken for the test framework so we have to fix that first. 2008-11-19 03:39:12 +00:00
Tim Almdal c7b2090f0c add the mime type column on the item table 2008-11-19 03:29:53 +00:00
Bharat Mediratta df4832bf6f Change Media_RSS_Controller so that it does not extend REST_Controller, since it
doesn't refer to a fixed resource or collection of resources.

Fix some minor bugs in the code so that we can actually generate a
feed.  It looks pretty cool!  Improved pagination links, but didn't actually test them.
2008-11-19 03:17:56 +00:00
Tim Almdal 693080669a fix a few minor issues 2008-11-19 02:50:11 +00:00
Tim Almdal ad7ace9b72 The continuing evolution of the slideshow...
1) added a mime_type property to the item module(no database change)
2) created a media_rss module
3) moved most of the functionality for the downloading the images to the media_rss module
2008-11-19 02:31:20 +00:00
Jozef Selesi b2772f5a05 * Renamed the album, item and photo controllers to albums, items and photos in order to follow the convention that controllers that refer to a collection of resources have plural names.
* Added a bug workaround to routes.php
2008-11-19 00:12:25 +00:00
Jozef Selesi 1992343c2e * Changed REST API. Now there are two separate methods for forms:
GET /form/edit/{controller}/{resource_id} -> controller::_form_edit($resource)
  GET /form/add/{controller}/{parameters}   -> controller::_form_add($parameters)
* Updated comment, user and core modules to reflect the API changes
* Cleaned up routing and handling of requests to /{controller}
2008-11-18 23:40:47 +00:00
Tim Almdal 4bf486955c The start of the slideshow module. Mostly framework stuff, no real implementation yet 2008-11-18 19:09:24 +00:00
Tim Almdal 6f4fae0786 Added the is_installed to the module helper and change to photo.html to not try to display a comment if it is not installed 2008-11-18 16:26:36 +00:00
Jozef Selesi b63ea2cdbf - All comments of an item can now be seen /comments?item_id=
- Return proper Content-Type header for GET /comments requests
- Got rid of the query processing for index() in REST_Controller()
- Small misc fixes
2008-11-18 15:48:08 +00:00
Bharat Mediratta d4fc15f76c Fix a typo in the text MPTT link 2008-11-18 09:07:46 +00:00
Bharat Mediratta d8225e44c4 Fix a typo user_id -> owner_id 2008-11-18 09:03:49 +00:00
Jozef Selesi 3ebb751cda First iteration of REST controller refactoring. RESTful controllers that refer to collections should now have plural names and there should be only one controller per resource. Updated existing classes that implement REST_Controller. The routing now works like this:
GET    /controller    -> controller::_index()
POST   /controller    -> controller::_create()
GET    /controller/id -> controller::_show()
PUT    /controller/id -> controller::_update()
DELETE /controller/id -> controller::_delete()
GET    /form/edit/controller/resource_id -> controller::_form()
GET    /form/add/controller/data         -> controller::_form()
2008-11-18 08:28:32 +00:00
Bharat Mediratta c91e90406b Add output formats to our REST controllers. Add support for JSON and
XML to the comment controllers as a proof of concept.  It's not fully
baked; we should examine ways to create helpers to make this process
easier.
2008-11-17 00:30:18 +00:00
Bharat Mediratta b6de985922 Handle _method in either GET or POST 2008-11-16 19:22:27 +00:00
Bharat Mediratta 5d14531af9 Drop the call to render() and just use the View's __toString method to
print it out.
2008-11-16 19:12:01 +00:00
Bharat Mediratta bcb2230a6b Remove a @todo 2008-11-16 10:19:01 +00:00
Bharat Mediratta 4610fc8e7f Create Forge::add_rules_from() which pulls validation rules from the model and
associates them with the form.  This replaces the various _add_validation_rules()
functions in the user and comment modules.

Move user edit form into user helper for consistency with the comment module.

Implement missing _form method in the user controller.
2008-11-16 07:51:42 +00:00
Bharat Mediratta e3be3cecf5 Second half of renaming the tags module. Change all occurrences of
gTags to gTag in the CSS.
2008-11-16 07:20:58 +00:00
Bharat Mediratta e87a37b855 Rename 'tags' module to 'tag' for consistency of pluralization 2008-11-16 07:17:29 +00:00
Bharat Mediratta 140736a1e4 Several large changes:
1) Changed the way that we get forms.  Now, if you want to get a form
   for a REST resource you prefix /form to the resource id.  So:
    /form/photo/1    : returns a form for editing photo id 1
    /form/comments/1 : returns a form for adding a comment to photo id 1
    /form/comment/1  : returns a form for editing comment id 1

2) Changed the comment module to have two controllers:
    comment:  deals with a single comment resource
    comments: deal with collections of comments attached to an item

Related stuff:
- Moved the comments js into the theme
- Reworked Comment_Helper for clarity
- Moved form generation code down into Comment_Helper
- Cleaned up routes (eliminating new comment ones added in recent rev)
- Added form() function to all REST controllers
- Changed comment module to use a block instead of an arbitrary helper call from the theme
- Comment controller only returns HTML currently, but returns a 201 Created status
  code when a new comment is added, which the Ajax code can catch and act upon.
- Got rid of a lot of extra views in comment module
2008-11-16 07:14:12 +00:00
Tim Almdal be67187ad9 Create MY_Forge to specify the defaul html 2008-11-16 06:43:31 +00:00
Felix Rabinovich f27929e126 create a regular user and make scaffolding assign owner to logged in user 2008-11-16 05:46:42 +00:00
Jozef Selesi f9eaa8c220 Initial add comment implementation. 2008-11-15 16:52:23 +00:00
Bharat Mediratta e901d613bf Add Theme::module() and module::get() 2008-11-15 09:08:18 +00:00
Bharat Mediratta db6061096e Item / Owner changes.
* Hardcode the item has_one owner relationship again
* Overload User_Model::__get to handle missing owners gracefully
* Fix Item_Controller to take the owner_id from the session or
  from the parent album when adding new albums and photos.
2008-11-15 08:44:01 +00:00
Felix Rabinovich 6dbf5ae172 Clean user / item relationship. Upload files gets the ownership of current user; and the views don't break if user module is not installed 2008-11-15 08:19:14 +00:00
Bharat Mediratta ae7839ffaa Revise the user login code.
* Remove user registration link and popup from the theme; this
  shouldn't be done in a popup. Use ajaxform to simplify the way
  that we load the login popup.

* Create form.html.php, this is a template for Forge based forms.

* Move user validation rules into User_Model and let forms
  populate the rules into their forms as useful.

* Undo r18688's changes regarding the REST code.  We should never
  accept a null resource, this breaks the REST abstraction.

* Change login and user controllers to use Forge which lets us delete
  login.html.php and user.html.php since those now are generated by
  the theme-owned form template
2008-11-15 06:23:09 +00:00
Tim Almdal e0ec9dd76a Allow the HTTP get method to be called without an id to create any empty template. 2008-11-14 16:51:11 +00:00
Tim Almdal b5f48e4ab3 Use the shortform to load the resource. 2008-11-14 07:30:47 +00:00
Bharat Mediratta 0fe8d44472 Create module helper and refactor all the code that creates, updates
and deletes modules into it.
2008-11-13 10:38:28 +00:00
Jozef Selesi 56dcb953b0 Code cleanup, add test for time formatting function. 2008-11-12 15:43:05 +00:00
Bharat Mediratta 453e15f502 Throw an exception when we can't upload a file. This is not the best solution, but it works for now. 2008-11-12 10:11:05 +00:00
Felix Rabinovich 7423c755c0 aliasing owner to user 2008-11-12 08:30:55 +00:00
Bharat Mediratta 51c64f1d28 Create a simple benchmark that loads 500 localized messages and performs
500 localizations on them.
2008-11-12 00:05:47 +00:00
Bharat Mediratta fd4faa89e6 Override View_Core::render so that we trap errors stemming from bad
PHP includes and show a visible stack trace to help developers.
2008-11-11 23:07:30 +00:00