Warning: session_start(): open(/var/lib/php/sessions/sess_r3u1fhbec4lij5utrbq17p0ks4, 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 Cmd {
S patterns; // for mmo_parsePattern
S cmd; // a pattern recognized by #1027443
int index;
transient MMOPattern parsedPattern;
void change { parsedPattern = null; super.change(); }
MMOPattern parsedPattern() {
if (parsedPattern == null) parsedPattern = mmo_parsePattern(patterns);
ret parsedPattern;
}
}
cmodule ScenariosFrontend > DynCRUD {
S backendModuleLibID = "#1027443/Scenarios";
void handleCommand(Cmd cmd) {
print("handleCommand " + cmd.cmd;
if (hasAsteriskTokens(cmd.cmd))
print("Has arguments");
else
dm_call(getBackend(), 'answer, cmd);
}
S getBackend() {
ret dm_require(backendModuleLibID);
}
// API
void copyCommandsFromBackend() {
for (S cmd : allIfQuotedPatterns(loadSnippet(#1027443)))
uniqConcept(+cmd);
}
S answer(S s) null {
for (Cmd cmd : conceptSortedByField index(Cmd))
if (mmo_match_parsedPattern(cmd.parsedPattern(), s))
ret with handleCommand(cmd);
}
}