aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortenox <as@tenoware.com>2016-08-06 00:11:48 -0700
committertenox <as@tenoware.com>2016-08-06 00:11:48 -0700
commitcaf6a0883a07e18267410d4dbf4d5007a7689ffc (patch)
tree161e169bc6efc4bbaee054f5864d79021187cad8
parentc3622337d96d1869a460fb4dbfbf14bde429f7fd (diff)
downloadwfm-1.0.1.tar.gz
added favicon support to config file1.0.1
-rw-r--r--dir.c29
-rw-r--r--wfm.c13
-rw-r--r--wfm.cfg3
-rw-r--r--wfm.h1
4 files changed, 25 insertions, 21 deletions
diff --git a/dir.c b/dir.c
index ed38d33..2a0dffb 100644
--- a/dir.c
+++ b/dir.c
@@ -77,20 +77,13 @@ void dirlist(void) {
//
// Get and Print Directory Entries
//
- if(strcmp(sortby, "name")==0)
- nentr=asscandir(phys_dirname, &direntry, namesort);
- else if(strcmp(sortby, "rname")==0)
- nentr=asscandir(phys_dirname, &direntry, rnamesort);
- else if(strcmp(sortby, "size")==0)
- nentr=asscandir(phys_dirname, &direntry, sizesort);
- else if(strcmp(sortby, "rsize")==0)
- nentr=asscandir(phys_dirname, &direntry, rsizesort);
- else if(strcmp(sortby, "date")==0)
- nentr=asscandir(phys_dirname, &direntry, timesort);
- else if(strcmp(sortby, "rdate")==0)
- nentr=asscandir(phys_dirname, &direntry, rtimesort);
- else
- nentr=asscandir(phys_dirname, &direntry, namesort);
+ if(strcmp(sortby, "name")==0) nentr=asscandir(phys_dirname, &direntry, namesort);
+ else if(strcmp(sortby, "rname")==0) nentr=asscandir(phys_dirname, &direntry, rnamesort);
+ else if(strcmp(sortby, "size")==0) nentr=asscandir(phys_dirname, &direntry, sizesort);
+ else if(strcmp(sortby, "rsize")==0) nentr=asscandir(phys_dirname, &direntry, rsizesort);
+ else if(strcmp(sortby, "date")==0) nentr=asscandir(phys_dirname, &direntry, timesort);
+ else if(strcmp(sortby, "rdate")==0) nentr=asscandir(phys_dirname, &direntry, rtimesort);
+ else nentr=asscandir(phys_dirname, &direntry, namesort);
dir_icoinita();
@@ -163,11 +156,11 @@ void dirlist(void) {
"//-->\n"
"</STYLE>\n"
"<META HTTP-EQUIV=\"Content-type\" CONTENT=\"text/html;charset=UTF-8\">\n"
- "<LINK REL=\"icon\" TYPE=\"image/gif\" HREF=\"%swfmicon.gif\">\n"
+ "<LINK REL=\"icon\" TYPE=\"image/gif\" HREF=\"%s%s\">\n"
"</HEAD>\n"
"<BODY BGCOLOR=\"#FFFFFF\">\n"
"<FORM ACTION=\"%s\" METHOD=\"POST\" ENCTYPE=\"multipart/form-data\" onsubmit=\"start()\">\n",
- copyright, TAGLINE, (strlen(virt_dirname)>0) ? ' ' : '/', virt_dirname, cgiScriptName, "1234", ICONSURL, cgiScriptName);
+ copyright, TAGLINE, (strlen(virt_dirname)>0) ? ' ' : '/', virt_dirname, cgiScriptName, "1234", ICONSURL, FAVICON, cgiScriptName);
@@ -180,11 +173,11 @@ void dirlist(void) {
"<TABLE WIDTH=\"100%%\" BGCOLOR=\"#FFFFFF\" CELLPADDING=\"0\" CELLSPACING=\"0\" BORDER=\"0\" STYLE=\"height:28px;\">\n"
"<TR>\n"
"<TD WIDTH=\"100%%\" BGCOLOR=\"#0072c6\" VALIGN=\"MIDDLE\" ALIGN=\"LEFT\" STYLE=\"color:#FFFFFF; font-weight:bold;\">\n"
- "&nbsp;<IMG SRC=\"%swfmicon.gif\" ALIGN=\"MIDDLE\" ALT=\"WFM\">\n"
+ "&nbsp;<IMG SRC=\"%s%s\" ALIGN=\"MIDDLE\" ALT=\"WFM\">\n"
"%s : %c%s \n"
"<TD BGCOLOR=\"#F1F1F1\" VALIGN=\"MIDDLE\" ALIGN=\"RIGHT\" STYLE=\"color:#000000; font-weight:bold; white-space:nowrap\">\n"
,
- ICONSURL, TAGLINE, (strlen(virt_dirname)>0) ? ' ' : '/', virt_dirname
+ ICONSURL, FAVICON, TAGLINE, (strlen(virt_dirname)>0) ? ' ' : '/', virt_dirname
);
diff --git a/wfm.c b/wfm.c
index 622189a..21a73ee 100644
--- a/wfm.c
+++ b/wfm.c
@@ -7,9 +7,9 @@
void html_title(char *msg) {
fprintf(cgiOut,
HTML_HEADER
- "<LINK REL=\"icon\" TYPE=\"image/gif\" HREF=\"%swfmicon.gif\">\n"
+ "<LINK REL=\"icon\" TYPE=\"image/gif\" HREF=\"%s%s\">\n"
"<TITLE>%s : %s</TITLE>\n",
- ICONSURL, TAGLINE, msg); // (strlen(virt_dirname)>0) ? ' ' : '/', TAGLINE, virt_dirname
+ ICONSURL, FAVICON, TAGLINE, msg); // (strlen(virt_dirname)>0) ? ' ' : '/', TAGLINE, virt_dirname
}
@@ -363,6 +363,7 @@ int cgiMain(void) {
char cfgname[128];
char cfgline[256];
char c_tagline[]="tagline=";
+ char c_favicon[]="favicon=";
char c_homeurl[]="browser-url=";
char c_homedir[]="directory=";
char c_editdef[]="txt-default-edit=true";
@@ -397,6 +398,7 @@ int cgiMain(void) {
memset(HOMEDIR, 0, sizeof(HOMEDIR));
memset(HOMEURL, 0, sizeof(HOMEURL));
memset(TAGLINE, 0, sizeof(TAGLINE));
+ memset(FAVICON, 0, sizeof(FAVICON));
cgiFormStringNoNewlines("token", token, sizeof(token));
snprintf(cfgname, sizeof(cfgname), "%s.cfg", basename(cgiScriptName));
@@ -409,9 +411,10 @@ int cgiMain(void) {
else if(strncmp(cfgline, c_homedir, strlen(c_homedir))==0) strncpy(HOMEDIR, cfgline+strlen(c_homedir), sizeof(HOMEDIR));
else if(strncmp(cfgline, c_homeurl, strlen(c_homeurl))==0) strncpy(HOMEURL, cfgline+strlen(c_homeurl), sizeof(HOMEURL));
else if(strncmp(cfgline, c_tagline, strlen(c_tagline))==0) strncpy(TAGLINE, cfgline+strlen(c_tagline), sizeof(TAGLINE));
+ else if(strncmp(cfgline, c_favicon, strlen(c_favicon))==0) strncpy(FAVICON, cfgline+strlen(c_favicon), sizeof(FAVICON));
else if(strncmp(cfgline, c_editdef, strlen(c_editdef))==0) edit_by_default=1;
else if(strncmp(cfgline, c_editany, strlen(c_editany))==0) edit_any_file=1;
- else if(strncmp(cfgline, c_du, strlen(c_du))==0) recursive_du=1;
+ else if(strncmp(cfgline, c_du, strlen(c_du))==0) recursive_du=1;
else if(strncmp(cfgline, c_access, strlen(c_access))==0) access_check(cfgline);
}
fclose(cfgfile);
@@ -420,6 +423,7 @@ int cgiMain(void) {
if(strlen(HOMEDIR)>2) HOMEDIR[strlen(HOMEDIR)-1]='\0';
if(strlen(HOMEURL)>2) HOMEURL[strlen(HOMEURL)-1]='\0';
if(strlen(TAGLINE)>2) TAGLINE[strlen(TAGLINE)-1]='\0';
+ if(strlen(FAVICON)>2) FAVICON[strlen(FAVICON)-1]='\0';
// do checks
if(strlen(HOMEDIR) < 4 || *HOMEDIR!='/')
@@ -428,6 +432,9 @@ int cgiMain(void) {
if(!strlen(TAGLINE))
strcpy(TAGLINE, "Web File Manager");
+ if(!strlen(FAVICON))
+ strcpy(FAVICON, "wfmicon.gif");
+
checkdirectory();
// main routine - regular actions
diff --git a/wfm.cfg b/wfm.cfg
index bb38404..0159243 100644
--- a/wfm.cfg
+++ b/wfm.cfg
@@ -8,6 +8,9 @@ directory=/home/tenox/wfm10
# fast disk (SSD) or a small directory tree structure
#recursive-du=true
+# favicon / application icon, must be one of the embedded/compiled icon files
+# favicon=home.gif
+
# When clicking on txt file - edit instead of download by default
#txt-default-edit=true
diff --git a/wfm.h b/wfm.h
index 228bf49..e6c1214 100644
--- a/wfm.h
+++ b/wfm.h
@@ -87,6 +87,7 @@ char ICONSURL[1024];
char HOMEDIR[1024];
char HOMEURL[1024];
char TAGLINE[1024];
+char FAVICON[1024];
char token[256];
char loggedinuser[64];