From e45a2b4ef02fc295cc2f1ffe8e788a423f51fe91 Mon Sep 17 00:00:00 2001 From: "psyc://loupsycedyglgamf.onion/~lynX" Date: Mon, 18 Jan 2021 20:44:23 +0100 Subject: [PATCH 1/2] DEFAULT_HT_LOGO --- world/net/include/place.gen | 9 +++++++-- world/net/place/archetype.gen | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/world/net/include/place.gen b/world/net/include/place.gen index d2b9c88..88371b9 100644 --- a/world/net/include/place.gen +++ b/world/net/include/place.gen @@ -18,6 +18,9 @@ #include #include +#ifndef DEFAULT_HT_LOGO +# define DEFAULT_HT_LOGO "/img/psyc.gif" +#endif #ifndef HT_LOGO # define HT_LOGO DEFAULT_HT_LOGO #endif @@ -624,6 +627,7 @@ htget(prot, query, headers, qs) { // maybe this all belongs into archetype.gen.. chesmo! htget(prot, query, headers, qs, data, noprocess) { + PT(("%O place.gen::htget\n", ME)) if (probably_private(this_interactive()) <= PRIVACY_SURVEILLED) { hterror(prot, R_PAYMENTREQ, "To protect against abuse in this nasty world this function needs 'https' instead of 'http'."); htnotify(query, headers, "_challenge_disabled_encryption", @@ -651,12 +655,14 @@ htget(prot, query, headers, qs, data, noprocess) { htnotify(query, headers, "_challenge_accomplished_web", "Challenge accomplished in [_nick_place] by [_web_on] coming from [_web_from]."); # ifdef CHALLENGE_REDIRECT + sTextPath(query["layout"], query["lang"], "html"); # ifdef CHALLENGE_REDIRECT_TITLE # ifdef CHALLENGE_QUESTION htok3(prot, 0, "Set-Cookie: psycplace=\"challenge=done\"; Path="+ item +"; Secure; Max-Age=9\n"); # else htok(); # endif + // you can output a player iframe instead of a redirect... w("_PAGES_frame_redirect", 0, ([ "_uniform_page" : CHALLENGE_REDIRECT, "_title_page" : CHALLENGE_REDIRECT_TITLE, @@ -667,7 +673,6 @@ htget(prot, query, headers, qs, data, noprocess) { # endif # else # ifdef HTGET - // you may want to output a player iframe instead of a redirect... return HTGET; # else return ::htget(prot, query, headers, qs, data, noprocess); @@ -723,7 +728,7 @@ htget(prot, query, headers, qs, data, noprocess) { // url that allows other people to bypass the challenge. htok3(prot, 0, "Set-Cookie: psycplace=\"challenge=given\"; Path="+ item +"; Secure; Max-Age=999\n"); # ifndef CHALLENGE_REDIRECT_TITLE -# define CHALLENGE_REDIRECT_TITLE "Challenge for " MYNICK +# define CHALLENGE_REDIRECT_TITLE "Challenge for "+ MYNICK # endif w("_PAGES_group_challenge", 0, ([ "_challenge" : htquote(CHALLENGE_QUESTION), diff --git a/world/net/place/archetype.gen b/world/net/place/archetype.gen index 07fa50e..bceec4a 100644 --- a/world/net/place/archetype.gen +++ b/world/net/place/archetype.gen @@ -474,7 +474,7 @@ _request_set_topic(source, mc, data, vars, b) { #if HAS_PORT(HTTP_PORT, HTTP_PATH) || HAS_PORT(HTTPS_PORT, HTTP_PATH) // for GDPR compliance server owners are expected not to log these messages -htnotify(query, headers, mc, fmt, acct) { +htnotify(query, headers, mc, fmt, acct, qs) { if (query["from"] == "") query["from"] = 0; if (query["location"] == "") query["location"] = 0; @@ -490,6 +490,8 @@ htnotify(query, headers, mc, fmt, acct) { query_ip_name(this_interactive()) || headers["user-agent"] || "http", "_host_name" : query_ip_name(this_interactive()) || "", + // so far used by 'rating' only + "_parameters" : query["parameters"] || qs, "_nick_place" : MYNICK || "This place", ]) ); } From f0b72e0a2f0d55ea9ff8a36ba7d766ff0b1dc71c Mon Sep 17 00:00:00 2001 From: "psyc://loupsycedyglgamf.onion/~lynX" Date: Mon, 18 Jan 2021 20:52:08 +0100 Subject: [PATCH 2/2] place offering an evaluation form via web --- place/rating.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 place/rating.c diff --git a/place/rating.c b/place/rating.c new file mode 100644 index 0000000..add8f82 --- /dev/null +++ b/place/rating.c @@ -0,0 +1,66 @@ +#include +#include +#include + +#define NAME "rating" +#define PRIVATE +#define SECURE +#include + +#define RATING_TITLE "This is a demonstration of psyced's rating tool" +#define RATING_ITEMS 3 +#define RATING_ITEM_HEIGHT 100 +#define DEFAULT_RATING_AMOUNT 5 +#define RATING_UNIFORM_PREFIX "https://www.psyced.org/rating/" + +// hack, should be using w() instead +#define htfs(BLA) write("
"+ BLA +"