summaryrefslogtreecommitdiff
path: root/modules/comment
AgeCommit message (Collapse)Author
2008-12-25Big round of normalization of the way that our controllersBharat Mediratta
communicate. Almost all controllers now use JSON to speak to the theme when we're dealing with form processing. This means tht we only send the form back and forth, but we use a JSON protocol to tell the browser success/error status as well as the location of any newly created resources, or where the browser should redirect the user. Lots of small changes: 1) Admin -> Edit Profile is gone. Instead I fixed the "Modify Profile" link in the top right corner to be a modal dialog 2) We use json_encode everywhere. No more Atom/XML for now. We can bring those back later, though. For now there's a lot of code duplication but that'll be easy to clean up. 3) REST_Controller is no longer abstract. All methods its subclasses should create throw exceptions, which means that subclasses don't have to implement stubs for those methods. 4) New pattern: helper method get_add_form calls take an Item_Model, not an id since we have to load the Item_Model in the controller anyway to check permissions. 5) User/Groups REST resources are separate from User/Group in the site admin. They do different things, we should avoid confusing overlap.
2008-12-25Rest_Controller -> REST_Controller everywhere, for consistency.Bharat Mediratta
2008-12-25Convert tag module over to returning JSON.Bharat Mediratta
2008-12-25Fix the way we dump out comment in _show().Bharat Mediratta
2008-12-25Update the form first, then clear it on success (else it doesn't get cleared ↵Bharat Mediratta
on success)
2008-12-25Be consistent: resource is a url, data is the actual JSON encoded result.Bharat Mediratta
2008-12-25Gut the comment module and simplify it. Stop trying to support AtomBharat Mediratta
and XML for now, we have no driver for those technologies so anything we implement is not going to be sufficiently tested and therefore it'll be broken. Change all comment functions to return JSON and update the JS to deal purely with JSON. This is our new protocol for talking to the browser and it should be flexible and portable. Create comments.html.php. This duplicates comment.html.php, but will be more efficient for rendering comments since we won't be creating a new View for every comment we render.
2008-12-24Minor cleanups.Bharat Mediratta
2008-12-22Change the way that we track modules.Bharat Mediratta
Each module now has a "module.info" file that has information about the module, including the core. We can display the installed version, and the version in the code. Also take a first shot at a modules admin page.
2008-12-21Implement the "recent comments" block with real data.Bharat Mediratta
2008-12-21Change "datetime" to "created" to give some semantics to this field.Bharat Mediratta
2008-12-20Fix preambleBharat Mediratta
2008-12-20Move Recent Comments into its own block.Bharat Mediratta
2008-12-18Add labels to the form groups.Bharat Mediratta
2008-12-18Refactor site admin menu into a theme function and build the menus inBharat Mediratta
the various modules. In the process, rename xxx_menu::site_navigation() to just xxx_menu::site(). And add xxx_menu::admin(). The menus are the same as before, but I changed the HTML to be consistent with the way that we do it in the regular site, and this broke the superfish styles. I don't know how to fix this.. help me Chad!
2008-12-06Add firing comment_added and comment_updated eventsTim Almdal
2008-11-28Create module::event() which runs Gallery events. It works byBharat Mediratta
convention. To respond to the "photo_created" event in the gmaps module, you create modules/gmaps/helpers/gmaps_event.php containing class gmaps_event which has function photo_created. Renamed all events from gallery.foo.bar to foo_bar Updated tag module to use new convention.
2008-11-28Rename item events and create events for comment create, login, logout, user ↵Tim Almdal
creation. I probably forgot some, but its a start.
2008-11-27Centralize logging around installing/uninstalling modules.Bharat Mediratta
2008-11-27Move javascript from default theme to appropriate modulesTim Almdal
2008-11-25Move comment listing into the comment moduleBharat Mediratta
2008-11-24Changed comment sort order asc. Changed ajax comment add to append comment ↵Chad Kieffer
li to comment thread ul. Added fadeIn for user login.
2008-11-23Prefer variable interpolation to sprintf where possible (less code, more ↵Bharat Mediratta
readable) Prefer url::abs_site() to atom::get_base_url()
2008-11-23Changed and extended the Atom library a little so that the code for creating ↵Jozef Selesi
entries and feeds has been considerably simplified and reduced.
2008-11-23* Individual comment views now output valid Atom 1.0 entries:Jozef Selesi
http://example.gallery.com/index.php/comments/{comment_id}?_format=atom * Changed Content-Type of Atom feeds and entries to XML for easier debugging. * Added an Atom helper class with some common functions and cleaned up entry and feed generation code a bit in the comment helper. * Style fixes.
2008-11-22* Fixed a bug in the Atom library where child elements were not added to ↵Jozef Selesi
their proper parents. * Added valid Atom 1.0 feeds for comments. They can be seen at: http://gallery.example.com/index.php/comments?item_id={photo_id}&_format=atom
2008-11-22Correct case on helper class names. By convention, helper class names are ↵Tim Almdal
lower case: http://docs.kohanaphp.com/general/helpers
2008-11-22* Added test for rest::request_method().Jozef Selesi
* Implemented delete in comment.
2008-11-21Fixed style issues on comment container, should be plural id (gComments). ↵Chad Kieffer
Removed gCommentForm id, it's not necessary, at least not now.
2008-11-20Use rest::http_content_type() instead of the header() method to set response ↵Tim Almdal
content
2008-11-20* Added HTTP status constants and helper functions to REST helper.Jozef Selesi
* HTTP header setting in comment module now going through REST helper API. * Fixed items controller test. * Fixed user installer test. * Fixed _create() handling in the REST controller. * Fixed routing for edit and add forms. * Added some tests for the REST controller. * Set svn:eol-style to LF on a bunch of files. * Added preamble to MY_Forge.php.
2008-11-19Change the way that we do RESTful routing.Bharat Mediratta
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-18* Changed REST API. Now there are two separate methods for forms:Jozef Selesi
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- All comments of an item can now be seen /comments?item_id=Jozef Selesi
- 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-18Gracefully handle the no-comments caseBharat Mediratta
2008-11-18First iteration of REST controller refactoring. RESTful controllers that ↵Jozef Selesi
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-17Remove stray <ul> from comment listBharat Mediratta
2008-11-17Add output formats to our REST controllers. Add support for JSON andBharat Mediratta
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-16Put _method into the edit form's url; Implement Comment::_put() properlyBharat Mediratta
2008-11-16Drop the call to render() and just use the View's __toString method toBharat Mediratta
print it out.
2008-11-16Create Forge::add_rules_from() which pulls validation rules from the model andBharat Mediratta
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-16Several large changes:Bharat Mediratta
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-16Create MY_Forge to specify the defaul htmlTim Almdal
2008-11-15use text::alternate where appropriateBharat Mediratta
2008-11-15Do comment add in a single request, some code cleanup.Jozef Selesi
2008-11-15Remove unnecessary pasted code.Jozef Selesi
2008-11-15Initial add comment implementation.Jozef Selesi
2008-11-13Create module helper and refactor all the code that creates, updatesBharat Mediratta
and deletes modules into it.
2008-11-13Major updates to form CSS. Now using unordered lists for layouts. Added ↵Chad Kieffer
.gInline for forms like login, search, tags. Updated comment, login, search, and tagging forms. All form styles live in screen.css now. Still a lot to do, but this is a good foundation.
2008-11-12Code cleanup, add test for time formatting function.Jozef Selesi