Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Check that the date provided will actually come back out of the database before allowing it in. Also, allow altering a date or user that may be wrong. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | check-in-edit |
Files: | files | file ages | folders |
SHA1: |
44fda3228b18d6f6e080ab9875bd37c2 |
User & Date: | andybradford 2015-07-31 07:22:08.268 |
Original Comment: | Check that the date provided will actually come back out of the database before allowing it in. Also, allow altering a date that may be wrong. |
Context
2015-07-31
| ||
07:33 | Add test for -date option. ... (check-in: f2748b45 user: andybradford tags: check-in-edit) | |
07:22 | Check that the date provided will actually come back out of the database before allowing it in. Also, allow altering a date or user that may be wrong. ... (check-in: 44fda322 user: andybradford tags: check-in-edit) | |
2015-07-30
| ||
06:53 | Add comment header to test file. ... (check-in: 161f4348 user: andybradford tags: check-in-edit) | |
Changes
Changes to src/info.c.
︙ | ︙ | |||
2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 | g.markPrivate = content_is_private(rid); nrid = content_put(ctrl); manifest_crosslink(nrid, ctrl, MC_PERMIT_HOOKS); assert( blob_is_reset(ctrl) ); db_end_transaction(0); } } /* ** WEBPAGE: ci_edit ** URL: /ci_edit?r=RID&c=NEWCOMMENT&u=NEWUSER ** ** Present a dialog for updating properties of a check-in. ** | > > > > > > > > | 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 | g.markPrivate = content_is_private(rid); nrid = content_put(ctrl); manifest_crosslink(nrid, ctrl, MC_PERMIT_HOOKS); assert( blob_is_reset(ctrl) ); db_end_transaction(0); } } /* ** This method checks that the date can be parsed. ** Returns 1 if datetime() can validate, 0 otherwise. */ int is_datetime(const char* zDate){ return db_int(0, "SELECT datetime(%Q) NOT NULL", zDate); } /* ** WEBPAGE: ci_edit ** URL: /ci_edit?r=RID&c=NEWCOMMENT&u=NEWUSER ** ** Present a dialog for updating properties of a check-in. ** |
︙ | ︙ | |||
2815 2816 2817 2818 2819 2820 2821 | if( g.argc<3 || g.argc>=4 ) usage(AMEND_USAGE_STMT); rid = name_to_typed_rid(g.argv[2], "ci"); zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid); zComment = db_text(0, "SELECT coalesce(ecomment,comment)" " FROM event WHERE objid=%d", rid); zUser = db_text(0, "SELECT coalesce(euser,user)" " FROM event WHERE objid=%d", rid); | < < | 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 | if( g.argc<3 || g.argc>=4 ) usage(AMEND_USAGE_STMT); rid = name_to_typed_rid(g.argv[2], "ci"); zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid); zComment = db_text(0, "SELECT coalesce(ecomment,comment)" " FROM event WHERE objid=%d", rid); zUser = db_text(0, "SELECT coalesce(euser,user)" " FROM event WHERE objid=%d", rid); zDate = db_text(0, "SELECT datetime(mtime)" " FROM event WHERE objid=%d", rid); zColor = db_text("", "SELECT bgcolor" " FROM event WHERE objid=%d", rid); fPropagateColor = db_int(0, "SELECT tagtype FROM tagxref" " WHERE rid=%d AND tagid=%d", rid, TAG_BGCOLOR)==2; fNewPropagateColor = zNewColor && zNewColor[0] ? fNewPropagateColor : fPropagateColor; |
︙ | ︙ | |||
2858 2859 2860 2861 2862 2863 2864 | blob_read_from_file(&comment, zComFile); blob_to_utf8_no_bom(&comment, 1); zNewComment = blob_str(&comment); } if( zNewComment && zNewComment[0] && comment_compare(zComment,zNewComment)==0 ) add_comment(zNewComment); if( zNewDate && zNewDate[0] && fossil_strcmp(zDate,zNewDate)!=0 ){ | > | > > > | 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 | blob_read_from_file(&comment, zComFile); blob_to_utf8_no_bom(&comment, 1); zNewComment = blob_str(&comment); } if( zNewComment && zNewComment[0] && comment_compare(zComment,zNewComment)==0 ) add_comment(zNewComment); if( zNewDate && zNewDate[0] && fossil_strcmp(zDate,zNewDate)!=0 ){ if( is_datetime(zNewDate) ){ add_date(zNewDate); }else{ fossil_fatal("Unsupported date format, use YYYY-MM-DD HH:MM:SS"); } } if( zNewUser && zNewUser[0] && fossil_strcmp(zUser,zNewUser)!=0 ){ add_user(zNewUser); } if( pzNewTags!=0 ){ for(i=0; i<nTags; i++){ if( pzNewTags[i] && pzNewTags[i][0] ) add_tag(pzNewTags[i]); |
︙ | ︙ |