Warning: session_start(): open(/var/lib/php/sessions/sess_pm4oaslfk1vug04ced5m488npi, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
sS denkmodulID = #1013938;
sO denkmodul;
static long tokenTimeout = 60*60*1000; // one hour
p {
independentSmartBot();
runInMCVarWithAutoRestart('denkmodul, denkmodulID);
}
static ExpiringHashMap tokensToPayload = new(tokenTimeout);
html {
if (eq(uri, "/") && !cic(domain(), "butter") && !swic(domain(), "www."))
ret hrefresh("https://www.botcompany.de:8443/1013826/raw");
if (eq(uri, "/tokens")) ret lstr(tokensToPayload);
S token = params.get("token");
S q = params.get("q");
Payload payload = null;
bool loaded = false;
if (nempty(token)) {
payload = tokensToPayload.get(token);
if (payload == null) {
payload = googleVerifyUserToken2(botCompanyGoogleSignInID(), token);
loaded = true;
mapPut(tokensToPayload, token, payload);
}
}
if (payload != null) {
long time = unixTime();
print("loaded=" + loaded + ", issued=" + (payload.getIssuedAtTimeSeconds()-time) + ", expiration=" + (payload.getExpirationTimeSeconds()-time));
}
S email = payload == null ? null : payload.getEmail();
if (nempty(q) && nempty(email))
post(email, "said", quote(q));
if (eq(uri, "/content-script")) {
S text = "";
if (nempty(q)) {
text += p(small("> " + span(htmlencode(q), style := "color: gray")));
S a = "Fehler";
pcall { a = callAnswerFunction(denkmodul, q); }
if (nempty(a)) text += p(htmlencode(a));
}
bool again = false, de = false;
if (payload == null)
text += "You are not logged in.";
if (nempty(email)) {
pnlStruct(payload);
again = post(email, "logged in", ".") == null;
if (!payload.getEmailVerified())
text = "Unverified email (huh?)";
}
if (empty(text)) {
de = cic((S) payload.get("locale"), "de");
S firstName = (S) payload.get("given_name");
text = p(htmlencode((de ? "Hallo " : "Hello ")
+ (again ? (de ? "mal wieder, " : "again ") : "")
+ firstName + "!"));
S pic = (S) payload.get("picture");
if (de && isURL(pic))
text += p(htmlencode("Was für ein hübsches Bild:"))
+ p(himg(pic, title := firstName + ", ein toller Mensch"));
}
S script =
[[$(".BUTTON_OUT").css('display', 'inline-block');
document.getElementById("content").innerHTML = ]] + jsQuote(text) + ";" +
[[
$("input[name='token']").val($TOKEN);
$("#inputdiv").show();
$("input[name='q']").focus();
]].replace("$TOKEN", jsQuote(token));
if (de) script += [[$("input[name='q']").attr('placeholder', 'Sprich mit mir');]];
print(script);
ret script;
}
ret hhtml(hhead(htitle("BotCompany.de")
+ hmobilefix()
+ loadJQuery()
+ googleSignIn_header()
+ hcss(andrzejButtonStyle())
+ hcookieconsent()
+ loadHtml2canvas()
+ hplaceholderColor("blue"))
+ hbody(
(nempty(params.get("noworker")) ? "" : hSilentComputator())
+ jsIsDesktopChrome()
+ hfullcenter(
// towly
hsnippetimg(#1013948, width := 125, height := 141, id := "towly", title := "Towly greets you")
+ hscript([[
//var towlyPhase = 1;
var f1, f2;
f1 = function() {
$("#towly").attr("src", "https://www.botcompany.de:8443/img/1013945");
setTimeout(f2, 300);
};
f2 = function() {
$("#towly").attr("src",
"https://www.botcompany.de:8443/img/1013948");
setTimeout(f1, 1000+Math.random()*6000);
};
setTimeout(f1, 1000);
]]) + "
"
+ googleSignIn_signInButton(relativeRawBotLink(programID(), "content-script"), [[
eval(data);
]], [[
$(".BUTTON_OUT").css('display', 'none');
document.getElementById("content").innerHTML = "";
]])
//+ hsmall(ahref(googleSignIn_signOutURL(), "Sign out"))
+ ahref(googleSignIn_signOutURL(), div("Sign out", class := "BUTTON_OUT", style := "display: none"))
+ "
"
+ div("", id := "content", style := "font-size: 30px")
+ hjavascript([[
function postIt() {
var q = $("input[name='q']").val();
var token = $("input[name='token']").val();
console.log("Posting to ${POSTLINK}, q=" + q);
$.post('${POSTLINK}', { q : q, token: token },
function(data, status) {
console.log("Got data: " + data + "\nStatus: " + status);
eval(data);
});
}
]].replace("${POSTLINK}", myRelativeRawLink("/content-script")))
+ hform(hhidden('token, "")
+ div(htextinput('q,
//style := "text-align: center; width: 600px; font-size: 20px",
placeholder := "Tell me something / Sag mir was",
autofocus := 'autofocus) + " " + hsubmit("OK"), id := 'inputdiv)
+ p(ahref("https://botcompany.de/chat", "more")),
onSubmit := "postIt(); return false;"))
+ hdiv(p(b("Speech Recognition"))
+ hdiv("< Sag was! >", id := 'speechResults, style := "margin: 10px")
+ tag('button, "...", onclick := "startOrStop()", type := 'button, id := 'speechOnBtn, disabled := 'disabled),
style := "text-align: center; border: 1px solid; padding: 10px; box-shadow: 5px 10px 8px #888888;", id := 'speechbox)
+ hbutton("Screenshot Test", onClick := [[
html2canvas(document.body).then(function(canvas) {
document.body.appendChild(canvas);
});
]])
+ hSpeechRecognition("document.title = transcript;", false)
+ hjavascript([[
if (!isDesktopChrome())
resultHTML("No speech recognition (use Chrome on a PC for this)");
else
startSpeechRecog();
]])).replace("butter.botcompany.de", "www.botcompany.de");
}