@@ -919,112 +919,10 @@
919 919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
920 920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
921 921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
922 922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
923 923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- enum fileedit_render_preview_flags {
925 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_PREVIEW_LINE_NUMBERS = 1
926 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- enum fileedit_render_modes {
928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* GUESS must be 0. All others have unspecified values. */
929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_GUESS = 0,
930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_PLAIN_TEXT,
931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_HTML_IFRAME,
932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_HTML_INLINE,
933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_WIKI
934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int fileedit_render_mode_for_mimetype(const char * zMimetype){
937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int rc = FE_RENDER_PLAIN_TEXT;
938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zMimetype ){
939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( fossil_strcmp(zMimetype, "text/html")==0 ){
940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = FE_RENDER_HTML_IFRAME;
941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( fossil_strcmp(zMimetype, "text/x-fossil-wiki")==0
942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- || fossil_strcmp(zMimetype, "text/x-markdown")==0 ){
943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = FE_RENDER_WIKI;
944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return rc;
947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Performs the PREVIEW mode for /filepage.
951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** If *renderMode==FE_RENDER_GUESS then *renderMode gets set to the
953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** mode which is guessed at for the rendering.
954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void fileedit_render_preview(Blob * pContent,
956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zFilename,
957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int flags, int * renderMode,
958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int nIframeHeightEm){
959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char * zMime;
960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zMime = mimetype_from_name(zFilename);
961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(FE_RENDER_GUESS==*renderMode){
962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *renderMode = fileedit_render_mode_for_mimetype(zMime);
963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- switch(*renderMode){
965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case FE_RENDER_HTML_IFRAME:{
966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char * z64 = encode64(blob_str(pContent), blob_size(pContent));
967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CX("<iframe width='100%%' frameborder='0' "
968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "marginwidth='0' style='height:%dem' "
969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "marginheight='0' sandbox='allow-same-origin' "
970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "id='ifm1' src='data:text/html;base64,%z'"
971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "></iframe>",
972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- nIframeHeightEm ? nIframeHeightEm : 40,
973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- z64);
974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case FE_RENDER_HTML_INLINE:{
977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CX("%b",pContent);
978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case FE_RENDER_WIKI:
981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- safe_html_context(DOCSRC_FILE);
982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wiki_render_by_mimetype(pContent, zMime);
983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- default:{
985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zExt = strrchr(zFilename,'.');
986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zContent = blob_str(pContent);
987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(FE_PREVIEW_LINE_NUMBERS & flags){
988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- output_text_with_line_numbers(zContent, "on");
989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if(zExt && zExt[1]){
990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CX("<pre><code class='language-%s'>%h</code></pre>",
991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zExt+1, zContent);
992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CX("<pre>%h</pre>", zContent);
994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
1001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Renders diffs for the /fileedit page. pContent is the
1002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** locally-edited content. frid is the RID of the file's blob entry
1003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** from which pContent is based. zManifestUuid is the checkin version
1004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** to which RID belongs - it is purely informational, for labeling the
1005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** diff view. isSbs is true for side-by-side diffs, false for unified.
1006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void fileedit_render_diff(Blob * pContent, int frid,
1008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char * zManifestUuid,
1009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u64 diffFlags){
1010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob orig = empty_blob;
1011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob out = empty_blob;
1012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1013 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- content_get(frid, &orig);
1014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- text_diff(&orig, pContent, &out, 0, diffFlags);
1015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(blob_size(&out)==0){
1016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* nothing to do */
1017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if(DIFF_SIDEBYSIDE & diffFlags){
1018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CX("%b",&out);
1019 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
1020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CX("<pre class='udiff'>%b</pre>",&out);
1021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&orig);
1023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&out);
1024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1026 924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1027 925 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Given a repo-relative filename and a manifest RID, returns the UUID
1028 926 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** of the corresponding file entry. Returns NULL if no match is
1029 927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** found. If pFilePerm is not NULL, the file's permission flag value
1030 928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** is written to *pFilePerm.
@@ -1044,99 +942,25 @@
1044 942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1045 943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&stmt);
1046 944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return zFileUuid;
1047 945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1048 946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
1050 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Helper for /fileedit_xyz routes. Clears the CGI content buffer,
1051 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** sets an error status code, and queues up a JSON response in the
1052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** form of an object:
1053 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** {error: formatted message}
1055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1056 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** After calling this, the caller should immediately return.
1057 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1058 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void fileedit_ajax_error(int httpCode, const char * zFmt, ...){
1059 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob msg = empty_blob;
1060 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob content = empty_blob;
1061 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- va_list vargs;
1062 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- va_start(vargs,zFmt);
1063 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_vappendf(&msg, zFmt, vargs);
1064 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- va_end(vargs);
1065 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&content,"{\"error\":%!j}", blob_str(&msg));
1066 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&msg);
1067 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cgi_set_content(&content);
1068 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cgi_set_status(httpCode, "Error");
1069 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cgi_set_content_type("application/json");
1070 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1071 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1072 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
1073 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Performs bootstrapping common to the /fileedit_xyz AJAX routes.
1074 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Returns 0 if bootstrapping fails (wrong permissions), in which
1075 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** case it has reported the error and the route should immediately
1076 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** return. Returns true on success.
1077 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1078 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Must be passed true if the request being set up requires POST,
1079 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** else false.
1080 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1081 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int fileedit_ajax_boostrap(int requirePost){
1082 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- login_check_credentials();
1083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !g.perm.Write ){
1084 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(403,"Write permissions required.");
1085 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return 0;
1086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if(0==cgi_csrf_safe(requirePost)){
1087 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(403,
1088 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "CSRF violation (make sure sending of HTTP "
1089 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Referer headers is enabled for XHR "
1090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "connections).");
1091 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return 0;
1092 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return 1;
1094 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1095 947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1096 948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Returns true if the current user is allowed to edit the given
1097 949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** filename, as determined by fileedit_is_editable(), else false,
1098 950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** in which case it queues up an error response and the caller
1099 951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** must return immediately.
1100 952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1101 953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static int fileedit_ajax_check_filename(const char * zFilename){
1102 954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(0==fileedit_is_editable(zFilename)){
1103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(403, "File is disallowed by the "
1104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "fileedit-glob setting.");
955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(403, "File is disallowed by the "
956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "fileedit-glob setting.");
1105 957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
1106 958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1107 959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 1;
1108 960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1109 961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
1112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** If zFn is not NULL, it is assigned the value of the first one of
1113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** the "filename" or "fn" CGI parameters which is set.
1114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** If zCi is not NULL, it is assigned the value of the first one of
1116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** the "checkin" or "ci" CGI parameters which is set.
1117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** If a parameter is not NULL, it will be assigned NULL if the
1119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** corresponding parameter is not set.
1120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Returns the number of non-NULL values it assigns to arguments. Thus
1122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** if passed (&x, NULL), it returns 1 if it assigns non-NULL to *x and
1123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** 0 if it assigns NULL to *x.
1124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int fileedit_get_fnci_args( const char **zFn, const char **zCi ){
1126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int rc = 0;
1127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(zCi!=0){
1128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *zCi = PD("checkin",P("ci"));
1129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( *zCi ) ++rc;
1130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(zFn!=0){
1132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *zFn = PD("filename",P("fn"));
1133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (*zFn) ++rc;
1134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return rc;
1136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1138 962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1139 963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Passed the values of the "checkin" and "filename" request
1140 964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** properties, this function verifies that they are valid and
1141 965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** populates:
1142 966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -1166,22 +990,22 @@
1166 990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(checkFile && !fileedit_ajax_check_filename(zFilename)){
1167 991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
1168 992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1169 993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*vid = symbolic_name_to_rid(zRev, "ci");
1170 994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(0==*vid){
1171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(404,"Cannot resolve name as a checkin: %s",
1172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zRev);
995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(404,"Cannot resolve name as a checkin: %s",
996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zRev);
1173 997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
1174 998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if(*vid<0){
1175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(400,"Checkin name is ambiguous: %s",
1176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zRev);
999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(400,"Checkin name is ambiguous: %s",
1000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zRev);
1177 1001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
1178 1002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1179 1003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(checkFile){
1180 1004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFileUuid = fileedit_file_uuid(zFilename, *vid, 0);
1181 1005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(zFileUuid==0){
1182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(404,"Checkin does not contain file.");
1006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(404, "Checkin does not contain file.");
1183 1007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0;
1184 1008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1185 1009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1186 1010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(zRevUuid!=0){
1187 1011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*zRevUuid = rid_to_uuid(*vid);
@@ -1205,11 +1029,11 @@
1205 1029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** checkin=CHECKIN_NAME
1206 1030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1207 1031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** User must have Write access to use this page.
1208 1032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1209 1033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Responds with the raw content of the given page. On error it
1210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** produces a JSON response as documented for fileedit_ajax_error().
1034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** produces a JSON response as documented for ajax_route_error().
1211 1035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1212 1036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Extra response headers:
1213 1037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1214 1038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** x-fileedit-file-perm: empty or "x" or "l", representing PERM_REG,
1215 1039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** PERM_EXE, or PERM_LINK, respectively.
@@ -1221,12 +1045,12 @@
1221 1045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char * zRev = 0;
1222 1046 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int vid, frid;
1223 1047 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob content = empty_blob;
1224 1048 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char * zMime;
1225 1049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_get_fnci_args( &zFilename, &zRev );
1227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!fileedit_ajax_boostrap(0)
1050 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_get_fnci_args( &zFilename, &zRev );
1051 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!ajax_route_bootstrap(1,0)
1228 1052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| !fileedit_ajax_setup_filerev(zRev, 0, &vid,
1229 1053 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFilename, &frid)){
1230 1054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
1231 1055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1232 1056 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zMime = mimetype_from_name(zFilename);
@@ -1256,81 +1080,10 @@
1256 1080 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1257 1081 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_set_content_type(zMime);
1258 1082 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_set_content(&content);
1259 1083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1260 1084 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
1262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** AJAX route /fileedit?ajax=preview
1263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Required query parameters:
1265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** filename=FILENAME
1267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** content=text
1268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Optional query parameters:
1270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** render_mode=integer (FE_RENDER_xxx) (default=FE_RENDER_GUESS)
1272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** ln=0 or 1 to disable/enable line number mode in
1274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** FE_RENDER_PLAIN_TEXT mode.
1275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** iframe_height=integer (default=40) Height, in EMs of HTML preview
1277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** iframe.
1278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** User must have Write access to use this page.
1280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Responds with the HTML content of the preview. On error it produces
1282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** a JSON response as documented for fileedit_ajax_error().
1283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Extra response headers:
1285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
1286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** x-fileedit-render-mode: string representing the rendering mode
1287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** which was really used (which will differ from the requested mode
1288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** only if mode 0 (guess) was requested). The names are documented
1289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** below in code and match those in the emitted JS object
1290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** fossil.page.previewModes.
1291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void fileedit_ajax_preview(void){
1293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char * zFilename = 0;
1294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char * zContent = P("content");
1295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int renderMode = atoi(PD("render_mode","0"));
1296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int ln = atoi(PD("ln","0"));
1297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int iframeHeight = atoi(PD("iframe_height","40"));
1298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob content = empty_blob;
1299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char * zRenderMode = 0;
1300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_get_fnci_args( &zFilename, 0 );
1301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!fileedit_ajax_boostrap(1)
1302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- || !fileedit_ajax_check_filename(zFilename)){
1303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
1304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cgi_set_content_type("text/html");
1306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_init(&content, zContent, -1);
1307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_render_preview(&content, zFilename,
1308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ln ? FE_PREVIEW_LINE_NUMBERS : 0,
1309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- &renderMode, iframeHeight);
1310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
1311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Now tell the caller if we did indeed use FE_RENDER_WIKI, so that
1312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** they can re-set the <base href> to an appropriate value (which
1313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** requires knowing the content's current checkin version, which we
1314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** don't have here).
1315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- switch(renderMode){
1317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* The strings used here MUST correspond to those used in the JS-side
1318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** fossil.page.previewModes map.
1319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case FE_RENDER_WIKI: zRenderMode = "wiki"; break;
1321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case FE_RENDER_HTML_INLINE: zRenderMode = "htmlInline"; break;
1322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case FE_RENDER_HTML_IFRAME: zRenderMode = "htmlIframe"; break;
1323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case FE_RENDER_PLAIN_TEXT: zRenderMode = "text"; break;
1324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case FE_RENDER_GUESS:
1325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- assert(!"cannot happen");
1326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(zRenderMode!=0){
1328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cgi_printf_header("x-fileedit-render-mode: %s\r\n", zRenderMode);
1329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1332 1085 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1333 1086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** AJAX route /fileedit?ajax=diff
1334 1087 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1335 1088 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Required query parameters:
1336 1089 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -1348,11 +1101,11 @@
1348 1101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** patch-style siff can be produced.
1349 1102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1350 1103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** User must have Write access to use this page.
1351 1104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1352 1105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Responds with the HTML content of the diff. On error it produces a
1353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** JSON response as documented for fileedit_ajax_error().
1106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** JSON response as documented for ajax_route_error().
1354 1107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1355 1108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void fileedit_ajax_diff(void){
1356 1109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1357 1110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Reminder: we only need the filename to perform valdiation
1358 1111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** against fileedit_is_editable(), else this route could be
@@ -1378,22 +1131,27 @@
1378 1131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
diffFlags |= DIFF_IGNORE_ALLWS;
1379 1132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if(1==iFlag){
1380 1133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
diffFlags |= DIFF_IGNORE_EOLWS;
1381 1134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1382 1135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
diffFlags |= DIFF_STRIP_EOLCR;
1383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_get_fnci_args( &zFilename, &zRev );
1384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!fileedit_ajax_boostrap(1)
1136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_get_fnci_args( &zFilename, &zRev );
1137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!ajax_route_bootstrap(1,1)
1385 1138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| !fileedit_ajax_setup_filerev(zRev, &zRevUuid, &vid,
1386 1139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFilename, &frid)){
1387 1140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
1388 1141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1389 1142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(!zContent){
1390 1143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zContent = "";
1391 1144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1392 1145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_set_content_type("text/html");
1393 1146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&content, zContent, -1);
1394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_render_diff(&content, frid, zRevUuid, diffFlags);
1147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {
1148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob orig = empty_blob;
1149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ content_get(frid, &orig);
1150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_render_diff(&orig, &content, diffFlags);
1151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&orig);
1152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1395 1153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(zRevUuid);
1396 1154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&content);
1397 1155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1398 1156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1399 1157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
@@ -1558,19 +1316,19 @@
1558 1316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** checkin: UUID,
1559 1317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** editableFiles: [ filename1, ... filenameN ] // sorted by name
1560 1318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** }
1561 1319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1562 1320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** On error it produces a JSON response as documented for
1563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** fileedit_ajax_error().
1321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** ajax_route_error().
1564 1322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1565 1323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void fileedit_ajax_filelist(void){
1566 1324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char * zCi = PD("checkin",P("ci"));
1567 1325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob sql = empty_blob;
1568 1326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Stmt q = empty_Stmt;
1569 1327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i = 0;
1570 1328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!fileedit_ajax_boostrap(0)){
1329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!ajax_route_bootstrap(1,0)){
1572 1330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
1573 1331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1574 1332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_set_content_type("application/json");
1575 1333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(zCi!=0){
1576 1334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char * zCiFull = 0;
@@ -1617,11 +1375,11 @@
1617 1375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CX("}");
1618 1376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1619 1377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CX("]");
1620 1378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_finalize(&q);
1621 1379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(500, "Unhandled URL argument.");
1380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(500, "Unhandled URL argument.");
1623 1381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1624 1382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1625 1383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1626 1384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1627 1385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** AJAX route /fileedit?ajax=commit
@@ -1658,11 +1416,11 @@
1658 1416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** dryRun: bool,
1659 1417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** manifest: text of manifest,
1660 1418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** }
1661 1419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1662 1420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** On error it produces a JSON response as documented for
1663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** fileedit_ajax_error().
1421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** ajax_route_error().
1664 1422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1665 1423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void fileedit_ajax_commit(void){
1666 1424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob err = empty_blob; /* Error messages */
1667 1425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob manifest = empty_blob; /* raw new manifest */
1668 1426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CheckinMiniInfo cimi; /* checkin state */
@@ -1670,30 +1428,30 @@
1670 1428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int newVid = 0; /* new version's RID */
1671 1429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char * zNewUuid = 0; /* newVid's UUID */
1672 1430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char const * zMimetype;
1673 1431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char * zBranch = 0;
1674 1432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(!fileedit_ajax_boostrap(1)){
1433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!ajax_route_bootstrap(1,1)){
1676 1434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
1677 1435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1678 1436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_begin_transaction();
1679 1437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CheckinMiniInfo_init(&cimi);
1680 1438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = fileedit_setup_cimi_from_p(&cimi, &err, 0);
1681 1439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(0!=rc){
1682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(rc,"%b",&err);
1440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(rc,"%b",&err);
1683 1441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto end_cleanup;
1684 1442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1685 1443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(blob_size(&cimi.comment)==0){
1686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(400,"Empty checkin comment is not permitted.");
1444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(400,"Empty checkin comment is not permitted.");
1687 1445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto end_cleanup;
1688 1446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1689 1447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(0!=atoi(PD("include_manifest","0"))){
1690 1448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cimi.pMfOut = &manifest;
1691 1449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1692 1450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
checkin_mini(&cimi, &newVid, &err);
1693 1451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(blob_size(&err)){
1694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(500,"%b",&err);
1452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(500,"%b",&err);
1695 1453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto end_cleanup;
1696 1454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1697 1455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert(newVid>0);
1698 1456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zNewUuid = rid_to_uuid(newVid);
1699 1457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_set_content_type("application/json");
@@ -1748,21 +1506,20 @@
1748 1506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** use of the name parameter.
1749 1507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1750 1508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Which additional parameters are used by each distinct ajax value is
1751 1509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** an internal implementation detail and may change with any given
1752 1510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** build of this code. An unknown "name" value triggers an error, as
1753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** documented for fileedit_ajax_error().
1511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** documented for ajax_route_error().
1754 1512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1755 1513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void fileedit_page(void){
1756 1514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char * zFilename = 0; /* filename. We'll accept 'name'
1757 1515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
because that param is handled
1758 1516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
specially by the core. */
1759 1517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char * zRev = 0; /* checkin version */
1760 1518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char * zFileMime = 0; /* File mime type guess */
1761 1519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CheckinMiniInfo cimi; /* Checkin state */
1762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int previewHtmlHeight = 0; /* iframe height (EMs) */
1763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int previewRenderMode = FE_RENDER_GUESS; /* preview mode */
1520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int previewRenderMode = AJAX_RENDER_GUESS; /* preview mode */
1764 1521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob err = empty_blob; /* Error report */
1765 1522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob endScript = empty_blob; /* Script code to run at the
1766 1523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
end. This content will be
1767 1524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
combined into a single JS
1768 1525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function call, thus each
@@ -1773,21 +1530,21 @@
1773 1530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1774 1531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Allow no access to this page without check-in privilege */
1775 1532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_check_credentials();
1776 1533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !g.perm.Write ){
1777 1534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(zAjax!=0){
1778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(403, "Write permissions required.");
1535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(403, "Write permissions required.");
1779 1536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1780 1537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
login_needed(g.anon.Write);
1781 1538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1782 1539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
1783 1540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1784 1541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* No access to anything on this page if the fileedit-glob is empty */
1785 1542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fileedit_glob()==0 ){
1786 1543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(zAjax!=0){
1787 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(403, "Online editing is disabled for this "
1788 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "repository.");
1544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(403, "Online editing is disabled for this "
1545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "repository.");
1789 1546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
1790 1547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1791 1548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_header("File Editor (disabled)");
1792 1549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CX("<h1>Online File Editing Is Disabled</h1>\n");
1793 1550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.perm.Admin ){
@@ -1807,22 +1564,21 @@
1807 1564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Dispatch AJAX methods based tail of the request URI.
1808 1565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The AJAX parts do their own permissions/CSRF check and
1809 1566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** fail with a JSON-format response if needed.
1810 1567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1811 1568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( 0!=zAjax ){
1569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* preview mode is handled via /ajax/preview-text */
1812 1570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(0==strcmp("content",zAjax)){
1813 1571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fileedit_ajax_content();
1814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if(0==strcmp("preview",zAjax)){
1815 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_preview();
1816 1572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if(0==strcmp("filelist",zAjax)){
1817 1573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fileedit_ajax_filelist();
1818 1574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if(0==strcmp("diff",zAjax)){
1819 1575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fileedit_ajax_diff();
1820 1576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if(0==strcmp("commit",zAjax)){
1821 1577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fileedit_ajax_commit();
1822 1578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fileedit_ajax_error(500, "Unhandled ajax route name.");
1579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_route_error(500, "Unhandled ajax route name.");
1824 1580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1825 1581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
1826 1582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1827 1583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1828 1584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_begin_transaction();
@@ -1855,21 +1611,19 @@
1855 1611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** render the errors. Any up-coming errors, barring malloc failure
1856 1612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** or similar, are not "that" fatal. We can/should continue
1857 1613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** rendering the page, then output the error message at the end.
1858 1614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
********************************************************************/
1859 1615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* The CSS for this page lives in a common file but much of it we
1862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** don't want inadvertently being used by other pages. We don't
1863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** have a common, page-specific container we can filter our CSS
1864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** selectors, but we do have the BODY, which we can decorate with
1865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** whatever CSS we wish...
1866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_emit_script_tag(0,0);
1868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CX("document.body.classList.add('fileedit');\n");
1869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_emit_script_tag(1,0);
1870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* The CSS for this page lives in a common file but much of it we
1617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** don't want inadvertently being used by other pages. We don't
1618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** have a common, page-specific container we can filter our CSS
1619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** selectors, but we do have the BODY, which we can decorate with
1620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** whatever CSS we wish...
1621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
1622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_emit_script_tag(0,0);
1623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ CX("document.body.classList.add('fileedit');\n");
1624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_emit_script_tag(1,0);
1871 1625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1872 1626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Status bar */
1873 1627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CX("<div id='fossil-status-bar' "
1874 1628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"title='Status message area. Double-click to clear them.'>"
1875 1629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"Status messages will go here.</div>\n"
@@ -1948,46 +1702,30 @@
1948 1702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"If on, the preview will automatically "
1949 1703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"refresh when this tab is selected.");
1950 1704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1951 1705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Default preview rendering mode selection... */
1952 1706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
previewRenderMode = zFileMime
1953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ? fileedit_render_mode_for_mimetype(zFileMime)
1954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- : FE_RENDER_GUESS;
1707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ? ajax_render_mode_for_mimetype(zFileMime)
1708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ : AJAX_RENDER_GUESS;
1955 1709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_select_list_int("select-preview-mode",
1956 1710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"preview_render_mode",
1957 1711 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"Preview Mode",
1958 1712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"Preview mode format.",
1959 1713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
previewRenderMode,
1960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Guess", FE_RENDER_GUESS,
1961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Wiki/Markdown", FE_RENDER_WIKI,
1962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "HTML (iframe)", FE_RENDER_HTML_IFRAME,
1963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "HTML (inline)", FE_RENDER_HTML_INLINE,
1964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Plain Text", FE_RENDER_PLAIN_TEXT,
1714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Guess", AJAX_RENDER_GUESS,
1715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Wiki/Markdown", AJAX_RENDER_WIKI,
1716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "HTML (iframe)", AJAX_RENDER_HTML_IFRAME,
1717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "HTML (inline)", AJAX_RENDER_HTML_INLINE,
1718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Plain Text", AJAX_RENDER_PLAIN_TEXT,
1965 1719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
NULL);
1966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
1967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Set up a JS-side mapping of the FE_RENDER_xyz values. This is
1968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** used for dynamically toggling certain UI components on and off.
1969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
1970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&endScript, "fossil.page.previewModes={"
1971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "guess: %d, %d: 'guess', wiki: %d, %d: 'wiki',"
1972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "htmlIframe: %d, %d: 'htmlIframe', "
1973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "htmlInline: %d, %d: 'htmlInline', "
1974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "text: %d, %d: 'text'"
1975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "};\n",
1976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_GUESS, FE_RENDER_GUESS,
1977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_WIKI, FE_RENDER_WIKI,
1978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_HTML_IFRAME, FE_RENDER_HTML_IFRAME,
1979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_HTML_INLINE, FE_RENDER_HTML_INLINE,
1980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FE_RENDER_PLAIN_TEXT, FE_RENDER_PLAIN_TEXT);
1981 1720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Allow selection of HTML preview iframe height */
1982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- previewHtmlHeight = 40;
1983 1721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_select_list_int("select-preview-html-ems",
1984 1722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"preview_html_ems",
1985 1723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"HTML Preview IFrame Height (EMs)",
1986 1724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"Height (in EMs) of the iframe used for "
1987 1725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"HTML preview",
1988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- previewHtmlHeight,
1726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 40 /*default*/,
1989 1727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"", 20, "", 40,
1990 1728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"", 60, "", 80,
1991 1729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"", 100, NULL);
1992 1730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Selection of line numbers for text preview */
1993 1731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_labeled_checkbox("cb-line-numbers",
@@ -2189,28 +1927,28 @@
2189 1927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{
2190 1928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Dynamically populate the editor, display any error in the err
2191 1929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** blob, and/or switch to tab #0, where the file selector
2192 1930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** lives... */
2193 1931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&endScript,
2194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "window.addEventListener('load',");
1932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "fossil.onPageLoad(");
2195 1933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(zRev && zFilename){
2196 1934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert(0==blob_size(&err));
2197 1935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&endScript,
2198 1936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"()=>fossil.page.loadFile(%!j,%!j)",
2199 1937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFilename, cimi.zParentUuid);
2200 1938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
2201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&endScript,"function(){");
1939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&endScript,"function(){\n");
2202 1940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(blob_size(&err)>0){
2203 1941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&endScript,
2204 1942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"fossil.error(%!j);\n",
2205 1943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_str(&err));
2206 1944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2207 1945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&endScript,
2208 1946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"fossil.page.tabs.switchToTab(0);\n");
2209 1947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendf(&endScript,"}");
2210 1948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&endScript,", false);\n");
1949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&endScript,");\n");
2212 1950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2213 1951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2214 1952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&err);
2215 1953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CheckinMiniInfo_cleanup(&cimi);
2216 1954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_emit_script_fossil_bootstrap(0);
@@ -2217,21 +1955,28 @@
2217 1955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
append_diff_javascript(1);
2218 1956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_emit_script_fetch(0);
2219 1957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_emit_script_tabs(0)/*also emits fossil.dom*/;
2220 1958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_emit_script_confirmer(0);
2221 1959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_emit_script_builtin(0, "fossil.storage.js");
1960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
1962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Set up a JS-side mapping of the AJAX_RENDER_xyz values. This is
1963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** used for dynamically toggling certain UI components on and off.
1964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Must come before fossil.page.fileedit.js.
1965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
1966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ajax_emit_js_preview_modes(1);
1967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
2222 1968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_emit_script_builtin(0, "fossil.page.fileedit.js");
2223 1969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(blob_size(&endScript)>0){
2224 1970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_emit_script_tag(0,0);
2225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CX("(function(){\n");
2226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CX("try{\n%b\n}"
1971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ CX("\n(function(){\n");
1972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ CX("try{\n%b}\n"
2227 1973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"catch(e){"
2228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "fossil.error(e);\n"
2229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "console.error('Exception:',e);\n"
1974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "fossil.error(e); console.error('Exception:',e);"
2230 1975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"}\n",
2231 1976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&endScript);
2232 1977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CX("})();");
2233 1978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_emit_script_tag(1,0);
2234 1979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2235 1980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
2236 1981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_footer();
2237 1982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2238 1983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!