Commit Graph

141 Commits

Author SHA1 Message Date
Bharat Mediratta
1c85cf6397 Convert comment code over to model based validation. 2010-01-16 22:27:07 -08:00
Bharat Mediratta
31a545fa26 Add missing execute() call -- tests ftw! 2009-12-21 15:58:22 -08:00
Bharat Mediratta
a6dbd25cf1 Update database queries. 2009-12-06 21:38:09 -08:00
Bharat Mediratta
96b00d6cfe Convert some more Database::instance() calls to db::build() form. 2009-11-26 21:14:54 -08:00
Bharat Mediratta
1fd0e14359 Convert all DB where() calls to take 3 arguments.
Convert all open_paren() calls to and_open() or or_open() as appropriate.
2009-11-26 12:09:04 -08:00
Bharat Mediratta
0121bfd585 ORM::orderby -> ORM::order_by 2009-11-25 19:26:52 -08:00
Tim Almdal
4c3b9e363a Refactor the comment module as part of ticket: #917 "Remove Rest Controller"
* Remove the methods create, update, delete, get_edit_form as there are not used
* Change the return when a comment is created to return the html for the new comment.
  This saves a second get request to down load the comment.
2009-11-25 08:12:50 -08:00
Tim Almdal
a5a8cfd1bc Re-generate the install.sql so that the keys of the block lists are an md5 hash of the module_name:block_id. Also change the packager so we delete the _cache variable for the module gallery not core. 2009-11-12 13:14:02 -08:00
Tim Almdal
26f8240e34 Revert "Try an new approach to extending forms. Create an extend_form event. For the first attempt replace the comment_add_form and item_add_form events."
This reverts commit 809e738536.
2009-11-09 11:52:43 -08:00
Tim Almdal
809e738536 Try an new approach to extending forms. Create an extend_form event. For the first attempt replace the comment_add_form and item_add_form events. 2009-11-01 13:14:11 -08:00
Tim Almdal
376eb5673f Convert the event handlers for the "identity provider changed" and "user_deleted" events to use ORM or the Kohana query builder to build the database update calls instead of coding the sql directly. 2009-11-01 10:22:56 -08:00
Tim Almdal
488b67014b Revert "Cleanup typo and change what is passwed into the event. pass the group that the recaptch element should be attached to instead of the whole form. This allows the recaptch event to have no knowledge of the containing form."
Revert "Generalize the adding of the recaptcha form by changing the name of the event to recaptch_add.  This prevents us from having to keep modifying the recaptch module anytime we add a form that requires recaptcha."

This reverts commits e45ea9359d and bfafef95e8.
2009-10-31 16:26:20 -07:00
Tim Almdal
903b5f6f67 Add identity_change handlers to resolve the ownership issues of comments, subscription, items and tasks. 2009-10-31 14:23:05 -07:00
Tim Almdal
90465012d1 Patch to clean up loose ends when a user is deleted.
* For items and tasks the owner id is set to admin
* For notification subscriptions, the subscription is deleted
* For comments, I've extracted the user name, email and url and set the guest_name, guest_email and guest_url columns while setting the author_id to identity::guest()->id
Fix for ticket #777.
2009-10-30 14:23:57 -07:00
Tim Almdal
e45ea9359d Cleanup typo and change what is passwed into the event. pass the group that the recaptch element should be attached to instead of the whole form. This allows the recaptch event to have no knowledge of the containing form. 2009-10-29 09:27:44 -07:00
Tim Almdal
bfafef95e8 Generalize the adding of the recaptcha form by changing the name of the event to recaptch_add. This prevents us from having to keep modifying the recaptch module anytime we add a form that requires recaptcha. 2009-10-29 09:21:07 -07:00
Tim Almdal
7ea13b3869 Normalize capitalization ticket #596 2009-10-28 12:15:52 -07:00
Tim Almdal
6fb116c53b Merge branch 'master' into talmdal_dev 2009-10-26 06:24:51 -07:00
Chad Kieffer
76aa4bd1ef Move comment and recaptcha CSS to their respective modules. 2009-10-25 23:32:49 -06:00
Tim Almdal
3c936d661a Change the name of identity library from Identity to IdentityProvider. Create a helper class called identity to simplify call the Identity Provider. Move the contents of MY_Session.php to the new helper class and remove the MY_Session class 2009-10-22 13:11:03 -07:00
Tim Almdal
78ee4193b7 Remove all non Identity API methods from Identity.php. Created an MY_Session class to provide the user state changes in the session and a login.php helper that has the login form. 2009-10-16 10:06:58 -07:00
Tim Almdal
00eacd659f Start simplifying the interface by moving the static methods from user.php and group.php. Tried creating a identity helper, but the helper identity.php was confused with the library Identity.php. So got around this by making the methods on Identity static and calling the instance within the static methods. Also temporarily moved the user.php and group.php back into the user module. 2009-10-16 08:53:31 -07:00
Chad Kieffer
3e6ba7acc3 Renamed most, if not all css selectors from gName to g-name. Moved a few shared images from wind to lib. Deleted unused images in the admin_wind. This will likely break a few ajax features. 2009-10-04 00:27:22 -06:00
Tim Almdal
60d35b8992 Use the block_manager to manage site sidebar panels. Fixes ticket #110.
* Extend block_manager to handle sidebar blocks. get_available has become get_available_admin_blocks, get_list becomes get_admin_list.
* Create new functions get_available_site_blocks which will look for gallery_block get_available_site_blocks.
* Refactor sidebar_blocks into a separate function and then call block_manager::get_html(site.sidebar). Convert image_block to use block management instead of theme::sidebar_blocks
* Change the block_manager api so that the theme is passed into the get method. convert info to the new sidebar block approach
* Convert the user module to use the new sidebar block structure. remove the installers for info and image_block modules.
* Convert tag and rss modules to the new sidebar framework. reset the version number to 1 for info and image_block modules.
* Change the get_html method to ignore empty blocks and change the individual handlers to return an empty string if no block is generated
* Add a warning message if no sidebar blocks are active and provide a link to the admin page that configures the sidebar.
2009-09-30 07:31:12 -07:00
Bharat Mediratta
aed7ce9161 Specify a page anchor for the comments block. 2009-09-13 14:25:17 -07:00
Bharat Mediratta
d5cd6a92e7 Rename $comment_model to $comments, this time without stomping on the
pre-existing variable.
2009-09-01 20:40:18 -07:00
Bharat Mediratta
eab5d71d06 Revert "Rename $comment_model to $comments."
This reverts commit d85a8b20bb.
2009-09-01 20:39:08 -07:00
Andy Staudacher
b9bd1681a3 Update all code to use helper method html::clean(), html::purify(), ... instead of SafeString directly. 2009-08-29 22:54:20 -07:00
Andy Staudacher
a5dfc81a8f Merge commit 'upstream/master'
Conflicts:

	modules/akismet/views/admin_akismet.html.php
	modules/comment/helpers/comment_rss.php
	modules/gallery/helpers/gallery_rss.php
	modules/gallery/libraries/I18n.php
	modules/gallery/views/permissions_browse.html.php
	modules/gallery/views/simple_uploader.html.php
	modules/info/views/info_block.html.php
	modules/organize/controllers/organize.php
	modules/organize/views/organize.html.php
	modules/organize/views/organize_album.html.php
	themes/default/views/album.html.php
	themes/default/views/movie.html.php
	themes/default/views/photo.html.php
2009-08-29 14:17:48 -07:00
Andy Staudacher
c01ac42c46 Refactor all calls of p::clean() to SafeString::of() and p::purify() to SafeString::purify().
Removing any p::clean() calls for arguments to t() and t2() since their args are wrapped in a SafeString anyway.
2009-08-29 12:48:40 -07:00
Bharat Mediratta
d85a8b20bb Rename $comment_model to $comments. 2009-08-29 11:48:49 -07:00
Tim Almdal
38b2efc44c Fix for 641... extend viewable functionality to comments. Viewable unit test is not working. 2009-08-29 11:43:10 -07:00
Tim Almdal
6de10a54dd Fix typo in the parameter list 2009-08-29 11:21:30 -07:00
Tim Almdal
1d5262f9c3 Fix ticket #591: reCaptcha always on the page.
1) move creating the "Add a comment" button into the comments.html.php
2) use $.get() to retrieve the comment add form
2009-08-28 13:44:01 -07:00
Bharat Mediratta
4828db003f Remove 'ENGINE=InnoDB' specification from tables that we create. Use
the system's default table specification.  Fixes ticket #597.
2009-08-27 15:47:54 -07:00
Bharat Mediratta
7863aa16f9 Update tags module to notify modules when items related to a tag are
affected.  Practically speaking this means that we'll reindex items
when tags are added or removed from them.

API change:
  Remove item_related_updated_batch event.

Rationale:
  While this is an efficient event, it requires module developers to
  support two event APIs for staying up to date and increases the
  likelihood that they'll forget one and have data corruption.  Force
  them all through the slower but more reliable pipe, for now.  We
  can always try to improve efficiency by using the batch_start and
  batch_stop events.
2009-08-08 14:30:21 -07:00
Bharat Mediratta
44bc74edb9 Change search callbacks to use the event system, so move them out of
xxx_search helpers and into xxx_event helpers.
2009-07-28 20:30:34 -07:00
Bharat Mediratta
1e90e40d3a Use events to generate menus, instead of having xxx_menu helpers.
This is the first step towards having a simple, lightweight and
unified API for module interaction.
2009-07-28 13:47:22 -07:00
Bharat Mediratta
dbeadc1407 Use the Kohana cascading filesystem to locate resources loaded by the
theme.  Because the theme comes first, this means that themes can
override any module resources, at the cost that we no longer have
namespacing for JS and CSS files.

The only file getting used outside of this model is
themes/default/screen.css which is used in the admin theme.  I fixed
that by copying screen.css into admin_default and renaming its
screen.css to admin_screen.css.  I also copied over all the images
that it was referencing.

Fixes tickets #48 and #539.

Theme API changes:
- theme_script(), theme_url() and theme_css() are no longer needed
- script(), url() and css() now refer to the first matching asset in
  the module load path, where gallery3/lib is at the end of the path
2009-07-22 14:27:57 -07:00
Bharat Mediratta
0f766b149d Second non-trivial change to the event code. We now publish model
related events from within the model handling code.  The only
exception to this currently is item_created which is challenging
because we have to save the item using ORM_MPTT::add_to_parent()
before the object itself is fully set up.  When we get that down to
one call to save() we can publish that event from within the model
also.
2009-07-16 12:31:40 -07:00
Bharat Mediratta
5b3b675b6d Non-trivial changes to the event handling code:
1) The item_updated event no longer takes the old and new items.
   Instead we overload ORM to track the original data and make
   that available via the item.  This will allow us to move event
   publishing down into the API methods which in turn will give us
   more stability since we won't require each controller to remember
   to do it.

2) ORM class now tracks the original values.  It doesn't track
   the original relationships (no need for that, yet)

3) Added new events:
     item_deleted
     group_deleted
     user_deleted
2009-07-16 11:19:34 -07:00
Tim Almdal
d6648c0aff Fix for ticket #477. Use nl2br method when rendering comment::text and
item::description.  In addition add p::clean or p::purify to places that
xss cleaning had missed (i.e. rss feeds)
2009-07-04 08:17:12 -07:00
Tim Almdal
54ffea2419 Split the clean method into two clean and purify. clean is a light weight
approach using html::specialchars and purify uses HTMLPurifier to intelligently
cleanse the output fields. Use purifier for text and title fields where it is
likely that a user would enter html to format their data.
2009-07-03 21:44:10 -07:00
Tim Almdal
4cec020163 Create a theme_view function script which allows modules in the head or admin_head functions to specify javascript files that are required for this page.
In this commit, these script files are expressed at the end of the head or admin_head calls and appended to the beginning of the block stack.  In a future commit these will be combined and gzipped for download.
2009-06-26 14:37:15 -07:00
Bharat Mediratta
3b0baa8271 Replay change from Romain DE LISEZ to change the state column to be a varchar 2009-06-23 13:45:16 -07:00
Bharat Mediratta
e49c4a2459 Upgrade to version 2 and change the state column to a varchar for
Postgres compatibility.
2009-06-23 13:40:23 -07:00
Bharat Mediratta
bfca0c7903 Refactor the install/upgrade code to be more flexible.
Add xxx_installer::upgrade($version) method so that upgrade stanzas
are separate from install stanzas.  In the old code, to do an upgrade
meant that you had to re-evolve everything from the initial install
because we'd step through each version's changes.  But what we really
want is for the initial install to start off in the perfect initial
state, and the upgrades to do the work behind the scenes.  So now the
install() function gets things set up properly the first time, and the
upgrade() function does any work to catch you up to the latest code.
See gallery_installer.php for a good example.
2009-06-23 12:00:49 -07:00
Bharat Mediratta
ce2fde5d37 Refactor the comment_rss::feed() method to eliminate code duplication. 2009-06-15 21:35:14 -07:00
Bharat Mediratta
32ea4406c8 Refactor the way that the rss module works so that we're not allowing
the url to dictate arbitrary static method calls.

* Each xxx_rss helper has a single feed() call which takes an id as the argument

* xxx_rss::available_feedS() only returns feeds when they're applicable (ie
  if you're viewing a tag, it won't show you an item feed).

* Feed urls are now in the module/feed_id form so that we can bind a
  feed id to a given module

* Tightened up the Rss_Controller by using url::merge and some other tricks.

* Made the slideshow module express its own feed.
2009-06-14 21:51:54 -07:00
Bharat Mediratta
00fad54c0b Refactor feed code to use stdClass everywhere. Fix bugs in the
max-pages calculation code.  Move feed related data into the $feed
variable and only pass that to the view.
2009-06-14 16:40:57 -07:00