Commit Graph

3624 Commits

Author SHA1 Message Date
Bharat Mediratta
3bd8be2651 Change the relative_path_cache and relative_url_cache columns to store
urlencoded data for ease of use when we're dealing with the data.
This fixes ticket #569 by not allowing the urls that we put into our
RSS feeds to have bad characters in them.

We have to convert a path like var/albums/foo/"quotes"/bar.jpg into
something like var/albums/foo/%22quotes%22/bar.jpg.  If we take the
approach of storing native data in the cache, then we have to explode
the path, urlencode the bits, and implode it again to avoid escaping
the / char.  By storing it escaped, we avoid this problem. I believe
(but have not tested) that this is more efficient.
2009-09-08 21:02:45 -07:00
Bharat Mediratta
6cfcab2a5e Amend the v12 installer to empty out the relative_url_cache and
relative_path_cache columns.
2009-09-08 20:59:39 -07:00
Bharat Mediratta
48becbe017 Update item::convert_filename_to_slug() to eliminate leading and
trailing hyphens.
2009-09-08 20:03:55 -07:00
Bharat Mediratta
453fb76443 Actually use the slug when creating new albums (instead of just converting the
filename over).
2009-09-08 20:00:04 -07:00
Bharat Mediratta
f69dee8841 Trim leading and trailing hyphens from the slug. 2009-09-08 19:58:27 -07:00
Bharat Mediratta
df85f43aa1 Remove unused $feed->link. 2009-09-08 17:05:38 -07:00
Bharat Mediratta
cf0c8b6319 Minor tweaks to the url refactor. 2009-09-08 17:01:59 -07:00
Bharat Mediratta
2aad580f53 Move specialized (pretty) url generation back into Item_Model so that
we're not relying on overriding url::site() to do tricks around item
urls.  This means that you won't get item urls by doing
url::site("albums/37"), for example, but it also means that we won't
get pretty urls where we don't expect them (like in the action of a
<form> element).

Incidentally, this will help us move over to using the slug format
because if you've got a bad character in a url, the edit forms will
now work on it since they'll be id based.
2009-09-08 13:44:52 -07:00
Bharat Mediratta
6084848088 Improve comment. 2009-09-08 10:20:06 -07:00
Bharat Mediratta
714a82d1e0 Automagically generate pretty urls for movies, too. 2009-09-07 21:49:19 -07:00
Bharat Mediratta
7889ae1085 Fix a bug where we were not properly decoding the path in the fallback
code in get_item_from_uri() by using relative_url() instead of
relative_path().
2009-09-07 21:33:00 -07:00
Bharat Mediratta
86f88769f9 Update Item_Model::save() to consider the relative_xxx_cache fields as
insignificant, in addition to the view_count field.  This means that
we won't trigger an event, nor will we adjust the updated field if
*only* those fields are changed.
2009-09-07 21:30:48 -07:00
Bharat Mediratta
78a42d9b83 1. Actually set the slug to the new value in the controllers.
2. Fix up an issue where we were crashing if there were no conflicting rows
3. Amend Item_Model so that if you change the slug, it flushes the cache
   for all children
2009-09-07 21:09:52 -07:00
Bharat Mediratta
f28353f4e1 Add the 'Internet Address' field to all items, along with proper
validation for the fields.
2009-09-07 21:01:51 -07:00
Bharat Mediratta
dccfce4c00 Correct a mental mistake in the prior change. All the xxx_url()
methods actually refer to the url to the file on disk, not the logical
item.  That's relative_url().  Perhaps some API renaming is in order?
2009-09-07 21:00:52 -07:00
Bharat Mediratta
a73b5e8226 Switch to using Item_Model::relative_url() for the url path. 2009-09-07 20:59:42 -07:00
Bharat Mediratta
83ebc2e2b0 Remove unused item::validate_no_name_conflict() and a debug line. 2009-09-07 20:59:11 -07:00
Bharat Mediratta
2f666f4c52 Add item::validate_url_safe() with a test. 2009-09-07 20:07:37 -07:00
Bharat Mediratta
6bc2235b27 Populate the slug field from the title as well. 2009-09-07 16:29:51 -07:00
Bharat Mediratta
795675e2b5 Add the slug to album, photo, and movie forms. 2009-09-07 16:21:58 -07:00
Bharat Mediratta
991bb0c063 Update golden file. 2009-09-07 16:21:58 -07:00
Bharat Mediratta
3f997562de Add support for a per-item "slug" which will be the user-visible url
component for that given item.  Album hierarchies are represented by
nested slugs.  By default, we convert the filename to a slug when you
create an album, photo or movie.
2009-09-07 15:42:08 -07:00
Bharat Mediratta
68a78f7cce Quiet down ffmpeg in movie::extract_frame() 2009-09-07 15:34:01 -07:00
Bharat Mediratta
14ba8505cc Don't allow users to take away their own edit permissions. If we
detect that they did, just give it back.  There's no visible message
in that case.
2009-09-06 11:45:41 -07:00
Bharat Mediratta
6c60310522 Don't show clickable link for breadcrumb items where the user doesn't
have edit permissions.
2009-09-06 11:34:51 -07:00
Bharat Mediratta
ac8c9d6670 Fix indentation. 2009-09-06 11:26:20 -07:00
Bharat Mediratta
d8f5b0f5a3 Change click() to change() so that we immediately update the UI when
the user picks a new option.
2009-09-05 21:14:25 -07:00
Andy Staudacher
b3d0cb5a4c Bugfixes for locales::locale_from_http_request(), and adding tests.
(And the tests should illustrate that kohana 2.4's API doesn't quite fit our purpose of simply getting the best match between the accepted (client) and the installed (g3) locales.)
2009-09-05 18:55:44 -07:00
Andy Staudacher
b01596c0f0 Update XSS test golden data file. 2009-09-05 18:19:13 -07:00
Andy Staudacher
beb232a1cc Revert previous edit. Prefer « none » (sweet, nice Unicode characters) instead of HTML entities. 2009-09-05 17:43:47 -07:00
Andy Staudacher
047196b23c Add missing view for language selection 2009-09-05 17:39:49 -07:00
Bharat Mediratta
9fbdcf3efd Change the module installer so that you don't need to provide your own
install() function if all you're going to do is to set the version of
the module from module.info into the database.  This means that for some
simple modules, you don't need an install.php file at all.
2009-09-05 13:39:30 -07:00
Bharat Mediratta
ab7323d17b Fix the url in the call to get subsequent entries to have the right
url, and to be json.  Fixes #719, which I introduced in my refactor.
2009-09-04 21:27:23 -07:00
Bharat Mediratta
add134cc75 placeholder for a missing view 2009-09-04 20:29:12 -07:00
Bharat Mediratta
a25640f9b2 Shorten the name in the block so that it doesn't wrap.
Use &laquo; and &raquo; in the << none >> text.
2009-09-04 20:28:46 -07:00
Bharat Mediratta
49de9bba68 Add @todo to replace locales::locale_from_http_request()
request::accepts_language() when we upgrade to Kohana 2.4
2009-09-04 20:19:15 -07:00
Andy Staudacher
f63766556a XSS test golden data file update 2009-09-04 11:20:02 -07:00
Andy Staudacher
75e99c9ea3 When changing user preferences, reset the session based locale preferences. 2009-09-04 11:17:11 -07:00
Andy Staudacher
001623c755 Add new locale preferences: Adding per session (cookie) locale preferences and check the browser's / OS' locale preferences.
Ticket 582.
2009-09-04 11:06:20 -07:00
Andy Staudacher
c453c0ef82 Simplifying SafeString a bit: From a XSS HTML security point of view, treat clean() and purify() the same.
No longer run a safe HTML string through the HTML purifier (since it's already marked as safe).

This also addresses the issue of calling purify() when no purifier is installed. In that case, we'd run clean() on a clean string (double HTML encoding).

If this approach doesn't work out, we can still modify the fallback code of purify() to check if the string is already clean before calling clean() instead of purify().
2009-09-04 10:11:42 -07:00
Bharat Mediratta
1ffb5b24df Checkpoint. 2009-09-03 11:34:02 -07:00
Bharat Mediratta
1405e8ed9e Fix tests for new purifier API. 2009-09-03 11:29:57 -07:00
Bharat Mediratta
1dca0b9d6b Fix test for new purifier API. 2009-09-03 11:28:42 -07:00
Bharat Mediratta
82dd468002 Refactor interaction with the purifier module so that the API is
cleaner and we don't need to know about the module innards.  Move the
config file over there too.
2009-09-03 11:25:02 -07:00
Andy Staudacher
e2d5944e56 Minor performance improvement: Reduce module var cache lookups in SafeString. 2009-09-03 08:49:14 -07:00
Andy Staudacher
8f6a120b52 Ensure that purify isn't applied twice for an already purified SafeString 2009-09-03 08:39:44 -07:00
Tim Almdal
c4b449add1 Merge branch 'master' into talmdal 2009-09-03 01:11:52 -07:00
Tim Almdal
dcdd44109b fix the expected return value of photos controller 2009-09-03 01:11:28 -07:00
Tim Almdal
41e3773417 fix the expected return value of album controller 2009-09-03 01:07:02 -07:00
Tim Almdal
33bcf11e27 Change the Html_Helper and SafeString tests to change the expeced results based on whether HtmlPurifier module is installed or not 2009-09-03 01:05:03 -07:00