if (keyname[0] == '=') {
DoTemplate(keyname+1, keylen - 1, NULL, NULL);
}
+
+//////TODO: if param[1] == "U" -> urlescape
+/// X -> escputs
/** Page-local variables */
if ((WCC->vars!= NULL) && GetHash(WCC->vars, keyname, keylen, &vVar)) {
ptr = (wcsubst*) vVar;
switch(subst->wcs_type) {
case WCS_STRING:
if (Tokens->nParameters < 4)
- return 0;
+ return 1;
return (strcmp(Tokens->Params[3]->Start, subst->wcs_value) == 0);
case WCS_SERVCMD:
lprintf(1, " -> Server [%s]\n", subst->wcs_value);////todo
case WCS_STRBUF:
case WCS_STRBUF_REF:
if (Tokens->nParameters < 4)
- return 0;
+ return 1;
return (strcmp(Tokens->Params[3]->Start, ChrPtr((StrBuf*) subst->wcs_function)) == 0);
case WCS_LONG:
if (Tokens->nParameters < 4)
{
StrBuf *OutBuf = NewStrBuf();
+ if ((strbuf == NULL) || IsEmptyStr(strbuf))
+ return;
StrMsgEscAppend(OutBuf, NULL, strbuf);
StrEscAppend(WC->WBuf, OutBuf, NULL, 0, 0);
}
* print a string to the client after cleaning it with msgesc()
*/
void msgescputs(char *strbuf) {
- StrMsgEscAppend(WC->WBuf, NULL, strbuf);
+ if ((strbuf != NULL) && !IsEmptyStr(strbuf))
+ StrMsgEscAppend(WC->WBuf, NULL, strbuf);
}
void url_do_template(void) {
const StrBuf *Tmpl = sbstr("template");
begin_burst();
+ output_headers(1, 0, 0, 0, 1, 0);
DoTemplate(ChrPtr(Tmpl), StrLength(Tmpl), NULL, NULL);
end_burst();
}
SVPutBuf("WHO:REALROOM", User->RealRoom, 1);
SVPutBuf("WHO:REALHOST", User->RealHost, 1);
svputlong("WHO:LASTACTIVE", User->LastActive);
+ ///svputlong("WHO:IDLESINCE",(now - User->LastActive) / 60);//// todo
svputlong("WHO:SESSION", User->Session);
svputlong("WHO:IDLE", User->Idle);
svputlong("WHO:NSESSIONS", User->SessionCount);