@@ -40,10 +40,11 @@
40 40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
41 41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void attachlist_page(void){
42 42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zPage = P("page");
43 43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTkt = P("tkt");
44 44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTechNote = P("technote");
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zForumPost = P("forumpost");
45 46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob sql;
46 47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q;
47 48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
48 49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zPage && zTkt ) zTkt = 0;
49 50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_check_credentials();
@@ -55,14 +56,28 @@
55 56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" (SELECT uuid FROM blob WHERE rid=attachid), attachid,"
56 57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" (CASE WHEN 'tkt-'||target IN (SELECT tagname FROM tag)"
57 58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" THEN 1"
58 59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHEN 'event-'||target IN (SELECT tagname FROM tag)"
59 60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" THEN 2"
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHEN 'wiki-'||target IN (SELECT tagname FROM tag)"
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " THEN 3"
60 63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" ELSE 0 END)"
61 64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" FROM attachment"
62 65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zPage ){
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zForumPost ){
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int fnid;
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zUuid;
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.perm.RdForum==0 ){ login_needed(g.anon.RdForum); return; }
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_header("Attachments To %h", zForumPost);
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fnid = forumpost_head_rid2(zForumPost);
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fnid<=0 ){
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("Invalid forum post ID: %h", zForumPost);
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zUuid = rid_to_uuid(fnid);
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_sql(&sql, " WHERE target=%Q", zUuid);
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free(zUuid);
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( zPage ){
64 79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.perm.RdWiki==0 ){ login_needed(g.anon.RdWiki); return; }
65 80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_header("Attachments To %h", zPage);
66 81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append_sql(&sql, " WHERE target=%Q", zPage);
67 82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( zTkt ){
68 83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.perm.RdTkt==0 ){ login_needed(g.anon.RdTkt); return; }
@@ -117,25 +132,33 @@
117 132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ [<a href="%R/attachdownload/%t(zFilename)?%s(zUrlTail)">download</a>]<br>
118 133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zComment ) while( fossil_isspace(zComment[0]) ) zComment++;
119 134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zComment && zComment[0] ){
120 135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ %!W(zComment)<br>
121 136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zPage==0 && zTkt==0 && zTechNote==0 ){
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zForumPost==0 && zPage==0 && zTkt==0 && zTechNote==0 ){
123 138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zSrc==0 || zSrc[0]==0 ){
124 139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSrc = "Deleted from";
125 140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else {
126 141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSrc = "Added to";
127 142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( type==1 ){
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ %s(zSrc) ticket <a href="%R/tktview?name=%s(zTarget)">
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ %S(zTarget)</a>
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( type==2 ){
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ %s(zSrc) tech note <a href="%R/technote/%s(zTarget)">
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ %S(zTarget)</a>
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch( type ){
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case 1:
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ %s(zSrc) ticket <a href="%R/tktview?name=%s(zTarget)">
146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ %S(zTarget)</a>
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case 2:
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ %s(zSrc) tech note <a href="%R/technote/%s(zTarget)">
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ %S(zTarget)</a>
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case 3:
135 153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ %s(zSrc) wiki page <a href="%R/wiki?name=%t(zTarget)">
136 154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ %h(zTarget)</a>
155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case 0:
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ %s(zSrc) forum post <a href="%R/forumpost/%s(zTarget)">
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ %h(zTarget)</a>
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
137 160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
138 161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
139 162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zSrc==0 || zSrc[0]==0 ){
140 163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ Deleted
141 164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else {
@@ -314,35 +337,49 @@
314 337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Add a new attachment.
315 338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
316 339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** tkt=HASH
317 340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** page=WIKIPAGE
318 341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** technote=HASH
342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** forumpost=HASH
319 343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** from=URL
320 344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
321 345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
322 346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void attachadd_page(void){
323 347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zPage = P("page");
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zForumPost = P("forumpost");
324 349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTkt = P("tkt");
325 350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTechNote = P("technote");
326 351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zFrom = P("from");
327 352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *aContent = P("f");
328 353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName = PD("f:filename","unknown");
329 354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTarget;
330 355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zTargetType;
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zExtraFree = 0;
331 357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int szContent = atoi(PD("f:bytes","0"));
332 358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int goodCaptcha = 1;
333 359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zFrom==0 ) zFrom = mprintf("%R/home");
334 361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( P("cancel") ) cgi_redirect(zFrom);
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( (zPage && zTkt)
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- || (zPage && zTechNote)
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- || (zTkt && zTechNote)
338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ){
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_redirect_home();
362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (!!zPage + !!zTkt + !!zTechNote + !!zForumPost)!=1 ){
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ //fossil_redirect_home();
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("Requires exactly one one: page=X, tkt=X, forumpost=X, or technote=X");
340 365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zPage==0 && zTkt==0 && zTechNote==0) fossil_redirect_home();
342 366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_check_credentials();
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zPage ){
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zForumPost ){
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int fpid;
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.perm.AttachForum==0 ){
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ login_needed(g.anon.AttachForum);
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return;
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fpid = forumpost_head_rid2(zForumPost);
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fpid<=0 ){
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("Invalid forum post ID: %h", zForumPost);
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTarget = zExtraFree = rid_to_uuid(fpid);
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTargetType = mprintf("Forum post <a href=\"%R/forumpost/%S\">%h</a>",
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTarget, zForumPost);
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( zPage ){
344 381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.perm.ApndWiki==0 || g.perm.Attach==0 ){
345 382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_needed(g.anon.ApndWiki && g.anon.Attach);
346 383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
347 384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
348 385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !db_exists("SELECT 1 FROM tag WHERE tagname='wiki-%q'", zPage) ){
@@ -364,10 +401,11 @@
364 401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTarget = zTechNote;
365 402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTargetType = mprintf("Tech Note <a href=\"%R/technote/%s\">%S</a>",
366 403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTechNote, zTechNote);
367 404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
368 405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( zTkt );
369 407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.perm.ApndTkt==0 || g.perm.Attach==0 ){
370 408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_needed(g.anon.ApndTkt && g.anon.Attach);
371 409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
372 410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
373 411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !db_exists("SELECT 1 FROM tag WHERE tagname='tkt-%q'", zTkt) ){
@@ -377,16 +415,13 @@
377 415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
378 416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTarget = zTkt;
379 417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTargetType = mprintf("Ticket <a href=\"%R/tktview/%s\">%S</a>",
380 418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTkt, zTkt);
381 419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zFrom==0 ) zFrom = mprintf("%R/home");
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( P("cancel") ){
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cgi_redirect(zFrom);
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
386 420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( P("ok") && szContent>0 && (goodCaptcha = captcha_is_correct(0)) ){
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int needModerator = (zTkt!=0 && ticket_need_moderation(0)) ||
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int needModerator = (zForumPost!=0 && forum_need_moderation()) ||
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (zTkt!=0 && ticket_need_moderation(0)) ||
388 423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(zPage!=0 && wiki_need_moderation(0));
389 424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zComment = PD("comment", "");
390 425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
attach_commit(zName, zTarget, aContent, szContent, needModerator, zComment);
391 426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_redirect(zFrom);
392 427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -400,11 +435,13 @@
400 435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <div>
401 436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ File to Attach:
402 437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <input type="file" name="f" size="60"><br>
403 438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ Description:<br>
404 439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <textarea name="comment" cols="80" rows="5" wrap="virtual"></textarea><br>
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zTkt ){
440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zForumPost ){
441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <input type="hidden" name="forumpost" value="%h(zTarget)">
442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( zTkt ){
406 443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <input type="hidden" name="tkt" value="%h(zTkt)">
407 444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( zTechNote ){
408 445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <input type="hidden" name="technote" value="%h(zTechNote)">
409 446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
410 447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <input type="hidden" name="page" value="%h(zPage)">
@@ -415,10 +452,11 @@
415 452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ </div>
416 453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
captcha_generate(0);
417 454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ </form>
418 455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_finish_page();
419 456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(zTargetType);
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free(zExtraFree);
420 458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
421 459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
422 460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
423 461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** WEBPAGE: ainfo
424 462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** URL: /ainfo?name=ARTIFACTID
@@ -436,65 +474,73 @@
436 474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName; /* Name of the attached file */
437 475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zDesc; /* Description of the attached file */
438 476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zWikiName = 0; /* Wiki page name when attached to Wiki */
439 477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTNUuid = 0; /* Tech Note ID when attached to tech note */
440 478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTktUuid = 0; /* Ticket ID when attached to a ticket */
479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zForumPost = 0; /* Forum post UID when attached to a forum post */
441 480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int modPending; /* True if awaiting moderation */
442 481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zModAction; /* Moderation action or NULL */
443 482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int isModerator; /* TRUE if user is the moderator */
444 483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zMime; /* MIME Type */
445 484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob attach; /* Content of the attachment */
446 485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int fShowContent = 0;
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int bUserIsOwner = 0;
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int showDelMenu = 0;
447 488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zLn = P("ln");
448 489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
449 490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_check_credentials();
450 491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !g.perm.RdTkt && !g.perm.RdWiki ){
451 492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_needed(g.anon.RdTkt || g.anon.RdWiki);
452 493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
453 494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
454 495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rid = name_to_rid_www("name");
455 496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rid==0 ){ fossil_redirect_home(); }
456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", rid);
497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zUuid = rid_to_uuid(rid);
457 498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pAttach = manifest_get(rid, CFTYPE_ATTACHMENT, 0);
458 499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pAttach==0 ) fossil_redirect_home();
500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ bUserIsOwner = fossil_strcmp(pAttach->zUser, login_name());
459 501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTarget = pAttach->zAttachTarget;
460 502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSrc = pAttach->zAttachSrc;
461 503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ridSrc = db_int(0,"SELECT rid FROM blob WHERE uuid='%q'", zSrc);
462 504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zName = pAttach->zAttachName;
463 505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zDesc = pAttach->zComment;
464 506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zMime = mimetype_from_name(zName);
465 507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fShowContent = zMime ? strncmp(zMime,"text/", 5)==0 : 0;
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( validate16(zTarget, strlen(zTarget))
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( db_int(0,"SELECT 1 FROM event WHERE objid=%d and type='f'", rid) ){
509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !g.perm.RdForum ){ login_needed(g.anon.RdForum); return; }
510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ showDelMenu = g.perm.Admin || bUserIsOwner;
511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zForumPost = zTarget;
512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( validate16(zTarget, strlen(zTarget))
467 513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& db_exists("SELECT 1 FROM ticket WHERE tkt_uuid='%q'", zTarget)
468 514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zTktUuid = zTarget;
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !g.perm.RdTkt ){ login_needed(g.anon.RdTkt); return; }
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.perm.WrTkt ){
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Delete", "%R/ainfo/%s?del", zUuid);
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( db_exists("SELECT 1 FROM tag WHERE tagname='wiki-%q'",zTarget) ){
475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zWikiName = zTarget;
476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.perm.WrWiki ){
478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Delete", "%R/ainfo/%s?del", zUuid);
479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( db_exists("SELECT 1 FROM tag WHERE tagname='event-%q'",zTarget) ){
481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zTNUuid = zTarget;
482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.perm.Write && g.perm.WrWiki ){
484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Delete", "%R/ainfo/%s?del", zUuid);
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !g.perm.RdTkt ){ login_needed(g.anon.RdTkt); return; }
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTktUuid = zTarget;
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ showDelMenu = g.perm.WrTkt;
518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( db_exists("SELECT 1 FROM tag WHERE tagname='wiki-%q'",zTarget) ){
519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zWikiName = zTarget;
521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ showDelMenu = g.perm.WrWiki;
522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( db_exists("SELECT 1 FROM tag WHERE tagname='event-%q'",zTarget) ){
523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTNUuid = zTarget;
525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ showDelMenu = g.perm.Write && g.perm.WrWiki;
526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( showDelMenu ){
528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_submenu_element("Delete", "%R/ainfo/%s?del", zUuid);
486 529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
487 530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zDate = db_text(0, "SELECT datetime(%.12f)", pAttach->rDate);
488 531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( P("confirm")
490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && ((zTktUuid && g.perm.WrTkt) ||
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( P("confirm") &&
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ((zForumPost
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && (g.perm.Admin || (g.perm.AttachForum && bUserIsOwner))) ||
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (zTktUuid && g.perm.WrTkt) ||
491 536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(zWikiName && g.perm.WrWiki) ||
492 537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(zTNUuid && g.perm.Write && g.perm.WrWiki))
493 538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Delete attachment. */
494 540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i, n, rid;
495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zDate;
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zNewDate;
496 542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob manifest;
497 543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob cksum;
498 544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zFile = zName;
499 545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
500 546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_begin_transaction();
@@ -502,24 +548,26 @@
502 548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=n=0; zFile[i]; i++){
503 549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zFile[i]=='/' || zFile[i]=='\\' ) n = i;
504 550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
505 551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFile += n;
506 552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zFile[0]==0 ) zFile = "unknown";
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&manifest, "A %F %F\n", zFile, zTarget);
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDate = date_in_standard_format("now");
509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&manifest, "D %s\n", zDate);
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&manifest, "A %F\n", zFile);
554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zNewDate = date_in_standard_format("now");
555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&manifest, "D %s\n", zNewDate);
510 556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&manifest, "U %F\n", login_name());
511 557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
md5sum_blob(&manifest, &cksum);
512 558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&manifest, "Z %b\n", &cksum);
513 559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rid = content_put(&manifest);
514 560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
manifest_crosslink(rid, &manifest, MC_NONE);
515 561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
516 562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <p>The attachment below has been deleted.</p>
563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free(zNewDate);
517 564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
518 565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
519 566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( P("del")
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && ((zTktUuid && g.perm.WrTkt) ||
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && ((zForumPost && (g.perm.Admin || bUserIsOwner)) ||
568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (zTktUuid && g.perm.WrTkt) ||
521 569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(zWikiName && g.perm.WrWiki) ||
522 570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(zTNUuid && g.perm.Write && g.perm.WrWiki))
523 571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
524 572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
form_begin(0, "%R/ainfo/%!S", zUuid);
525 573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <p>Confirm you want to delete the attachment shown below.
@@ -526,23 +574,29 @@
526 574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <input type="submit" name="confirm" value="Confirm">
527 575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ </form>
528 576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
529 577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
530 578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
isModerator = g.perm.Admin ||
579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (zForumPost && g.perm.ModForum) ||
531 580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(zTktUuid && g.perm.ModTkt) ||
532 581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(zWikiName && g.perm.ModWiki);
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( isModerator && (zModAction = P("modaction"))!=0 ){
582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zModAction = P("modaction");
583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zModAction!=0 ){
534 584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( strcmp(zModAction,"delete")==0 ){
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- moderation_disapprove(rid);
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zTktUuid ){
585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isModerator ){
586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ moderation_disapprove(rid);
587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zForumPost ){
589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cgi_redirectf("%R/forumpost/%!S", zForumPost);
590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( zTktUuid ){
537 591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_redirectf("%R/tktview/%!S", zTktUuid);
538 592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
539 593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_redirectf("%R/wiki?name=%t", zWikiName);
540 594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
541 595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
542 596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( strcmp(zModAction,"approve")==0 ){
597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isModerator && strcmp(zModAction,"approve")==0 ){
544 598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
moderation_approve('a', rid);
545 599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
546 600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
547 601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_set_current_feature("attach");
548 602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_header("Attachment Details");
@@ -558,19 +612,20 @@
558 612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <td>%z(href("%R/artifact/%!S",zUuid))%s(zUuid)</a>
559 613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.perm.Setup ){
560 614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ (%d(rid))
561 615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
562 616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modPending = moderation_pending_www(rid);
563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zTktUuid ){
617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zForumPost ){
618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <tr><th>Forum Post:</th>
619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <td>%z(href("%R/forumpost/%s",zForumPost))%h(zForumPost)</a></td></tr>
620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( zTktUuid ){
564 621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <tr><th>Ticket:</th>
565 622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <td>%z(href("%R/tktview/%s",zTktUuid))%s(zTktUuid)</a></td></tr>
566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zTNUuid ){
623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( zTNUuid ){
568 624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <tr><th>Tech Note:</th>
569 625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <td>%z(href("%R/technote/%s",zTNUuid))%s(zTNUuid)</a></td></tr>
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zWikiName ){
626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( zWikiName ){
572 627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <tr><th>Wiki Page:</th>
573 628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <td>%z(href("%R/wiki?name=%t",zWikiName))%h(zWikiName)</a></td></tr>
574 629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
575 630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <tr><th>Date:</th><td>
576 631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
hyperlink_to_date(zDate, "</td></tr>");
577 632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!