ad_new_stuff db { since_when " " } { only_from_new_users_p "f" } { purpose "web_display" }What it does:
Returns a string of new stuff on the site. SINCE_WHEN is an ANSI date. If ONLY_FROM_NEW_USERS_P is "t" then we only look at content posted by users in the USERS_NEW view. The PURPOSE argument can be "web_display" (intended for an ordinary user), "site_admin" (to help the owner of a site nuke stuff), or "email_summary" (in which case we get plain text back). These arguments are passed down to the procedures on the ns_share'd ad_new_stuff_module_list.Defined in: /web/philip/tcl/ad-new-stuff.tcl
Source code:
# let's default the date if we didn't get one if [empty_string_p $since_when] { set since_when [database_to_tcl_string $db "select sysdate-1 from dual"] } ns_share ad_new_stuff_module_list set result_list [list] foreach sublist $ad_new_stuff_module_list { set module_name [lindex $sublist 0] set module_proc [lindex $sublist 1] set result_elt "" if [catch { set subresult [eval "$module_proc $db $since_when $only_from_new_users_p $purpose"] } errmsg ] { # got an error, let's continue to the next iteration ns_log Warning "$module_proc, called from ad_new_stuff, returned an error:\n$errmsg" continue } if ![empty_string_p $subresult] { # we got something, let's write a headline if { $purpose == "email_summary" } { append result_elt "[string toupper $module_name]\n\n" } else { append result_elt "<h3>$module_name</h3>\n\n" } append result_elt "$subresult" append result_elt "\n\n" lappend result_list $result_elt } } # we've got all the results, let's sort by size set sorted_list [lsort -command ad_new_stuff_sort_by_length $result_list] return [join $sorted_list ""]