Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add the "Checkins Per File" report to the /reports page. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
ec8c7498c0eb34183722ecc8b6b8b670 |
| User & Date: | drh 2015-01-27 03:00:36.174 |
Context
|
2015-01-27
| ||
| 03:06 | Fix a stray "@" character in the filenames of the Checkins By File report. ... (check-in: 811d10ac7a user: drh tags: trunk) | |
| 03:00 | Add the "Checkins Per File" report to the /reports page. ... (check-in: ec8c7498c0 user: drh tags: trunk) | |
| 02:40 | Split the /reports webpage out into a separate source-code file for ease of editing and maintenance. No functional changes. ... (check-in: 39cd06c9f7 user: drh tags: trunk) | |
Changes
Changes to src/statrep.c.
| ︙ | ︙ | |||
451 452 453 454 455 456 457 458 459 460 461 462 463 464 |
use percent-based graph bars.
*/
}
@ </tbody></table>
db_finalize(&query);
output_table_sorting_javascript("statsTable","tkx",2);
}
/*
** Implements the "byweekday" view for /reports.
*/
static void stats_report_day_of_week(){
Stmt query = empty_Stmt;
int nRowNumber = 0; /* current TR number */
| > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 |
use percent-based graph bars.
*/
}
@ </tbody></table>
db_finalize(&query);
output_table_sorting_javascript("statsTable","tkx",2);
}
/*
** Implements the "byfile" view for /reports.
*/
static void stats_report_by_file(){
Stmt query;
int mxEvent = 1; /* max number of events across all rows */
int nRowNumber = 0;
db_multi_exec(
"CREATE TEMP TABLE statrep(filename, cnt);"
"INSERT INTO statrep(filename, cnt)"
" SELECT filename.name, count(distinct mlink.mid)"
" FROM filename, mlink"
" WHERE filename.fnid=mlink.fnid"
" GROUP BY 1"
);
db_prepare(&query,
"SELECT filename, cnt FROM statrep ORDER BY cnt DESC /*sort*/"
);
mxEvent = db_int(1, "SELECT max(cnt) FROM statrep");
@ <h1>Checkins Per File</h1>
@ <table class='statistics-report-table-events' border='0'
@ cellpadding='2' cellspacing='0' id='statsTable'>
@ <thead><tr>
@ <th>File</th>
@ <th>Checkins</th>
@ <th width='90%%'><!-- relative commits graph --></th>
@ </tr></thead><tbody>
while( SQLITE_ROW == db_step(&query) ){
const char *zFile = db_column_text(&query, 0);
const int n = db_column_int(&query, 1);
int sz;
if( n<=0 ) continue;
sz = (int)(100*n/mxEvent);
if( sz==0 ) sz = 1;
@<tr class='row%d(++nRowNumber%2)'>
@ <td>@ %z(href("%R/finfo?name=%T",zFile))%h(zFile)</a></td>
@ <td>%d(n)</td>
@ <td>
@ <div class='statistics-report-graph-line'
@ style='width:%d(sz)%%;'> </div>
@ </td>
@</tr>
}
@ </tbody></table>
db_finalize(&query);
output_table_sorting_javascript("statsTable","tNx",2);
}
/*
** Implements the "byweekday" view for /reports.
*/
static void stats_report_day_of_week(){
Stmt query = empty_Stmt;
int nRowNumber = 0; /* current TR number */
|
| ︙ | ︙ | |||
689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 |
statrep_submenu(&url, "(Remove User Flag)", "view", zView, "user");
}
statrep_submenu(&url, "By Year", "view", "byyear", 0);
statrep_submenu(&url, "By Month", "view", "bymonth", 0);
statrep_submenu(&url, "By Week", "view", "byweek", 0);
statrep_submenu(&url, "By Weekday", "view", "byweekday", 0);
statrep_submenu(&url, "By User", "view", "byuser", "user");
url_reset(&url);
style_header("Activity Reports");
if(0==fossil_strcmp(zView,"byyear")){
stats_report_by_month_year(0, 0, zUserName);
}else if(0==fossil_strcmp(zView,"bymonth")){
stats_report_by_month_year(1, 0, zUserName);
}else if(0==fossil_strcmp(zView,"byweek")){
stats_report_year_weeks(zUserName);
}else if(0==fossil_strcmp(zView,"byuser")){
stats_report_by_user();
}else if(0==fossil_strcmp(zView,"byweekday")){
stats_report_day_of_week();
}else{
@ <h1>Select a report to show:</h1>
@ <ul>
@ <li><a href='?view=byyear'>Events by year</a></li>
@ <li><a href='?view=bymonth'>Events by month</a></li>
@ <li><a href='?view=byweek'>Events by calendar week</a></li>
@ <li><a href='?view=byweekday'>Events by day of the week</a></li>
@ <li><a href='?view=byuser'>Events by user</a></li>
@ </ul>
}
style_footer();
}
| > > > > | 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 |
statrep_submenu(&url, "(Remove User Flag)", "view", zView, "user");
}
statrep_submenu(&url, "By Year", "view", "byyear", 0);
statrep_submenu(&url, "By Month", "view", "bymonth", 0);
statrep_submenu(&url, "By Week", "view", "byweek", 0);
statrep_submenu(&url, "By Weekday", "view", "byweekday", 0);
statrep_submenu(&url, "By User", "view", "byuser", "user");
statrep_submenu(&url, "By File", "view", "byfile", "file");
url_reset(&url);
style_header("Activity Reports");
if(0==fossil_strcmp(zView,"byyear")){
stats_report_by_month_year(0, 0, zUserName);
}else if(0==fossil_strcmp(zView,"bymonth")){
stats_report_by_month_year(1, 0, zUserName);
}else if(0==fossil_strcmp(zView,"byweek")){
stats_report_year_weeks(zUserName);
}else if(0==fossil_strcmp(zView,"byuser")){
stats_report_by_user();
}else if(0==fossil_strcmp(zView,"byweekday")){
stats_report_day_of_week();
}else if(0==fossil_strcmp(zView,"byfile")){
stats_report_by_file();
}else{
@ <h1>Select a report to show:</h1>
@ <ul>
@ <li><a href='?view=byyear'>Events by year</a></li>
@ <li><a href='?view=bymonth'>Events by month</a></li>
@ <li><a href='?view=byweek'>Events by calendar week</a></li>
@ <li><a href='?view=byweekday'>Events by day of the week</a></li>
@ <li><a href='?view=byuser'>Events by user</a></li>
@ <li><a href='?view=byfile'>Events by file</a></li>
@ </ul>
}
style_footer();
}
|