<?cs def:checkbox(option) ?><?cs if:Lang.Options[option] ?><input type="checkbox" name="option_<?cs var:option ?>" id="option_<?cs var:option ?>" value="selected" <?cs if:(Data.List.Options[option] == 1) ?>checked="checked"<?cs /if ?> /> <label for="option_<?cs var:option ?>"><?cs var:html_escape(Lang.Options[option]) ?></label><?cs else ?>unknown option (<?cs var:option ?>)<?cs /if ?><?cs /def ?> <?cs def:setting(setting) ?><?cs if:Lang.Settings[setting] ?><input type="checkbox" name="setting_state_<?cs var:setting ?>" id="setting_state_<?cs var:setting ?>" value="selected" <?cs if:(Data.List.Settings[setting].state == 1) ?>checked="checked"<?cs /if ?> /> <label for="setting_state_<?cs var:setting ?>"><?cs var:html_escape(Lang.Settings[setting]) ?></label> <ul><li><input type="text" name="setting_value_<?cs var:setting ?>" id="setting_value_<?cs var:setting ?>" value="<?cs var:html_escape(Data.List.Settings[setting].value) ?>" size="30" /></li></ul><?cs else ?>unknown setting (<?cs var:setting ?>)<?cs /if ?><?cs /def ?> <?cs def:warning(warntext) ?><div class="warning"> <?cs alt:warntext ?>unknown warning message (<?cs var:Data.Warning ?>)<?cs /alt ?> </div><?cs /def ?> <?cs def:error(errtext) ?><div class="error"> <?cs alt:errtext ?>unknown error message (<?cs var:Data.Error ?>)<?cs /alt ?> </div><?cs /def ?> <?cs def:success(succtext) ?><div class="success"> <?cs alt:succtext ?>unknown success message (<?cs var:Data.Success ?>)<?cs /alt ?> </div><?cs /def ?> <?cs def:limit_string_len(text,limit) ?><?cs set:text2 = text ?><?cs set:len = string.length(text2) ?><?cs if:len > limit ?><?cs var:string.slice(text,0,limit / #2 + limit % #2 - 1) ?>...<?cs var:string.slice(text,len - limit / #2 + #3 - #1, len) ?><?cs else ?><?cs var:text ?><?cs /if ?><?cs /def ?>