Commit Graph

648 Commits

Author SHA1 Message Date
Brion Vibber
cba114c850 Add a "grandfather" creation date cutoff to RequireValidatedEmail plugin; will allow us to use this for temporary emergency moderation of new registrations without affecting older accounts. 2009-12-07 11:29:18 -08:00
Evan Prodromou
0c955b7c88 remove unit tests for minify 2009-12-07 12:13:42 -05:00
Sarven Capadisli
11dab47e2d If localStorage is not supported, showPause as usual 2009-12-07 12:12:32 +00:00
Sarven Capadisli
189296c5a0 Using localStorage to keep the play/pause state of RealtimeUpdate 2009-12-07 11:44:43 +00:00
Sarven Capadisli
49005881bd Minor fix for play/pause mouseleave 2009-12-06 22:07:49 +00:00
Sarven Capadisli
a555963f97 Preliminary UI for Play/Pause behaviour on hover state for notices 2009-12-05 23:12:56 +00:00
Craig Andrews
9349d823ee Add FirePHP plugin - uses FirePHP as an output method for logging 2009-12-05 02:13:40 -05:00
Craig Andrews
51f0dd5e37 Add configuration option to toggle the indenting of the output HTML. Defaults to indent enabled. 2009-12-05 01:03:04 -05:00
Craig Andrews
c08d7f1aa4 Minify inline JS and CSS (can be disable in configuration) 2009-12-05 00:41:22 -05:00
Craig Andrews
88e50003ae If a theme server is being used, do not minify theme CSS (as doing so could cause 404s) 2009-12-04 23:17:46 -05:00
Craig Andrews
f4fc8481e2 Separate out some common code 2009-12-04 23:17:19 -05:00
Craig Andrews
d41a0a5ed0 Use inlineScript() instead of element() to write inline javascript 2009-12-04 20:33:41 -05:00
Craig Andrews
675e32ac9a use cssLink() instead of element() to write out references to CSS 2009-12-04 20:21:05 -05:00
Craig Andrews
d31b1d774e use the new htmloutputter->style() function 2009-12-04 20:20:44 -05:00
Craig Andrews
4c8bed8ba0 Use inlineScript() everywhere inline scripts are written 2009-12-04 19:41:51 -05:00
Craig Andrews
aab7344002 Merge branch 'minify' into 0.9.x 2009-12-04 18:44:26 -05:00
Zach Copley
1fd7e5e379 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-04 22:43:34 +00:00
Evan Prodromou
5c973876ac Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-04 16:30:33 -05:00
Evan Prodromou
098426cee9 configurable expiry for cached Geonames data defaults to 90 days 2009-12-04 16:25:05 -05:00
Zach Copley
eb0a5977ff Don't try to broadcast the notice if something went wrong. 2009-12-04 20:39:50 +00:00
Evan Prodromou
41f10b742c remove duplicate log() function from RealtimePlugin 2009-12-04 15:34:41 -05:00
Evan Prodromou
99b23782ef let Geonames clients use commercial Web service 2009-12-04 15:30:43 -05:00
Zach Copley
0177b386d8 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-04 20:18:42 +00:00
Zach Copley
cff12603cf Make imported Twitter notices show up via real time plugins. 2009-12-04 20:17:42 +00:00
Evan Prodromou
e7e9dfceb4 remove unnecessary debugging code from mapstraction output 2009-12-04 14:36:24 -05:00
Evan Prodromou
a92228c713 Update Mapstraction to properly scrape data from notice-list pages
Refactored the JavaScript for Mapstraction use so it scrapes data from
the HTML of the page it's on, if possible, and otherwise generates a
JSON array.
2009-12-04 14:31:19 -05:00
Craig Andrews
01b089d9be Added minify plugin 2009-12-04 12:36:00 -05:00
Craig Andrews
35ff3961e8 Remove unnecessary pass by reference indicators 2009-12-03 19:59:31 -05:00
Craig Andrews
567bd6c0c2 Merge branch 'mapsimprovement' into 0.9.x 2009-12-03 19:45:29 -05:00
Craig Andrews
43a1a35524 refactor the common parts of usermap and allmap into a common base class 2009-12-03 19:43:02 -05:00
Brion Vibber
c89b10ffe4 Code style cleanup: dropped some unnecessary =& reference assignments where they're used only out of habit for PHP 4-style object semantics 2009-12-03 12:58:48 -08:00
Craig Andrews
e3caec9d8a Load notice data using javascript from the html on the page instead of writing json representations of the notices on each page
Clicking on a geo link pops up a map (round 2)
2009-12-02 21:24:41 -05:00
Zach Copley
fcf1c4e53f Remove useless debugging statement 2009-12-02 19:33:08 +00:00
Zach Copley
9dc888894b Merge branch 'master' into 0.9.x
* master: (67 commits)
  Ticket 2038: fix bad bug tracker link
  Fix regression in group posting: bug introduced in commit 1319002e15. Need to use actual profile object rather than an id on a variable that doesn't exist when checking blocks :D
  Log database errors when saving notice_inbox entries
  Drop the username from the log id for now; seems to trigger an error loop in some circumstances
  request id on logs... pid + random id per web request + username + method + url
  Add OpenID ini info back into statusnet.ini as a stopgap until we can
  Some changes to the OpenID DataObjects to make them emit the exact same
  OpenID plugin should set 'user_openid.display' as unique key
  Remove relationship: user_openid.user_id -> user.id. I don't think this
  Have OpenID plugin DataObjects emit their own .ini info
  Revert "Allow plugin DB_DataObject classes to not have to use the .ini file by overriding keys(), table(), and sequenceKey() for them"
  Catch and report exceptions from notice_to_omb_notice() instead of letting the OMB queue handler die.
  Fix regression in remote subscription; added hasRole() shadow method on Remote_profile.
  Fix fatal error on OMB subscription for first-timers
  Remove annoying log msg
  Drop error message on setlocale() failure; this is harmless, since we actually have a working locale set up.
  Catch uncaught exception
  Fixed bug where reply-sync bit wasn't getting saved
  Forgot to render the nav menu when on FB Connect login tab
  Facebook plugin no longer takes over Login and Connect settings nav menus
  ...

Conflicts:
	db/08to09_pg.sql
	db/statusnet_pg.sql
	locale/pt_BR/LC_MESSAGES/statusnet.mo
	plugins/Mapstraction/MapstractionPlugin.php
2009-11-30 10:28:58 -08:00
Brion Vibber
10f40661a2 Ticket 1870: drop unnecessary Tidy module installation requirement.
Tidy was only being used by a couple of non-default URL shortener plugins,
PtitUrl and TightUrl. Both were easily changed to load the tag-soup HTML
via DOMDocument (using the default DOM module which is already used by
other dependencies).

Added xml, dom, and simplexml modules to the requirements check
in install.php, as they were being used but not checked for.

Also cleaned up LilUrl, PtitUrl, and TightUrl to return URL as a string
instead of as a SimpleXML node object.
2009-11-30 09:12:19 -08:00
Sarven Capadisli
5bb07ba6be Increased notice_data-attach width 2009-11-30 12:29:02 +00:00
Sarven Capadisli
5f63c0279f Better notice_data-attach alignment for mobile devices that support
input type file
2009-11-30 12:27:48 +00:00
Sarven Capadisli
68a42f4917 Updated notice-options items alignment in MobileProfile 2009-11-30 11:45:40 +00:00
Sarven Capadisli
1d1778137b Minor. Removed whitespace. 2009-11-30 11:12:45 +01:00
Sarven Capadisli
a1bea8bb38 Allow Realtime notices to use the attachments interface 2009-11-29 19:27:33 +00:00
Sarven Capadisli
6d29f3f2de Bind for UserFlag only if there is a form for it 2009-11-28 20:54:32 +01:00
Sarven Capadisli
237f2c2d78 Calling NoticeReplyTo instead of NoticeReply in Realtime 2009-11-28 15:46:24 +00:00
Sarven Capadisli
c413a4d80b Explictly unbinding is unnecessary as jQuery's remove() takes care of it 2009-11-28 14:58:57 +00:00
Sarven Capadisli
2ac1179a05 SN.U.NoticeFavor should be SN.U.NoticeReply 2009-11-28 14:51:22 +00:00
Sarven Capadisli
36e38b4b60 Only bind submit to the notice created by Realtime 2009-11-28 14:29:25 +00:00
Sarven Capadisli
2755a6d3cf Moved moderation styles out of UserFlag and put it into core. Updated
icons.
2009-11-26 20:38:06 +00:00
Sarven Capadisli
5f5a107991 Init UI to show/hide a group of moderation actions. 2009-11-26 18:46:11 +00:00
Sarven Capadisli
cde4d866eb Updated the cross line on silence icon 2009-11-26 13:20:08 +00:00
Sarven Capadisli
e9d27dc96e Updated moderation (sandbox, silence, delete) icons for UserFlag 2009-11-26 13:07:59 +00:00
Sarven Capadisli
385573f174 Moved CSS out to its own file for UserFlag 2009-11-26 13:03:01 +00:00
Sarven Capadisli
b16cabc3bc Renamed icon file 2009-11-26 12:57:52 +00:00
Zach Copley
e767436176 Some changes to the OpenID DataObjects to make them emit the exact same
.ini info as what used to be in statusnet.ini before OpenID was pulled
out into a plugin.
2009-11-26 02:22:53 +00:00
Zach Copley
2d25f288a7 Some changes to the OpenID DataObjects to make them emit the exact same
.ini info as what used to be in statusnet.ini before OpenID was pulled
out into a plugin.
2009-11-26 02:21:23 +00:00
Zach Copley
58e1d9a68b OpenID plugin should set 'user_openid.display' as unique key 2009-11-26 01:27:39 +00:00
Zach Copley
a1f87f415a OpenID plugin should set 'user_openid.display' as unique key 2009-11-26 01:26:19 +00:00
Zach Copley
1b46d17f4e Have OpenID plugin DataObjects emit their own .ini info 2009-11-25 23:54:53 +00:00
Zach Copley
2b6cf0d8b6 Revert "Allow plugin DB_DataObject classes to not have to use the .ini file by overriding keys(), table(), and sequenceKey() for them"
This reverts commit a373d07ae0.

Conflicts:

	classes/statusnet.ini
	lib/schema.php
	plugins/Authentication/AuthenticationPlugin.php
	plugins/OpenID/OpenIDPlugin.php
	plugins/UserFlag/UserFlagPlugin.php
2009-11-25 23:54:36 +00:00
Zach Copley
bd4a613c38 Merge branch 'fix-openid' into 0.9.x 2009-11-25 23:33:13 +00:00
Zach Copley
441b62e87e Have OpenID plugin DataObjects emit their own .ini info 2009-11-25 23:12:24 +00:00
Zach Copley
8acc1587b1 Revert "Allow plugin DB_DataObject classes to not have to use the .ini file by overriding keys(), table(), and sequenceKey() for them"
This reverts commit a373d07ae0.

Conflicts:

	classes/statusnet.ini
	lib/schema.php
	plugins/Authentication/AuthenticationPlugin.php
	plugins/OpenID/OpenIDPlugin.php
	plugins/UserFlag/UserFlagPlugin.php
2009-11-25 13:38:59 -08:00
Sarven Capadisli
1ea5ccc5c1 I can't hide the location and status bars in Firefox, IE or Chromium.
It only works in Safari and Opera.
https://developer.mozilla.org/En/DOM/Window.open confirms that by
default, Firefox and IE forces their presence.
2009-11-25 21:32:51 +00:00
Sarven Capadisli
9d5e8649fa Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-25 20:37:44 +00:00
Sarven Capadisli
36aa933bc5 Better layout for entity_profile and entity_actions 2009-11-25 20:37:03 +00:00
Zach Copley
3b2f39e1e1 Catch uncaught exception 2009-11-25 18:07:00 +00:00
Zach Copley
f7c1c4e601 Catch uncaught exception 2009-11-25 18:04:08 +00:00
Zach Copley
aeb933355d Fixed bug where reply-sync bit wasn't getting saved 2009-11-25 01:37:00 +00:00
Zach Copley
e6842b7189 Fixed bug where reply-sync bit wasn't getting saved 2009-11-25 01:36:17 +00:00
Zach Copley
824e347e55 Forgot to render the nav menu when on FB Connect login tab 2009-11-25 01:13:21 +00:00
Zach Copley
b586063ebe Forgot to render the nav menu when on FB Connect login tab 2009-11-25 01:11:29 +00:00
Zach Copley
ace4b7dc09 Facebook plugin no longer takes over Login and Connect settings nav menus 2009-11-25 00:46:34 +00:00
Zach Copley
f12972a50f Facebook plugin no longer takes over Login and Connect settings nav menus 2009-11-25 00:43:20 +00:00
Zach Copley
3556861596 Fix SSL options for Twitter bridge HTTP requests 2009-11-24 19:12:57 +00:00
Zach Copley
b20b59e9ea Fix SSL options for Twitter bridge HTTP requests 2009-11-24 19:11:34 +00:00
Zach Copley
2eae258319 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-24 18:47:56 +00:00
Sarven Capadisli
84ed094f40 Moved initPopupWindow CSS out of JS in Realtime plugin 2009-11-24 13:10:34 +00:00
Sarven Capadisli
9f6b3daaec Added realtime-popup class to <body> for popup output. 2009-11-24 13:09:17 +00:00
Sarven Capadisli
5973192593 Enable border-top when Realtime pop up window is initialized 2009-11-24 12:55:08 +00:00
Craig Andrews
83ba93e945 Change the format of the lat/lon output on a notice in HTML 2009-11-20 17:40:38 -05:00
Craig Andrews
3db551ed5a Undo part of c6e4feb815 so that blacklisted notices are not displayed in realtime 2009-11-20 13:58:13 -08:00
Craig Andrews
953f3a6e4f Undo part of c6e4feb815 so that blacklisted notices are not displayed in realtime 2009-11-20 15:34:48 -05:00
Evan Prodromou
028a44e080 use caching in geonames plugin 2009-11-20 15:27:47 -05:00
Brion Vibber
afe5e71c4e Quick fix for Safari XHTML error... the map doesn't currently work with Safari, but this gets the whole page parsing again! 2009-11-20 12:04:27 -08:00
Brion Vibber
e7663ce38f fix notice bug 2009-11-20 13:57:35 -05:00
Brion Vibber
1ca022464a Fix double-escaped HTML in mapstraction notice popups 2009-11-20 10:17:14 -08:00
Brion Vibber
46c5a52810 fix notice bug 2009-11-20 10:08:13 -08:00
Brion Vibber
b189c9500c Initial functional version of feed subscription plugin, currently supporting only PuSH-enabled feeds. 2009-11-20 09:42:19 -08:00
Craig Andrews
09d67d6f80 Fix js error on non-map containing pages 2009-11-20 11:16:39 -05:00
Evan Prodromou
d645db38ae Merge branch 'master' of git@gitorious.org:statusnet/mainline 2009-11-20 08:00:34 -08:00
Evan Prodromou
85ec057422 use caching in geonames plugin 2009-11-20 07:58:28 -08:00
Zach Copley
4bace8f1a5 Add routing rules for FB app in front of other rules 2009-11-20 11:13:24 +00:00
Zach Copley
e640561ccd Add routing rules for FB app in front of other rules 2009-11-20 11:11:18 +00:00
Sarven Capadisli
f8b76ebc11 Updated form markup 2009-11-20 05:50:46 +00:00
Sarven Capadisli
501170f3cf Updated form markup 2009-11-20 05:48:05 +00:00
Sarven Capadisli
c6e4feb815 These changes didn't go into master (from 0.9-release) 2009-11-20 05:28:10 +00:00
Brion Vibber
dd36c2de23 Initial functional version of feed subscription plugin, currently supporting only PuSH-enabled feeds. 2009-11-19 21:04:21 -08:00
Zach Copley
003b25ee56 Merge branch '0.9-release'
* 0.9-release:
  Changed DEFINE name to avoid conflicts
2009-11-19 20:51:20 -08:00
Sarven Capadisli
e1fcac0e09 Changed DEFINE name to avoid conflicts 2009-11-20 04:49:35 +00:00
Zach Copley
e3de04f8cd Merge branch '0.9-release'
* 0.9-release:
  Reduced entity_profile width in pop up
2009-11-19 20:18:35 -08:00
Zach Copley
4b98edf75f Merge branch '0.9-release'
* 0.9-release: (874 commits)
  Removed call to NewDirectMessage() until IE return is fixed i.e.,
  Don't show flag user button your own profile
  Fixed HXR response for flag user
  Using the right form class name
  Using common_redirect
  Left a form_data class of a <ul> in the user admin panel
  Added validation to fields in user admin panel
  Added a user admin panel
  Added mobile logos for default and identica themes
  Changed gif to png
  Changed this to action. THANKS zach!
  Doing content negotiation only once
  Add execute bit to pingqueuehandler
  Localisation updates for !StatusNet from !translatewiki.net
  Use the browser's geolocation API to set the location on the notice form
  Add geometa library, and include it.
  Add location form elements to the noticeform, and save their values on submission
  Use the $user object nickname, as login name doesnt have to == nickname anymore with plugins such as ldap/etc
  Revert "Re added NICKNAME_FMT constant to router.php."
  Moved most path and server settings to a new paths admin panel
  ...

Conflicts:
	js/util.js
	locale/it_IT/LC_MESSAGES/statusnet.mo
	locale/mk_MK/LC_MESSAGES/statusnet.mo
	locale/mk_MK/LC_MESSAGES/statusnet.po
	locale/pt_BR/LC_MESSAGES/statusnet.mo
	locale/vi_VN/LC_MESSAGES/statusnet.mo
	plugins/InfiniteScroll/infinitescroll.js
	plugins/Realtime/realtimeupdate.js
2009-11-19 20:12:46 -08:00
Sarven Capadisli
b51df36189 Reduced entity_profile width in pop up 2009-11-20 04:09:40 +00:00
Zach Copley
50827d5e81 Don't show flag user button your own profile 2009-11-19 19:56:24 -08:00
Zach Copley
3d2a2d4173 Fixed HXR response for flag user 2009-11-19 19:29:55 -08:00
Sarven Capadisli
2eed928837 Using the right form class name 2009-11-20 03:06:12 +00:00
Sarven Capadisli
30f660b05c Using common_redirect 2009-11-20 02:12:09 +00:00
Craig Andrews
dc90e90fd2 Load notice data using javascript from the html on the page instead of writing json representations of the notices on each page
Clicking on a geo link pops up a map
2009-11-19 19:13:55 -05:00
Sarven Capadisli
5a3267900d Changed gif to png 2009-11-19 20:59:21 +00:00
Sarven Capadisli
78c6056133 Changed this to action. THANKS zach! 2009-11-19 20:52:42 +00:00
Sarven Capadisli
3ff5dd6989 Doing content negotiation only once 2009-11-19 20:47:05 +00:00
Evan Prodromou
507c7e1e6b take out void setLabel() call in Mapstraction 2009-11-19 13:24:03 -05:00
Evan Prodromou
2723bee69f add username and timestamp to map popup 2009-11-19 13:20:55 -05:00
Evan Prodromou
640bb39891 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-19 12:37:26 -05:00
Sarven Capadisli
318dd70de8 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-19 17:35:45 +00:00
Evan Prodromou
ea561b88d1 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-19 12:35:19 -05:00
Evan Prodromou
2daa31f142 show maps on inbox and personal page 2009-11-19 12:34:56 -05:00
Sarven Capadisli
60391d0b96 Brought the plugin up to date with recent 0.9.x changes e.g.,
Theme::path
2009-11-19 17:13:51 +00:00
Craig Andrews
4463768bae tobyink's location RDF patch 2009-11-19 12:00:25 -05:00
Evan Prodromou
ae710f20d8 add markers for each notice and show the bounding box correctly 2009-11-19 11:51:15 -05:00
Evan Prodromou
7e8ce8fe8d Merge branch '0.9.x' into mapstraction 2009-11-19 11:30:35 -05:00
Evan Prodromou
844a28aa9d put out provider JS correctly 2009-11-19 11:21:51 -05:00
Craig Andrews
c721884b52 Should be using onHandleQueuedNotice instead of onEndNoticeSave 2009-11-19 11:08:13 -05:00
Evan Prodromou
ecc1bd6130 first steps towards usermaps 2009-11-19 10:51:46 -05:00
Evan Prodromou
b657e49ec7 Merge branch '0.9.x' into mapstraction 2009-11-19 09:04:56 -05:00
Craig Andrews
cac5a417f2 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2009-11-18 17:04:42 -05:00
Craig Andrews
a00141a180 You cannot use static that way - using another approach to save reuse the default ldap connection 2009-11-18 16:58:06 -05:00
Craig Andrews
6d69d89cfe Reuse ldap connections for the default config 2009-11-18 16:46:16 -05:00
Craig Andrews
6a505da981 do not required that roles_to_groups be specified 2009-11-18 16:41:38 -05:00
Craig Andrews
a882d093bc Blasted missing a $this! 2009-11-18 16:12:55 -05:00
Craig Andrews
b417e4d24f rename isMemberOfGroup to be more consistent with other LDAP functions 2009-11-18 15:53:22 -05:00
Craig Andrews
a215ce6ed6 correct login checking logic 2009-11-18 15:53:07 -05:00
Craig Andrews
297f320e6f attributes['username'] is required 2009-11-18 15:40:27 -05:00
Craig Andrews
9ed70a5b11 Add some functions that were previously undefined 2009-11-18 14:49:42 -05:00
Craig Andrews
44c7813ac1 Add login_group configuration option so only members of a certain group can login 2009-11-18 14:35:44 -05:00
Craig Andrews
d07df8a796 Added Authorization plugin
Added LDAPAuthorization plugin
2009-11-18 14:19:43 -05:00
Sarven Capadisli
63d3e07ce4 Check for dupe from insertNoticeItem() 2009-11-18 19:15:55 +00:00
Sarven Capadisli
c1efb8aa7f Took out CSS from JS and placed it in its own file. 2009-11-18 17:59:44 +00:00
Craig Andrews
1d6bacc681 Improved parameter checking 2009-11-18 12:57:37 -05:00
Sarven Capadisli
ef542afbe5 Added counter beside the play button. When paused, it will update the
counter on new received notices. Counter is removed when play is clicked
2009-11-18 17:23:04 +00:00
Sarven Capadisli
4823463e3f Relatively positioning notice_primary 2009-11-18 16:00:40 +00:00
Sarven Capadisli
6d3d78c793 Styled realtime_actions 2009-11-18 15:57:45 +00:00
Sarven Capadisli
5014b748e4 Added play/pause button for realtime notices. While on pause, it will
store the notices and on play it will add them to the notice list
2009-11-18 15:41:07 +00:00
Evan Prodromou
fa35dab226 Merge branch '0.9.x' into mapstraction 2009-11-18 09:20:31 -05:00
Sarven Capadisli
43b6da8afc Created separate objects for receive actions 2009-11-18 13:34:06 +00:00
Evan Prodromou
1cc10aaef6 set provider global JS variable from Mapstraction 2009-11-18 08:33:48 -05:00
Sarven Capadisli
007418fdab Setting windowhasfocus to true by default 2009-11-18 12:46:36 +00:00
Sarven Capadisli
51e4a45161 Changed from click to bind 2009-11-18 10:56:25 +00:00
Sarven Capadisli
23367ecdcf Setting max notice count in order not to freak out the browser with
memory issues. It removes the node and unbinds the previously assigned
events.
2009-11-18 10:54:57 +00:00
Sarven Capadisli
0c81f39bee Added check to see whether window has focus 2009-11-18 10:53:48 +00:00
Sarven Capadisli
5e0fb1ddfc Added a call to NoticeFavor() 2009-11-18 10:49:41 +00:00
Sarven Capadisli
4fbb6b0dfb Removed setTimeout. It was initially intended to prevent dupes but
this is not the case with 0.9.x's util.js as opposed to 0.8.x, where it
didn't properly check if a given notice id is already in the list
2009-11-18 10:46:55 +00:00
Sarven Capadisli
edf9b38637 Changed window open name to '' because IE doesn't compute names that
include the '-' character.
2009-11-18 10:43:55 +00:00