Commit Graph

1955 Commits

Author SHA1 Message Date
Zach Copley
e3c70cc30c Merge branch 'friendships_show' into 0.8.x
* friendships_show:
  Implement friendships/show API method
  Route and stub for new friendships/show API method
2009-07-03 15:43:14 -07:00
Zach Copley
a2a4cc35f6 Implement friendships/show API method 2009-07-03 15:42:12 -07:00
Evan Prodromou
c04e3c7769 only show subscribe button in profile list for local users 2009-07-03 10:14:02 -04:00
Evan Prodromou
72d0ee4e25 move peoplesearchresults class to action/peoplesearch 2009-07-03 10:10:12 -04:00
Evan Prodromou
3e4be98ff6 add _queueName function 2009-07-03 10:05:07 -04:00
Evan Prodromou
00074cda73 Merge branch '0.8.x' into queuemanager 2009-07-03 03:08:34 -04:00
Zach Copley
acb4c78346 Route and stub for new friendships/show API method 2009-07-02 17:32:27 -07:00
Zach Copley
d80c553e5f Make logging facility configurable 2009-07-02 16:06:13 -07:00
Evan Prodromou
e8f27025ba more logging in stompqueuemanager 2009-07-02 12:43:09 -04:00
Sarven Capadisli
a9c83b064f Added event to let the site owner add more information into <address>
for contact e.g., email, location, tagline
2009-07-02 16:06:06 +00:00
Sarven Capadisli
35a5934503 Changed sioc:reply_to to sioc:reply_of 2009-07-02 15:38:25 +00:00
Evan Prodromou
5f9a4ebef4 Merge branch '0.8.x' into queuemanager 2009-07-02 08:51:10 -04:00
Zach Copley
734f631e1e Show correct number of profile avatars and 'all' link in subs asides 2009-07-01 18:40:14 -07:00
Evan Prodromou
721ba6c88f Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x 2009-07-01 12:58:49 -04:00
Evan Prodromou
8a8390c1a7 exclude p argument when calculating selfUrl 2009-07-01 12:58:16 -04:00
Evan Prodromou
e52997e52f change queuehandler class to use queuemanager interface 2009-07-01 12:11:02 -04:00
Evan Prodromou
a35138b268 add fail() method to dbqueuemanager and fix logging 2009-07-01 12:10:25 -04:00
Evan Prodromou
2325d934a8 add fail() method to stompqueuemanager 2009-07-01 12:10:11 -04:00
Evan Prodromou
557418bc1e better transport choices when xmpp is disabled 2009-07-01 12:09:41 -04:00
Evan Prodromou
887d35cfc8 better queue manager detection, new method fail() 2009-07-01 12:09:18 -04:00
Evan Prodromou
f61645aef8 take out session handler notification 2009-07-01 11:38:10 -04:00
Evan Prodromou
e0bf8ad95b Add UnQueueManager for immediate handling
Perhaps it's a little precious, but I took out the switches in
util.php to determine what's supposed to be sent when, and made
a queuemanager class that will just do things when they're supposed to
be done.
2009-07-01 11:34:12 -04:00
Evan Prodromou
7b66a12913 save frames for StompQueueManager 2009-07-01 11:10:23 -04:00
Evan Prodromou
4c256a6d7e better hook variables for StartQueueManager 2009-07-01 11:09:58 -04:00
Evan Prodromou
58b427869a compile errors in DBQueueManager 2009-07-01 11:09:42 -04:00
Jeff Mitchell
b416df9312 Add site-wide option to change the length at which URLs are auto-shortened 2009-06-30 16:46:33 -07:00
Zach Copley
ccbc5c447d Merge commit 'jeff-themovie/small-fixes' into 0.8.x
* commit 'jeff-themovie/small-fixes':
  Fix missing max_id in API search calls
  Fix "Trying to get property of non-object" errors when a user tries to log in using an unknown nickname
  Fix "Trying to get property of non-object" errors when accessing the people search results page
  Fix "Undefined variable: cnt"
  Fix "Trying to get property of non-object" errors in groupeditform.php
  Fix "Undefined property: DisfavorAction::$id"
2009-06-30 16:25:52 -07:00
Zach Copley
b10dba2798 Merge commit 'jeff-themovie/invite-enabled' into 0.8.x
* commit 'jeff-themovie/invite-enabled':
  Adds $config['invite']['enabled'] to enable/disable invites.
2009-06-30 16:10:12 -07:00
Jeff Mitchell
c3cffaf9c7 Laconica defaults to a locale 'en' which uses language 'en'. Unfortunately, this language doesn't exist -- properly it's en_US. This causes a lot of spammy messages in syslog. This fix simply changes 'en' to have
the same properties as 'en-us', i.e. a language of en_US and a description of 'English (US)'.
2009-06-30 14:36:40 -07:00
Zach Copley
4321e02c7b Delete orphaned background imgs. Design settings code now passes
phpcs.
2009-06-29 16:57:36 -07:00
Zach Copley
a23b612ae9 Small comment change (default is for both users an groups) 2009-06-29 15:37:13 -07:00
Zach Copley
135927e42a Allow users and groups to reset their design to system default colors 2009-06-29 14:52:38 -07:00
Zach Copley
dd1fc46f09 Merge branch '0.8.x' into design_reset
* 0.8.x: (32 commits)
  admin indicators in groups
  show section with admins in sidebar of group
  update to latest (r76) version of XMPPHP
  better output for common error handler
  fix logging error
  note when going background
  change name of constructor for xmppdaemon
  add a lot more logging to xmppdaemon
  error in get_option_value wasn't returning a value
  reformat commandline.inc
  if not in daemon mode, xmppdaemon sends log to stdout
  extract log-line formatting to its own function
  got my background/foreground logic backwards
  twitter status fetcher takes an id argument
  more efficient fixup of conversations
  commandline processing handles errors better
  xmppdaemon.php can stay in foreground
  command line arg handling a little more flexible
  Daemon can optionally not go into the background
  don't canonicalize people's text into URLs
  ...

Conflicts:
	theme/base/css/display.css
2009-06-29 13:23:45 -07:00
Evan Prodromou
14575fe6fc better output for common error handler 2009-06-28 19:24:14 -04:00
Evan Prodromou
6557a569e5 fix logging error 2009-06-28 17:41:16 -04:00
Evan Prodromou
5cc58f1e01 note when going background 2009-06-28 17:38:02 -04:00
Evan Prodromou
9f079764aa extract log-line formatting to its own function 2009-06-28 16:38:27 -04:00
Evan Prodromou
6ca4dfa7ef Daemon can optionally not go into the background 2009-06-28 16:12:23 -04:00
Evan Prodromou
495c85544a don't canonicalize people's text into URLs 2009-06-28 15:21:15 -04:00
Evan Prodromou
854c82cfd5 start of queuemanager code 2009-06-28 14:38:34 -04:00
Evan Prodromou
e5b758dbbe start of queuemanager code 2009-06-28 14:38:31 -04:00
Evan Prodromou
871f598dcc debug flag for sessions 2009-06-27 08:11:09 -07:00
Evan Prodromou
70521d55a8 log IP for API auth errors 2009-06-27 07:37:58 -07:00
Evan Prodromou
7af94dc125 some debugging code for sessions 2009-06-27 07:09:21 -07:00
Evan Prodromou
71dad1ff62 use the session class to store sessions 2009-06-27 06:20:24 -07:00
Evan Prodromou
0ca22cf6e2 a memcached_dataobject class for saving sessions 2009-06-27 05:48:22 -07:00
Evan Prodromou
ce76d61957 marker in sessions 2009-06-27 05:07:14 -07:00
Sarven Capadisli
f65015b24a Added input submit to let the user to go back to site's default design
settings
2009-06-27 03:21:18 +00:00
Jeffery To
612a107e09 Merge branch '0.8.x' into small-fixes 2009-06-26 15:44:31 +08:00
Jeffery To
6328add622 Merge branch '0.8.x' into invite-enabled 2009-06-26 15:31:42 +08:00
Zach Copley
4662a4fa0d Add attachment action back into router 2009-06-25 14:05:06 -07:00
Zach Copley
6262fdbe78 Merge branch '0.8.x' of git@gitorious.org:laconica/dev into 0.8.x
* '0.8.x' of git@gitorious.org:laconica/dev:
  Added fragment identifier to the "in context" URL which points to
  Adds a scrollbar if the filename is too long for the attached file
2009-06-25 12:52:55 -07:00
Zach Copley
2707622762 Return clippy to his rightful place next to attachments 2009-06-25 12:52:10 -07:00
Sarven Capadisli
0eb77e6753 Added fragment identifier to the "in context" URL which points to
the notice location in the Conversation page.
2009-06-25 18:57:39 +00:00
Sarven Capadisli
e872ca5bfa Merge branch '0.8.x' of git@gitorious.org:laconica/dev into 0.8.x 2009-06-25 06:57:00 +00:00
Sarven Capadisli
fcb43dd711 Added class entry-content to attachment list container 2009-06-25 06:55:40 +00:00
Evan Prodromou
becfd6b3b5 all daemons take an id parameter 2009-06-24 19:31:12 -07:00
Evan Prodromou
a6c56d17e0 Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x 2009-06-24 19:18:32 -07:00
Evan Prodromou
63f12c48a8 make stomp server work with username and password 2009-06-24 19:17:41 -07:00
Sarven Capadisli
835799ff16 Separated attachment view components 2009-06-25 00:49:54 +00:00
Sarven Capadisli
fa57e717e3 Moved the attachment representation outside of the anchor so that
onclick, it doesn't follow through on the href (e.g., it would play
the video in the overlay instead)
2009-06-25 00:25:22 +00:00
Brenda Wallace
56496a2cb5 add missing group by item, to make database that aren't mysql happy 2009-06-24 21:31:10 +12:00
Zach Copley
d72a90161b Only show "tile background" setting once an img has been uploaded 2009-06-24 00:43:48 -07:00
Zach Copley
b702461f69 fix bad function call (needed to be static) 2009-06-24 00:27:37 -07:00
Sarven Capadisli
2d3e990ed4 Using default theme design values (it was previously set to identica
theme)
2009-06-23 21:26:47 +00:00
Jeffery To
280f8faab4 Merge branch '0.8.x' into small-fixes
Conflicts:
	lib/peoplesearchresults.php
	lib/profilelist.php
2009-06-24 01:25:55 +08:00
Evan Prodromou
a21a9f26c5 append uploads to content rather than showing them double 2009-06-23 07:29:43 -07:00
Evan Prodromou
e2becdb251 use a subclass for single notice items to show attachments 2009-06-23 07:25:18 -07:00
Evan Prodromou
7bcaa858af make file command configurable 2009-06-23 05:35:20 -07:00
Evan Prodromou
205d8afe54 Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x 2009-06-22 17:13:28 -07:00
Evan Prodromou
9171f16b73 add commandline.inc for parsing 2009-06-22 15:29:24 -07:00
Evan Prodromou
0461aafeef Merge branch '0.8.x' into cmdline 2009-06-22 14:51:17 -07:00
Zach Copley
09e24af683 Add upload location to attachments config section 2009-06-22 21:36:04 +00:00
Zach Copley
e6559e3bea Merge branch '0.8.x' of git@gitorious.org:laconica/dev into 0.8.x
* '0.8.x' of git@gitorious.org:laconica/dev:
  Layout fix for IE6
  theme dir, path configurable
2009-06-22 10:56:02 -07:00
Evan Prodromou
7cf0a4c647 theme dir, path configurable 2009-06-22 09:31:55 -07:00
Zach Copley
9014a0a90d Merge branch '0.8.x' of git@gitorious.org:laconica/dev into 0.8.x
* '0.8.x' of git@gitorious.org:laconica/dev:
  Add like for search
  got rid of 'skin' concept a while ago
  add collecta.com link
  Update copyright dates in files modified in 2009
  change Controlez-Vous to Control Yourself
  ignore config.php.*
  Position of max_file_size position helps IE
2009-06-21 22:30:39 -07:00
Evan Prodromou
876ab05927 Add like for search 2009-06-21 21:50:35 -07:00
Evan Prodromou
02a4ca9e2e got rid of 'skin' concept a while ago 2009-06-21 21:38:16 -07:00
Evan Prodromou
b64ac083dd add collecta.com link 2009-06-21 11:11:12 -07:00
Evan Prodromou
de0335fbe9 add TOS to footer menu if brought-by available 2009-06-20 22:36:56 -07:00
Evan Prodromou
29bebdb50b Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x 2009-06-20 21:32:27 -07:00
Evan Prodromou
aec6456c91 Update copyright dates in files modified in 2009 2009-06-20 16:12:55 -07:00
Evan Prodromou
793a6a1155 change Controlez-Vous to Control Yourself 2009-06-20 16:00:04 -07:00
Evan Prodromou
198afa0a1d change scripts to take server and path from commandline 2009-06-20 14:58:47 -07:00
Sarven Capadisli
054e4459b2 Position of max_file_size position helps IE 2009-06-20 18:22:05 +00:00
Zach Copley
b8f3f32f3f Keep Twitter gateway notices from leaking thru MySQL notice search 2009-06-19 20:21:57 -07:00
Sarven Capadisli
9be54a3dcf Minor indenting 2009-06-19 16:04:14 +00:00
Sarven Capadisli
1c2cf10811 Includes a sioc:reply_to link between notices. It helps with things
like http://danbri.org/words/2009/06/16/415
Thanks to Toby Inkster for the patch:
http://buzzword.org.uk/2009/laconica-0.7.3-sioc-reply_to.patch
2009-06-19 15:54:24 +00:00
Evan Prodromou
597df6a234 better calculation of path 2009-06-18 16:19:26 -07:00
Sarven Capadisli
23d6d19e75 Better attachment view check 2009-06-18 19:03:44 +00:00
Sarven Capadisli
730c173238 Updated markup and CSS for attachment_view 2009-06-18 18:48:19 +00:00
Robin Millette
c442b400b9 Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x 2009-06-18 06:02:54 -04:00
Robin Millette
65b4cfbb54 Display more oembed info in attachment popup. 2009-06-18 06:02:12 -04:00
Zach Copley
3f032bc36e Left out some new user and group theming file in the previous commit 2009-06-18 02:16:39 -07:00
Zach Copley
57274d21ba Group theming. 2009-06-18 02:01:06 -07:00
Zach Copley
6c7bdf9df6 Merge branch 'userdesign' into 0.8.x
* userdesign: (56 commits)
  Fix for background image repetition for various page heights
  Removed height:100% for better background image repetition
  A little more specific selector for notice reply
  Have user favorites page show user's design
  Placed a check to make sure there is a reply button in a notice before
  Make MailboxAction read only
  Remove stale reference to deprecated personal.php
  Uppercase hex color values
  Default to image being on, no tile after upload
  Fix sidebar color bug default design
  Update background image settings to use bitflags
  It was accidently removed
  Dynamically tile background image  and turn background image on or off
  Show a background img in settings form
  IE7/8 CSS update for user design
  Enable tiling of background imgs for Designs
  Added background image tile flag to Design
  Init styles for tile and image use on/off for user design settings
  Added form option to tile background image and to turn it on and off
  Add background dir
  ...
2009-06-17 18:49:25 -07:00
Zach Copley
b0591cd982 Make MailboxAction read only 2009-06-17 17:29:57 -07:00
Zach Copley
4fc4c0a74b Remove stale reference to deprecated personal.php 2009-06-17 17:13:59 -07:00
Evan Prodromou
2187ec7056 hide group name and aliases in group tag cloud section 2009-06-17 15:20:44 -07:00
Zach Copley
164588ef0f Merge branch '0.8.x' into userdesign 2009-06-17 21:40:52 +00:00
Zach Copley
cd1361fe96 Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x 2009-06-17 14:36:33 -07:00
Zach Copley
8992e8fa7a Ticket 1612 - make destory (and create) favorites work via API 2009-06-17 14:34:04 -07:00
Zach Copley
7e25a7f3aa Output XML and JSON error msgs for API calls 2009-06-17 14:32:36 -07:00
Robin Millette
b58dc5e961 Added config option to enable or disable file uploads with notices. 2009-06-17 16:55:01 -04:00
Robin Millette
28d02ec8cd Make oohembed endpoint configurable. 2009-06-17 16:44:33 -04:00
Zach Copley
af4b18b1e2 Uppercase hex color values 2009-06-17 03:05:48 -07:00
Zach Copley
76cbeff33c Update background image settings to use bitflags 2009-06-17 02:35:51 -07:00
Zach Copley
d1ae3176b6 Enable tiling of background imgs for Designs 2009-06-16 22:18:25 -07:00
Zach Copley
bc1f877f6e Design settings now save and displays backgrounds 2009-06-16 19:17:37 -07:00
Zach Copley
c3c30aa0ea Check to make sure a design exists before trying to display it 2009-06-15 23:18:54 -07:00
Zach Copley
ef99f83963 Output custom stylesheets on design sub-Actions 2009-06-15 22:13:35 -07:00
Zach Copley
44343986c3 Merge branch '0.8.x' into userdesign
* 0.8.x:
  a little better query handling in redirect code
  a little better query handling in redirect code
  forgot some functions aren't available at status time
  redirect on non-canonical server name
  don't show create-a-group link if not logged in
  allow a configured base for cache keys
  Missing call to getProfile() caused verify_credentials to fail.
  change mods for setup script
  Script to set up new status networks
  strncmp -> strcasecmp
  Return network from network setup function
  Configurable avatar directory
2009-06-15 21:24:22 -07:00
Zach Copley
e7e3709ae0 Throw an WebColorException if wrong # of hex chars 2009-06-15 21:21:33 -07:00
Zach Copley
20d9350877 User design setting save now 2009-06-15 20:21:33 -07:00
Evan Prodromou
fd290fc3f9 allow a configured base for cache keys 2009-06-15 16:09:40 -07:00
Zach Copley
92f095f589 Merge branch '0.8.x' into userdesign
* 0.8.x: (32 commits)
  updates to Status_network
  makeadmin action
  make admins of groups
  show aliases when showing a group
  Link and distribute notices tagged for a group alias
  Code for adding and saving group aliases
  Styles for group block
  add correct li for css magic for block stuff
  typo in profileminilist class
  return count from show
  try to get the right class for profileminilist
  fix perms for classes/statusnet.ini
  fixup perms for classes
  Added Group_alias class
  add a table for group aliases
  Cross-browser notice_attach
  Allow users to be unblocked from a group
  Some UI improvements for blocking and unblocking
  The rest of the things necessary to make group block work
  Make group block work
  ...

Conflicts:
	db/laconica.sql
	lib/common.php
2009-06-15 11:50:08 -07:00
Evan Prodromou
c077ad0775 Configurable avatar directory
Avatar directory and path are configurable.
2009-06-15 10:45:50 -07:00
Evan Prodromou
2b8a767770 make admins of groups 2009-06-15 00:59:15 -07:00
Evan Prodromou
4dad3191f6 Merge branch 'groupalias' into 0.8.x 2009-06-14 23:48:24 -07:00
Evan Prodromou
1b6b00a6d0 Link and distribute notices tagged for a group alias
Correctly link and distribute notices tagged for a group alias. Added
a helper function, getForNickname(), to User_group, to make it easier
to get a group by its nickname or aliases.
2009-06-14 23:43:47 -07:00
Evan Prodromou
ecbd7718d5 Code for adding and saving group aliases
Added code to add and save group aliases. Like tags, aliases are
free-texted in to the group admin page. configurable max number of
aliases, default is three.
2009-06-14 23:37:24 -07:00
Evan Prodromou
c0f3204a10 Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x 2009-06-14 22:09:59 -07:00
Evan Prodromou
7097804eeb typo in profileminilist class 2009-06-14 22:09:17 -07:00
Evan Prodromou
bef643352d return count from show 2009-06-14 22:09:04 -07:00
Evan Prodromou
ee8dd62038 try to get the right class for profileminilist 2009-06-14 22:07:27 -07:00
Sarven Capadisli
8dd5871d4f Merge branch '0.8.x' of git@gitorious.org:laconica/dev into 0.8.x 2009-06-15 03:26:32 +00:00
Sarven Capadisli
0bc9b2e730 Cross-browser notice_attach 2009-06-15 03:21:15 +00:00
Evan Prodromou
f8da15bf41 Allow users to be unblocked from a group
List users who are blocked from joining a group. Add a form to let
them be unblocked. Add an action that removes the block. Includes
changes to group and groupblock classes.
2009-06-14 16:17:44 -07:00
Evan Prodromou
bd26a80d45 Merge branch '0.8.x' into groupblock
Conflicts:
	lib/router.php
2009-06-14 15:59:35 -07:00
Evan Prodromou
c2ba727d61 Merge branch '0.7.x' into 0.8.x 2009-06-14 15:58:19 -07:00
Evan Prodromou
203a5aba67 Some UI improvements for blocking and unblocking
Add unblock to the router table, so unblocking will work at all.

Block form and unblock form return to subscribers list, not
subscriptions list, by default.

showstream action sends its parameters to block and unblock forms to
better return to the right page.
2009-06-14 15:54:22 -07:00
Evan Prodromou
1c87532912 The rest of the things necessary to make group block work
Link to the group block form. Hide join button if the current user is
blocked.
2009-06-14 15:47:39 -07:00
Evan Prodromou
daf2e7ef47 Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x 2009-06-14 14:54:20 -07:00
Evan Prodromou
b6ef8e735b base class SubscriptionList for some actions 2009-06-14 14:53:42 -07:00
Evan Prodromou
c2dae24701 Break profilelist into a recipe
Expanded the ProfileList class so it worked more like a recipe. This
helps to get rid of a lot of special cases and simplifies the code. It
also makes it possible to do things like group block.
2009-06-14 14:52:26 -07:00
Robin Millette
7c772e1d63 Removed another bit of dead (commented out) code. 2009-06-14 15:48:46 -04:00
Zach Copley
946d016df2 Reworked output for design settings page 2009-06-14 02:03:50 -07:00
Jeffery To
6d308f6ffe Adds $config['invite']['enabled'] to enable/disable invites.
The invite function may not applicable for private and/or closed installs. This adds a configuration option to enable/disable invites (defaulting to enabled), hides the "Invite" nav item when necessary, and adds a check to actions/invite.php.

Note that I haven't tried the Facebook application so I didn't add any checks to actions/facebookinvite.php.
2009-06-14 16:17:22 +08:00
Jeffery To
bb3361467c Merge branch '0.8.x' into small-fixes 2009-06-14 15:45:58 +08:00
Sarven Capadisli
77c94c44a6 Removed hanging skin crapola 2009-06-14 05:57:59 +00:00
Zach Copley
d0eb2058a5 Merge branch '0.8.x' into userdesign
Conflicts:

	actions/showfavorites.php
	lib/action.php
2009-06-14 00:23:48 +00:00
Zach Copley
89d0583b91 Fixes Ticket #1607 - empty 'page-notice' definition lists were
being output in a bunch of places.
2009-06-12 17:06:42 -07:00
Zach Copley
fc6154fe4d Add a method to check for registered event handlers 2009-06-12 16:56:43 -07:00
Sarven Capadisli
8524990512 http://laconi.ca/trac/ticket/1367
Thanks to Toby Inkster for the patch.
2009-06-12 16:18:58 +00:00
Sarven Capadisli
4532babb6f http://laconi.ca/trac/ticket/1370
Thanks to Toby Inkster for the patch.
2009-06-12 16:15:30 +00:00
Sarven Capadisli
392c8d4a96 http://laconi.ca/trac/ticket/863
Thanks to Toby Inkster for the patch.
2009-06-12 16:13:45 +00:00
Sarven Capadisli
1627fe8f33 http://laconi.ca/trac/ticket/1368 Site is the space that Container
sits in.
Thanks to Toby Inkster for the patch.
2009-06-12 15:42:53 +00:00
Sarven Capadisli
e2476307ba Updated Creative Commons namespace to current.
Thanks to Toby Inkster for the patch.
2009-06-12 15:41:45 +00:00
Jeffery To
53f31a247e Fix missing max_id in API search calls 2009-06-12 20:03:18 +08:00
Jeffery To
e2b20bd1e6 Fix "Trying to get property of non-object" errors when a user tries to log in using an unknown nickname 2009-06-12 19:58:30 +08:00