Warning: session_start(): open(/var/lib/php/sessions/sess_1u6522ff6c2966sg2hqiabocc4, 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
module ServerModuleSearch > DynQuickSearch {
Set recommendedModules;
start {
dm_snippetsDB();
doEvery(5.0, 3600.0, r {
setField(recommendedModules := asSet(map psI(collect('moduleID, stefansOS_parseRecommendedModulesList(mL("Recommended Modules"))))));
});
}
afterVisualize {
listPopupMenuThreaded(list,
"Edit", voidfunc(S s) enter {
dm_openSnippetInEditor(beforeSpace(s));
}, "Make New", voidfunc(S s) enter {
dm_addDynamicModuleDialog2(beforeSpace(s), false);
dm_hideQuickSearchModules();
}, "---",
"Send to machine...", voidfunc(S s) enter {
dm_sendModuleToOtherMachineDialog(beforeSpace(s))
});
onDoubleClickOrEnterThreaded(list, voidfunc(fS s) enter {
dm_addDynamicModuleDialog2(beforeSpace(s), true);
dm_hideQuickSearchModules();
});
}
L calc_impl() {
L snippets = dm_dynModulesOnServer(); // L
snippets = sortSnippets(snippets); // TODO: don't do this every time
ret scoredSearch_eachTerm(query,
map(snippets, func(fO snippet) -> S {
long id = getLong(snippet, 'snippetID);
ret fsI(id) + (contains(recommendedModules, id) ? " [recommended]" : "") + " - " + _get(snippet, 'title);
}));
}
L sortSnippets(L snippets) {
ret sortByCalculatedFieldDesc(snippets, func(O snippet) -> Int {
long id = getLong(snippet, 'snippetID);
if (contains(recommendedModules, id)) ret 1;
S title = getString(snippet, 'title);
ret contains(title, "dev.") ? -1 : 0;
});
}
}