@@ -33,11 +33,12 @@
33 33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define CFTYPE_CLUSTER 2
34 34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define CFTYPE_CONTROL 3
35 35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define CFTYPE_WIKI 4
36 36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define CFTYPE_TICKET 5
37 37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define CFTYPE_ATTACHMENT 6
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define CFTYPE_EVENT 7
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define CFTYPE_EVENT 7 /* older name for CFTYPE_TECHNOTE */
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define CFTYPE_TECHNOTE 7
39 40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define CFTYPE_FORUM 8
40 41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
41 42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
42 43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** File permissions used by Fossil internally.
43 44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -2630,26 +2631,11 @@
2630 2631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&qatt);
2631 2632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2632 2633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( p->type==CFTYPE_ATTACHMENT ){
2633 2634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zComment = 0;
2634 2635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char isAdd = (p->zAttachSrc && p->zAttachSrc[0]) ? 1 : 0;
2635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* We assume that we're attaching to a wiki page until we
2636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** prove otherwise (which could on a later artifact if we
2637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** process the attachment artifact before the artifact to
2638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** which it is attached!) */
2639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char attachToType = 'w';
2640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( fossil_is_artifact_hash(p->zAttachTarget) ){
2641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( db_exists("SELECT 1 FROM tag WHERE tagname='tkt-%q'",
2642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zAttachTarget)
2643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ){
2644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- attachToType = 't'; /* Attaching to known ticket */
2645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( db_exists("SELECT 1 FROM tag WHERE tagname='event-%q'",
2646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zAttachTarget)
2647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ){
2648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- attachToType = 'e'; /* Attaching to known tech note */
2649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char attachToType = 0;
2651 2637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2652 2638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT INTO attachment(attachid, mtime, src, target,"
2653 2639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"filename, comment, user)"
2654 2640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"VALUES(%d,%.17g,%Q,%Q,%Q,%Q,%Q);",
2655 2641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rid, p->rDate, p->zAttachSrc, p->zAttachTarget, p->zAttachName,
@@ -2661,40 +2647,76 @@
2661 2647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE target=%Q AND filename=%Q))"
2662 2648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE target=%Q AND filename=%Q",
2663 2649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->zAttachTarget, p->zAttachName,
2664 2650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->zAttachTarget, p->zAttachName
2665 2651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
2666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( 'w' == attachToType ){
2667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( isAdd ){
2668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zComment = mprintf(
2669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Add attachment [/artifact/%!S|%h] to wiki page [%h]",
2670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zAttachSrc, p->zAttachName, p->zAttachTarget);
2671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
2672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zComment = mprintf("Delete attachment \"%h\" from wiki page [%h]",
2673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zAttachName, p->zAttachTarget);
2674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( 'e' == attachToType ){
2676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( isAdd ){
2677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zComment = mprintf(
2678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Add attachment [/artifact/%!S|%h] to tech note [/technote/%!S|%S]",
2679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zAttachSrc, p->zAttachName, p->zAttachTarget, p->zAttachTarget);
2680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
2681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zComment = mprintf(
2682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Delete attachment \"/artifact/%!S|%h\" from"
2683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " tech note [/technote/%!S|%S]",
2684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zAttachName, p->zAttachName,
2685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zAttachTarget,p->zAttachTarget);
2686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
2688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( isAdd ){
2689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zComment = mprintf(
2690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Add attachment [/artifact/%!S|%h] to ticket [%!S|%S]",
2691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zAttachSrc, p->zAttachName, p->zAttachTarget, p->zAttachTarget);
2692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
2693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zComment = mprintf("Delete attachment \"%h\" from ticket [%!S|%S]",
2694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->zAttachName, p->zAttachTarget, p->zAttachTarget);
2695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch( attachment_target_type(p->zAttachTarget) ){
2653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case 0:
2654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ attachToType = 'a';
2655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isAdd ){
2656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf(
2657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Add attachment [/artifact/%!S|%h] to [/artifact/%!S|%h]",
2658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachSrc, p->zAttachName, p->zAttachTarget);
2659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
2660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf("Delete attachment \"%h\" from "
2661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "[/artifact/%!S|%h",
2662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachName, p->zAttachTarget);
2663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
2665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case CFTYPE_WIKI:
2666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ attachToType = 'w';
2667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isAdd ){
2668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf(
2669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Add attachment [/artifact/%!S|%h] to wiki page [%h]",
2670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachSrc, p->zAttachName, p->zAttachTarget);
2671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
2672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf("Delete attachment \"%h\" from "
2673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "wiki page [%h]",
2674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachName, p->zAttachTarget);
2675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
2677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case CFTYPE_EVENT:
2678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ attachToType = 'e';
2679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isAdd ){
2680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf(
2681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Add attachment [/artifact/%!S|%h] to tech note "
2682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "[/technote/%!S|%S]",
2683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachSrc, p->zAttachName, p->zAttachTarget, p->zAttachTarget);
2684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
2685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf(
2686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Delete attachment \"/artifact/%!S|%h\" from"
2687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " tech note [/technote/%!S|%S]",
2688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachName, p->zAttachName,
2689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachTarget,p->zAttachTarget);
2690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
2692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case CFTYPE_TICKET:
2693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ attachToType = 't';
2694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isAdd ){
2695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf(
2696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Add attachment [/artifact/%!S|%h] to ticket [%!S|%S]",
2697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachSrc, p->zAttachName, p->zAttachTarget, p->zAttachTarget);
2698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
2699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf(
2700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Delete attachment \"%h\" from ticket [%!S|%S]",
2701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachName, p->zAttachTarget, p->zAttachTarget);
2702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
2704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case CFTYPE_FORUM:
2705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ attachToType = 'f';
2706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isAdd ){
2707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf(
2708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Add attachment [/artifact/%!S|%h] to forum post "
2709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "[/forumpost/%!S|%S]",
2710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachSrc, p->zAttachName, p->zAttachTarget, p->zAttachTarget);
2711 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
2712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zComment = mprintf(
2713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Delete attachment \"%h\" from forum post "
2714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "[/forumpost/%!S|%S]",
2715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->zAttachName, p->zAttachTarget, p->zAttachTarget);
2716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
2696 2718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2697 2719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( manifest_event_triggers_are_enabled );
2698 2720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
2699 2721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"REPLACE INTO event(type,mtime,objid,user,comment)"
2700 2722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"VALUES('%c',%.17g,%d,%Q,%Q)",
2701 2723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!