Fossil SCM

Using EXTJS for JavaScript UI Framework

Closed

369e246e508de6d… · opened 16 years, 5 months ago

Type
Feature_Request
Priority
Severity
Important
Resolution
Wont_Fix
Subsystem
Created
Oct. 14, 2009 11:14 a.m.

Fossil + EXTJS = Power + Beauty.


anonymous added on 2009-10-22 15:29:15:
I like jQuery..


anonymous claiming to be Dmitry Chestnykh added on 2009-10-22 16:57:06:
So, what do you propose, exactly? I don't see any feature requests here.


anonymous claiming to be Rene de Zwart added on 2009-11-02 08:42:03:
Adding an external javascript url to fossil means your cannot clone the repository anymore. Because the clone doesn't have the external javascript.


renez added on 2011-02-12 11:03:38 UTC: I suggest to use a web page extern that will allow to load the file from the $HOME. If that fails it tries from /usr/share/fossil. I have coded an UNIX implementation. I'm not sure if and how security is compromised by this feature!

For windows some other paths need to be used/found

if I have a directory jscripts in $home and unpack tinymce there then I would code in header

html "\n"

and extern is coded like:


/*
** WEBPAGE: extern
** URL: /extern/PATH
**
** if the file
**      $HOME/PATH is checked
** not exists then
**      /usr/share/fossil/PATH
** is tried.
**
** The content is returned straight without any interpretation or processing.
*/
void ext_page(void){
  const char *zName;                /* Argument to the /extern page */
  const char *zMime;                /* Document MIME type */
  Blob filebody;                    /* Content of the documentation file */
  char *zFullpath = (char *) 0;
  static const char const * zSystem = {"/usr/share/fossil"};

  login_check_credentials();
  if( !g.okRead ){ login_needed(); return; }
  zName = PD("name", "");
  while( zName[0]=='/' ){ zName++; }
  zFullpath = mprintf("%s/%s", g.zHome, zName);
  if( !file_isfile(zFullpath) ){
      zFullpath = mprintf("%s/%s", zSystem, zName);
      if( !file_isfile(zFullpath) ){
        goto ext_not_found;
      }
  }
  if( blob_read_from_file(&filebody, zFullpath)<0 ){
    goto ext_not_found;
  }
  zMime = P("mimetype");
  if( zMime==0 ){
    zMime = mimetype_from_name(zName);
  }
  cgi_set_content_type(zMime);
  cgi_set_content(&filebody);
  return;

ext_not_found:
  /* Jump here when unable to locate the document */
  style_header("External file Not Found");
  @ <p>No such external file: %s(zName) in %s(g.zHome) or %s(zSystem)</p>
  style_footer();
  return;
}



Comments (1)

system 2 years, 2 months ago

Closing as part of periodic cleanup.

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button