+void tmpl_vcard_msgno(StrBuf *Target, WCTemplputParams *TP)
+{
+ addrbookent *ab = (addrbookent*) CTX(CTX_VCARD);
+ if (ab->msgNoStr == NULL) {
+ ab->msgNoStr = NewStrBufPlain(NULL, 64);
+ }
+ StrBufPrintf(ab->msgNoStr, "%ld", ab->ab_msgnum);
+ StrBufAppendTemplate(Target, TP, ab->msgNoStr, 0);
+}
void display_one_vcard (StrBuf *Target, addrbookent *ab, const char *tp_name, size_t tp_name_len)
{
WCTemplputParams *TP = NULL;
void display_one_vcard (StrBuf *Target, addrbookent *ab, const char *tp_name, size_t tp_name_len)
{
WCTemplputParams *TP = NULL;
wc_mime_attachment *VCAtt,
const char *return_to,
const char *force_room) {
wc_mime_attachment *VCAtt,
const char *return_to,
const char *force_room) {
- parse_vcard(WCC->WBuf, v, VC, NULL);
+ parse_vcard(WCC->WBuf, v, ab.VC, NULL);
Put(headlines, LKEY(i), headline, HFreeStrBuf);
}
tabbed_dialog(num_pages, tablabels);
page = (-1);
Put(headlines, LKEY(i), headline, HFreeStrBuf);
}
tabbed_dialog(num_pages, tablabels);
page = (-1);
+
+ StackContext(TP, &SubTP, VS->addrbook, CTX_VCARD_LIST, 0, NULL);
+
+ DoTemplate(HKEY("vcard_list"), WCC->WBuf, &SubTP);
+ UnStackContext(&SubTP);
+/*
it = GetNewHashPos(VS->addrbook, 0);
for (i=0; i<num_ab; ++i) {
void *v;
it = GetNewHashPos(VS->addrbook, 0);
for (i=0; i<num_ab; ++i) {
void *v;
autoRegisterTokens(&VCEnumCounter, VCStrE, Prefix, 0, 0);
FreeStrBuf(&Prefix);
autoRegisterTokens(&VCEnumCounter, VCStrE, Prefix, 0, 0);
FreeStrBuf(&Prefix);
+
+ RegisterIterator("MAIL:VCARDS", 0, NULL, CtxGetVcardList, NULL, NULL, CTX_VCARD, CTX_VCARD_LIST, IT_NOFLAG);
+
+
WebcitAddUrlHandler(HKEY("edit_vcard"), "", 0, edit_vcard, 0);
WebcitAddUrlHandler(HKEY("submit_vcard"), "", 0, submit_vcard, 0);
WebcitAddUrlHandler(HKEY("vcardphoto"), "", 0, display_vcard_photo_img, NEED_URL);
WebcitAddUrlHandler(HKEY("edit_vcard"), "", 0, edit_vcard, 0);
WebcitAddUrlHandler(HKEY("submit_vcard"), "", 0, submit_vcard, 0);
WebcitAddUrlHandler(HKEY("vcardphoto"), "", 0, display_vcard_photo_img, NEED_URL);
RegisterNamespace("VC:ITEM", 2, 2, tmpl_vcard_item, preeval_vcard_item, CTX_VCARD);
RegisterNamespace("VC:CTXITEM", 1, 1, tmpl_vcard_context_item, NULL, CTX_VCARD_TYPE);
RegisterNamespace("VC:NAME", 1, 1, tmpl_vcard_name_str, preeval_vcard_name_str, CTX_VCARD);
RegisterNamespace("VC:ITEM", 2, 2, tmpl_vcard_item, preeval_vcard_item, CTX_VCARD);
RegisterNamespace("VC:CTXITEM", 1, 1, tmpl_vcard_context_item, NULL, CTX_VCARD_TYPE);
RegisterNamespace("VC:NAME", 1, 1, tmpl_vcard_name_str, preeval_vcard_name_str, CTX_VCARD);
RegisterNamespace("VC:CTXNAME", 1, 1, tmpl_vcard_context_name_str, NULL, CTX_VCARD_TYPE);
REGISTERTokenParamDefine(FlatString);
REGISTERTokenParamDefine(StringCluster);
RegisterNamespace("VC:CTXNAME", 1, 1, tmpl_vcard_context_name_str, NULL, CTX_VCARD_TYPE);
REGISTERTokenParamDefine(FlatString);
REGISTERTokenParamDefine(StringCluster);