* make xgettext copy coments over into the po files.
* copy comment about RSVP from www.citadel.org into calendar.c
* move comments in auth.c, xgettext takes the coments from the line _above_ and not after.
Art Cancro [Tue, 14 Sep 2010 13:50:32 +0000 (09:50 -0400)]
CtdlRoomAccess() can now return a new value UA_REPLYALLOWED, which
indicates that the user may post a message to this room *if* it is
a reply to an existing message.
CtdlDoIHavePermissionToPostInThisRoom() now must be told whether
the user is replying to an existing message or posting a top-level
message. If it is a reply, UA_REPLYALLOWED is checked. If it is
a top-level message, UA_POSTALLOWED is checked. If UA_POSTALLOWED
is not set, but UA_REPLYALLOWED is set, and the message is not a
reply, a new error message indicates that the user may only reply
to existing messages. I may add a new error code for this later.
* NewStrBufDupAppendFlush(): if you have an IO/Buf, and a maybe yet created or still NULL target buffer, this is your friend. Depending on bufferlength it will choose to swap buffers or copy them over, so your target buffer won't become that huge for a short string.
Art Cancro [Fri, 10 Sep 2010 20:36:38 +0000 (16:36 -0400)]
Applied samjam's CtdlMessageInRoom() patch but wrapped it around
an #ifdef pending a performance review. I suspect that this could
cause a problem on rooms with tens of thousands of messages.
Art Cancro [Thu, 9 Sep 2010 16:48:05 +0000 (12:48 -0400)]
Added template element THISROOM:FEED:RSS to offer an RSS feed button for a room, anywhere on the page.
Added THISROOM:FEED:RSS to the room banner template.
Art Cancro [Wed, 8 Sep 2010 16:49:46 +0000 (12:49 -0400)]
New global variable 'site_prefix' which replaces the often-repeated code which constructs a host header when we need to express something as an absolute URL. In the not too distant future I will add code to allow the server to override the detected value with a configured value.
Art Cancro [Tue, 7 Sep 2010 20:01:29 +0000 (16:01 -0400)]
cmd_invt_kick() is normally permitted when the room namespace matches the user number because it means the user owns the room. Disable this when the namespace happens to be 0.
* add missing entry in list of environment variables to fix off by one making the .debs put settings into wrong citadel setting.
Thanks Samjam to give the missing hint to track this bug.
Art Cancro [Sat, 4 Sep 2010 05:52:27 +0000 (01:52 -0400)]
The status line is back! Reused the callbacks from IO ERROR's
implementation but reimplemented the display in a way that does
not require using curses.
Art Cancro [Fri, 3 Sep 2010 22:22:04 +0000 (18:22 -0400)]
Added the ability to handle Base64-encoded URL's. We will use these, along with the new
start_reading_at field, to tell search engines how to find the tops of message threads when we
eventually begin offering sitemaps.
Art Cancro [Fri, 3 Sep 2010 21:27:59 +0000 (17:27 -0400)]
Added a "start_reading_at" field to the BBS renderer in webcit. When present, the renderer will
start the user out on whichever page contains the specified message number, or the nearest message to
that number if an exact match is not found.
Art Cancro [Fri, 3 Sep 2010 17:23:44 +0000 (13:23 -0400)]
Removed the USscreenwidth and USscreenheight fields. Everywhere. Since these were the last two
fields in the ctdluser data structure, we are able to simply remove them instead of replacing them
with placeholders. cmd_getu() now returns 80x24 all the time, and cmd_setu() now ignores the
supplied screen dimensions.
Art Cancro [Fri, 3 Sep 2010 17:06:18 +0000 (13:06 -0400)]
cmd_msg*() now work properly in guest mode. This completes the minimum required functionality for an anonymous guest client to traverse public rooms and read messages.
Art Cancro [Fri, 3 Sep 2010 14:45:05 +0000 (10:45 -0400)]
Ouch. CtdlRoomAccess() had a couple of places where it was checking 'the current user' or 'the current room' instead of the user/room supplied by the caller. Fixed.
Art Cancro [Fri, 3 Sep 2010 14:27:29 +0000 (10:27 -0400)]
CtdlAccessCheck() may now be passed a new access level to check for: ac_logged_in_or_guest, which will succeed if the user is logged in *or* if guest mode is enabled.
Art Cancro [Thu, 2 Sep 2010 17:32:55 +0000 (13:32 -0400)]
HUGE update to the way the paginator works. scr_putc() now keeps track of how many characters and
lines it has written, issuing the paginator prompt when it knows it needs to. scr_getc() resets the
line count to zero. This completely eliminates the need for individual functions to keep track of
their line count, simplifying a lot of code throughout the system. Why didn't I do it this way 20
years ago? TODO: use the server issued paginator prompt instead of a hardcoded string.
Art Cancro [Thu, 2 Sep 2010 01:21:38 +0000 (21:21 -0400)]
Removed err_* and sln_* functions; replaced all calls with scr_* functions.
Removed all build script references to curses and ncurses.
I want all output to go through a single path.
Art Cancro [Wed, 1 Sep 2010 17:40:00 +0000 (13:40 -0400)]
Completed the removal of $Id$ tags in the Citadel server. Also, since the strings returned from the
module init functions are now short names rather than entire Id tags, the phrase "Loaded module:" has
been prepended to the log messages which display them.