LiveJournal S2 Core, v1

[<< Advanced Customization]
[<< Public Layers] [View source: Raw Source Code | Syntax Highlighted]

Layer Info

author_emailwebmaster@livejournal.com
author_nameLiveJournal Webmaster
majorversion1
nameLiveJournal S2 Core, v1
redist_uniqcore1
typecore

Properties Set

color_comment_bar  #d0d0ff
comment_userpic_style(empty)
external_stylesheet0
font_base(empty)
font_fallbacknone
lang_currenten
lang_dayname_long[
  • (empty),
  • Sunday,
  • Monday,
  • Tuesday,
  • Wednesday,
  • Thursday,
  • Friday,
  • Saturday,
]
lang_dayname_short[
  • (empty),
  • Sun,
  • Mon,
  • Tue,
  • Wed,
  • Thu,
  • Fri,
  • Sat,
]
lang_fmt_date_long%%month%% %%dayord%%, %%yyyy%%
lang_fmt_date_long_day%%day%%, %%month%% %%dayord%%, %%yyyy%%
lang_fmt_date_med%%mon%%. %%dayord%%, %%yyyy%%
lang_fmt_date_med_day%%da%%, %%mon%%. %%dayord%%, %%yyyy%%
lang_fmt_date_short%%m%%/%%d%%/%%yy%%
lang_fmt_month_long%%month%% %%yyyy%%
lang_fmt_month_med%%mon%% %%yyyy%%
lang_fmt_month_short%%m%%/%%yy%%
lang_fmt_time_short%%hh%%:%%min%% %%a%%m
lang_monthname_long[
  • (empty),
  • January,
  • February,
  • March,
  • April,
  • May,
  • June,
  • July,
  • August,
  • September,
  • October,
  • November,
  • December,
]
lang_monthname_short[
  • (empty),
  • Jan,
  • Feb,
  • Mar,
  • Apr,
  • May,
  • Jun,
  • Jul,
  • Aug,
  • Sep,
  • Oct,
  • Nov,
  • Dec,
]
linklist_support1
page_day_sortorderforward
page_friends_items20
page_month_textsubjects1
page_recent_items20
page_year_sortorderforward
reg_firstdayofweeksunday
tags_aware0
text_comment_dateDate:
text_comment_fromFrom:
text_comment_frozenFrozen
text_comment_ipaddrIP Address:
text_comment_parentParent
text_comment_postedComment successfully posted.
text_comment_replyReply
text_comment_threadThread
text_day_nextNext Day
text_day_prevPrevious Day
text_icon_alt_private[private post]
text_icon_alt_protected[protected post]
text_max_commentsMaximum comments reached
text_meta_moodCurrent Mood
text_meta_musicCurrent Music
text_month_screened_commentsw/ Screened
text_multiform_btnPerform Action
text_multiform_checkSelect:
text_multiform_conf_deleteDelete selected comments?
text_multiform_desMass action on selected comments:
text_multiform_opt_deleteDelete
text_multiform_opt_deletespamDelete as Spam
text_multiform_opt_freezeFreeze
text_multiform_opt_screenScreen
text_multiform_opt_unfreezeUnfreeze
text_multiform_opt_unscreenUnscreen
text_noentries_dayThere were no entries on this day.
text_noentries_recentThere are no entries to display.
text_nosubject(no subject)
text_permalinkLink
text_post_commentLeave a comment
text_post_comment_friendsLeave a comment
text_poster_anonymous(Anonymous)
text_read_comments1 comment // # comments
text_read_comments_friends1 comment // # comments
text_reply_backRead Comments
text_reply_nocommentsComments have been disabled for this post.
text_reply_nocomments_headerComments Disabled:
text_skiplinks_backPrevious #
text_skiplinks_forwardNext #
text_tag_uses1 use // # uses
text_tagsTags: #
text_view_archiveArchive
text_view_friendsFriends
text_view_friends_commMembers
text_view_friends_filterFriends (Custom filter)
text_view_friendsfriendsFriends of Friends
text_view_friendsfriends_filterFriends of Friends (Custom filter)
text_view_monthView Subjects
text_view_recentRecent Entries
text_view_userinfoUser Info
text_website_default_nameMy Website
use_shared_pic0
view_entry_disabled0

Global Functions

PalItem(int index, Color c) : PalItemConvenience constructor to make populating an array of PalItems (like in palimg_modify) easy.
alternate(string a, string b) : stringWith each call, this function will alternate between the two values and return one of them. Useful for making tables whose rows alternate in background color.
clean_url(string s) : stringReturns the given URL back if it's a valid URL.
ehtml(string s) : stringEscapes all HTML tags and entities from the text
etags(string s) : stringEscapes all HTML tags (but not entities) from text
eurl(string s) : stringURL escape
get_page() : PageGets the top-level Page instance that LiveJournal ran the Page.print() method on.
get_plural_phrase(int n, string prop) : stringPicks the phrase with the proper plural form from those in the property $prop, passing $n to lang_map_plural(int) to get the proper form for the current language, and then substituting the # character with $n. Also, returned string is HTML-escaped.
get_url(UserLite user, string view) : stringReturns a URL to the specified view for the specified user. Views use the same names as elsewhere. (recent, friends, archive, month, userinfo)
get_url(string user, string view) : stringReturns a URL to the specified view for the specified user. Views use the same names as elsewhere. (recent, friends, archive, month, userinfo)
htmlattr(string name, int value) : stringIf the value isn't blank, return in HTML attribute format with a leading space. HTML of name is not escaped.
htmlattr(string name, string value) : stringIf the value isn't blank, return in HTML attribute format with a leading space. HTML of name is not escaped.
int(string s) : intConvert the string to an integer and return
lang_at_datetime(DateTime d) : stringReturns a string saying "at {the data and time given}". Used in the core implementation of EntryPage and ReplyPage. i18nc layers should override this.
lang_map_plural(int n) : int 
lang_ordinal(int num) : stringMake an ordinal number from a cardinal number
lang_ordinal(string num) : stringMake an ordinal number from a cardinal number. Don't override this, since the core layer implementation just calls [func[lang_ordinal(int)]], which i18nc layers should override.
lang_page_of_pages(int pg, int pgs) : string 
lang_user_wrote(UserLite u) : stringReturns text describing that the user wrote something. i18nc layers should override this.
lang_viewname(string viewid) : stringGet some words representing a view
palimg_gradient(string filename, PalItem start, PalItem end) : stringReturn a URL to the specified filename (relative to the palimg root) with its palette table made into a gradient. All palette entries between the inclusive indexes of $start and $end will fade from the colors in $start and $end. The palette indexes for the start and end can be between 0 and 255.
palimg_modify(string filename, PalItem[] items) : stringReturn a URL to the specified filename (relative to the palimg root) with its palette table altered, once for each provided PalItem. Restrictions: only 7 palette entries may be modified, and the PalItem indexes must be 0-15.
palimg_tint(string filename, Color bright) : stringReturn a URL to the specified filename (relative to the palimg root) with its palette table tinted. The given 'bright' color will be the new white, and darkest color remains black.
palimg_tint(string filename, Color bright, Color dark) : stringReturn a URL to the specified filename (relative to the palimg root) with its palette table tinted. The given 'bright' color will be the new white, and the given 'dark' color is the new black.
print_stylesheet() : voidPrints a stylesheet, the URL of which can be referenced by Page.stylesheet_url. This is another S2 entry point, in addition to Page.print().
prop_init() : voidThis function is the first thing called and is the place to set properties based on the values of other properties. It's called before the style system looks at its builtin properties, so if you need to conditionally setup something based on your own custom properties, do it here. You can't print from this function.
rand(int high) : intReturns a random integer between 1 and $high, inclusive.
rand(int low, int high) : intReturns a random integer between $low and $high, inclusive.
server_sig() : void 
set_content_type(string text) : voidSet the HTTP Content-type response header (for example, if outputting XML). Must be called before printing any data.
set_handler(string eventname, string[][] commands) : void 
string(int i) : stringReturn the given integer as a string
striphtml(string s) : stringSimilar to ehtml, but the HTML tags are stripped rather than escaped.
userinfoicon(UserLite user) : Image 
userlite_as_string(UserLite ul) : stringAccess to the LJ::ljuser function
userlite_base_url(UserLite ul) : string 
viewer_is_owner() : boolReturns true if the user viewing the page is both logged in, and is the owner of the content in question. Useful for returning links to manage information, or edit entries.
viewer_logged_in() : boolReturns true if the user viewing the page is logged in. It's recommended that your page links to the site login page if the user isn't logged in.
weekdays() : int[]Integers representing the days of the week. This will start on Monday (2) or Sunday (1) depending on the property setting for start-of-week and go to Sunday (1) or Saturday (7)
zeropad(int n, int digits) : stringReturns the number padded with zeroes so it has the amount of digits indicated.
zeropad(string n, int digits) : stringReturns the number padded with zeroes so it has the amount of digits indicated.

Classes

AlphabeticalHierarchical

Color Class
Represents a color.

Members

string as_stringHTML hex encoded: #rrggbb
int bBlue value, 0-255. (Read-only)
int gGreen value, 0-255. (Read-only)
int rRed value, 0-255. (Read-only)

Methods

Color(string s) : ColorConstructor for color class. Lets you make a Color object from a string of form #rrggbb
average(Color other) : ColorReturns color averaged with $other color.
blue() : intGet the blue value.
blue(int b) : voidSet the blue value. (0-255)
clone() : ColorReturns identical color.
darker() : ColorReturns a new color with lightness decreased by 30.
darker(int amt) : ColorReturns a new color with lightness decreased by amount given.
green() : intGet the green value.
green(int g) : voidSet the green value. (0-255)
hue() : intGet the hue value. (0-255)
hue(int h) : voidSet the hue value. (0-255)
inverse() : ColorReturns inverse of color.
lighter() : ColorReturns a new color with lightness increased by 30.
lighter(int amt) : ColorReturns a new color with lightness increased by amount given.
lightness() : intGet the lightness value. (0-255)
lightness(int v) : voidSet the lightness value. (0-255)
red() : intGet the red value.
red(int r) : voidSet the red value. (0-255)
saturation() : intGet the saturation value. (0-255)
saturation(int s) : voidSet the saturation value. (0-255)
set_hsl(int h, int s, int v) : voidSet the HSL value for a color class.

Comment Class
Child class of EntryLite. A comment to a journal entry, or to another comment.

Members

string anchorDirect link to comment, via HTML name anchors (Read-only)
bool comment_postedTrue if comment was just posted by the current user. (Read-only)
bool deletedTrue if comment has been deleted. Deleted comments still show up if they are the parent of a thread. (Read-only)
int depthVisual depth of entry. Top-level journal entries are always depth zero. Comments have a depth greater than or equal to one, depending on where the thread is rooted at.
string dom_idThe DOM 'id' attribute you should put on your outer-most element (Read-only)
bool frozenTrue if comment is in frozen state. (Read-only)
bool fullTrue if all information is available for this comment. False if only the subject, poster, and date are available. (collapsed threads)
UserLite journalJournal the entry has been posted to
string[] link_keyseqAn array of keys which you should pass to EntryLite.get_link(string) to produce an entry 'toolbar'. Does not contain nav_next and nav_prev for entries; you should retrieve those separately and put them somewhere appropriate for your layout.
string{} metadataPost metadata. Keys: 'music', 'mood' (Read-only)
string parent_urlURL to parent comment, or blank if a top-level comment. (Read-only)
string permalink_urlA URL at which this specific entry can be viewed, for linking purposes. (Read-only)
UserLite posterAuthor of the entry, or null if an anonymous comment
Comment[] repliesComments replying to this comment.
string reply_urlURL to reply to this comment. (Read-only)
bool screenedTrue if comment is in screened state. (Read-only)
string subjectSubject. May contain HTML. Don't do substring chops on this. (Read-only)
Image subject_iconSubject icon, or null.
Tag[] tagsArray of tags applied to this entry. (Read-only)
int talkidServer stored ID number for this comment.
string textEntry Text; Use EntryLite.print_text() to print this so that the entry's trust level is not affected by your layer's trust level. (Read-only)
string thread_urlURL to view threaded rooted at this comment, or blank if comment has no children. (Read-only)
DateTime timeThe user-specified time of the post, or the GMT time if it's a comment.
Image userpicThe userpic selected to relate to this entry.

Methods

get_link(string key) : LinkGet a link to some action related to this entry or comment. You can iterate over EntryLite.link_keyseq to get keys to pass in here to produce a 'toolbar' of links.
get_plain_subject() : stringFor Entries that can contain HTML subjects, this returns the subjeft without HTML. Comments can't have HTML in subjects, so this is equivalent to just using $.subject. The returned 'plain' subject may still contain HTML entities, so don't do substring chops on it either.
get_tags_text() : stringReturns a string containing a div of class 'ljtags' with the tags for the entry. If there are no tags on the entry, returns a blank string. The string is formatted according to the 'text_tags' property.
print_linkbar() : voidPrint the link bar for this entry or comment.
print_multiform_check() : voidPrints the select checkbox in CSS class 'ljcomsel' with DOM id 'ljcomsel_$talkid' for a multi-action form started with EntryPage.print_multiform_start().
print_reply_container() : voidPrints the area in which the quickreply box will go. If no container is available, quickreply will not work.
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. You may 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, and the link CSS class in 'class'. You may also specify the url of an image to use as a button in 'img_url'.
print_text() : voidPrint the entry text. Doesn't print anything in some contexts, such as on a month view or in a collapsed comment.

CommentInfo Class
Information about comments attached to something.

Members

int countCurrent number of comments available to be read by the viewer.
bool enabledSet to false if comments disabled journal-wide or just on this item.
bool maxcommentsSet to true if entry has reached a comment maximum.
string post_urlURL pointer to the 'Post Comments' view. (Read-only)
string read_urlURL pointer to the 'Read Comments' view. (Read-only)
bool screenedSet to true if there are screened comments and remote user can unscreen them.

Methods

print() : voidPrint all comment related links
print_postlink() : voidPrint the formatted link to the 'Post Comments' view
print_readlink() : voidPrint the formatted link to the 'Read Comments' view

Date Class
Represents a date.

Members

int dayDay; 1-31.
int monthMonth; 1-12.
int yearYear; 4 digits.

Methods

date_format() : stringReturns date formatted as normal. // SeeAlso: siteapi.core1.dateformats
date_format(string fmt) : stringReturns date formatted as indicated by $fmt. One of: short, med, long, med_day, long_day. Or a custom format. Default is 'short'. // SeeAlso: siteapi.core1.dateformats
day_of_week() : intReturns the day of the week this date falls on, from Sunday=1 to Saturday=7

DateTime Class
Child class of Date. Represents both a date and time.

Members

int dayDay; 1-31.
int hourHour; 0-23.
int minMinute; 0-59.
int monthMonth; 1-12.
int secSecond; 0-59.
int yearYear; 4 digits.

Methods

date_format() : stringReturns date formatted as normal. // SeeAlso: siteapi.core1.dateformats
date_format(string fmt) : stringReturns date formatted as indicated by $fmt. One of: short, med, long, med_day, long_day. Or a custom format. Default is 'short'. // SeeAlso: siteapi.core1.dateformats
day_of_week() : intReturns the day of the week this date falls on, from Sunday=1 to Saturday=7
time_format() : stringReturns time formatted as normal. // SeeAlso: siteapi.core1.dateformats
time_format(string fmt) : stringReturns time formatted as indicated by $fmt, or normal if blank. // SeeAlso: siteapi.core1.dateformats

DayPage Class
Child class of Page. View entries by specifc day

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
Date dateDate of the current day
Entry[] entriesArray of entries available to be seen by the viewer of the page
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
bool has_entriesTrue if there are entries on the specified day
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
Date next_dateNext day
string next_urlURL to next day (Read-only)
Date prev_datePrevious day
string prev_urlURL to previous day (Read-only)
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

Entry Class
Child class of EntryLite. A journal entry

Members

CommentInfo commentsComment information on this entry
int depthVisual depth of entry. Top-level journal entries are always depth zero. Comments have a depth greater than or equal to one, depending on where the thread is rooted at.
string dom_idThe DOM 'id' attribute you should put on your outer-most element (Read-only)
bool end_dayIs this the last entry of a day?
int itemidServer stored ID number for this entry
UserLite journalJournal the entry has been posted to
string[] link_keyseqAn array of keys which you should pass to EntryLite.get_link(string) to produce an entry 'toolbar'. Does not contain nav_next and nav_prev for entries; you should retrieve those separately and put them somewhere appropriate for your layout.
string{} metadataPost metadata. Keys: 'music', 'mood' (Read-only)
Image mood_iconMood icon, or null.
bool new_dayIs this entry on a different day to the previous one?
string permalink_urlA URL at which this specific entry can be viewed, for linking purposes. (Read-only)
UserLite posterAuthor of the entry, or null if an anonymous comment
string securityThe security level of the entry ('private', 'protected'), or blank if public. (Read-only)
Image security_iconA little icon which should be displayed somewhere on an entry to represent the security setting
string subjectSubject. May contain HTML. Don't do substring chops on this. (Read-only)
Tag[] tagsArray of tags applied to this entry. (Read-only)
string textEntry Text; Use EntryLite.print_text() to print this so that the entry's trust level is not affected by your layer's trust level. (Read-only)
DateTime timeThe user-specified time of the post, or the GMT time if it's a comment.
Image userpicThe userpic selected to relate to this entry.

Methods

get_link(string key) : LinkGet a link to some action related to this entry or comment. You can iterate over EntryLite.link_keyseq to get keys to pass in here to produce a 'toolbar' of links.
get_plain_subject() : stringFor Entries that can contain HTML subjects, this returns the subjeft without HTML. Comments can't have HTML in subjects, so this is equivalent to just using $.subject. The returned 'plain' subject may still contain HTML entities, so don't do substring chops on it either.
get_tags_text() : stringReturns a string containing a div of class 'ljtags' with the tags for the entry. If there are no tags on the entry, returns a blank string. The string is formatted according to the 'text_tags' property.
plain_subject() : stringReturn entry's subject as plain text, with all HTML removed.
print_link_next() : voidPrint the link to the next entry in this journal.
print_link_prev() : voidPrint the link to the previous entry in this journal.
print_linkbar() : voidPrint the link bar for this entry or comment.
print_metadata() : void 
print_text() : voidPrint the entry text. Doesn't print anything in some contexts, such as on a month view or in a collapsed comment.

EntryLite Class
Base class for both journal entries and comments.

Members

int depthVisual depth of entry. Top-level journal entries are always depth zero. Comments have a depth greater than or equal to one, depending on where the thread is rooted at.
string dom_idThe DOM 'id' attribute you should put on your outer-most element (Read-only)
UserLite journalJournal the entry has been posted to
string[] link_keyseqAn array of keys which you should pass to EntryLite.get_link(string) to produce an entry 'toolbar'. Does not contain nav_next and nav_prev for entries; you should retrieve those separately and put them somewhere appropriate for your layout.
string{} metadataPost metadata. Keys: 'music', 'mood' (Read-only)
string permalink_urlA URL at which this specific entry can be viewed, for linking purposes. (Read-only)
UserLite posterAuthor of the entry, or null if an anonymous comment
string subjectSubject. May contain HTML. Don't do substring chops on this. (Read-only)
Tag[] tagsArray of tags applied to this entry. (Read-only)
string textEntry Text; Use EntryLite.print_text() to print this so that the entry's trust level is not affected by your layer's trust level. (Read-only)
DateTime timeThe user-specified time of the post, or the GMT time if it's a comment.
Image userpicThe userpic selected to relate to this entry.

Methods

get_link(string key) : LinkGet a link to some action related to this entry or comment. You can iterate over EntryLite.link_keyseq to get keys to pass in here to produce a 'toolbar' of links.
get_plain_subject() : stringFor Entries that can contain HTML subjects, this returns the subjeft without HTML. Comments can't have HTML in subjects, so this is equivalent to just using $.subject. The returned 'plain' subject may still contain HTML entities, so don't do substring chops on it either.
get_tags_text() : stringReturns a string containing a div of class 'ljtags' with the tags for the entry. If there are no tags on the entry, returns a blank string. The string is formatted according to the 'text_tags' property.
print_linkbar() : voidPrint the link bar for this entry or comment.
print_text() : voidPrint the entry text. Doesn't print anything in some contexts, such as on a month view or in a collapsed comment.

EntryPage Class
Child class of Page. A page with a single journal entry and associated comments.

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
ItemRange comment_pagesRepresents what comment page is being displayed.
Comment[] commentsComments to journal entry, or at least some of them.
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
Entry entryJournal entry being viewed
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
bool multiform_onSet to true if the multi-action is to be printed, which requires both comments and applicable permissions for the remote user.
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
bool viewing_threadTrue if viewing a specific sub-thread of the comments. Style may which to hide the journal entry at this point, since the focus is the comments.
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_comment(Comment comment) : voidPrints a full comment
print_comment_partial(Comment comment) : voidPrints a collapsed comment
print_comments(Comment[] comments) : voidPrints comments
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_multiform_actionline() : voidPrints the line of the multiform giving instructions, options, and the submit button, using the text of the different $*text_multiform_ properties.
print_multiform_end() : voidPrints end of form tag to do a multi-comment action.
print_multiform_start() : voidPrints start of form tag and hidden elements to do a multi-comment action (multiple delete, screen, unscreen, etc...)
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

Friend Class
Child class of UserLite. Represents a friends or friendof list

Members

Color bgcolorBackground color selected for friend
Link{} data_linkLinks to various machine-readable data sources relating to this user
string[] data_links_orderAn array of data views which can be used to order the data_link hash
Color fgcolorForeground color selected for friend
string journal_typeType of account: P (personal), C (community), Y (syndicated), S (shared), I (external identity) etc (Read-only)
string nameUser's formatted name, ex: John Q. Public (Read-only)
string usernameCanonical Username, ex: johnqpub. Note that if journal_type is an external identity, there will be no username, so this field will be a display version of their URL, longer than 15 characters, and with characters other than a-z, 0-9 and underscore. (Read-only)

Methods

as_string() : string 
base_url() : stringReturns URL of user's journal.
equals(UserLite u) : boolReturns true if the two user objects refer to the same user. Use this rather than comparing usernames, since usernames aren't globally unique.
print() : void 
tag_manage_url() : stringReturns URL to user's tag management page.

FriendsPage Class
Child class of RecentPage. Friends most recent entries

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
Entry[] entriesArray of entries available to be seen by the viewer of the page.
bool filter_activeIf true, some kind of filter is in effect. If this filter has a name, it will be included in FriendsPage.filter_name
string filter_nameThe name of the filter in effect, if it has a name. This is only used when 'custom' FriendsPage.filter_active is true.
Friend{} friendsA mapping from friend username to color association information. There will only be keys for friends whose entries are in the entries array.
string friends_modeThe 'mode' of this view. An empty string indicates a normal friends view, while 'friendsfriends' indicates the Friends-of-friends view.
string friends_titleA user-selected title for their friends page. (Read-only)
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
RecentNav nav 
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

Image Class
Represents an image.

Members

string alttextDefault alternative text for image
int heightHeight in pixels
string urlURL of the image (Read-only)
int widthWidth in pixels

Methods

as_string() : stringReturn the HTML tag for this image
as_string(string alttext) : stringReturn an HTML tag for this Image with given alttext
as_string(string{} opts) : stringReturn the HTML for an image, Supported keys are 'href' to create a link to the image source and 'a_attr' which adds attributes to the anchor tag if a link is to be printed.
print() : voidPrint an HTML tag for this Image
print(string alttext) : voidPrint an HTML tag for this Image with given alttext
print(string{} opts) : voidPrint the HTML for an image, Supported keys are 'href' to create a link to the image source and 'a_attr' which adds attributes to the anchor tag if a link is to be printed.
set_url(string url) : voidSets the URL, doing any necessary escaping.

int Class
An integer number. This isn't really a class, as suggested by its lower-case name. Parameters of type int pass by value, unlike all variables of real object types, which pass by reference. Instead, this is just a pseudo-class which provides convenience methods on instances of integers. The other pseudo-class is string.

Methods

zeropad(int digits) : stringReturn the integer as a string formatted at least $digits characters long, left-padded with zeroes.

ItemRange Class
Represents a range of items which optionally contain items.

Members

bool all_subitems_displayedTrue if the subitems in this range represent the entire set. In this case, all of the URL members are blank.
int currentThe currently-active item.
int from_subitemThe index of the first subitem in this range.
int num_subitems_displayedThe number of subitems in this range.
int to_subitemThe index of the last subitem in this range.
int totalThe total number of items that are navigable to.
int total_subitemsThe number of subitems.
string url_firstURL for the 'first' link. Blank if already on the first page. (Read-only)
string url_lastURL for the 'last' link. Blank if already on the last page. (Read-only)
string url_nextURL for the 'next' link. Blank if there isn't a next URL. (Read-only)
string url_prevURL for the 'previous' link. Blank if there isn't a previous URL. (Read-only)

Methods

print() : voidPrints the item range links
print(string labeltext) : voidPrints the item range links with the given $labeltext
url_of(int n) : stringReturns the URL to use to link to the nth item

Link Class
A link or button

Members

string captionThe caption for the link (Read-only)
Image iconA suggestion from the server as to which icon to use. layouts/users can override this of course. alt text works similarly to Link.caption.
string urlURL which the link points to (Read-only)

Methods

as_string() : stringReturn the button HTML link.
print_button() : voidOutput this Link as a clickable button using Link.icon

MessagePage Class
Child class of Page. A page showing an error or confirmation message.

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
string[] link_keyseqA list of links, indicated by key, that should be displayed alongside this error. They should ideally be displayed in a similar way to the entry links displayed on the entry page.
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
Link{} linksAn associative array of links to be displayed alongside this message. Iterate over MessagePage.link_keyseq to find the keys.
string messageThe body of the message. Do not print this directly; use MessagePage.print_body() instead. (Read-only)
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string titleThe title of the message. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_links() : voidPrint the links from the MessagePage.links and MessagePage.link_keyseq members. Layouts will probably want to override this.
print_message() : voidPrint the message. Call this rather than printing MessagePage.message directly.
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

MonthDay Class
Child class of YearDay. Summaries of posts on a given day on the MonthPage.

Members

Date dateDate of day
int dayDay of month number
Entry[] entriesOnly populated on the month view. Entry text not present.
bool has_entriesTrue if there are entries on this day.
int num_entriesNumber of entries made on this day
string urlA URL to view the day, if there are entries, else blank. (Read-only)

Methods

print_subjectlist() : voidPrint a list of entry summaries including subjects

MonthEntryInfo Class
A month the user has journal entries, along with information to link to it.

Members

Date dateDate of month, with day of zero.
string redir_keyThe 'redir_key' parameter for a Redirector instance. (Read-only)
string urlURL for the MonthPage month view. (Read-only)

MonthPage Class
Child class of Page. A page which contains a list of posts made in that month

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
Date dateDate of this month, with day of zero.
MonthDay[] daysOne entry for each day of the month.
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
MonthEntryInfo[] monthsOther months this journal has entries.
Date next_dateDate of next month, with day of zero, or null if none.
string next_urlURL of next month, or empty string if none. (Read-only)
Date prev_dateDate of previous month, with day of zero, or null if none.
string prev_urlURL of previous month, or empty string if none. (Read-only)
Redirector redirNecessary to make a form which POSTs to a redirector
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

Page Class
Base template for all views

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

PalItem Class
A specification for a numbered palette index in a GIF or PNG to be changed to a certain color

Members

Color colorColor to put at specified index.
int indexInteger palette index.

RecentNav Class
Navigation position within a RecentPage or FriendsPage and URLs to move about.

Members

int backward_countNumber of items we'd be potentially seeing going backward.
int backward_skipNumber of items we'd be skipping going back more.
string backward_urlURL to go backward in time, or blank if furthest back server will allow. (Read-only)
int countIndicates how many entries we're currently seeing
int forward_countNumber of items we'd be potentially seeing going forward.
int forward_skipNumber of items we'd be skipping going forward.
string forward_urlURL to go forward in time, or blank if furthest forward. (Read-only)
int skipIndicates how many entries are being skipped back.
int versionCurrently version 1. A new method of navigation has been frequently discussed, so this is planning for the future

RecentPage Class
Child class of Page. Most recent entries page, formally known as the LASTN view in the previous style system

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
Entry[] entriesArray of entries available to be seen by the viewer of the page.
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
RecentNav nav 
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

Redirector Class
A redirector makes either a GET URL which redirects to a pretty URL or an HTML form which posts to a URL that redirects to a pretty URL. This class exists because it's often desirable to use a form to end up at a URL, instead of doing a GET request. It's also used in cases where finding the previous or next URL would incur database overhead which would be wasteful, considering most people don't click previous/next links. Instead, the system will give you a Redirector object which has a URL that'll do the lookup for you later, followed by a redirect.

Members

string type  (Read-only)
string url  (Read-only)
string user  (Read-only)
string vhost  (Read-only)

Methods

end_form() : voidPrints a form close tag.
get_url(string redir_key) : voidReturns a GET URL, given a redir_key
print_hiddens() : voidPrints the necessary hidden elements for a form. Called automatically by Redirector.start_form().
start_form() : voidStarts an inline HTML form, then calls Redirector.print_hiddens(). You can also make it yourself, using Redirector.url, if you need special form attributes.

ReplyForm Class
This class will be used more in the future to set options on the reply form before it's printed out by the system. The system has to print it since it contains sensitive information which can't be made available to S2.

Members

bool subj_iconsWhether user has enabled subject icons or not. Currently read-only until policy is decided on whether layers should be able to change it (rather than changing it in the user preferences) (Read-only)

Methods

print() : voidPrints the reply form

ReplyPage Class
Child class of Page. A page to reply to a journal entry or comment

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
Entry entryThe journal entry for this talk page
ReplyForm formThe reply form.
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
EntryLite replytoThe object which is being replied to, either the entry or a comment
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

string Class
A series of characters. This isn't really a class, as suggested by its lower-case name. Parameters of type string pass by value, unlike all variables of real object types, which pass by reference. Instead, this is just a pseudo-class which provides convenience methods on instances of strings. The other pseudo-class is int.

Methods

contains(string sub) : boolReturn true if string contains $sub
ends_with(string sub) : boolReturns true if string ends in $sub
length() : intReturn the number of characters in the string.
lower() : stringReturns string in lower case.
repeat(int n) : stringReturns the string repeated n times
starts_with(string sub) : boolReturns true if string begins with $sub
substr(int start, int length) : stringReturns up to $length characters from string, skipping $start characters from the beginning.
upper() : stringReturns string in upper case
upperfirst() : stringReturn string with the first character capitalized.

Tag Class
Represents a tag in its most basic form.

Members

string nameTextual representation of this tag. (Read-only)
string urlURL to view entries with this tag. (Read-only)

TagDetail Class
Child class of Tag. A rich structure with lots of information about a Tag.

Members

string nameTextual representation of this tag. (Read-only)
int{} security_countsHow many times this tag has used this security. The keys are which security, one of: public, private, friends, group. The value is the count of times the tag is used on entries with that security level. (Read-only)
string urlURL to view entries with this tag. (Read-only)
int use_countCount of how many times this tag has been used. (Read-only)
string visibilityThe visibility level for this tag. Based on the entries it's used on. Can be one of: public, private, friends, group. (Read-only)

TagsPage Class
Child class of Page. A detail page listing a user's tags.

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
TagDetail[] tagsList of tags visible to the user viewing the page.
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

User Class
Child class of UserLite. A more information-rich userinfo structure

Members

Link{} data_linkLinks to various machine-readable data sources relating to this user
string[] data_links_orderAn array of data views which can be used to order the data_link hash
Image default_picInformation about default userpic
string journal_typeType of account: P (personal), C (community), Y (syndicated), S (shared), I (external identity) etc (Read-only)
string nameUser's formatted name, ex: John Q. Public (Read-only)
string usernameCanonical Username, ex: johnqpub. Note that if journal_type is an external identity, there will be no username, so this field will be a display version of their URL, longer than 15 characters, and with characters other than a-z, 0-9 and underscore. (Read-only)
string userpic_listing_urlURL of a page listing this user's userpics (Read-only)
string website_name'pretty' name of user's website (Read-only)
string website_urlURL pointer to user's website (Read-only)

Methods

as_string() : string 
base_url() : stringReturns URL of user's journal.
equals(UserLite u) : boolReturns true if the two user objects refer to the same user. Use this rather than comparing usernames, since usernames aren't globally unique.
print() : void 
tag_manage_url() : stringReturns URL to user's tag management page.

UserLink Class
A user-defined link to an outside resource.

Members

UserLink[] childrenNot Implemented: An array of child UserLink objects. (Read-only)
bool is_headingIs this link a heading or category name? If so, it has no url and a list of children. (Read-only)
string titleThe title or label for the link (Read-only)
string urlThe url to which the link points (Read-only)

UserLite Class
A 'lite' version of a User which the system often has more readily-available than a full version.

Members

Link{} data_linkLinks to various machine-readable data sources relating to this user
string[] data_links_orderAn array of data views which can be used to order the data_link hash
string journal_typeType of account: P (personal), C (community), Y (syndicated), S (shared), I (external identity) etc (Read-only)
string nameUser's formatted name, ex: John Q. Public (Read-only)
string usernameCanonical Username, ex: johnqpub. Note that if journal_type is an external identity, there will be no username, so this field will be a display version of their URL, longer than 15 characters, and with characters other than a-z, 0-9 and underscore. (Read-only)

Methods

as_string() : string 
base_url() : stringReturns URL of user's journal.
equals(UserLite u) : boolReturns true if the two user objects refer to the same user. Use this rather than comparing usernames, since usernames aren't globally unique.
print() : void 
tag_manage_url() : stringReturns URL to user's tag management page.

YearDay Class
Information on how to link to a day in the year archive

Members

Date dateDate of day
int dayDay of month number
int num_entriesNumber of entries made on this day
string urlA URL to view the day, if there are entries, else blank. (Read-only)

YearMonth Class
A month on the YearPage.

Members

bool has_entriesIf this is false, you probably don't want to display this month.
int monthThe number of the month
Date next_dateDate of next month, with day of zero, or null if none.
string next_urlA url to link to in order to view the next month. (Read-only)
Date prev_dateDate of previous month, with day of zero, or null if none.
string prev_urlA url to link to in order to view the previous month. (Read-only)
string urlA url to link to in order to view this month. (Read-only)
YearWeek[] weeksAn array of the weeks of the month (for ease of building a row-per-week calendar)
int yearThe number of the year

Methods

month_format() : stringReturns month formatted long (February 1980) // SeeAlso: siteapi.core1.dateformats
month_format(string fmt) : stringReturns time formatted as indicated by $fmt, or 'long' if blank. // SeeAlso: siteapi.core1.dateformats

YearPage Class
Child class of Page. Entire calendar page for a single year.

Members

string{} argsArguments from the URL's query string (after the question mark). S2 code can only access arguments starting with a period, and this period is not included in the hash key. (Read-only)
string base_urlThe base URL of the journal being viewed. (Read-only)
Link{} data_linkLinks to various machine-readable data sources relating to this page
string[] data_links_orderAn array of data views which can be used to order the data_link hash
string global_subtitleA sub-title selected by the user for their whole journal. (Read-only)
string global_titleA title selected by the user for their whole journal. (Read-only)
string head_contentExtra tags supplied by the server to go in the <head> section of the output HTML document. Layouts should include this in the head section if they are writing HTML. (Read-only)
User journalUser whose journal is being viewed
string journal_typeJournal type, ex: 'P' (personal), 'C' (community), etc. (Read-only)
UserLink[] linklistAn array of UserLink objects defined by the user to be displayed on their journal. (Read-only)
YearMonth[] months12 months objects, even if no entries are in that month.
string stylesheet_urlThe URL to use in a link element for the server-supported external stylesheet to put stuff in it) (Read-only)
DateTime timeA DateTime object filled with the time (GMT) when the page was created. (Read-only)
string viewThe view type (recent, friends, archive, month, day, entry) (Read-only)
string{} view_urlLinks to top-level views where id equals the name of the view being linked to. (if one of views == $.view, already looking at that view) (Read-only)
string[] views_orderAn array of view identifiers which can be used to order the views hash. (Read-only)
int yearThe year being viewed
YearYear[] yearsInformation for linking to other years

Methods

get_latest_month() : YearMonthReturns information about the latest month the user posted (or the current month, if no posts), so that the page may include a mini-calendar or similar features.
print() : voidThe main entry point that LiveJournal calls. Layouts should override this to create HTML that's the same for all view types, and use $this->title, $this->head and $this->body to include view-specific content into the template.
print_body() : voidCall from Page.print() to render parts of the view that are specific to the view, eg print the recent set of journal entries, recent friends entries, or rows of user information
print_custom_head() : voidLayers can override this to add extra HTML to the head section of the HTML document. Note that layouts are not intended to override this method.
print_entry(Entry e) : voidOutput a journal entry. Layouts should override this and the inherited versions in RecentPage, FriendsPage and DayPage to change how entries display.
print_entry_poster(Entry e) : voidOutput a line of text which says who posted an entry (just "user", or "user posting in somejournal")
print_head() : voidPrint server side supplied head content. This is a fixed function, so you can't override it. See Page.print_custom_head() if you want to supply custom head content.
print_linklist() : voidPrint the list of UserLink objects specified by the user.
print_month(YearMonth m) : voidPrint the calendar cell for the given month
print_reply_container(string{} opts) : voidPrints the area in which the quickreply box will go. Options you may specify are 'target' which will be the target id, and 'class' which will be the CSS class used by the container. If no container is available, quickreply will not work.
print_reply_link(string{} opts) : voidPrints a link to reply to the comment. You may specify the link text in the 'linktext' option, the link CSS class in 'class', and the target container in the 'target' option. You may also specify the url of an image to use as a button in 'img_url'.
print_year_links() : voidPrint the navigation links to move between years
title() : stringReturn a relevant combination of Page.global_title and Page.view_title(). May be overridden in layout layers or left untouched for the core layer to handle.
view_title() : stringReturn a title for this particular page, such as "Friends' Recent Entries" for the friends view, or a date for the day view. Should be overridden in i18n layers. Ideally, layout layers should never override this. See Page.title().
visible_tag_list() : TagDetail[]Returns an array of tags that the logged in user can see for the journal being viewed.

YearWeek Class
Represents a week on the YearMonth on the YearPage.

Members

YearDay[] daysAn array of the days of the week (0=sunday)
int post_emptyHow many days at the end of the week are blank? (From next month)
int pre_emptyHow many days at the start of the week are blank? (From previous month)

Methods

print() : voidPrint formatted week

YearYear Class
Information on how to link to a year in the year archive

Members

bool displayedIf this is the year currently being displayed, this will be true.
string urlURL to link to for this year. (Read-only)
int yearNumber of the year, eg 2001.
Home : Manage Accounts : Customize Advanced S2 Settings : Public Layer Browser : LiveJournal S2 Core, v1
Neesi iežurnalējies. Iežurnalēties?