Index: src/event.c =================================================================== --- src/event.c +++ src/event.c @@ -398,32 +398,32 @@ @
login_insert_csrf_secret(); @ @ - @ + @ @ - @ + @ @ - @ + @ @ @ @ - @ + @ @ Index: src/info.c =================================================================== --- src/info.c +++ src/info.c @@ -221,11 +221,11 @@ }else{ @ propagates to descendants } #if 0 if( zValue && strcmp(zTagname,"branch")==0 ){ - @    + @    @ branch timeline } #endif } if( zSrcUuid && zSrcUuid[0] ){ @@ -320,11 +320,11 @@ if( showDiff ){ @
       append_diff(zOld, zNew);
       @ 
}else if( zOld && zNew ){ - @    + @    @ [diff] } @

} } @@ -400,33 +400,33 @@ zComment = db_column_text(&q, 3); zDate = db_column_text(&q,1); zOrigDate = db_column_text(&q, 4); @
Overview
@
Event Time:
Event Time: @ @
Timeline Comment:
Timeline Comment: @ @
Background Color:
Background Color: render_color_chooser(0, zClr, 0, "clr", "cclr"); @
Tags: @ @
Page Content:
Page Content: @ @
- @ @ "); if( zOrigDate && fossil_strcmp(zDate, zOrigDate)!=0 ){ - @ "); } if( zEUser ){ - @ "); - @ "); }else{ @ "); } if( zEComment ){ - @ - @ + @ + @ }else{ @ } if( g.okAdmin ){ db_prepare(&q, @@ -438,11 +438,11 @@ if( db_step(&q)==SQLITE_ROW ){ const char *zIpAddr = db_column_text(&q, 0); const char *zUser = db_column_text(&q, 1); const char *zDate = db_column_text(&q, 2); if( zUser==0 || zUser[0]==0 ) zUser = "unknown"; - @ + @ @ } db_finalize(&q); } if( g.okHistory ){ @@ -466,11 +466,11 @@ const char *zTagName = db_column_text(&q, 0); @ | %h(zTagName) } db_finalize(&q); @ - @ + @ @ "); if( g.okSetup ){ @ } - @ "); if( g.okHistory ){ @ @ @ Index: src/report.c =================================================================== --- src/report.c +++ src/report.c @@ -58,11 +58,11 @@ if( zTitle[0] == '_' ){ blob_appendf(&ril, "%s", zTitle); } else { blob_appendf(&ril, "%h", rn, zTitle); } - blob_appendf(&ril, "   "); + blob_appendf(&ril, "   "); if( g.okWrite && zOwner && zOwner[0] ){ blob_appendf(&ril, "(by %h) ", zOwner); } if( g.okTktFmt ){ blob_appendf(&ril, "[copy] ", rn); @@ -664,11 +664,11 @@ for(i=0; iiBg ) continue; if( pState->iNewRow>=0 && i>=pState->iNewRow ){ if( g.okWrite && zTid ){ - @ + @ zTid = 0; } if( zName[0]=='_' ) zName++; @ }else{ @@ -677,11 +677,11 @@ } @ } } if( g.okWrite && zTid ){ - @ + @ } @ } if( azArg==0 ){ @ + @ } /* Output the data for this entry from the database */ zBg = pState->iBg>=0 ? azArg[pState->iBg] : 0; @@ -728,11 +728,11 @@ @ }else{ @ } }else if( zData[0]==0 ){ - @ + @ }else{ @ } Index: src/setup.c =================================================================== --- src/setup.c +++ src/setup.c @@ -118,13 +118,13 @@ @
SHA1 Hash:%s(zUuid) + @
SHA1 Hash:%s(zUuid) if( g.okSetup ){ @ (Record ID: %d(rid)) } @
Date: hyperlink_to_date(zDate, "
Original Date: + @
Original Date: hyperlink_to_date(zOrigDate, "
Edited User: + @
Edited User: hyperlink_to_user(zEUser,zDate,"
Original User: + @
Original User: hyperlink_to_user(zUser,zDate,"
User: hyperlink_to_user(zUser,zDate,"
Edited Comment:%w(zEComment)
Original Comment:%w(zComment)
Edited Comment:%w(zEComment)
Original Comment:%w(zComment)
Comment:%w(zComment)
Received From:
Received From:%h(zUser) @ %h(zIpAddr) on %s(zDate)
Other Links:
Other Links: @ files if( g.okZip ){ char *zUrl = mprintf("%s/tarball/%s-%S.tar.gz?uuid=%s", g.zTop, zProjName, zUuid, zUuid); @@ -497,23 +497,23 @@ @
Changes
showDiff = g.zPath[0]!='c'; if( db_get_boolean("show-version-diffs", 0)==0 ){ showDiff = !showDiff; if( showDiff ){ - @ [hide diffs] + @ [hide diffs] }else{ - @ [show diffs] + @ [show diffs] } }else{ if( showDiff ){ - @ [hide diffs] + @ [hide diffs] }else{ - @ [show diffs] + @ [show diffs] } } - @    - @ [patch]
+ @    + @ [patch]
db_prepare(&q, "SELECT name, mperm," " (SELECT uuid FROM blob WHERE rid=mlink.pid)," " (SELECT uuid FROM blob WHERE rid=mlink.fid)" " FROM mlink JOIN filename ON filename.fnid=mlink.fnid" @@ -578,11 +578,11 @@ @
Date: hyperlink_to_date(zDate, "
Record ID:%d(rid)
Original User: + @
Original User: hyperlink_to_user(zUser, zDate, "
Commands: @ history @@ -966,11 +966,11 @@ text_diff(&c1, &c2, pOut, 4, 1); blob_reset(&c1); blob_reset(&c2); if( !isPatch ){ style_header("Diff"); - style_submenu_element("Patch", "Patch", "%s/fdiff?v1=%T&v2=%T&patch", + style_submenu_element("Patch", "Patch", "%s/fdiff?v1=%T&v2=%T&patch", g.zTop, P("v1"), P("v2")); @

Differences From:

@

object_description(v1, 1, 0); @

@@ -1282,11 +1282,11 @@ @
         @ %h(z)
         @ 
} }else if( strncmp(zMime, "image/", 6)==0 ){ - @ + @ }else{ @ (file is %d(blob_size(&content)) bytes of binary data) } @ } @@ -1525,11 +1525,11 @@ }else{ @
@ } - @ %h(aColor[i].zCName)  + @ %h(aColor[i].zCName)  @ @
  
nCol)>%h(zName)%h(zName)  
@@ -693,11 +693,11 @@ /* Output the separator above each entry in a table which has multiple lines ** per database entry. */ if( pState->iNewRow>=0 ){ - @
nCol)> 
nCol)> 
%h(zData)%h(zData)   @ %h(zData) @
@
@ Users: @ @ - @ + @ @ - @ + @ @ db_prepare(&s, "SELECT uid, login, cap, info FROM user ORDER BY login"); while( db_step(&s)==SQLITE_ROW ){ const char *zCap = db_column_text(&s, 2); @ @@ -497,11 +497,11 @@ @ @ @ @ @ - @ + @ @ @ @ @ @ } if( !higherUser ){ @ - @ + @ @ @ } @
User IDUser IDCapabilitiesContact InfoContact Info
Login:
Contact Info:Contact Info:
Capabilities: @@ -554,11 +554,11 @@ @ Apply changes to all repositories in the "%h(zGroup)" @ login group.
  
@ Index: src/shun.c =================================================================== --- src/shun.c +++ src/shun.c @@ -233,11 +233,11 @@ @ @ @ @ @ - @ + @ cnt = 0; while( db_step(&q)==SQLITE_ROW ){ int rcvid = db_column_int(&q, 0); const char *zUser = db_column_text(&q, 1); const char *zDate = db_column_text(&q, 2); @@ -289,11 +289,11 @@ const char *zIpAddr = db_column_text(&q, 2); @ @ @ @ - @ + @ @ } db_finalize(&q); db_prepare(&q, "SELECT rid, uuid, size FROM blob WHERE rcvid=%d", rcvid Index: src/skins.c =================================================================== --- src/skins.c +++ src/skins.c @@ -163,11 +163,11 @@ @ media="screen"> @ @ @
@ @
$
$</div> @ <div class="status"><nobr><th1> @ if {[info exists login]} { @ puts "Logged in as $login" @@ -597,11 +597,11 @@ @ media="screen"> @ </head> @ <body> @ <div class="header"> @ <div class="logo"> -@ <img src="$home/logo" alt="logo"> +@ <img src="$home/logo" alt="logo" /> @ <br /><nobr>$<project_name></nobr> @ </div> @ <div class="title">$<title></div> @ <div class="status"><nobr><th1> @ if {[info exists login]} { @@ -891,11 +891,11 @@ @ media="screen"> @ </head> @ <body> @ <div class="header"> @ <div class="logo"> -@ <img src="$home/logo" alt="logo"> +@ <img src="$home/logo" alt="logo" /> @ <br /><nobr>$<project_name></nobr> @ </div> @ <div class="title">$<title></div> @ <div class="status"><nobr><th1> @ if {[info exists login]} { @@ -1103,14 +1103,14 @@ @ <h2>Available Skins:</h2> @ <ol> for(i=0; i<sizeof(aBuiltinSkin)/sizeof(aBuiltinSkin[0]); i++){ z = aBuiltinSkin[i].zName; if( strcmp(aBuiltinSkin[i].zValue, zCurrent)==0 ){ - @ <li><p>%h(z).   <b>Currently In Use</b></p> + @ <li><p>%h(z).   <b>Currently In Use</b></p> }else{ @ <li><form action="%s(g.zTop)/setup_skin" method="post"><div> - @ %h(z).   + @ %h(z).   @ <input type="hidden" name="sn" value="%h(z)" /> @ <input type="submit" name="load" value="Use This Skin" /> @ </div></form></li> } } @@ -1121,14 +1121,14 @@ ); while( db_step(&q)==SQLITE_ROW ){ const char *zN = db_column_text(&q, 0); const char *zV = db_column_text(&q, 1); if( strcmp(zV, zCurrent)==0 ){ - @ <li><p>%h(zN).   <b>Currently In Use</b></p> + @ <li><p>%h(zN).   <b>Currently In Use</b></p> }else{ @ <li><form action="%s(g.zTop)/setup_skin" method="post"> - @ %h(zN).   + @ %h(zN).   @ <input type="hidden" name="sn" value="%h(zN)"> @ <input type="submit" name="load" value="Use This Skin"> @ <input type="submit" name="del1" value="Delete This Skin"> @ </form></li> } Index: src/stat.c =================================================================== --- src/stat.c +++ src/stat.c @@ -36,24 +36,24 @@ login_check_credentials(); if( !g.okRead ){ login_needed(); return; } style_header("Repository Statistics"); @ <table class="label-value"> - @ <tr><th>Repository Size:</th><td> + @ <tr><th>Repository Size:</th><td> fsize = file_size(g.zRepositoryName); sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", fsize); @ %s(zBuf) bytes @ </td></tr> - @ <tr><th>Number Of Artifacts:</th><td> + @ <tr><th>Number Of Artifacts:</th><td> n = db_int(0, "SELECT count(*) FROM blob"); m = db_int(0, "SELECT count(*) FROM delta"); @ %d(n) (stored as %d(n-m) full text and %d(m) delta blobs) @ </td></tr> if( n>0 ){ int a, b; Stmt q; - @ <tr><th>Uncompressed Artifact Size:</th><td> + @ <tr><th>Uncompressed Artifact Size:</th><td> db_prepare(&q, "SELECT total(size), avg(size), max(size)" " FROM blob WHERE size>0"); db_step(&q); t = db_column_int64(&q, 0); szAvg = db_column_int(&q, 1); @@ -60,11 +60,11 @@ szMax = db_column_int(&q, 2); db_finalize(&q); sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", t); @ %d(szAvg) bytes average, %d(szMax) bytes max, %s(zBuf) bytes total @ </td></tr> - @ <tr><th>Compression Ratio:</th><td> + @ <tr><th>Compression Ratio:</th><td> if( t/fsize < 5 ){ b = 10; fsize /= 10; }else{ b = 1; @@ -71,52 +71,52 @@ } a = t/fsize; @ %d(a):%d(b) @ </td></tr> } - @ <tr><th>Number Of Check-ins:</th><td> + @ <tr><th>Number Of Check-ins:</th><td> n = db_int(0, "SELECT count(distinct mid) FROM mlink /*scan*/"); @ %d(n) @ </td></tr> - @ <tr><th>Number Of Files:</th><td> + @ <tr><th>Number Of Files:</th><td> n = db_int(0, "SELECT count(*) FROM filename /*scan*/"); @ %d(n) @ </td></tr> - @ <tr><th>Number Of Wiki Pages:</th><td> + @ <tr><th>Number Of Wiki Pages:</th><td> n = db_int(0, "SELECT count(*) FROM tag /*scan*/" " WHERE +tagname GLOB 'wiki-*'"); @ %d(n) @ </td></tr> - @ <tr><th>Number Of Tickets:</th><td> + @ <tr><th>Number Of Tickets:</th><td> n = db_int(0, "SELECT count(*) FROM tag /*scan*/" " WHERE +tagname GLOB 'tkt-*'"); @ %d(n) @ </td></tr> - @ <tr><th>Duration Of Project:</th><td> + @ <tr><th>Duration Of Project:</th><td> n = db_int(0, "SELECT julianday('now') - (SELECT min(mtime) FROM event)" " + 0.99"); @ %d(n) days sqlite3_snprintf(sizeof(zBuf), zBuf, "%.2f", n/365.24); @ or approximately %s(zBuf) years @ </td></tr> - @ <tr><th>Project ID:</th><td> + @ <tr><th>Project ID:</th><td> @ %h(db_get("project-code","")) @ </td></tr> - @ <tr><th>Server ID:</th><td> + @ <tr><th>Server ID:</th><td> @ %h(db_get("server-code","")) @ </td></tr> - @ <tr><th>Fossil Version:</th><td> + @ <tr><th>Fossil Version:</th><td> @ %h(MANIFEST_DATE) %h(MANIFEST_VERSION) (%h(COMPILER_NAME)) @ </td></tr> - @ <tr><th>SQLite Version:</th><td> + @ <tr><th>SQLite Version:</th><td> sqlite3_snprintf(sizeof(zBuf), zBuf, "%.19s [%.10s] (%s)", SQLITE_SOURCE_ID, &SQLITE_SOURCE_ID[20], SQLITE_VERSION); zDb = db_name("repository"); @ %s(zBuf) @ </td></tr> - @ <tr><th>Database Stats:</th><td> + @ <tr><th>Database Stats:</th><td> @ %d(db_int(0, "PRAGMA %s.page_count", zDb)) pages, @ %d(db_int(0, "PRAGMA %s.page_size", zDb)) bytes/page, @ %d(db_int(0, "PRAGMA %s.freelist_count", zDb)) free pages, @ %s(db_text(0, "PRAGMA %s.encoding", zDb)), @ %s(db_text(0, "PRAGMA %s.journal_mode", zDb)) mode Index: src/th_main.c =================================================================== --- src/th_main.c +++ src/th_main.c @@ -511,11 +511,11 @@ }else{ i++; } } if( rc==TH_ERROR ){ - sendText("<hr><p class=\"thmainError\">ERROR: ", -1, 0); + sendText("<hr /><p class=\"thmainError\">ERROR: ", -1, 0); zResult = (char*)Th_GetResult(g.interp, &n); sendText((char*)zResult, n, 1); sendText("</p>", -1, 0); }else{ sendText(z, i, 0); Index: src/timeline.c =================================================================== --- src/timeline.c +++ src/timeline.c @@ -161,11 +161,11 @@ Blob comment; int prevTagid = 0; int suppressCnt = 0; char zPrevDate[20]; GraphContext *pGraph = 0; - int prevWasDivider = 0; /* True if previous output row was <hr> */ + int prevWasDivider = 0; /* True if previous output row was <hr /> */ int fchngQueryInit = 0; /* True if fchngQuery is initialized */ Stmt fchngQuery; /* Query for file changes on check-ins */ zPrevDate[0] = 0; mxWikiLen = db_get_int("timeline-max-comment", 0); @@ -301,11 +301,11 @@ /* Generate the "user: USERNAME" at the end of the comment, together ** with a hyperlink to another timeline for that user. */ if( zTagList && zTagList[0]==0 ) zTagList = 0; if( g.okHistory && fossil_strcmp(zUser, zThisUser)!=0 ){ - char *zLink = mprintf("%s/timeline?u=%h&c=%t&nd", + char *zLink = mprintf("%s/timeline?u=%h&c=%t&nd", g.zTop, zUser, zDate); @ (user: <a href="%s(zLink)">%h(zUser)</a>%s(zTagList?",":"\051") fossil_free(zLink); }else{ @ (user: %h(zUser)%s(zTagList?",":"\051") @@ -322,11 +322,11 @@ blob_zero(&links); while( z && z[0] ){ for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){} if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){ blob_appendf(&links, - "<a href=\"%s/timeline?r=%.*t&nd&c=%s\">%.*h</a>%.2s", + "<a href=\"%s/timeline?r=%.*t&nd&c=%s\">%.*h</a>%.2s", g.zTop, i, z, zDate, i, z, &z[i] ); }else{ blob_appendf(&links, "%.*h", i+2, z); } @@ -371,18 +371,18 @@ if( !inUl ){ @ <ul class="filelist"> inUl = 1; } if( isNew ){ - @ <li> %h(zFilename) (new file)   + @ <li> %h(zFilename) (new file)   @ <a href="%s(g.zTop)/artifact/%S(zNew)" target="diffwindow">[view] @ </a></li> }else if( isDel ){ @ <li> %h(zFilename) (deleted)</li> }else{ - @ <li> %h(zFilename)   - @ <a href="%s(g.zTop)/fdiff?v1=%S(zOld)&v2=%S(zNew)" + @ <li> %h(zFilename)   + @ <a href="%s(g.zTop)/fdiff?v1=%S(zOld)&v2=%S(zNew)" @ target="diffwindow">[diff]</a></li> } } db_reset(&fchngQuery); if( inUl ){ @@ -741,11 +741,11 @@ } /* ** zDate is a localtime date. Insert records into the -** "timeline" table to cause <hr> to be inserted before and after +** "timeline" table to cause <hr /> to be inserted before and after ** entries of that date. If zDate==NULL then put dividers around ** the event identified by rid. */ static void timeline_add_dividers(const char *zDate, int rid){ char *zToDel = 0; Index: src/tktsetup.c =================================================================== --- src/tktsetup.c +++ src/tktsetup.c @@ -354,11 +354,11 @@ ); } static const char zDefaultView[] = @ <table cellpadding="5"> -@ <tr><td class="tktDspLabel">Ticket UUID:</td> +@ <tr><td class="tktDspLabel">Ticket UUID:</td> @ <td class="tktDspValue" colspan="3">$<tkt_uuid></td></tr> @ <tr><td class="tktDspLabel">Title:</td> @ <td class="tktDspValue" colspan="3"> @ <th1>wiki $title</th1> @ </td></tr> @@ -378,20 +378,20 @@ @ $<subsystem> @ </td> @ <td class="tktDspLabel">Resolution:</td><td class="tktDspValue"> @ $<resolution> @ </td></tr> -@ <tr><td class="tktDspLabel">Last Modified:</td><td class="tktDspValue"> +@ <tr><td class="tktDspLabel">Last Modified:</td><td class="tktDspValue"> @ $<tkt_datetime> @ </td> @ <th1>enable_output [hascap e]</th1> @ <td class="tktDspLabel">Contact:</td><td class="tktDspValue"> @ $<private_contact> @ </td> @ <th1>enable_output 1</th1> @ </tr> -@ <tr><td class="tktDspLabel">Version Found In:</td> +@ <tr><td class="tktDspLabel">Version Found In:</td> @ <td colspan="3" valign="top" class="tktDspValue"> @ $<foundin> @ </td></tr> @ <tr><td>Description & Comments:</td></tr> @ <tr><td colspan="4" class="tktDspValue"> @@ -469,11 +469,11 @@ @ <tr><td class="tktDspLabel">Contact:</td><td> @ <input type="text" name="private_contact" size="40" @ value="$<private_contact>" /> @ </td></tr> @ <th1>enable_output 1</th1> -@ <tr><td class="tktDspLabel">Version Found In:</td><td> +@ <tr><td class="tktDspLabel">Version Found In:</td><td> @ <input type="text" name="foundin" size="50" value="$<foundin>" /> @ </td></tr> @ <tr><td colspan="2"> @ <th1> @ if {![info exists eall]} {set eall 0} Index: src/user.c =================================================================== --- src/user.c +++ src/user.c @@ -425,11 +425,11 @@ blob_append(&sql, " WHERE NOT success", -1); } blob_appendf(&sql," ORDER BY rowid DESC LIMIT %d OFFSET %d", n+1, skip); if( skip ){ style_submenu_element("Newer", "Newer entries", - "%s/access_log?o=%d&n=%d&y=%d", g.zTop, skip>=n ? skip-n : 0, + "%s/access_log?o=%d&n=%d&y=%d", g.zTop, skip>=n ? skip-n : 0, n, y); } rc = db_prepare_ignore_error(&q, blob_str(&sql)); @ <center><table border="1" cellpadding="5"> @ <tr><th width="33%%">Date</th><th width="34%%">User</th> @@ -440,11 +440,11 @@ const char *zDate = db_column_text(&q, 2); int bSuccess = db_column_int(&q, 3); cnt++; if( cnt>n ){ style_submenu_element("Older", "Older entries", - "%s/access_log?o=%d&n=%d&y=%d", g.zTop, skip+n, n, y); + "%s/access_log?o=%d&n=%d&y=%d", g.zTop, skip+n, n, y); break; } if( bSuccess ){ @ <tr> }else{ @@ -456,11 +456,11 @@ style_submenu_element("All", "All entries", "%s/access_log?n=10000000", g.zTop); } @ </table></center> db_finalize(&q); - @ <hr> + @ <hr /> @ <form method="post" action="%s(g.zTop)/access_log"> @ <input type="checkbox" name="delold"> @ Delete all but the most recent 200 entries</input> @ <input type="submit" name="deloldbtn" value="Delete"></input> @ </form> Index: src/wiki.c =================================================================== --- src/wiki.c +++ src/wiki.c @@ -162,11 +162,11 @@ } @ <li> <a href="%s(g.zTop)/wcontent">List of All Wiki Pages</a> @ available on this server.</li> @ <li> <form method="get" action="%s(g.zTop)/wfind"><div> @ Search wiki titles: <input type="text" name="title"/> - @   <input type="submit" /></div></form> + @   <input type="submit" /></div></form> @ </li> @ </ul> style_footer(); return; } @@ -411,11 +411,11 @@ const char *zRemark; char *zId; zDate = db_text(0, "SELECT datetime('now')"); zId = db_text(0, "SELECT lower(hex(randomblob(8)))"); - blob_appendf(p, "\n\n<hr><div id=\"%s\"><i>On %s UTC %h", + blob_appendf(p, "\n\n<hr /><div id=\"%s\"><i>On %s UTC %h", zId, zDate, g.zLogin); free(zDate); zUser = PD("u",g.zLogin); if( zUser[0] && strcmp(zUser,g.zLogin) ){ blob_appendf(p, " (claiming to be %h)", zUser); @@ -512,13 +512,13 @@ style_header(zHtmlPageName); if( P("preview")!=0 ){ Blob preview; blob_zero(&preview); appendRemark(&preview); - @ Preview:<hr> + @ Preview:<hr /> wiki_convert(&preview, 0, 0); - @ <hr> + @ <hr /> blob_reset(&preview); } zUser = PD("u", g.zLogin); @ <form method="post" action="%s(g.zTop)/wikiappend"> login_insert_csrf_secret(); Index: src/wikiformat.c =================================================================== --- src/wikiformat.c +++ src/wikiformat.c @@ -1157,11 +1157,11 @@ p->state &= ~(AT_NEWLINE|AT_PARAGRAPH); switch( tokenType ){ case TOKEN_PARAGRAPH: { if( inlineOnly ){ /* blob_append(p->pOut, " ¶ ", -1); */ - blob_append(p->pOut, "    ", -1); + blob_append(p->pOut, "    ", -1); }else{ if( p->wikiList ){ popStackToTag(p, p->wikiList); p->wikiList = 0; }
rcvidDateUserIP Address
IP Address
User:%s(zUser)
Date:%s(zDate)
IP Address:
IP Address:%s(zIpAddr)