Warning: session_start(): open(/var/lib/php/sessions/sess_7qjmq25jagh4rvmf7ne3l9ioh0, 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
concept User {
S name;
SecretValue password = new(aGlobalID());
S contact; // e.g. mail address
}
extend AuthedDialogID {
new Ref user; // who is logged in
}
concept UserCreatedObject {
new Ref creator;
S repoName; // unique by user, for URL
}
concept UserPost > UserCreatedObject {
S text;
}
concept PostReference {
new Ref post;
new Ref referenced;
S as;
}
cmodule GazelleExamples > DynNewBot2 {
void start {
botName = heading = "Gazelle Examples";
adminName = heading + " Admin";
set enableUsers;
set useWebSockets;
super.start();
indexConceptFieldCI(User, "name");
}
L crudClasses(bool masterAuthed) {
L l = super.crudClasses(masterAuthed);
if (masterAuthed)
ret listPlus(l, User.class, UserPost.class);
ret l;
}
S serveRegisterForm(SS params) {
S redirect = params.get("redirect");
redirect = dropParamFromURL(redirect, "logout"); // don't log us out right again
if (empty(redirect)) redirect = baseLink + "/";
ret hhtml(hhead(htitle("Register new user")
+ hsansserif() + hmobilefix()) + hbody(hfullcenter(
h3_htmlEncode(adminName + " | Register new user")
+ hpostform(
hhidden(+redirect)
+ tag table(
tr(td("Choose a user name:") + td(hinputfield("user", params.get("user"))) + td())
+ tr(td("Choose a password:") + td(hpassword("pw", params.get("pw"))))
+ tr(td() + td(hsubmit("Register")))),
action := baseLink + "/register")
)));
}
O html(IWebRequest req) enter {
S uri = req.uri();
if (eq(uri, "/register"))
ret serveRegisterForm(req.params());
ret super.html(req);
}
}