1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
|
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
|
-
-
+
+
+
|
@ <p>Unable to locate a subscriber with the requested key</p>
}else{
db_multi_exec(
"DELETE FROM subscriber WHERE subscriberId=%d", sid
);
style_header("Unsubscribed");
@ <p>The "%h(zEmail)" email address has been unsubscribed and the
@ corresponding row in the subscriber table has been deleted.<p>
@ <p>The "%h(zEmail)" email address has been unsubscribed from all
@ notifications. All subscription records for "%h(zEmail)" have
@ been purged. No further emails will be sent to "%h(zEmail)".</p>
if( uid && g.perm.Admin ){
@ <p>You may also want to
@ <a href="%R/setup_uedit?id=%d(uid)">edit or delete
@ the corresponding user "%h(zLogin)"</a></p>
}
}
db_finalize(&q);
|
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
|
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
|
-
+
|
const char *zFrom;
const char *zDest = (flags & SENDALERT_STDOUT) ? "stdout" : 0;
AlertSender *pSender = 0;
u32 senderFlags = 0;
if( g.fSqlTrace ) fossil_trace("-- BEGIN alert_send_alerts(%u)\n", flags);
alert_schema(0);
if( !alert_enabled() ) goto send_alert_done;
if( !alert_enabled() && (flags & SENDALERT_STDOUT)==0 ) goto send_alert_done;
zUrl = db_get("email-url",0);
if( zUrl==0 ) goto send_alert_done;
zRepoName = db_get("email-subname",0);
if( zRepoName==0 ) goto send_alert_done;
zFrom = db_get("email-self",0);
if( zFrom==0 ) goto send_alert_done;
if( flags & SENDALERT_TRACE ){
|
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
|
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
|
+
+
|
}
nHit++;
blob_append(&body, "\n", 1);
blob_append(&body, blob_buffer(&p->txt), blob_size(&p->txt));
}
}
if( nHit==0 ) continue;
blob_appendf(&hdr, "List-Unsubscribe: <%s/unsubscribe/%s>\r\n",
zUrl, zCode);
blob_appendf(&body,"\n-- \nSubscription info: %s/alerts/%s\n",
zUrl, zCode);
alert_send(pSender,&hdr,&body,0);
nSent++;
blob_truncate(&hdr, 0);
blob_truncate(&body, 0);
}
|