[Commits] : Tuxbox-GIT: apps branch master updated. CVS-Final-505-gb87baa0
Tuxbox Sources
Brought to you by:
dbt1
|
From: GetAway <tux...@ne...> - 2015-04-02 18:34:47
|
Project "Tuxbox-GIT: apps":
The branch, master has been updated
via b87baa0024402ce77dab20bd3e7f69b2439bf3b2 (commit)
from 8fa01aaff74b230431236165db6096c1a3dcc1e8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b87baa0024402ce77dab20bd3e7f69b2439bf3b2
Author: GetAway <get...@t-...>
Date: Thu Apr 2 20:23:23 2015 +0200
yWeb: introduce multilanguage (part1)
switch to new ConfigFile Version 4
Signed-off-by: GetAway <get...@t-...>
diff --git a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
index 3e19048..3529662 100644
--- a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
@@ -53,9 +53,9 @@ void CControlAPI::init(CyhookHandler *hh)
{
if(PLUGIN_DIRS[0].empty())
{ // given in nhttpd.conf
- PLUGIN_DIRS[0]=hh->WebserverConfigList["PublicDocumentRoot"];
+ PLUGIN_DIRS[0]=hh->WebserverConfigList["WebsiteMain.override_directory"];
PLUGIN_DIRS[0].append("/scripts");
- PLUGIN_DIRS[1]=hh->WebserverConfigList["PrivatDocumentRoot"];
+ PLUGIN_DIRS[1]=hh->WebserverConfigList["WebsiteMain.directory"];
PLUGIN_DIRS[1].append("/scripts");
PLUGIN_DIRS[2]="/var/tuxbox/plugins";
PLUGIN_DIRS[3]=PLUGINDIR;
diff --git a/tuxbox/neutrino/daemons/nhttpd/web/Y_Blocks.txt b/tuxbox/neutrino/daemons/nhttpd/web/Y_Blocks.txt
index 1e67ab6..73d353d 100644
--- a/tuxbox/neutrino/daemons/nhttpd/web/Y_Blocks.txt
+++ b/tuxbox/neutrino/daemons/nhttpd/web/Y_Blocks.txt
@@ -54,7 +54,7 @@ start-block~nhttpd_save_settings
{=ini-set:/var/tuxbox/config/nhttpd.conf;WebsiteMain.port;{=port=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;webserver.threading;{=threading=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;server.no_keep-alive_ips;{=no_keep_alive_ips=}~cache=}
-{=ini-set:/var/tuxbox/config/nhttpd.conf;Tuxbox.HostedDocumentRoot;{=HostedDocRoot=}~cache=}
+{=ini-set:/var/tuxbox/config/nhttpd.conf;WebsiteMain.hosted_directory;{=hosted_directory=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;WebsiteMain.override_directory;{=override_directory=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;mod_sendfile.mime_types;{=mod_sendfile_mime_types=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;mod_sendfile.sendAll;{=mod_sendfile_sendAll=}~cache=}
diff --git a/tuxbox/neutrino/daemons/nhttpd/yconfig.h b/tuxbox/neutrino/daemons/nhttpd/yconfig.h
index bdd25c8..d8f80e0 100644
--- a/tuxbox/neutrino/daemons/nhttpd/yconfig.h
+++ b/tuxbox/neutrino/daemons/nhttpd/yconfig.h
@@ -38,7 +38,7 @@
#define HTTPD_NAME "yhttpd" // Webserver name (can be overloaded)
#define YHTTPD_NAME "yhttpd_core" // Webserver name (Name of yhttpd-core!)
#define AUTH_NAME_MSG "yhhtpd" // Name in Authentication Dialogue
-#define CONF_VERSION 3 // Version of yhttpd-conf file
+#define CONF_VERSION 4 // Version of yhttpd-conf file
#define HTTPD_KEEPALIVE_TIMEOUT 500000 // Timeout for Keep-Alive in mircoseconds
//=============================================================================
@@ -107,6 +107,8 @@
#define HTTPD_ERRORPAGE "/Y_ErrorPage.yhtm"
#define HTTPD_SENDFILE_EXT "htm:text/html,html:text/html,xml:text/xml,txt:text/plain,jpg:image/jpeg,jpeg:image/jpeg,gif:image/gif,png:image/png,bmp:image/bmp,css:text/css,js:text/plain,img:application/octet-stream,ico:image/x-icon,m3u:application/octet-stream,tar:application/octet-stream"
#define HTTPD_SENDFILE_ALL false
+#define HTTPD_LANGUAGEDIR "languages"
+#define HTTPD_DEFAULT_LANGUAGE "English"
#define AUTHUSER "test"
#define AUTHPASSWORD "test1"
@@ -132,6 +134,8 @@
#define HTTPD_ERRORPAGE "/Y_ErrorPage.yhtm"
#define HTTPD_SENDFILE_EXT "htm:text/html,html:text/html,xml:text/xml,txt:text/plain,jpg:image/jpeg,jpeg:image/jpeg,gif:image/gif,png:image/png,bmp:image/bmp,css:text/css,js:text/plain,img:application/octet-stream,ico:image/x-icon,m3u:application/octet-stream,tar:application/octet-stream"
#define HTTPD_SENDFILE_ALL "false"
+#define HTTPD_LANGUAGEDIR "languages"
+#define HTTPD_DEFAULT_LANGUAGE "English"
#define AUTHUSER "test"
#define AUTHPASSWORD "test1"
@@ -162,6 +166,8 @@
#define HTTPD_ERRORPAGE "/Y_ErrorPage.yhtm"
#define HTTPD_SENDFILE_EXT "htm:text/html,html:text/html,xml:text/xml,txt:text/plain,jpg:image/jpeg,jpeg:image/jpeg,gif:image/gif,png:image/png,bmp:image/bmp,css:text/css,js:text/plain,img:application/octet-stream,ico:image/x-icon,m3u:application/octet-stream,tar:application/octet-stream,gz:text/x-gzip"
#define HTTPD_SENDFILE_ALL "false"
+#define HTTPD_LANGUAGEDIR "languages"
+#define HTTPD_DEFAULT_LANGUAGE "English"
#define AUTHUSER "root"
#define AUTHPASSWORD "dbox2"
@@ -197,6 +203,8 @@
#define HTTPD_ERRORPAGE "/Y_ErrorPage.yhtm"
#define HTTPD_SENDFILE_EXT "htm:text/html,html:text/html,xml:text/xml,txt:text/plain,jpg:image/jpeg,jpeg:image/jpeg,gif:image/gif,png:image/png,bmp:image/bmp,css:text/css,js:text/plain,img:application/octet-stream,ico:image/x-icon,m3u:application/octet-stream,tar:application/octet-stream"
#define HTTPD_SENDFILE_ALL "false"
+#define HTTPD_LANGUAGEDIR "languages"
+#define HTTPD_DEFAULT_LANGUAGE "English"
#define AUTHUSER "root"
#define AUTHPASSWORD "oxmox"
diff --git a/tuxbox/neutrino/daemons/nhttpd/yhttpd.cpp b/tuxbox/neutrino/daemons/nhttpd/yhttpd.cpp
index 285c3b0..ef6c27b 100644
--- a/tuxbox/neutrino/daemons/nhttpd/yhttpd.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/yhttpd.cpp
@@ -4,7 +4,6 @@
//=============================================================================
// system
-#include <cstdio>
#include <csignal>
#include <unistd.h>
#include <pwd.h>
@@ -416,7 +415,7 @@ void Cyhttpd::ReadConfig(void)
log_level_printf(3,"ReadConfig Start\n");
CConfigFile *Config = new CConfigFile(',');
bool have_config = false;
- if(access(HTTPD_CONFIGFILE,4) == 0)
+ if(access(HTTPD_CONFIGFILE, R_OK) == 0)
have_config = true;
Config->loadConfig(HTTPD_CONFIGFILE);
// convert old config files
@@ -435,10 +434,6 @@ void Cyhttpd::ReadConfig(void)
Config->setString("WebsiteMain.directory", OrgConfig.getString("PrivatDocRoot", PRIVATEDOCUMENTROOT));
if(!OrgConfig.getString("PublicDocRoot", "").empty())
Config->setString("WebsiteMain.override_directory", OrgConfig.getString("PublicDocRoot", PRIVATEDOCUMENTROOT));
- if(!OrgConfig.getString("HostedDocRoot", "").empty())
- Config->setString("WebsiteMain.special_locations", "/hosted/="+OrgConfig.getString("HostedDocRoot", PRIVATEDOCUMENTROOT));
- if(!OrgConfig.getString("HostedDocRoot", "").empty())
- Config->setString("Tuxbox.HostedDocumentRoot", OrgConfig.getString("HostedDocRoot", PRIVATEDOCUMENTROOT));
// mod_auth
Config->setString("mod_auth.username", OrgConfig.getString("AuthUser", AUTHUSER));
Config->setString("mod_auth.password", OrgConfig.getString("AuthPassword", AUTHPASSWORD));
@@ -450,6 +445,7 @@ void Cyhttpd::ReadConfig(void)
Config->saveConfig(HTTPD_CONFIGFILE);
}
+ // Add Defaults for Version2
if (Config->getInt32("configfile.version") < 2)
{
Config->setString("mod_sendfile.mime_types", HTTPD_SENDFILE_EXT);
@@ -457,6 +453,15 @@ void Cyhttpd::ReadConfig(void)
Config->setString("mod_sendfile.sendAll","false");
Config->saveConfig(HTTPD_CONFIGFILE);
}
+ // Add Defaults for Version 4
+ if (Config->getInt32("configfile.version") < 4) {
+ Config->setInt32("configfile.version", CONF_VERSION);
+ Config->setString("Language.selected", HTTPD_DEFAULT_LANGUAGE);
+ Config->setString("Language.directory", HTTPD_LANGUAGEDIR);
+ if (Config->getString("WebsiteMain.hosted_directory", "").empty())
+ Config->setString("WebsiteMain.hosted_directory", HOSTEDDOCUMENTROOT);
+ Config->saveConfig(HTTPD_CONFIGFILE);
+ }
}
// configure debugging & logging
if(CLogging::getInstance()->LogLevel == 0)
@@ -473,9 +478,9 @@ void Cyhttpd::ReadConfig(void)
webserver->conf_no_keep_alive_ips = Config->getStringVector("server.no_keep-alive_ips");
// MainSite
- ConfigList["PrivatDocumentRoot"]= Config->getString("WebsiteMain.directory", PRIVATEDOCUMENTROOT);
- ConfigList["PublicDocumentRoot"]= Config->getString("WebsiteMain.override_directory", PUBLICDOCUMENTROOT);
- ConfigList["HostedDocumentRoot"]= Config->getString("Tuxbox.HostedDocumentRoot", HOSTEDDOCUMENTROOT);
+ ConfigList["WebsiteMain.directory"] = Config->getString("WebsiteMain.directory", PRIVATEDOCUMENTROOT);
+ ConfigList["WebsiteMain.override_directory"] = Config->getString("WebsiteMain.override_directory", PUBLICDOCUMENTROOT);
+ ConfigList["WebsiteMain.hosted_directory"] = Config->getString("WebsiteMain.hosted_directory", HOSTEDDOCUMENTROOT);
#ifdef Y_CONFIG_USE_OPEN_SSL
ConfigList["SSL"] = Config->getString("WebsiteMain.ssl", "false");
ConfigList["SSL_pemfile"] = Config->getString("WebsiteMain.ssl_pemfile", SSL_PEMFILE);
@@ -490,6 +495,9 @@ void Cyhttpd::ReadConfig(void)
ConfigList["server.group_name"]= Config->getString("server.group_name", "");
ConfigList["server.chroot"]= Config->getString("server.chroot", "");
+ // language
+ ConfigList["Language.directory"] = Config->getString("Language.directory", HTTPD_LANGUAGEDIR);
+ ConfigList["Language.selected"] = Config->getString("Language.selected", HTTPD_DEFAULT_LANGUAGE);
// Read App specifig settings by Hook
CyhookHandler::Hooks_ReadConfig(Config, ConfigList);
diff --git a/tuxbox/neutrino/daemons/nhttpd/yhttpd_core/yresponse.cpp b/tuxbox/neutrino/daemons/nhttpd/yhttpd_core/yresponse.cpp
index 741fd4c..981edd5 100644
--- a/tuxbox/neutrino/daemons/nhttpd/yhttpd_core/yresponse.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/yhttpd_core/yresponse.cpp
@@ -70,7 +70,7 @@ bool CWebserverResponse::SendResponse()
// for hosted webs: rewrite URL
std::string _hosted="/hosted/";
if((Connection->Request.UrlData["path"]).compare(0,_hosted.length(),"/hosted/") == 0) // hosted Web ?
- Connection->Request.UrlData["path"]=Cyhttpd::ConfigList["HostedDocumentRoot"]
+ Connection->Request.UrlData["path"]=Cyhttpd::ConfigList["WebsiteMain.hosted_directory"]
+(Connection->Request.UrlData["path"]).substr(_hosted.length()-1);
#endif //Y_CONFIG_USE_HOSTEDWEB
log_level_printf(5,"UrlPath:%s\n",(Connection->Request.UrlData["path"]).c_str());
diff --git a/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp b/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp
index 87468f7..c8f15b2 100644
--- a/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp
@@ -167,14 +167,14 @@ std::string CmodSendfile::GetFileName(CyhookHandler *hh, std::string path, std::
else
tmpfilename = path + filename;
- if( access(std::string(hh->WebserverConfigList["PublicDocumentRoot"] + tmpfilename).c_str(),4) == 0)
- tmpfilename = hh->WebserverConfigList["PublicDocumentRoot"] + tmpfilename;
- else if( access(std::string(hh->WebserverConfigList["PublicDocumentRoot"] + tmpfilename + ".gz").c_str(),4) == 0)
- tmpfilename = hh->WebserverConfigList["PublicDocumentRoot"] + tmpfilename + ".gz";
- else if(access(std::string(hh->WebserverConfigList["PrivatDocumentRoot"] + tmpfilename).c_str(),4) == 0)
- tmpfilename = hh->WebserverConfigList["PrivatDocumentRoot"] + tmpfilename;
- else if(access(std::string(hh->WebserverConfigList["PrivatDocumentRoot"] + tmpfilename + ".gz").c_str(),4) == 0)
- tmpfilename = hh->WebserverConfigList["PrivatDocumentRoot"] + tmpfilename + ".gz";
+ if( access(std::string(hh->WebserverConfigList["WebsiteMain.override_directory"] + tmpfilename).c_str(),4) == 0)
+ tmpfilename = hh->WebserverConfigList["WebsiteMain.override_directory"] + tmpfilename;
+ else if( access(std::string(hh->WebserverConfigList["WebsiteMain.override_directory"] + tmpfilename + ".gz").c_str(),4) == 0)
+ tmpfilename = hh->WebserverConfigList["WebsiteMain.override_directory"] + tmpfilename + ".gz";
+ else if(access(std::string(hh->WebserverConfigList["WebsiteMain.directory"] + tmpfilename).c_str(),4) == 0)
+ tmpfilename = hh->WebserverConfigList["WebsiteMain.directory"] + tmpfilename;
+ else if(access(std::string(hh->WebserverConfigList["WebsiteMain.directory"] + tmpfilename + ".gz").c_str(),4) == 0)
+ tmpfilename = hh->WebserverConfigList["WebsiteMain.directory"] + tmpfilename + ".gz";
#ifdef Y_CONFIG_FEATUE_SENDFILE_CAN_ACCESS_ALL
else if(access(tmpfilename.c_str(),4) == 0)
;
diff --git a/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_yparser.cpp b/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_yparser.cpp
index 788b6d4..b4f89f9 100644
--- a/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_yparser.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_yparser.cpp
@@ -56,8 +56,8 @@ void CyParser::init(CyhookHandler *hh)
{
if(HTML_DIRS[0].empty())
{
- CyParser::HTML_DIRS[0]=hh->WebserverConfigList["PublicDocumentRoot"];
- HTML_DIRS[1]=hh->WebserverConfigList["PrivatDocumentRoot"];
+ CyParser::HTML_DIRS[0]=hh->WebserverConfigList["WebsiteMain.override_directory"];
+ HTML_DIRS[1]=hh->WebserverConfigList["WebsiteMain.directory"];
PLUGIN_DIRS[0]=HTML_DIRS[0];
PLUGIN_DIRS[0].append("/scripts");
PLUGIN_DIRS[1]=HTML_DIRS[1];
-----------------------------------------------------------------------
Summary of changes:
.../daemons/nhttpd/tuxboxapi/controlapi.cpp | 4 +-
tuxbox/neutrino/daemons/nhttpd/web/Y_Blocks.txt | 2 +-
tuxbox/neutrino/daemons/nhttpd/yconfig.h | 10 +++++++-
tuxbox/neutrino/daemons/nhttpd/yhttpd.cpp | 26 +++++++++++++-------
.../daemons/nhttpd/yhttpd_core/yresponse.cpp | 2 +-
.../daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp | 16 ++++++------
.../daemons/nhttpd/yhttpd_mods/mod_yparser.cpp | 4 +-
7 files changed, 40 insertions(+), 24 deletions(-)
--
Tuxbox-GIT: apps
|