yWeb 2.8.a.3 Alpha-Version

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@406 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
yjogol
2010-02-24 16:16:10 +00:00
parent 24c8d684c9
commit 32c7517141
191 changed files with 8063 additions and 4185 deletions

View File

@@ -82,7 +82,9 @@ src/nhttpd/Makefile
src/nhttpd/web/Makefile src/nhttpd/web/Makefile
src/nhttpd/web/images/Makefile src/nhttpd/web/images/Makefile
src/nhttpd/web/scripts/Makefile src/nhttpd/web/scripts/Makefile
src/nhttpd/web/languages/Makefile
src/nhttpd/tuxboxapi/Makefile src/nhttpd/tuxboxapi/Makefile
src/nhttpd/tuxboxapi/coolstream/Makefile
src/nhttpd/yhttpd_core/Makefile src/nhttpd/yhttpd_core/Makefile
src/nhttpd/yhttpd_mods/Makefile src/nhttpd/yhttpd_mods/Makefile
src/Makefile src/Makefile

View File

@@ -39,7 +39,7 @@ neutrino_LDADD = \
timerd/libtimerd.a \ timerd/libtimerd.a \
zapit/src/libzapit.a \ zapit/src/libzapit.a \
nhttpd/libnhttpd.a \ nhttpd/libnhttpd.a \
nhttpd/tuxboxapi/libnhttpd_tuxboxapi.a \ nhttpd/tuxboxapi/coolstream/libnhttpd_tuxboxapi.a \
nhttpd/yhttpd_mods/libyhttpdmods.a \ nhttpd/yhttpd_mods/libyhttpdmods.a \
nhttpd/yhttpd_core/libyhttpd.a \ nhttpd/yhttpd_core/libyhttpd.a \
$(top_builddir)/lib/sectionsdclient/libsectionsdclient.a \ $(top_builddir)/lib/sectionsdclient/libsectionsdclient.a \

View File

@@ -9,6 +9,7 @@ INCLUDES = \
-I$(top_srcdir)/src/nhttpd/yhttpd_core \ -I$(top_srcdir)/src/nhttpd/yhttpd_core \
-I$(top_srcdir)/src/nhttpd/yhttpd_mods \ -I$(top_srcdir)/src/nhttpd/yhttpd_mods \
-I$(top_srcdir)/src/nhttpd/tuxboxapi \ -I$(top_srcdir)/src/nhttpd/tuxboxapi \
-I$(top_srcdir)/src/nhttpd/tuxboxapi/coolstream \
-I$(top_srcdir)/lib/libeventserver \ -I$(top_srcdir)/lib/libeventserver \
-I$(top_srcdir)/lib/libconfigfile \ -I$(top_srcdir)/lib/libconfigfile \
-I$(top_srcdir)/lib/connection \ -I$(top_srcdir)/lib/connection \

View File

@@ -2,7 +2,7 @@ ExtrasDocRoot=web
ExtrasDocURL= ExtrasDocURL=
Tuxbox.HostedDocumentRoot= Tuxbox.HostedDocumentRoot=
WebsiteMain.directory=/share/tuxbox/neutrino/httpd WebsiteMain.directory=/share/tuxbox/neutrino/httpd
WebsiteMain.override_directory=/var/tmp/httpd WebsiteMain.override_directory=/var/httpd
WebsiteMain.port=80 WebsiteMain.port=80
WebsiteMain.special_locations=/hosted/=/mnt/hosted WebsiteMain.special_locations=/hosted/=/mnt/hosted
Zapit_XML_Path=/var/tuxbox/config/zapit Zapit_XML_Path=/var/tuxbox/config/zapit

View File

@@ -1,20 +1,2 @@
AM_CPPFLAGS = -fno-rtti -fno-exceptions SUBDIRS = coolstream
INCLUDES = \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src/zapit/include \
-I$(top_srcdir)/src \
-I$(top_srcdir)/src/nhttpd \
-I$(top_srcdir)/src/nhttpd/yhttpd_core \
-I$(top_srcdir)/src/nhttpd/yhttpd_mods \
-I$(top_srcdir)/lib/connection \
-I$(top_srcdir)/lib/libeventserver \
-I$(top_srcdir)/lib/libconfigfile \
-I$(top_srcdir)/lib/xmltree \
@FREETYPE_CFLAGS@
noinst_LIBRARIES = libnhttpd_tuxboxapi.a
libnhttpd_tuxboxapi_a_SOURCES = \
neutrinoapi.cpp neutrinoyparser.cpp lcdapi.cpp controlapi.cpp

View File

@@ -0,0 +1,20 @@
AM_CPPFLAGS = -fno-rtti -fno-exceptions
INCLUDES = \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/src/zapit/include \
-I$(top_srcdir)/src \
-I$(top_srcdir)/src/nhttpd \
-I$(top_srcdir)/src/nhttpd/yhttpd_core \
-I$(top_srcdir)/src/nhttpd/yhttpd_mods \
-I$(top_srcdir)/lib/connection \
-I$(top_srcdir)/lib/libeventserver \
-I$(top_srcdir)/lib/libconfigfile \
-I$(top_srcdir)/lib/xmltree \
@FREETYPE_CFLAGS@
noinst_LIBRARIES = libnhttpd_tuxboxapi.a
libnhttpd_tuxboxapi_a_SOURCES = \
neutrinoapi.cpp neutrinoyparser.cpp lcdapi.cpp controlapi.cpp

View File

@@ -32,9 +32,7 @@ private:
void SendEventList(CyhookHandler *hh,t_channel_id channel_id); void SendEventList(CyhookHandler *hh,t_channel_id channel_id);
void SendcurrentVAPid(CyhookHandler *hh); void SendcurrentVAPid(CyhookHandler *hh);
void SendAllCurrentVAPid(CyhookHandler *hh); void SendAllCurrentVAPid(CyhookHandler *hh);
#if 0
void SendSettings(CyhookHandler *hh); void SendSettings(CyhookHandler *hh);
#endif
void SendStreamInfo(CyhookHandler *hh); void SendStreamInfo(CyhookHandler *hh);
void SendBouquets(CyhookHandler *hh); void SendBouquets(CyhookHandler *hh);
void SendBouquet(CyhookHandler *hh,int BouquetNr); void SendBouquet(CyhookHandler *hh,int BouquetNr);
@@ -45,7 +43,7 @@ private:
friend class CNeutrinoWebserver; // for timer /fb/ compatibility friend class CNeutrinoWebserver; // for timer /fb/ compatibility
void doModifyTimer(CyhookHandler *hh); void doModifyTimer(CyhookHandler *hh);
void doNewTimer(CyhookHandler *hh); void doNewTimer(CyhookHandler *hh);
//yweb //yweb
void YWeb_SendVideoStreamingPids(CyhookHandler *hh, int apid_no); void YWeb_SendVideoStreamingPids(CyhookHandler *hh, int apid_no);
void YWeb_SendRadioStreamingPid(CyhookHandler *hh); void YWeb_SendRadioStreamingPid(CyhookHandler *hh);
@@ -59,12 +57,11 @@ private:
void ExecCGI(CyhookHandler *hh); void ExecCGI(CyhookHandler *hh);
void SystemCGI(CyhookHandler *hh); void SystemCGI(CyhookHandler *hh);
void StandbyCGI(CyhookHandler *hh); void StandbyCGI(CyhookHandler *hh);
void EsoundCGI(CyhookHandler *hh);
void RCCGI(CyhookHandler *hh); void RCCGI(CyhookHandler *hh);
void GetDateCGI(CyhookHandler *hh); void GetDateCGI(CyhookHandler *hh);
void GetTimeCGI(CyhookHandler *hh); void GetTimeCGI(CyhookHandler *hh);
#if 0
void SettingsCGI(CyhookHandler *hh); void SettingsCGI(CyhookHandler *hh);
#endif
void GetServicesxmlCGI(CyhookHandler *hh); void GetServicesxmlCGI(CyhookHandler *hh);
void GetBouquetsxmlCGI(CyhookHandler *hh); void GetBouquetsxmlCGI(CyhookHandler *hh);
void GetChannel_IDCGI(CyhookHandler *hh); void GetChannel_IDCGI(CyhookHandler *hh);
@@ -83,9 +80,7 @@ private:
void YWebCGI(CyhookHandler *hh); void YWebCGI(CyhookHandler *hh);
void RebootCGI(CyhookHandler *hh); void RebootCGI(CyhookHandler *hh);
void RCEmCGI(CyhookHandler *hh); void RCEmCGI(CyhookHandler *hh);
#if 0
void AspectRatioCGI(CyhookHandler *hh); void AspectRatioCGI(CyhookHandler *hh);
#endif
void VideoFormatCGI(CyhookHandler *hh); void VideoFormatCGI(CyhookHandler *hh);
void VideoOutputCGI(CyhookHandler *hh); void VideoOutputCGI(CyhookHandler *hh);
void VCROutputCGI(CyhookHandler *hh); void VCROutputCGI(CyhookHandler *hh);
@@ -103,7 +98,7 @@ private:
protected: protected:
static const unsigned int PLUGIN_DIR_COUNT = 5; static const unsigned int PLUGIN_DIR_COUNT = 5;
static std::string PLUGIN_DIRS[PLUGIN_DIR_COUNT]; static std::string PLUGIN_DIRS[PLUGIN_DIR_COUNT];
CNeutrinoAPI *NeutrinoAPI; CNeutrinoAPI *NeutrinoAPI;
void init(CyhookHandler *hh); void init(CyhookHandler *hh);
void Execute(CyhookHandler *hh); void Execute(CyhookHandler *hh);
@@ -114,8 +109,9 @@ public:
// virtual functions for HookHandler/Hook // virtual functions for HookHandler/Hook
virtual std::string getHookName(void) {return std::string("mod_ControlAPI");} virtual std::string getHookName(void) {return std::string("mod_ControlAPI");}
virtual std::string getHookVersion(void) {return std::string("$Revision: 1.4 $");} virtual std::string getHookVersion(void) {return std::string("$Revision: 1.1.2.1 $");}
virtual THandleStatus Hook_SendResponse(CyhookHandler *hh); virtual THandleStatus Hook_SendResponse(CyhookHandler *hh);
virtual THandleStatus Hook_PrepareResponse(CyhookHandler *hh);
}; };
#endif /* __nhttpd_neutrinocontrolapi_hpp__ */ #endif /* __nhttpd_neutrinocontrolapi_hpp__ */

View File

@@ -4,7 +4,7 @@
Copyright (C) 2001/2002 Dirk Szymanski 'Dirch' Copyright (C) 2001/2002 Dirk Szymanski 'Dirch'
Copyright (C) 2005 SnowHead Copyright (C) 2005 SnowHead
$Id: lcdapi.cpp,v 1.1 2006/09/16 14:47:44 yjogol Exp $ $Id: lcdapi.cpp,v 1.1.2.1 2010/02/21 10:10:12 cvs Exp $
License: GPL License: GPL
@@ -86,7 +86,7 @@ void CLCDAPI::LockDisplay(int plock)
} }
} }
void CLCDAPI::DrawLine(int /*x1*/, int /*y1*/, int /*x2*/, int /*y2*/, int /*col*/) void CLCDAPI::DrawLine(int x1, int y1, int x2, int y2, int col)
{ {
#if HAVE_LCD #if HAVE_LCD
int color=(col==0)?(CLCDDisplay::PIXEL_OFF):((col==2)?(CLCDDisplay::PIXEL_INV):(CLCDDisplay::PIXEL_ON)); int color=(col==0)?(CLCDDisplay::PIXEL_OFF):((col==2)?(CLCDDisplay::PIXEL_INV):(CLCDDisplay::PIXEL_ON));
@@ -94,7 +94,7 @@ void CLCDAPI::DrawLine(int /*x1*/, int /*y1*/, int /*x2*/, int /*y2*/, int /*col
#endif #endif
} }
void CLCDAPI::DrawRect(int /*x1*/, int /*y1*/, int /*x2*/, int /*y2*/, int /*coll*/, int /*colf*/) void CLCDAPI::DrawRect(int x1, int y1, int x2, int y2, int coll, int colf)
{ {
#if HAVE_LCD #if HAVE_LCD
int colorl=(coll==0)?(CLCDDisplay::PIXEL_OFF):((coll==2)?(CLCDDisplay::PIXEL_INV):(CLCDDisplay::PIXEL_ON)); int colorl=(coll==0)?(CLCDDisplay::PIXEL_OFF):((coll==2)?(CLCDDisplay::PIXEL_INV):(CLCDDisplay::PIXEL_ON));
@@ -103,7 +103,7 @@ void CLCDAPI::DrawRect(int /*x1*/, int /*y1*/, int /*x2*/, int /*y2*/, int /*col
#endif #endif
} }
void CLCDAPI::DrawText(int /*px*/, int /*py*/, int /*psize*/, int /*pcolor*/, int /*pfont*/, char */*pmsg*/) void CLCDAPI::DrawText(int px, int py, int psize, int pcolor, int pfont, char *pmsg)
{ {
#if HAVE_LCD #if HAVE_LCD
int color=(pcolor==0)?(CLCDDisplay::PIXEL_OFF):((pcolor==2)?(CLCDDisplay::PIXEL_INV):(CLCDDisplay::PIXEL_ON)); int color=(pcolor==0)?(CLCDDisplay::PIXEL_OFF):((pcolor==2)?(CLCDDisplay::PIXEL_INV):(CLCDDisplay::PIXEL_ON));
@@ -116,7 +116,7 @@ void CLCDAPI::DrawText(int /*px*/, int /*py*/, int /*psize*/, int /*pcolor*/, in
#endif #endif
} }
bool CLCDAPI::ShowPng(char */*filename*/) bool CLCDAPI::ShowPng(char *filename)
{ {
#if HAVE_LCD #if HAVE_LCD
return display.load_png(filename); return display.load_png(filename);
@@ -124,13 +124,13 @@ bool CLCDAPI::ShowPng(char */*filename*/)
return 0; return 0;
} }
void CLCDAPI::ShowRaw(int /*xpos*/, int /*ypos*/, int /*xsize*/, int /*ysize*/, char */*ascreen*/) void CLCDAPI::ShowRaw(int xpos, int ypos, int xsize, int ysize, char *ascreen)
{ {
#if HAVE_LCD #if HAVE_LCD
int sbyte,dbit,dxpos,dypos,wasinc=0,gotval; int sbyte,dbit,dxpos,dypos,wasinc=0,gotval;
char *sptr=ascreen; char *sptr=ascreen;
raw_display_t rscreen; raw_display_t rscreen;
display.dump_screen(&rscreen); display.dump_screen(&rscreen);
gotval=sscanf(sptr,"%d",&sbyte); gotval=sscanf(sptr,"%d",&sbyte);
for(dypos=ypos; gotval && (dypos<(ypos+ysize)); dypos++) for(dypos=ypos; gotval && (dypos<(ypos+ysize)); dypos++)
@@ -173,7 +173,7 @@ void CLCDAPI::ShowRaw(int /*xpos*/, int /*ypos*/, int /*xsize*/, int /*ysize*/,
display.load_screen(&rscreen); display.load_screen(&rscreen);
#endif #endif
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// Konstruktor und destruktor // Konstruktor und destruktor
@@ -183,7 +183,7 @@ CLCDAPI::CLCDAPI()
{ {
#if HAVE_LCD #if HAVE_LCD
// int i; // int i;
// display = new CLCDDisplay(); // display = new CLCDDisplay();
fontRenderer = new LcdFontRenderClass(&display); fontRenderer = new LcdFontRenderClass(&display);

View File

@@ -4,7 +4,7 @@
Copyright (C) 2001/2002 Dirk Szymanski 'Dirch' Copyright (C) 2001/2002 Dirk Szymanski 'Dirch'
Copyright (C) 2005 SnowHead Copyright (C) 2005 SnowHead
$Id: lcdapi.h,v 1.1 2006/09/16 14:47:44 yjogol Exp $ $Id: lcdapi.h,v 1.1.2.1 2010/02/21 10:10:12 cvs Exp $
License: GPL License: GPL

View File

@@ -39,7 +39,7 @@ void sectionsd_getChannelEvents(CChannelEventList &eList, const bool tv_mode = t
//============================================================================= //=============================================================================
static std::map<std::string, std::string> iso639; static std::map<std::string, std::string> iso639;
#ifndef initialize_iso639_map
bool _initialize_iso639_map(void) bool _initialize_iso639_map(void)
{ {
std::string s, t, u, v; std::string s, t, u, v;
@@ -61,7 +61,7 @@ bool _initialize_iso639_map(void)
else else
return false; return false;
} }
#endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
const char * _getISO639Description(const char * const iso) const char * _getISO639Description(const char * const iso)
{ {
@@ -85,7 +85,7 @@ std::string CNeutrinoAPI::audiotype_names[5] = {"none", "single channel","dual
//============================================================================= //=============================================================================
CNeutrinoAPI::CNeutrinoAPI() CNeutrinoAPI::CNeutrinoAPI()
{ {
//Controld = new CControldClient(); Controld = new CControldClient();
Sectionsd = new CSectionsdClient(); Sectionsd = new CSectionsdClient();
Zapit = new CZapitClient(); Zapit = new CZapitClient();
Timerd = new CTimerdClient(); Timerd = new CTimerdClient();
@@ -107,6 +107,8 @@ CNeutrinoAPI::CNeutrinoAPI()
EventServer->registerEvent2( NeutrinoMessages::EVT_START_PLUGIN, CEventServer::INITID_HTTPD, "/tmp/neutrino.sock"); EventServer->registerEvent2( NeutrinoMessages::EVT_START_PLUGIN, CEventServer::INITID_HTTPD, "/tmp/neutrino.sock");
EventServer->registerEvent2( NeutrinoMessages::LOCK_RC, CEventServer::INITID_HTTPD, "/tmp/neutrino.sock"); EventServer->registerEvent2( NeutrinoMessages::LOCK_RC, CEventServer::INITID_HTTPD, "/tmp/neutrino.sock");
EventServer->registerEvent2( NeutrinoMessages::UNLOCK_RC, CEventServer::INITID_HTTPD, "/tmp/neutrino.sock"); EventServer->registerEvent2( NeutrinoMessages::UNLOCK_RC, CEventServer::INITID_HTTPD, "/tmp/neutrino.sock");
EventServer->registerEvent2( NeutrinoMessages::ESOUND_ON, CEventServer::INITID_HTTPD, "/tmp/neutrino.sock");
EventServer->registerEvent2( NeutrinoMessages::ESOUND_OFF, CEventServer::INITID_HTTPD, "/tmp/neutrino.sock");
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
@@ -118,8 +120,8 @@ CNeutrinoAPI::~CNeutrinoAPI(void)
delete NeutrinoYParser; delete NeutrinoYParser;
if (ControlAPI) if (ControlAPI)
delete ControlAPI; delete ControlAPI;
//if (Controld) if (Controld)
// delete Controld; delete Controld;
if (Sectionsd) if (Sectionsd)
delete Sectionsd; delete Sectionsd;
if (Zapit) if (Zapit)
@@ -134,15 +136,12 @@ CNeutrinoAPI::~CNeutrinoAPI(void)
void CNeutrinoAPI::UpdateBouquets(void) void CNeutrinoAPI::UpdateBouquets(void)
{ {
#if 0
BouquetList.clear(); BouquetList.clear();
Zapit->getBouquets(BouquetList, true, true); Zapit->getBouquets(BouquetList, true);
for (unsigned int i = 1; i <= BouquetList.size(); i++) for (unsigned int i = 1; i <= BouquetList.size(); i++)
UpdateBouquet(i); UpdateBouquet(i);
UpdateChannelList(); UpdateChannelList();
#endif
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
@@ -166,7 +165,7 @@ void CNeutrinoAPI::ZapToChannelId(t_channel_id channel_id)
} }
if (Zapit->zapTo_serviceID(channel_id) != CZapitClient::ZAP_INVALID_PARAM) if (Zapit->zapTo_serviceID(channel_id) != CZapitClient::ZAP_INVALID_PARAM)
Sectionsd->setServiceChanged(channel_id&0xFFFFFFFFFFFFULL, false); Sectionsd->setServiceChanged(channel_id, false);
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
@@ -179,7 +178,7 @@ void CNeutrinoAPI::ZapToSubService(const char * const target)
&channel_id); &channel_id);
if (Zapit->zapTo_subServiceID(channel_id) != CZapitClient::ZAP_INVALID_PARAM) if (Zapit->zapTo_subServiceID(channel_id) != CZapitClient::ZAP_INVALID_PARAM)
Sectionsd->setServiceChanged(channel_id&0xFFFFFFFFFFFFULL, false); Sectionsd->setServiceChanged(channel_id, false);
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
t_channel_id CNeutrinoAPI::ChannelNameToChannelId(std::string search_channel_name) t_channel_id CNeutrinoAPI::ChannelNameToChannelId(std::string search_channel_name)
@@ -188,16 +187,18 @@ t_channel_id CNeutrinoAPI::ChannelNameToChannelId(std::string search_channel_nam
//int mode = Zapit->getMode(); //int mode = Zapit->getMode();
t_channel_id channel_id = (t_channel_id)-1; t_channel_id channel_id = (t_channel_id)-1;
CStringArray channel_names = ySplitStringVector(search_channel_name, ","); CStringArray channel_names = ySplitStringVector(search_channel_name, ",");
CZapitClient::BouquetChannelList *channellist = GetChannelList(CZapitClient::MODE_CURRENT);
for (tallchans_iterator it = allchans.begin(); it != allchans.end(); it++) { CZapitClient::BouquetChannelList::iterator channel = channellist->begin();
std::string channel_name = it->second.getName(); for(; channel != channellist->end();channel++)
{
std::string channel_name = channel->name;
for(unsigned int j=0;j<channel_names.size();j++) for(unsigned int j=0;j<channel_names.size();j++)
{ {
if(channel_names[j].length() == channel_name.length() && if(channel_names[j].length() == channel_name.length() &&
equal(channel_names[j].begin(), channel_names[j].end(), equal(channel_names[j].begin(), channel_names[j].end(),
channel_name.begin(), nocase_compare)) //case insensitive compare channel_name.begin(), nocase_compare)) //case insensitive compare
{ {
channel_id = it->second.channel_id; channel_id = channel->channel_id;
break; break;
} }
} }
@@ -236,15 +237,10 @@ bool CNeutrinoAPI::GetStreamInfo(int bitInfo[10])
value=strtoul(tmpptr,NULL,0); value=strtoul(tmpptr,NULL,0);
bitInfo[pos]= value; bitInfo[pos]= value;
pos++; pos++;
#if !HAVE_DB0X2
if(pos > 4) break;
#endif
} }
} }
#if !HAVE_DB0X2
bitInfo[4] = 37500; bitInfo[4] = 37500;
bitInfo[6] = 3; bitInfo[6] = 3;
#endif
fclose(fd); fclose(fd);
return true; return true;
@@ -254,8 +250,7 @@ bool CNeutrinoAPI::GetStreamInfo(int bitInfo[10])
bool CNeutrinoAPI::GetChannelEvents(void) bool CNeutrinoAPI::GetChannelEvents(void)
{ {
//eList = Sectionsd->getChannelEvents(); eList = Sectionsd->getChannelEvents();
sectionsd_getChannelEvents(eList);
CChannelEventList::iterator eventIterator; CChannelEventList::iterator eventIterator;
ChannelListEvents.clear(); ChannelListEvents.clear();
@@ -273,29 +268,21 @@ bool CNeutrinoAPI::GetChannelEvents(void)
std::string CNeutrinoAPI::GetServiceName(t_channel_id channel_id) std::string CNeutrinoAPI::GetServiceName(t_channel_id channel_id)
{ {
tallchans_iterator it = allchans.find(channel_id);
if (it != allchans.end())
it->second.getName();
#if 0
unsigned int i; unsigned int i;
for (i = 0; i < TVChannelList.size(); i++) for (i = 0; i < TVChannelList.size(); i++)
if (TVChannelList[i].channel_id == channel_id) if (TVChannelList[i].channel_id == channel_id)
return TVChannelList[i].name; return TVChannelList[i].name;
for (i = 0; i < RadioChannelList.size(); i++) for (i = 0; i < RadioChannelList.size(); i++)
if (RadioChannelList[i].channel_id == channel_id) if (RadioChannelList[i].channel_id == channel_id)
return RadioChannelList[i].name; return RadioChannelList[i].name;
#endif
return ""; return "";
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
CZapitClient::BouquetChannelList *CNeutrinoAPI::GetBouquet(unsigned int /*BouquetNr*/, int /*Mode*/) CZapitClient::BouquetChannelList *CNeutrinoAPI::GetBouquet(unsigned int BouquetNr, int Mode)
{ {
//FIXME
printf("CNeutrinoAPI::GetChannelList still used !\n");
return NULL;
#if 0
int mode; int mode;
if (Mode == CZapitClient::MODE_CURRENT) if (Mode == CZapitClient::MODE_CURRENT)
@@ -307,17 +294,12 @@ CZapitClient::BouquetChannelList *CNeutrinoAPI::GetBouquet(unsigned int /*Bouque
return &TVBouquetsList[BouquetNr]; return &TVBouquetsList[BouquetNr];
else else
return &RadioBouquetsList[BouquetNr]; return &RadioBouquetsList[BouquetNr];
#endif
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
CZapitClient::BouquetChannelList *CNeutrinoAPI::GetChannelList(int /*Mode*/) CZapitClient::BouquetChannelList *CNeutrinoAPI::GetChannelList(int Mode)
{ {
//FIXME
printf("CNeutrinoAPI::GetChannelList still used !\n");
return NULL;
#if 0
int mode; int mode;
if (Mode == CZapitClient::MODE_CURRENT) if (Mode == CZapitClient::MODE_CURRENT)
@@ -329,31 +311,24 @@ CZapitClient::BouquetChannelList *CNeutrinoAPI::GetChannelList(int /*Mode*/)
return &TVChannelList; return &TVChannelList;
else else
return &RadioChannelList; return &RadioChannelList;
#endif
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
void CNeutrinoAPI::UpdateBouquet(unsigned int BouquetNr)
void CNeutrinoAPI::UpdateBouquet(unsigned int /*BouquetNr*/)
{ {
#if 0 //FIXME
TVBouquetsList[BouquetNr].clear(); TVBouquetsList[BouquetNr].clear();
RadioBouquetsList[BouquetNr].clear(); RadioBouquetsList[BouquetNr].clear();
Zapit->getBouquetChannels(BouquetNr - 1, TVBouquetsList[BouquetNr], CZapitClient::MODE_TV, true); Zapit->getBouquetChannels(BouquetNr - 1, TVBouquetsList[BouquetNr], CZapitClient::MODE_TV);
Zapit->getBouquetChannels(BouquetNr - 1, RadioBouquetsList[BouquetNr], CZapitClient::MODE_RADIO, true); Zapit->getBouquetChannels(BouquetNr - 1, RadioBouquetsList[BouquetNr], CZapitClient::MODE_RADIO);
#endif
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
void CNeutrinoAPI::UpdateChannelList(void) void CNeutrinoAPI::UpdateChannelList(void)
{ {
#if 0
TVChannelList.clear(); TVChannelList.clear();
RadioChannelList.clear(); RadioChannelList.clear();
Zapit->getChannels(RadioChannelList, CZapitClient::MODE_RADIO, CZapitClient::SORT_BOUQUET, true); Zapit->getChannels(RadioChannelList, CZapitClient::MODE_RADIO);
Zapit->getChannels(TVChannelList, CZapitClient::MODE_TV, CZapitClient::SORT_BOUQUET, true); Zapit->getChannels(TVChannelList, CZapitClient::MODE_TV);
#endif
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------

View File

@@ -6,7 +6,7 @@
#include <string> #include <string>
// tuxbox // tuxbox
//#include <controldclient/controldclient.h> #include <controldclient/controldclient.h>
#include <eventserver.h> #include <eventserver.h>
#include <sectionsdclient/sectionsdclient.h> #include <sectionsdclient/sectionsdclient.h>
#include <timerdclient/timerdclient.h> #include <timerdclient/timerdclient.h>
@@ -28,7 +28,7 @@ bool _initialize_iso639_map(void);
class CNeutrinoAPI class CNeutrinoAPI
{ {
// Clientlibs // Clientlibs
//CControldClient *Controld; CControldClient *Controld;
CSectionsdClient *Sectionsd; CSectionsdClient *Sectionsd;
CZapitClient *Zapit; CZapitClient *Zapit;
CTimerdClient *Timerd; CTimerdClient *Timerd;
@@ -83,6 +83,7 @@ public:
CControlAPI *ControlAPI; CControlAPI *ControlAPI;
friend class CNeutrinoYParser; // Backreference friend class CNeutrinoYParser; // Backreference
friend class CNeutrinoYParserCoolstream; // Backreference
friend class CControlAPI; friend class CControlAPI;
}; };

View File

@@ -7,6 +7,7 @@
#include <iostream> #include <iostream>
#include <fstream> #include <fstream>
#include <limits> #include <limits>
#include <algorithm>
// system // system
#include <sys/types.h> //ntohs #include <sys/types.h> //ntohs
#include <netinet/in.h> //ntohs #include <netinet/in.h> //ntohs
@@ -21,22 +22,6 @@
#include "neutrinoyparser.h" #include "neutrinoyparser.h"
#include "neutrinoapi.h" #include "neutrinoapi.h"
#include <global.h>
#include <neutrino.h>
#include <system/settings.h>
#include <zapit/channel.h>
#include <zapit/bouquets.h>
extern tallchans allchans;
extern CBouquetManager *g_bouquetManager;
extern t_channel_id live_channel_id;
bool sectionsd_getNVODTimesServiceKey(const t_channel_id uniqueServiceKey, CSectionsdClient::NVODTimesList& nvod_list);
void sectionsd_getCurrentNextServiceKey(t_channel_id uniqueServiceKey, CSectionsdClient::responseGetCurrentNextInfoChannelID& current_next );
bool sectionsd_getComponentTagsUniqueKey(const event_id_t uniqueKey, CSectionsdClient::ComponentTagList& tags);
bool sectionsd_getActualEPGServiceKey(const t_channel_id uniqueServiceKey, CEPGData * epgdata);
//============================================================================= //=============================================================================
// Constructor & Destructor & Initialization // Constructor & Destructor & Initialization
//============================================================================= //=============================================================================
@@ -59,7 +44,7 @@ THandleStatus CNeutrinoYParser::Hook_SendResponse(CyhookHandler *hh)
{ {
hh->status = HANDLED_NONE; hh->status = HANDLED_NONE;
// log_level_printf(4,"Neutrinoparser Hook Start url:%s\n",hh->UrlData["url"].c_str()); log_level_printf(4,"Neutrinoparser Hook Start url:%s\n",hh->UrlData["url"].c_str());
init(hh); init(hh);
CNeutrinoYParser *yP = new CNeutrinoYParser(NeutrinoAPI); // create a Session CNeutrinoYParser *yP = new CNeutrinoYParser(NeutrinoAPI); // create a Session
@@ -74,7 +59,7 @@ THandleStatus CNeutrinoYParser::Hook_SendResponse(CyhookHandler *hh)
delete yP; delete yP;
// log_level_printf(4,"Neutrinoparser Hook Ende status:%d\n",(int)hh->status); log_level_printf(4,"Neutrinoparser Hook Ende status:%d\n",(int)hh->status);
// log_level_printf(5,"Neutrinoparser Hook Result:%s\n",hh->yresult.c_str()); // log_level_printf(5,"Neutrinoparser Hook Result:%s\n",hh->yresult.c_str());
return hh->status; return hh->status;
@@ -89,6 +74,15 @@ THandleStatus CNeutrinoYParser::Hook_ReadConfig(CConfigFile *Config, CStringList
ConfigList["ExtrasDocumentURL"] = Config->getString("ExtrasDocURL", EXTRASDOCUMENTURL); ConfigList["ExtrasDocumentURL"] = Config->getString("ExtrasDocURL", EXTRASDOCUMENTURL);
// ConfigList["NewGui"] = Config->getString("NewGui", "true"); // ConfigList["NewGui"] = Config->getString("NewGui", "true");
ConfigList["Zapit_XML_Path"] = Config->getString("Zapit_XML_Path", ZAPITXMLPATH); ConfigList["Zapit_XML_Path"] = Config->getString("Zapit_XML_Path", ZAPITXMLPATH);
ConfigList["TUXBOX_LOGOS_URL"]= Config->getString("Tuxbox.LogosURL", TUXBOX_LOGOS_URL);
if (Config->getInt32("configfile.version") < 3)
{
Config->setString("Tuxbox.LogosURL", Config->getString("ExtrasDocURL", EXTRASDOCUMENTURL) +"/logos");
Config->setInt32("configfile.version", CONF_VERSION);
Config->saveConfig(HTTPD_CONFIGFILE);
}
return HANDLED_CONTINUE; return HANDLED_CONTINUE;
} }
@@ -147,7 +141,7 @@ std::string CNeutrinoYParser::YWeb_cgi_func(CyhookHandler *hh, std::string ycmd
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : mount_get_list // y-func : mount_get_list
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_mount_get_list(CyhookHandler */*hh*/, std::string /*para*/) std::string CNeutrinoYParser::func_mount_get_list(CyhookHandler *, std::string)
{ {
CConfigFile *Config = new CConfigFile(','); CConfigFile *Config = new CConfigFile(',');
std::string ysel, ytype, yip, ylocal_dir, ydir, ynr, yresult; std::string ysel, ytype, yip, ylocal_dir, ydir, ynr, yresult;
@@ -176,7 +170,7 @@ std::string CNeutrinoYParser::func_mount_get_list(CyhookHandler */*hh*/, std::s
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : mount_set_values // y-func : mount_set_values
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_mount_set_values(CyhookHandler *hh, std::string /*para*/) std::string CNeutrinoYParser::func_mount_set_values(CyhookHandler *hh, std::string)
{ {
CConfigFile *Config = new CConfigFile(','); CConfigFile *Config = new CConfigFile(',');
std::string ynr, yresult; std::string ynr, yresult;
@@ -201,32 +195,20 @@ std::string CNeutrinoYParser::func_mount_set_values(CyhookHandler *hh, std::str
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : get_bouquets_as_dropdown [<bouquet>] <doshowhidden> // y-func : get_bouquets_as_dropdown [<bouquet>] <doshowhidden>
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_bouquets_as_dropdown(CyhookHandler */*hh*/, std::string para) std::string CNeutrinoYParser::func_get_bouquets_as_dropdown(CyhookHandler *, std::string para)
{ {
std::string ynr, yresult, sel, nr_str, do_show_hidden; std::string ynr, yresult, sel, nr_str, do_show_hidden;
int nr=1; unsigned int nr=1;
ySplitString(para," ",nr_str, do_show_hidden); ySplitString(para," ",nr_str, do_show_hidden);
if(nr_str != "") if(nr_str != "")
nr = atoi(nr_str.c_str()); nr = atoi(nr_str.c_str());
int mode = NeutrinoAPI->Zapit->getMode();
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) {
ZapitChannelList * channels = mode == CZapitClient::MODE_RADIO ? &g_bouquetManager->Bouquets[i]->radioChannels : &g_bouquetManager->Bouquets[i]->tvChannels;
sel=(nr==(i+1)) ? "selected=\"selected\"" : "";
if(!channels->empty() && (!g_bouquetManager->Bouquets[i]->bHidden || do_show_hidden == "true"))
yresult += string_printf("<option value=%u %s>%s</option>\n", i + 1, sel.c_str(),
(encodeString(std::string(g_bouquetManager->Bouquets[i]->bFav ? g_Locale->getText(LOCALE_FAVORITES_BOUQUETNAME) :g_bouquetManager->Bouquets[i]->Name.c_str()))).c_str());
//yresult += string_printf("<option value=%u %s>%s</option>\n", i + 1, sel.c_str(), (encodeString(std::string(g_bouquetManager->Bouquets[i]->Name.c_str()))).c_str());
}
#if 0
for (unsigned int i = 0; i < NeutrinoAPI->BouquetList.size();i++) for (unsigned int i = 0; i < NeutrinoAPI->BouquetList.size();i++)
{ {
sel=(nr==(i+1)) ? "selected=\"selected\"" : ""; sel=(nr==(i+1)) ? "selected=\"selected\"" : "";
if(!NeutrinoAPI->BouquetList[i].hidden || do_show_hidden == "true") if(!NeutrinoAPI->BouquetList[i].hidden || do_show_hidden == "true")
yresult += string_printf("<option value=%u %s>%s</option>\n", (NeutrinoAPI->BouquetList[i].bouquet_nr) + 1, sel.c_str(), (encodeString(std::string(NeutrinoAPI->BouquetList[i].name))).c_str()); yresult += string_printf("<option value=%u %s>%s</option>\n", (NeutrinoAPI->BouquetList[i].bouquet_nr) + 1, sel.c_str(), (encodeString(std::string(NeutrinoAPI->BouquetList[i].name))).c_str());
} }
#endif
return yresult; return yresult;
} }
@@ -234,19 +216,13 @@ std::string CNeutrinoYParser::func_get_bouquets_as_dropdown(CyhookHandler */*hh
// y-func : get_bouquets_as_templatelist <tempalte> [~<do_show_hidden>] // y-func : get_bouquets_as_templatelist <tempalte> [~<do_show_hidden>]
// TODO: select actual Bouquet // TODO: select actual Bouquet
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_bouquets_as_templatelist(CyhookHandler */*hh*/, std::string para) std::string CNeutrinoYParser::func_get_bouquets_as_templatelist(CyhookHandler *, std::string para)
{ {
std::string yresult, ytemplate, do_show_hidden; std::string yresult, ytemplate, do_show_hidden;
log_level_printf(4,"func_get_bouquets_as_templatelist STARt\n");
ySplitString(para,"~",ytemplate, do_show_hidden); ySplitString(para,"~",ytemplate, do_show_hidden);
//ytemplate += "\n"; //FIXME add newline to printf //ytemplate += "\n"; //FIXME add newline to printf
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) {
if(!g_bouquetManager->Bouquets[i]->bHidden || do_show_hidden == "true") {
yresult += string_printf(ytemplate.c_str(), i + 1, g_bouquetManager->Bouquets[i]->bFav ? g_Locale->getText(LOCALE_FAVORITES_BOUQUETNAME) : g_bouquetManager->Bouquets[i]->Name.c_str());
yresult += "\r\n";
}
}
#if 0
for (unsigned int i = 0; i < NeutrinoAPI->BouquetList.size();i++) for (unsigned int i = 0; i < NeutrinoAPI->BouquetList.size();i++)
{ {
if(!NeutrinoAPI->BouquetList[i].hidden || do_show_hidden == "true") if(!NeutrinoAPI->BouquetList[i].hidden || do_show_hidden == "true")
@@ -255,22 +231,27 @@ std::string CNeutrinoYParser::func_get_bouquets_as_templatelist(CyhookHandler *
yresult += "\r\n"; yresult += "\r\n";
} }
} }
#endif log_level_printf(4,"func_get_bouquets_as_templatelist END\n");
return yresult; return yresult;
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : get_actual_bouquet_number // y-func : get_actual_bouquet_number
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_actual_bouquet_number(CyhookHandler */*hh*/, std::string /*para*/) std::string CNeutrinoYParser::func_get_actual_bouquet_number(CyhookHandler *, std::string)
{ {
//CZapitClient::BouquetChannelList *bouquet;
//int mode = CZapitClient::MODE_CURRENT;
int actual=0; int actual=0;
CZapitClient::BouquetChannelList *bouquet;
int mode = CZapitClient::MODE_CURRENT;
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) { for (unsigned int i = 0; i < NeutrinoAPI->BouquetList.size() && actual == 0;i++)
if(g_bouquetManager->existsChannelInBouquet(i, live_channel_id)) { {
actual=i+1; bouquet = NeutrinoAPI->GetBouquet((NeutrinoAPI->BouquetList[i].bouquet_nr) + 1, mode);
break; CZapitClient::BouquetChannelList::iterator channel = bouquet->begin();
for (unsigned int j = 0; channel != bouquet->end() && actual == 0; channel++,j++)
{
if(channel->channel_id == NeutrinoAPI->Zapit->getCurrentServiceID())
actual=i+1;
} }
} }
return std::string(itoa(actual)); return std::string(itoa(actual));
@@ -279,32 +260,32 @@ std::string CNeutrinoYParser::func_get_actual_bouquet_number(CyhookHandler */*h
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : get_channel_dropdown [<bouquet_nr> [<channel_id>]] // y-func : get_channel_dropdown [<bouquet_nr> [<channel_id>]]
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_channels_as_dropdown(CyhookHandler */*hh*/, std::string para) std::string CNeutrinoYParser::func_get_channels_as_dropdown(CyhookHandler *, std::string para)
{ {
CZapitClient::BouquetChannelList *bouquet;
CZapitClient::BouquetList blist;
std::string abouquet, achannel_id, yresult, sel, sid; std::string abouquet, achannel_id, yresult, sel, sid;
int bnumber = 1; int bnumber = 1;
//int mode = CZapitClient::MODE_CURRENT; int mode = CZapitClient::MODE_CURRENT;
int mode = NeutrinoAPI->Zapit->getMode();
ySplitString(para," ",abouquet, achannel_id); ySplitString(para," ",abouquet, achannel_id);
if(abouquet != "") if(abouquet != "")
bnumber = atoi(abouquet.c_str()); bnumber = atoi(abouquet.c_str());
if(bnumber != 0) //Bouquet View
{
bouquet = NeutrinoAPI->GetBouquet(bnumber, mode);
CZapitClient::BouquetChannelList::iterator channel = bouquet->begin();
CEPGData epg;
if(bnumber > 0) { for (unsigned int i = 0; channel != bouquet->end(); channel++,i++)
bnumber--; {
ZapitChannelList channels; sid = string_printf(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS,channel->channel_id);
channels = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->Bouquets[bnumber]->radioChannels : g_bouquetManager->Bouquets[bnumber]->tvChannels; sel = (sid == achannel_id) ? "selected=\"selected\"" : "";
for(int j = 0; j < (int) channels.size(); j++) { NeutrinoAPI->Sectionsd->getActualEPGServiceKey(channel->channel_id, &epg);
CEPGData epg; std::string encoded_channel_name = encodeString(std::string(channel->name).substr(0,19));
CZapitChannel * channel = channels[j]; std::string encoded_title = encodeString((epg.title).substr(0,29));
char buf[100],id[20]; yresult += string_printf("<option value="PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS" %s>%s - %s</option>\n", channel->channel_id, sel.c_str(), encoded_channel_name.c_str(),encoded_title.c_str());
sprintf(id,PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS,channel->channel_id);
std::string _sid = std::string(id);
sel = (_sid == achannel_id) ? "selected=\"selected\"" : "";
sectionsd_getActualEPGServiceKey(channel->channel_id&0xFFFFFFFFFFFFULL, &epg);
sprintf(buf,"<option value="PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS" %s>%.20s - %.30s</option>\n", channel->channel_id, sel.c_str(), channel->getName().c_str(),epg.title.c_str());
yresult += buf;
} }
} }
return yresult; return yresult;
@@ -317,45 +298,31 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
{ {
int BouquetNr = 0; int BouquetNr = 0;
std::string abnumber, tmp,yresult; std::string abnumber, tmp,yresult;
//CZapitClient::BouquetChannelList *channellist; CZapitClient::BouquetChannelList *channellist;
ZapitChannelList channels;
int num;
int mode = NeutrinoAPI->Zapit->getMode();
ySplitString(para," ",abnumber, tmp); ySplitString(para," ",abnumber, tmp);
if(abnumber != "") if(abnumber != "")
BouquetNr = atoi(abnumber.c_str()); BouquetNr = atoi(abnumber.c_str());
if (BouquetNr > 0) { if (BouquetNr > 0)
BouquetNr--; channellist = NeutrinoAPI->GetBouquet(BouquetNr, CZapitClient::MODE_CURRENT);
channels = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->Bouquets[BouquetNr]->radioChannels : g_bouquetManager->Bouquets[BouquetNr]->tvChannels; else
num = 1 + (mode == CZapitClient::MODE_RADIO ? g_bouquetManager->radioChannelsBegin().getNrofFirstChannelofBouquet(BouquetNr) : g_bouquetManager->tvChannelsBegin().getNrofFirstChannelofBouquet(BouquetNr)) ; channellist = NeutrinoAPI->GetChannelList(CZapitClient::MODE_CURRENT);
} else {
CBouquetManager::ChannelIterator cit = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->radioChannelsBegin() : g_bouquetManager->tvChannelsBegin();
for (; !(cit.EndOfChannels()); cit++)
channels.push_back(*cit);
num = 1;
}
NeutrinoAPI->GetChannelEvents(); NeutrinoAPI->GetChannelEvents();
int i = 1; int i = 1;
char classname; char classname;
t_channel_id current_channel = live_channel_id; //NeutrinoAPI->Zapit->getCurrentServiceID(); t_channel_id current_channel = NeutrinoAPI->Zapit->getCurrentServiceID();
int prozent; int prozent;
CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo; CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo;
std::string timestr; std::string timestr;
bool have_logos = false; bool have_logos = false;
if(hh->WebserverConfigList["ExtrasDocumentRoot"] == "web" || (access((hh->WebserverConfigList["ExtrasDocumentRoot"]+"/logos").c_str(),4)==0) ) if(hh->WebserverConfigList["TUXBOX_LOGOS_URL"] != "" ||hh->WebserverConfigList["ExtrasDocumentRoot"] == "web" || (access((hh->WebserverConfigList["ExtrasDocumentRoot"]+"/logos").c_str(),4)==0) )
have_logos = true; have_logos = true;
CZapitClient::BouquetChannelList::iterator channel = channellist->begin();
//CZapitClient::BouquetChannelList::iterator channel = channellist->begin(); for (; channel != channellist->end();channel++)
//for (; channel != channellist->end();channel++)
for(int j = 0; j < (int) channels.size(); j++)
{ {
CZapitChannel * channel = channels[j];
#if 1
CChannelEvent *event; CChannelEvent *event;
event = NeutrinoAPI->ChannelListEvents[channel->channel_id]; event = NeutrinoAPI->ChannelListEvents[channel->channel_id];
@@ -368,12 +335,11 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
if(have_logos) if(have_logos)
yresult += string_printf("<td class=\"%c\" width=\"44\" rowspan=\"2\"><a href=\"javascript:do_zap('" yresult += string_printf("<td class=\"%c\" width=\"44\" rowspan=\"2\"><a href=\"javascript:do_zap('"
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
"')\"><img class=\"channel_logo\" src=\"%s/logos/" "')\"><img class=\"channel_logo\" src=\"%s/"
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
".jpg\"/></a></td>", classname, channel->channel_id, ".gif\" alt=\"%s\"/></a></td>", classname, channel->channel_id,
(hh->WebserverConfigList["ExtrasDocumentURL"]).c_str(), (hh->WebserverConfigList["TUXBOX_LOGOS_URL"]).c_str(),
channel->channel_id & 0xFFFFFFFFFFFFULL); channel->channel_id, channel->name);
/* timer slider */ /* timer slider */
if(event && event->duration > 0) if(event && event->duration > 0)
prozent = 100 * (time(NULL) - event->startTime) / event->duration; prozent = 100 * (time(NULL) - event->startTime) / event->duration;
@@ -399,9 +365,9 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
"')\">%s</a>\n", "')\">%s</a>\n",
((channel->channel_id == current_channel) ? "<a name=\"akt\"></a>" : " "), ((channel->channel_id == current_channel) ? "<a name=\"akt\"></a>" : " "),
channel->channel_id, channel->channel_id,
num + j /*channel->nr*/, channel->nr,
channel->getName().c_str(), channel->name,
(channel->getServiceType() == ST_NVOD_REFERENCE_SERVICE) ? " (NVOD)" : "", (channel->service_type == ST_NVOD_REFERENCE_SERVICE) ? " (NVOD)" : "",
channel->channel_id, channel->channel_id,
((NeutrinoAPI->ChannelListEvents[channel->channel_id]) ? "<img src=\"/images/elist.gif\" alt=\"Programmvorschau\" style=\"border: 0px\" />" : "")); ((NeutrinoAPI->ChannelListEvents[channel->channel_id]) ? "<img src=\"/images/elist.gif\" alt=\"Programmvorschau\" style=\"border: 0px\" />" : ""));
@@ -410,13 +376,10 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
yresult += string_printf("</td></tr></table>\n</td>\n</tr>\n"); yresult += string_printf("</td></tr></table>\n</td>\n</tr>\n");
if (channel->service_type == ST_NVOD_REFERENCE_SERVICE)
if (channel->getServiceType() == ST_NVOD_REFERENCE_SERVICE)
{ {
CSectionsdClient::NVODTimesList nvod_list; CSectionsdClient::NVODTimesList nvod_list;
if (NeutrinoAPI->Sectionsd->getNVODTimesServiceKey(channel->channel_id, nvod_list))
//if (NeutrinoAPI->Sectionsd->getNVODTimesServiceKey(channel->channel_id&0xFFFFFFFFFFFFULL, nvod_list))
if (sectionsd_getNVODTimesServiceKey(channel->channel_id&0xFFFFFFFFFFFFULL, nvod_list))
{ {
CZapitClient::subServiceList subServiceList; CZapitClient::subServiceList subServiceList;
@@ -433,10 +396,7 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
t_channel_id channel_id = CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(cmd.service_id, cmd.original_network_id, cmd.transport_stream_id); t_channel_id channel_id = CREATE_CHANNEL_ID_FROM_SERVICE_ORIGINALNETWORK_TRANSPORTSTREAM_ID(cmd.service_id, cmd.original_network_id, cmd.transport_stream_id);
timestr = timeString(ni->zeit.startzeit); // FIXME: time is wrong (at least on little endian)! timestr = timeString(ni->zeit.startzeit); // FIXME: time is wrong (at least on little endian)!
NeutrinoAPI->Sectionsd->getActualEPGServiceKey(channel_id, &epg); // FIXME: der scheissendreck geht nit!!!
//NeutrinoAPI->Sectionsd->getActualEPGServiceKey(channel_id&0xFFFFFFFFFFFFULL, &epg); // FIXME: der scheissendreck geht nit!!!
sectionsd_getActualEPGServiceKey(channel_id&0xFFFFFFFFFFFFULL, &epg); // FIXME: der scheissendreck geht nit!!!
yresult += string_printf("<tr>\n<td align=\"left\" style=\"width: 31px\" class=\"%cepg\">&nbsp;</td>", classname); yresult += string_printf("<tr>\n<td align=\"left\" style=\"width: 31px\" class=\"%cepg\">&nbsp;</td>", classname);
yresult += string_printf("<td class=\"%cepg\">%s&nbsp;", classname, timestr.c_str()); yresult += string_printf("<td class=\"%cepg\">%s&nbsp;", classname, timestr.c_str());
yresult += string_printf("%s<a href=\"javascript:do_zap('" yresult += string_printf("%s<a href=\"javascript:do_zap('"
@@ -461,9 +421,7 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
else if ((event = NeutrinoAPI->ChannelListEvents[channel->channel_id])) else if ((event = NeutrinoAPI->ChannelListEvents[channel->channel_id]))
{ {
//bool has_current_next = NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(channel->channel_id&0xFFFFFFFFFFFFULL, currentNextInfo); bool has_current_next = NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(channel->channel_id, currentNextInfo);
bool has_current_next = true;
sectionsd_getCurrentNextServiceKey(channel->channel_id&0xFFFFFFFFFFFFULL, currentNextInfo);
timestr = timeString(event->startTime); timestr = timeString(event->startTime);
yresult += string_printf("<tr><td class=\"%cepg\">",classname); yresult += string_printf("<tr><td class=\"%cepg\">",classname);
@@ -483,7 +441,6 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
} }
else else
yresult += string_printf("<tr style=\"height: 2px\"><td></td></tr>\n"); yresult += string_printf("<tr style=\"height: 2px\"><td></td></tr>\n");
#endif
} }
return yresult; return yresult;
} }
@@ -491,14 +448,14 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : get_actual_channel_id // y-func : get_actual_channel_id
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_actual_channel_id(CyhookHandler */*hh*/, std::string /*para*/) std::string CNeutrinoYParser::func_get_actual_channel_id(CyhookHandler *, std::string)
{ {
return string_printf(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, live_channel_id /*NeutrinoAPI->Zapit->getCurrentServiceID()*/); return string_printf(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS,NeutrinoAPI->Zapit->getCurrentServiceID());
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : get_mode (returns tv|radio|unknown) // y-func : get_mode (returns tv|radio|unknown)
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_mode(CyhookHandler */*hh*/, std::string /*para*/) std::string CNeutrinoYParser::func_get_mode(CyhookHandler *, std::string)
{ {
std::string yresult; std::string yresult;
int mode = NeutrinoAPI->Zapit->getMode(); int mode = NeutrinoAPI->Zapit->getMode();
@@ -515,7 +472,7 @@ std::string CNeutrinoYParser::func_get_mode(CyhookHandler */*hh*/, std::string
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : get_video_pids (para=audio channel, returns: 0x0000,0x0000,0x0000) // y-func : get_video_pids (para=audio channel, returns: 0x0000,0x0000,0x0000)
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_video_pids(CyhookHandler */*hh*/, std::string para) std::string CNeutrinoYParser::func_get_video_pids(CyhookHandler *, std::string para)
{ {
CZapitClient::responseGetPIDs pids; CZapitClient::responseGetPIDs pids;
int apid=0,apid_no=0,apid_idx=0; int apid=0,apid_no=0,apid_idx=0;
@@ -534,7 +491,7 @@ std::string CNeutrinoYParser::func_get_video_pids(CyhookHandler */*hh*/, std::s
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : get_radio_pids (returns: 0x0000) // y-func : get_radio_pids (returns: 0x0000)
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_radio_pid(CyhookHandler */*hh*/, std::string /*para*/) std::string CNeutrinoYParser::func_get_radio_pid(CyhookHandler *, std::string)
{ {
CZapitClient::responseGetPIDs pids; CZapitClient::responseGetPIDs pids;
int apid=0; int apid=0;
@@ -550,7 +507,7 @@ std::string CNeutrinoYParser::func_get_radio_pid(CyhookHandler */*hh*/, std::st
// y-func : get_audio_pids_as_dropdown (from controlapi) // y-func : get_audio_pids_as_dropdown (from controlapi)
// prara: [apid] option value = apid-Value. Default apid-Index // prara: [apid] option value = apid-Value. Default apid-Index
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_audio_pids_as_dropdown(CyhookHandler */*hh*/, std::string para) std::string CNeutrinoYParser::func_get_audio_pids_as_dropdown(CyhookHandler *, std::string para)
{ {
std::string yresult; std::string yresult;
static bool init_iso=true; static bool init_iso=true;
@@ -570,12 +527,10 @@ std::string CNeutrinoYParser::func_get_audio_pids_as_dropdown(CyhookHandler */*
pids.PIDs.vpid=0; pids.PIDs.vpid=0;
NeutrinoAPI->Zapit->getPIDS(pids); NeutrinoAPI->Zapit->getPIDS(pids);
t_channel_id current_channel = live_channel_id; //NeutrinoAPI->Zapit->getCurrentServiceID(); t_channel_id current_channel = NeutrinoAPI->Zapit->getCurrentServiceID();
CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo; CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo;
//NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel&0xFFFFFFFFFFFFULL, currentNextInfo); NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
sectionsd_getCurrentNextServiceKey(current_channel&0xFFFFFFFFFFFFULL, currentNextInfo); if (NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
//if (NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
if (sectionsd_getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
{ {
for (unsigned int i=0; i< tags.size(); i++) for (unsigned int i=0; i< tags.size(); i++)
{ {
@@ -625,7 +580,7 @@ std::string CNeutrinoYParser::func_get_audio_pids_as_dropdown(CyhookHandler */*
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : build umount list // y-func : build umount list
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_unmount_get_list(CyhookHandler */*hh*/, std::string /*para*/) std::string CNeutrinoYParser::func_unmount_get_list(CyhookHandler *, std::string)
{ {
std::string ysel, ymount, ylocal_dir, yfstype, ynr, yresult, mounts; std::string ysel, ymount, ylocal_dir, yfstype, ynr, yresult, mounts;
@@ -653,7 +608,7 @@ std::string CNeutrinoYParser::func_unmount_get_list(CyhookHandler */*hh*/, std:
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : build partition list // y-func : build partition list
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_partition_list(CyhookHandler */*hh*/, std::string /*para*/) std::string CNeutrinoYParser::func_get_partition_list(CyhookHandler *, std::string)
{ {
std::string ysel, ymtd, yname, dummy, yresult; std::string ysel, ymtd, yname, dummy, yresult;
char ytmp[200]; char ytmp[200];
@@ -680,15 +635,14 @@ std::string CNeutrinoYParser::func_get_partition_list(CyhookHandler */*hh*/, st
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : get boxtypetext (Nokia, Philips, Sagem) // y-func : get boxtypetext (Nokia, Philips, Sagem)
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_boxtype(CyhookHandler * /*hh*/, std::string /*para*/) std::string CNeutrinoYParser::func_get_boxtype(CyhookHandler *, std::string)
{ {
return "Coolstream";//FIXME return NeutrinoAPI->Dbox_Hersteller[NeutrinoAPI->Controld->getBoxType()];
//return NeutrinoAPI->Dbox_Hersteller[NeutrinoAPI->Controld->getBoxType()];
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// y-func : get stream info // y-func : get stream info
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_current_stream_info(CyhookHandler *hh, std::string /*para*/) std::string CNeutrinoYParser::func_get_current_stream_info(CyhookHandler *hh, std::string)
{ {
int bitInfo[10]; int bitInfo[10];
CZapitClient::CCurrentServiceInfo serviceinfo; CZapitClient::CCurrentServiceInfo serviceinfo;
@@ -703,7 +657,7 @@ std::string CNeutrinoYParser::func_get_current_stream_info(CyhookHandler *hh, s
hh->ParamList["pmtpid"] = (serviceinfo.pmtpid != 0)?itoh(serviceinfo.pmtpid):"nicht verf&uuml;gbar"; hh->ParamList["pmtpid"] = (serviceinfo.pmtpid != 0)?itoh(serviceinfo.pmtpid):"nicht verf&uuml;gbar";
hh->ParamList["tsfrequency"] = string_printf("%d.%d MHz", serviceinfo.tsfrequency/1000, serviceinfo.tsfrequency%1000); hh->ParamList["tsfrequency"] = string_printf("%d.%d MHz", serviceinfo.tsfrequency/1000, serviceinfo.tsfrequency%1000);
hh->ParamList["polarisation"] = serviceinfo.polarisation==1?"h":"v"; hh->ParamList["polarisation"] = serviceinfo.polarisation==1?"h":"v";
hh->ParamList["ServiceName"] = NeutrinoAPI->GetServiceName(live_channel_id);//NeutrinoAPI->Zapit->getCurrentServiceID()); hh->ParamList["ServiceName"] = NeutrinoAPI->GetServiceName(NeutrinoAPI->Zapit->getCurrentServiceID());
NeutrinoAPI->GetStreamInfo(bitInfo); NeutrinoAPI->GetStreamInfo(bitInfo);
hh->ParamList["VideoFormat"] = string_printf("%d x %d", bitInfo[0], bitInfo[1] ); hh->ParamList["VideoFormat"] = string_printf("%d x %d", bitInfo[0], bitInfo[1] );
@@ -747,7 +701,7 @@ std::string CNeutrinoYParser::func_get_current_stream_info(CyhookHandler *hh, s
// Template 1:classname, 2:zAlarmTime, 3: zStopTime, 4:zRep, 5:zRepCouunt // Template 1:classname, 2:zAlarmTime, 3: zStopTime, 4:zRep, 5:zRepCouunt
// 6:zType, 7:sAddData, 8:timer->eventID, 9:timer->eventID // 6:zType, 7:sAddData, 8:timer->eventID, 9:timer->eventID
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_get_timer_list(CyhookHandler */*hh*/, std::string para) std::string CNeutrinoYParser::func_get_timer_list(CyhookHandler *, std::string para)
{ {
std::string yresult; std::string yresult;
CTimerd::TimerList timerlist; // List of bouquets CTimerd::TimerList timerlist; // List of bouquets
@@ -800,8 +754,7 @@ std::string CNeutrinoYParser::func_get_timer_list(CyhookHandler */*hh*/, std::s
case CTimerd::TIMER_ZAPTO : case CTimerd::TIMER_ZAPTO :
case CTimerd::TIMER_RECORD : case CTimerd::TIMER_RECORD :
{ {
//sAddData = NeutrinoAPI->Zapit->getChannelName(timer->channel_id); sAddData = ZapitTools::UTF8_to_Latin1(NeutrinoAPI->Zapit->getChannelName(timer->channel_id).c_str());
sAddData = NeutrinoAPI->GetServiceName(timer->channel_id);
if (sAddData.empty()) if (sAddData.empty())
sAddData = NeutrinoAPI->Zapit->isChannelTVChannel(timer->channel_id) ? "Unbekannter TV-Kanal" : "Unbekannter Radiokanal"; sAddData = NeutrinoAPI->Zapit->isChannelTVChannel(timer->channel_id) ? "Unbekannter TV-Kanal" : "Unbekannter Radiokanal";
@@ -932,12 +885,11 @@ std::string CNeutrinoYParser::func_set_timer_form(CyhookHandler *hh, std::strin
{ {
if(i!=(int)CTimerd::TIMER_NEXTPROGRAM) if(i!=(int)CTimerd::TIMER_NEXTPROGRAM)
{ {
std::string _sel;
std::string zType = NeutrinoAPI->timerEventType2Str((CTimerd::CTimerEventTypes) i); std::string zType = NeutrinoAPI->timerEventType2Str((CTimerd::CTimerEventTypes) i);
if(cmd != "new") if(cmd != "new")
_sel = (i==(int)timer.eventType) ? "selected=\"selected\"" : ""; sel = (i==(int)timer.eventType) ? "selected=\"selected\"" : "";
else else
_sel = (i==(int)CTimerd::TIMER_RECORD) ? "selected=\"selected\"" : ""; sel = (i==(int)CTimerd::TIMER_RECORD) ? "selected=\"selected\"" : "";
hh->ParamList["timertype"] += hh->ParamList["timertype"] +=
string_printf("<option value=\"%d\" %s>%s\n",i,sel.c_str(),zType.c_str()); string_printf("<option value=\"%d\" %s>%s\n",i,sel.c_str(),zType.c_str());
} }
@@ -976,53 +928,32 @@ std::string CNeutrinoYParser::func_set_timer_form(CyhookHandler *hh, std::strin
hh->ParamList["TIMERREPEAT_ONCE"] = "y"; hh->ParamList["TIMERREPEAT_ONCE"] = "y";
hh->ParamList["timer_repeatCount"] = itoa(timer.repeatCount); hh->ParamList["timer_repeatCount"] = itoa(timer.repeatCount);
t_channel_id current_channel = (cmd == "new") ? live_channel_id /*NeutrinoAPI->Zapit->getCurrentServiceID()*/ : timer.channel_id;
CBouquetManager::ChannelIterator cit = g_bouquetManager->tvChannelsBegin();
for (; !(cit.EndOfChannels()); cit++) {
std::string _sel = ((*cit)->channel_id == current_channel) ? "selected=\"selected\"" : "";
hh->ParamList["program_row"] +=
string_printf("<option value=\""
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
"\" %s>%s</option>\n",
(*cit)->channel_id, _sel.c_str(), (*cit)->getName().c_str());
}
cit = g_bouquetManager->radioChannelsBegin();
for (; !(cit.EndOfChannels()); cit++) {
std::string _sel = ((*cit)->channel_id == current_channel) ? "selected=\"selected\"" : "";
hh->ParamList["program_row"] +=
string_printf("<option value=\""
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
"\" %s>%s</option>\n",
(*cit)->channel_id, _sel.c_str(), (*cit)->getName().c_str());
}
#if 0
// program row // program row
CZapitClient::BouquetChannelList channellist; CZapitClient::BouquetChannelList channellist;
channellist.clear(); channellist.clear();
NeutrinoAPI->Zapit->getChannels(channellist,CZapitClient::MODE_TV, CZapitClient::SORT_BOUQUET, true); NeutrinoAPI->Zapit->getChannels(channellist,CZapitClient::MODE_TV);
t_channel_id current_channel = (cmd == "new") ? NeutrinoAPI->Zapit->getCurrentServiceID() : timer.channel_id;
CZapitClient::BouquetChannelList::iterator channel = channellist.begin(); CZapitClient::BouquetChannelList::iterator channel = channellist.begin();
for(; channel != channellist.end();channel++) for(; channel != channellist.end();channel++)
{ {
std::string sel = (channel->channel_id == current_channel) ? "selected=\"selected\"" : ""; sel = (channel->channel_id == current_channel) ? "selected=\"selected\"" : "";
hh->ParamList["program_row"] += hh->ParamList["program_row"] +=
string_printf("<option value=\"" string_printf("<option value=\""
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
"\" %s>%s</option>\n", "\" %s>%s</option>\n",
channel->channel_id, sel.c_str(), channel->getName()); channel->channel_id, sel.c_str(), channel->name);
} }
channellist.clear(); channellist.clear();
NeutrinoAPI->Zapit->getChannels(channellist,CZapitClient::MODE_RADIO, CZapitClient::SORT_BOUQUET, true); NeutrinoAPI->Zapit->getChannels(channellist,CZapitClient::MODE_RADIO);
for (channel = channellist.begin(); channel != channellist.end(); channel++) for (channel = channellist.begin(); channel != channellist.end(); channel++)
{ {
std::string sel = (channel->channel_id == current_channel) ? "selected=\"selected\"" : ""; sel = (channel->channel_id == current_channel) ? "selected=\"selected\"" : "";
hh->ParamList["program_row"] += hh->ParamList["program_row"] +=
string_printf("<option value=\"" string_printf("<option value=\""
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
"\" %s>%s</option>\n", "\" %s>%s</option>\n",
channel->channel_id, sel.c_str(), channel->getName()); channel->channel_id, sel.c_str(), channel->name);
} }
#endif
// recordingDir // recordingDir
hh->ParamList["RECORD_DIR_MAXLEN"] = itoa(RECORD_DIR_MAXLEN-1); hh->ParamList["RECORD_DIR_MAXLEN"] = itoa(RECORD_DIR_MAXLEN-1);
if(cmd != "new") { if(cmd != "new") {
@@ -1035,7 +966,7 @@ std::string CNeutrinoYParser::func_set_timer_form(CyhookHandler *hh, std::strin
CConfigFile *Config = new CConfigFile(','); CConfigFile *Config = new CConfigFile(',');
Config->loadConfig(NEUTRINO_CONFIGFILE); Config->loadConfig(NEUTRINO_CONFIGFILE);
hh->ParamList["timer_recordingDir"] = Config->getString("network_nfs_recordingdir", "/mnt/filme"); hh->ParamList["timer_recordingDir"] = Config->getString("network_nfs_recordingdir", "/mnt/filme");
delete Config;//Memory leak: Config delete Config;
} }
hh->ParamList["standby"] = (cmd == "new")? "0" : ((timer.standby_on)?"1":"0"); hh->ParamList["standby"] = (cmd == "new")? "0" : ((timer.standby_on)?"1":"0");
hh->ParamList["message"] = (cmd == "new")? "" : timer.message; hh->ParamList["message"] = (cmd == "new")? "" : timer.message;
@@ -1057,36 +988,41 @@ std::string CNeutrinoYParser::func_bouquet_editor_main(CyhookHandler *hh, std::
if (hh->ParamList["selected"] != "") if (hh->ParamList["selected"] != "")
selected = atoi(hh->ParamList["selected"].c_str()); selected = atoi(hh->ParamList["selected"].c_str());
int bouquetSize = (int) g_bouquetManager->Bouquets.size(); // List of all bouquets
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) { CZapitClient::BouquetList AllBouquetList;
CZapitBouquet * bouquet = g_bouquetManager->Bouquets[i]; NeutrinoAPI->Zapit->getBouquets(AllBouquetList, true, true); // UTF-8
CZapitClient::BouquetList::iterator bouquet = AllBouquetList.begin();
char classname = ((i & 1) == 0) ? 'a' : 'b'; unsigned int bouquetSize = AllBouquetList.size();
classname = (selected == (int) i + 1)?'c':classname;
std::string akt = (selected == (int) (i + 1)) ? "<a name=\"akt\"></a>" : ""; for(; bouquet != AllBouquetList.end();bouquet++)
{
char classname = ((bouquet->bouquet_nr & 1) == 0) ? 'a' : 'b';
classname = (selected == (int) bouquet->bouquet_nr + 1)?'c':classname;
std::string akt = (selected == (int) (bouquet->bouquet_nr + 1)) ? "<a name=\"akt\"></a>" : "";
// lock/unlock // lock/unlock
std::string lock_action = (bouquet->bLocked) ? "unlock" : "lock"; std::string lock_action = (bouquet->locked) ? "unlock" : "lock";
std::string lock_img = (bouquet->bLocked) ? "lock" : "unlock"; std::string lock_img = (bouquet->locked) ? "lock" : "unlock";
std::string lock_alt = (bouquet->bLocked) ? "entsperren" : "sperren"; std::string lock_alt = (bouquet->locked) ? "entsperren" : "sperren";
// hide/show // hide/show
std::string hidden_action= (bouquet->bHidden) ? "show" : "hide"; std::string hidden_action= (bouquet->hidden) ? "show" : "hide";
std::string hidden_img = (bouquet->bHidden) ? "hidden" : "visible"; std::string hidden_img = (bouquet->hidden) ? "hidden" : "visible";
std::string hidden_alt = (bouquet->bHidden) ? "verstecken" : "anzeigen"; std::string hidden_alt = (bouquet->hidden) ? "verstecken" : "anzeigen";
// move down // move down
std::string down_show = (i + 1 < bouquetSize) ? "visible" : "hidden"; std::string down_show = (bouquet->bouquet_nr + 1 < bouquetSize) ? "visible" : "hidden";
//move up //move up
std::string up_show = (i > 0) ? "visible" : "hidden"; std::string up_show = (bouquet->bouquet_nr > 0) ? "visible" : "hidden";
// build from template // build from template
yresult += string_printf(para.c_str(), classname, akt.c_str(), yresult += string_printf(para.c_str(), classname, akt.c_str(),
i + 1, lock_action.c_str(), lock_img.c_str(), lock_alt.c_str(), //lock bouquet->bouquet_nr + 1, lock_action.c_str(), lock_img.c_str(), lock_alt.c_str(), //lock
i + 1, hidden_action.c_str(), hidden_img.c_str(), hidden_alt.c_str(), //hhidden bouquet->bouquet_nr + 1, hidden_action.c_str(), hidden_img.c_str(), hidden_alt.c_str(), //hhidden
i + 1, bouquet->Name.c_str(), bouquet->Name.c_str(), //link bouquet->bouquet_nr + 1, bouquet->name, bouquet->name, //link
i + 1, bouquet->Name.c_str(), //rename bouquet->bouquet_nr + 1, bouquet->name, //rename
i + 1, bouquet->Name.c_str(), //delete bouquet->bouquet_nr + 1, bouquet->name, //delete
down_show.c_str(), i + 1, //down arrow down_show.c_str(), bouquet->bouquet_nr + 1, //down arrow
up_show.c_str(), i + 1); //up arrow up_show.c_str(), bouquet->bouquet_nr + 1); //up arrow
} }
return yresult; return yresult;
} }
@@ -1094,45 +1030,10 @@ std::string CNeutrinoYParser::func_bouquet_editor_main(CyhookHandler *hh, std::
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// func: Bouquet Edit // func: Bouquet Edit
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
std::string CNeutrinoYParser::func_set_bouquet_edit_form(CyhookHandler *hh, std::string /*para*/) std::string CNeutrinoYParser::func_set_bouquet_edit_form(CyhookHandler *hh, std::string)
{ {
if (!(hh->ParamList["selected"].empty())) if (!(hh->ParamList["selected"].empty()))
{ {
int selected = atoi(hh->ParamList["selected"].c_str()) - 1;
int mode = NeutrinoAPI->Zapit->getMode();
ZapitChannelList* channels = mode == CZapitClient::MODE_TV ? &(g_bouquetManager->Bouquets[selected]->tvChannels) : &(g_bouquetManager->Bouquets[selected]->radioChannels);
for(int j = 0; j < (int) channels->size(); j++) {
hh->ParamList["bouquet_channels"] +=
string_printf("<option value=\""
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
"\">%s</option>\n",
(*channels)[j]->channel_id,
(*channels)[j]->getName().c_str());
}
ZapitChannelList Channels;
Channels.clear();
if (mode == CZapitClient::MODE_RADIO) {
for (tallchans_iterator it = allchans.begin(); it != allchans.end(); it++)
if (it->second.getServiceType() == ST_DIGITAL_RADIO_SOUND_SERVICE)
Channels.push_back(&(it->second));
} else {
for (tallchans_iterator it = allchans.begin(); it != allchans.end(); it++)
if (it->second.getServiceType() != ST_DIGITAL_RADIO_SOUND_SERVICE)
Channels.push_back(&(it->second));
}
sort(Channels.begin(), Channels.end(), CmpChannelByChName());
for (int i = 0; i < (int) Channels.size(); i++) {
if (!g_bouquetManager->existsChannelInBouquet(selected, Channels[i]->channel_id)){
hh->ParamList["all_channels"] +=
string_printf("<option value=\""
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
"\">%s</option>\n",
Channels[i]->channel_id,
Channels[i]->getName().c_str());
}
}
#if 0
CZapitClient::BouquetChannelList BChannelList; CZapitClient::BouquetChannelList BChannelList;
CZapitClient::BouquetChannelList::iterator channels; CZapitClient::BouquetChannelList::iterator channels;
@@ -1162,7 +1063,6 @@ std::string CNeutrinoYParser::func_set_bouquet_edit_form(CyhookHandler *hh, std
channels->name); channels->name);
} }
} }
#endif
return ""; return "";
} }
else else

View File

@@ -62,7 +62,7 @@ public:
virtual std::string YWeb_cgi_func(CyhookHandler *hh, std::string ycmd); virtual std::string YWeb_cgi_func(CyhookHandler *hh, std::string ycmd);
// virtual functions for HookHandler/Hook // virtual functions for HookHandler/Hook
virtual std::string getHookName(void) {return std::string("mod_NeutrinoYParser");} virtual std::string getHookName(void) {return std::string("mod_NeutrinoYParser");}
virtual std::string getHookVersion(void) {return std::string("$Revision: 1.2 $");} virtual std::string getHookVersion(void) {return std::string("$Revision: 1.1.2.1 $");}
virtual THandleStatus Hook_SendResponse(CyhookHandler *hh); virtual THandleStatus Hook_SendResponse(CyhookHandler *hh);
virtual THandleStatus Hook_ReadConfig(CConfigFile *Config, CStringList &ConfigList); virtual THandleStatus Hook_ReadConfig(CConfigFile *Config, CStringList &ConfigList);
}; };

View File

@@ -1,38 +1,97 @@
SUBDIRS = images scripts SUBDIRS = images scripts languages
installdir = $(DATADIR)/neutrino/httpd-y installdir = $(DATADIR)/neutrino/httpd
install_DATA = Y_About.yhtm Y_Boxcontrol_Bouquet_Editor_Edit.yhtm \ install_DATA = channels.js \
Y_Boxcontrol_Bouquet_Editor_Main.yhtm \ channels.txt \
Y_Boxcontrol_Bouquetlist.yhtm Y_Boxcontrol_Bouquets.yhtm \ extentions.txt \
Y_Boxcontrol_Channellist.yhtm Y_Boxcontrol_Menue.yhtm \ favicon.ico \
Y_Boxcontrol_Messages.yhtm Y_Dyn_Pages.yhtm Y_EPG_Plus.yhtm \
Y_Ext_Menue.yhtm Y_Ext_Settings.yhtm \
Y_Ext_Update_refresh.yhtm Y_Ext_Update.yhtm Y_Info_Help.yhtm \
Y_Info_Menue.yhtm Y_Info_Updates.yhtm Y_Live_DoubleView.yhtm \
Y_Live_EPG_Info.yhtm Y_Live_EPG.yhtm Y_Live_Menue.yhtm \
Y_Live_Msg.yhtm Y_Live_Record.yhtm Y_Live_Transcode.yhtm \
Y_LiveViewFull.yhtm Y_Live.yhtm Y_Menue.yhtm \
Y_Settings_automount_liste.yhtm Y_Settings_automount.yhtm \
Y_Settings_Backup.yhtm Y_Settings_Live.yhtm \
Y_Settings_Menue.yhtm Y_Settings_mount_liste.yhtm \
Y_Settings_mount.yhtm Y_Settings_neutrino_forms.yhtm \
Y_Settings_nhttpd.yhtm Y_Settings_Skin.yhtm \
Y_Settings_Timer.yhtm Y_Settings_ucodes.yhtm \
Y_Settings_umount_liste.yhtm Y_Settings_VNC.yhtm \
Y_Settings_wol.yhtm Y_Settings.yhtm Y_Settings_yWeb.yhtm \
Y_Settings_zapit.yhtm Y_StreamInfo.yhtm Y_Timer_Edit.yhtm \
Y_Timer_List.yhtm Y_Timer_Menue.yhtm Y_Tools_Bootlogo.yhtm \
Y_Tools_Boxcontrol.yhtm Y_Tools_Check_Install.yhtm \
Y_Tools_Cmd.yhtm Y_Tools_fbshot.yhtm \
Y_Tools_Flash_Menue.yhtm Y_Tools_Flash_Upload.yhtm \
Y_Tools_Info_Menue.yhtm Y_Tools_Installer.yhtm \
Y_Tools_Menue.yhtm Y_Tools_NetStream.yhtm Y_Tools_Rcsim.yhtm \
Y_Tools_remote_osd.yhtm Y_Tools_Timer_Sync.yhtm \
Y_blank.htm \
index.html \ index.html \
prototype.js \
robots.txt \
Y_About.yhtm \
Y_Baselib.js \
Y_blank.htm \
Y_Blocks.txt \
Y_Boxcontrol_Bouquet_Editor_Edit.yhtm \
Y_Boxcontrol_Bouquet_Editor_Main.yhtm \
Y_Boxcontrol_Bouquetlist.yhtm \
Y_Boxcontrol_Bouquets.yhtm \
Y_Boxcontrol_Channellist.yhtm \
Y_Boxcontrol_Menue.yhtm \
Y_Boxcontrol_Messages.yhtm \
Y_Dyn_Pages.yhtm \
Y_EPG.js \
Y_EPG_Plus.js \
Y_EPG_Plus.yhtm \
Y_Ext_Menue.yhtm \
Y_Ext_Settings.yhtm \
Y_Ext_Uninstall.yhtm \
Y_Ext_Update.js \
Y_Ext_Update_refresh.yhtm \
Y_Ext_Update.yhtm \
Y_Flash.js \
Y_Info_Help.yhtm \
Y_Info_Menue.yhtm \
Y_Info_Updates.yhtm \
Y_Live_DoubleView.yhtm \
Y_Live_EPG_Info.yhtm \
Y_Live_EPG.yhtm \
Y_Live.js \
Y_Live_Menue.yhtm \
Y_Live_Msg.yhtm \
Y_Live_Record.yhtm \
Y_Live_Transcode.yhtm \
Y_LiveViewFull.yhtm \
Y_Live.yhtm \
Y_Main.css \ Y_Main.css \
channels.js Y_Baselib.js Y_VLC.js \ Y_Menue.yhtm \
channels.txt extentions.txt robots.txt Y_Blocks.txt \ Y_neutrino_Blocks.txt \
Y_neutrino_Blocks.txt Y_Version.txt \ Y_Settings_automount_liste.yhtm \
favicon.ico Y_Settings_automount.yhtm \
Y_Settings_Backup.yhtm \
Y_Settings_buttons.yhtm \
Y_Settings_lcd.yhtm \
Y_Settings_Live.yhtm \
Y_Settings_Menue.yhtm \
Y_Settings_mount_liste.yhtm \
Y_Settings_mount.yhtm \
Y_Settings_neutrino_forms.yhtm \
Y_Settings_nhttpd.yhtm \
Y_Settings_personalize.yhtm \
Y_Settings_Skin.yhtm \
Y_Settings_Timer.yhtm \
Y_Settings_ucodes.yhtm \
Y_Settings_umount_liste.yhtm \
Y_Settings_video_audio.yhtm \
Y_Settings_VNC.yhtm \
Y_Settings_wol.yhtm \
Y_Settings.yhtm \
Y_Settings_yWeb.yhtm \
Y_Settings_zapit.yhtm \
Y_StreamInfo.yhtm \
Y_Timer_Edit.yhtm \
Y_Timer_List.yhtm \
Y_Timer_Menue.yhtm \
Y_Tools_Bootlogo.yhtm \
Y_Tools_Boxcontrol.yhtm \
Y_Tools_Check_Install.yhtm \
Y_Tools_Cmd.yhtm \
Y_Tools_fbshot.yhtm \
Y_Tools_Flash_Menue.yhtm \
Y_Tools_Flash_Upload.yhtm \
Y_Tools_Info_Menue.yhtm \
Y_Tools_Installer.yhtm \
Y_Tools_lcshot.yhtm \
Y_Tools_Menue.yhtm \
Y_Tools_NetStream.yhtm \
Y_Tools_Rcsim.yhtm \
Y_Tools_remote_osd.yhtm \
Y_Tools_Timer_Sync.js \
Y_Tools_Timer_Sync.yhtm \
Y_Version.txt \
Y_VLC.js \
Y_Wait.yhtm \
ywidget.css \
ywidget.js \
Y_yweb.js

View File

@@ -1,23 +1,22 @@
{=var-set:cancache=yPyes=} {=var-set:cancache=yPyes=}
{=include-block:Y_Blocks.txt;headCache=} {=include-block:Y_Blocks.txt;headCache=}
</head> </head>
{=var-set:alt_httpd={=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.override_directory;/var/httpd=}=}
{=var-set:vf={=if-file-exists:{=var-get:alt_httpd=}/Y_Version.txt~{=var-get:alt_httpd=}/Y_Version.txt~Y_Version.txt=}=}
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Info#About=}{=var-set:menu=About=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Info-About=}{=var-set:menu=About=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<table border="0" cellpadding="2" cellspacing="4"> <table border="0" cellpadding="2" cellspacing="4">
<tr> <tr>
<td width="144" valign="top"><a href="http://www.yjogol.de" target="_blank"><img border="0" src="images/y.png" alt="y-logo"/></a></td> <td width="144" valign="bottom"><a href="http://www.yjogol.com" target="_blank"><img border="0" src="images/yjogol.gif" alt="yjogol"/></a></td>
<td valign="bottom" style="font-size:18pt;">yWeb</td>
</tr><tr>
<td valign="top"><a href="http://www.yjogol.com" class="exlink" target="_blank">www.yjogol.com</a></td>
<td valign="top"> <td valign="top">
<b>Coolstream HD1 yWeb</b> {=ini-get:{=var-get:vf=};version=} - {=ini-get:{=var-get:vf=};date=} - {=ini-get:{=var-get:vf=};type=}<br/><br/>
<br/><a href="http://www.yjogol.de" target="_blank">www.yjogol.de</a> {=ini-get:{=var-get:vf=};info=}<br/>
<p>
{=ini-get:Y_Version.txt;version=}<br/>
{=ini-get:Y_Version.txt;date=}<br/>
{=ini-get:Y_Version.txt;type=}<br/><br/>
{=ini-get:Y_Version.txt;info=}<br/>
</p>
</td> </td>
</tr> </tr>
</table> </table>

View File

@@ -1,11 +1,15 @@
/* yWeb Baselib by yjogol /* yWeb Baselib by yjogol
$Date: 2007/02/21 17:38:48 $ $Date: 2008/02/24 08:23:12 $
$Revision: 1.3 $ $Revision: 1.5 $
*/ */
var baselib_version="2.0.0";
var agt=navigator.userAgent.toLowerCase(); var agt=navigator.userAgent.toLowerCase();
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)); var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
/*DHTML-Basics*/ /*DHTML-Basics*/
function $yN(_obj_name)
{
return $(document.getElementsByName(_obj_name));
}
function id(obj_id) function id(obj_id)
{ {
return document.getElementById(obj_id); return document.getElementById(obj_id);
@@ -38,7 +42,7 @@ function obj_create(_typ, _class)
{ {
var __obj = document.createElement(_typ); var __obj = document.createElement(_typ);
var __class = document.createAttribute("class"); var __class = document.createAttribute("class");
__class.nodeValue = _class; __class.nodeValue = _class;
__obj.setAttributeNode(__class); __obj.setAttributeNode(__class);
return __obj; return __obj;
@@ -108,9 +112,18 @@ function y_add_html_cell_to_row(_row, _name, _value)
__cell.innerHTML = _value; __cell.innerHTML = _value;
return __cell; return __cell;
} }
function y_add_li_to_ul(_ul, _class, _value){
var __li=document.createElement("li");
var __class = document.createAttribute("class");
__class.nodeValue = _class;
_ul.setAttributeNode(__class);
_ul.appendChild(__li);
__li.innerHTML=_value;
return __li;
}
function getXMLNodeItemValue(node, itemname) function getXMLNodeItemValue(node, itemname)
{ {
var item = node.getElementsByTagName(itemname); var item = node.getElementsByTagName(itemname);
if(item.length>0) if(item.length>0)
if(item[0].firstChild) if(item[0].firstChild)
@@ -132,9 +145,9 @@ function obj_addAttributeNode(_obj, _attr, _value)
} }
/*XMLHttpRequest AJAX*/ /*XMLHttpRequest AJAX*/
var g_req; var g_req;
function loadXMLDoc(_url, _processReqChange) function loadXMLDoc(_url, _processReqChange)
{ {
if (window.XMLHttpRequest) if (window.XMLHttpRequest)
{ {
g_req = new XMLHttpRequest(); g_req = new XMLHttpRequest();
g_req.onreadystatechange = _processReqChange; g_req.onreadystatechange = _processReqChange;
@@ -143,71 +156,81 @@ function loadXMLDoc(_url, _processReqChange)
g_req.open("GET", _url, true); g_req.open("GET", _url, true);
g_req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); g_req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
g_req.send(null); g_req.send(null);
} }
else if (window.ActiveXObject) else if (window.ActiveXObject)
{ {
g_req = new ActiveXObject("Microsoft.XMLHTTP"); g_req = new ActiveXObject("Microsoft.XMLHTTP");
if (g_req) if (g_req)
{ {
g_req.onreadystatechange = _processReqChange; g_req.onreadystatechange = _processReqChange;
g_req.open("GET", _url, true); g_req.open("GET", _url, true);
g_req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); g_req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
g_req.send(); g_req.send();
} }
} }
else else
alert("Kein Browser-Support fr XMLHttpRequest"); alert("Kein Browser-Support fr XMLHttpRequest");
} }
function loadSyncURL(_url) function loadSyncURL2(_url)
{
var myAjax = new Ajax.Request(
_url,
{
method: 'post',
asynchronous: false
});
return myAjax.responseText;
}
function loadSyncURL(_url)
{ {
var _req; var _req;
if (window.XMLHttpRequest) if (window.XMLHttpRequest)
{ {
_req = new XMLHttpRequest(); _req = new XMLHttpRequest();
_req.open("GET", _url, false); _req.open("GET", _url, false);
_req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); _req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
_req.send(null); _req.send(null);
} }
else if (window.ActiveXObject) else if (window.ActiveXObject)
{ {
_req = new ActiveXObject("Microsoft.XMLHTTP"); _req = new ActiveXObject("Microsoft.XMLHTTP");
if(_req) if(_req)
{ {
_req.open("GET", _url, false); _req.open("GET", _url, false);
_req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); _req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
_req.send(); _req.send();
} }
} }
else else
alert("Kein Browser-Support fr XMLHttpRequest"); alert("Kein Browser-Support fr XMLHttpRequest");
if (_req.readyState == 4 && _req.status == 200) if (_req.readyState == 4 && _req.status == 200)
return _req.responseText; return _req.responseText;
else else
return ""; return "";
} }
function loadSyncURLxml(_url) function loadSyncURLxml(_url)
{ {
var _req; var _req;
if (window.XMLHttpRequest) if (window.XMLHttpRequest)
{ {
_req = new XMLHttpRequest(); _req = new XMLHttpRequest();
_req.open("GET", _url, false); _req.open("GET", _url, false);
_req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); _req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
_req.send(null); _req.send(null);
} }
else if (window.ActiveXObject) else if (window.ActiveXObject)
{ {
_req = new ActiveXObject("Microsoft.XMLHTTP"); _req = new ActiveXObject("Microsoft.XMLHTTP");
if(_req) if(_req)
{ {
_req.open("GET", _url, false); _req.open("GET", _url, false);
_req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); _req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
_req.send(); _req.send();
} }
} }
else else
alert("Kein Browser-Support fr XMLHttpRequest"); alert("Kein Browser-Support fr XMLHttpRequest");
if (_req.readyState == 4 && _req.status == 200) if (_req.readyState == 4 && _req.status == 200)
return _req.responseXML; return _req.responseXML;
else else
return ""; return "";
@@ -254,7 +277,7 @@ function split_one(_str, _delimiter)
{ {
var __p = _str.indexOf(_delimiter); var __p = _str.indexOf(_delimiter);
var __left = _str.substring(0, __p); var __left = _str.substring(0, __p);
var __right = _str.substring(__p+1); var __right = _str.substring(__p+_delimiter.length);
return new Array(__left, __right); return new Array(__left, __right);
} }
function split_left(_str, _delimiter) function split_left(_str, _delimiter)
@@ -279,6 +302,50 @@ function epg_de_qout(_str)
_str = _str.replace(/\x8A/g,"<br/>"); _str = _str.replace(/\x8A/g,"<br/>");
return _str; return _str;
} }
function split_version(vstring,v){
var l=vstring.split(".");
v.set('major', (l.length>0)?l[0]:"0");
v.set('minor', (l.length>1)?l[1]:"0");
v.set('patch', (l.length>2)?l[2]:"0");
v.set('pre', (l.length>3)?l[3]:"0");
}
function version_less(l, r) /* l<= r?*/{
return (l.get('major') < r.get('major'))||
((l.get('major') == r.get('major')) && (l.get('minor') < r.get('minor'))) ||
((l.get('major') == r.get('major')) && (l.get('minor') == r.get('minor')) && (l.get('patch') < r.get('patch'))) ||
((l.get('major') == r.get('major')) && (l.get('minor') == r.get('minor')) && (l.get('patch') == r.get('patch')) && (l.get('pre') < r.get('pre')));
}
function version_le(l, r) /* l<= r?*/{
return (l.get('major') < r.get('major'))||
((l.get('major') == r.get('major')) && (l.get('minor') < r.get('minor'))) ||
((l.get('major') == r.get('major')) && (l.get('minor') == r.get('minor')) && (l.get('patch') < r.get('patch'))) ||
((l.get('major') == r.get('major')) && (l.get('minor') == r.get('minor')) && (l.get('patch') == r.get('patch')) && (l.get('pre') <= r.get('pre')));
}
function version_str_less(l, r) /* l<= r?*/{
var lh=$H();
split_version(l,lh);
var rh=$H();
split_version(r,rh);
return version_less(lh,rh);
}
function str_to_hash(str){
var h=new Hash();
var items=str.split(",");
items.each(function(e){
pair=split_one(e,":");
if(pair.length==2)
h.set((pair[0]).gsub("\"","").gsub("'","").strip(),(pair[1]).strip().gsub("\"","").gsub("'",""));
});
return h;
}
function hash_to_str(h){
var str="";
h.each(function(e){
if(str!="")str+=",";
str+=e.key+":"+e.value;
});
return str;
}
/*etc*/ /*etc*/
function format_time(_t) function format_time(_t)
{ {
@@ -305,10 +372,23 @@ function bt_set_value(_bt_name, _text)
__button.firstChild.nodeValue = _text; __button.firstChild.nodeValue = _text;
} }
/*dbox*/ /*dbox*/
/*expermental*/
function dbox_rcsim(_key){
loadSyncURL("/control/rcem?" + _key);
}
function dbox_reload_neutrino(){
var sc=dbox_exec_tools("restart_neutrino");
}
function dbox_exec_command(_cmd) function dbox_exec_command(_cmd)
{ {
alert("Diese Funktion dbox_exec_command wurde aus Sicherheitsgruenden abgeschafft. Bitte Extension updaten.");
var __cmd = _cmd.replace(/ /g, "&"); var __cmd = _cmd.replace(/ /g, "&");
return loadSyncURL("/control/exec?Y_Tools&exec_cmd&"+__cmd); // return loadSyncURL("/control/exec?Y_Tools&exec_cmd&"+__cmd);
}
function dbox_exec_tools(_cmd)
{
var __cmd = _cmd.replace(/ /g, "&");
return loadSyncURL("/control/exec?Y_Tools&"+__cmd);
} }
function dbox_message(_msg) function dbox_message(_msg)
{ {
@@ -358,7 +438,7 @@ function live_switchto(_mode)
dbox_spts_set(true); dbox_spts_set(true);
else if(_mode == "radio" && _actual_spts) else if(_mode == "radio" && _actual_spts)
dbox_spts_set(false); dbox_spts_set(false);
var _actual_mode = dbox_getmode(); var _actual_mode = dbox_getmode();
if(_actual_mode != _mode) if(_actual_mode != _mode)
dbox_setmode(_mode); dbox_setmode(_mode);

View File

@@ -21,19 +21,24 @@ end-block~build_live_url
# ------- yWeb save Settings # ------- yWeb save Settings
start-block~yWeb_save_settings start-block~yWeb_save_settings
{=ini-set:/var/tuxbox/config/Y-Web.conf;slavebox;{=slavebox=}~open=} {=ini-set:/var/tuxbox/config/Y-Web.conf;management_ip;{=managementIP=}~open=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;management_ip;{=managementIP=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;management_ip2;{=managementIP2=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;management_ip2;{=managementIP2=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;wol_mac_1;{=wol_mac_1=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;wol_mac_1;{=wol_mac_1=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;wol_mac_2;{=wol_mac_2=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;wol_mac_2;{=wol_mac_2=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;wol_mac_3;{=wol_mac_3=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;wol_mac_3;{=wol_mac_3=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;wol_desc_1;{=wol_desc_1=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;wol_desc_2;{=wol_desc_2=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;wol_desc_3;{=wol_desc_3=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;fb;{=fb=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;start_page;{=start_page=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;yweb_box_name;{=yweb_box_name=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;yweb_box_name;{=yweb_box_name=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;yweb_box_color;{=yweb_box_color=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;yweb_box_color;{=yweb_box_color=}~save=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;vlc_record_path;{=vlc_record_path=}~save=}
end-block~yWeb_save_settings end-block~yWeb_save_settings
# ------- Live save Settings # ------- Live save Settings
start-block~Live_save_settings start-block~Live_save_settings
{=ini-set:/var/tuxbox/config/Y-Web.conf;slavebox;{=slavebox=}~open=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;vlc_record_path;{=vlc_record_path=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;deinterlace;{=deinterlace=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;deinterlace;{=deinterlace=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;deinterlace_filter;{=v=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;deinterlace_filter;{=v=}~cache=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;udp;{=udp=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;udp;{=udp=}~cache=}
@@ -46,15 +51,115 @@ start-block~nhttpd_save_settings
{=ini-set:/var/tuxbox/config/nhttpd.conf;mod_auth.password;{=authpassword=}~cache=} {=ini-set:/var/tuxbox/config/nhttpd.conf;mod_auth.password;{=authpassword=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;mod_auth.no_auth_client;{=noauthclient=}~cache=} {=ini-set:/var/tuxbox/config/nhttpd.conf;mod_auth.no_auth_client;{=noauthclient=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;mod_auth.authenticate;{=authenticate=}~cache=} {=ini-set:/var/tuxbox/config/nhttpd.conf;mod_auth.authenticate;{=authenticate=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;WebsiteMain.port;{=port=}~cache=} {=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;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;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;Tuxbox.HostedDocumentRoot;{=HostedDocRoot=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;ExtrasDocRoot;{=ExtrasDocRoot=}~cache=} {=ini-set:/var/tuxbox/config/nhttpd.conf;WebsiteMain.override_directory;{=override_directory=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;ExtrasDocURL;{=ExtrasDocURL=}~save=} {=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=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;Language.selected;{=language=}~cache=}
{=ini-set:/var/tuxbox/config/nhttpd.conf;Tuxbox.LogosURL;{=Tuxbox_LogosURL=}~save=}
{=func:do_reload_httpd_config=} {=func:do_reload_httpd_config=}
end-block~nhttpd_save_settings end-block~nhttpd_save_settings
# ------- Video / Audio save Settings
start-block~video_audio_save_settings
{=ini-set:/var/tuxbox/config/neutrino.conf;video_Format;{=video_Format=}~open=}
{=ini-set:/var/tuxbox/config/neutrino.conf;video_backgroundFormat;{=video_backgroundFormat=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;video_csync;{=h_video_csync=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;vcr_AutoSwitch;{=vcr_AutoSwitch=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;audio_AnalogMode;{=audio_AnalogMode=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;audiochannel_up_down_enable;{=audiochannel_up_down_enable=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;audio_left_right_selectable;{=audio_left_right_selectable=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;audio_avs_Control;{=h_audio_avs_Control=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;audio_DolbyDigital;{=audio_DolbyDigital=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;audio_PCMOffset;{=audio_PCMOffset=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;audio_step;{=audio_step=}~save=}
{=ini-set:/var/tuxbox/config/controld.conf;vcroutput;{=h_vcroutput=}~open=}
{=ini-set:/var/tuxbox/config/controld.conf;videooutput;{=h_videooutput=}~save=}
end-block~video_audio_save_settings
# ------- LCD save Settings
start-block~lcd_save_settings
{=ini-set:/var/tuxbox/config/neutrino.conf;lcd_power;{=lcd_power=}~open=}
{=ini-set:/var/tuxbox/config/neutrino.conf;lcd_inverse;{=lcd_inverse=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;lcd_dim_time;{=lcd_dim_time=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;lcd_dim_brightness;{=lcd_dim_brightness=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;lcd_epgmode;{=lcd_epgmode=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;lcd_show_volume;{=lcd_show_volume=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;lcd_contrast;{=lcd_contrast=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;lcd_brightness;{=lcd_brightness=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;lcd_standbybrightness;{=lcd_standbybrightness=}~save=}
end-block~lcd_save_settings
# ------- Buttons save Settings
start-block~buttons_save_settings
{=ini-set:/var/tuxbox/config/neutrino.conf;bouquetlist_mode;{=bouquetlist_mode=}~open=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_bouquet_down;{=key_bouquet_down=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_bouquet_up;{=key_bouquet_up=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_channelList_addrecord;{=key_channelList_addrecord=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_channelList_addremind;{=key_channelList_addremind=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_channelList_cancel;{=key_channelList_cancel=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_channelList_pagedown;{=key_channelList_pagedown=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_channelList_pageup;{=key_channelList_pageup=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_channelList_reload;{=key_channelList_reload=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_channelList_search;{=key_channelList_search=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_channelList_sort;{=key_channelList_sort=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_lastchannel;{=key_lastchannel=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_quickzap_down;{=key_quickzap_down=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_quickzap_up;{=key_quickzap_up=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_subchannel_down;{=key_subchannel_down=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_subchannel_toggle;{=key_subchannel_toggle=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_subchannel_up;{=key_subchannel_up=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_tvradio_mode;{=key_tvradio_mode=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;key_zaphistory;{=key_zaphistory=}~save=}
end-block~buttons_save_settings
# ------- Personalize save Settings
start-block~personalize_save_settings
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_tvmode;{=p_tv=}~open=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_radiomode;{=p_radio=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_scartmode;{=p_scart=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_games;{=p_games=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_audioplayer;{=p_audioplayer=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_inetradio;{=p_inetradio=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_esound;{=p_esound=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_movieplayer;{=p_movieplayer=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_pictureviewer;{=p_picviewer=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_pincode;{=p_pincode=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_upnpbrowser;{=p_upnp=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_sleeptimer;{=p_sleeptimer=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_reboot;{=p_reboot=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_shutdown;{=p_shutdown=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_settings;{=p_settings=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_video;{=p_video=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_audio;{=p_audio=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_youth;{=p_youth=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_network;{=p_network=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_recording;{=p_recording=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_language;{=p_language=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_colors;{=p_colors=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_lcd;{=p_lcd=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_keybinding;{=p_keybinding=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_mediaplayer;{=p_mediaplayer=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_driver;{=p_driver=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_misc;{=p_misc=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_service;{=p_service=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_bouqueteditor;{=p_bouqueteditor=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_scants;{=p_scants=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_reload;{=p_reload=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_getplugins;{=p_getplugins=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_restart;{=p_restart=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_epgrestart;{=p_epgrestart=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_ucodecheck;{=p_ucodecheck=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_chan_epg_stat;{=p_chan_epg_stat=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_imageinfo;{=p_imageinfo=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_update;{=p_update=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_bluebutton;{=p_bluebutton=}~cache=}
{=ini-set:/var/tuxbox/config/neutrino.conf;personalize_redbutton;{=p_redbutton=}~save=}
end-block~personalize_save_settings
# ------- VNC save Settings # ------- VNC save Settings
start-block~vnc_save_settings start-block~vnc_save_settings
{=ini-set:/var/tuxbox/config/vnc.conf;server;{=server=}~open=} {=ini-set:/var/tuxbox/config/vnc.conf;server;{=server=}~open=}
@@ -68,6 +173,7 @@ start-block~timer_save_settings
{=ini-set:/var/tuxbox/config/Y-Web.conf;tvinfo_username;{=tvinfo_username=}=} {=ini-set:/var/tuxbox/config/Y-Web.conf;tvinfo_username;{=tvinfo_username=}=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;tvinfo_password;{=tvinfo_password=}=} {=ini-set:/var/tuxbox/config/Y-Web.conf;tvinfo_password;{=tvinfo_password=}=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;klack_url;{=klack_url=}=} {=ini-set:/var/tuxbox/config/Y-Web.conf;klack_url;{=klack_url=}=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;klack_securitycode;{=klack_securitycode=}=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;live_resolution_w;{=ini-get:/var/tuxbox/config/Y-Web.conf;live_resolution_w;384=}=} {=ini-set:/var/tuxbox/config/Y-Web.conf;live_resolution_w;{=ini-get:/var/tuxbox/config/Y-Web.conf;live_resolution_w;384=}=}
{=ini-set:/var/tuxbox/config/Y-Web.conf;live_resolution_h;{=ini-get:/var/tuxbox/config/Y-Web.conf;live_resolution_h;288=}=} {=ini-set:/var/tuxbox/config/Y-Web.conf;live_resolution_h;{=ini-get:/var/tuxbox/config/Y-Web.conf;live_resolution_h;288=}=}
{=file-action:/var/tuxbox/config/channels.txt;add;{=channels=}=} {=file-action:/var/tuxbox/config/channels.txt;add;{=channels=}=}
@@ -83,7 +189,7 @@ start-block~no_management
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
</head> </head>
<body> <body>
<br/> <br />
<div class="y_head">Error</div> <div class="y_head">Error</div>
<div class="y_work_box" title="This page could be used for management proposes only"> <div class="y_work_box" title="This page could be used for management proposes only">
This page could be used for management proposes only. This page could be used for management proposes only.
@@ -116,7 +222,7 @@ start-block~snip_wait
{=if-empty:{=var-get:wait_text=}~Inquiry is worked on~{=var-get:wait_text=}=}</span><br/> {=if-empty:{=var-get:wait_text=}~Inquiry is worked on~{=var-get:wait_text=}=}</span><br/>
<img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/><br/><br/> <img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/><br/><br/>
Please wait<br/> Please wait<br/>
</p> </p>
</div> </div>
</div> </div>
@@ -132,16 +238,16 @@ start-block~snip_show_wait
{=if-empty:{=var-get:wait_text=}~Inquiry is worked on~{=var-get:wait_text=}=}</span><br/> {=if-empty:{=var-get:wait_text=}~Inquiry is worked on~{=var-get:wait_text=}=}</span><br/>
<img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/><br/><br/> <img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/><br/><br/>
Please wait<br/> Please wait<br/>
</p> </p>
</div> </div>
</div> </div>
end-block~snip_show_wait end-block~snip_show_wait
# ------- Wiki Help display # ------- Wiki Help display
#<img src="/images/help.gif" align="bottom"> #<img src="/images/help.gif" align="bottom" />
start-block~wiki_help start-block~wiki_help
<a href="http://wiki.godofgta.de/{=var-get:help_url=}" target="_blank" title="get help from wiki.godofgta.de">?</a> <a href="http://www.yjogol.com/{=var-get:help_url=}" target="_blank" title="get help from www.yjogol.com">?</a>
end-block~wiki_help end-block~wiki_help
# ------- work menu # ------- work menu
@@ -161,49 +267,49 @@ start-block~head
<meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" /> <meta http-equiv="expires" content="0" />
<title>yWeb</title> <title>yWeb</title>
<link rel="STYLESHEET" type="text/css" href="/Y_Main.css"/> <link rel="stylesheet" type="text/css" href="/Y_Main.css" />
end-block~head end-block~head
# ------- Lay-HEAD # ------- Lay-HEAD
start-block~headCache start-block~headCache
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>yWeb</title> <title>yWeb</title>
<link rel="STYLESHEET" type="text/css" href="/Y_Main.css"/> <link rel="stylesheet" type="text/css" href="/Y_Main.css" />
end-block~headCache end-block~headCache
# ------- Lay-HEAD without charset # ------- Lay-HEAD without charset
start-block~head_no_charset start-block~head_no_charset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<title>yWeb</title> <title>yWeb</title>
<link rel="STYLESHEET" type="text/css" href="/Y_Main.css"/> <link rel="stylesheet" type="text/css" href="/Y_Main.css" />
end-block~head_no_charset end-block~head_no_charset
# ------- Lay-Frame HEAD # ------- Lay-Frame HEAD
start-block~frame_head start-block~frame_head
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="STYLESHEET" type="text/css" href="/Y_Main.css"/> <link rel="stylesheet" type="text/css" href="/Y_Main.css" />
<title>yWeb</title> <title>yWeb</title>
end-block~frame_head end-block~frame_head
# ------- Lay-Frame HEAD # ------- Lay-Frame HEAD
start-block~frame_iso_head start-block~frame_iso_head
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="STYLESHEET" type="text/css" href="/Y_Main.css"/> <link rel="stylesheet" type="text/css" href="/Y_Main.css" />
<title>yWeb</title> <title>yWeb</title>
end-block~frame_iso_head end-block~frame_iso_head
@@ -212,9 +318,9 @@ start-block~frame_main
{=include-block:Y_Blocks.txt;frame_head=} {=include-block:Y_Blocks.txt;frame_head=}
<title>dbox yWeb</title> <title>dbox yWeb</title>
</head> </head>
<frameset rows="60,*"> <frameset rows="60,*" frameborder="0" framespacing="0">
<frame name="prim_menu" src="Y_Menue.yhtm" scrolling="no" frameborder="0" noresize="noresize" /> <frame name="prim_menu" src="Y_Menue.yhtm" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" noresize="noresize" />
<frame name="base" src="Y_Dyn_Pages.yhtm?page=frame_boxcontrol" frameborder="0" style="height:100%"/> <frame name="base" src="Y_Dyn_Pages.yhtm?page=frame_boxcontrol" marginwidth="0" marginheight="0" frameborder="0" style="height:100%"; />
<noframes> <noframes>
<body> <body>
<p>Your Browser does not support Frames.</p> <p>Your Browser does not support Frames.</p>
@@ -228,7 +334,7 @@ end-block~frame_main
start-block~page_frame_rest start-block~page_frame_rest
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
</head> </head>
<body style="background : #F0F0F0;"> <body style="background : white;">
</body> </body>
</html> </html>
end-block~page_frame_rest end-block~page_frame_rest
@@ -237,9 +343,9 @@ end-block~page_frame_rest
start-block~frame_secondary start-block~frame_secondary
{=include-block:Y_Blocks.txt;frame_iso_head=} {=include-block:Y_Blocks.txt;frame_iso_head=}
</head> </head>
<frameset cols="157,*"> <frameset cols="157,*" frameborder="0" framespacing="0">
<frame name="sec_menu" src="{=var-get:sec_menu=}" scrolling="no" noresize="noresize" frameborder="0"/> <frame name="sec_menu" src="{=var-get:sec_menu=}" scrolling="no" noresize="noresize" frameborder="0" />
<frame name="work" src="{=var-get:work=}" scrolling="auto" frameborder="0"/> <frame name="work" src="{=var-get:work=}" scrolling="auto" frameborder="0" />
<noframes> <noframes>
<body> <body>
<p>Your Browser does not support Frames.</p> <p>Your Browser does not support Frames.</p>
@@ -252,7 +358,12 @@ end-block~frame_secondary
# ------- Lay-Frame Boxcontrol-Menu # ------- Lay-Frame Boxcontrol-Menu
start-block~frame_boxcontrol start-block~frame_boxcontrol
{=var-set:sec_menu=Y_Boxcontrol_Menue.yhtm=} {=var-set:sec_menu=Y_Boxcontrol_Menue.yhtm=}
{=var-set:work=Y_Boxcontrol_Bouquets.yhtm=} {=var-set:startpage={=ini-get:/var/tuxbox/config/Y-Web.conf;start_page;bouquets=}=}
{=var-set:work=
{=if-equal:{=var-get:startpage=}~bouquets~Y_Boxcontrol_Bouquets.yhtm
~
{=if-equal:{=var-get:startpage=}~control~Y_Tools_Boxcontrol.yhtm~Y_blank.yhtm=}
=}=}
{=include-block:Y_Blocks.txt;frame_secondary=} {=include-block:Y_Blocks.txt;frame_secondary=}
end-block~frame_boxcontrol end-block~frame_boxcontrol
@@ -305,30 +416,14 @@ start-block~frame_info
{=include-block:Y_Blocks.txt;frame_secondary=} {=include-block:Y_Blocks.txt;frame_secondary=}
end-block~frame_info end-block~frame_info
# ------- Lay-Frame Tools-Info-Menu
start-block~frame_tools-info
{=include-block:Y_Blocks.txt;frame_head=}
</head>
<frameset rows="370,*">
<frame name="oben" src="Y_Tools_Info_Menue.yhtm" scrolling="auto" frameborder="0"/>
<frame name="unten" src="Y_blank.htm" scrolling="auto" frameborder="0"/>
<noframes>
<body>
<p>Your Browser does not support Frames.</p>
</body>
</noframes>
</frameset>
</html>
end-block~frame_tools-info
# ==== LIVE # ==== LIVE
# ------- Lay-Frame Live-EPG Frameset # ------- Lay-Frame Live-EPG Frameset
start-block~frame_live_epg start-block~frame_live_epg
{=include-block:Y_Blocks.txt;frame_head=} {=include-block:Y_Blocks.txt;frame_head=}
</head> </head>
<frameset rows="100,*"> <frameset rows="100,*" frameborder="0" framespacing="0">
<frame name="epg_info" src="Y_Live_EPG_Info.yhtm" scrolling="auto" frameborder="0"/> <frame name="epg_info" src="Y_Live_EPG_Info.yhtm" scrolling="auto" frameborder="0" />
<frame name="epg_list" src="Y_Live_EPG.yhtm?channel={=channel=}" scrolling="auto" frameborder="0" style="height:100%"/> <frame name="epg_list" src="Y_Live_EPG.yhtm?channel={=channel=}" scrolling="auto" frameborder="0" style="height:100%" />
<noframes> <noframes>
<body> <body>
<p>Your Browser does not support Frames.</p> <p>Your Browser does not support Frames.</p>
@@ -340,6 +435,77 @@ end-block~frame_live_epg
# ------- Remote # ------- Remote
start-block~remote start-block~remote
{=if-equal:Nokia~{=if-equal:{=ini-get:/var/tuxbox/config/Y-Web.conf;fb;default=}~default~{=func:get_boxtype=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;fb;default=}=}~{=include-block:Y_Blocks.txt;remote_standard=}~{=if-equal:{=ini-get:/var/tuxbox/config/Y-Web.conf;fb;default=}~Sagem~{=include-block:Y_Blocks.txt;remote_sagem=}~{=include-block:Y_Blocks.txt;remote_coolstream=}=}=}
end-block~remote
# ------- Remote
start-block~remote_standard
<img src="images/rc.jpg" usemap="#rc" alt="remote" />
<map name="rc" id="rc">
<area shape="rect" href="javascript:rcsim('KEY_SETUP')" coords="7,95,45,109" />
<area shape="circle" href="javascript:rcsim('KEY_7')" coords="60,102,10" />
<area shape="circle" href="javascript:rcsim('KEY_4')" coords="60,78,10" />
<area shape="circle" href="javascript:rcsim('KEY_9')" coords="102,92,10" />
<area shape="circle" href="javascript:rcsim('KEY_8')" coords="82,95,10" />
<area shape="circle" href="javascript:rcsim('KEY_6')" coords="102,71,10" />
<area shape="circle" href="javascript:rcsim('KEY_5')" coords="80,73,10" />
<area shape="circle" href="javascript:rcsim('KEY_3')" coords="102,49,10" />
<area shape="circle" href="javascript:rcsim('KEY_2')" coords="82,51,10" />
<area shape="circle" href="javascript:rcsim('KEY_1')" coords="60,55,10" />
<area shape="circle" href="javascript:rcsim('KEY_0')" coords="59,126,11" />
<area shape="poly" href="javascript:rcsim('KEY_LEFT')" coords="35,264,51,252,45,238,50,222,39,210,27,239" />
<area shape="poly" href="javascript:rcsim('KEY_RIGHT')" coords="97,265,87,255,91,241,85,223,98,210,108,240" />
<area shape="poly" href="javascript:rcsim('KEY_UP')" coords="83,216,95,206,69,195,41,206,53,220,69,214" />
<area shape="poly" href="javascript:rcsim('KEY_DOWN')" coords="95,271,85,255,71,262,51,256,41,268,68,283" />
<area shape="rect" href="javascript:rcsim('KEY_HOME')" coords="7,72,45,86" />
<area shape="circle" href="javascript:rcsim('KEY_MUTE')" coords="61,321,10" />
<area shape="circle" href="javascript:rcsim('KEY_OK')" coords="66,237,18" />
<area shape="circle" href="javascript:rcsim('KEY_BLUE')" coords="100,139,12" />
<area shape="circle" href="javascript:rcsim('KEY_YELLOW')" coords="60,153,11" />
<area shape="circle" href="javascript:rcsim('KEY_GREEN')" coords="37,171,12" />
<area shape="circle" href="javascript:rcsim('KEY_RED')" coords="21,196,11" />
<area shape="circle" href="javascript:rcsim('KEY_HELP')" coords="101,333,10" />
<area shape="circle" href="javascript:rcsim('KEY_VOLUMEUP')" coords="17,270,10" />
<area shape="circle" href="javascript:rcsim('KEY_VOLUMEDOWN')" coords="30,293,9" />
<area shape="rect" href="javascript:rcsim('KEY_POWER')" coords="7,49,46,64" />
</map>
end-block~remote_standard
# ------- Remote Sagem
start-block~remote_sagem
<img src="images/rc_sagem.jpg" usemap="#rc" alt="remote" />
<map name="rc" id="rc">
<area shape="poly" href="javascript:rcsim('KEY_RIGHT')" coords="100,117,100,180,67,146,100,116" />
<area shape="poly" href="javascript:rcsim('KEY_DOWN')" coords="36,181,101,180,66,146" />
<area shape="poly" href="javascript:rcsim('KEY_UP')" coords="101,116,36,116,66,146" />
<area shape="poly" href="javascript:rcsim('KEY_LEFT')" coords="66,147,36,117,35,182" />
<area shape="circle" href="javascript:rcsim('KEY_SETUP')" coords="105,100,15" />
<area shape="circle" href="javascript:rcsim('KEY_HELP')" coords="32,100,16" />
<area shape="circle" href="javascript:rcsim('KEY_POWER')" coords="108,33,15" />
<area shape="circle" href="javascript:rcsim('KEY_MUTE')" coords="69,255,13" />
<area shape="circle" href="javascript:rcsim('KEY_VOLUMEUP')" coords="92,225,17" />
<area shape="circle" href="javascript:rcsim('KEY_VOLUMEDOWN')" coords="47,225,17" />
<area shape="circle" href="javascript:rcsim('KEY_OK')" coords="37,196,11" />
<area shape="circle" href="javascript:rcsim('KEY_HOME')" coords="103,195,11" />
<area shape="circle" href="javascript:rcsim('KEY_BLUE')" coords="108,72,11" />
<area shape="circle" href="javascript:rcsim('KEY_RED')" coords="30,72,11" />
<area shape="circle" href="javascript:rcsim('KEY_GREEN')" coords="54,57,11" />
<area shape="circle" href="javascript:rcsim('KEY_YELLOW')" coords="85,57,11" />
<area shape="circle" href="javascript:rcsim('KEY_0')" coords="69,363,12" />
<area shape="circle" href="javascript:rcsim('KEY_9')" coords="102,336,12" />
<area shape="circle" href="javascript:rcsim('KEY_8')" coords="69,337,12" />
<area shape="circle" href="javascript:rcsim('KEY_7')" coords="37,336,12" />
<area shape="circle" href="javascript:rcsim('KEY_6')" coords="102,310,12" />
<area shape="circle" href="javascript:rcsim('KEY_5')" coords="69,310,12" />
<area shape="circle" href="javascript:rcsim('KEY_4')" coords="37,310,12" />
<area shape="circle" href="javascript:rcsim('KEY_3')" coords="102,284,12" />
<area shape="circle" href="javascript:rcsim('KEY_2')" coords="69,284,12" />
<area shape="circle" href="javascript:rcsim('KEY_1')" coords="37,284,12" />
</map>
end-block~remote_sagem
# ------- Remote Coolstream
start-block~remote_coolstream
<img src="images/rcd.jpg" usemap="#rc"/> <img src="images/rcd.jpg" usemap="#rc"/>
<map name="rc"> <map name="rc">
<area shape="rect" href="javascript:rcsim('KEY_POWER')" coords="175, 29, 210, 68" /> <area shape="rect" href="javascript:rcsim('KEY_POWER')" coords="175, 29, 210, 68" />
@@ -388,7 +554,4 @@ start-block~remote
<area shape="rect" href="javascript:rcsim('KEY_STOP')" coords="105, 695, 155, 717" /> <area shape="rect" href="javascript:rcsim('KEY_STOP')" coords="105, 695, 155, 717" />
<area shape="rect" href="javascript:rcsim('KEY_PLAY')" coords="165, 695, 210, 716" /> <area shape="rect" href="javascript:rcsim('KEY_PLAY')" coords="165, 695, 210, 716" />
</map> </map>
end-block~remote end-block~remote_coolstream

View File

@@ -3,20 +3,17 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_submit() function do_submit(){
{
show_waitbox(true); show_waitbox(true);
for (i=document.getElementById('channels').bchannels.length-1; i >= 0 ; i--) { for (i=document.getElementById('channels').bchannels.length-1; i >= 0 ; i--) {
document.getElementById('channels').bchannels.options[i].selected=true; document.getElementById('channels').bchannels.options[i].selected=true;
} }
document.getElementById('channels').submit(); document.getElementById('channels').submit();
} }
function do_abort() function do_abort(){
{
document.location.href="/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected={=selected=}"; document.location.href="/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected={=selected=}";
} }
function movechannels(source, destination) function movechannels(source, destination){
{
for (i=0; i < source.length; i++) { for (i=0; i < source.length; i++) {
if (source.options[i].selected==true) { if (source.options[i].selected==true) {
destination.options[destination.length] = new Option(source.options[i].text, source.options[i].value); destination.options[destination.length] = new Option(source.options[i].text, source.options[i].value);
@@ -28,8 +25,7 @@ function movechannels(source, destination)
} }
} }
} }
function poschannel(box, direction) function poschannel(box, direction){
{
if (direction==0) { if (direction==0) {
for (i=1; i < box.length ; i++) { for (i=1; i < box.length ; i++) {
if (box.options[i].selected==true) { if (box.options[i].selected==true) {
@@ -57,10 +53,10 @@ function poschannel(box, direction)
</head> </head>
<body> <body>
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:BoxControl#Bouquet-Editor=}{=var-set:menu=Bouquet &quot;{=name=}&quot; workon=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-BoxControl-Bouquet-Editor=}{=var-set:menu=Bouquet &quot;{=name=}&quot;=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form action="/control/changebouquet" method="post" id="channels" enctype="x-www-form-urlencoded"> <form action="/control/changebouquet" method="post" id="channels" enctype="x-www-form-urlencoded">
<p><input type="hidden" name="selected" value="{=selected=}" /></p> <p><input type="hidden" name="selected" value="{=selected=}" /></p>
@@ -72,10 +68,10 @@ function poschannel(box, direction)
</select> </select>
</td> </td>
<td align="center"> <td align="center">
<input type="button" value="up" onclick="poschannel(document.getElementById('channels').bchannels, 0);" /><br /><br /> <button type="button" title="move up" onclick="poschannel(document.getElementById('channels').bchannels, 0);">&nbsp;<img src="/images/arrowup.png">&nbsp;</button><br /><br />
<input type="button" value="down" onclick="poschannel(document.getElementById('channels').bchannels, 1);" /><br /><br /> <button type="button" title="move down" onclick="poschannel(document.getElementById('channels').bchannels, 1);">&nbsp;<img src="/images/arrowdown.png">&nbsp;</button><br /><br />
<input type="button" value="&gt;&gt;&gt;" onclick="movechannels(document.getElementById('channels').bchannels, document.getElementById('channels').achannels);" /><br /><br /> <button type="button" title="remove" onclick="movechannels(document.getElementById('channels').bchannels, document.getElementById('channels').achannels);">&nbsp;<img src="/images/arrowright.png">&nbsp;</button><br /><br />
<input type="button" value="&lt;&lt;&lt;" onclick="movechannels(document.getElementById('channels').achannels, document.getElementById('channels').bchannels);" /><br /><br /> <button type="button" title="add" onclick="movechannels(document.getElementById('channels').achannels, document.getElementById('channels').bchannels);">&nbsp;<img src="/images/arrowleft.png">&nbsp;</button><br /><br />
</td> </td>
<td> <td>
<select multiple="multiple" size="20" name="achannels"> <select multiple="multiple" size="20" name="achannels">
@@ -85,9 +81,9 @@ function poschannel(box, direction)
</tr> </tr>
</table> </table>
<input type="hidden" name="redirect" value="/Y_Boxcontrol_Bouquet_Editor_Main.yhtm"/> <input type="hidden" name="redirect" value="/Y_Boxcontrol_Bouquet_Editor_Main.yhtm"/>
<p><input type="button" value="submit" onclick="do_submit();" /> <p><button type="button" ytype="save" onclick="do_submit();">{=L:save=}</button>
<input type="button" value="abort" onclick="do_abort();" /></p> <button type="button" ytype="cancel" onclick="do_abort();">{=L:cancel=}</button></p>
All changes must be still stored! {=L:bouquets_must_be_saved=}
</form> </form>
</div> </div>
</div> </div>

View File

@@ -7,95 +7,91 @@
//<![CDATA[ //<![CDATA[
var gurl= ""; var gurl= "";
var gurl_last= ""; var gurl_last= "";
function hide_forms() function hide_forms(){
{
show_obj("add",false); show_obj("add",false);
show_obj("rename",false); show_obj("rename",false);
} }
function do_reload() function do_reload(){
{
//alert("href:"+document.location.href+" gurl:"+gurl+" path+s+h:"+document.location.pathname+document.location.search+document.location.hash);
if((document.location.pathname+document.location.search+document.location.hash) == gurl) if((document.location.pathname+document.location.search+document.location.hash) == gurl)
document.location.reload(); document.location.reload();
else else
document.location.href = gurl; document.location.href = gurl;
} }
function do_set(bouquetnr, action) function do_set(bouquetnr, action){
{ loadSyncURL("/control/setbouquet?selected="+bouquetnr+"&action="+action);
loadSyncURL("/control/setbouquet?selected="+bouquetnr+"&action="+action+"#akt");
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + bouquetnr+ "#akt"; gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + bouquetnr+ "#akt";
window.setTimeout('do_reload()',50); window.setTimeout('do_reload()',50);
} }
function do_save() function do_save(){
{
hide_forms(); hide_forms();
loadSyncURL("/control/savebouquet"); loadSyncURL("/control/savebouquet");
alert("Bouquet-Liste gespeichert"); alert("Bouquet-Liste gespeichert");
} }
function do_move(bouquetnr, action) function do_update(){
{ hide_forms();
loadSyncURL("/control/updatebouquet");
}
function do_move(bouquetnr, action){
var sel = parseInt(String(bouquetnr)); var sel = parseInt(String(bouquetnr));
loadSyncURL("/control/movebouquet?selected="+bouquetnr+"&action="+action+"#akt"); loadSyncURL("/control/movebouquet?selected="+bouquetnr+"&action="+action);
if(action=="up") sel--; if(action=="up") sel--;
else sel++; else sel++;
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + sel+ "#akt"; gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + sel+ "#akt";
window.setTimeout('do_reload()',50); window.setTimeout('do_reload()',50);
} }
function do_delete(bouquetnr, bouquet_name) function do_delete(bouquetnr, bouquet_name){
{
if (confirm("Bouquet \""+bouquet_name+"\" wirklich loeschen?")==true){ if (confirm("Bouquet \""+bouquet_name+"\" wirklich loeschen?")==true){
loadSyncURL("/control/deletebouquet?selected="+bouquetnr); loadSyncURL("/control/deletebouquet?selected="+bouquetnr);
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + bouquetnr+ "#akt"; gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + bouquetnr+ "#akt";
window.setTimeout('do_reload()',50); window.setTimeout('do_reload()',50);
} }
} }
function do_add_start() function do_add_start(){
{
hide_forms(); hide_forms();
show_obj("add",true); show_obj("add",true);
document.add.bouquet_name.focus();
} }
function do_add_abort() function do_add_abort(){
{
show_obj("add",false); show_obj("add",false);
} }
function do_add() function do_add(){
{
if(document.add.bouquet_name.value != ""){ if(document.add.bouquet_name.value != ""){
if(loadSyncURL("/control/addbouquet?name="+document.add.bouquet_name.value) != "Ok\r\n") res=loadSyncURL("/control/addbouquet?name="+document.add.bouquet_name.value);
/*if(res != "Ok\r\n")
alert("Bouquet-Name existiert schon!"); alert("Bouquet-Name existiert schon!");
else else*/
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm#akt"; gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm#akt";
// gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + bouquetnr+ "#akt";
show_obj("add",false); show_obj("add",false);
window.setTimeout('do_reload()',50); window.setTimeout('do_reload()',200);
} }
else else
alert("Es wurde kein Bouquet-Name angegeben!"); alert("Es wurde kein Bouquet-Name angegeben!");
} }
function do_rename_start(bouquetnr, bouquet_name) function do_rename_start(bouquetnr, bouquet_name){
{
hide_forms(); hide_forms();
document.rename.bouquetnr.value = bouquetnr; document.rename.bouquetnr.value = bouquetnr;
document.rename.bouquet_name.value = bouquet_name; document.rename.bouquet_name.value = bouquet_name;
show_obj("rename",true); show_obj("rename",true);
document.rename.bouquet_name.focus();
} }
function do_rename_abort() function do_rename_abort(){
{
show_obj("rename",false); show_obj("rename",false);
} }
function do_rename() function do_rename(){
{
if(document.rename.bouquet_name.value != ""){ if(document.rename.bouquet_name.value != ""){
if(loadSyncURL("/control/renamebouquet?selected="+document.rename.bouquetnr.value+"&nameto="+document.rename.bouquet_name.value) != "Ok\r\n") res=loadSyncURL("/control/renamebouquet?selected="+document.rename.bouquetnr.value+"&nameto="+document.rename.bouquet_name.value);
/* if(res != "Ok\r\n")
alert("Bouquet-Name existiert schon!"); alert("Bouquet-Name existiert schon!");
else{ else{
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + bouquetnr+ "#akt"; */
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + document.rename.bouquetnr.value+ "#akt";
show_obj("rename",false); show_obj("rename",false);
// display_obj("rename",false); window.setTimeout('do_reload()',200);
window.setTimeout('do_reload()',500); // }
}
} }
else else
alert("Es wurde kein Bouquet-Name angegeben!"); alert("Es wurde kein Bouquet-Name angegeben!");
@@ -120,65 +116,65 @@ function do_rename()
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:BoxControl#Bouquet-Editor=}{=var-set:menu=Bouquet-Editor=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-BoxControl-Bouquet-Editor=}{=var-set:menu={=L:bouquet_editor=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<p>
<a href="javascript:do_add_start()">[add Bouquet]</a>
<a href="javascript:do_save()">[save]</a>
</p>
<div id="add" class="fly_form"> <div id="add" class="fly_form">
<form name="add" accept-charset="UTF-8" action=""> <form name="add" accept-charset="UTF-8" action="">
<p><b>Bouquet add</b><br/> <p><b>{=L:bouquet_add=}</b><br/>
New Bouquets' name: {=L:name_of_bouquet=}:
<input type="text" size="30" name="bouquet_name" /> <input type="text" size="30" name="bouquet_name" />
<br/> <br/>
<input type="button" value="add" onclick="do_add()" /> <button type="button" ytype="save" onclick="do_add()">{=L:save=}</button>
<input type="button" value="abort" onclick="do_add_abort()" /> <button type="button" ytype="cancel" onclick="do_add_abort()">{=L:cancel=}</button>
</p> </p>
</form> </form>
</div> </div>
<div id="rename" class="fly_form"> <div id="rename" class="fly_form">
<form name="rename" accept-charset="UTF-8" action=""> <form name="rename" accept-charset="UTF-8" action="">
<p> <p>
<p><b>Bouquet rename</b><br/> <p><b>{=L:rename_bouquet=}</b><br/>
New Bouquets' name: {=L:name_of_bouquet=}:
<input type="text" size="30" name="bouquet_name" /> <input type="text" size="30" name="bouquet_name" />
<input type="hidden" name="bouquetnr" value="" /> <input type="hidden" name="bouquetnr" value="" />
<br/> <br/>
<input type="button" value="rename" onclick="do_rename()" /> <button type="button" ytype="save" onclick="do_rename()">{=L:save=}</button>
<input type="button" value="abort" onclick="do_rename_abort()" /> <button type="button" ytype="cancel" onclick="do_rename_abort()">{=L:cancel=}</button>
</p> </p>
</form> </form>
</div> </div>
<table width="90%"> <table width="100%" cellspacing="0" id="bouqueteditorlist">
<!-- line template --> <!-- line template -->
{=var-set:row= {=var-set:row=
<tr class="%c"> <tr class="%c">
<td align="center"> <td align="center" width="30px">
%s %s
<a href="javascript:do_set('%d','%s');"> <a href="javascript:do_set('%d','%s');">
<img src="/images/%s.gif" alt="%s" style="border: 0px" /></a> <img src="/images/%s.png" alt="%s" style="border: 0px" /></a>
</td> </td>
<td align="center"> <td align="center" width="30px">
<a href="javascript:do_set('%d','%s');"> <a href="javascript:do_set('%d','%s');">
<img src="/images/%s.gif" alt="%s" style="border: 0px" /> <img src="/images/%s.png" alt="%s" style="border: 0px" />
</a> </a>
</td> </td>
<td><a href="/Y_Boxcontrol_Bouquet_Editor_Edit.yhtm?selected=%d&amp;name=%s">%s</a></td> <td><a href="/Y_Boxcontrol_Bouquet_Editor_Edit.yhtm?selected=%d&amp;name=%s">%s</a></td>
<td width="100" style="white-space: nowrap;"> <td width="100" style="white-space: nowrap; font-weight:normal;">
<a href="javascript:do_rename_start('%d','%s');"> <a href="javascript:do_rename_start('%d','%s');">
<img src="/images/modify.png" alt="umbenennen" style="border: 0px" /></a>&nbsp; <img src="/images/modify.png" alt="umbenennen" style="border: 0px" /></a>&nbsp;
<a href="javascript:do_delete('%d','%s');"> <a href="javascript:do_delete('%d','%s');">
<img src="/images/remove.png" alt="l&ouml;schen" style="border: 0px" /></a>&nbsp; <img src="/images/remove.png" alt="l&ouml;schen" style="border: 0px" /></a>&nbsp;
<span style="visibility:%s;"><a href="javascript:do_move('%d','down');"> <span style="visibility:%s;"><a href="javascript:do_move('%d','down');">
<img src="/images/arrowdown.gif" alt="nach unten" style="border: 0px" /></a>&nbsp;</span> <img src="/images/arrowdown.png" alt="nach unten" style="border: 0px" /></a>&nbsp;</span>
<span style="visibility:%s;"><a href="javascript:do_move('%d','up');"> <span style="visibility:%s;"><a href="javascript:do_move('%d','up');">
<img src="/images/arrowup.gif" alt="nach oben" style="border: 0px" /></a>&nbsp;</span> <img src="/images/arrowup.png" alt="nach oben" style="border: 0px" /></a>&nbsp;</span>
</td> </td>
</tr> </tr>
=} =}
{=func:bouquet_editor_main {=var-get:row=}=} {=func:bouquet_editor_main {=var-get:row=}=}
</table> </table>
<p>
<button type="button" ytype="add" onclick="javascript:do_add_start()">{=L:bouquet_add=}</button>
<button type="button" ytype="saveall" onclick="javascript:do_save()">{=L:save_all=}</button>
</p>
</div> </div>
</div> </div>
</body> </body>

View File

@@ -3,7 +3,7 @@
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:BoxControl#Bouquet=}{=var-set:menu=Bouquet=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-BoxControl-Bouquet=}{=var-set:menu=Bouquet=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<iframe src="Y_Boxcontrol_Bouquetlist.yhtm?bouquet=#akt" scrolling="auto" marginheight="1" marginwidth="1" frameborder="0" name="bouquets" <iframe src="Y_Boxcontrol_Bouquetlist.yhtm?bouquet=#akt" scrolling="auto" marginheight="1" marginwidth="1" frameborder="0" name="bouquets"
style="height : 600px;width:20%;"></iframe> style="height : 600px;width:20%;"></iframe>

View File

@@ -1,25 +1,25 @@
{=var-set:cancache=yPInstall=} {=var-set:cancache=yPInstall=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
var g_volumen = 100; var g_volumen = 100;
function volumen_set_audiobar(_volumen) function volumen_set_audiobar(_volumen){
{ var l = $("audiobar_left");
var l = document.getElementById("audiobar_left"); var r = $("audiobar_right");
var r = document.getElementById("audiobar_right");
/*IE: width=0 -> =""*/ /*IE: width=0 -> =""*/
if(_volumen > 0) if(_volumen > 0)
l.width = _volumen.toString()+"%"; l.width = _volumen.toString()+"%";
else else
l.width = ""; l.width = "";
if(_volumen >= 100) if(_volumen >= 100)
r.width = ""; r.width = "";
else else
r.width = (100-_volumen).toString()+"%"; r.width = (100-_volumen).toString()+"%";
} }
function volumen_get() function volumen_get(){
{
var __volumen_str = loadSyncURL("/control/volume"); var __volumen_str = loadSyncURL("/control/volume");
var __volumen = parseInt(__volumen_str,10); var __volumen = parseInt(__volumen_str,10);
if(isNaN(__volumen)) __volumen=100; if(isNaN(__volumen)) __volumen=100;
@@ -27,88 +27,122 @@ function volumen_get()
g_volumen = __volumen; g_volumen = __volumen;
return __volumen; return __volumen;
} }
function volumen_set(_volumen) function volumen_set(_volumen){
{
_volumen = Math.min(100, _volumen); _volumen = Math.min(100, _volumen);
_volumen = Math.max(0, _volumen); _volumen = Math.max(0, _volumen);
loadSyncURL("/control/volume?"+_volumen); loadSyncURL("/control/volume?"+_volumen);
volumen_set_audiobar(_volumen); volumen_set_audiobar(_volumen);
g_volumen = _volumen; g_volumen = _volumen;
} }
function toggle_mute() function set_mute_button(){
{ var status = loadSyncURL("/control/volume?status");
var __button = document.getElementById("btMute"); $('btMute').update( (status==1)? "&nbsp;<img src=\"/images/volumeunmute.png\">&nbsp;": "&nbsp;<img src=\"/images/volumemute.png\">&nbsp;");
if(__button.firstChild.nodeValue == "Mute"){ return status;
loadSyncURL("/control/volume?mute");
__button.firstChild.nodeValue = "Unmute";
}
else{
loadSyncURL("/control/volume?unmute");
__button.firstChild.nodeValue = "Mute";
}
} }
function set_mode(_mode) function toggle_mute(){
{ var status = loadSyncURL("/control/volume?status");
if(status==0)//aus
loadSyncURL("/control/volume?mute");
else
loadSyncURL("/control/volume?unmute");
set_mute_button();
}
function set_mode(_mode){
var actual_mode = loadSyncURL("/control/getmode"); var actual_mode = loadSyncURL("/control/getmode");
if(actual_mode != _mode) if(actual_mode != _mode)
loadSyncURL("/control/setmode?" + _mode); loadSyncURL("/control/setmode?" + _mode);
parent.work.location.reload(); parent.work.location.reload();
} }
function init(){
volumen_set_audiobar(volumen_get());
set_mute_button();
var menu=ext.select_menu('boxcontrol');
menu.each(function(e){
var el=new Element('li').update(
new Element('a', {'target':'work',
'title': e.get('desc'),
'href': e.get('file')
}).update("-"+e.get('menuitem'))
);
$('secmenu').insert({'bottom':el});
});
}
//]]> //]]>
</script> </script>
</head> </head>
{=var-set:lcshot={=if-file-exists:/bin/lcshot~true~{=if-file-exists:/var/bin/lcshot~true~false=}=}=}
{=var-set:fbshot={=if-file-exists:/bin/fbshot~true~{=if-file-exists:/var/bin/fbshot~true~{=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=}=}=} {=var-set:fbshot={=if-file-exists:/bin/fbshot~true~{=if-file-exists:/var/bin/fbshot~true~{=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=}=}=}
{=var-set:dboxshot={=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=} {=var-set:dboxshot={=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=}
<body> <body>
<div class="y_menu_sec_box"> <div class="y_menu_sec_box">
<div class="y_menu_sec_box_head"><h2>Boxcontrol</h2></div> <div class="y_menu_sec_box_head"><h2>{=L:boxcontrol=}</h2></div>
<div class="y_menu_sec_box_body"> <div class="y_menu_sec_box_body">
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul> <ul id="secmenu">
<li><a target="work" title="Switch channels" href="Y_Boxcontrol_Bouquets.yhtm">Bouquets</a></li> <li><a target="work" title="{=L:bouquets_desc=}" href="Y_Boxcontrol_Bouquets.yhtm">{=L:bouquets=}</a></li>
<li><a target="work" title="control box functions (reboot, remote control, SPTS, ...)" href="Y_Tools_Boxcontrol.yhtm">Control</a></li> <li><a target="work" title="{=L:control_desc=})" href="Y_Tools_Boxcontrol.yhtm">{=L:control=}</a></li>
<li><a target="work" title="send Messages to box" href="Y_Boxcontrol_Messages.yhtm">Messages</a></li> <li><a target="work" title="{=L:messages_desc=}" href="Y_Boxcontrol_Messages.yhtm">{=L:messages=}</a></li>
<li><a target="work" title="Web-based Remote Control" href="Y_Tools_Rcsim.yhtm">Remote</a></li> <li><a target="work" title="{=L:remote_desc=}l" href="Y_Tools_Rcsim.yhtm">{=L:remote=}</a></li>
{=if-equal:{=var-get:fbshot=}~true~ {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li><a target="work" title="make osd screenshot" href="Y_Tools_fbshot.yhtm">OSD Screenshot</a></li> {=if-equal:{=var-get:lcshot=}~true~
<li><a target="work" title="{=L:lcd_screenshot_desc=}" href="Y_Tools_lcshot.yhtm">{=L:lcd_screenshot=}</a></li>
~ ~
<li class="disabled" title="fbshot not installed at /bin or /var/bin">OSD Screenshot</li> <li class="disabled" title="{=L:lcd_screenshot_desc_ni=}">{=L:lcd_screenshot=}</li>
=}
~=}
{=if-equal:{=var-get:fbshot=}~true~
<li><a target="work" title="{=L:osd_screenshot_desc=}" href="Y_Tools_fbshot.yhtm">{=L:osd_screenshot=}</a></li>
~
<li class="disabled" title="{=L:osd_screenshot_desc_ni=}>{=L:osd_screenshot=}</li>
=} =}
{=if-equal:{=var-get:dboxshot=}~true~ {=if-equal:{=var-get:dboxshot=}~true~
<li><a target="work" title="remote and osd" href="Y_Tools_remote_osd.yhtm">Remote &amp; OSD</a></li> <li><a target="work" title="{=L:remote_osd_desc=}" href="Y_Tools_remote_osd.yhtm">{=L:remote_osd=}</a></li>
~ ~
<li class="disabled" title="dboxshot not installed at /bin or /var/bin">Remote &amp; OSD</li> <li class="disabled" title="{=L:remote_osd_desc_ni=}">{=L:remote_osd=}</li>
=} =}
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
<div class="y_menu_sec_box"> <div class="y_menu_sec_box">
<div class="y_menu_sec_box_head"><h2>Control</h2></div> <div class="y_menu_sec_box_head"><h2>{=L:control=}</h2></div>
<div class="y_menu_sec_box_body"> <div class="y_menu_sec_box_body">
<center> <center>
<table class="y_text_boxcontrol_table" cellspacing="0" cellpadding="0" title="volumen display"> <table class="y_text_boxcontrol_table" cellspacing="0" cellpadding="0" title="{=L:volumen_display=}">
<tr> <tr>
<td id="audiobar_left" width="100%"><img src="/images/blank.gif" height="1" width="0" alt="."/></td> <td id="audiobar_left" width="100%"><img src="/images/blank.gif" height="1" width="0" alt="."/></td>
<td id="audiobar_right" width="0%" bgcolor="white"><img src="/images/blank.gif" height="1" width="0" alt="."/></td> <td id="audiobar_right" width="0%" bgcolor="white"><img src="/images/blank.gif" height="1" width="0" alt="."/></td>
</tr> </tr>
</table> </table>
<br/> <br/>
<span class="y_text_boxcontrol_button" title="decrease volumen"> <span title="{=L:decrease_volume=}">
<a href="javascript:volumen_set(g_volumen-10);">&nbsp;<strong>-</strong>&nbsp;</a></span> <a href="javascript:volumen_set(g_volumen-10);"><img src="/images/volumedown.png">&nbsp;</a></span>
<span class="y_text_boxcontrol_button" title="increase volumen"> <span title="{=L:increase_volume=}">
<a href="javascript:volumen_set(g_volumen+10);">&nbsp;<strong>+</strong>&nbsp;</a></span> <a href="javascript:volumen_set(g_volumen+10);"><img src="/images/volumeup.png"></a></span>
<span class="y_text_boxcontrol_button" title="mute volumen"> <span title="{=L:mute_volume=}">
<a id="btMute" href="javascript:toggle_mute();">Mute</a></span> <a id="btMute" href="javascript:toggle_mute();">&nbsp;<img src="/images/volumemute.png">&nbsp;</a></span>
<br/><br/> <!-- <br/><br/>-->
<span class="y_text_boxcontrol_button" title="switch to TV"><a href="javascript:set_mode('tv');">TV</a></span> <span title="{=L:switch_to_tv=}"><a href="javascript:set_mode('tv');"><img src="/images/live.gif">&nbsp;</a></span>
<span class="y_text_boxcontrol_button" title="switch to Radio"><a href="javascript:set_mode('radio');">Radio</a></span> <span title="{=L:switch_to_radio=}"><a href="javascript:set_mode('radio');">&nbsp;<img src="/images/radio.png"></a></span>
</center> </center>
</div> </div>
</div> </div>
{=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;slavebox=}~~
<div class="y_menu_sec_box">
<div class="y_menu_sec_box_head"><h2>Switch to</h2></div>
<div class="y_menu_sec_box_body">
<div class="y_menu_sec">
<ul>
<li><a target="_top" title="{=L:webinf_slavebox=}" href="http://{=ini-get:/var/tuxbox/config/Y-Web.conf;slavebox=}/">{=ini-get:/var/tuxbox/config/Y-Web.conf;slavebox=}</a></li>
</ul>
</div>
</div>
</div>
=}
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
volumen_set_audiobar(volumen_get()); init();
//]]> //]]>
</script> </script>
</body> </body>

View File

@@ -1,35 +1,22 @@
{=var-set:cancache=yPyes=} {=var-set:cancache=yPyes=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript">
//<![CDATA[
function do_message()
{
dbox_message(document.f.nmsg.value);
}
function do_popup()
{
dbox_popup(document.f.popup.value);
}
//]]>
</script>
</head> </head>
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:BoxControl#Message=}{=var-set:menu=Message=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-BoxControl-Message=}{=var-set:menu={=L:messages=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" action="" method="get" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8"> <form name="f" action="/control/message" method="get" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8">
<table class="y_invisible_table" cellpadding="5"> <table class="y_invisible_table" cellpadding="5" width="100%">
<tr><td class="y_form_header">Message to Coolstram-TV Screen</td></tr> <tr><td class="y_form_header">{=L:message_to_screen=}</td></tr>
<tr><td> <tr><td>
<input name="nmsg" type="text" size="50" maxlength="255" title="enter message to send to TV screen"/> <input name="nmsg" type="text" size="50" maxlength="255" title="{=L:message_to_screen_desc=}"/>
<input type="button" name="message" value="send" title="send message" onclick="do_message()"/> <button type="submit" name="message" ytype="go" title="{=L:send=message=}">{=L:send=}</button>
</td></tr> </td></tr>
<tr><td class="y_form_header">Popup message to Coolstream-TV Screen</td></tr> <tr><td class="y_form_header">{=L:popup_to_screen=}</td></tr>
<tr><td> <tr><td>
<input name="popup" type="text" size="50" maxlength="255" title="enter message to send to TV screen"/> <input name="popup" type="text" size="50" maxlength="255" title="{=L:message_to_screen_desc=}"/>
<input type="button" name="pmessage" value="send" title="send message" onclick="do_popup()"/> <button type="submit" name="pmessage" ytype="go" title="{=L:send=message=}">{=L:send=}</button>
</td></tr> </td></tr>
</table> </table>
<br/> <br/>

256
src/nhttpd/web/Y_EPG.js Normal file
View File

@@ -0,0 +1,256 @@
/* yWeb EPG by yjogol
$Date: 2008/02/24 08:23:12 $
$Revision: 1.2 $
*/
/*EPG+*/
var g_width_px=0; /*display width*/
//var g_cols_to_display=0; /*minutes to display*/
var g_number_of_cols=0; /*nr of cols*/
var g_width_all_items=0; /*width without bouquet*/
var c_width_px_per_min=3; /* px per minute */
var c_min_per_col=15;/*minutes per col*/
var c_width_px_bouquet=103; /* width of bouquet*/
var c_slider_width=20;
var epg_data; /* all EPG Data in 2-dim Array*/
var epg_data_index=0;
var g_timer_eventids = new Array();
var g_selected=0;
//var epg_diag= new Y.Dialog('epg_info');
/* calc the dimension px and mins to display */
function epg_plus_calc_dimensions(){
var show_dim=$('epg_plus').getDimensions();
var usable_width_px = show_dim.width-c_slider_width; /*get display width*/
var max_minutes_to_display = Math.round((usable_width_px-c_width_px_bouquet)/c_width_px_per_min); /* calc display minutes*/
g_number_of_cols = Math.round(max_minutes_to_display/c_min_per_col);
g_width_px = g_number_of_cols * c_width_px_per_min * c_min_per_col + c_width_px_bouquet;
g_width_all_items=g_width_px-c_width_px_bouquet;
$('epg_plus').style.cssText = "width:"+g_width_px;
}
function epg_zapto(){
dbox_zapto($('d_channel_id').innerHTML);
}
function epg_set_timer(){
dbox_set_timer($("d_channel_id").innerHTML, $("d_start").innerHTML, $("d_stop").innerHTML);
}
function build_epg_clear(){
var ep = $("epg_plus");
obj_clear_all_childs(ep);
}
/*set a layout box and content*/
function build_epg_setbox(_item, _starttime, _stoptime, _start, _stop){
var d_start = Math.max(_start, _starttime);
var d_stop = Math.min(_stop, _stoptime);
var d_left = c_width_px_bouquet+ Math.round((d_start-_starttime) * c_width_px_per_min / 60);
var d_width = Math.max(0,Math.round((d_stop-d_start) * c_width_px_per_min / 60)-3);
d_width= Math.min(d_width,g_width_px-d_left);
if(d_start<_stoptime)
_item.style.cssText = "position:absolute; top:0px; left:"+d_left+"px; width:"+d_width+"px;";
}
/*show epg details*/
function show_epg_item(_index){
g_selected=_index;
//epg_diag.show();
$("d_desc").update(epg_data[_index][4]+" "+epg_data[_index][0]);
$("d_info1").update(epg_data[_index][1]);
$("d_info2").update(epg_data[_index][2]);
$("d_start").update(epg_data[_index][3]);
$("d_stop").update(epg_data[_index][5]);
$("d_channel_id").update(epg_data[_index][6]);
$('d_logo').update( (g_logosURL!="")?"<img class=\"channel_logos\" src=\""+g_logosURL+"/"+epg_data[_index][6]+".gif\">":"" );
var imdb_link = '<a target="_blank" class="exlink" href="http://german.imdb.com/find?s=all&q='+(epg_data[_index][0]).gsub(" ","+")+'">IMDb</a>';
var klack_link = '<a target="_blank" class="exlink" href="http://klack.de/ProgramFinder2.php3?ZWTITLE='+(epg_data[_index][0]).gsub(" ","+")+'">klack.de</a>';
var tvinfo_link = '<a target="_blank" class="exlink" href="http://www.tvinfo.de/exe.php3?quicksearch=1&volltext='+(epg_data[_index][0]).gsub(" ","+")+'&tpk=&showall=&genretipp=&target=list.inc">tvinfo.de</a>';
$('d_lookup').update(imdb_link+" "+klack_link+" "+tvinfo_link);
var off=$('epg_plus').cumulativeScrollOffset();
// alert(off.inspect());
$('epg_info').setStyle({
'left':off.left+50+'px',
'top':off.top+50+'px',
'position': 'absolute'
// 'background-color': 'white'
});
show_obj("epg_info",true);
}
/* build one channel row*/
function build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime)
{
var xml = loadSyncURLxml("/control/epg?xml=true&channelid="+__channel_id+"}&details=true&stoptime="+_stoptime);
if(xml){
var prog_list = xml.getElementsByTagName('prog');
for(var i=0;i<prog_list.length;i++){
var prog = prog_list[i];
var _stop = getXMLNodeItemValue(prog, "stop_sec");
_stop = parseInt(_stop);
if(_stop > _starttime){
var _start_t = getXMLNodeItemValue(prog, "start_t");
var _start = getXMLNodeItemValue(prog, "start_sec");
_start = parseInt(_start);
var _stop_t = getXMLNodeItemValue(prog, "stop_t");
var _desc = epg_de_qout(getXMLNodeItemValue(prog, "description"));
var _info1 = epg_de_qout(getXMLNodeItemValue(prog, "info1"));
var _info2 = epg_de_qout(getXMLNodeItemValue(prog, "info2"));
var __item = obj_createAt(__bdiv, "div", "ep_bouquet_item");
var epg_obj= new Array(_desc, _info1, _info2, _start, _start_t, _stop.toString(), __channel_id);
epg_data.push(epg_obj);
__item.innerHTML = "<span onclick=\"show_epg_item('"+epg_data_index+"');\" title=\""+_start_t+" "+_desc+" (click for details)\">"+_desc+"</span>";
build_epg_setbox(__item, _starttime, _stoptime, _start, _stop);
epg_data_index++;
}
}
/* look for Timers*/
var fou= g_timer_eventids.findAll(function(e){
return e.get('channelid')==__channel_id;
});
if(fou){
fou.each(function(e){
var stTime="0";
var tclass="";
if (e.get('eventType') == 3) {
stTime=e.get('alarmTime');
stTime = parseInt(stTime, 10) + 200;
stTime = stTime.toString();
tclass="ep_bouquet_zap";
}
else if (e.get('eventType') == 5) {/*record*/
stTime=e.get('stopTime');
tclass="ep_bouquet_rec";
}
var __item = obj_createAt(__bdiv, "div", tclass);
build_epg_setbox(__item, _starttime, _stoptime, e.get('alarmTime'), stTime);
});
}
}
}
/* build time row*/
function build_epg_time_bar(_tdiv, _starttime, _stoptime){
var _start = _starttime;
for(var i=0;i<g_number_of_cols;i++){
var __item = obj_createAt(_tdiv, "div", "ep_time_bar_item");
__item.innerHTML = format_time(new Date(_start*1000));
var _stop = _start + (c_min_per_col * 60);
build_epg_setbox(__item, _starttime, _stoptime, _start, _stop);
_start = _stop;
}
}
function get_timer(){
g_timer_eventids = new Array();
var timer = loadSyncURL("/control/timer?format=id");
var lines=timer.split("\n");
lines.each(function(e){
var vals=e.split(" ");
if(vals.length>=8 && (vals[1]==3||vals[5])){ /*record and zap*/
var aTimer=$H({
'eventID': vals[0],
'eventType': vals[1],
'eventRepeat': vals[2],
'repcount': vals[3],
'announceTime': vals[4],
'alarmTime': vals[5],
'stopTime': vals[6],
'channelid': vals[7]
});
g_timer_eventids.push(aTimer);
}
},this);
}
/* main */
var g_i = 0;
var g_bouquet_list;
var g_logosURL="";
function build_epg_plus(_bouquet, _starttime)
{
build_epg_clear();
epg_data = new Array();
epg_data_index=0;
var _bouquets_xml = loadSyncURLxml("/control/getbouquet?bouquet="+_bouquet+"&xml=true");
if(_bouquets_xml){
g_bouquet_list = _bouquets_xml.getElementsByTagName("channel");
var ep = $("epg_plus");
var _stoptime = _starttime + c_min_per_col * 60 * g_number_of_cols;
var __tdiv = obj_createAt(ep, "div", "ep_time_bar");
var __tname_div = obj_createAt(__tdiv, "div", "ep_time_bar_item");
__tname_div.innerHTML = "Uhrzeit";
build_epg_time_bar(__tdiv, _starttime, _stoptime);
g_i=0;
window.setTimeout("build_epg_plus_loop("+_starttime+","+_stoptime+")",100);
}
}
function build_epg_plus_loop(_starttime, _stoptime)
{
if(g_i<g_bouquet_list.length){
var _bouquet = g_bouquet_list[g_i];
var __channel_name = getXMLNodeItemValue(_bouquet, "name");
var __channel_id = getXMLNodeItemValue(_bouquet, "id");
var ep = $("epg_plus");
var __bdiv = obj_createAt(ep, "div", "ep_bouquet");
var __bname_div = obj_createAt(__bdiv, "div", "ep_bouquet_name");
var ch_name_with_logo= (g_logosURL!="")?"<img class=\"channel_logos\" src=\""+g_logosURL+"/"+__channel_id+".gif\" alt=\""+__channel_name+"\" >":__channel_name;
$(__bname_div).update("<a href=\"javascript:do_zap('"+__channel_id+"');\">"+ch_name_with_logo+"</a>");
build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime);
window.setTimeout("build_epg_plus_loop("+_starttime+","+_stoptime+")",100);
g_i++;
}
else{
show_waitbox(false);
obj_disable("btGet", false);
}
}
/* main: build epg+ */
function build_epg_plus_main(){
epg_plus_calc_dimensions();
get_timer();
show_obj("epg_info",false);
show_waitbox(true);
obj_disable("btGet", true);
var sel=document.e.bouquets.selectedIndex;
if(sel != -1)
bou = document.e.bouquets[sel].value;
else
bou = 1;
_secs=document.e.epg_time.value;
_secs=parseInt(_secs);
build_epg_plus(bou, _secs);
/*document.getElementById("epg_plus").width = g_width_px;*/
}
/* change time offset and build epg+*/
function build_epg_plus_delta(_delta){
if(document.e.epg_time.selectedIndex + _delta < document.e.epg_time.length && document.e.epg_time.selectedIndex + _delta >= 0)
document.e.epg_time.selectedIndex += _delta;
build_epg_plus_main();
}
/* time delta dropdown-list*/
function build_time_list(_delta){
var now = new Date();
now.setMinutes(0);
now.setSeconds(0);
now.setMilliseconds(0);
now = new Date(now.getTime()+_delta*60*60*1000);
var _secs = now/1000;
var _hour = now.getHours();
var et = document.getElementById("epg_time");
for(i=0;i<24;i++){
var _time = (_hour + i) % 24;
if(_time < 10)
_time = "0"+_time;
_time += ":00";
var _time_t = _secs + i * 3600;
var __item = obj_createAt(et, "option", "ep_bouquet_item");
__item.text = _time;
__item.value = _time_t;
}
}
/*init call*/
function epg_plus_init(_logosURL){
g_logosURL = _logosURL;
window.onresize=epg_plus_calc_dimensions;
build_time_list(0);
}
/* ---*/
function do_zap(channelid){
dbox_zapto(channelid);
}

View File

@@ -0,0 +1,163 @@
var g_width_px=650;
var g_width_min=135;
var g_delta_min=5;
var g_bar_delta_min=15;
var _delta = Math.round(g_width_px * g_delta_min / g_width_min);
var epg_data;
var epg_data_index=0;
function epg_zapto()
{
dbox_zapto(document.getElementById("d_channel_id").text);
}
function epg_set_timer()
{
dbox_set_timer(document.getElementById("d_channel_id").text, document.getElementById("d_start").text, document.getElementById("d_stop").text);
}
function build_epg_clear()
{
var ep = document.getElementById("epg_plus");
obj_clear_all_childs(ep);
}
function build_epg_setbox(_item, _starttime, _stoptime, _start, _stop)
{
var d_start = Math.max(_start, _starttime);
var d_stop = Math.min(_stop, _stoptime);
var d_left = 103+ Math.round((d_start-_starttime) * _delta / 60 / g_delta_min);
var d_width = Math.max(0,Math.round((d_stop-d_start) * _delta / 60 / g_delta_min)-3);
_item.style.cssText = "position:absolute; top:0px; left:"+d_left+"px; width:"+d_width+"px;";
}
function show_epg_item(_index)
{
show_obj("epg_info",true);
document.getElementById("d_desc").innerHTML = epg_data[_index][4]+" "+epg_data[_index][0];
document.getElementById("d_info1").innerHTML = epg_data[_index][1];
document.getElementById("d_info2").innerHTML = epg_data[_index][2];
document.getElementById("d_start").text = epg_data[_index][3];
document.getElementById("d_stop").text = epg_data[_index][5];
document.getElementById("d_channel_id").text = epg_data[_index][6];
}
function build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime)
{
var xml = loadSyncURLxml("/control/epg?xml=true&channelid="+__channel_id+"}&details=true&stoptime="+_stoptime);
if(xml){
var prog_list = xml.getElementsByTagName('prog');
for(var i=0;i<prog_list.length;i++){
var prog = prog_list[i];
var _stop = getXMLNodeItemValue(prog, "stop_sec");
_stop = parseInt(_stop);
if(_stop > _starttime){
var _start_t = getXMLNodeItemValue(prog, "start_t");
var _start = getXMLNodeItemValue(prog, "start_sec");
_start = parseInt(_start);
var _stop_t = getXMLNodeItemValue(prog, "stop_t");
var _desc = epg_de_qout(getXMLNodeItemValue(prog, "description"));
var _info1 = epg_de_qout(getXMLNodeItemValue(prog, "info1"));
var _info2 = epg_de_qout(getXMLNodeItemValue(prog, "info2"));
var __item = obj_createAt(__bdiv, "div", "ep_bouquet_item");
var epg_obj= new Array(_desc, _info1, _info2, _start, _start_t, _stop.toString(), __channel_id);
epg_data.push(epg_obj);
__item.innerHTML = "<span onclick=\"show_epg_item('"+epg_data_index+"');\" title=\""+_start_t+" "+_desc+" (click for details)\">"+_desc+"</span>";
build_epg_setbox(__item, _starttime, _stoptime, _start, _stop);
epg_data_index++;
}
}
}
}
function build_epg_time_bar(_tdiv, _starttime, _stoptime)
{
var __w_step = Math.round(g_width_px * g_bar_delta_min / g_width_min);
var __steps = Math.round(g_width_px / __w_step)+1;
var _start = _starttime;
for(var i=0;i<__steps;i++){
var __item = obj_createAt(_tdiv, "div", "ep_time_bar_item");
__item.innerHTML = format_time(new Date(_start*1000));
var _stop = _start + (g_bar_delta_min * 60);
build_epg_setbox(__item, _starttime, _stoptime, _start, _stop);
_start = _stop;
}
}
var g_i = 0;
var g_bouquet_list;
function build_epg_plus(_bouquet, _starttime)
{
build_epg_clear();
epg_data = new Array();
epg_data_index=0;
var _bouquets_xml = loadSyncURLxml("/control/getbouquet?bouquet="+_bouquet+"&xml=true");
if(_bouquets_xml){
g_bouquet_list = _bouquets_xml.getElementsByTagName("channel");
var ep = document.getElementById("epg_plus");
var _stoptime = _starttime + g_width_min * 60;
var __tdiv = obj_createAt(ep, "div", "ep_time_bar");
var __tname_div = obj_createAt(__tdiv, "div", "ep_time_bar_item");
__tname_div.innerHTML = "Uhrzeit";
build_epg_time_bar(__tdiv, _starttime, _stoptime);
g_i=0;
window.setTimeout("build_epg_plus_loop("+_starttime+","+_stoptime+")",100);
}
}
function build_epg_plus_loop(_starttime, _stoptime)
{
if(g_i<g_bouquet_list.length){
var _bouquet = g_bouquet_list[g_i];
var __channel_name = getXMLNodeItemValue(_bouquet, "name");
var __channel_id = getXMLNodeItemValue(_bouquet, "id");
var ep = document.getElementById("epg_plus");
var __bdiv = obj_createAt(ep, "div", "ep_bouquet");
var __bname_div = obj_createAt(__bdiv, "div", "ep_bouquet_name");
__bname_div.innerHTML = __channel_name;
build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime);
window.setTimeout("build_epg_plus_loop("+_starttime+","+_stoptime+")",100);
g_i++;
}
else{
show_waitbox(false);
obj_disable("btGet", false);
}
}
function build_epg_plus_main()
{
show_obj("epg_info",false);
show_waitbox(true);
obj_disable("btGet", true);
var sel=document.e.bouquets.selectedIndex;
if(sel != -1)
bou = document.e.bouquets[sel].value;
else
bou = 1;
_secs=document.e.epg_time.value;
_secs=parseInt(_secs);
build_epg_plus(bou, _secs);
/*document.getElementById("epg_plus").width = g_width_px;*/
}
function build_epg_plus_delta(_delta)
{
if(document.e.epg_time.selectedIndex + _delta < document.e.epg_time.length && document.e.epg_time.selectedIndex + _delta >= 0)
document.e.epg_time.selectedIndex += _delta;
build_epg_plus_main();
}
function build_time_list(_delta)
{
var now = new Date();
now.setMinutes(0);
now.setSeconds(0);
now.setMilliseconds(0);
now = new Date(now.getTime()+_delta*60*60*1000);
var _secs = now/1000;
var _hour = now.getHours();
var et = document.getElementById("epg_time");
for(i=0;i<24;i++){
var _time = (_hour + i) % 24;
if(_time < 10)
_time = "0"+_time;
_time += ":00";
var _time_t = _secs + i * 3600;
var __item = obj_createAt(et, "option", "ep_bouquet_item");
__item.text = _time;
__item.value = _time_t;
}
}

View File

@@ -1,209 +1,68 @@
{=include-block:Y_Blocks.txt;head_no_charset=} {=include-block:Y_Blocks.txt;head_no_charset=}
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_EPG.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ function epg_imdb(){
var g_width_px=650;
var g_width_min=135;
var g_delta_min=5;
var g_bar_delta_min=15;
var _delta = Math.round(g_width_px * g_delta_min / g_width_min);
var epg_data;
var epg_data_index=0;
function epg_zapto()
{
dbox_zapto(document.getElementById("d_channel_id").text);
} }
function epg_set_timer()
{
dbox_set_timer(document.getElementById("d_channel_id").text, document.getElementById("d_start").text, document.getElementById("d_stop").text);
}
function build_epg_clear()
{
var ep = document.getElementById("epg_plus");
obj_clear_all_childs(ep);
}
function build_epg_setbox(_item, _starttime, _stoptime, _start, _stop)
{
var d_start = Math.max(_start, _starttime);
var d_stop = Math.min(_stop, _stoptime);
var d_left = 103+ Math.round((d_start-_starttime) * _delta / 60 / g_delta_min);
var d_width = Math.max(0,Math.round((d_stop-d_start) * _delta / 60 / g_delta_min)-3);
_item.style.cssText = "position:absolute; top:0px; left:"+d_left+"px; width:"+d_width+"px;";
}
function show_epg_item(_index)
{
show_obj("epg_info",true);
document.getElementById("d_desc").innerHTML = epg_data[_index][4]+" "+epg_data[_index][0];
document.getElementById("d_info1").innerHTML = epg_data[_index][1];
document.getElementById("d_info2").innerHTML = epg_data[_index][2];
document.getElementById("d_start").text = epg_data[_index][3];
document.getElementById("d_stop").text = epg_data[_index][5];
document.getElementById("d_channel_id").text = epg_data[_index][6];
}
function build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime)
{
var xml = loadSyncURLxml("/control/epg?xml=true&channelid="+__channel_id+"}&details=true&stoptime="+_stoptime);
if(xml){
var prog_list = xml.getElementsByTagName('prog');
for(var i=0;i<prog_list.length;i++){
var prog = prog_list[i];
var _stop = getXMLNodeItemValue(prog, "stop_sec");
_stop = parseInt(_stop);
if(_stop > _starttime){
var _start_t = getXMLNodeItemValue(prog, "start_t");
var _start = getXMLNodeItemValue(prog, "start_sec");
_start = parseInt(_start);
var _stop_t = getXMLNodeItemValue(prog, "stop_t");
var _desc = epg_de_qout(getXMLNodeItemValue(prog, "description"));
var _info1 = epg_de_qout(getXMLNodeItemValue(prog, "info1"));
var _info2 = epg_de_qout(getXMLNodeItemValue(prog, "info2"));
var __item = obj_createAt(__bdiv, "div", "ep_bouquet_item");
var epg_obj= new Array(_desc, _info1, _info2, _start, _start_t, _stop.toString(), __channel_id);
epg_data.push(epg_obj);
__item.innerHTML = "<span onclick=\"show_epg_item('"+epg_data_index+"');\" title=\""+_start_t+" "+_desc+"\">"+_desc+"</span>";
build_epg_setbox(__item, _starttime, _stoptime, _start, _stop);
epg_data_index++;
}
}
}
}
function build_epg_time_bar(_tdiv, _starttime, _stoptime)
{
var __w_step = Math.round(g_width_px * g_bar_delta_min / g_width_min);
var __steps = Math.round(g_width_px / __w_step)+1;
var _start = _starttime;
for(var i=0;i<__steps;i++){
var __item = obj_createAt(_tdiv, "div", "ep_time_bar_item");
__item.innerHTML = format_time(new Date(_start*1000));
var _stop = _start + (g_bar_delta_min * 60);
build_epg_setbox(__item, _starttime, _stoptime, _start, _stop);
_start = _stop;
}
}
var g_i = 0;
var g_bouquet_list;
function build_epg_plus(_bouquet, _starttime)
{
build_epg_clear();
epg_data = new Array();
epg_data_index=0;
var _bouquets_xml = loadSyncURLxml("/control/getbouquet?bouquet="+_bouquet+"&xml=true");
if(_bouquets_xml){
g_bouquet_list = _bouquets_xml.getElementsByTagName("channel");
var ep = document.getElementById("epg_plus");
var _stoptime = _starttime + g_width_min * 60;
var __tdiv = obj_createAt(ep, "div", "ep_time_bar");
var __tname_div = obj_createAt(__tdiv, "div", "ep_bouquet_name");
__tname_div.innerHTML = "Time";
build_epg_time_bar(__tdiv, _starttime, _stoptime);
g_i=0;
window.setTimeout("build_epg_plus_loop("+_starttime+","+_stoptime+")",100);
}
}
function build_epg_plus_loop(_starttime, _stoptime)
{
if(g_i<g_bouquet_list.length){
var _bouquet = g_bouquet_list[g_i];
var __channel_name = getXMLNodeItemValue(_bouquet, "name");
var __channel_id = getXMLNodeItemValue(_bouquet, "id");
var ep = document.getElementById("epg_plus");
var __bdiv = obj_createAt(ep, "div", "ep_bouquet");
var __bname_div = obj_createAt(__bdiv, "div", "ep_bouquet_name");
__bname_div.innerHTML = __channel_name;
build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime);
window.setTimeout("build_epg_plus_loop("+_starttime+","+_stoptime+")",100);
g_i++;
}
else{
show_waitbox(false);
obj_disable("btGet", false);
}
}
function build_epg_plus_main()
{
show_obj("epg_info",false);
show_waitbox(true);
obj_disable("btGet", true);
var sel=document.e.bouquets.selectedIndex;
if(sel != -1)
bou = document.e.bouquets[sel].value;
else
bou = 1;
_secs=document.e.epg_time.value;
_secs=parseInt(_secs);
build_epg_plus(bou, _secs);
/*document.getElementById("epg_plus").width = g_width_px;*/
}
function build_epg_plus_delta(_delta)
{
if(document.e.epg_time.selectedIndex + _delta < document.e.epg_time.length && document.e.epg_time.selectedIndex + _delta >= 0)
document.e.epg_time.selectedIndex += _delta;
build_epg_plus_main();
}
function build_time_list(_delta)
{
var now = new Date();
now.setMinutes(0);
now.setSeconds(0);
now.setMilliseconds(0);
now = new Date(now.getTime()+_delta*60*60*1000);
var _secs = now/1000;
var _hour = now.getHours();
var et = document.getElementById("epg_time");
for(i=0;i<24;i++){
var _time = (_hour + i) % 24;
if(_time < 10)
_time = "0"+_time;
_time += ":00";
var _time_t = _secs + i * 3600;
var __item = obj_createAt(et, "option", "ep_bouquet_item");
__item.text = _time;
__item.value = _time_t;
}
}
//]]>
</script> </script>
</head> </head>
<body> <body>
{=var-set:wait_text=get EPG.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:get_epg=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Live_Timer#EPG_Plus=}{=var-set:menu=EPG Plus=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Live_Timer-EPG_Plus=}{=var-set:menu={=L:epg_plus=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="e"> <form name="e">
<select size="1" class="y_live_bouquets" name="bouquets" title="select bouquet - channels will be updated"> <select size="1" class="y_live_bouquets" name="bouquets" title="{=L:select_bouquet=}">
{=func:get_bouquets_as_dropdown {=if-empty:{=bouquets=}~{=func:get_actual_bouquet_number=}~{=bouquets=}=}=} {=func:get_bouquets_as_dropdown {=if-empty:{=bouquets=}~{=func:get_actual_bouquet_number=}~{=bouquets=}=}=}
</select> </select>
<select id="epg_time" size="1" name="epg_time"> <select id="epg_time" size="1" name="epg_time">
</select> </select>
<input id="btGet" type="button" value="Update" title="get or refresh EPG" onclick="build_epg_plus_main()"> <button id="btGet" type="button" ytype="{=L:refresh=}" title="get or refresh EPG" onclick="build_epg_plus_main()">{=L:refresh=}</button>
<input id="btPast" type="button" value="-2" title="past hours" onclick="build_epg_plus_delta(-2)"> <button id="btPast" type="button" ytype="timedown" title="past hours" onclick="build_epg_plus_delta(-2)">-2</button>
<input id="btNext" type="button" value="+2" title="next hours" onclick="build_epg_plus_delta(2)"> <button id="btNext" type="button" ytype="timeup"" title="next hours" onclick="build_epg_plus_delta(2)">+2</button>
</form> </form>
<div id="epg_plus">&nbsp;</div> <div id="epg_plus">&nbsp;</div>
<div id="epg_info">
<strong>Details</strong>
<input type="button" value="Record" title="set timer for recording" onclick="epg_set_timer()"/>
<input type="button" value="Zap" title="switch to channel" onclick="epg_zapto()"/>
<div id="d_desc" class="ep_info_desc">&nbsp;</div>
<div id="d_info1" class="ep_info_info1">&nbsp;</div>
<div id="d_info2" class="ep_info_info2">&nbsp;</div>
<div id="d_start" style="display:none"></div>
<div id="d_stop" style="display:none"></div>
<div id="d_channel_id" style="display:none"><div>
</div>
</div> </div>
</div> </div>
<div id="epg_info" style="visible:hidden;">
<table cellpadding="2" cellspacing="2">
<tr valign="top">
<td width="50" valign="middle"><div id="d_logo"></div></td>
<td>
<div id="d_desc" class="ep_info_desc">&nbsp;</div>
<div id="d_info1" class="ep_info_info1">&nbsp;</div>
</td>
<td width="20"><a href="javascript:show_obj('epg_info',false);"><img src="/images/cross.png"></a></td>
</tr>
<tr>
<td colspan="3">
<div id="d_info2" class="ep_info_info2">&nbsp;</div>
<div id="d_start" style="display:none"></div>
<div id="d_stop" style="display:none"></div>
<div id="d_channel_id" style="display:none"><div>
<br/>
</td>
</tr>
<tr>
<td colspan="3">
<button ytype="record" title="set timer for recording" onclick="epg_set_timer();show_obj('epg_info',false);">{=L:record=}</button>
<button ytype="zap" title="switch to channel" onclick="epg_zapto();show_obj('epg_info',false);">{=L:zap=}</button>
{=L:lookup=}:
<span id="d_lookup"></span>
</td>
</tr>
</table>
</div>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
build_time_list(0); epg_plus_init("{=ini-get:/var/tuxbox/config/nhttpd.conf;Tuxbox.LogosURL=}");
//]]> //]]>
</script> </script>

View File

@@ -1,67 +1,57 @@
{=var-set:extention={=if-file-exists:/var/tuxbox/config/extentions.txt~/var/tuxbox/config/extentions.txt~{=if-file-exists:/var/httpd/extentions.txt~/var/httpd/extentions.txt~/share/tuxbox/neutrino/httpd-y/extentions.txt=}=}=} {=var-set:extension={=if-file-exists:/var/tuxbox/config/extentions.txt~/var/tuxbox/config/extentions.txt~{=if-file-exists:/var/httpd/extentions.txt~/var/httpd/extentions.txt~/share/tuxbox/neutrino/httpd-y/extentions.txt=}=}=}
{=var-set:management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip;{=func:get_request_data client_addr=}=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=} {=var-set:management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip;{=func:get_request_data client_addr=}=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function y_add_li_to_ul(_ul, _class, _value)
{ function build_menu(){
var __li=document.createElement("li"); // ext.read_items();
var __class = document.createAttribute("class"); var ext_normal=ext.select_type("n");
__class.nodeValue = _class; ext_normal.each(function(e){
_ul.setAttributeNode(__class); var item="<a target=\"work\" title=\""+e.get('desc')+"\" href=\""+e.get('file')+"\">"+e.get('menuitem')+"</a>";
_ul.appendChild(__li); y_add_li_to_ul(id("ext_normal"),"ext",item);
__li.innerHTML=_value; });
return __li; var ext_normal=ext.select_type("m");
} ext_normal.each(function(e){
function build_menu() {=if-empty:{=var-get:management=}~
{ var item="<span class=\"disabled\" title=\""+e.get('desc')+" (restricted by ManagementIP)\">"+e.get('menuitem')+"</span>";
var extfile = "{=var-get:extention=}"; ~
var extlist = loadSyncURL("/control/exec?Y_Tools&get_extention_list&" + Math.random()); var item="<a target=\"work\" title=\""+e.get('desc')+"\" href=\""+e.get('file')+"\">"+e.get('menuitem')+"</a>";
var list = extlist.split("\n"); =}
for(i=0;i<list.length;i++){ y_add_li_to_ul(id("ext_management"),"ext",item);
var ext_type = list[i].charAt(0); });
if(ext_type=="n" || ext_type=="m"){
var pieces=list[i].split(",");
if(ext_type=="n"){
var item="<a target=\"work\" title=\""+pieces[2]+"\" href=\""+pieces[3]+"\">"+pieces[1]+"</a>";
y_add_li_to_ul(id("ext_normal"),"ext",item);
} else {
{=if-empty:{=var-get:management=}~
var item="<span class=\"disabled\" title=\""+pieces[2]+" (restricted by ManagementIP)\">"+pieces[1]+"</span>";
~
var item="<a target=\"work\" title=\""+pieces[2]+"\" href=\""+pieces[3]+"\">"+pieces[1]+"</a>";
=}
y_add_li_to_ul(id("ext_management"),"ext",item);
}
}
}
} }
//]]> //]]>
</script> </script>
</head> </head>
<body onload="build_menu()"> <body onload="build_menu()">
<div class="y_menu_sec_box"> <div class="y_menu_sec_box">
<div class="y_menu_sec_box_head"><h2>Extentions</h2></div> <div class="y_menu_sec_box_head"><h2>{=L:extensions=}</h2></div>
<div class="y_menu_sec_box_body"> <div class="y_menu_sec_box_body">
<div class="y_menu_sec_section">Normal</div> <div class="y_menu_sec_section">{=L:normal=}</div>
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul id="ext_normal"> <ul id="ext_normal">
<ul> <ul>
</div> </div>
<div class="y_menu_sec_section">Management</div> <div class="y_menu_sec_section">{=L:management=}</div>
<div class="y_menu_sec" id="ext_management2"> <div class="y_menu_sec" id="ext_management2">
<ul id="ext_management"> <ul id="ext_management">
</ul> </ul>
</div> </div>
<div class="y_menu_sec_section">Admin</div> <div class="y_menu_sec_section">{=L:administration=}</div>
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul> <ul>
{=if-empty:{=var-get:management=}~ {=if-empty:{=var-get:management=}~
<li class="disabled" title="Extentions settings. (restricted by ManagementIP)">Settings</li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:settings=}</li>
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:ext.installer_updater=}</li>
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:uninstaller=}</li>
~ ~
<li><a target="work" title="Extentions settings" href="Y_Ext_Settings.yhtm">Settings</a></li> <li><a target="work" title="" href="Y_Ext_Settings.yhtm">{=L:settings=}</a></li>
<li><a target="work" title="Extentions updater/installer" href="Y_Ext_Update.yhtm">Updater/Installer</a></li> <li><a target="work" title="" href="Y_Ext_Update.yhtm">{=L:ext.installer_updater=}</a></li>
<li><a target="work" title="" href="Y_Ext_Uninstall.yhtm">{=L:uninstaller=}</a></li>
=} =}
</ul> </ul>
</div> </div>

View File

@@ -1,10 +1,12 @@
{=include-block:Y_Blocks.txt;management_check_top=} {=include-block:Y_Blocks.txt;management_check_top=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript" src="/Y_Ext_Update.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_submit() function do_submit(){
{
show_waitbox(true); show_waitbox(true);
document.f.submit(); document.f.submit();
} }
@@ -12,10 +14,10 @@ function do_submit()
</script> </script>
</head> </head>
<body> <body>
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Extentions#Settings=}{=var-set:menu=Extentions Settings=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Extensions-Settings=}{=var-set:menu={=L:settings=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" accept-charset="UTF-8" action="/y/cgi"> <form name="f" accept-charset="UTF-8" action="/y/cgi">
<table border="0" class="y_form_table" cellspacing="0" cellpadding="0"> <table border="0" class="y_form_table" cellspacing="0" cellpadding="0">
@@ -27,11 +29,10 @@ function do_submit()
<br/> <br/>
<input type="hidden" name="tmpl" value="Y_Ext_Update_refresh.yhtm"/> <input type="hidden" name="tmpl" value="Y_Ext_Update_refresh.yhtm"/>
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;ext_save_settings;nix"/> <input type="hidden" name="execute" value="include-block:Y_Blocks.txt;ext_save_settings;nix"/>
<input type="button" value="Save ..." title="submit and save values" onclick="do_submit()"/> <button type="button" ytype="save" title="{=L:save_values_desc=}" onclick="do_submit()">{=L:save=}</button>
</form> </form>
</div> </div>
</div> </div>
</body> </body>
</html> </html>
{=include-block:Y_Blocks.txt;management_check_bottom=} {=include-block:Y_Blocks.txt;management_check_bottom=}

View File

@@ -0,0 +1,79 @@
{=include-block:Y_Blocks.txt;management_check_top=}
{=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript" src="/Y_Ext_Update.js"></script>
<script type="text/javascript">
//<![CDATA[
function init(){
window.setTimeout("uninstall_build_list();",300);
}
//]]>
</script>
<style>
.type, .uninstall{
text-align:center;;
}
</style>
</head>
<body onload="init()">
{=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Help-Extensions-Uninstall=}{=var-set:menu=Extensions Uninstaller=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body">
<div id="statusline"><img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/>
<span id="status">Search for Extensions ...</span></div>
<form method="post" name="update" action="">
<!-- <input type="button" value="build list" title="build list" onclick="build_list()"/>-->
<br/>
<div class="y_form_header_oline">installed extensions</div>
<table class="lt_table" cellspacing="0" cellpadding="2">
<thead align="left">
<tr valign="bottom">
<th>Type</th><th>Extension</th>
<th>Tag</th><th>Version</th><th>Size/k</th><th>uninstall</th><th>Info</th>
</tr>
</thead>
<tbody id="update_list">
<tr><td></td></tr>
</tbody>
</table>
</form>
<br/>
<div id="free">?</div>
Free:&nbsp;<span id="avaiable">?</span>k
<form method="post" name="log" action="">
<div class="y_form_header_oline">Log</div>
<table class="lt_table" cellspacing="0" cellpadding="4">
<thead align="left">
<tr>
<th>&nbsp;</th><th>Action</th><th>Status</th>
</tr>
</thead>
<tbody id="slog_list">
<tr><td></td></tr>
</tbody>
</table>
<br/>
</form>
<br/>
<div class="y_form_header">New extension settings (preview)</div>
<form name="f" accept-charset="UTF-8" action="/y/cgi">
<table border="0" class="y_form_table" cellspacing="0" cellpadding="0">
<tr>
<td><textarea name="extentions" cols="90" rows="5" title="extention list" style="background : white; font : 'Courier New',medium monospace; color : #436976;"></textarea></td>
</tr>
</table>
<br/>
<input type="hidden" name="tmpl" value="Y_Ext_Update_refresh.yhtm"/>
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;ext_save_settings;nix"/>
</form>
</div>
</div>
</body>
</html>
{=include-block:Y_Blocks.txt;management_check_bottom=}

View File

@@ -0,0 +1,239 @@
function do_submit()
{
show_waitbox(true);
document.f.submit();
}
/*sLog*/
var sLog_body;
var sLog_line_number;
function sLog_init(){
sLog_line_number = 0;
sLog_body=$("slog_list");
}
function sLog_clear(){
sLog_body.update();
sLog_line_number = 0;
}
function sLog_addRow(_body, state, action_text, state_text){
sLog_line_number++;
var mycurrent_row = y_add_row_to_table(_body, ((sLog_line_number % 2) ==0)?"a":"b" );
var __img ="/images/info.png";
switch (state)
{
case "green": __img = "/images/accept.png"; break;
case "yellow": __img = "/images/alert.gif"; break;
case "ok": __img = "/images/info.png"; break;
case "red": __img = "/images/remove.png"; break;
}
y_add_html_cell_to_row(mycurrent_row, "icon", "<img src='"+__img+"'>");
y_add_html_cell_to_row(mycurrent_row, "action_text", action_text);
y_add_text_cell_to_row(mycurrent_row, "state_text", state_text);
}
/*update_list*/
var update_body;
/*<upd_site>,<type=n|m>,<link text>,<link helptext>,<url>,<unique tag>,<version>,<url of installer>*/
/*<type=n|m>,<link text>,<link helptext>,<url>,<unique tag>,<version>*/
/*<type=u>,<update site name>,<update site helptext>,<url of extention list>*/
function list_init(){
update_body=$("update_list");
}
function list_clear(){
update_body.update();
}
function update_list_addRow(_body, i, your_version, ext_item)
{
var mycurrent_row = y_add_row_to_table(_body, ((i % 2) ==0)?"a":"b" );
var check='<input type="checkbox" name="setupdate" id="ch'+i+'" ysize="'+ext_item.get('size')+'" onchange="changeitem(ch'+i+')">';
var info="";
var etype="";
switch (ext.upd_version){
case "1":
yweb_version = "%";
break;
case "2":
var yweb_version=ext_item.get('yweb_version');
if (!yweb.require(yweb_version))
check = "";
info="<a href=\""+ext_item.get('info_url')+"\" target=\"_blank\"><img src=\"/images/info.png\"/></a>";
break;
}
switch(ext_item.get('type')){
case "m": etype="<img src=\"/images/ext_mgr.png\" alt=\"m\" title=\"Extension: Management\"/>";break;
case "n": etype="<img src=\"/images/ext_normal.png\" alt=\"n\" title=\"Extension: Normal\"/>";break;
case "s": etype="<img src=\"/images/ext_script.png\" alt=\"s\" title=\"Script\"/>";break;
case "p": etype="<img src=\"/images/ext_plugin.png\" alt=\"p\" title=\"Plugin\"/>";break;
case "x": etype="<img src=\"/images/ext_menu.png\" alt=\"x\" title=\"Menu Extension\"/>";break;
case "o": etype="<img src=\"/images/ext_ex.png\" alt=\"o\" title=\"One Time Run\"/>";break;
}
var upd_version = ext_item.get('version');
if(version_str_less(your_version,upd_version))
upd_version="<b>"+upd_version+"</b>";
y_add_html_cell_to_row(mycurrent_row, "setupdate", check);
y_add_text_cell_to_row(mycurrent_row, "site", ext_item.get('site'));
y_add_html_cell_to_row(mycurrent_row, "type", etype);
y_add_text_cell_to_row(mycurrent_row, "menu", ext_item.get('menuitem'));
y_add_text_cell_to_row(mycurrent_row, "tag", ext_item.get('tag'));
y_add_text_cell_to_row(mycurrent_row, "your_version", your_version);
y_add_html_cell_to_row(mycurrent_row, "update_version", upd_version);
y_add_html_cell_to_row(mycurrent_row, "yweb_version", yweb_version);
y_add_html_cell_to_row(mycurrent_row, "size", ext_item.get('size'));
y_add_html_cell_to_row(mycurrent_row, "info", info);
}
function changeitem(e){
var avail=0;
try{
var a=$('avaiable').innerHTML;
avail=parseInt(a,10);
var siz=parseInt($(e).readAttribute('ysize'),10);
if($(e).checked)
avail-=siz;
else
avail+=siz;
$('avaiable').update(avail);
}
catch(e){};
}
function build_list(){
$('statusline').show();
window.setTimeout("build_list2()",300);
}
function build_list2()
{
show_free();
sLog_init();
list_init();
list_clear();
ext.read_items();
sLog_addRow(sLog_body, "green", "installed Extensions: "+ext.installed_extensions.length, "ok");
ext.on_get_updates=function(site,isError){
if(isError)
sLog_addRow(sLog_body, "red", "cannot get list from: "+site, "error");
else
sLog_addRow(sLog_body, "green", "get list from: "+site, "ok");
};
ext.get_updates();
/*build_list*/
i=0;
ext.upd_extensions.each(function(e){
var your_version="%";
var have=ext.installed_extensions.find(function(ex){
try { return ex.get('tag')==e.get('tag');}
catch(e){return false;}
});
if(have)
your_version = have.get('version');
update_list_addRow(update_body,++i,your_version,e);
});
$('statusline').hide();
}
function do_set_updates(){
show_waitbox(true);
window.setTimeout("do_set_updates2()",300);
}
function do_set_updates2(){
var _rows = update_body.getElementsByTagName("tr");
for(var i=0; i< _rows.length; i++){
var rowNode = _rows.item(i);
if(rowNode.firstChild.firstChild && rowNode.firstChild.firstChild.checked == true){
var res=ext.install(ext.upd_extensions[i]);
res=res.gsub("\n","<br/>");
if(res.search(/error/)!=-1)
sLog_addRow(sLog_body, "red", "update error: "+res, "error");
else
sLog_addRow(sLog_body, "green", "installed/updates: "+ext.upd_extensions[i].get('tag')+" "+ext.upd_extensions[i].get('version')+"<br>"+res, "ok");
}
}
sLog_addRow(sLog_body, "green", "updating local extension list. Starting ...", "ok");
var extfile=ext.build_extension_file();
document.f.extentions.value=extfile;
show_waitbox(false);
alert("Update finished. Menue reload.")
do_submit();
}
var avaiable=0;
function show_free(){
var res=dbox_exec_tools("var_space");
var Ausdruck = /([^ ]*)[ ]*([^ ]*)[ ]*([^ ]*)[ ]*([^ ]*)[ ]*([^ ]*)[ ]*([^ ]*).*$/;
Ausdruck.exec(res);
var total = RegExp.$2;
var used = RegExp.$3;
avaiable = RegExp.$4;
var percentage = RegExp.$5;
if (total != "") {
str = "Sapce in /var Total: " + total + "k used: " + used + "k Free: " + avaiable + "k part used: " + percentage;
$('avaiable').update(avaiable);
}
else
str = "Can not determine free space /var is no partition! JFFS2 oder YADD?";
$("free").update(str);
}
/*uninstall*/
function uninstall_list_addRow(_body, i, ext_item, has_uninstall)
{
var mycurrent_row = y_add_row_to_table(_body, ((i % 2) ==0)?"a":"b" );
// var check='<input type="checkbox" name="setupdate" id="ch'+i+'" ysize="'+ext_item.get('size')+'" onchange="changeitem(ch'+i+')">';
var etype="";
var info="<a href=\""+ext_item.get('info_url')+"\" target=\"_blank\"><img src=\"/images/info.png\"/></a>";
var uninst="<a href=\'javascript:do_uninstall(\""+ext_item.get('tag')+"\")\' title=\"uninstall\"><img src=\"/images/cross.png\"/></a>";
if(!has_uninstall) uninst="&nbsp;";
switch(ext_item.get('type')){
case "m": etype="<img src=\"/images/ext_mgr.png\" alt=\"m\" title=\"Extension: Management\"/>";break;
case "n": etype="<img src=\"/images/ext_normal.png\" alt=\"n\" title=\"Extension: Normal\"/>";break;
case "s": etype="<img src=\"/images/ext_script.png\" alt=\"s\" title=\"Script\"/>";break;
case "p": etype="<img src=\"/images/ext_plugin.png\" alt=\"p\" title=\"Plugin\"/>";break;
case "x": etype="<img src=\"/images/ext_menu.png\" alt=\"x\" title=\"Menu Extension\"/>";break;
case "o": etype="<img src=\"/images/ext_ex.png\" alt=\"o\" title=\"One Time Run\"/>";break;
}
y_add_html_cell_to_row(mycurrent_row, "type", etype);
y_add_text_cell_to_row(mycurrent_row, "menu", ext_item.get('menuitem'));
y_add_text_cell_to_row(mycurrent_row, "tag", ext_item.get('tag'));
y_add_text_cell_to_row(mycurrent_row, "version", ext_item.get('version'));
y_add_html_cell_to_row(mycurrent_row, "size", ext_item.get('size'));
y_add_html_cell_to_row(mycurrent_row, "uninstall", uninst);
y_add_html_cell_to_row(mycurrent_row, "info", info);
}
function do_uninstall(tag){
if (confirm("Delete " + tag)) {
show_waitbox(true);
window.setTimeout("do_uninstall2(\"" + tag + "\")", 300);
}
}
function do_uninstall2(tag){
var res=ext.uninstall(tag);
res=res.gsub("\n","<br/>");
if(res.search(/error/)!=-1)
sLog_addRow(sLog_body, "red", "uninstall error: "+res, "error");
else
sLog_addRow(sLog_body, "green", "uninstalled: "+tag+"<br/>"+res, "ok");
sLog_addRow(sLog_body, "green", "updating local extension list. Starting ...", "ok");
var extfile=ext.build_extension_file();
document.f.extentions.value=extfile;
show_waitbox(false);
alert("Update finished. Menue reload.")
do_submit();
}
function uninstall_build_list(){
$('statusline').show();
window.setTimeout("uninstall_build_list2()",300);
}
function uninstall_build_list2(){
show_free();
sLog_init();
list_init();
list_clear();
sLog_addRow(sLog_body, "green", "installed Extensions: "+ext.installed_extensions.length, "ok");
/*build_list*/
i=0;
ext.installed_extensions.sortBy(function(e){return e.get('tag')}).each(function(e){
res=loadSyncURL("/y/cgi?execute=if-file-exists:/var/tuxbox/config/ext/"+e.get('tag')+"_uninstall.inc~1~0");
uninstall_list_addRow(update_body,++i,e,res=="1");
});
$('statusline').hide();
}

View File

@@ -1,208 +1,57 @@
{=include-block:Y_Blocks.txt;management_check_top=} {=include-block:Y_Blocks.txt;management_check_top=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript" src="/Y_yweb.js"></script>
//<![CDATA[ <script type="text/javascript" src="/Y_Ext_Update.js"></script>
function do_submit()
{
show_waitbox(true);
document.f.submit();
}
/*sLog*/
var sLog_body;
var sLog_line_number;
function sLog_init()
{
sLog_line_number = 0;
sLog_body=document.getElementById("slog_list");
}
function sLog_clear()
{
while(sLog_body.childNodes.length > 0)
{
aChild=sLog_body.firstChild;
sLog_body.removeChild(aChild);
}
sLog_line_number = 0;
}
function sLog_addRow(_body, state, action_text, state_text)
{
sLog_line_number++;
var mycurrent_row = y_add_row_to_table(_body, ((sLog_line_number % 2) ==0)?"a":"b" );
var __img ="/images/ok.gif";
switch (state)
{
case "green": __img = "/images/check_green.gif"; break;
case "yellow": __img = "/images/excl_yellow.gif"; break;
case "ok": __img = "/images/ok.gif"; break;
case "red": __img = "/images/x_red.gif"; break;
}
y_add_html_cell_to_row(mycurrent_row, "icon", "<img src='"+__img+"'>");
y_add_html_cell_to_row(mycurrent_row, "action_text", action_text);
y_add_text_cell_to_row(mycurrent_row, "state_text", state_text);
}
/*update_list*/
var update_body;
var upd_extentions = new Array(); /*<upd_site>,<type=n|m>,<link text>,<link helptext>,<url>,<unique tag>,<version>,<url of installer>*/
var installed_extentions = new Array(); /*<type=n|m>,<link text>,<link helptext>,<url>,<unique tag>,<version>*/
var update_sites = new Array(); /*<type=u>,<update site name>,<update site helptext>,<url of extention list>*/
function update_list_init()
{
update_body=document.getElementById("update_list");
}
function update_list_clear()
{
while(update_body.childNodes.length > 0){
aChild=update_body.firstChild;
update_body.removeChild(aChild);
}
}
function update_list_addRow(_body, i, site, extention, tag, your_version, update_version)
{
var mycurrent_row = y_add_row_to_table(_body, ((i % 2) ==0)?"a":"b" );
y_add_html_cell_to_row(mycurrent_row, "setupdate", '<input type="checkbox" name="setupdate">');
y_add_text_cell_to_row(mycurrent_row, "site", site);
y_add_text_cell_to_row(mycurrent_row, "extention", extention);
y_add_text_cell_to_row(mycurrent_row, "tag", tag);
y_add_text_cell_to_row(mycurrent_row, "your_version", your_version);
y_add_html_cell_to_row(mycurrent_row, "update_version", update_version);
}
function build_list()
{
show_waitbox(true);
window.setTimeout("build_list2()",300);
}
function build_list2()
{
sLog_init();
update_list_init();
update_list_clear();
/*get installed ext and update sites*/
var extlist = loadSyncURL("/control/exec?Y_Tools&get_extention_list&" + Math.random());
var list = extlist.split("\n");
installed_extentions = new Array();
update_sites = new Array();
for(i=0;i<list.length;i++){
var ext_type = list[i].charAt(0);
if(ext_type=="n" || ext_type=="m"){
var pieces=list[i].split(",");
installed_extentions.push(pieces);
} else if(ext_type == "u"){
var pieces=list[i].split(",");
update_sites.push(pieces);
}
}
sLog_addRow(sLog_body, "green", "installed Extentions: "+installed_extentions.length, "ok");
/* get updatesite ext*/
upd_extentions = new Array();
for(i=0;i<update_sites.length;i++){
var update_file = loadSyncURL("/control/exec?Y_Tools&url_get&"+update_sites[i][3]+"&ext_upt.txt&" + Math.random());
//TODO: error checking
sLog_addRow(sLog_body, "green", "get list from: "+update_sites[i][3], "ok");
var list = update_file.split("\n");
for(j=0;j<list.length;j++){
var ext_type = list[j].charAt(0);
if(ext_type=="n" || ext_type=="m"){
var pieces=list[j].split(",");
pieces.unshift(update_sites[i][1]);
upd_extentions.push(pieces);
}
}
}
/*build_list*/
for(i=0;i<upd_extentions.length;i++){
var your_version="%";
for(j=0;j<installed_extentions.length;j++)
if(installed_extentions[j][4]==upd_extentions[i][5])
your_version = installed_extentions[j][5];
update_list_addRow(update_body,i,upd_extentions[i][0],upd_extentions[i][2],upd_extentions[i][5],your_version,upd_extentions[i][6]);
}
show_waitbox(false);
}
function do_set_updates()
{
show_waitbox(true);
window.setTimeout("do_set_updates2()",300);
}
function do_set_updates2()
{
var _rows = update_body.getElementsByTagName("tr");
for(var i=0; i< _rows.length; i++){
var rowNode = _rows.item(i);
if(rowNode.firstChild.firstChild.checked == true){
var res = loadSyncURL("/control/exec?Y_Tools&ext_installer&"+upd_extentions[i][7]);
if(res.search(/error/)!=-1){
alert(res);
sLog_addRow(sLog_body, "red", "update error: "+res, "error");
}
else{
sLog_addRow(sLog_body, "green", "installed/updates: "+upd_extentions[i][2], "ok");
add_item_to_ext_list(i);
}
}
}
sLog_addRow(sLog_body, "green", "updating local extention list. Starting ...", "ok");
var ext=write_extentions();
document.f.extentions.value=ext;
show_waitbox(false);
alert("update fertig. Menue neuladen.")
do_submit();
}
function write_extentions()
{
var ext="";
for(i=0;i<installed_extentions.length;i++)
ext += installed_extentions[i]+"\n";
for(i=0;i<update_sites.length;i++)
ext += update_sites[i]+"\n";
return ext;
}
function add_item_to_ext_list(upd_index)
{
/*allready installed*/
var allready_installed = false;
for(i=0;i<installed_extentions.length;i++){
if(installed_extentions[i][4]==upd_extentions[upd_index][5]){
allready_installed = true;
for(j=0;j<=5;j++)
installed_extentions[i][j] = upd_extentions[upd_index][j+1];
}
}
if(!allready_installed){
upd_extentions[upd_index].shift();//delete site name
upd_extentions[upd_index].pop();//delete url
var new_ext = upd_extentions[upd_index];
installed_extentions.push(new_ext);
}
}
//]]>
</script>
</head> </head>
<body> <body>
{=var-set:wait_text=Values are updated.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Extentions#Update=}{=var-set:menu=Extentions Updater/Installer=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Extensions-Update=}{=var-set:menu={=L:ext.installer_updater=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body" width="100%s"> <div class="work_box_body" width="100%">
<div id="statusline"><img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/>
<span id="status">Search for Updates ...</span></div>
<form method="post" name="update" action=""> <form method="post" name="update" action="">
<input type="button" value="build list" title="build list" onclick="build_list()"/> <!-- <input type="button" value="build list" title="build list" onclick="build_list()"/>-->
<br/> <br/>
<b>update Preview List</b> <div class="y_form_header_oline">update Preview List</div>
<table class="y_work_table" cellpadding="2"> <table class="lt_table" cellspacing="0" cellpadding="2">
<thead align="left"> <thead align="left">
<tr> <tr valign="bottom">
<th>&nbsp;</th> <th>&nbsp;</th>
<th>Site</th><th>Extention</th> <th>Site</th><th>Type</th><th>Extension</th>
<th>Tag</th><th>your Version</th><th>Update Version</th> <th>Tag</th><th>your<br/>Version</th><th>Update<br/>Version</th>
<th title="minimal yWeb version">yWeb</th><th>Size/k</th><th>Info</th>
</tr> </tr>
</thead> </thead>
<tbody id="update_list"> <tbody id="update_list">
<tr><td></td></tr> <tr><td></td></tr>
</tbody> </tbody>
</table> </table>
<input type="button" value="update/install" title="" name="set_updates" onclick="do_set_updates()"/>&nbsp; <button type="button" ytype="go" title="" name="set_updates" onclick="do_set_updates()">update/install</button>&nbsp;
</form> </form>
<br/>New extention settings (preview)<br/> <br/>
<div id="free">?</div>
Free:&nbsp;<span id="avaiable">?</span>k
<form method="post" name="log" action="">
<div class="y_form_header_oline">Log</div>
<table class="lt_table" cellspacing="0" cellpadding="4">
<thead align="left">
<tr>
<th>&nbsp;</th><th>Action</th><th>Status</th>
</tr>
</thead>
<tbody id="slog_list">
<tr><td></td></tr>
</tbody>
</table>
<br/>
</form>
<br/>
<div class="y_form_header">New extension settings (preview)</div>
<form name="f" accept-charset="UTF-8" action="/y/cgi"> <form name="f" accept-charset="UTF-8" action="/y/cgi">
<table border="0" class="y_form_table" cellspacing="0" cellpadding="0"> <table border="0" class="y_form_table" cellspacing="0" cellpadding="0">
<tr> <tr>
@@ -212,24 +61,15 @@ function add_item_to_ext_list(upd_index)
<br/> <br/>
<input type="hidden" name="tmpl" value="Y_Ext_Update_refresh.yhtm"/> <input type="hidden" name="tmpl" value="Y_Ext_Update_refresh.yhtm"/>
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;ext_save_settings;nix"/> <input type="hidden" name="execute" value="include-block:Y_Blocks.txt;ext_save_settings;nix"/>
</form> </form>
<br/>
<form method="post" name="log" action="">
<b>Log</b><br/>
<table class="y_work_table" cellpadding="4">
<thead align="left">
<tr>
<th>&nbsp;</th><th>Aktion</th><th>Status</th>
</tr>
</thead>
<tbody id="slog_list">
<tr><td></td></tr>
</tbody>
</table>
<br/>
</form>
</div> </div>
</div> </div>
<script type="text/javascript">
//<![CDATA[
window.setTimeout("build_list();",500);
yversion_str="{=ini-get:Y_Version.txt;version=}";
//]]>
</script>
</body> </body>
</html> </html>
{=include-block:Y_Blocks.txt;management_check_bottom=} {=include-block:Y_Blocks.txt;management_check_bottom=}

View File

@@ -1,21 +1,25 @@
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_onload() function do_onload()
{ {
yhttpd_cache_clear('');
ext.read_items();
parent.sec_menu.location.reload(); parent.sec_menu.location.reload();
} }
//]]> //]]>
</script> </script>
</head> </head>
<body onload="do_onload()"> <body onload="do_onload()">
{=var-set:wait_text=Values are updated.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:refreshing=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Extentions#Update=}{=var-set:menu=Extentions Settings saved=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Extensions-Update=}{=var-set:menu=Extensions Settings saved=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body" width="100%s"> <div class="work_box_body" width="100%s">
Settings stored. Menu is updated. Settings saved. Refreshing Menue now.
</div> </div>
</div> </div>
</body> </body>

117
src/nhttpd/web/Y_Flash.js Normal file
View File

@@ -0,0 +1,117 @@
/* yWeb Flash by yjogol
$Date: 2008/02/24 08:23:12 $
$Revision: 1.3 $
*/
function do_image_upload_dialog()
{
var nr=obj_get_radio_value('R1');
nr = (nr=="")?0:nr;
document.f.mtd_text.value = document.f.elements[nr].title;
document.f.mtd.value = nr;
document.f.execute.value = "script:Y_Tools image_flash_free_tmp";
document.f.tmpl.value = "Y_Tools_Flash_Upload.yhtm";
document.f.submit();
}
function do_image_download()
{
show_waitbox(true);
$('f').disable();
window.setTimeout("do_image_download_2()",100);
/*setTimeout:refresh output*/
}
function do_image_download_2()
{
var nr=obj_get_radio_value('R1');
nr = (nr=="")?0:nr;
var res = loadSyncURL("/control/exec?Y_Tools&image_backup&"+nr);
$('download_link').href = res;
$('f').enable();
show_waitbox(false);
$('download_box').show();
}
function goConfirmUrl(_meld, _url)
{
if (confirm(_meld)==true)
loadSyncURL(_url);
}
function image_delete()
{
var res = loadSyncURL("/control/exec?Y_Tools&image_delete");
$('download_box').hide();
}
/*flashing*/
var aktiv;
var flashing = false;
var flash_diag = null;
function show_progress(_msg,_type,_proz)
{
var __msg = $("msg");
__msg.value = _msg;
var tmsg="";
if(_type == 1){
tmsg="erasing";
$("erasing_left").width = _proz;
}
else if(_type == 2){
tmsg="writing";
$("erasing_left").width = "100%";
$("writing_left").width = _proz;;
}
else if(_type == 3){
tmsg="verifying";
$("writing_left").width = "100%";
$("verifying_left").width = _proz;;
}
loadSyncURL("/control/lcd?lock=1&clear=1&xpos=10&ypos=27&size=20&font=2&text=yWeb%20flashing%0A"+tmsg+"%20"+encodeURI(_proz)+"&update=1");
}
/* load fcp status from /tmp/e.txt*/
function progress_onComplete(_req)
{
var last = _req.responseText.lastIndexOf("\r");
var last_line = _req.responseText.slice(last+1, _req.responseText.length);
var _type = 0;
if(last_line.search(/Erasing/)!=-1)
_type = 1;
if(last_line.search(/Writing/)!=-1)
_type = 2;
if(last_line.search(/Verifying/)!=-1)
_type = 3;
var Ausdruck = /\((.*)\)/;
var e=Ausdruck.exec(last_line);
var p = RegExp.$1;
show_progress(last_line, _type, p);
}
function progress_get()
{
var myAjax = new Ajax.Request(
"/tmp/e.txt",
{
method: 'post',
onComplete: progress_onComplete
});
}
function do_submit()
{
var msg = "Image flashen?";
if(document.f.demo.checked)
msg = "DEMO: "+msg;
if(confirm(msg)==true){
show_waitbox(true);
document.f.submit();
$('f').disable();
}
}
function do_image_upload_ready_error()
{
$('f').enable();
show_waitbox(false);
}
function do_image_flash_ready()
{
window.clearInterval(aktiv);
$('flash_diag').hide();
loadSyncURL("/control/lcd?lock=0");
alert("Image geflasht. Nach Reboot OK druecken");
top.location.href="/";
}

View File

@@ -4,15 +4,17 @@
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Info#Hilfe=}{=var-set:menu=Help=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Info-Hilfe=}{=var-set:menu={=L:help=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<ul> <ul>
<li><a href="http://wiki.godofgta.de/Neutrino:yWeb" title="yWeb Help from Tuxbox Wiki" target="_blank">Tuxbox-Wiki Help</a></li> <li><a href="http://www.yjogol.com/faq" class="exlink" title="FAQ at yjogol.com" target="_blank">FAQ zu yWeb</a></li>
<li><a href="http://www.yjogol.de/yFAQ.htm" title="FAQ at yjogol.de" target="_blank">FAQ zu yWeb</a></li> <li><a href="http://wiki.dbox2-tuning.net/Neutrino:yWeb" class="exlink" title="yWeb Help from Tuxbox Wiki" target="_blank">Tuxbox-Wiki Help</a></li>
<li><a href="http://forum.tuxbox.org" title="Tuxbox Dicussion Forum" target="_blank">Tuxbox Forum</a></li> <li><a href="http://forum.tuxbox.org" class="exlink" title="Tuxbox Dicussion Forum" target="_blank">Tuxbox Forum</a></li>
<li><a href="http://www.yjogol.de" title="Homepage of yWeb" target="_blank">Homepage yWeb</a></li> <li><a href="http://www.yjogol.com" class="exlink" title="Homepage of yWeb" target="_blank">Homepage yWeb</a></li>
</ul> </ul>
</div> </div>
</div> </div>
{=include-block:Y_neutrino_Blocks.txt;neutrino_form_helpbox=}
</body> </body>
</html> </html>

View File

@@ -1,19 +1,36 @@
{=var-set:cancache=yPConf=} {=var-set:cancache=yPConf=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript">
function init(){
var menu=ext.select_menu('info');
menu.each(function(e){
var el=new Element('li').update(
new Element('a', {'target':'work',
'title': e.get('desc'),
'href': e.get('file')
}).update("-"+e.get('menuitem'))
);
$('secmenu').insert({'bottom':el});
});
}
</script>
</head> </head>
{=var-set:management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip;{=func:get_request_data client_addr=}=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=} {=var-set:management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip;{=func:get_request_data client_addr=}=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=}
<body> <body onload="init()">
<div class="y_menu_sec_box"> <div class="y_menu_sec_box">
<div class="y_menu_sec_box_head"><h2>Info</h2></div> <div class="y_menu_sec_box_head"><h2>Info</h2></div>
<div class="y_menu_sec_box_body"> <div class="y_menu_sec_box_body">
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul id="menu_sec"> <ul id="secmenu">
<li><a target="work" title="About yWeb" href="Y_About.yhtm">About</a></li> <li><a target="work" title="About yWeb" href="Y_About.yhtm">{=L:About=}</a></li>
<li><a target="work" title="Getting Help" href="Y_Info_Help.yhtm">Help</a></li> <li><a target="work" title="Getting Help" href="Y_Info_Help.yhtm">{=L:help=}</a></li>
{=if-empty:{=var-get:management=}~ {=if-empty:{=var-get:management=}~
<li class="disabled" title="Check for Update of yWeb (restricted by ManagementIP)">Auf Updates pr&uuml;fen</li> <li class="disabled" title="Check for Update of yWeb (restricted by ManagementIP)">{=L:check_for_updates=}</li>
~ ~
<!--dbox2 only <li><a target="work" title="Check for Updates of yWeb" href="Y_Info_Updates.yhtm">Auf Updates pr&uuml;fen</a></li> dbox2 only--> <li><a target="work" title="Check for Updates of yWeb" href="Y_Info_Updates.yhtm">{=L:check_for_updates=}</a></li>
=} =}
</ul> </ul>
</div> </div>

View File

@@ -13,12 +13,12 @@ function check_updates()
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Info#Auf_Updates_pr.C3.BCfen=}{=var-set:menu=Auf Updates pr&uuml;fen=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Info-Auf_Updates_pruefen=}{=var-set:menu={=L:check_for_updates=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<table border="0" cellpadding="2" cellspacing="4"> <table border="0" cellpadding="2" cellspacing="4">
<tr> <tr>
<td valign="top"> <td valign="top">
<b>Deine Version</b> <b>{=L:your_version=}</b>
<p> <p>
{=ini-get:Y_Version.txt;version=}<br/> {=ini-get:Y_Version.txt;version=}<br/>
{=ini-get:Y_Version.txt;date=}<br/> {=ini-get:Y_Version.txt;date=}<br/>
@@ -27,14 +27,14 @@ function check_updates()
</p> </p>
</td> </td>
<td valign="top"> <td valign="top">
<b>Neue Version</b> <b>{=L:actual_version=}</b>
<p> <p>
{=ini-get:/tmp/version.txt;version=}<br/> {=ini-get:/tmp/version.txt;version=}<br/>
{=ini-get:/tmp/version.txt;date=}<br/> {=ini-get:/tmp/version.txt;date=}<br/>
{=ini-get:/tmp/version.txt;type=}<br/><br/> {=ini-get:/tmp/version.txt;type=}<br/><br/>
{=ini-get:/tmp/version.txt;info=}<br/> {=ini-get:/tmp/version.txt;info=}<br/>
{=if-empty:{=ini-get:/tmp/version.txt;url=}~~ {=if-empty:{=ini-get:/tmp/version.txt;url=}~~
<a href="{=ini-get:/tmp/version.txt;url=}" target="_blank">Download</a><br/> <a href="{=ini-get:/tmp/version.txt;url=}" target="_blank">{=L:download=}</a><br/>
=} =}
</p> </p>
</td> </td>

337
src/nhttpd/web/Y_Live.js Normal file
View File

@@ -0,0 +1,337 @@
/* yWeb Live by yjogol
$Date: 2008/11/13 16:45:38 $
$Revision: 1.3 $
*/
/*globals*/
var V2 = null;
var isUDP = false;
var IsTimeshift = true; //TEST
var IsLocked = false;
var IsMute = false;
var vlc_width = 384;
var vlc_height = 288;
var Window_delta_w = 0;
var Window_delta_h = 0;
var Mode = "tv";
var AudioChannel = 0;
var isSubs=false;
var g_intervall=null;
/*resize,init*/
function do_onload(){
if(Mode != "tv" && Mode != "radio")
Mode = "tv";
set_controls("disable");
if(isUDP && Mode == "tv")
change_button_img('udp',"udp_switch_off");
else if(Mode == "tv")
change_button_img('udp',"udp_switch_on");
window.setTimeout("do_init()",300);
}
function do_onresize(){
if((vlc_width+Window_delta_w != window.innerWidth) || (vlc_height+Window_delta_h != window.innerHeight)){
window.onresize=null;
do_resize_vlc(yClientWidth()-Window_delta_w,yClientHeight()-Window_delta_h);
window.onresize=do_onresize;
}
}
function do_resize_vlc(width, height){
vlc_width = width;
vlc_height = height;
V2.set_resolution(width, height);
}
function do_resize(){
var dd = id('resolution');
var sel = dd.selectedIndex;
var w = -1;
var h = -1;
if(sel != -1){
switch(sel.toString()) {
case "0": w=384; h=288; break;
case "1": w=768; h=576; break;
case "2": w=960; h=720; break;
case "3": w=1152; h=864; break;
}
}
if(w != -1)
window.resizeTo(w+Window_delta_w, h+Window_delta_h);
}
function do_init(){
live_switchto(Mode);
vlc_width = 384;
vlc_height = 288;
Window_delta_w = yClientWidth() - vlc_width;
Window_delta_h = yClientHeight() - vlc_height;
if(Mode == "tv")
window.onresize=do_onresize;
insert_vlc_control();
build_bouquet_list(-1);
set_controls("play");
// do_play();
change_channel_play();
// g_intervall = window.setInterval('i_interval()', 20000);
}
function i_interval(){
obj_update('bouquets_div', "<img src=\"/images/smallwait.gif\"/> getting bouquets ...");
window.setTimeout("i_interval2()",300);
}
function i_interval2(){
build_bouquet_list(-1);
}
function always_on_top() { window.focus();
window.setTimeout("always_on_top()",100);
}
function insert_vlc_control(){
if(Mode == "radio") {
var radio_html="<div style=\"width:"+vlc_width+"px;height:"+vlc_height+"px;text-align:center;\">"
+"<br/><br/><br/><br/><br/><br/><div id=\"vlc_radio\"></div><br/><h1>Radio</h1></div>";
obj_update('vlc_view',radio_html);
V2 = new CyVLC('vlc', 'vlc_radio', 1, 1);
} else
V2 = new CyVLC('vlc', 'vlc_view', vlc_width, vlc_height);
}
function insert_message_control(msg){
var wait_html="<div style=\"width:"+vlc_width+"px;height:"+vlc_height+"px;text-align:center;\">"
+"<br/><br/><br/><br/><br/><br/><img src=\"/images/wait.gif\"><br/>"+msg+"</div>";
obj_update('vlc_view',wait_html);
}
function change_button_img(id,img){
var imgstr = "<img src=\"/images/"+img+".png\" width=\"16\" height=\"16\">";
obj_update(id, imgstr);
}
/*controls*/
function set_controls(state){
var go=false;
var play=false;
var opt=false;
if(V2 && V2.have_options())
opt=true;
var plugin="";
if(V2) plugin=V2.plugin;
switch(state){
case "disable":
go=false;
play=false;
break;
case "play":
go=true;
play=true;
break;
case "stop":
go=true;
play=false;
break;
}
obj_enable('go', go);
obj_enable('epg', go);
obj_enable('PlayOrPause', go);
obj_enable('stop', go);
obj_enable('mute', play);
obj_enable('volumeup', play);
obj_enable('volumedown', play);
obj_enable('livelock', go);
if(LiveTyp!="popup"){
show_obj('rec',opt);
obj_enable('rec', play && opt);
show_obj('transcode',opt);
obj_enable('transcode', play && opt);
}
if(Mode == "tv"){
show_obj('udp',haveUDP);
obj_enable('udp', go);
obj_enable('fullscreen', play);
show_obj('snapshot',(plugin != "moz3"));
obj_enable('snapshot', play && (plugin != "moz3"));
}
}
/*vlc control*/
function do_play(){
var options = new Array();
if(Mode == "tv"){
if(isDeinterlace){
options.push(":vout-filter=deinterlace");
options.push(":deinterlace-mode=bob");
}
if(isUDP && Mode == "tv"){
options.push(":access-filter=timeshift");
}
else
if(cachetime > 0)
options.push(":http-caching="+cachetime);
if(AudioChannel != 0)
options.push(":audio-track="+AudioChannel);
}
do_play_state(0, options);
}
function start_udp_server(){
var pids = loadSyncURL("/control/yweb?video_stream_pids=0&no_commas=true");
var args = ClientAddr+" 31330 0 "+pids;
var _cmd = "udp_stream start "+args;
var __cmd = _cmd.replace(/ /g, "&");
loadXMLDoc("/control/exec?Y_Live&"+__cmd, dummy);
}
function do_stop(){
V2.stop();
while(V2.is_playing())
;
change_button_img('PlayOrPause',"play");
set_controls("stop");
}
function dummy()
{
}
// VCL does not work with prototype.js!
function do_play_bystring(_str){
do_play_state(1,[_str]);
}
function do_play_state(_state, _options){
change_button_img('PlayOrPause',"pause");
_options.push(":input-repeat=1");
V2.options = _options;
var mrl = "";
if(Mode == "tv" && isUDP)
mrl = "udp://@:31330";
else
mrl = loadSyncURL("/control/build_live_url");
V2.set_actual_mrl(mrl);
V2.play();
V2.next();
set_controls("play");
if(Mode == "tv" && isUDP)
window.setTimeout("start_udp_server()",1000);
}
function do_play_or_pause(){
if(V2.is_playing()) {
change_button_img('PlayOrPause',"play");
V2.pause()
set_controls("stop");
} else {
change_button_img('PlayOrPause',"pause");
V2.play();
set_controls("play");
if(isUDP)
window.setTimeout("start_udp_server()",1000);
}
}
/* bouquet & channel panel */
function build_channel_list(bouquet, channel){
set_controls("disable");
var used_channel = channel;
if(used_channel == -1)
used_channel = loadSyncURL("/y/cgi?execute=func:get_actual_channel_id");
var channel_dropdown_url = "/y/cgi?execute=func:get_channels_as_dropdown%20" + bouquet;
channel_dropdown_url += "%20" + used_channel;
var channel_dropdown = "<select size=\"1\" class=\"y_live_channels\" id=\"channels\" title=\"select channel - use go to zap\">";
channel_dropdown += loadSyncURL(channel_dropdown_url);
channel_dropdown += "</select>";
obj_update('channels_div', channel_dropdown);
set_controls("play");
}
function change_bouquet(){
var dd = id('bouquets');
var bouquet = -1;
var channel = -1;
var sel = dd.selectedIndex;
if(sel != -1){
bouquet = dd[sel].value;
channel = 0;
}
obj_update('channels_div', "<img src=\"/images/smallwait.gif\"/> getting channels ...");
window.setTimeout("build_channel_list("+bouquet+", "+channel+")",2000);
}
function change_channel(){
isSubs=false;
var dd = id('channels');
var channel = -1;
var sel = dd.selectedIndex;
if(sel != -1)
channel = dd[sel].value;
do_stop();
AudioChannel = 0;
window.setTimeout("change_channel_zapto(\""+channel+"\")",500);
}
function change_sub_channel(){
var dd = id('subs');
var channel = -1;
var sel = dd.selectedIndex;
if(sel != -1)
channel = dd[sel].value;
do_stop();
AudioChannel = 0;
window.setTimeout("change_channel_zapto(\""+channel+"\")",500);
}
function change_channel_zapto(channel){
dbox_zapto(channel);
window.setTimeout("change_channel_play()",500);
}
function build_subchannels(){
var subs = loadSyncURL("/control/zapto?getallsubchannels");
if (subs != "") {
var optlist="";
var list = subs.split("\n");
for(i=0;i<list.length;i++){
var sc=split_one(list[i], " ");
optlist+="<option value=\""+sc[0]+"\">"+sc[1]+"</option>\n";
}
optlist="<select id='subs' class='y_live_channels'>"+optlist+"</select>"
id('subs_div').innerHTML = optlist;
display_obj("subsRow", true);
isSubs=true;
}
else
display_obj("subsRow", false);
}
function change_channel_play(){
do_play();
if (V2.have_options() && Mode == "tv") {
build_audio_pid_list();
if(!isSubs)
build_subchannels();
}
}
/*other buttons*/
function do_show_version(){
alert("Version:"+V2.version_string+" Generation:"+V2.plugin+"\nlevel1:"+V2.version_level1+" 2:"+V2.version_level2
+" 3:"+V2.version_level3+" 4:"+V2.version_level4);
}
function do_lock_toggle(){
if( !IsLocked ) {
change_button_img('livelock',"liveunlock");
IsLocked = true;
live_lock();
} else {
change_button_img('livelock',"livelock");
IsLocked = false;
live_unlock();
}
}
function do_mute_toggle(){
change_button_img('mute', (IsMute)?"volumemute":"volumeunmute");
IsMute = !IsMute;
V2.toggle_mute();
}
function do_udp_toggle(){
change_button_img('udp', (isUDP)?"udp_switch_on":"udp_switch_off");
isUDP = !isUDP;
do_stop();
do_play();
}
function view_streaminfo(){
window.open("/fb/info.dbox2","streaminfo","width=400,height=400");
}
function doChangeAudioPid(){
var dd = id('audiopid');
AudioChannel = dd.selectedIndex;
do_stop();
// insert_message_control("... zapping ...");
window.setTimeout("change_channel_play()",1000);
}
function build_audio_pid_list(){
var audio_pids_url = "/y/cgi?execute=func:get_audio_pids_as_dropdown";
var audio_pid_list = loadSyncURL(audio_pids_url);
audio_pid_list = "<select size=\"1\" class=\"y_live_audio_pids\" id=\"audiopid\" onChange=\"doChangeAudioPid()\">"
+ audio_pid_list
+ "</select>";
obj_update('audio_pid_list', audio_pid_list);
}

View File

@@ -1,345 +1,23 @@
{=var-set:must_management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=} {=var-set:must_management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=}
{=include-block:Y_Blocks.txt;head_no_charset=} {=include-block:Y_Blocks.txt;head_no_charset=}
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_VLC.js"></script> <script type="text/javascript" src="/Y_VLC.js"></script>
<script type="text/javascript" src="/Y_Live.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function build_bouquet_list(bouquet){
/*globals*/
{=var-set:udp={=if-file-exists:/sbin/udpstreamts~true~{=if-file-exists:/var/bin/udpstreamts~true~false=}=}=}
var V2 = null;
var IsUDP = false;
var IsTimeshift = true; //TEST
var IsLocked = false;
var IsMute = false;
var vlc_width = 384;
var vlc_height = 288;
var Window_delta_w = 0;
var Window_delta_h = 0;
var Mode = "tv";
var AudioChannel = 0;
/*resize,init*/
function do_onresize()
{
if((vlc_width+Window_delta_w != window.innerWidth) || (vlc_height+Window_delta_h != window.innerHeight)){
window.onresize=null;
do_resize_vlc(yClientWidth()-Window_delta_w,yClientHeight()-Window_delta_h);
window.onresize=do_onresize;
}
}
function do_resize_vlc(width, height)
{
vlc_width = width;
vlc_height = height;
V2.set_resolution(width, height);
}
function do_resize()
{
var dd = id('resolution');
var sel = dd.selectedIndex;
var w = -1;
var h = -1;
if(sel != -1){
switch(sel.toString()) {
case "0": w=384; h=288; break;
case "1": w=768; h=576; break;
case "2": w=960; h=720; break;
case "3": w=1152; h=864; break;
}
}
if(w != -1)
window.resizeTo(w+Window_delta_w, h+Window_delta_h);
}
function do_init()
{
live_switchto(Mode);
vlc_width = 384;
vlc_height = 288;
Window_delta_w = yClientWidth() - vlc_width;
Window_delta_h = yClientHeight() - vlc_height;
if(Mode == "tv")
window.onresize=do_onresize;
insert_vlc_control();
build_bouquet_list(-1);
set_controls("play");
do_play();
}
function always_on_top() {
window.focus();
window.setTimeout("always_on_top()",100);
}
function do_onload()
{
Mode = "{=mode=}";
if(Mode != "tv" && Mode != "radio")
Mode = "tv";
set_controls("disable");
if("{=ini-get:/var/tuxbox/config/Y-Web.conf;udp;false=}" == "true" && Mode == "tv")
id('udp').checked = true;
else if(Mode == "tv")
id('udp').checked = false;
/*TODO
{=if-equal:{=typ=}~popup~
if(is_ie)
window.onblur = self.focus();
else
always_on_top();
=}
*/
window.setTimeout("do_init()",300);
}
/*controls*/
function set_controls(state)
{
var go=false;
var play=false;
var opt=false;
if(V2 && V2.have_options())
opt=true;
var plugin="";
if(V2) plugin=V2.plugin;
switch(state){
case "disable":
go=false;
play=false;
break;
case "play":
go=true;
play=true;
break;
case "stop":
go=true;
play=false;
break;
}
obj_enable('go', go);
obj_enable('epg', go);
obj_enable('PlayOrPause', go);
obj_enable('stop', go);
obj_enable('mute', play);
obj_enable('volumeup', play);
obj_enable('volumedown', play);
obj_enable('livelock', go);
{=if-equal:{=typ=}~popup~~
show_obj('rec',opt);
obj_enable('rec', play && opt);
show_obj('transcode',opt);
obj_enable('transcode', play && opt);
=}
if(Mode == "tv"){
show_obj('have_udp',{=var-get:udp=});
obj_enable('udp', go);
obj_enable('fullscreen', play);
show_obj('snapshot',(plugin != "moz3"));
obj_enable('snapshot', play && (plugin != "moz3"));
}
}
function insert_vlc_control()
{
if(Mode == "radio") {
var radio_html="<div style=\"width:"+vlc_width+"px;height:"+vlc_height+"px;text-align:center;\">"
+"<br/><br/><br/><br/><br/><br/><div id=\"vlc_radio\"></div><br/><h1>Radio</h1></div>";
obj_update('vlc_view',radio_html);
V2 = new CyVLC('vlc', 'vlc_radio', 1, 1);
} else
V2 = new CyVLC('vlc', 'vlc_view', vlc_width, vlc_height);
}
function insert_message_control(msg)
{
var wait_html="<div style=\"width:"+vlc_width+"px;height:"+vlc_height+"px;text-align:center;\">"
+"<br/><br/><br/><br/><br/><br/><img src=\"/images/wait.gif\"><br/>"+msg+"</div>";
obj_update('vlc_view',wait_html);
}
function change_button_img(id,img)
{
var imgstr = "<img src=\"/images/"+img+".png\" width=\"16\" height=\"16\">";
obj_update(id, imgstr);
}
/*vlc control*/
function do_stop()
{
V2.stop();
while(V2.is_playing())
;
change_button_img('PlayOrPause',"play");
set_controls("stop");
}
function dummy()
{
}
function start_udp_server()
{
var pids = loadSyncURL("/control/yweb?video_stream_pids=0&no_commas=true");
var args = "{=func:get_request_data clientaddr=} 31330 0 "+pids;
var _cmd = "udp_stream start "+args;
var __cmd = _cmd.replace(/ /g, "&");
loadXMLDoc("/control/exec?Y_Live&"+__cmd, dummy);
}
function do_play_state(_state, _options)
{
change_button_img('PlayOrPause',"pause");
_options.push(":input-repeat=1");
V2.options = _options;
var mrl = "";
if(Mode == "tv" && id('udp').checked)
mrl = "udp://@:31330";
else
mrl = loadSyncURL("/control/build_live_url");
V2.set_actual_mrl(mrl);
V2.play();
V2.next();
set_controls("play");
if(id('udp').checked && Mode == "tv")
window.setTimeout("start_udp_server()",1000);
}
function do_play()
{
var options = new Array();
if(Mode == "tv"){
{=if-equal:{=ini-get:/var/tuxbox/config/Y-Web.conf;deinterlace;true=}~true~
options.push(":vout-filter=deinterlace");
options.push(":deinterlace-mode=bob");
=}
if(id('udp').checked && Mode == "tv"){
options.push(":access-filter=timeshift");
}
else{
var cachetime = {=ini-get:/var/tuxbox/config/Y-Web.conf;http_caching;0=};
if(cachetime > 0)
options.push(":http-caching="+cachetime);
}
if(AudioChannel != 0)
options.push(":audio-track="+AudioChannel);
}
do_play_state(0, options);
}
function do_play_or_pause()
{
if(V2.is_playing()) {
change_button_img('PlayOrPause',"play");
V2.pause()
set_controls("stop");
} else {
change_button_img('PlayOrPause',"pause");
V2.play();
set_controls("play");
if(id('udp').checked)
window.setTimeout("start_udp_server()",1000);
}
}
/* bouquet & channel panel */
function build_channel_list(bouquet, channel)
{
set_controls("disable");
var used_channel = channel;
if(used_channel == -1)
used_channel = loadSyncURL("/y/cgi?execute=func:get_actual_channel_id");
var channel_dropdown_url = "/y/cgi?execute=func:get_channels_as_dropdown%20" + bouquet;
channel_dropdown_url += "%20" + used_channel;
var channel_dropdown = "<select size=\"1\" class=\"y_live_channels\" id=\"channels\" title=\"select channel - use go to zap\">";
channel_dropdown += loadSyncURL(channel_dropdown_url);
channel_dropdown += "</select>";
obj_update('channels_div', channel_dropdown);
set_controls("play");
}
function build_bouquet_list(bouquet)
{
var used_bouquet = bouquet; var used_bouquet = bouquet;
if(used_bouquet == -1) if(used_bouquet == -1)
used_bouquet = loadSyncURL("/y/cgi?execute=func:get_actual_bouquet_number"); used_bouquet = loadSyncURL("/y/cgi?execute=func:get_actual_bouquet_number");
var bouquet_dropdown_url = "/y/cgi?execute=func:get_bouquets_as_dropdown%20" + used_bouquet + "{=if-empty:{=var-get:must_management=}~~%20true=}"; var bouquet_dropdown_url = "/y/cgi?execute=func:get_bouquets_as_dropdown%20" + used_bouquet + "{=if-empty:{=var-get:must_management=}~~%20true=}";
var bouquet_dropdown = "<select size=\"1\" class=\"y_live_bouquets\" id=\"bouquets\" onchange=\"change_bouquet()\" title=\"select bouquet - channels will be updated\">"; var bouquet_dropdown = "<select size=\"1\" class=\"y_live_bouquets\" id=\"bouquets\" onchange=\"change_bouquet()\" title=\"select bouquet - channels will be updated\">";
bouquet_dropdown += loadSyncURL(bouquet_dropdown_url); bouquet_dropdown += loadSyncURL(bouquet_dropdown_url);
bouquet_dropdown += "</select>"; bouquet_dropdown += "<\/select>";
obj_update('bouquets_div', bouquet_dropdown); obj_update('bouquets_div', bouquet_dropdown);
build_channel_list(used_bouquet, -1); build_channel_list(used_bouquet, -1);
} }
function change_bouquet() function view_epg(){
{
var dd = id('bouquets');
var bouquet = -1;
var channel = -1;
var sel = dd.selectedIndex;
if(sel != -1){
bouquet = dd[sel].value;
channel = 0;
}
build_channel_list(bouquet, channel);
}
function change_channel()
{
var dd = id('channels');
var channel = -1;
var sel = dd.selectedIndex;
if(sel != -1)
channel = dd[sel].value;
do_stop();
AudioChannel = 0;
window.setTimeout("change_channel_zapto(\""+channel+"\")",500);
}
function change_channel_zapto(channel)
{
dbox_zapto(channel);
window.setTimeout("change_channel_play()",500);
}
function change_channel_play()
{
do_play();
if(V2.have_options() && Mode == "tv")
build_audio_pid_list();
}
/*other buttons*/
function do_show_version()
{
alert("Version:"+V2.version_string+" Generation:"+V2.plugin+"\nlevel1:"+V2.version_level1+" 2:"+V2.version_level2
+" 3:"+V2.version_level3+" 4:"+V2.version_level4);
}
function do_lock_toggle()
{
if( !IsLocked ) {
change_button_img('livelock',"liveunlock");
IsLocked = true;
live_lock();
} else {
change_button_img('livelock',"livelock");
IsLocked = false;
live_unlock();
}
}
function do_mute_toggle()
{
change_button_img('mute', (IsMute)?"volumemute":"volumeunmute");
IsMute = !IsMute;
V2.toggle_mute();
}
function view_streaminfo()
{
window.open("/fb/info.dbox2","streaminfo","width=400,height=400");
}
function doChangeAudioPid()
{
var dd = id('audiopid');
AudioChannel = dd.selectedIndex;
do_stop();
// insert_message_control("... zapping ...");
window.setTimeout("change_channel_play()",1000);
}
function build_audio_pid_list()
{
var audio_pids_url = "/y/cgi?execute=func:get_audio_pids_as_dropdown";
var audio_pid_list = loadSyncURL(audio_pids_url);
audio_pid_list = "<select size=\"1\" class=\"y_live_audio_pids\" id=\"audiopid\" onChange=\"doChangeAudioPid()\">"
+ audio_pid_list
+ "</select>";
obj_update('audio_pid_list', audio_pid_list);
}
function view_epg()
{
var sel=document.x.channels.selectedIndex; var sel=document.x.channels.selectedIndex;
if(sel != -1){ if(sel != -1){
channel = document.x.channels[sel].value; channel = document.x.channels[sel].value;
@@ -351,34 +29,32 @@ function view_epg()
=} =}
} }
} }
function view_expert_mode() function view_epg_reload(){
{ build_bouquet_list(-1);
}
function view_expert_mode(){
parent.col2.location.href = "/Y_Live_Expert.yhtm?browser={=browser=}&mode={=mode=}&typ={=typ=}"; parent.col2.location.href = "/Y_Live_Expert.yhtm?browser={=browser=}&mode={=mode=}&typ={=typ=}";
} }
function view_record_mode() function view_record_mode(){
{
parent.col2.location.href = "/Y_Live_Record.yhtm?browser={=browser=}&mode={=mode=}&typ={=typ=}"; parent.col2.location.href = "/Y_Live_Record.yhtm?browser={=browser=}&mode={=mode=}&typ={=typ=}";
} }
function view_settings_mode() function view_settings_mode(){
{
parent.col2.location.href = "/Y_Settings_Live.yhtm?browser={=browser=}&mode={=mode=}&typ={=typ=}"; parent.col2.location.href = "/Y_Settings_Live.yhtm?browser={=browser=}&mode={=mode=}&typ={=typ=}";
} }
function view_transcode_mode() function view_transcode_mode(){
{
parent.col2.location.href = "/Y_Live_Transcode.yhtm?browser={=browser=}&mode={=mode=}&typ=transcode"; parent.col2.location.href = "/Y_Live_Transcode.yhtm?browser={=browser=}&mode={=mode=}&typ=transcode";
} }
//]]> //]]>
</script> </script>
</head> </head>
<body onload="do_onload()"> <body>
{=var-set:wait_text=Streaming-Informationen<br/>werden ermittelt.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text=Streaming-Informationen<br/>werden ermittelt.=}{=include-block:Y_Blocks.txt;snip_wait=}
<div id="live_panel"> <div id="live_panel">
<form name="x" action="" method="get"> <form name="x" action="" method="get" style="margin:0;padding:0;">
<table class="y_live_table" cellspacing="0" cellpadding="0" style="margin:0"> <table class="y_live_table" cellspacing="0" cellpadding="0" style="margin:0">
<tr><td> <tr><td>
<div id="bouquets_div"><div class="y_live_channels" style="border:1px solid #555555;"> <div id="bouquets_div"><div class="y_live_channels" style="border:1px solid #555555;">
<img src="/images/smallwait.gif"> getting bouquets ...</div> <img src="/images/smallwait.gif"/> getting bouquets ...</div>
</div> </div>
</td><td> </td><td>
{=if-equal:{=typ=}~popup~ {=if-equal:{=typ=}~popup~
@@ -393,14 +69,27 @@ function view_transcode_mode()
</td></tr> </td></tr>
<tr><td> <tr><td>
<div id="channels_div"><div class="y_live_bouquets" style="border:1px solid #555555;"> <div id="channels_div"><div class="y_live_bouquets" style="border:1px solid #555555;">
<img src="/images/smallwait.gif"> getting channels ...</div> <img src="/images/smallwait.gif"/> getting channels ...</div>
</div> </div>
</td><td> </td><td>
<button id="go" class="y_live_button" type="button" title="change channel" onclick="change_channel()" disabled="disabled"> <button id="go" class="y_live_button" type="button" title="change channel" onclick="change_channel()" disabled="disabled">
<img src="/images/play.png"></button> <img src="/images/play.png"/></button>
<button id="epg" class="y_live_button" type="button" title="view epg for selected channel" onclick="view_epg()" disabled="disabled"> <button id="epg" class="y_live_button" type="button" title="view epg for selected channel" onclick="view_epg()" disabled="disabled">
<img src="/images/epg.png"></button> <img src="/images/epg.png"/></button>
<button id="epg_reload" class="y_live_button" type="button" title="reload bouquets and channels" onclick="view_epg_reload()">
<img src="/images/reload.gif"/></button>
</td></tr> </td></tr>
<tr id="subsRow" style="display:none">
<td>
<div id="subs_div"><div class="y_live_channels" style="border:1px solid #555555;">
<img src="/images/smallwait.gif"/> getting subchannels ...</div>
</div>
</td><td>
<button class="y_live_button" type="button" title="change channel" onclick="change_sub_channel()">
<img src="/images/play.png"/></button>
</td>
</tr>
</table> </table>
</form> </form>
</div> </div>
@@ -408,62 +97,59 @@ function view_transcode_mode()
<div id="vlc_view"> <div id="vlc_view">
</div> </div>
<div id="live_controls"> <div id="live_controls">
<form name="v" action="" method="get"> <form name="v" action="" method="get" style="margin:0;padding:0;">
<button id="PlayOrPause" class="y_live_button" type="button" title="play or pause streaming" <button id="PlayOrPause" class="y_live_button" type="button" title="play or pause streaming"
onclick="do_play_or_pause()"><img src="/images/pause.png"></button> onclick="do_play_or_pause()"><img src="/images/pause.png"/></button>
<button id="stop" type="button" title="stop streaming" onclick="do_stop()" class="y_live_button"> <button id="stop" type="button" title="stop streaming" onclick="do_stop()" class="y_live_button">
<img src="/images/stop.png"></button> <img src="/images/stop.png"/></button>
<button id="mute" class="y_live_button" type="button" value="Mute" title="mute / unmute volume" onclick="do_mute_toggle()"> <button id="mute" class="y_live_button" type="button" value="Mute" title="mute / unmute volume" onclick="do_mute_toggle()">
<img src="/images/volumemute.png"></button> <img src="/images/volumemute.png"/></button>
<button id="volumedown" class="y_live_button" type="button" value="-" title="lower volume" onclick="V2.set_volume_delta(-10);"> <button id="volumedown" class="y_live_button" type="button" value="-" title="lower volume" onclick="V2.set_volume_delta(-10);">
<img src="/images/volumedown.png"></button> <img src="/images/volumedown.png"/></button>
<button id="volumeup" class="y_live_button" type="button" value="+" title="higher volume" onclick="V2.set_volume_delta(+10);"> <button id="volumeup" class="y_live_button" type="button" value="+" title="higher volume" onclick="V2.set_volume_delta(+10);">
<img src="/images/volumeup.png"></button> <img src="/images/volumeup.png"/></button>
{=if-equal:{=mode=}~tv~ {=if-equal:{=mode=}~tv~
<button id="fullscreen" class="y_live_button" type="button" value="F" <button id="fullscreen" class="y_live_button" type="button" value="F"
title="switch to fullscreen-mode - or use double-click" onclick="V2.toggle_fullscreen()"> title="switch to fullscreen-mode - or use double-click" onclick="V2.toggle_fullscreen()">
<img src="/images/fullscreen.png"></button> <img src="/images/fullscreen.png"/></button>
=} =}
<button id="livelock" class="y_live_button" type="button" value="Lock" title="lock / unlock TV (record mode, rc, lcd)" name="lock" onclick="do_lock_toggle()"> <button id="livelock" class="y_live_button" type="button" value="Lock" title="lock / unlock TV (record mode, rc, lcd)" name="lock" onclick="do_lock_toggle()">
<img src="/images/livelock.png"></button> <img src="/images/livelock.png"/></button>
<!-- </form>
</div>
<div id="live_extended_controls">
<form name="le" action="" method="get">-->
{=if-equal:{=mode=}~tv~ {=if-equal:{=mode=}~tv~
<span id="have_udp" style="visibility:hidden"><input type="checkbox" id="udp" title="UDP Streaming"/>UDP</span> <button class="y_live_button" style="visibility:hidden" type="button" value="set" title="UDP Streaming on/off" id="udp" onclick="do_udp_toggle()">
<img src="/images/udp_switch_on.png"/></button>
<button class="y_live_button" type="button" value="set" title="LiveView settings" id="settings" onclick="view_settings_mode()"> <button class="y_live_button" type="button" value="set" title="LiveView settings" id="settings" onclick="view_settings_mode()">
<img src="/images/properties.gif"></button> <img src="/images/properties.png"/></button>
<button class="y_live_button" type="button" value="S" title="create snapshot picture" id="snapshot" onclick="V2.snapshot()" style="visibility:hidden"> <button class="y_live_button" type="button" value="S" title="create snapshot picture" id="snapshot" onclick="V2.snapshot()" style="visibility:hidden">
<img src="/images/snapshot.png"></button> <img src="/images/snapshot.png"/></button>
=} =}
{=if-equal:{=typ=}~popup~~ {=if-equal:{=typ=}~popup~~
{=if-equal:{=typ=}~transcode~~ {=if-equal:{=typ=}~transcode~~
<button id="rec" class="y_live_button" type="button" value="Rec" title="record mode" name="record_mode" onclick="view_record_mode()" style="visibility:hidden"> <button id="rec" class="y_live_button" type="button" value="Rec" title="record mode" name="record_mode" onclick="view_record_mode()" style="visibility:hidden">
<img src="/images/record.gif"></button> <img src="/images/record.png"/></button>
=} =}
<button id="transcode" class="y_live_button" type="button" value="Transcode" title="transcode mode" onclick="view_transcode_mode()" style="visibility:hidden"> <button id="transcode" class="y_live_button" type="button" value="Transcode" title="transcode mode" onclick="view_transcode_mode()" style="visibility:hidden">
<img src="/images/transcode.png"></button> <img src="/images/transcode.png"/></button>
=} =}
<span id="audio_pid_list"></span> <span id="audio_pid_list"></span>
<!---
test:
<input class="y_live_button" type="button" value="Ver" title="record mode" name="record_mode" onclick="do_show_version()"/>
<button class="y_live_button" type="button" value="test" title=""
name="test" onclick="do_test()"/>test</button>
<input class="y_live_button" type="button" value="udp" title="test" name="snapshot" onclick="doUDP()"/>
-->
</form> </form>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
haveUDP = ("{=if-file-exists:/sbin/udpstreamts~true~{=if-file-exists:/var/bin/udpstreamts~true~false=}=}" == "true");
isUDP = ("{=ini-get:/var/tuxbox/config/Y-Web.conf;udp;false=}" == "true");
Mode = "{=mode=}";
LiveTyp = "{=typ=}";
ClientAddr = "{=func:get_request_data clientaddr=}";
insert_message_control("... build vlc control ..."); insert_message_control("... build vlc control ...");
isDeinterlace = ("{=ini-get:/var/tuxbox/config/Y-Web.conf;deinterlace;true=}" == "true");
cachetime = {=ini-get:/var/tuxbox/config/Y-Web.conf;http_caching;0=};
/* {=if-equal:{=typ=}~popup~ /* {=if-equal:{=typ=}~popup~
always_on_top(); always_on_top();
=} =}
window.setTimeout("do_init()",300);
*/ */
do_onload();
//]]> //]]>
</script> </script>

View File

@@ -18,7 +18,7 @@ function setTranscode()
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Live_Timer#LiveView=}{=var-set:menu={=typ=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Live_Timer-LiveView=}{=var-set:menu={=typ=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<table cellpadding="0" cellspacing="0" border="0"> <table cellpadding="0" cellspacing="0" border="0">
<tr><td valign="top"> <tr><td valign="top">
@@ -29,7 +29,7 @@ function setTranscode()
<td> <td>
<iframe name="col2" src="Y_blank.htm" height="400" width="350" scrolling="auto" marginheight="0" marginwidth="0" frameborder="0"> <iframe name="col2" src="Y_blank.htm" height="400" width="350" scrolling="auto" marginheight="0" marginwidth="0" frameborder="0">
Ihr Browser unterst&uuml;tzt Inlineframes nicht oder zeigt sie in der derzeitigen Konfiguration nicht an. Ihr Browser unterst&uuml;tzt Inlineframes nicht oder zeigt sie in der derzeitigen Konfiguration nicht an.
</iframe> </iframe>
</td> </td>
</tr> </tr>
</table> </table>

View File

@@ -3,14 +3,14 @@
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Live_Timer#Double_View=}{=var-set:menu=Live - DoubleView=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Live_Timer-Double_View=}{=var-set:menu=Live - DoubleView=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<iframe name="I1" src="Y_Live_View.yhtm" target="Hauptframe" width="400" height="360" scrolling="no"> <iframe name="I1" src="Y_Live_View.yhtm" target="Hauptframe" width="400" height="360" scrolling="no">
Your Browser does not support Inlineframes or is not configured correctely. Ihr Browser unterst&uuml;tzt Inlineframes nicht oder zeigt sie in der derzeitigen Konfiguration nicht an.
</iframe> </iframe>
{=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;slavebox=}~<div><font color="Red">No IP for the Slave Box supplied!<br>Einstellen unter Settings->yWeb.</font></div>~ {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;slavebox=}~<div><font color="Red">Kein IP f<EFBFBD>r Slave Box angegeben!<br>Einstellen unter Settings->yWeb.</font></div>~
<iframe name="I2" src="http://{=ini-get:/var/tuxbox/config/Y-Web.conf;slavebox=}/Y_Live_View.yhtm" width="400" height="360" scrolling="no"> <iframe name="I2" src="http://{=ini-get:/var/tuxbox/config/Y-Web.conf;slavebox=}/Y_Live_View.yhtm" width="400" height="360" scrolling="no">
Your Browser does not support Inlineframes or is not configured correctely. Ihr Browser unterst&uuml;tzt Inlineframes nicht oder zeigt sie in der derzeitigen Konfiguration nicht an.
</iframe> </iframe>
=} =}
</div> </div>

View File

@@ -20,13 +20,14 @@ function sLog_clear()
} }
sLog_line_number = 0; sLog_line_number = 0;
} }
function sLog_addRow(_body, _rec, _zapit, _start, _end, _title) function sLog_addRow(_body, _date, _rec, _zapit, _start, _end, _title)
{ {
sLog_line_number++; sLog_line_number++;
var mycurrent_row = y_add_row_to_table(_body, ((sLog_line_number % 2) ==0)?"a":"b" ); var mycurrent_row = y_add_row_to_table(_body, ((sLog_line_number % 2) ==0)?"a":"b" );
y_add_html_cell_to_row(mycurrent_row, "rec", _rec); y_add_html_cell_to_row(mycurrent_row, "rec", _rec);
y_add_html_cell_to_row(mycurrent_row, "zap", _zapit); y_add_html_cell_to_row(mycurrent_row, "zap", _zapit);
y_add_html_cell_to_row(mycurrent_row, "date", _date);
y_add_html_cell_to_row(mycurrent_row, "starttime", _start); y_add_html_cell_to_row(mycurrent_row, "starttime", _start);
y_add_html_cell_to_row(mycurrent_row, "endtime", _end); y_add_html_cell_to_row(mycurrent_row, "endtime", _end);
y_add_html_cell_to_row(mycurrent_row, "epgtitle", _title); y_add_html_cell_to_row(mycurrent_row, "epgtitle", _title);
@@ -55,7 +56,11 @@ function check_logo()
=} =}
show_obj("logo",true); show_obj("logo",true);
} }
function show_epg() function show_epg() {
show_waitbox(true);
window.setTimeout("_show_epg()",100);
}
function _show_epg()
{ {
check_logo(); check_logo();
sLog_init(); sLog_init();
@@ -71,23 +76,24 @@ function show_epg()
var prog_list = epg_xml.getElementsByTagName('prog'); var prog_list = epg_xml.getElementsByTagName('prog');
for(i=0;i<prog_list.length;i++){ for(i=0;i<prog_list.length;i++){
var prog = prog_list[i]; var prog = prog_list[i];
var _stop = getXMLNodeItemValue(prog, "stop_sec"); var _stop = getXMLNodeItemValue(prog, "stop_sec");
if(_stop > _starttime){ if(_stop > _starttime){
var _start_t = getXMLNodeItemValue(prog, "start_t"); var _start_t = getXMLNodeItemValue(prog, "start_t");
var _date = getXMLNodeItemValue(prog, "date");
var _start = getXMLNodeItemValue(prog, "start_sec"); var _start = getXMLNodeItemValue(prog, "start_sec");
var _stop_t = getXMLNodeItemValue(prog, "stop_t"); var _stop_t = getXMLNodeItemValue(prog, "stop_t");
var _desc = epg_de_qout(getXMLNodeItemValue(prog, "description")); var _desc = epg_de_qout(getXMLNodeItemValue(prog, "description"));
var _info1 = epg_de_qout(getXMLNodeItemValue(prog, "info1")); var _info1 = epg_de_qout(getXMLNodeItemValue(prog, "info1"));
var _info2 = epg_de_qout(getXMLNodeItemValue(prog, "info2")); var _info2 = epg_de_qout(getXMLNodeItemValue(prog, "info2"));
var epg_obj= new Array(_desc, _info1, _info2, _start, _start_t, _stop.toString(), "{=channel=}"); var epg_obj= new Array(_desc, _info1, _info2, _start, _start_t, _stop.toString(), "{=channel=}");
epg_data.push(epg_obj); epg_data.push(epg_obj);
var _rec = "<a title=\"record\" href=\"javascript:set_timer('{=channel=}',"+_start+","+_stop+");\">Rec</a>"; var _rec = "<a title=\"record\" href=\"javascript:set_timer('{=channel=}',"+_start+","+_stop+");\"><img src=\"images/record.png\"/></a>";
var _zapit = "<a title=\"zapping\" href=\"javascript:set_zapit('{=channel=}',"+_start+");\">Zap</a>"; var _zapit = "<a title=\"zapping\" href=\"javascript:set_zapit('{=channel=}',"+_start+");\"><img src=\"images/zap.png\"/></a>";
var _tit = "<span onmouseover=\"show_info('"+epg_data_index+"')\">"+_desc+"</span>"; var _tit = "<span onmouseover=\"show_info('"+epg_data_index+"')\">"+_desc+"</span>";
sLog_addRow(sLog_body, _rec, _zapit, _start_t, _stop_t, _tit); sLog_addRow(sLog_body, _date, _rec, _zapit, _start_t, _stop_t, _tit);
epg_data_index++; epg_data_index++;
} }
} }
@@ -97,26 +103,18 @@ function show_epg()
//]]> //]]>
</script> </script>
</head> </head>
{=var-set:wait_text=EPG is loaded.=}{=include-block:Y_Blocks.txt;snip_show_wait=} {=var-set:wait_text={=L:get_epg=}=}{=include-block:Y_Blocks.txt;snip_show_wait=}
<body onload="show_epg()"> <body onload="show_epg()">
<table class="y_invisible_table" cellpadding="4" width="100%"> <table id="epglist" class="y_invisible_table" cellpadding="4" cellspacing="0" width="100%">
<thead align="left"> <thead align="left">
<tr> <tr>
<th colspan="2"><img id="logo" src="{=ini-get:/var/tuxbox/config/nhttpd.conf;ExtrasDocURL=}/logos/{=channel=}.gif" style="visibility:hidden">&nbsp;</th> <th colspan="2"><img id="logo" src="{=ini-get:/var/tuxbox/config/nhttpd.conf;Tuxbox.LogosURL=}/{=channel=}.gif" style="visibility:hidden">&nbsp;</th>
<th>From</th><th>to</th><th>Broadcasting</th> <th>{=L:date=}</th><th>{=L:from=}</th><th>{=L:to=}</th><th>{=L:program=}</th>
</tr> </tr>
</thead> </thead>
<tbody id="slog_list"> <tbody id="slog_list">
<tr><td></td></tr>
</tbody> </tbody>
</table> </table>
<br /> <br />
<script type="text/javascript">
//<![CDATA[
// show_waitbox(true);
// window.setTimeout("show_epg()",500);
//]]>
</script>
</body> </body>
</html> </html>

View File

@@ -2,8 +2,7 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function show_info(_desc, _info1, _info2) function show_info(_desc, _info1, _info2){
{
document.getElementById("description").innerHTML = _desc; document.getElementById("description").innerHTML = _desc;
document.getElementById("info1").innerHTML = _info1; document.getElementById("info1").innerHTML = _info1;
document.getElementById("info2").innerHTML = _info2; document.getElementById("info2").innerHTML = _info2;
@@ -11,12 +10,12 @@ function show_info(_desc, _info1, _info2)
//]]> //]]>
</script> </script>
</head> </head>
<a href="javascript:window.history.back()"><u>Back</u></a> <a href="javascript:window.history.back()"><u>{=L:back=}</u></a>
<body> <body>
<div class="y_epg_info"> <div class="y_epg_info">
<div id="description">&nbsp;</div> <div id="description">&nbsp;</div>
<div id="info1">&nbsp;</div> <div id="info1">&nbsp;</div>
<div id="info2">For details: move the mouse on the corresponding program.</div> <div id="info2">{=L:hover_for_details=}</div>
</div> </div>
</body> </body>
</html> </html>

View File

@@ -1,32 +1,48 @@
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
var live_window; var live_window;
function go_live() function go_live_popup(_url){
{
/* try{
live_window.close();
}catch(e){}*/
var _url = (is_ie) ? "Y_Tools_NetStream.yhtm?browser=ie" : "Y_Tools_NetStream.yhtm?browser=moz";
parent.frames[1].location.href = _url;
}
function go_live_popup(_url)
{
res_w=384; res_w=384;
res_h=288+90; res_h=288+120;
var par = "width="+res_w+",height="+res_h+",resizable=yes"; var par = "width="+res_w+",height="+res_h+",resizable=yes";
tv = window.open(_url,'tv',par); tv = window.open(_url,'tv',par);
parent.frames[1].location.href = "Y_Live_Msg.yhtm"; parent.frames[1].location.href = "Y_Live_Msg.yhtm";
} }
function go_live_popup_tv() function go_live_popup_tv(){
{
live_window = go_live_popup("/Y_Live.yhtm?typ=popup&mode=tv"); live_window = go_live_popup("/Y_Live.yhtm?typ=popup&mode=tv");
} }
function go_live_popup_radio() function go_live_popup_radio(){
{
live_window = go_live_popup("/Y_Live.yhtm?typ=popup&mode=radio"); live_window = go_live_popup("/Y_Live.yhtm?typ=popup&mode=radio");
} }
function epg_plus_popup() {
window.open("Y_EPG_Plus.yhtm","_blank","resizable=yes,scrollbars=yes");
}
function init(){
var menu=ext.select_menu('live');
menu.each(function(e){
var el=new Element('li').update(
new Element('a', {'target':'work',
'title': e.get('desc'),
'href': e.get('file')
}).update("-"+e.get('menuitem'))
);
$('secmenu_live').insert({'bottom':el});
});
var menu=ext.select_menu('timer');
menu.each(function(e){
var el=new Element('li').update(
new Element('a', {'target':'work',
'title': e.get('desc'),
'href': e.get('file')
}).update("-"+e.get('menuitem'))
);
$('secmenu_timer').insert({'bottom':el});
});
}
//]]> //]]>
</script> </script>
</head> </head>
@@ -37,33 +53,36 @@ function go_live_popup_radio()
<div class="y_menu_sec_box_body"> <div class="y_menu_sec_box_body">
<div class="y_menu_sec_section">Live</div> <div class="y_menu_sec_section">Live</div>
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul> <ul id="secmenu_live">
<li> <li>
<table class="y_invisible_table" cellspacing="0" cellpadding="0" style="width:100%; padding-right:15px;margin:0"><tr> <table class="y_invisible_table" cellspacing="0" cellpadding="0" style="width:100%; padding-right:15px;margin:0"><tr>
<td><a target="work" title="LiveTV" href="Y_LiveViewFull.yhtm?mode=tv&amp;typ=live">TV</a></td> <td><a target="work" title="LiveTV" href="Y_LiveViewFull.yhtm?mode=tv&amp;typ=live">TV</a></td>
<td align="right"><a title="LiveTV (popup)" href="javascript:go_live_popup_tv()">Popup</a></td> <td align="right"><a title="LiveTV (popup)" href="javascript:go_live_popup_tv()"><img src="/images/popup.png"/></a></td>
</tr></table> </tr></table>
</li> </li>
<li> <li>
<table class="y_invisible_table" cellspacing="0" cellpadding="0" style="width:100%; padding-right:15px;margin:0"><tr> <table class="y_invisible_table" cellspacing="0" cellpadding="0" style="width:100%; padding-right:15px;margin:0"><tr>
<td><a target="work" title="LiveRadio" href="Y_LiveViewFull.yhtm?mode=radio&amp;typ=live">Radio</a></td> <td><a target="work" title="LiveRadio" href="Y_LiveViewFull.yhtm?mode=radio&amp;typ=live">Radio</a></td>
<td align="right"><a title="LiveRadio (popup)" href="javascript:go_live_popup_radio()">Popup</a></td> <td align="right"><a title="LiveRadio (popup)" href="javascript:go_live_popup_radio()"><img src="/images/popup.png"/></a></td>
</tr></table> </tr></table>
</li> </li>
<li><a title="LiveView" href="Y_Live.yhtm?browser=ie&type=live&mode=tv" target="work">LiveView</a></li>
<li id="transcode" style="display:none">
<a target="work" title="transcode box-stream" href="Y_LiveViewFull.yhtm?mode=tv&amp;typ=transcode">Transcoder</a></li>
<li><a title="test vlc plugin" href="javascript:go_live()">NetStream</a></li>
<li><a target="work" title="use LiveView with 2 boxes" href="Y_Live_DoubleView.yhtm">DoubleView</a></li> <li><a target="work" title="use LiveView with 2 boxes" href="Y_Live_DoubleView.yhtm">DoubleView</a></li>
</ul> </ul>
</div> </div>
<div class="y_menu_sec_section">Timer</div> <div class="y_menu_sec_section">Timer</div>
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul> <ul id="secmenu_timer">
<li><a target="work" title="organize timer" href="Y_Timer_List.yhtm">Timer</a></li> <li><a target="work" title="organize timer" href="Y_Timer_List.yhtm">Timer</a></li>
<li><a target="work" title="View EPG" href="Y_Boxcontrol_Bouquets.yhtm">EPG</a></li> <li><a target="work" title="View EPG" href="Y_Boxcontrol_Bouquets.yhtm">EPG</a></li>
<li><a target="work" title="View EPG" href="Y_EPG_Plus.yhtm">EPG Plus</a></li> <li>
<table class="y_invisible_table" cellspacing="0" cellpadding="0" style="width:100%; padding-right:15px;margin:0"><tr>
<td><a target="work" title="View EPG" href="Y_EPG_Plus.yhtm">EPG Plus</a></td>
<td align="right"><a title="EPG+ (popup)" href="javascript:epg_plus_popup()"><img src="/images/popup.png"/></a></td>
</tr></table>
</li>
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li><a target="work" title="timer synchronisation with web tv-planer" href="Y_Tools_Timer_Sync.yhtm">Timer Sync</a></li> <li><a target="work" title="timer synchronisation with web tv-planer" href="Y_Tools_Timer_Sync.yhtm">Timer Sync</a></li>
~=}
<!--<li><a target="work" title="recorder" href="Y_Blank.yhtm">Recorder</a></li>--> <!--<li><a target="work" title="recorder" href="Y_Blank.yhtm">Recorder</a></li>-->
</ul> </ul>
</div> </div>
@@ -71,14 +90,10 @@ function go_live_popup_radio()
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
if(is_ie)
{
var _obj = document.getElementById("transcode");
_obj.style.display = "block";
}
{=if-empty:{=start=}~~ {=if-empty:{=start=}~~
go_live_popup_tv(); go_live_popup_tv();
=} =}
init();
//]]> //]]>
</script> </script>
</body> </body>

View File

@@ -4,7 +4,7 @@
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Live_Timer#LiveView=}{=var-set:menu=LiveView PopUp=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Live_Timer-LiveView=}{=var-set:menu=LiveView PopUp=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
Under Live-View do not zap channels direct by the web or by the dbox' RC.<br/> Under Live-View do not zap channels direct by the web or by the dbox' RC.<br/>
<a href="Javascript:live_unlock();"><u>unlock</u></a> <a href="Javascript:live_unlock();"><u>unlock</u></a>

View File

@@ -1,103 +1,83 @@
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
/*0=normal, 1=record*/ /*0=normal, 1=record*/
var isRecord=false;
function setControls(state) function setControls(state)
{ {
switch(state) switch(state) {
{
case 1: case 1:
document.v.record_filename.disabled=true; $('record_filename','tdisplay', 'transon').invoke('disable');
document.v.tdisplay.disabled=true;
document.v.transon.disabled=true;
break; break;
default: default:
document.v.record_filename.disabled=false; $('record_filename','tdisplay', 'transon').invoke('enable');
document.v.tdisplay.disabled=false;
document.v.transon.disabled=false;
break; break;
} }
} }
/*0=custom, 1=off*/ /*0=custom, 1=off*/
function setControlsCustom(state) function setControlsCustom(state)
{ {
switch(state) switch(state){
{
case 1: case 1:
{=if-equal:{=mode=}~tv~ {=if-equal:{=mode=}~tv~
document.v.twidth.disabled=true; $('twidth','theight', 'vcodec', 'vb', 'scale').invoke('disable');
document.v.theight.disabled=true;
document.v.vcodec.disabled=true;
document.v.vb.disabled=true;
document.v.scale.disabled=true;
=} =}
document.v.acodec.disabled=true; $('acodec','ab', 'channels', 'tmux').invoke('disable');
document.v.ab.disabled=true;
document.v.channels.disabled=true;
document.v.tmux.disabled=true;
break; break;
default: default:
{=if-equal:{=mode=}~tv~ {=if-equal:{=mode=}~tv~
document.v.twidth.disabled=false; $('twidth','theight', 'vcodec', 'vb', 'scale').invoke('enable');
document.v.theight.disabled=false;
document.v.vcodec.disabled=false;
document.v.vb.disabled=false;
document.v.scale.disabled=false;
=} =}
document.v.acodec.disabled=false; $('acodec','ab', 'channels', 'tmux').invoke('enable');
document.v.ab.disabled=false;
document.v.channels.disabled=false;
document.v.tmux.disabled=false;
break; break;
} }
} }
function on_profile_change() function on_profile_change()
{ {
if(document.v.profile.value == "custom") if($F('profile') == "custom")
setControlsCustom(0); setControlsCustom(0);
else else
setControlsCustom(1); setControlsCustom(1);
} }
function on_transon_change() function on_transon_change()
{ {
if(document.v.transon.checked) if($('transon').checked){
{ $('profile').enable();
document.v.profile.disabled=false;
on_profile_change(); on_profile_change();
} }
else else {
{ $('profile').disable();
document.v.profile.disabled=true;
setControlsCustom(1); setControlsCustom(1);
} }
} }
function doRecord() function doRecord()
{ {
var _live = parent.live; var _live = parent.live;
if(document.v.record.value == "Record") if(!isRecord)
{ {
var transcode = ""; var transcode = "";
var stream = ""; var stream = "";
if(document.v.transon.checked) if($('transon').checked)
{ {
switch(document.v.profile.value) switch($F('profile'))
{ {
case "custom": case "custom":
transcode = "transcode{"+ transcode = "transcode{"+
{=if-equal:{=mode=}~tv~ {=if-equal:{=mode=}~tv~
"width=" +document.v.twidth.value+ "width=" +$F('twidth')+
",height=" +document.v.theight.value+ ",height=" +$F('theight')+
",vcodec=" +document.v.vcodec.value+ ",vcodec=" +$F('vcodec')+
",vb=" +document.v.vb.value+ ",vb=" +$F('vb')+
",scale=" +document.v.scale.value+ ",scale=" +$F('scale')+
","+ ","+
=} =}
"acodec=" +document.v.acodec.value+ "acodec=" +$F('acodec')+
",ab=" +document.v.ab.value+ ",ab=" +$F('ab')+
",channels=" +document.v.channels.value+ ",channels=" +$F('channels')+
",deinterlace}:"; ",deinterlace}:";
break; break;
@@ -105,6 +85,10 @@ function doRecord()
transcode = "transcode{width=320,height=240,vcodec=mp4v,vb=768,acodec=mp4a,ab=128}:"; transcode = "transcode{width=320,height=240,vcodec=mp4v,vb=768,acodec=mp4a,ab=128}:";
break; break;
case "divx3":
transcode = "transcode{vcodec=DIV3,vb=1024,scale=1,acodec=mp3,ab=192,channels=2}:";
break;
case "mp3": case "mp3":
transcode = "transcode{acodec=mp3,ab=192}:"; transcode = "transcode{acodec=mp3,ab=192}:";
break; break;
@@ -114,13 +98,13 @@ function doRecord()
break; break;
} }
} }
switch(document.v.profile.value) switch($F('profile'))
{ {
case "mp3": case "mp3":
stream = "dst=std{"+ stream = "dst=std{"+
"access=file"+ "access=file"+
",mux=raw"+ ",mux=raw"+
",url="+document.v.record_filename.value+ ",url=\""+$F('record_filename')+"\""+
"}"; "}";
break; break;
@@ -128,104 +112,106 @@ function doRecord()
stream = "dst=std{"+ stream = "dst=std{"+
"access=file"+ "access=file"+
",mux=mp4"+ ",mux=mp4"+
",url="+document.v.record_filename.value+ ",url=\""+$F('record_filename')+"\""+
"}";
break;
case "divx3":
stream = "dst=std{"+
"access=file"+
",mux=asf"+
",url=\""+$F('record_filename')+"\""+
"}"; "}";
break; break;
default: default:
stream = "dst=std{"+ stream = "dst=std{"+
"access=file"+ "access=file"+
",mux="+document.v.tmux.value+ ",mux="+$F('tmux')+
",url="+document.v.record_filename.value+ ",url=\""+$F('record_filename')+"\""+
"}"; "}";
break; break;
} }
if(document.v.tdisplay.checked) if($('tdisplay').checked)
stream = stream+",dst=display"; stream = stream+",dst=display";
var __vlc_cmd = ":sout=#"+transcode+"duplicate{"+stream+"}"; var __vlc_cmd = ":sout=#"+transcode+"duplicate{"+stream+"}";
/* var sel = document.v.tmux.selectedIndex;
var ymux = (sel != -1) ? document.v.tmux[sel].value : "ts";
var __vlc_cmd = ":sout=#duplicate{dst=display,dst=std{access=file,mux="+ymux+",url="+document.v.record_filename.value+"}}";
*/
var options = new Array(__vlc_cmd,":input-repeat=1");
document.v.record.value = "Stop Record";
setControls(1); setControls(1);
_live.do_play_state(1, options); _live.do_play_bystring(__vlc_cmd);
} }
else else
{ {
document.v.record.value = "Record";
setControls(0); setControls(0);
_live.do_play(); _live.do_play();
} }
isRecord=!isRecord;
$('record').update( (isRecord)? "Stop Record": "Record");
} }
//]]> //]]>
</script> </script>
</head> </head>
<body> <body>
<form name="v" action="" method="get"> <form id="v" class="y_form" action="" method="get">
<table class="y_live_table" cellspacing="0" width="100%"> <table cellspacing="0" width="100%">
<tr><td class="y_form_header" colspan="5">Record Mode</td></tr> <tr><td class="y_form_header" colspan="4">Record Mode</td></tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Filename:</td> <td>Filename:</td>
<td colspan="3"><input type="text" name="record_filename" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;vlc_record_path=}"/></td> <td colspan="3"><input type="text" id="record_filename" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;vlc_record_path=}"/></td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td>
<td colspan="4"> <td colspan="4">
<input type="checkbox" name="tdisplay" value="1" title="Display on while transcoding" checked="checked"/>Display on&nbsp; <input type="checkbox" id="tdisplay" value="1" title="Display on while transcoding" checked="checked"/>Display on&nbsp;
<input type="checkbox" name="transon" value="1" title="use transcoding" onclick="on_transon_change()"/>Transcoding on <input type="checkbox" id="transon" value="1" title="use transcoding" onclick="on_transon_change()"/>Transcoding on
</td> </td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td>
<td colspan="4"> <td colspan="4">
<br/> <br/>
<button class="y_live_button" type="button" value="r" title="record stream to file" name="record" onclick="doRecord()">Record</button> <button class="y_live_button" type="button" value="Record" title="record stream to file" onclick="doRecord()">
<img src="/images/record.png">&nbsp;<span id="record">Record</span></button>
</td> </td>
</tr> </tr>
<tr><td class="y_form_header" colspan="5"><br/>Record Transcode</td></tr> <tr><td class="y_form_header" colspan="4"><br/>Record Transcode</td></tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Profile:</td> <td>Profile:</td>
<td> <td colspan="3">
<select name="profile" class="y_live_button" onchange="on_profile_change()"> <select id="profile" class="y_live_button" onchange="on_profile_change()">
{=if-equal:{=mode=}~tv~ {=if-equal:{=mode=}~tv~
<option value="ipod" selected>iPod Video</option> <option value="ipod" selected>iPod Video</option>
<option value="divx3">DivX</option>
=} =}
<option value="custom">custom</option> <option value="custom">custom</option>
<option value="ipoda">iPod Audio</option> <option value="ipoda">iPod Audio</option>
<option value="mp3">mp3 Audio</option> <option value="mp3">mp3 Audio</option>
</select> </select>
</td> </td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr> </tr>
{=if-equal:{=mode=}~tv~ {=if-equal:{=mode=}~tv~
<tr><td class="y_form_section"><br/>Video</td><td class="y_form_section" colspan="4">&nbsp;</td></tr> <tr><td class="y_form_section"><br/>Video</td><td class="y_form_section" colspan="3">&nbsp;</td></tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Breite:</td> <td>Breite:</td>
<td><input type="text" name="twidth" size="4" value="384" class="y_live_button"/></td> <td><input type="text" id="twidth" size="4" value="720" class="y_live_button"/></td>
<td>H&ouml;he:</td> <td>H&ouml;he:</td>
<td><input type="text" name="theight" size="4" value="288" class="y_live_button"/></td> <td><input type="text" id="theight" size="4" value="576" class="y_live_button"/></td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Codec:</td> <td>Codec:</td>
<td> <td>
<select name="vcodec" class="y_live_button"> <select id="vcodec" class="y_live_button">
<option value="mp4v" selected>mp4v</option> <option value="mp4v" selected>mp4v</option>
<option value="mp1v">mp1v</option>
<option value="mp2v">mp2v</option> <option value="mp2v">mp2v</option>
<option value="DIV3">DIV3</option> <option value="DIV3">DIV3</option>
<option value="h264">h264</option> <option value="h264">h264</option>
<option value="H263">h263</option>
<option value="h264">h264</option>
<option value="WMV1">WMV1</option>
<option value="WMV1">WMV2</option>
</select> </select>
</td> </td>
<td>Bitrate:</td> <td>Bitrate:</td>
<td> <td>
<select name="vb" class="y_live_button"> <select id="vb" class="y_live_button">
<option value="1024">1024</option> <option value="1024">1024</option>
<option value="786">786</option> <option value="786">786</option>
<option value="512">512</option> <option value="512">512</option>
@@ -238,10 +224,9 @@ function doRecord()
</td> </td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Scale:</td> <td>Scale:</td>
<td> <td>
<select name="scale" class="y_live_button"> <select id="scale" class="y_live_button">
<option value="0.25">0.25</option> <option value="0.25">0.25</option>
<option value="0.50">0.50</option> <option value="0.50">0.50</option>
<option value="0.75">0.75</option> <option value="0.75">0.75</option>
@@ -256,21 +241,23 @@ function doRecord()
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
=} =}
<tr><td class="y_form_section">Audio</td><td class="y_form_section" colspan="4">&nbsp;</td></tr> <tr><td class="y_form_section">Audio</td><td class="y_form_section" colspan="3">&nbsp;</td></tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Codec:</td> <td>Codec:</td>
<td> <td>
<select name="acodec" class="y_live_button"> <select id="acodec" class="y_live_button">
<option value="mp4a" selected>mp4a</option> <option value="mp4a" selected>mp4a</option>
<option value="mp3">mp3</option> <option value="mp3">mp3</option>
<option value="mp2a">mp2a</option> <option value="mp2a">mp2a</option>
<option value="a52">a52</option> <option value="a52">a52</option>
<option value="vorb">vorb</option>
<option value="flac">flac</option>
<option value="fl32">fl32</option>
</select> </select>
</td> </td>
<td>Bitrate:</td> <td>Bitrate:</td>
<td> <td>
<select name="ab" class="y_live_button"> <select id="ab" class="y_live_button">
<option value="192">192</option> <option value="192">192</option>
<option value="128">128</option> <option value="128">128</option>
<option value="96">96</option> <option value="96">96</option>
@@ -281,10 +268,9 @@ function doRecord()
</td> </td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Channels:</td> <td>Channels:</td>
<td> <td>
<select name="channels" class="y_live_button"> <select id="channels" class="y_live_button">
<option value="1">1</option> <option value="1">1</option>
<option value="2 selected">2</option> <option value="2 selected">2</option>
<option value="6">6</option> <option value="6">6</option>
@@ -293,21 +279,24 @@ function doRecord()
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr><td class="y_form_section">Mux</td><td class="y_form_section" colspan="4">&nbsp;</td></tr> <tr><td class="y_form_section">Mux</td><td class="y_form_section" colspan="3">&nbsp;</td></tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Mux:</td> <td>Mux:</td>
<td> <td>
<select name="tmux" class="y_live_button"> <select id="tmux" class="y_live_button">
{=if-equal:{=mode=}~tv~ {=if-equal:{=mode=}~tv~
<option value="ts" selected>ts</option> <option value="ts" selected>ts</option>
<option value="ps">ps</option> <option value="ps">ps</option>
<option value="mp4">mp4</option> <option value="mp4">mp4</option>
<option value="mov">mov</option> <option value="mov">mov</option>
<option value="raw">raw</option> <option value="ogg">ogg</option>
<option value="asf">asf</option>
<option value="mpeg1">mpeg1</option>
<option value="wav">wav</option>
~ ~
<option value="raw" selected>raw</option> <option value="raw" selected>raw</option>
<option value="mp4">mp4</option> <option value="mp4">mp4</option>
<option value="ogg">ogg</option>
=} =}
</select> </select>
</td> </td>

View File

@@ -25,7 +25,7 @@ function doTranscode()
"}"; "}";
if(document.v.tdisplay.checked) if(document.v.tdisplay.checked)
stream = stream+",dst=display"; stream = stream+",dst=display";
var __vlc_cmd = ":sout=#"+transcode+"duplicate{"+stream+"}"; var __vlc_cmd = ":sout=#"+transcode+"duplicate{"+stream+"}";
var options = new Array(__vlc_cmd,":input-repeat=1"); var options = new Array(__vlc_cmd,":input-repeat=1");
document.v.transcode.value = "Stop Transcode"; document.v.transcode.value = "Stop Transcode";
@@ -41,26 +41,29 @@ function doTranscode()
</script> </script>
</head> </head>
<body> <body>
<form name="v" action="" method="get"> <form class="y_form" name="v" action="" method="get">
<table class="y_live_table" cellspacing="0" width="100%"> <table cellspacing="0">
<tr><td class="y_form_header" colspan="5">Transcode-Broadcast</td></tr> <tr><td class="y_form_header" colspan="5">Transcode-Broadcast</td></tr>
<tr><td class="y_form_section"><br/>Video</td><td class="y_form_section" colspan="4">&nbsp;</td></tr> <tr><td class="y_form_section"><br/>Video</td><td class="y_form_section" colspan="3">&nbsp;</td></tr>
<tr> <tr>
<td>&nbsp;</td> <td>Breite:</td>
<td>Width:</td>
<td><input type="text" name="twidth" size="4" value="384" class="y_live_button"/></td> <td><input type="text" name="twidth" size="4" value="384" class="y_live_button"/></td>
<td>Height:</td> <td>H&ouml;he:</td>
<td><input type="text" name="theight" size="4" value="288" class="y_live_button"/></td> <td><input type="text" name="theight" size="4" value="288" class="y_live_button"/></td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Codec:</td> <td>Codec:</td>
<td> <td>
<select name="vcodec" class="y_live_button"> <select name="vcodec" class="y_live_button">
<option value="mp4v" selected>mp4v</option> <option value="mp4v" selected>mp4v</option>
<option value="mp1v">mp1v</option>
<option value="mp2v">mp2v</option> <option value="mp2v">mp2v</option>
<option value="DIV3">DIV3</option> <option value="DIV3">DIV3</option>
<option value="h264">h264</option> <option value="h264">h264</option>
<option value="H263">h263</option>
<option value="h264">h264</option>
<option value="WMV1">WMV1</option>
<option value="WMV1">WMV2</option>
</select> </select>
</td> </td>
<td>Bitrate:</td> <td>Bitrate:</td>
@@ -78,7 +81,6 @@ function doTranscode()
</td> </td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Scale:</td> <td>Scale:</td>
<td> <td>
<select name="scale" class="y_live_button"> <select name="scale" class="y_live_button">
@@ -95,9 +97,8 @@ function doTranscode()
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr><td class="y_form_section"><br/>Audio</td><td class="y_form_section" colspan="4">&nbsp;</td></tr> <tr><td class="y_form_section"><br/>Audio</td><td class="y_form_section" colspan="3">&nbsp;</td></tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Codec:</td> <td>Codec:</td>
<td> <td>
<select name="acodec" class="y_live_button"> <select name="acodec" class="y_live_button">
@@ -105,6 +106,9 @@ function doTranscode()
<option value="mp3">mp3</option> <option value="mp3">mp3</option>
<option value="mp2a">mp2a</option> <option value="mp2a">mp2a</option>
<option value="a52">a52</option> <option value="a52">a52</option>
<option value="vorb">vorb</option>
<option value="flac">flac</option>
<option value="fl32">fl32</option>
</select> </select>
</td> </td>
<td>Bitrate:</td> <td>Bitrate:</td>
@@ -120,7 +124,6 @@ function doTranscode()
</td> </td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Channels:</td> <td>Channels:</td>
<td> <td>
<select name="channels" class="y_live_button"> <select name="channels" class="y_live_button">
@@ -132,9 +135,8 @@ function doTranscode()
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr><td class="y_form_section"><br/>Access</td><td class="y_form_section" colspan="4">&nbsp;</td></tr> <tr><td class="y_form_section"><br/>Access</td><td class="y_form_section" colspan="3">&nbsp;</td></tr>
<tr> <tr>
<td>&nbsp;</td>
<td>Type:</td> <td>Type:</td>
<td> <td>
<select name="access" class="y_live_button"> <select name="access" class="y_live_button">
@@ -150,22 +152,24 @@ function doTranscode()
<option value="ps">ps</option> <option value="ps">ps</option>
<option value="mp4">mp4</option> <option value="mp4">mp4</option>
<option value="mov">mov</option> <option value="mov">mov</option>
</select> <option value="ogg">ogg</option>
<option value="asf">asf</option>
<option value="mpeg1">mpeg1</option>
<option value="wav">wav</option>
s </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td>
<td>IP:Port:</td> <td>IP:Port:</td>
<td colspan="3"> <td colspan="3">
<input type="text" name="tip" size="18" value="localhost:1234" class="y_live_button"> <input type="text" name="tip" size="18" value="localhost:1234" class="y_live_button">
</td> </td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td> <td colspan="3">
<td colspan="4">
<br/> <br/>
<input type="checkbox" name="tdisplay" value="1" title="Display on while transcoding" checked="checked"/>Display on <input type="checkbox" name="tdisplay" value="1" title="Display on while transcoding" checked="checked"/>Display on
&nbsp;<button class="y_live_button" type="button" value="transcode" title="transcode stream" name="transcode" onclick="doTranscode()">Transcode</button> &nbsp;<button class="y_live_button" type="button" value="transcode" title="transcode stream" name="transcode" onclick="doTranscode()"><img src="/images/transcode.png">&nbsp;Transcode</button>
</td> </td>
</tr> </tr>
</table> </table>

View File

@@ -1,43 +1,115 @@
body body {
{ font-family: Verdana, Geneva, Arial, 'Lucida Grande',Tahoma, Helvetica, sans-serif;
font-family: Arial, Tahoma, Verdana, Geneva, Helvetica, sans-serif;
background-color: White; background-color: White;
margin-left: 0px; margin: 0;
margin-right: 0px;
margin-top: 0px;
margin-bottom: 0px;
padding:0; padding:0;
font-size:10pt; font-size:10pt;
color: #555555; color: #555555;
} }
/*standards*/
img {border:0;margin:0;padding:0;}
button,input,select,form,td {
font-family: Verdana, Geneva, Arial, 'Lucida Grande',Tahoma, Helvetica, sans-serif;
color:#555555;
}
/* buttons */
/*button{margin:1px}*/
a img:hover {
position:relative;
left:1px;
top:1px;
}
button[ytype]{
background-position:1px;
background-attachment: scroll;
background-color: transparent;
background-repeat: no-repeat;
padding-left: 20px;
padding-right:0px;
vertical-align: middle;
text-align:left;
}
button[ytype="save"]{background-image:url(/images/save.png);}
button[ytype="saveall"]{background-image:url(/images/saveall.png);}
button[ytype="cancel"]{background-image:url(/images/cross.png);}
button[ytype="refresh"],button[ytype="reboot"]{background-image:url(/images/reload.gif);}
button[ytype="record"]{background-image:url(/images/record.png);}
button[ytype="zap"]{background-image:url(/images/zap.png);}
button[ytype="timeup"]{background-image:url(/images/time_up.png);}
button[ytype="timedown"]{background-image:url(/images/time_down.png);}
button[ytype="timeadd"]{background-image:url(/images/time_add.png);}
button[ytype="shot"]{background-image:url(/images/snapshot.png);}
button[ytype="clearshot"]{background-image:url(/images/remove.png);}
button[ytype="go"]{background-image:url(/images/accept.png);}
button[ytype="download"]{background-image:url(/images/wget.gif);}
button[ytype="clear"]{background-image:url(/images/remove.png);}
button[ytype="add"]{background-image:url(/images/new.png);}
button[ytype="delete"]{background-image:url(/images/remove.png);}
button[ytype="edit"]{background-image:url(/images/modify.png);}
button[ytype="flash"]{background-image:url(/images/flash.png);}
img {border:0;} button[ytype="no"]{height:21px;padding-left:1px}
button {font-family:Arial,Sans-Serif; color:#555555;}
input {font-family:Arial,Sans-Serif; color:#555555;}
select {font-family:Arial,Sans-Serif; color:#555555;}
form {margin: 0; padding: 0;}
/*TODO: input file*/
button,input[type="button"],input[type="submit"]/*,input[type="file"],input[type="file"] > input[type="button"],input[type="file"] > input[type="text"]*/ {
border: 1px solid #888888;
background-color: transparent;
}
button:hover,input[type="button"]:hover,input[type="submit"]:hover/*,input[type="file"]:hover*/ {
position:relative;
left:1px;
top:1px;
border: 1px solid #888888;
}
div {
margin:0;
padding:0;
}
input[type="text"]:focus,input[type="password"]:focus{
border-top: 1px solid #666666;
border-left: 1px solid #666666;
margin: 0px;
background: #ffffcc;
}
input[type="text"],input[type="password"],select{
border: 1px solid #aaaaaa;
margin: 0px;
}
* html .boxhead h2 {height: 1%;} /* For IE 5 PC */ * html .boxhead h2 {height: 1%;} /* For IE 5 PC */
a { a {
color: #555555; color: #555555;
font-size:10pt; font-size:10pt;
text-decoration:none; text-decoration:none;
} }
td { td {
color: #555555; color: #555555;
font-size:10pt; font-size:10pt;
} }
tr { tr {
color: #555555; color: #555555;
font-size:10pt; font-size:10pt;
} }
.exlink{
background:transparent url(/images/exlink.gif) no-repeat scroll left center;
text-decoration: underline;
padding-left: 20px;
}
.inlink{
background:transparent url(/images/inlink.gif) no-repeat scroll left center;
text-decoration: underline;
padding-left: 20px;
}
.comment{
background:transparent url(/images/comment.png) no-repeat scroll left center;
text-decoration: underline;
padding-left: 20px;
}
/* primary Navigation */ /* primary Navigation */
.y_menu_prim_box { .y_menu_prim_box {
margin: 0; margin: 0;
/* padding:0;*/
width: 100%; width: 100%;
background: url(/images/body-trans-r.gif) no-repeat bottom right; background: url(/images/body-trans-r.gif) no-repeat bottom right;
font-size: 100%; font-size: 100%;
@@ -48,70 +120,69 @@ tr {
padding: 0; padding: 0;
text-align: center; text-align: center;
} }
.y_menu_prim_box_head h2 { .y_menu_prim_box_head_h2 {
background: url(/images/head-trans-l.gif) no-repeat top left; background: url(/images/head-trans-l.gif) no-repeat top left;
margin: 0; margin: 0;
padding: 5px 0px 5px; padding: 5px 0px 5px;
color: white; color: white;
font-size: 0; /* font-size: 0;*/
line-height: 0.5em; /* line-height: 0.5em;*/
} }
.y_menu_prim_box_body { .y_menu_prim_box_body {
background: url(/images/body-trans-l.gif) no-repeat bottom left; background: url(/images/body-trans-l.gif) no-repeat bottom left;
margin: 0; /* margin: 0;*/
padding-bottom: 8px; padding-bottom: 8px;
padding-left: 20px; padding-left: 20px;
padding-right: 20px; padding-right: 20px;
} }
.y_menu_item .y_menu_item {
{
margin: 0; margin: 0;
display: block; /* display: block;
background-repeat: no-repeat; background-repeat: no-repeat;*/
} }
.y_menu_prim .y_menu_prim {
{ margin: 0;
background-color: transparent; padding: 0;
padding: 0em 0em 0em 0em; /* background-color: transparent;
white-space: nowrap; white-space: nowrap;*/
list-style: none; list-style: none;
margin: 0;
height: auto; height: auto;
line-height: normal; /* line-height: normal;*/
} }
.y_menu_prim li .y_menu_prim li {
{
display: inline; display: inline;
}
.y_menu_prim_item
{
margin: 0; margin: 0;
/* font-family: Arial, 'Lucida Grande',Tahoma, Verdana, Geneva, Helvetica, sans-serif;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 0 1px; background-position: 0 1px;
text-align:center; */ text-align:center;
font-weight: bold; font-weight: normal;
font-size: 12pt; /* height: auto;*/
text-decoration: none; padding: 0em 0.3em;
height: auto; }
padding: 0em 0.5em; .y_menu_prim_item {
} }
.y_menu_prim li a { .y_menu_prim li a {
font-size: 11pt;
text-decoration: none;
} }
.y_menu_prim li.selected a .y_menu_prim li.selected a {
{
background-color: #dee7ec; background-color: #dee7ec;
border: 1px solid #6D96A9; border: 1px solid #6D96A9;
color: #555555; color: #555555;
} }
.y_menu_prim li a:hover .y_menu_prim li a:hover {
{
color: #FF6600; color: #FF6600;
} }
#box_name {
font-weight:normal;
font-size:10pt;
}
/* secondary Navigation */ /* secondary Navigation */
.y_menu_sec_box { .y_menu_sec_box {
margin: 0; margin: 0;
width: 100%; padding: 0;
width: 100%;
background: url(/images/body-trans-r.gif) no-repeat bottom right; background: url(/images/body-trans-r.gif) no-repeat bottom right;
font-size: 100%; font-size: 100%;
} }
@@ -121,24 +192,22 @@ tr {
padding: 0; padding: 0;
} }
.y_menu_sec_box_head h2 { .y_menu_sec_box_head h2 {
background: url(/images/head-orange-l.gif) no-repeat top left;
margin: 0; margin: 0;
padding: 12px 30px 3px 30px; padding: 10px 30px 3px 25px;
color: white; background: url(/images/head-orange-l.gif) no-repeat top left;
font-weight: bold; font-family: Arial, 'Lucida Grande',Tahoma, Verdana, Geneva, Helvetica, sans-serif;
font-size: 1.2em; color: white;
line-height: 1.5em; font-weight: bold;
text-align: left; font-size: 12pt;
/* line-height: 1.5em;*/
text-align: left;
} }
.y_menu_sec_box_body { .y_menu_sec_box_body {
background: url(/images/body-trans-l.gif) no-repeat bottom left; background: url(/images/body-trans-l.gif) no-repeat bottom left;
margin: 0; margin: 0;
padding-top: 5px; /* padding:0;*/
padding-left: 6px; padding: 5px 5px 20px 5px;
padding-bottom: 20px;
padding-right: 6px;
} }
.y_menu_sec { .y_menu_sec {
display: block; display: block;
@@ -147,46 +216,41 @@ tr {
} }
.y_menu_sec ul { .y_menu_sec ul {
padding: 0em 0em 0em 0em; padding: 0;
list-style: none; list-style: none;
margin: 0px; margin: 0;
} }
.y_menu_sec li { .y_menu_sec li {
text-align: left; text-align: left;
margin-bottom: 1px; margin-bottom: 1px;
padding-left: 20px; padding-left: 20px;
color: #555555 color: #555555;
} }
.y_menu_sec li.disabled .y_menu_sec li.disabled {
{
height: auto; height: auto;
margin-bottom: 0.1em; margin-bottom: 0.1em;
color: #808080; color: #808080;
text-decoration:line-through; text-decoration:line-through;
} }
.y_menu_sec li a .y_menu_sec li a {
{
text-decoration: none; text-decoration: none;
font-size: 12px; font-size: 10pt;
} }
.y_menu_sec li.plain a .y_menu_sec li.plain a {
{
color: #555555 color: #555555
} }
.y_menu_sec li.disabled a .y_menu_sec li.disabled a {
{
} }
.y_menu_sec li a:hover .y_menu_sec li a:hover {
{
color: #FF6600; color: #FF6600;
} }
.y_menu_sec_section { .y_menu_sec_section {
margin: 10px 0px 0px 0px; margin: 10px 0px 0px 0px;
padding: 5px 2px 5px 10px; padding: 3px 2px 3px 10px;
background-color: #FFCC99; background-color: #FFCC99;
font-size: 10pt; font-size: 10pt;
font-weight: bold; font-weight: bold;
} }
/*work*/ /*work*/
@@ -201,24 +265,15 @@ tr {
padding: 0; padding: 0;
text-align: center; text-align: center;
} }
.work_box_head h2 { .work_box_head h2,.work_box_head_h2 {
background: url(/images/head-blue-l.gif) no-repeat top left; background: url(/images/head-blue-l.gif) no-repeat top left;
margin: 0; margin: 0;
padding: 12px 30px 3px 30px; padding: 10px 30px 3px 30px;
color: white; font-family: Arial, 'Lucida Grande',Tahoma, Verdana, Geneva, Helvetica, sans-serif;
font-weight: bold; color: white;
font-size: 1.2em; font-weight: bold;
line-height: 1.5em; font-size: 12pt;
text-align: left; /* line-height: 1.5em;*/
}
.work_box_head_h2 {
background: url(/images/head-blue-l.gif) no-repeat top left;
margin: 0;
padding: 12px 30px 3px 30px;
color: white;
font-weight: bold;
font-size: 1.2em;
line-height: 1.5em;
text-align: left; text-align: left;
} }
.work_box_body { .work_box_body {
@@ -235,11 +290,22 @@ tr {
.work_box_help a { .work_box_help a {
float:right; float:right;
width:3em; width:3em;
color: white; color: white;
font-weight: bold; font-weight: bold;
font-size: 1.2em; font-size: 1.2em;
text-align:right; text-align:right;
} }
/*raus
.y_work_table {
border: 1px dashed #2188e0;
border-collapse: collapse;
background: white;
color: #555555;
margin:0;
padding:0;
}*/
/*y_menu*/
/*raus
.y_menu .y_menu
{ {
font-size: 10pt; font-size: 10pt;
@@ -261,44 +327,8 @@ tr {
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.y_audio_bar */
{
background: #6D96A9;
}
.y_head
{
font-weight: bold;
color: #555555;
font-size: 14pt;
clear:both;
}
.y_work_box
{
border-spacing: 1px;
padding-left: 20px;
padding-right: 20px;
padding-top: 10px;
padding-bottom: 10px;
float:left;
width: auto;
color: #555555;
display:block;
}
.y_work_table
{
border: 1px dashed #2188e0;
border-collapse: collapse;
background: white;
color: #555555;
margin:0;
padding:0;
}
.y_live_box
{
border-top: 1px solid #6D96A9;
font-size: 8pt;
}
/*wait box*/ /*wait box*/
.y_wait_box { .y_wait_box {
margin: 0; margin: 0;
@@ -327,14 +357,13 @@ tr {
} }
.y_wait_box_head h2 { .y_wait_box_head h2 {
background: url(/images/head-orange-l.gif) no-repeat top left; background: url(/images/head-orange-l.gif) no-repeat top left;
margin: 0; margin: 0;
padding: 12px 30px 3px 30px; padding: 12px 30px 3px 30px;
color: white; color: white;
font-weight: bold; font-weight: bold;
font-size: 1.2em; font-size: 1.2em;
line-height: 1.5em; line-height: 1.5em;
text-align: center; text-align: center;
} }
.y_wait_box_body { .y_wait_box_body {
background: url(/images/body-trans-l.gif) no-repeat bottom left; background: url(/images/body-trans-l.gif) no-repeat bottom left;
@@ -343,23 +372,34 @@ tr {
padding-left: 16px; padding-left: 16px;
padding-bottom: 20px; padding-bottom: 20px;
padding-right: 16px; padding-right: 16px;
} }
.y_wait_box_main { .y_wait_box_main {
color: #666666; color: #666666;
font-weight: bold; font-weight: bold;
text-align: center; text-align: center;
} }
/**/ /**/
.y_live_table /*raus
.y_audio_bar
{ {
background: #6D96A9;
}
.y_live_box
{
border-top: 1px solid #6D96A9;
font-size: 8pt;
}*/
.y_table,.y_form_table,.y_invisible_table,y_form table {
color: #555555; color: #555555;
padding: 0; padding: 0;
margin: 0; margin: 0;
border: 0; border: 0;
border-spacing: 0px;
width: 100%;
} }
.y_live_button .y_live_button {
{
/* font-size: 8pt; /* font-size: 8pt;
height: 22px;*/ height: 22px;*/
padding: 0; padding: 0;
@@ -389,46 +429,54 @@ tr {
color: #555555; color: #555555;
} }
.y_form_table
{
font-size: 10pt;
border: 0px;
border-spacing: 0px;
padding: 0;
margin:0;
}
.y_invisible_table
{
border: 0px;
border-spacing: 0px;
padding: 0;
}
.y_topline .y_topline
{ {
border-top: 1px solid #2188e0; border-top: 1px solid #2188e0;
} }
.y_form {
margin:0;
padding:0;
}
.y_form_header_oline
{
/* font-size : 12pt;*/
font-weight:bold;
color : #555555;
margin:0;
}
.y_form_header .y_form_header
{ {
font-size : 12pt; /* font-size : 12pt;*/
font-weight:bold; font-weight:bold;
border-bottom : 1px solid #6cadfd;
color : #0066cc;
margin:0; margin:0;
border-bottom : 1px solid #555555;
color : #555555;
padding-top:0.5em;
}
.y_form .y_form_header,.y_form .y_form_header_oline {
padding-left:0px;
/* margin:0;
padding:0;*/
}
.y_form td{
padding-left:20px;
}
.y_form #colorTable td{
padding-left:0px;
} }
.y_form_section .y_form_section
{ {
font-size : 10pt; font-size : 10pt;
font-weight:bold; font-weight:bold;
border-bottom : 1px solid #aaaaaa; border-bottom : 1px solid #aaaaaa;
color : #555555; color : #555555;
} }
.y_text_boxcontrol_button .y_text_boxcontrol_button
{ {
padding : 1px; padding : 1px;
border : #FF8e42 solid 1px; border : #FF8e42 solid 1px;
} }
.y_text_boxcontrol_button a:hover .y_text_boxcontrol_button a:hover
{ {
background:#FF8e42; background:#FF8e42;
} }
@@ -441,7 +489,7 @@ tr {
} }
.y_epg_info { .y_epg_info {
border: 1px solid #CCCCCC; border: 1px solid #CCCCCC;
display:block; background-color: white;
} }
.y_epg_info #description { .y_epg_info #description {
font-weight:bold; font-weight:bold;
@@ -451,39 +499,88 @@ tr {
} }
.channel_logos .channel_logos
{ {
width: 40px; max-width: 44px;
height: 21px; max-height: 21px;
}
#epg_plus {
border-top : #BBBBBB solid 1px;
border-left : #BBBBBB solid 1px;
border-right : #BBBBBB solid 1px;
margin: 0px;
/* width:auto;*/
overflow:auto;
} }
.ep_bouquet { .ep_bouquet {
margin-bottom: 2px; margin: 0px;
padding: 0px;
position:relative; position:relative;
border-bottom : #BBBBBB solid 1px;
} }
.ep_bouquet_name { .ep_bouquet_name {
border : #BBBBBB solid 1px; border-right : #BBBBBB solid 1px;
width : 100px; width : 100px;
height: 1.3em; /* height: 1.3em;*/
overflow:hidden; overflow:hidden;
padding-left: 1px; padding-left: 1px;
padding-right: 1px; padding-right: 1px;
font-size:8pt;
text-align: center;
min-height: 20px;
} }
.ep_bouquet_item { .ep_bouquet_item {
border : #BBBBBB solid 1px; border-right : #BBBBBB solid 1px;
overflow:hidden; overflow:hidden;
height: 1.3em; /* height: 1.3em;*/
padding-left: 1px; padding-left: 1px;
padding-right: 1px; padding-right: 1px;
height: 100%;
font-size:10pt;
}
.ep_bouquet_rec {
border-right : #BBBBBB solid 1px;
overflow:hidden;
/* height: 1.3em;*/
padding-left: 1px;
padding-right: 1px;
background-color: #FF6600;
height: 100%;
font-size:8pt;
z-index:-10;
-moz-opacity: 0.2;
opacity:.20;
filter: alpha(opacity=20);
}
.ep_bouquet_zap {
border-right : #BBBBBB solid 1px;
overflow:hidden;
/* height: 1.3em;*/
padding-left: 1px;
padding-right: 1px;
background-color: green;
height: 100%;
font-size:8pt;
z-index:10;
-moz-opacity: 0.2;
opacity:.20;
filter: alpha(opacity=20);
}
.ep_bouquet_item:hover {
background-color : #DDDDDD;
} }
.ep_time_bar { .ep_time_bar {
width:100%; width:100%;
margin-bottom: 2px; margin-bottom: 0px;
position:relative; position:relative;
border-bottom : #BBBBBB solid 1px;
} }
.ep_time_bar_item { .ep_time_bar_item {
border : #999999 solid 1px; font-weight:bold;
border-right : #BBBBBB solid 1px;
height: 1.3em; height: 1.3em;
padding-left: 1px; padding-left: 1px;
padding-right: 1px; padding-right: 1px;
overflow:hidden; overflow:hidden;
font-size:8pt;
} }
.ep_info_desc { .ep_info_desc {
font-weight:bold; font-weight:bold;
@@ -498,10 +595,12 @@ tr {
#epg_info { #epg_info {
border : #999999 solid 1px; border : #999999 solid 1px;
visibility:hidden; visibility:hidden;
} display:block;
#epg_plus { z-index: 9980;
width:auto; position: absolute;
overflow:auto; background-color: white;
left: 50px;
top: 50px;
} }
#epg_time { #epg_time {
font-size: 8pt; font-size: 8pt;
@@ -516,6 +615,14 @@ tr {
} }
tr.bouquetlist tr.bouquetlist
{ {
}
#bouqueteditorlist {
width:100%;
}
#bouqueteditorlist tr:hover {
background-color: #dddddd;
} }
/*channels*/ /*channels*/
.bouquetitemlist .bouquetitemlist
@@ -536,6 +643,14 @@ tr.bouquetlist
padding-right: 20px; padding-right: 20px;
margin:0px; margin:0px;
} }
#epglist th {
font-weight:bold;
text-align: center;
border-bottom : 1px solid #aaaaaa;
}
#epglist tbody tr:hover {
background-color: #dddddd;
}
.aepg .aepg
{ {
background-color: #F0FAFF; background-color: #F0FAFF;
@@ -561,18 +676,18 @@ tr.bouquetlist
padding-left: 10px; padding-left: 10px;
} }
a:hover.clist a:hover.clist
{ {
font-size:10pt; font-size:10pt;
text-decoration:underline; text-decoration:underline;
} }
a:hover.clistsmall a:hover.clistsmall
{ {
font-size:10pt; font-size:10pt;
text-decoration:underline; text-decoration:underline;
} }
.c .c
{ {
background-color:#dee7ec; background-color:#D3E7F8;
font-weight:bold; font-weight:bold;
font-size:11pt; font-size:11pt;
padding-left: 10px; padding-left: 10px;
@@ -581,15 +696,15 @@ a:hover.clistsmall
} }
.cepg .cepg
{ {
background-color:#dee7ec; background-color:#D3E7F8;
font-weight:normal; font-weight:normal;
font-size:10pt; font-size:10pt;
padding-left: 10px; padding-left: 10px;
} }
.cslider_table .cslider_table
{ {
height: 10px; height: 10px;
border: 1px solid #436976; border: 1px solid #6cafea;
width: 30px; width: 30px;
border-spacing: 0px; border-spacing: 0px;
padding: 0px; padding: 0px;
@@ -597,7 +712,7 @@ a:hover.clistsmall
} }
.cslider_used .cslider_used
{ {
background-color: #6D96A9; background-color: #A1CCF2;
height: 10px; height: 10px;
} }
.cslider_free .cslider_free
@@ -621,58 +736,56 @@ a:hover.clistsmall
padding: 0px; padding: 0px;
} }
a:hover.elist a:hover.elist
{ {
font-size:10pt; font-size:10pt;
text-decoration:underline; text-decoration:underline;
font-weight:bold; font-weight:bold;
} }
/*Timer*/ /*Timer*/
.timer .timer {
{
border-collapse: collapse; border-collapse: collapse;
padding: 0px; padding: 0px;
margin: 0px; margin: 0px;
border: 0;
width: 100%;
} }
a.timer a.timer {
{
text-decoration:underline; text-decoration:underline;
} }
.atimer .atimer {
{
background-color: #F0FAFF; background-color: #F0FAFF;
font-weight:normal;
padding-left: 5px;
padding-right: 5px;
}
.atimer td
{
text-align: center; text-align: center;
} }
.btimer .btimer {
{
background-color:White;
font-weight:normal; font-weight:normal;
padding-left: 5px;
padding-right: 5px;
}
.btimer td
{
text-align: center; text-align: center;
} }
.ctimer .timer_header td {
{ font-weight:bold;
background-color:#dee7ec;
font-weight:normal;
padding-left: 5px;
padding-right: 5px;
}
.ctimer td
{
text-align: center; text-align: center;
border-bottom : 1px solid #aaaaaa;
}
.timer_footer td {
font-weight:bold;
text-align: center;
border-top : 1px solid #aaaaaa;
} }
.blist .blist
{ {
white-space: nowrap; white-space: nowrap;
height: 20px; height: 20px;
} }
/*list table*/
.lt_table {
width: 100%;
border-bottom : 1px solid #aaaaaa;
}
.lt_table th {
font-weight:bold;
border-bottom : 1px solid #aaaaaa;
color : #555555;
}
.lt_table td {
white-space: pre-wrap;
}

View File

@@ -1,6 +1,9 @@
{=var-set:cancache=true=} {=global-var-set:boxtype={=ini-get:/var/tuxbox/config/nhttpd.conf;Box.type;coolstream=}=}
{=global-var-set:alpha=true=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
/*Indicator*/ /*Indicator*/
@@ -8,21 +11,18 @@ var g_i_active = false;
var g_i_counter = 0; var g_i_counter = 0;
var g_i_rec_state = new Array("&nbsp;&nbsp;&nbsp;REC&nbsp;&nbsp;&nbsp;", "&nbsp;&nbsp;(REC)&nbsp;&nbsp;", " ((REC)) ", "(((REC)))"); var g_i_rec_state = new Array("&nbsp;&nbsp;&nbsp;REC&nbsp;&nbsp;&nbsp;", "&nbsp;&nbsp;(REC)&nbsp;&nbsp;", " ((REC)) ", "(((REC)))");
var g_i_recording = false; var g_i_recording = false;
function i_state_check() function i_state_check(){
{
var res = ""; var res = "";
//var res = loadSyncURL("/control/setmode?status"); //var res = loadSyncURL("/control/setmode?status");
g_i_recording = (res.search(/on/)!=-1); g_i_recording = (res.search(/on/)!=-1);
} }
function i_state_view() function i_state_view(){
{
if(g_i_recording) if(g_i_recording)
document.getElementById('state').innerHTML = g_i_rec_state[g_i_active %4]; document.getElementById('state').innerHTML = g_i_rec_state[g_i_active %4];
else else
document.getElementById('state').innerHTML = ""; document.getElementById('state').innerHTML = "";
} }
function i_clock() function i_clock(){
{
now = new Date(); now = new Date();
var hour = now.getHours(); var hour = now.getHours();
var min = now.getMinutes(); var min = now.getMinutes();
@@ -32,68 +32,100 @@ function i_clock()
min = "0" + min; min = "0" + min;
document.getElementById('clock').innerHTML = hour + ":" + min; document.getElementById('clock').innerHTML = hour + ":" + min;
} }
function i_interval() function i_interval(){
{
if(g_i_active<12) if(g_i_active<12)
g_i_active++; g_i_active++;
else else{
{
g_i_active=0; g_i_active=0;
i_clock(); i_clock();
i_state_check(); i_state_check();
} }
i_state_view(); i_state_view();
} }
function i_start() function i_start(){
{
g_i_counter = 0; g_i_counter = 0;
i_clock(); i_clock();
g_i_active = window.setInterval('i_interval()', 1000); g_i_active = window.setInterval('i_interval()', 1000);
var mainmenu=ext.select_menu('main');
mainmenu.each(function(e){
var el=new Element('li').update(
new Element('a', {'class':'y_menu_prim_item', 'target':'base',
'title': e.get('desc'),
'href': e.get('file')
}).update(e.get('menuitem'))
);
$('menu_prim').insert({'bottom':el});
});
} }
function i_stop() function i_stop(){
{
window.clearInterval(g_i_active); window.clearInterval(g_i_active);
} }
/* frame navigation */
function nav_prim(_prim){
top.top_main.base.location.href="Y_Dyn_Pages.yhtm?page=frame_"+_prim;
}
function nav_work(_work){
top.top_main.base.work.location.href=_work;
}
var g_work="";
function _nav_work(){
top.top_main.base.work.location.href=g_work;
}
function nav(_prim, _work){
g_work=_work;
nav_prim(_prim);
window.setTimeout("_nav_work()",300);
}
function vlc() {
var vlc_url = loadSyncURL("/control/build_live_url?vlc_link=true");
window.open("/tmp/vlc.m3u?"+Math.random(),"_blank");
}
//]]> //]]>
</script> </script>
<style>
#prim{
background: url(/images/tux-yweb.gif) no-repeat left top;
height:38px;
}
</style>
</head> </head>
{=var-set:alt_httpd={=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.override_directory;/var/httpd=}=}
{=var-set:vf={=if-file-exists:{=var-get:alt_httpd=}/Y_Version.txt~{=var-get:alt_httpd=}/Y_Version.txt~Y_Version.txt=}=}
<body> <body>
<div class="y_menu_prim_box"> <div class="y_menu_prim_box">
<div class="y_menu_prim_box_head"><h2>&nbsp;</h2></div> <div class="y_menu_prim_box_head"><div class="y_menu_prim_box_head_h2"></div></div>
<div class="y_menu_prim_box_body"> <div class="y_menu_prim_box_body">
<table border="0" width="100%"> <table border="0" width="100%">
<tr> <tr>
<td width="50" align="center" valign="middle"><a href="http://wiki.godofgta.de/Neutrino:yWeb" target="_blank"><img src="images/tux.gif" title="Tuxbox Wiki" alt="Tuxbox Wiki"/></a></td> <td width="150" id="prim">
<td width="100"> <span style="font-size: 8pt;position:relative;left:45px;top:10px;">{=L:version=} {=ini-get:Y_Version.txt;version=}</span>
<span style="font-weight: bold;font-size: 10pt;">yWeb</span>
<br/>
<span style="font-size: 8pt;">Version {=ini-get:Y_Version.txt;version=}</span>
</td> </td>
<td> <td>
<ul id="menu_prim" class="y_menu_prim"> <ul id="menu_prim" class="y_menu_prim">
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_boxcontrol" <li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_boxcontrol"
title="Boxcontrol &#038; Bouquets">Boxcontrol</a></li> title="{=L:boxcontrol_desc=}">{=L:boxcontrol=}</a></li>
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_live" <li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_live"
title="LiveView, Timer Sync &amp; Settings">Live/Timer</a></li> title="{=L:live_desc=}">{=L:live=}</a></li>
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_tools" <li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_tools"
title="Mounts, WOL, Expert Tools">Tools</a></li> title="{=L:tools_desc=}">{=L:tools=}</a></li>
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_settings" <li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_settings"
title="Settings for Box, Web, Plugins ...">Settings</a></li> title="{=L:settings_desc=}">{=L:settings=}</a></li>
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_ext" <li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_ext"
title="User Extentions ...">Extentions</a></li> title="{=L:extensions_desc=}">{=L:extensions=}</a></li>
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_info" <li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_info"
title="Information about yWeb, Updates">Info</a></li> title="{=L:info_desc=}">{=L:info=}</a></li>
</ul> </ul>
</td> </td>
<td> <td>
<a target="base" href="Y_Dyn_Pages.yhtm?page=frame_live_directtv" title="LiveTV"><img src="/images/live.gif"></a>&nbsp; <a target="base" href="Y_Dyn_Pages.yhtm?page=frame_live_directtv" title={=L:live_tv_desc=}><img src="/images/live.gif"></a>&nbsp;
<a target="base" href="Y_Dyn_Pages.yhtm?page=frame_live&dostart=live_tv_popup" title="LiveTV Popup"><img src="/images/live_popup.gif"></a>&nbsp; <a target="base" href="Y_Dyn_Pages.yhtm?page=frame_live&dostart=live_tv_popup" title="{=L:live_tv_popup_desc=}"><img src="/images/live_popup.gif"></a>&nbsp;
<a href="/control/build_live_url?vlc_link=true" title="Stream to VLC Client"><img src="/images/vlc.gif"></a> <a target="base" href="Y_Tools_remote_osd.yhtm?full=1" title="{=L:remote_full_desc=}"><img src="/images/fb.png"></a>&nbsp;
<a href="javascript:vlc()" title="{=L:stream_to_vlc_client_desc=}"><img src="/images/vlc.gif"></a>
</td> </td>
<td align="right"> <td align="right">
<span id="state" style="color : red;font-family: Courier New, Courier, monospace;">&nbsp;</span> <span id="state" style="color : red;font-family: Courier New, Courier, monospace;">&nbsp;</span>
<span id="box_name" {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_color=}~~style="color : #{=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_color=};"=}> <span id="box_name" {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_color=}~~style="color : #{=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_color=};"=}>
<b>{=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_name=}</b></span> {=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_name=}</span>
<span id="clock">00:00</span> <span id="clock">00:00</span>
</td> </td>
</tr> </tr>

View File

@@ -4,7 +4,7 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_submit() function do_submit()
{ {
if(document.f.filename.value != "") if(document.f.filename.value != "")
{ {
@@ -36,8 +36,12 @@ function do_backup2()
{=var-set:wait_text=Settings=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text=Settings=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Settings#Backup_.26_Restore=}{=var-set:menu=Backup &amp; Restore=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Settings-Backup_Restore=}{=var-set:menu=Backup &amp; Restore=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<p><div style="border: 1px solid #cccccc;margin-top:20px">
<img src="/images/cross.png">&nbsp;<span><font size="2" color="Red"><b>Achtung</b>&nbsp;</font>Backup &amp; Restore ist nur bei einem gleichen Image mit gleichem Stand sinnvoll.
</span></div></p>
<br />
<table class="y_invisible_table" cellspacing="0" width="100%"> <table class="y_invisible_table" cellspacing="0" width="100%">
<tr><td class="y_form_header">Backup</td></tr> <tr><td class="y_form_header">Backup</td></tr>
<tr> <tr>
@@ -47,7 +51,7 @@ function do_backup2()
</div> </div>
</td> </td>
</tr> </tr>
<tr><td class="y_form_header">Restore (Warning: box will REBOOT after restore!)</td></tr> <tr><td class="y_form_header">Restore</td></tr>
<tr> <tr>
<td> <td>
<form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;settings_backup_restore&amp;restore"> <form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;settings_backup_restore&amp;restore">

View File

@@ -11,15 +11,15 @@ function do_refresh_liveview()
</script> </script>
</head> </head>
<body> <body>
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<form name="f" action="/y/cgi"> <form class="y_form" name="f" action="/y/cgi">
<table border="0" class="y_live_table" cellspacing="0" width="100%"> <table border="0" cellspacing="0">
<tr><td class="y_form_header" colspan="2"><br/>VLC Settings (IE &amp; Mozilla >= 0.8.6.1)</td></tr> <tr><td class="y_form_header" colspan="2"><br/>VLC Settings (IE &amp; Mozilla >= 0.8.6.1)</td></tr>
<tr> <tr>
<td>Deinterlace</td> <td>Deinterlace</td>
<td> <td>
<input type="radio" name="deinterlace" value="false" title="deinterlace: off"/>Off&nbsp; <input type="radio" name="deinterlace" value="false" title="deinterlace: off"/>AUS&nbsp;
<input type="radio" name="deinterlace" value="true" title="deinterlace: on"/>On <input type="radio" name="deinterlace" value="true" title="deinterlace: on"/>AN
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -29,19 +29,33 @@ function do_refresh_liveview()
<tr> <tr>
<td>UDP as default</td> <td>UDP as default</td>
<td> <td>
<input type="radio" name="udp" value="false" title="udp: off"/>Off&nbsp; <input type="radio" name="udp" value="false" title="udp: off"/>AUS&nbsp;
<input type="radio" name="udp" value="true" title="udp: on"/>On <input type="radio" name="udp" value="true" title="udp: on"/>AN
</td> </td>
</tr> </table> </tr>
<tr>
<td>Slave Box IP (2. dbox)</td>
<td><input type="text" name="slavebox" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;slavebox=}" title="enter IP (xxx.xxx.xxx.xxx) of slave-box"/></td>
</tr>
<tr>
<td>VLC Aufnahmepfad</td>
<td><input type="text" name="vlc_record_path" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;vlc_record_path=}" title="VLC record path for LiveView direct recording."/></td>
</tr>
<!--- <tr>
<td>VLC Aufnahmetyp</td>
<td><input type="text" name="vlc_record_mux_type" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;vlc_record_mux_type=}" title="VLC record mux type"/></td>
</tr>
-->
</table>
<br/> <br/>
<input type="hidden" name="tmpl" value="Y_Settings_Live.yhtm"/> <input type="hidden" name="tmpl" value="Y_Settings_Live.yhtm"/>
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;Live_save_settings;nix"/> <input type="hidden" name="execute" value="include-block:Y_Blocks.txt;Live_save_settings;nix"/>
<input type="button" value="Save ..." title="submit and save values" onclick="do_submit()"/> <button type="button" ytype="save" title="submit and save values" onclick="do_submit()">Speichern</button>
<input type="button" value="Refresh LiveView" title="Refresh LiveView" onclick="do_refresh_liveview()"/> <button type="button" ytype="refresh" title="Refresh LiveView" onclick="do_refresh_liveview()">Refresh LiveView</button>
</form> </form>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function form_init() function form_init()
{ {
val = "{=ini-get:/var/tuxbox/config/Y-Web.conf;deinterlace;false=}"; val = "{=ini-get:/var/tuxbox/config/Y-Web.conf;deinterlace;false=}";
if(val == "true") if(val == "true")

View File

@@ -1,69 +1,144 @@
{=var-set:cancache=yPConf=} {=var-set:cancache=yPConf=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript">
function init(){
var menu=ext.select_menu('settings_general');
menu.each(function(e){
var el=new Element('li').update(
new Element('a', {'target':'work',
'title': e.get('desc'),
'href': e.get('file')
}).update("-"+e.get('menuitem'))
);
$('secmenu_general').insert({'bottom':el});
});
var menu=ext.select_menu('settings_neutrino');
menu.each(function(e){
var el=new Element('li').update(
new Element('a', {'target':'work',
'title': e.get('desc'),
'href': e.get('file')
}).update("-"+e.get('menuitem'))
);
$('secmenu_neutrino').insert({'bottom':el});
});
var menu=ext.select_menu('settings_plugins');
menu.each(function(e){
var el=new Element('li').update(
new Element('a', {'target':'work',
'title': e.get('desc'),
'href': e.get('file')
}).update("-"+e.get('menuitem'))
);
$('secmenu_plugins').insert({'bottom':el});
});
}
</script>
</head> </head>
<body> <body onload="init()">
{=var-set:management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip;{=func:get_request_data client_addr=}=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=} {=var-set:management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip;{=func:get_request_data client_addr=}=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=}
<div class="y_menu_sec_box"> <div class="y_menu_sec_box">
<div class="y_menu_sec_box_head"><h2>Settings</h2></div> <div class="y_menu_sec_box_head"><h2>{=L:settings=}</h2></div>
<div class="y_menu_sec_box_body"> <div class="y_menu_sec_box_body">
<div class="y_menu_sec_section">General</div> <div class="y_menu_sec_section">{=L:general=}</div>
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul> <ul id="secmenu_general">
{=if-empty:{=var-get:management=}~ {=if-empty:{=var-get:management=}~
<li class="disabled" title="settings for yWeb itselfs (restricted by ManagementIP)">yWeb</li> <li class="disabled" title="{=L:restriced_by_management_ip=}">yWeb</li>
<li class="disabled" title="settings for Web Server daemon (restricted by ManagementIP)">WebServer</li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:webserver=}</li>
<!--dbox2 only <li class="disabled" title="download or upload ucodes (restricted by ManagementIP)">Ucodes</li> dbox2 only--> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:zapit=}</li>
<li class="disabled" title="download or upload Bouquetlist, Channellist, ... (restricted by ManagementIP)">Zapit</li> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li class="disabled" title="backup or upload boot logos (restricted by ManagementIP)">Boot Logo</li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:ucodes=}</li>
<li class="disabled" title="SyncTimer Settings (restricted by ManagementIP)">Timer Settings</a></li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:boot_logo=}</li>
~=}
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=timer_settings=}</a></li>
~ ~
<li><a title="settings for yWeb itselfs" target="work" href="Y_Settings_yWeb.yhtm">yWeb</a></li> <li><a target="work" href="Y_Settings_yWeb.yhtm">yWeb</a></li>
<li><a title="settings for Web Server daemon" target="work" href="Y_Settings_nhttpd.yhtm">WebServer</a></li> <li><a target="work" href="Y_Settings_nhttpd.yhtm">{=L:webserver=}</a></li>
<!--dbox2 only <li><a title="download or upload ucodes" target="work" href="Y_Settings_ucodes.yhtm">Ucodes</a></li> dbox2 only--> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li><a title="download or upload Bouquetlist, Channellist, ..." target="work" href="Y_Settings_zapit.yhtm">Zapit</a></li> <li><a target="work" href="Y_Settings_zapit.yhtm">{=L:zapit=}</a></li>
<!--dbox2 only <li><a title="backup or upload boot logos" target="work" href="Y_Tools_Bootlogo.yhtm">Boot Logo</a></li> dbox2 only--> <li><a target="work" href="Y_Settings_ucodes.yhtm">{=L:ucodes=}</a></li>
<li><a title="backup or restore settings" target="work" href="Y_Settings_Backup.yhtm">Backup &amp; Restore</a></li> <li><a target="work" href="Y_Tools_Bootlogo.yhtm">{=L:boot_logo=}</a></li>
<li><a title="SyncTimer Settings" target="work" href="Y_Settings_Timer.yhtm">Timer Settings</a></li> ~=}
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li><a target="work" href="Y_Settings_Backup.yhtm">{=L:backup_restore=}</a></li>
~=}
<li><a target="work" href="Y_Settings_Timer.yhtm">{=timer_settings=}</a></li>
=} =}
<!--<li><a title="change layout skin" target="work" href="Y_Settings_Skin.yhtm">Skins</a></li>--> <!--<li><a title="change layout skin" target="work" href="Y_Settings_Skin.yhtm">Skins</a></li>-->
</ul> </ul>
</div> </div>
<div class="y_menu_sec_section">Neutrino</div> <div class="y_menu_sec_section">Neutrino</div>
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul> <ul id="secmenu_neutrino">
{=if-empty:{=var-get:management=}~ {=if-empty:{=var-get:management=}~
<li class="disabled" title="Bouquet Editor (restricted by ManagementIP)">Bouquet Editor</a></li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:bouquet_editor=}</a></li>
<li class="disabled" title="Parental settings (restricted by ManagementIP)">Parental</a></li> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li class="disabled" title="Recording settings (restricted by ManagementIP)">Recording</a></li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:video_audio=}</a></li>
<li class="disabled" title="Movieplayer settings (restricted by ManagementIP)">Movieplayer</a></li> ~=}
<li class="disabled" title="Audioplayer settings (restricted by ManagementIP)">Audioplayer</a></li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:parental=}</a></li>
<li class="disabled" title="Pictureviewer settings (restricted by ManagementIP)">Pictureviewer</a></li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:recording=}</a></li>
<li class="disabled" title="boot settings (restricted by ManagementIP)">Boot options</a></li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:direct_recording=}</a></li>
<li class="disabled" title="rest of settings (restricted by ManagementIP)">Misc</a></li> <li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:audio_player=}</a></li>
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:esound_server=}</a></li>
~=}
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:movieplayer=}</a></li>
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:pictureviewer=}</a></li>
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:lcd_display=}</a></li>
~=}
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:key_settings=}</a></li>
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:boot_options=}</a></li>
~=}
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:others=}</a></li>
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:peronalization=}</li>
~ ~
<li><a target="work" href="Y_Boxcontrol_Bouquet_Editor_Main.yhtm">{=L:bouquet_editor=}</a></li>
<li><a title="Bouquet Editor" target="work" href="Y_Boxcontrol_Bouquet_Editor_Main.yhtm">Bouquet Editor</a></li> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li><a title="Parental settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_parental">Parental</a></li> <li><a target="work" href="Y_Settings_video_audio.yhtm">{=L:video_audio=}</a></li>
<li><a title="Recording settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_record">Recording</a></li> ~=}
<li><a title="Direct Recording" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_direct_recording">Direct Recording</a></li> <li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_parental">{=L:parental=}</a></li>
<li><a title="Movieplayer settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_movieplayer">Movieplayer</a></li> <li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_record">{=L:recording=}</a></li>
<li><a title="Audioplayer settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_audioplayer">Audioplayer</a></li> <li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_direct_recording">{=L:direct_recording=}</a></li>
<li><a title="Pictureviewer settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_pictureviewer">Pictureviewer</a></li> <li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_audioplayer">{=L:audio_player=}</a></li>
<!--dbox2 only <li><a title="boot settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_bootoptions">Boot options</a></li> dbox2 only--> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li><a title="rest of settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_diverse">Misc</a></li> <li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_esound">{=L:esound_server=}</a></li>
=} ~=}
</ul> <li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_movieplayer">{=L:movieplayer=}</a></li>
</div> <li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_pictureviewer">{=L:pictureviewer=}</a></li>
<div class="y_menu_sec_section">Plugins</div> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<div class="y_menu_sec"> <li><a target="work" href="Y_Settings_lcd.yhtm">{=L:lcd_display=}</a></li>
<ul> ~=}
{=if-empty:{=var-get:management=}~ {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li class="disabled" title="configure VNC-Plugin (restricted by ManagementIP)">VNC</li> <li><a target="work" href="Y_Settings_buttons.yhtm">{=L:key_settings=}</a></li>
~ ~=}
<li><a title="configure VNC-Plugin" target="work" href="Y_Settings_VNC.yhtm">VNC</a></li> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_bootoptions">{=L:boot_options=}</a></li>
~=}
<li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_diverse">{=L:others=}</a></li>
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li><a target="work" href="Y_Settings_personalize.yhtm">{=L:peronalization=}</a></li>
~=}
=} =}
</ul> </ul>
</div> </div>
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<div class="y_menu_sec_section">{=L:plugins=}</div>
<div class="y_menu_sec">
<ul id="secmenu_plugins">
{=if-empty:{=var-get:management=}~
<li class="disabled" title="{=L:restriced_by_management_ip=}">VNC</li>
~
<li><a target="work" href="Y_Settings_VNC.yhtm">VNC</a></li>
=}
</ul>
</div>
~=}
</div> </div>
</div> </div>

View File

@@ -14,18 +14,18 @@ function do_submit()
</script> </script>
</head> </head>
<body> <body>
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Settings#Timer_Settings=}{=var-set:menu=Timer Settings=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Settings-Timer_Settings=}{=var-set:menu=Timer Settings=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" accept-charset="UTF-8" action="/y/cgi"> <form name="f" class="y_form" accept-charset="UTF-8" action="/y/cgi?execute=include-block:Y_Blocks.txt;timer_save_settings;nix" method="POST">
<table border="0" class="y_form_table" cellspacing="0" cellpadding="0"> <table border="0" width="100%">
<tr> <tr>
<td colspan="2" ><strong>tvinfo.de</strong></td> <td colspan="2" class="y_form_header">tvinfo.de</td>
</tr> </tr>
<tr> <tr>
<td>Username</td> <td>Benutzername</td>
<td><input type="text" name="tvinfo_username" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_username=}" title="username"/></td> <td><input type="text" name="tvinfo_username" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_username=}" title="username"/></td>
</tr> </tr>
<tr> <tr>
@@ -33,14 +33,19 @@ function do_submit()
<td><input type="password" name="tvinfo_password" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_password=}" title="password"/><br/><br/></td> <td><input type="password" name="tvinfo_password" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_password=}" title="password"/><br/><br/></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" style="border-top: 1px solid #6D96A9;"><strong>klack.de</strong><br/>(&#038; will be converted to &quot;;&quot; on save)</td> <td colspan="2" class="y_form_header">klack.de (V2)</td>
</tr> </tr>
<tr> <tr>
<td>personal RSS TV-Planer URL</td> <td>personal RSS TV-Planer URL</td>
<td><input type="text" name="klack_url" size="60" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;klack_url=}" title="Klack.de RSS TV-Planer URL"/><br/><br/></td> <td><input type="text" name="klack_url" size="60" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;klack_url=}" title="Klack.de RSS TV-Planer URL"/><br/>
(&#038; will be converted to &quot;;&quot; on save)</br></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" style="border-top: 1px solid #6D96A9;"><strong>Sender name</strong></td> <td>Security Code</td>
<td><input type="password" name="klack_securitycode" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;klack_securitycode=}" title="your klack security code to get your data without login"/><br/><br/></td>
</tr>
<tr>
<td colspan="2" class="y_form_header">Sendernamen</td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td> <td>&nbsp;</td>
@@ -49,8 +54,7 @@ function do_submit()
</table> </table>
<br/> <br/>
<input type="hidden" name="tmpl" value="Y_Settings_Timer.yhtm"/> <input type="hidden" name="tmpl" value="Y_Settings_Timer.yhtm"/>
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;timer_save_settings;nix"/> <button type="button" ytype="save" title="submit and save values" onclick="do_submit()">Speichern</button>
<input type="button" value="Save ..." title="submit and save values" onclick="do_submit()"/>
</form> </form>
</div> </div>
</div> </div>

View File

@@ -2,7 +2,7 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function form_init() function form_init()
{ {
var val = {=ini-get:/var/tuxbox/config/vnc.conf;scale;1=}; var val = {=ini-get:/var/tuxbox/config/vnc.conf;scale;1=};
document.f.scale[val-1].selected = true; document.f.scale[val-1].selected = true;
@@ -16,10 +16,10 @@ function do_submit()
</script> </script>
</head> </head>
<body onload="form_init()"> <body onload="form_init()">
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Settings#VNC=}{=var-set:menu=VNC=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Settings-VNC=}{=var-set:menu=VNC=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" action=""> <form name="f" action="">
<table border="0"> <table border="0">
@@ -36,7 +36,7 @@ function do_submit()
<td><input type="password" name="password" size="20" value="{=ini-get:/var/tuxbox/config/vnc.conf;passwd=}"/></td> <td><input type="password" name="password" size="20" value="{=ini-get:/var/tuxbox/config/vnc.conf;passwd=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Scaling</td> <td>Skalierung</td>
<td> <td>
<select name="scale" title="enter scale for Screen"> <select name="scale" title="enter scale for Screen">
<option value="1">1</option> <option value="1">1</option>
@@ -50,7 +50,7 @@ function do_submit()
<br/> <br/>
<input type="hidden" name="tmpl" value="Y_Settings_nhttpd.yhtm"/> <input type="hidden" name="tmpl" value="Y_Settings_nhttpd.yhtm"/>
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;vnc_save_settings;nix"/> <input type="hidden" name="execute" value="include-block:Y_Blocks.txt;vnc_save_settings;nix"/>
<input type="button" value="Save ..." title="submit and save values" onclick="do_submit()"/> <button type="button" ytype="save" title="submit and save values" onclick="do_submit()">Speichern</button>
</form> </form>
</div> </div>
</div> </div>

View File

@@ -31,13 +31,13 @@ function automount_edit()
{ {
var _sub_ops = _ops_list[i].split("="); var _sub_ops = _ops_list[i].split("=");
if(_sub_ops.length > 1) if(_sub_ops.length > 1)
switch (_sub_ops[0]) switch (_sub_ops[0])
{ {
case "user": case "user":
document.f.username.value = _sub_ops[1]; document.f.username.value = _sub_ops[1];
break; break;
case "password": case "password":
document.f.password.value = _sub_ops[1]; document.f.password.value = _sub_ops[1];
break; break;
@@ -47,7 +47,7 @@ function automount_edit()
if(_options != "") if(_options != "")
_options += ","; _options += ",";
_options += _ops_list[i]; _options += _ops_list[i];
} }
} }
document.f.opt1.value = _options; document.f.opt1.value = _options;
var Ausdruck = /\/\/(.*)\/(.*).*/; var Ausdruck = /\/\/(.*)\/(.*).*/;
@@ -61,7 +61,7 @@ function automount_edit()
break; break;
} }
} }
function form_init() function form_init()
{ {
obj_set_radio_value("type", "nfs"); obj_set_radio_value("type", "nfs");
{=if-equal:{=cmd=}~edit~ {=if-equal:{=cmd=}~edit~
@@ -107,7 +107,7 @@ function do_save2()
} }
show_waitbox(false); show_waitbox(false);
mstr = mstr.replace(/=/gi,",,"); mstr = mstr.replace(/=/gi,",,");
var _url ="/control/exec?Y_Tools&automount_setline&/var/etc/auto.net&"+mountname+"&"+mstr; var _url ="/control/exec?Y_Tools&automount_setline&/var/etc/auto.net&"+mountname+"&"+mstr;
var res = loadSyncURL(_url); var res = loadSyncURL(_url);
window.document.location.href="/Y_Settings_automount_liste.yhtm"; window.document.location.href="/Y_Settings_automount_liste.yhtm";
@@ -130,10 +130,10 @@ function change_type()
</script> </script>
</head> </head>
<body onLoad="form_init()"> <body onLoad="form_init()">
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"> <div class="work_box_head">
<div class="work_box_head_h2">{=var-set:help_url=Neutrino:yWeb:Tools#AutoMount=}{=var-set:menu=AutoMount=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> <div class="work_box_head_h2">{=var-set:help_url=Help-Tools-AutoMount=}{=var-set:menu=AutoMount=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" action="/y/cgi"> <form name="f" action="/y/cgi">
<input type="hidden" name="nr" value="{=R1=}"/> <input type="hidden" name="nr" value="{=R1=}"/>
@@ -141,7 +141,7 @@ function change_type()
<tr> <tr>
<td>Mountname</td> <td>Mountname</td>
<td><input type="text" name="mountname" size="20" value="" {=if-equal:{=cmd=}~add~~disabled="disabled"=}/></td> <td><input type="text" name="mountname" size="20" value="" {=if-equal:{=cmd=}~add~~disabled="disabled"=}/></td>
</tr> </tr>
<tr> <tr>
<td>Typ</td> <td>Typ</td>
<td> <td>
@@ -156,25 +156,25 @@ function change_type()
<td><input type="text" name="ip" size="20" value=""/></td> <td><input type="text" name="ip" size="20" value=""/></td>
</tr> </tr>
<tr> <tr>
<td>Directory</td> <td>Verzeichnis</td>
<td><input type="text" name="dir" size="30" value="" title="remote directory"/></td> <td><input type="text" name="dir" size="30" value="" title="remote directory"/></td>
</tr> </tr>
<tr> <tr>
<td>Option</td> <td>Optionen</td>
<td><input type="text" name="opt1" size="30" value="" title="mount options 1"/></td> <td><input type="text" name="opt1" size="30" value="" title="mount options 1"/></td>
</tr> </tr>
<tr id="vusername" style="visibility:hidden"> <tr id="vusername" style="visibility:hidden">
<td>Username</td> <td>Benutzername</td>
<td><input type="text" name="username" size="30" value="" title="username"/></td> <td><input type="text" name="username" size="30" value="" title="username"/></td>
</tr> </tr>
<tr id="vpassword" style="visibility:hidden"> <tr id="vpassword" style="visibility:hidden">
<td>Password</td> <td>Passwort</td>
<td><input type="password" name="password" size="30" value="" title="password"/></td> <td><input type="password" name="password" size="30" value="" title="password"/></td>
</tr> </tr>
</table> </table>
<br/> <br/>
<input type="button" value="Save ..." title="submit and save values" onClick="do_save()"/> <button type="button" ytype="save" title="submit and save values" onClick="do_save()">Speichern</button>
<input type="button" value="Cansel" title="cancel" name="abort" onClick='window.document.location.href="/Y_Settings_automount_liste.yhtm"'/> <button type="button" ytype="cancel" title="cancel" name="abort" onClick='window.document.location.href="/Y_Settings_automount_liste.yhtm"'>Abbrechen</button>
</form> </form>
</div> </div>
</div> </div>

View File

@@ -36,7 +36,7 @@ function do_delete()
{=include-block:Y_Blocks.txt;snip_wait=} {=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"> <div class="work_box_head">
<div class="work_box_head_h2">{=var-set:help_url=Neutrino:yWeb:Tools#AutoMount=}{=var-set:menu=AutoMount=}{=include-block:Y_Blocks.txt;work_menu=}</div> <div class="work_box_head_h2">{=var-set:help_url=Help-Tools-AutoMount=}{=var-set:menu=AutoMount=}{=include-block:Y_Blocks.txt;work_menu=}</div>
</div> </div>
<div class="work_box_body"> <div class="work_box_body">
<form action="/y/cgi" name="f" id="f"> <form action="/y/cgi" name="f" id="f">
@@ -44,9 +44,9 @@ function do_delete()
<input type="hidden" name="tmpl" value="Y_Settings_automount.yhtm"/> <input type="hidden" name="tmpl" value="Y_Settings_automount.yhtm"/>
<input type="hidden" name="execute" value=""/> <input type="hidden" name="execute" value=""/>
<input type="hidden" name="cmd" value=""/> <input type="hidden" name="cmd" value=""/>
<input type="button" value="Edit" title="edit mount settings" onclick="do_edit()"/> <button type="button" ytype="edit" title="edit mount settings" onclick="do_edit()">&auml;ndern</button>
<input type="button" value="Add" title="add new mount" onclick="do_add()"/> <button type="button" ytype="add" title="add new mount" onclick="do_add()">hinzuf&uuml;gen</button>
<input type="button" value="Del" title="delete mount" onclick="do_delete()"/> <button type="button" ytype="delete" title="delete mount" onclick="do_delete()">l&ouml;schen</button>
</form> </form>
</div> </div>
</div> </div>

View File

@@ -0,0 +1,341 @@
{=include-block:Y_Blocks.txt;management_check_top=}
{=include-block:Y_Blocks.txt;head=}
<style type="text/css">
/*<![CDATA[*/
.alink {
text-decoration: underline;
}
input[type="text"],select {
font-weight: bold;
background-color: #FF9;
width: 145px;
}
.butnokey {
visibility: hidden;
vertical-align: middle;
font-size: 9px;
}
/*]]>*/
</style>
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript">
//<![CDATA[
function do_init()
{
var val = "";
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;bouquetlist_mode;0~open=}";
document.f.bouquetlist_mode.selectedIndex = val;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_bouquet_down;105~cache=}";
document.f.key_bouquet_down.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_bouquet_up;106~cache=}";
document.f.key_bouquet_up.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_channelList_addrecord;398~cache=}";
document.f.key_channelList_addrecord.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_channelList_addremind;400~cache=}";
document.f.key_channelList_addremind.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_channelList_cancel;102~cache=}";
document.f.key_channelList_cancel.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_channelList_pagedown;115~cache=}";
document.f.key_channelList_pagedown.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_channelList_pageup;114~cache=}";
document.f.key_channelList_pageup.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_channelList_reload;141~cache=}";
document.f.key_channelList_reload.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_channelList_search;399~cache=}";
document.f.key_channelList_search.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_channelList_sort;401~cache=}";
document.f.key_channelList_sort.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_lastchannel;11~cache=}";
document.f.key_lastchannel.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_quickzap_down;108~cache=}";
document.f.key_quickzap_down.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_quickzap_up;103~cache=}";
document.f.key_quickzap_up.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_subchannel_down;105~cache=}";
document.f.key_subchannel_down.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_subchannel_toggle;11~cache=}";
document.f.key_subchannel_toggle.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_subchannel_up;106~cache=}";
document.f.key_subchannel_up.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_tvradio_mode;-2~cache=}";
document.f.key_tvradio_mode.value = itoKey(val);
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;key_zaphistory;102~cache=}";
document.f.key_zaphistory.value = itoKey(val);
}
function rcsim(_key)
{
var radioLength = document.f.but.length;
for(var i=0; i<radioLength; i++)
if(document.f.but[i].checked) {
document.getElementById('id'+(100+i)).value = _key;
break;
}
}
function setFocus()
{
hideAll();
var radioLength = document.f.but.length;
for(var i=0; i<radioLength; i++)
if(document.f.but[i].checked) {
document.getElementById('id'+(100+i)).focus();
document.getElementById('id'+(200+i)).style.visibility = "visible";
break;
}
}
function setradio(_i)
{
hideAll();
document.f.but[_i].checked = "checked";
document.getElementById('id'+(200+_i)).style.visibility = "visible";
}
function hideAll()
{
var radioLength = document.f.but.length;
for(var t=0; t<radioLength; t++)
document.getElementById('id'+(200+t)).style.visibility = "hidden";
}
function killkey()
{
var radioLength = document.f.but.length;
for(var i=0; i<radioLength; i++)
if(document.f.but[i].checked) {
document.getElementById('id'+(100+i)).value = "KEY_NONE";
break;
}
}
function keytoi(_key)
{
var i;
switch(_key) {
case "KEY_NONE": i="-2"; break;
case "KEY_1": i="2"; break;
case "KEY_2": i="3"; break;
case "KEY_3": i="4"; break;
case "KEY_4": i="5"; break;
case "KEY_5": i="6"; break;
case "KEY_6": i="7"; break;
case "KEY_7": i="8"; break;
case "KEY_8": i="9"; break;
case "KEY_9": i="10"; break;
case "KEY_0": i="11"; break;
case "KEY_HOME": i="102"; break;
case "KEY_UP": i="103"; break;
case "KEY_LEFT": i="105"; break;
case "KEY_RIGHT": i="106"; break;
case "KEY_DOWN": i="108"; break;
case "KEY_MUTE": i="113"; break;
case "KEY_VOLUMEDOWN": i="114"; break;
case "KEY_VOLUMEUP": i="115"; break;
case "KEY_POWER": i="116"; break;
case "KEY_HELP": i="138"; break;
case "KEY_SETUP": i="141"; break;
case "KEY_OK": i="352"; break;
case "KEY_RED": i="398"; break;
case "KEY_GREEN": i="399"; break;
case "KEY_YELLOW": i="400"; break;
case "KEY_BLUE": i="401"; break;
default: i="-2"; break;
}
return i;
}
function itoKey(_val)
{
var _key;
switch(_val) {
case "-2": _key="KEY_NONE"; break;
case "2": _key="KEY_1"; break;
case "3": _key="KEY_2"; break;
case "4": _key="KEY_3"; break;
case "5": _key="KEY_4"; break;
case "6": _key="KEY_5"; break;
case "7": _key="KEY_6"; break;
case "8": _key="KEY_7"; break;
case "9": _key="KEY_8"; break;
case "10": _key="KEY_9"; break;
case "11": _key="KEY_0"; break;
case "102": _key="KEY_HOME"; break;
case "103": _key="KEY_UP"; break;
case "105": _key="KEY_LEFT"; break;
case "106": _key="KEY_RIGHT"; break;
case "108": _key="KEY_DOWN"; break;
case "113": _key="KEY_MUTE"; break;
case "114": _key="KEY_VOLUMEDOWN"; break;
case "115": _key="KEY_VOLUMEUP"; break;
case "116": _key="KEY_POWER"; break;
case "138": _key="KEY_HELP"; break;
case "141": _key="KEY_SETUP"; break;
case "352": _key="KEY_OK"; break;
case "398": _key="KEY_RED"; break;
case "399": _key="KEY_GREEN"; break;
case "400": _key="KEY_YELLOW"; break;
case "401": _key="KEY_BLUE"; break;
default: _key="KEY_NONE"; break;
}
return _key;
}
function setDefault()
{
document.f.bouquetlist_mode.selectedIndex = 0;
document.f.key_bouquet_down.value = "KEY_LEFT"; //105
document.f.key_bouquet_up.value = "KEY_RIGHT"; //106
document.f.key_channelList_addrecord.value = "KEY_RED"; //398
document.f.key_channelList_addremind.value = "KEY_YELLOW"; //400
document.f.key_channelList_cancel.value = "KEY_HOME"; //102
document.f.key_channelList_pagedown.value = "KEY_VOLUMEUP"; //115
document.f.key_channelList_pageup.value = "KEY_VOLUMEDOWN"; //114
document.f.key_channelList_reload.value = "KEY_SETUP"; //141
document.f.key_channelList_search.value = "KEY_GREEN"; //399
document.f.key_channelList_sort.value = "KEY_BLUE"; //401
document.f.key_lastchannel.value = "KEY_0"; //11
document.f.key_quickzap_down.value = "KEY_DOWN"; //108
document.f.key_quickzap_up.value = "KEY_UP"; //103
document.f.key_subchannel_down.value = "KEY_LEFT"; //105
document.f.key_subchannel_toggle.value = "KEY_0"; //11
document.f.key_subchannel_up.value = "KEY_RIGHT"; //106
document.f.key_tvradio_mode.value = "KEY_NONE"; //-2
document.f.key_zaphistory.value = "KEY_HOME"; //102
}
function do_submit()
{
show_waitbox(true);
var radioLength = document.f.but.length;
for(var i=0; i<radioLength; i++) {
document.getElementById('id'+(100+i)).value = keytoi(document.getElementById('id'+(100+i)).value);
}
document.f.submit();
}
//]]>
</script>
</head>
<body onload="do_init()">
{=var-set:wait_text=Werte werden &uuml;bernommen (Save).=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Help-Settings-Buttons=}{=var-set:menu=Tastenbelegung=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body">
<form name="f" class="y_form" action="">
<table cellspacing="0" border="0" cellpadding="2" width="100%">
<tr>
<td width="25%">&nbsp;</td>
<td colspan="2" class="y_form_header">Modus wechsel</td>
</tr>
<tr>
<td rowspan="20">{=include-block:Y_Blocks.txt;remote=}</td>
<td><input type="radio" name="but" onclick="setFocus()" />TV-/Radio-Modus</td>
<td><input type="text" name="key_tvradio_mode" id="id100" onclick="setradio(0)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id200" value="Keine Taste" onclick="killkey()" /></td>
</tr>
<tr>
<td colspan="2" class="y_form_header">Kanalliste</td>
</tr>
<tr>
<td>&nbsp;OK-Taste f&uuml;r</td>
<td>
<select name="bouquetlist_mode" title="OK-Button for...">
<option value="0" selected="selected">Bouquet-Kan&auml;le</option>
<option value="1">Bouquetliste</option>
<option value="2">Kanalliste</option>
</select>
</td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Seite hochbl&auml;ttern</td>
<td><input type="text" name="key_channelList_pageup" id="id101" onclick="setradio(1)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id201" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Seite runterbl&auml;ttern</td>
<td><input type="text" name="key_channelList_pagedown" id="id102" onclick="setradio(2)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id202" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Kanalliste schlie&szlig;en</td>
<td><input type="text" name="key_channelList_cancel" id="id103" onclick="setradio(3)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id203" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Sortierreihenfolge &auml;ndern</td>
<td><input type="text" name="key_channelList_sort" id="id104" onclick="setradio(4)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id204" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Stichwortsuche im EPG</td>
<td><input type="text" name="key_channelList_search" id="id105" onclick="setradio(5)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id205" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Aufnahme-Timer hinzuf&uuml;gen</td>
<td><input type="text" name="key_channelList_addrecord" id="id106" onclick="setradio(6)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id206" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Umschalt-Timer hinzuf&uuml;gen</td>
<td><input type="text" name="key_channelList_addremind" id="id107" onclick="setradio(7)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id207" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> EPG aktualisieren</td>
<td><input type="text" name="key_channelList_reload" id="id108" onclick="setradio(8)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id208" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td colspan="2" class="y_form_header">Schnellumschaltung</td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Kanal hoch</td>
<td><input type="text" name="key_quickzap_up" id="id109" onclick="setradio(9)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id209" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Kanal runter</td>
<td><input type="text" name="key_quickzap_down" id="id110" onclick="setradio(10)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id210" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Bouquet weiter</td>
<td><input type="text" name="key_bouquet_down" id="id111" onclick="setradio(11)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id211" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Bouquet zur&uuml;ck</td>
<td><input type="text" name="key_bouquet_up" id="id112" onclick="setradio(12)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id212" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Unterkanal weiter</td>
<td><input type="text" name="key_subchannel_down" id="id113" onclick="setradio(13)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id213" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Unterkanal zur&uuml;ck</td>
<td><input type="text" name="key_subchannel_up" id="id114" onclick="setradio(14)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id214" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Unterkanal wechseln</td>
<td><input type="text" name="key_subchannel_toggle" id="id115" onclick="setradio(15)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id215" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><input type="radio" name="but" onclick="setFocus()" /> Zapping-History Bouquet</td>
<td><input type="text" name="key_zaphistory" id="id116" onclick="setradio(16)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id216" onclick="killkey()" value="Keine Taste" /></td>
</tr>
<tr>
<td><a href="javascript:setDefault()" class="alink">Vorbelegung benutzen</a></td>
<td><input type="radio" name="but" onclick="setFocus()" /> Letzter Kanal</td>
<td><input type="text" name="key_lastchannel" id="id117" onclick="setradio(17)" readonly="readonly" />
&nbsp;<input type="button" class="butnokey" id="id217" onclick="killkey()" value="Keine Taste" /></td>
</tr>
</table>
<br />
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;buttons_save_settings;nix" />
<button type="button" ytype="save" title="submit and save values" onclick="do_submit()">Speichern</button>
&nbsp;<button type="button" ytype="refresh" onclick="dbox_reload_neutrino()">reload Neutrino</button>
&nbsp;<a href="javascript:top.top_main.prim_menu.nav('info', 'Y_Info_Help.yhtm');" class="inlink">Hilfe</a>
</form>
</div>
</div>
</body>
</html>
{=include-block:Y_Blocks.txt;management_check_bottom=}

View File

@@ -0,0 +1,168 @@
{=include-block:Y_Blocks.txt;management_check_top=}
{=include-block:Y_Blocks.txt;head=}
<style type="text/css">
/*<![CDATA[*/
.alink {
text-decoration: underline;
}
/*]]>*/
</style>
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
function do_init()
{
var val = "";
obj_set_radio_value('lcd_power', "{=ini-get:/var/tuxbox/config/neutrino.conf;lcd_power;1~open=}");
obj_set_radio_value('lcd_inverse', "{=ini-get:/var/tuxbox/config/neutrino.conf;lcd_inverse;0~cache=}");
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;lcd_dim_time;0~cache=}";
document.f.lcd_dim_time.value = val;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;lcd_dim_brightness;0~cache=}";
document.f.lcd_dim_brightness.value = val;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;lcd_contrast;15~cache=}";
document.f.lcd_contrast.value = val;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;lcd_brightness;255~cache=}";
document.f.lcd_brightness.value = val;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;lcd_standbybrightness;170~cache=}";
document.f.lcd_standbybrightness.value = val;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;lcd_epgmode;1~cache=}";
var sel = 0;
if(val=="2") sel=1;
if(val=="3") sel=2;
if(val=="7") sel=3;
if(val=="11") sel=4;
if(val=="15") sel=5;
document.f.lcd_epgmode.selectedIndex = sel;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;lcd_show_volume;0~cache=}"
document.f.lcd_show_volume.value = val;
}
function setDefault()
{
document.f.lcd_contrast.value = 15;
document.f.lcd_brightness.value = 255;
document.f.lcd_standbybrightness.value = 170;
}
function do_submit()
{
show_waitbox(true);
if (document.f.lcd_contrast.value > 63)
document.f.lcd_contrast.value = 63;
else if (document.f.lcd_contrast.value < 0)
document.f.lcd_contrast.value = 0;
if (document.f.lcd_brightness.value > 255)
document.f.lcd_brightness.value = 255;
else if (document.f.lcd_brightness.value < 0)
document.f.lcd_brightness.value = 0;
if (document.f.lcd_standbybrightness.value > 255)
document.f.lcd_standbybrightness.value = 255;
else if (document.f.lcd_standbybrightness.value < 0)
document.f.lcd_standbybrightness.value = 0;
document.f.submit();
}
/*]]>*/
</script>
</head>
<body onload="do_init()">
{=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Help-Settings-LCD=}{=var-set:menu=LCD Einstellungen=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body">
<form name="f" class="y_form" action="">
<table cellspacing="0" border="0" cellpadding="2" width="100%">
<tr>
<td colspan="2" class="y_form_header">LCD</td>
</tr>
<tr>
<td title="lcd: off/on" width="35%">Power</td>
<td>
<input type="radio" name="lcd_power" value="0" />AUS&nbsp;
<input type="radio" name="lcd_power" value="1" />EIN
</td>
</tr>
<tr>
<td title="inverse lcd: off/on">Invertieren</td>
<td>
<input type="radio" name="lcd_inverse" value="0" />AUS&nbsp;
<input type="radio" name="lcd_inverse" value="1" />EIN
</td>
</tr>
<tr>
<td title="dimm-timeout">Dimm-Timeout</td>
<td>
<input type="text" name="lcd_dim_time" size="3" maxlength="3" />
</td>
</tr>
<tr>
<td title="brightness after dimm-timeout">Helligkeit nach dimm-Timeout</td>
<td>
<input type="text" name="lcd_dim_brightness" size="3" maxlength="3" />
</td>
</tr>
<tr>
<td colspan="2" class="y_form_header">Kontrast / Helligkeit</td>
</tr>
<tr>
<td title="lcd contrast 0-63">Kontrast</td>
<td>
<input type="text" name="lcd_contrast" size="3" maxlength="3" />
</td>
</tr>
<tr>
<td title="lcd brightness normal 0-255">normale Helligkeit</td>
<td>
<input type="text" name="lcd_brightness" size="3" maxlength="3" />
</td>
</tr>
<tr>
<td title="lcd brightness standby 0-255">Standby Helligkeit</td>
<td>
<input type="text" name="lcd_standbybrightness" size="3" maxlength="3" />
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><a href="javascript:setDefault()" class="alink">Voreinstellung benutzen</a></td>
</tr>
<tr>
<td colspan="2" class="y_form_header">Anzeige-Modi</td>
</tr>
<tr><td>EPG-Anzeige</td>
<td>
<select name="lcd_epgmode" title="select visualisation of LCD">
<option value="1" selected="selected">Standard (Kanal)</option>
<option value="2">Sendung</option>
<option value="3">Kanal / Sendung</option>
<option value="7">Kanal / Trennl. / Sendung</option>
<option value="11">Kanal (kurz) / Sendung</option>
<option value="15">Kanal (kurz) / Trennl. / Sendung</option>
</select>
</td>
</tr>
<tr><td>Statuszeile</td>
<td>
<select name="lcd_show_volume" title="select visualisation of LCD">
<option value="0" selected="selected">Sendungsfortschritt</option>
<option value="1">Lautst&auml;rke</option>
<option value="2">Lautst&auml;rke / Fortschritt</option>
<option value="3">Laut. / Fort. / Audio</option>
</select>
</td>
</tr>
</table>
<br />
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;lcd_save_settings;nix" />
<button type="button" ytype="save" title="submit and save values" onclick="do_submit()">Speichern</button>&nbsp;
<button type="button" ytype="refresh" onclick="dbox_reload_neutrino()">reload Neutrino</button>&nbsp;
<a href="javascript:top.top_main.prim_menu.nav('info', 'Y_Info_Help.yhtm');" class="inlink">Hilfe</a>
</form>
</div>
</div>
</body>
</html>
{=include-block:Y_Blocks.txt;management_check_bottom=}

View File

@@ -2,11 +2,11 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function form_init() function form_init()
{ {
var check = {=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_type_{=R1=}=}; var check = {=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_type_{=R1=}=};
document.f.type[check].checked = true; document.f.type[check].checked = true;
check = {=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_automount_{=R1=}=}; check = {=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_automount_{=R1=}=};
document.f.automount[check].checked = true; document.f.automount[check].checked = true;
} }
@@ -19,10 +19,10 @@ function do_submit()
</script> </script>
</head> </head>
<body onLoad="form_init()"> <body onLoad="form_init()">
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"> <div class="work_box_head">
<div class="work_box_head_h2">{=var-set:help_url=Neutrino:yWeb:Tools#Mounts=}{=var-set:menu=Mount {=R1=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> <div class="work_box_head_h2">{=var-set:help_url=Help-Tools-Mounts=}{=var-set:menu=Mount {=R1=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" action="/y/cgi"> <form name="f" action="/y/cgi">
<input type="hidden" name="nr" value="{=R1=}"/> <input type="hidden" name="nr" value="{=R1=}"/>
@@ -40,11 +40,11 @@ function do_submit()
<td><input type="text" name="ip" size="20" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_ip_{=R1=}=}"/></td> <td><input type="text" name="ip" size="20" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_ip_{=R1=}=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Directory</td> <td>Verzeichnis</td>
<td><input type="text" name="dir" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_dir_{=R1=}=}" title="remote directory"/></td> <td><input type="text" name="dir" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_dir_{=R1=}=}" title="remote directory. For CIFS do not use a leading slash."/></td>
</tr> </tr>
<tr> <tr>
<td>Local Directory</td> <td>Lokales Verzeichnis</td>
<td><input type="text" name="localdir" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_local_dir_{=R1=}=}" title="local directory to by mounted"/></td> <td><input type="text" name="localdir" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_local_dir_{=R1=}=}" title="local directory to by mounted"/></td>
</tr> </tr>
<tr> <tr>
@@ -52,22 +52,22 @@ function do_submit()
<td><input type="text" name="mac" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mac_{=R1=}=}"/></td> <td><input type="text" name="mac" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mac_{=R1=}=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Option 1</td> <td>Optionen 1</td>
<td><input type="text" name="opt1" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mount_options1_{=R1=}=}" title="mount options 1"/></td> <td><input type="text" name="opt1" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mount_options1_{=R1=}=}" title="mount options 1"/></td>
</tr> </tr>
<tr> <tr>
<td>Option 2</td> <td>Optionen 2</td>
<td><input type="text" name="opt2" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mount_options2_{=R1=}=}" title="mount options 2"/></td> <td><input type="text" name="opt2" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mount_options2_{=R1=}=}" title="mount options 2"/></td>
</tr> </tr>
<tr> <tr>
<td>Automount</td> <td>Automount</td>
<td> <td>
<INPUT type="radio" name="automount" value="0" title="off"/>Off&nbsp; <INPUT type="radio" name="automount" value="0" title="off"/>AUS&nbsp;
<INPUT type="radio" name="automount" value="1" title="on"/>On <INPUT type="radio" name="automount" value="1" title="on"/>AN
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Username</td> <td>Benutzername</td>
<td><input type="text" name="username" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_username_{=R1=}=}" title="username"/></td> <td><input type="text" name="username" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_username_{=R1=}=}" title="username"/></td>
</tr> </tr>
<tr> <tr>
@@ -78,8 +78,8 @@ function do_submit()
<br/> <br/>
<input type="hidden" name="tmpl" value="Y_Settings_mount_liste.yhtm"/> <input type="hidden" name="tmpl" value="Y_Settings_mount_liste.yhtm"/>
<input type="hidden" name="execute" value="func:mount-set-values"/> <input type="hidden" name="execute" value="func:mount-set-values"/>
<input type="button" value="Save ..." title="submit and save values" onClick="do_submit()"/> <button type="button" ytype="save" title="submit and save values" onClick="do_submit()">Speichern</button>
<input type="button" value="Cancel" title="cancel" name="abort" onClick='window.document.location.href="/Y_Settings_mount_liste.yhtm"'/> <button type="button" ytype="cancel" title="cancel" name="abort" onClick='window.document.location.href="/Y_Settings_mount_liste.yhtm"'>Abbrechen</button>
</form> </form>
</div> </div>
</div> </div>

View File

@@ -2,7 +2,7 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_mount() function do_mount()
{ {
show_waitbox(true); show_waitbox(true);
var nr = 0; var nr = 0;
@@ -27,16 +27,16 @@ function do_edit()
{=include-block:Y_Blocks.txt;snip_wait=} {=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"> <div class="work_box_head">
<div class="work_box_head_h2">{=var-set:help_url=Neutrino:yWeb:Tools#Mounts=}{=var-set:menu=Mount=}{=include-block:Y_Blocks.txt;work_menu=}</div> <div class="work_box_head_h2">{=var-set:help_url=Help-Tools-Mounts=}{=var-set:menu=Mount=}{=include-block:Y_Blocks.txt;work_menu=}</div>
</div> </div>
<div class="work_box_body"> <div class="work_box_body">
<form action="/y/cgi" name="f" id="f"> <form action="/y/cgi" name="f" id="f">
{=func:mount-get-list=} {=func:mount-get-list=}
<input type="hidden" name="tmpl" value="Y_Settings_mount.yhtm"/> <input type="hidden" name="tmpl" value="Y_Settings_mount.yhtm"/>
<input type="hidden" name="execute" value=""/> <input type="hidden" name="execute" value=""/>
<input type="button" value="Edit ..." title="edit mount settings" onclick="do_edit()"/> <button type="button" ytype="edit" title="edit mount settings" onclick="do_edit()">&Auml;ndern</button>
<input type="button" value="Mount" title="mount selected directory" onclick="do_mount()"/> <button type="button" ytype="no" title="mount selected directory" onclick="do_mount()">Mount</button>
<input type="button" value="Unmount list" title="view unmount list" onclick='window.document.location.href="/Y_Settings_umount_liste.yhtm"'/> <button type="button" ytype="no" title="view unmount list" onclick='window.document.location.href="/Y_Settings_umount_liste.yhtm"'>Unmount list</button>
</form> </form>
</div> </div>
</div> </div>

View File

@@ -3,18 +3,11 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function form_init() function form_init()
{ {
var val = "{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.authenticate;false=}"; obj_set_radio_value('authenticate', "{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.authenticate;false=}");
if(val == "true") obj_set_radio_value('threading', "{=ini-get:/var/tuxbox/config/nhttpd.conf;webserver.threading;false=}");
document.f.authenticate[1].checked = true obj_set_radio_value('mod_sendfile_sendAll', "{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_sendfile.sendAll;false=}");
else
document.f.authenticate[0].checked = true;
var val = "{=ini-get:/var/tuxbox/config/nhttpd.conf;webserver.threading;false=}";
if(val == "true")
document.f.threading[1].checked = true
else
document.f.threading[0].checked = true;
} }
function do_submit() function do_submit()
{ {
@@ -23,10 +16,9 @@ function do_submit()
else else
if(document.f.port.value == "") if(document.f.port.value == "")
alert("Port muss angegeben werden"); alert("Port muss angegeben werden");
else else{
{
show_waitbox(true); show_waitbox(true);
yhttpd_cache_clear("yPConf"); yhttpd_cache_clear("");
document.f.submit(); document.f.submit();
} }
} }
@@ -34,80 +26,90 @@ function do_submit()
</script> </script>
</head> </head>
<body onload="form_init()"> <body onload="form_init()">
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Settings#WebServer=}{=var-set:menu=WebServer (nhttpd)=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Settings-WebServer=}{=var-set:menu={=L:webserver=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" action="/y/cgi"> <form name="f" class="y_form" action="/y/cgi">
<table border="0"> <table border="0" width="100%">
<tr><td colspan="2" class="y_form_header">Authentification</td></tr> <tr><td colspan="2" class="y_form_header">{=L:authentication=}</td></tr>
<tr> <tr>
<td>User</td> <td>{=L:user=}</td>
<td><input type="text" name="authuser" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.username;root~open=}" title="username"/></td> <td><input type="text" name="authuser" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.username;root~open=}" title="{=L:user=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Passwort</td> <td>{=L:password=}</td>
<td><input type="password" name="authpassword" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.password;dbox2~cache=}" title="password"/></td> <td><input type="password" name="authpassword" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.password;dbox2~cache=}" title="{=L:password=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Client ohne Authentification</td> <td>{=L:client_without_authentication=}</td>
<td><input type="text" name="noauthclient" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.no_auth_client~cache=}" title="Client with no authentication check. Enter IP."/></td> <td><input type="text" name="noauthclient" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.no_auth_client~cache=}" title="{=L:client_without_authentication_desc=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Authentification</td> <td>{=L:authentication=}</td>
<td> <td>
<input type="radio" name="authenticate" value="false" title="authentication: off"/>OFF&nbsp; <input type="radio" name="authenticate" value="false" />{=L:off=}&nbsp;
<input type="radio" name="authenticate" value="true" title="authentication: on"/>ON <input type="radio" name="authenticate" value="true" />{=L:on=}
</td> </td>
</tr> </tr>
<tr><td colspan="2" class="y_form_header">General</td></tr> <tr><td colspan="2" class="y_form_header">{=L:general=}</td></tr>
<tr> <tr>
<td>Port</td> <td>{=L:language=}</td>
<td><input type="text" name="port" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.port;80~cache=}" title="port"/> <td colspan="3"> <select name="language" title="{=L:language=}">
<br/>Changed port will only be valid after a restart. {=func:get_languages_as_dropdown=}
</select>
</tr>
<tr>
<td>{=L:port=}</td>
<td><input type="text" name="port" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.port;80~cache=}" title="{=L:port=}"/>&nbsp;{=L:active_after_boot=}
</td> </td>
</tr> </tr>
<!-- <td>{=L:threading=}</td>
<td>Threading</td>
<td> <td>
<input type="radio" name="threading" value="false" title="threading: off"/>Off; <input type="radio" name="threading" value="false" />{=L:off=}&nbsp;
<input type="radio" name="threading" value="true" title="threading: on"/>On <input type="radio" name="threading" value="true" />{=L:on=}
<br/>Changed will be valid after a restart.
</td> </td>
-->
<tr> <tr>
<td>Hosted Web (Mount)</td> <td>{=L:alternate_web_folder=}</td>
<td><input type="text" name="hosteddocumentroot" size="60" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;Tuxbox.HostedDocumentRoot~cache=}" title="Root of hosted Web. Enter mount directory."/></td> <td><input type="text" name="override_directory" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.override_directory~cache=}" title="{=L:alternate_web_folder=}"/>&nbsp;{=L:active_after_boot=}
</tr> <input type="hidden" name="HostedDocRoot" size="60" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;Tuxbox.HostedDocumentRoot~cache=}" title="Root of hosted Web. Enter mount directory."/></td>
<tr><td colspan="2" class="y_form_header">Logos &amp; Extras</td></tr>
<tr>
<td>Directory ("web"=nur URL)</td>
<td><input type="text" name="ExtrasDocRoot" size="60" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;ExtrasDocRoot~cache=}" title="Enter mount directory (/mnt/hosted/extras or web)."/></td>
</tr> </tr>
<tr> <tr>
<td>URL</td> <td>{=L:allowed_file_extensions=}</td>
<td><input type="text" name="ExtrasDocURL" size="60" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;ExtrasDocURL~cache=}" title="URL Root of hosted Extra Web. Enter URL (/hosted/extras)."/></td> <td><input type="text" name="mod_sendfile_mime_types" size="60" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_sendfile.mime_types~cache=}" "/></td>
</tr> </tr>
<tr><td colspan="2" class="y_form_header">Server</td></tr>
<tr> <tr>
<td>IPs Not keep-alive<br/>(like JtG, comma seperated) </td> <td>{=L:allow_all_file_extensions=}</td>
<td><input type="text" name="no_keep_alive_ips" size="30" maxsize="254" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;server.no_keep-alive_ips;~cache=}" title="IPs not to HTTP1.1 keep alive like JtG. Comma seperated."/> <td>
<input type="radio" name="mod_sendfile_sendAll" value="false" />{=L:off=}&nbsp;
<input type="radio" name="mod_sendfile_sendAll" value="true" />{=L:on=}
</td>
</tr>
<tr><td colspan="2" class="y_form_header">{=L:logos=}</td></tr>
<tr>
<td>{=L:url=}</td>
<td><input type="text" name="Tuxbox_LogosURL" size="60" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;Tuxbox.LogosURL~cache=}" title="{=L:url_of_logos_desc=}"/></td>
</tr>
<tr><td colspan="2" class="y_form_header">{=L:server=}</td></tr>
<tr>
<td>{=L:ips_without_keep_alive=}<br/>{=L:ips_without_keep_alive_desc=} </td>
<td><input type="text" name="no_keep_alive_ips" size="30" maxsize="254" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;server.no_keep-alive_ips;~cache=}" "/>
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Cache</td> <td>{=L:cache=}</td>
<td><a href="/y/cache-info" target="_blank"><u>Cache info</u>&nbsp;</a><input type="button" name="clearcache" value="clear cache" title="clear cache" onclick="javascript:yhttpd_cache_clear('');"/></td> <td><a href="/y/cache-info" target="_blank"><u>{=L:cache_info=}</u>&nbsp;</a><button type="button" ytype="clear" name="clearcache" onclick="javascript:yhttpd_cache_clear('');">{=L:clear_cache=}</button></td>
</tr> </tr>
<tr> <tr>
<td>Server Configuration</td> <td>{=L:server_configuration=}</td>
<td><a href="/y/server-config" target="_blank"><u>Server Config</u></a></td> <td><a href="/y/server-config" target="_blank"><u>{=L:server_configuration=}</u></a></td>
</tr> </tr>
</table> </table>
<br/> <br/>
<input type="hidden" name="tmpl" value="Y_Settings_nhttpd.yhtm"/> <input type="hidden" name="tmpl" value="Y_Settings_nhttpd.yhtm"/>
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;nhttpd_save_settings;nix"/> <input type="hidden" name="execute" value="include-block:Y_Blocks.txt;nhttpd_save_settings;nix"/>
<input type="button" value="Save ..." title="submit and save values" onclick="do_submit()"/> <button type="button" ytype="save" title="{=L:save_values_desc=}" onclick="do_submit()">{=L:save=}</button>
</form> </form>
</div> </div>
</div> </div>

View File

@@ -0,0 +1,366 @@
{=include-block:Y_Blocks.txt;management_check_top=}
{=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript">
//<![CDATA[
function do_submit()
{
if(document.f.p_pincode.value.length < 4)
alert("PIN Code muss 4-stellig sein");
else{
show_waitbox(true);
document.f.submit();
}
}
function do_init()
{
obj_set_radio_value('p_tv', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_tvmode;1~open=}");
obj_set_radio_value('p_radio', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_radiomode;1~cache=}");
obj_set_radio_value('p_scart', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_scartmode;1~cache=}");
obj_set_radio_value('p_games', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_games;1~cache=}");
obj_set_radio_value('p_audioplayer', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_audioplayer;1~cache=}");
obj_set_radio_value('p_inetradio', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_inetradio;1~cache=}");
obj_set_radio_value('p_esound', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_esound;1~cache=}");
obj_set_radio_value('p_movieplayer', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_movieplayer;1~cache=}");
obj_set_radio_value('p_picviewer', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_pictureviewer;1~cache=}");
obj_set_radio_value('p_pinstatus', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_pinstatus;0~cache=}");
obj_set_radio_value('p_upnp', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_upnpbrowser;1~cache=}");
obj_set_radio_value('p_sleeptimer', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_sleeptimer;1~cache=}");
obj_set_radio_value('p_reboot', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_reboot;1~cache=}");
obj_set_radio_value('p_shutdown', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_shutdown;1~cache=}");
obj_set_radio_value('p_settings', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_settings;0~cache=}");
obj_set_radio_value('p_video', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_video;1~cache=}");
obj_set_radio_value('p_audio', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_audio;1~cache=}");
obj_set_radio_value('p_youth', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_youth;1~cache=}");
obj_set_radio_value('p_network', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_network;1~cache=}");
obj_set_radio_value('p_recording', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_recording;1~cache=}");
obj_set_radio_value('p_language', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_language;1~cache=}");
obj_set_radio_value('p_colors', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_colors;1~cache=}");
obj_set_radio_value('p_lcd', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_lcd;1~cache=}");
obj_set_radio_value('p_keybinding', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_keybinding;1~cache=}");
obj_set_radio_value('p_mediaplayer', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_mediaplayer;1~cache=}");
obj_set_radio_value('p_driver', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_driver;1~cache=}");
obj_set_radio_value('p_misc', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_misc;1~cache=}");
obj_set_radio_value('p_service', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_service;0~cache=}");
obj_set_radio_value('p_bouqueteditor', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_bouqueteditor;1~cache=}");
obj_set_radio_value('p_scants', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_scants;1~cache=}");
obj_set_radio_value('p_reload', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_reload;1~cache=}");
obj_set_radio_value('p_getplugins', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_getplugins;1~cache=}");
obj_set_radio_value('p_restart', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_restart;1~cache=}");
obj_set_radio_value('p_epgrestart', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_epgrestart;1~cache=}");
obj_set_radio_value('p_ucodecheck', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_ucodecheck;1~cache=}");
obj_set_radio_value('p_chan_epg_stat', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_chan_epg_stat;1~cache=}");
obj_set_radio_value('p_imageinfo', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_imageinfo;1~cache=}");
obj_set_radio_value('p_update', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_update;1~cache=}");
obj_set_radio_value('p_bluebutton', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_bluebutton;1~cache=}");
obj_set_radio_value('p_redbutton', "{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_redbutton;1~cache=}");
}
//]]>
</script>
</head>
<body onload="do_init()">
{=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Help-Settings-Personalize=}{=var-set:menu=Personalisierung=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body">
<form name="f" class="y_form" action="">
<table cellspacing="0" border="0" cellpadding="2" width="100%">
<tr><td colspan="2" class="y_form_header">Zugang Personalisierung</td></tr>
<tr><td width="35%">PIN ben&ouml;tigt</td>
<td>
<input type="radio" name="p_pinstatus" value="1"/>JA&nbsp;
<input type="radio" name="p_pinstatus" value="0"/>NEIN
</td>
</tr>
<tr>
<td>PIN Code</td>
<td>&nbsp;<input type="text" name="p_pincode" size="4" maxlength="4" value="{=ini-get:/var/tuxbox/config/neutrino.conf;personalize_pincode~open=}" title="PIN code"/></td>
</tr>
<tr><td colspan="2" class="y_form_header">Farbtasten</td></tr>
<tr><td>Taste Blau (Features)</td>
<td>
<input type="radio" name="p_bluebutton" value="1"/>AKTIVIERT&nbsp;
<input type="radio" name="p_bluebutton" value="0"/>DEAKTIVIERT
</td>
</tr>
<tr><td>Taste Rot (EPG/Info)</td>
<td>
<input type="radio" name="p_redbutton" value="1"/>AKTIVIERT&nbsp;
<input type="radio" name="p_redbutton" value="0"/>DEAKTIVIERT
</td>
</tr>
<tr><td colspan="2" class="y_form_header">Hauptmen&uuml;</td></tr>
<tr><td>TV-Modus</td>
<td>
<input type="radio" name="p_tv" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_tv" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_tv" value="2"/>PIN
</td>
</tr>
<tr><td>Radio-Modus</td>
<td>
<input type="radio" name="p_radio" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_radio" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_radio" value="2"/>PIN
</td>
</tr>
<tr><td>Scart-Eingang</td>
<td>
<input type="radio" name="p_scart" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_scart" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_scart" value="2"/>PIN
</td>
</tr>
<tr><td>Spiele</td>
<td>
<input type="radio" name="p_games" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_games" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_games" value="2"/>PIN
</td>
</tr>
<tr><td>Audioplayer</td>
<td>
<input type="radio" name="p_audioplayer" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_audioplayer" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_audioplayer" value="2"/>PIN
</td>
</tr>
</tr><td>Internetradio</td>
<td>
<input type="radio" name="p_inetradio" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_inetradio" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_inetradio" value="2"/>PIN
</td>
</tr>
<tr><td>Esound Soundserver</td>
<td>
<input type="radio" name="p_esound" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_esound" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_esound" value="2"/>PIN
</td>
</tr>
<tr><td>Movieplayer</td>
<td>
<input type="radio" name="p_movieplayer" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_movieplayer" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_movieplayer" value="2"/>PIN
</td>
</tr>
<tr><td>Bildbetrachter</td>
<td>
<input type="radio" name="p_picviewer" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_picviewer" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_picviewer" value="2"/>PIN
</td>
</tr>
<tr><td>UPNP Browser</td>
<td>
<input type="radio" name="p_upnp" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_upnp" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_upnp" value="2"/>PIN
</td>
</tr>
<tr><td>SleepTimer</td>
<td>
<input type="radio" name="p_sleeptimer" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_sleeptimer" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_sleeptimer" value="2"/>PIN
</td>
</tr>
<tr><td>Neu starten</td>
<td>
<input type="radio" name="p_reboot" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_reboot" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_reboot" value="2"/>PIN
</td>
</tr>
<tr><td>Ausschalten</td>
<td>
<input type="radio" name="p_shutdown" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_shutdown" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_shutdown" value="2"/>PIN
</td>
</tr>
<tr><td colspan="2" class="y_form_header">Einstellungen</td></tr>
<tr><td>Einstellungen-Men&uuml; mit PIN</td>
<td>
<input type="radio" name="p_settings" value="1"/>JA&nbsp;
<input type="radio" name="p_settings" value="0"/>NEIN
</td>
</tr>
<tr><td>Video</td>
<td>
<input type="radio" name="p_video" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_video" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_video" value="2"/>PIN
</td>
</tr>
<tr><td>Audio</td>
<td>
<input type="radio" name="p_audio" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_audio" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_audio" value="2"/>PIN
</td>
</tr>
<tr><td>Jugendschutz</td>
<td>
<input type="radio" name="p_youth" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_youth" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_youth" value="2"/>PIN
</td>
</tr>
<tr><td>Netzwerk</td>
<td>
<input type="radio" name="p_network" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_network" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_network" value="2"/>PIN
</td>
</tr>
<tr><td>Aufnahme</td>
<td>
<input type="radio" name="p_recording" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_recording" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_recording" value="2"/>PIN
</td>
</tr>
<tr><td>Sprache</td>
<td>
<input type="radio" name="p_language" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_language" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_language" value="2"/>PIN
</td>
</tr>
<tr><td>Farben / Themes / Schrift</td>
<td>
<input type="radio" name="p_colors" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_colors" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_colors" value="2"/>PIN
</td>
</tr>
<tr><td>LCD-Display</td>
<td>
<input type="radio" name="p_lcd" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_lcd" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_lcd" value="2"/>PIN
</td>
</tr>
<tr><td>Tasten Einstellungen</td>
<td>
<input type="radio" name="p_keybinding" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_keybinding" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_keybinding" value="2"/>PIN
</td>
</tr>
<tr><td>Medienwiedergabe</td>
<td>
<input type="radio" name="p_mediaplayer" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_mediaplayer" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_mediaplayer" value="2"/>PIN
</td>
</tr>
<tr><td>Treiber- und Bootoptionen</td>
<td>
<input type="radio" name="p_driver" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_driver" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_driver" value="2"/>PIN
</td>
</tr>
<tr><td>Diverse Einstellungen</td>
<td>
<input type="radio" name="p_misc" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_misc" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_misc" value="2"/>PIN
</td>
</tr>
<tr><td colspan="2" class="y_form_header">Service</td></tr>
<tr><td>Service-Men&uuml; mit PIN</td>
<td>
<input type="radio" name="p_service" value="1"/>JA&nbsp;
<input type="radio" name="p_service" value="0"/>NEIN
</td>
</tr>
<tr><td>Bouquet-Verwaltung</td>
<td>
<input type="radio" name="p_bouqueteditor" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_bouqueteditor" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_bouqueteditor" value="2"/>PIN
</td>
</tr>
<tr><td>Kanalsuche</td>
<td>
<input type="radio" name="p_scants" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_scants" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_scants" value="2"/>PIN
</td>
</tr>
<tr><td>Kanallisten neu laden</td>
<td>
<input type="radio" name="p_reload" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_reload" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_reload" value="2"/>PIN
</td>
</tr>
<tr><td>Plugins neu laden</td>
<td>
<input type="radio" name="p_getplugins" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_getplugins" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_getplugins" value="2"/>PIN
</td>
</tr>
<tr><td>Neutrino neu starten</td>
<td>
<input type="radio" name="p_restart" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_restart" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_restart" value="2"/>PIN
</td>
</tr>
<tr><td>EPG neu starten</td>
<td>
<input type="radio" name="p_epgrestart" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_epgrestart" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_epgrestart" value="2"/>PIN
</td>
</tr>
<tr><td>Ucodes &uuml;berpr&uuml;fen</td>
<td>
<input type="radio" name="p_ucodecheck" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_ucodecheck" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_ucodecheck" value="2"/>PIN
</td>
</tr>
<tr><td>Sender/EPG Statistik</td>
<td>
<input type="radio" name="p_chan_epg_stat" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_chan_epg_stat" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_chan_epg_stat" value="2"/>PIN
</td>
</tr>
<tr><td>Image Informationen</td>
<td>
<input type="radio" name="p_imageinfo" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_imageinfo" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_imageinfo" value="2"/>PIN
</td>
</tr>
<tr><td>Software-Aktualisierung</td>
<td>
<input type="radio" name="p_update" value="0"/>nicht sichtbar&nbsp;
<input type="radio" name="p_update" value="1"/>sichtbar&nbsp;
<input type="radio" name="p_update" value="2"/>PIN
</td>
</tr>
</table>
<br />
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;personalize_save_settings;nix"/>
<button type="button" ytype="save" title="submit and save values" onclick="do_submit()">Speichern</button>
&nbsp;<button type="button" ytype="refresh" onclick="dbox_reload_neutrino()">reload Neutrino</button>
&nbsp;<a href="javascript:top.top_main.prim_menu.nav('info', 'Y_Info_Help.yhtm');" class="inlink">Hilfe</a>
</form>
</div>
</div>
</body>
</html>
{=include-block:Y_Blocks.txt;management_check_bottom=}

View File

@@ -13,7 +13,7 @@ function do_submit()
} else if (document.f.R1[3].checked == true) { } else if (document.f.R1[3].checked == true) {
_url="/control/exec?Y_Tools&ucodes_upload&ucode.bin"; _url="/control/exec?Y_Tools&ucodes_upload&ucode.bin";
} else { } else {
alert("Please make a choice"); alert("Bitte eine Auswahl treffen");
} }
document.f.action=_url; document.f.action=_url;
document.f.submit(); document.f.submit();
@@ -24,10 +24,10 @@ function do_submit()
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Settings#ucodes=}{=var-set:menu=Ucodes=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Settings-ucodes=}{=var-set:menu=Ucodes=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<table border="0" cellpadding="5"> <table border="0" cellpadding="5" width="100%">
<tr><td class="y_form_header">Upload</td></tr> <tr><td width="50%" class="y_form_header">Upload</td><td class="y_form_header">Download</td></tr>
<tr> <tr>
<td> <td>
<form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;test_upload"> <form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;test_upload">
@@ -37,14 +37,11 @@ function do_submit()
<input type="radio" name="R1" value="avia600.ux"/>avia600.ux<br/> <input type="radio" name="R1" value="avia600.ux"/>avia600.ux<br/>
<input type="radio" name="R1" value="ucode.bin"/>ucode.bin<br/> <input type="radio" name="R1" value="ucode.bin"/>ucode.bin<br/>
<input type="file" name="F1" size="20"/>&nbsp; <input type="file" name="F1" size="20"/><br/>
<input type="button" id="su" value="Absenden" title="upload selected file" name="B1" onclick="do_submit()"/> <button type="button" id="su" ytype="save" name="B1" title="upload selected file" onclick="do_submit()">Absenden</button>
</p> </p>
</form> </form>
</td> </td>
</tr>
<tr><td class="y_form_header">Download</td></tr>
<tr>
<td> <td>
<ul> <ul>
<li><a type="application/octet-stream" href="/var/tuxbox/ucodes/avia500.ux"><u>avia500.ux</u></a></li> <li><a type="application/octet-stream" href="/var/tuxbox/ucodes/avia500.ux"><u>avia500.ux</u></a></li>

View File

@@ -2,7 +2,7 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_unmount() function do_unmount()
{ {
var local_dir=""; var local_dir="";
for(i=0; i<document.f.length;i++) for(i=0; i<document.f.length;i++)
@@ -23,7 +23,7 @@ function do_unmount()
{=include-block:Y_Blocks.txt;snip_wait=} {=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"> <div class="work_box_head">
<div class="work_box_head_h2">{=var-set:help_url=Neutrino:yWeb:Tools#Mounts=}{=var-set:menu=UnMount=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> <div class="work_box_head_h2">{=var-set:help_url=Help-Tools-Mounts=}{=var-set:menu=UnMount=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form action="/y/cgi" name="f" id="f"> <form action="/y/cgi" name="f" id="f">
{=func:umount_get_list=} {=func:umount_get_list=}

View File

@@ -0,0 +1,189 @@
{=include-block:Y_Blocks.txt;management_check_top=}
{=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript">
//<![CDATA[
function do_init()
{
var val = "";
//video
val = "{=ini-get:/var/tuxbox/config/controld.conf;videooutput;1~open=}";
document.f.videooutput.selectedIndex = val;
obj_set_radio_value('vcroutput', "{=ini-get:/var/tuxbox/config/controld.conf;vcroutput;0~cache=}");
document.f.h_vcroutput.value = obj_get_radio_value("vcroutput");
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;video_Format;2~open=}";
document.f.video_Format.selectedIndex = val;
val = "{=ini-get:/var/tuxbox/config/controld.conf;video_backgroundFormat;2~cache=}";
var sel = 0;
if(val=="2") sel=1;
if(val=="3") sel=2;
document.f.video_backgroundFormat.selectedIndex = sel;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;video_csync;0~cache=}"
document.f.video_csync.value = val;
obj_set_radio_value('vcr_AutoSwitch', "{=ini-get:/var/tuxbox/config/neutrino.conf;vcr_AutoSwitch;true~cache=}");
//audio
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;audio_AnalogMode;0~cache=}";
document.f.audio_AnalogMode.selectedIndex = val;
obj_set_radio_value('audiochannel_up_down_enable', "{=ini-get:/var/tuxbox/config/neutrino.conf;audiochannel_up_down_enable;false~cache=}");
obj_set_radio_value('audio_left_right_selectable', "{=ini-get:/var/tuxbox/config/neutrino.conf;audio_left_right_selectable;false~cache=}");
obj_set_radio_value('audio_DolbyDigital', "{=ini-get:/var/tuxbox/config/neutrino.conf;audio_DolbyDigital;false~cache=}");
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;audio_avs_Control;1~cache=}";
document.f.audio_avs_Control.selectedIndex = val;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;audio_PCMOffset;0~cache=}"
document.f.audio_PCMOffset.value = val;
val = "{=ini-get:/var/tuxbox/config/neutrino.conf;audio_step;5~cache=}"
document.f.audio_step.value = val;
}
function set_hidden_values()
{
document.f.h_videooutput.value = document.f.videooutput.selectedIndex;
document.f.h_video_csync.value = document.f.video_csync.value;
document.f.h_vcroutput.value = obj_get_radio_value("vcroutput");
document.f.h_audio_avs_Control.value = document.f.audio_avs_Control.selectedIndex;
}
function do_submit()
{
if(document.f.video_csync.value < 0 || document.f.video_csync.value > 31)
alert("Erlaubte Werte: 0 - 31");
else{
set_hidden_values();
show_waitbox(true);
document.f.submit();
}
}
//]]>
</script>
</head>
<body onload="do_init()">
{=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Help-Settings-Video-Audio=}{=var-set:menu=Video und Audio Einstellungen=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body">
<form name="f" class="y_form" action="">
<table cellspacing="0" border="0" cellpadding="2" width="100%">
<tr>
<td colspan="2" class="y_form_header">Video</td>
</tr>
<tr><td width="35%">Video Signalart</td>
<td>
<select name="videooutput" title="select videooutput" disabled="disabled">
<option value="0" selected="selected">CVBS</option>
<option value="1">RGB + CVBS</option>
<option value="2">S-Video</option>
<option value="3">YUV + VBS</option>
<option value="4">YUV + CVBS</option>
</select>
<input type="hidden" name="h_videooutput"/>(*)
</td>
</tr>
<tr>
<td>Bildschirmformat</td>
<td>
<select name="video_Format" title="select videoformat">
<option value="0" selected="selected">automatisch</option>
<option value="1">16:9</option>
<option value="2">4:3 (LB)</option>
<option value="3">4:3 (PS)</option>
</select>
</td>
</tr>
<tr>
<td>Hintergrundbildformat</td>
<td>
<select name="video_backgroundFormat" title="select backgroundformat">
<option value="1" selected="selected">16:9</option>
<option value="2">4:3 (LB)</option>
<option value="3">4:3 (PS)</option>
</select>
</td>
</tr>
<tr>
<td>RGB-Zentrierung</td>
<td>
<input type="text" name="video_csync" size="2" maxlength="2" disabled="disabled" title="set rgb-sync"/>
<input type="hidden" name="h_video_csync"/>(*)
</td>
</tr>
<tr>
<td title="select vcr_output">VCR-Ausgang Signalart</td>
<td>
<input type="radio" name="vcroutput" value="0" disabled="disabled"/>CVBS&nbsp;
<input type="radio" name="vcroutput" value="2" disabled="disabled"/>S-Video
<input type="hidden" name="h_vcroutput"/>(*)
</td>
</tr>
<tr>
<td title="vcr_AutoSwitch: off/on">Scart-Eingang automatisch</td>
<td>
<input type="radio" name="vcr_AutoSwitch" value="false"/>NEIN&nbsp;
<input type="radio" name="vcr_AutoSwitch" value="true"/>JA
</td>
</tr>
<tr><td colspan="2" class="y_form_header">Audio</td></tr>
<tr>
<td>Analog-Ausgang</td>
<td>
<select name="audio_AnalogMode" title="select audio analogMode">
<option value="0" selected="selected">Stereo</option>
<option value="1">Mono links</option>
<option value="2">Mono rechts</option>
</select>
</td>
</tr>
<tr>
<td title="audiochannel selectable in menu: off/on">in Tonwahl w&auml;hlbar</td>
<td>
<input type="radio" name="audiochannel_up_down_enable" value="false"/>AUS&nbsp;
<input type="radio" name="audiochannel_up_down_enable" value="true"/>EIN
</td>
</tr>
<tr>
<td title="enable audioselect with left/right: off/on">Audio mit Links/Rechts w&auml;hlbar</td>
<td>
<input type="radio" name="audio_left_right_selectable" value="false"/>AUS&nbsp;
<input type="radio" name="audio_left_right_selectable" value="true"/>EIN
</td>
</tr>
<tr><td title="dolby digital default: off/on">Dolby Digital Default</td>
<td>
<input type="radio" name="audio_DolbyDigital" value="false"/>AUS&nbsp;
<input type="radio" name="audio_DolbyDigital" value="true"/>EIN
</td>
</tr>
<tr><td>Volume Steuerung</td>
<td>
<select name="audio_avs_Control" title="select volume control" disabled="disabled">
<option value="0" selected="selected">ost</option>
<option value="1">avs</option>
<option value="2">lirc</option>
</select>
<input type="hidden" name="h_audio_avs_Control"/>(*)
</td>
</tr>
<tr><td>Lautst&auml;rkeabsenkung PCM</td>
<td>
<input type="text" name="audio_PCMOffset" size="2" maxlength="2" title="pcm offset"/>
</td>
</tr>
<tr><td>Lautst&auml;rke Schrittweite</td>
<td>
<input type="text" name="audio_step" size="2" maxlength="2" title="audio step"/>
</td>
</tr>
</table>
<br/>
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;video_audio_save_settings;nix"/>
<button type="button" ytype="save" title="submit and save values" onclick="do_submit()">Speichern</button>&nbsp;
<button type="button" ytype="refresh" onclick="dbox_reload_neutrino()">reload Neutrino</button>&nbsp;
<a href="javascript:top.top_main.prim_menu.nav('info', 'Y_Info_Help.yhtm');" class="inlink">Hilfe</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(* diese Einstellungen sind nur lesbar)
</form>
</div>
</div>
</body>
</html>
{=include-block:Y_Blocks.txt;management_check_bottom=}

View File

@@ -4,10 +4,10 @@
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
var g_wol = new Array( var g_wol = new Array(
"{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_1=}", "{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_1=}",
"{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_2=}", "{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_2=}",
"{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_3=}"); "{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_3=}");
function do_wol(_nr) function do_wol(_nr)
{ {
var nhttpd_version = loadSyncURL("/control/exec?Y_Tools&wol&"+g_wol[_nr-1]); var nhttpd_version = loadSyncURL("/control/exec?Y_Tools&wol&"+g_wol[_nr-1]);
} }
@@ -16,31 +16,35 @@ function init_wol()
for(i=1;i<=3;i++) for(i=1;i<=3;i++)
document.getElementById("wol"+i).disabled = (g_wol[i-1] == ""); document.getElementById("wol"+i).disabled = (g_wol[i-1] == "");
} }
function goto_settings(){
top.top_main.prim_menu.nav("settings", "Y_Settings_yWeb.yhtm");
}
//]]> //]]>
</script> </script>
</head> </head>
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"> <div class="work_box_head">
<div class="work_box_head_h2">{=var-set:help_url=Neutrino:yWeb:Tools#Wake_on_LAN=}{=var-set:menu=Wake on LAN=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> <div class="work_box_head_h2">{=var-set:help_url=Help-Tools-Wake_on_LAN=}{=var-set:menu=Wake on LAN=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" action="/y/cgi"> <form name="f" action="/y/cgi">
<table border="0" class="y_form_table"> <table border="0" class="y_form_table">
<tr> <tr>
<td>Wake on Lan MAC 1 ({=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_1=})</td> <td>Wake on Lan MAC 1 ({=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_1=}) {=ini-get:/var/tuxbox/config/Y-Web.conf;wol_desc_1=}</td>
<td><input id="wol1" type="button" name="wol_mac_1" value="wake up" title="wake up that MAC" onclick='do_wol(1)'/></td> <td><input id="wol1" type="button" name="wol_mac_1" value="wake up" title="wake up that MAC" onclick='do_wol(1)'/></td>
</tr> </tr>
<tr> <tr>
<td>Wake on Lan MAC 2 ({=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_2=})</td> <td>Wake on Lan MAC 2 ({=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_2=}) {=ini-get:/var/tuxbox/config/Y-Web.conf;wol_desc_2=}</td>
<td><input id="wol2" type="button" name="wol_mac_2" value="wake up" title="wake up that MAC" onclick='do_wol(2)'/></td> <td><input id="wol2" type="button" name="wol_mac_2" value="wake up" title="wake up that MAC" onclick='do_wol(2)'/></td>
</tr> </tr>
<tr> <tr>
<td>Wake on Lan MAC 3 ({=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_3=})</td> <td>Wake on Lan MAC 3 ({=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_3=}) {=ini-get:/var/tuxbox/config/Y-Web.conf;wol_desc_3=}</td>
<td><input id="wol3" type="button" name="wol_mac_3" value="wake up" title="wake up that MAC" onclick='do_wol(3)'/></td> <td><input id="wol3" type="button" name="wol_mac_3" value="wake up" title="wake up that MAC" onclick='do_wol(3)'/></td>
</tr> </tr>
<tr><td colspan="2"><a href="javascript:goto_settings()" class="inlink">Einstellungen</a></td></tr>
</table> </table>
</form> </form>
<!--<a href="Y_Settings_yWeb.yhtm" title="WOL Settings">Settings</a>--> <!--<a href="Y_Settings_yWeb.yhtm" title="WOL Settings">Einstellungen</a>-->
</div> </div>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">

View File

@@ -3,71 +3,98 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_submit() function do_submit(){
{
show_waitbox(true); show_waitbox(true);
yhttpd_cache_clear(""); yhttpd_cache_clear("");
document.f.submit(); document.f.submit();
} }
function do_init(){
val = "{=ini-get:/var/tuxbox/config/Y-Web.conf;fb;default~open=}";
var sel=2;
switch(val){
case "default": sel=0; break;
case "Nokia": sel=1; break;
}
document.f.fb.selectedIndex = sel;
val = "{=ini-get:/var/tuxbox/config/Y-Web.conf;start_page;bouquets~cache=}";
var sel=2;
switch(val){
case "bouquets": sel=0; break;
case "control": sel=1; break;
}
document.f.start_page.selectedIndex = sel;
}
//]]> //]]>
</script> </script>
</head> </head>
<body> <body onload="do_init()">
{=var-set:wait_text=Values are saved (Save).=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Settings#yWeb=}{=var-set:menu=yWeb=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Settings-yWeb=}{=var-set:menu=yWeb=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" action="/y/cgi"> <form name="f" class="y_form" action="/y/cgi">
<table border="0" class="y_form_table"> <table border="0" class="y_form_table">
<tr><td class="y_form_header" colspan="4">{=L:management_IPs=}</td></tr>
<tr> <tr>
<td>Slave Box IP (2. dbox)</td> <td>IP 1</td>
<td><input type="text" name="slavebox" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;slavebox=}" title="enter IP (xxx.xxx.xxx.xxx) of slave-box"/></td> <td colspan="3"><input type="text" name="managementIP" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip=}" title="{=L:enter_ip_desc=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Management IP 1</td> <td>IP 2</td>
<td><input type="text" name="managementIP" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip=}" title="enter IP (xxx.xxx.xxx.xxx)"/></td> <td colspan="3"><input type="text" name="managementIP2" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}" title="{=L:enter_ip_desc=}"/></td>
</tr>
<tr><td class="y_form_header" colspan="4">{=L:wake_on_lan=}</td></tr>
<tr>
<td>MAC 1</td>
<td><input type="text" name="wol_mac_1" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_1=}" title="{=L:enter_mac_desc=}"/></td>
<td>{=L:description=}</td>
<td><input type="text" name="wol_desc_1" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_desc_1=}" title="{=L:enter_description_desc=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Management IP 2</td> <td>MAC 2</td>
<td><input type="text" name="managementIP2" size="15" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}" title="enter IP (xxx.xxx.xxx.xxx)"/></td> <td><input type="text" name="wol_mac_2" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_2=}" title="{=L:enter_mac_desc=}"/></td>
<td>{=L:description=}</td>
<td><input type="text" name="wol_desc_2" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_desc_2=}" title="{=L:enter_description_desc=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Wake on Lan MAC 1</td> <td>MAC 3</td>
<td><input type="text" name="wol_mac_1" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_1=}" title="enter MAC Adress (xx:xx:xx:xx:xx:xx)"/></td> <td><input type="text" name="wol_mac_3" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_3=}" title="{=L:enter_mac_desc=}"/></td>
<td>{=L:description=}</td>
<td><input type="text" name="wol_desc_3" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_desc_3=}" title="{=L:enter_description_desc=}"/></td>
</tr>
<tr><td class="y_form_header" colspan="4">{=L:box_tag=}</td></tr>
<tr>
<td>{=L:tag=}</td>
<td colspan="3"><input type="text" name="yweb_box_name" size="8" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_name=}"
title="{=L:box_tag_desc=}"/></td>
</tr> </tr>
<tr> <tr>
<td>Wake on Lan MAC 2</td> <td>{=L:color=}</td>
<td><input type="text" name="wol_mac_2" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_2=}" title="enter MAC Adress (xx:xx:xx:xx:xx:xx)"/></td> <td colspan="3"><input type="text" name="yweb_box_color" size="8" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_color=}"
title="{=L:box_color_desc=}"/></td>
</tr>
<tr><td class="y_form_header" colspan="4">{=L:others=}</td></tr>
<tr>
<td>{=L:remote=}</td>
<td colspan="3"> <select name="fb" title="{=L:remote=}">
<option value="default" selected="selected">default</option>
<option value="Nokia">Nokia</option>
<option value="Sagem">Sagem/Philips</option>
<option value="Coolstream">Coolstream</option>
</tr> </tr>
<tr> <tr>
<td>Wake on Lan MAC 3</td> <td>{=L:start_page=}</td>
<td><input type="text" name="wol_mac_3" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;wol_mac_3=}" title="enter MAC Adress (xx:xx:xx:xx:xx:xx)"/></td> <td colspan="3"> <select name="start_page" title="{=L:start_page=}">
</tr> <option value="bouquets" selected="selected">{=L:bouquets=}</option>
<tr> <option value="control">{=L:control=}</option>
<td>VLC Recording path</td> <option value="none">{=L:empty=}</option>
<td><input type="text" name="vlc_record_path" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;vlc_record_path=}" title="VLC record path for LiveView direct recording."/></td>
</tr>
<!--- <tr>
<td>VLC Aufnahmetyp</td>
<td><input type="text" name="vlc_record_mux_type" size="17" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;vlc_record_mux_type=}" title="VLC record mux type"/></td>
</tr>
-->
<tr>
<td>Box-name</td>
<td><input type="text" name="yweb_box_name" size="8" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_name=}"
title="Box Name in Top-Menue."/></td>
</tr>
<tr>
<td>Box-name/colour</td>
<td><input type="text" name="yweb_box_color" size="8" value="{=ini-get:/var/tuxbox/config/Y-Web.conf;yweb_box_color=}"
title="Box Name color in Top-Menue. e.g. enter 2188e0 without #"/></td>
</tr> </tr>
</table> </table>
<br/> <br/>
<input type="hidden" name="tmpl" value="Y_Settings_yWeb.yhtm"/> <input type="hidden" name="tmpl" value="Y_Settings_yWeb.yhtm"/>
<input type="hidden" name="execute" value="include-block:Y_Blocks.txt;yWeb_save_settings;nix"/> <input type="hidden" name="execute" value="include-block:Y_Blocks.txt;yWeb_save_settings;nix"/>
<input type="button" value="Save ..." title="submit and save values" onclick="do_submit()"/> <button type="button" ytype="save" title="{=L:save_values_desc=}" onclick="do_submit()">{=L:save=}</button>
</form> </form>
</div> </div>
</div> </div>

View File

@@ -9,9 +9,9 @@ function do_submit()
else if (document.f.R1[1].checked == true) else if (document.f.R1[1].checked == true)
_url="/control/exec?Y_Tools&zapit_upload&services.xml"; _url="/control/exec?Y_Tools&zapit_upload&services.xml";
else if (document.f.R1[2].checked == true) else if (document.f.R1[2].checked == true)
_url="/control/exec?Y_Tools&zapit_upload&ubouquets.xml"; _url="/control/exec?Y_Tools&zapit_upload&myservices.xml";
else else
alert("Please make a choice"); alert("Bitte eine Auswahl treffen");
document.f.action=_url; document.f.action=_url;
document.f.submit(); document.f.submit();
} }
@@ -21,32 +21,29 @@ function do_submit()
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Settings#zapit=}{=var-set:menu=zapit=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Settings-zapit=}{=var-set:menu=zapit=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<table border="0" cellpadding="5"> <table border="0" cellpadding="5" width="100%">
<tr><td class="y_form_header">Upload</td></tr> <tr><td width="50%" class="y_form_header">Upload</td><td class="y_form_header">Download</td></tr>
<tr> <tr>
<td> <td>
<form name="f" method="post" enctype="multipart/form-data" action=""> <form name="f" method="post" enctype="multipart/form-data" action="">
<p> <p>
<input type="radio" name="R1" checked="checked" value="bouquets.xml"/>bouquets.xml<br/> <input type="radio" name="R1" checked="checked" value="bouquets.xml"/>bouquets.xml<br/>
<input type="radio" name="R1" value="services.xml"/>services.xml<br/> <input type="radio" name="R1" value="services.xml"/>services.xml<br/>
<input type="radio" name="R1" value="ubouquets.xml"/>ubouquets.xml<br/> <input type="radio" name="R1" value="myservices.xml"/>myservices.xml<br/>
<input type="file" name="F1" size="20"/>&nbsp; <input type="file" name="F1" size="20"/><br/>
<input type="button" id="su" value="Absenden" name="B1" title="upload selected file" onclick="do_submit()"/> <button type="button" id="su" ytype="save" name="B1" title="upload selected file" onclick="do_submit()">Absenden</button>
</p> </p>
</form> </form>
</td> </td>
</tr>
<tr><td class="y_form_header">Download</td></tr>
<tr>
<td> <td>
<ul> <ul>
<li><a type="application/octet-stream" href="/var/tuxbox/config/zapit/bouquets.xml"><u>bouquets.xml</u></a></li> <li><a type="application/octet-stream" href="/var/tuxbox/config/zapit/bouquets.xml"><u>bouquets.xml</u></a></li>
<li><a type="application/octet-stream" href="/var/tuxbox/config/zapit/services.xml"><u>services.xml</u></a></li> <li><a type="application/octet-stream" href="/var/tuxbox/config/zapit/services.xml"><u>services.xml</u></a></li>
<li><a type="application/octet-stream" href="/var/tuxbox/config/zapit/ubouquets.xml"><u>ubouquets.xml</u></a></li> <li><a type="application/octet-stream" href="/var/tuxbox/config/zapit/myservices.xml"><u>myservices.xml</u></a></li>
</ul> </ul>
</td> </td>
</tr> </tr>
</table> </table>

View File

@@ -1,4 +1,23 @@
{=include-block:Y_Blocks.txt;head_no_charset=} {=include-block:Y_Blocks.txt;head_no_charset=}
<style>
.y_work_box {
border-spacing: 1px;
padding-left: 20px;
padding-right: 20px;
padding-top: 10px;
padding-bottom: 10px;
float:left;
width: auto;
color: #555555;
display:block;
}
.y_head {
font-weight: bold;
color: #555555;
font-size: 14pt;
clear:both;
}
</style>
</head> </head>
<body> <body>
<BR> <BR>
@@ -7,12 +26,12 @@
<div class="y_work_box"> <div class="y_work_box">
<TABLE cellspacing="2" cellpadding="3" class="tableborder" width="300px"> <TABLE cellspacing="2" cellpadding="3" class="tableborder" width="300px">
<TR> <TR>
<TD class="set"><B>Resolution:</B></TD> <TD class="set"><B>Aufl&ouml;sung:</B></TD>
<TD width="30">&nbsp;</TD> <TD width="30">&nbsp;</TD>
<TD class="set">{=VideoFormat=}</TD> <TD class="set">{=VideoFormat=}</TD>
</TR> </TR>
<TR> <TR>
<TD class="set"><B>Relation:</B></TD> <TD class="set"><B>Verh&auml;ltnis:</B></TD>
<TD>&nbsp;</TD> <TD>&nbsp;</TD>
<TD class="set"> <div align="left">{=AspectRatio=}</div></TD> <TD class="set"> <div align="left">{=AspectRatio=}</div></TD>
</TR> </TR>
@@ -22,12 +41,12 @@
<TD class="set"> <div align="left">{=BitRate=} bit/sec</div></TD> <TD class="set"> <div align="left">{=BitRate=} bit/sec</div></TD>
</TR> </TR>
<TR> <TR>
<TD class="set"><B>Framerate:</B></TD> <TD class="set"><B>Bildrate:</B></TD>
<TD>&nbsp;</TD> <TD>&nbsp;</TD>
<TD class="set"> <div align="left">{=FPS=} fps</div></TD> <TD class="set"> <div align="left">{=FPS=} fps</div></TD>
</TR> </TR>
<TR> <TR>
<TD class="set"><B>Audiotype:</B></TD> <TD class="set"><B>Audiotyp:</B></TD>
<TD>&nbsp;</TD> <TD>&nbsp;</TD>
<TD class="set"> <div align="left">{=AudioType=}</div></TD> <TD class="set"> <div align="left">{=AudioType=}</div></TD>
</TR> </TR>
@@ -47,7 +66,7 @@
<TD class="set"> <div align="left">{=tsid=}</div></TD> <TD class="set"> <div align="left">{=tsid=}</div></TD>
</TR> </TR>
<TR> <TR>
<TD class="set"><B>frequency:</B></TD> <TD class="set"><B>tsfrequency:</B></TD>
<TD>&nbsp;</TD> <TD>&nbsp;</TD>
<TD class="set"> <div align="left">{=tsfrequency=} ({=polarisation=})</div></TD> <TD class="set"> <div align="left">{=tsfrequency=} ({=polarisation=})</div></TD>
</TR> </TR>

View File

@@ -1,11 +1,11 @@
{=func:set_timer_form {=typ=} {=tid=}=} {=func:set_timer_form {=typ=} {=tid=}=}
{=include-block:Y_Blocks.txt;head_no_charset=} {=include-block:Y_Blocks.txt;head_no_charset=}
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function my_show(id) {document.getElementById(id).style.visibility="visible";} function my_display(id,state) {(state)?$(id).show():$(id).hide();}
function my_hide(id) {document.getElementById(id).style.visibility="hidden";}
function focusNMark() function focusNMark()
{ {
document.f.ad.select(); document.f.ad.select();
@@ -14,23 +14,25 @@ function focusNMark()
function onEventChange() function onEventChange()
{ {
tType=document.f.type.value; tType=document.f.type.value;
show_obj("StopDateRow",(tType == "5")); my_display("StopDateRow",(tType == "5"));
show_obj("StandbyRow",(tType == "4")); my_display("StandbyRow",(tType == "4"));
show_obj("ProgramRow",(tType == "5" || tType=="2" || tType=="3")); my_display("ProgramRow",(tType == "5" || tType=="2" || tType=="3"));
show_obj("ApidRow",(tType == "5")); my_display("ApidRow",(tType == "5"));
show_obj("MessageRow",(tType == "6")); my_display("MessageRow",(tType == "6"));
show_obj("PluginNameRow",(tType == "8")); my_display("PluginNameRow",(tType == "8"));
my_display("RecDirRow",(tType == "5"));
my_display("ValuesRow",(tType != "1" && tType!="7"));
focusNMark(); focusNMark();
} }
function onEventChange2() function onEventChange2()
{ {
tType=document.f.rep.value; tType=document.f.rep.value;
show_obj("WeekdaysRow",(tType == "256")); my_display("WeekdaysRow",(tType == "256"));
show_obj("repcountRow",!(tType == "0")); my_display("repcountRow",!(tType == "0"));
} }
function onApidDefChange() function onApidDefChange()
{ {
if(document.f.apcf.checked == true) if(document.f.apcf.checked == true)
{ {
document.f.apst.checked=false; document.f.apst.checked=false;
@@ -40,7 +42,7 @@ function onApidDefChange()
} }
function onApidChange() function onApidChange()
{ {
if(document.f.apst.checked == true || if(document.f.apst.checked == true ||
document.f.apal.checked == true || document.f.apal.checked == true ||
document.f.apac.checked == true) document.f.apac.checked == true)
document.f.apcf.checked=false; document.f.apcf.checked=false;
@@ -50,40 +52,52 @@ function do_submit()
show_waitbox(true); show_waitbox(true);
document.f.submit(); document.f.submit();
} }
function obj_set_select_value(_obj_name, _value)
{
var _obj = document.getElementById(_obj_name);
if(_obj){
for(i=0;i<_obj.length;i++)
if(_obj.options[i].value == _value)
_obj.selectedIndex=i;
}
}
function init() function init()
{ {
onEventChange(); onEventChange();
onEventChange2(); onEventChange2();
var rd="{=timer_recordingDir=}";
obj_set_select_value("rec_dir", rd);
} }
//]]> //]]>
</script> </script>
</head> </head>
<body onload="init()"> <body onload="init()">
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Live#Timer=}{=var-set:menu=Timer=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Live_Timer-Timer=}{=var-set:menu=Timer=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form method="get" name="f" action="/fb/timer.dbox2"> <form method="get" class="y_form" name="f" action="/fb/timer.dbox2">
<input TYPE="hidden" name="action" value="{=typ=}"/> <input type="hidden" name="action" value="{=typ=}"/>
<input name="id" TYPE="hidden" value="{=timerId=}"/> <input name="id" type="hidden" value="{=timerId=}"/>
<table border="0"> <table border="0" width="100%">
<tr><td colspan="2" class="y_form_header">Timer</td></tr> <tr><td colspan="2" class="y_form_header">Timer</td></tr>
<tr> <tr>
<td>Type</td> <td>Typ</td>
<td> <select name="type" onchange="onEventChange();"> <td> <select name="type" onchange="onEventChange();">
{=timertype=} {=timertype=}
</select> </select>
</td> </td>
</tr> </tr>
<tr><td colspan="2" class="y_form_header">Times</td></tr> <tr><td colspan="2" class="y_form_header">Zeiten</td></tr>
<tr> <tr>
<td>Alarm-Date</td> <td>Alarm-Datum</td>
<td><input type="text" name="ad" value="{=alarm_mday=}" size="2" maxlength="2"/> <td><input type="text" name="ad" value="{=alarm_mday=}" size="2" maxlength="2"/>
.&nbsp;<input type="text" name="amo" value="{=alarm_mon=}" size="2" maxlength="2"/> .&nbsp;<input type="text" name="amo" value="{=alarm_mon=}" size="2" maxlength="2"/>
.&nbsp;<input type="text" name="ay" value="{=alarm_year=}" size="4" maxlength="4"/> .&nbsp;<input type="text" name="ay" value="{=alarm_year=}" size="4" maxlength="4"/>
&nbsp;Time&nbsp;<input type="text" name="ah" value="{=alarm_hour=}" size="2" maxlength="2"/> &nbsp;Zeit&nbsp;<input type="text" name="ah" value="{=alarm_hour=}" size="2" maxlength="2"/>
&nbsp;:&nbsp;<input type="text" name="ami" value="{=alarm_min=}" size="2" maxlength="2"/> &nbsp;:&nbsp;<input type="text" name="ami" value="{=alarm_min=}" size="2" maxlength="2"/>
</td> </td>
</tr> </tr>
@@ -92,38 +106,38 @@ function init()
<td><input type="text" name="sd" value="{=stop_mday=}" size="2" maxlength="2"/> <td><input type="text" name="sd" value="{=stop_mday=}" size="2" maxlength="2"/>
.&nbsp;<input type="text" name="smo" value="{=stop_mon=}" size="2" maxlength="2"/> .&nbsp;<input type="text" name="smo" value="{=stop_mon=}" size="2" maxlength="2"/>
.&nbsp;<input type="text" name="sy" value="{=stop_year=}" size="4" maxlength="4"/> .&nbsp;<input type="text" name="sy" value="{=stop_year=}" size="4" maxlength="4"/>
&nbsp;Time&nbsp;<input type="text" name="sh" value="{=stop_hour=}" size="2" maxlength="2"/> &nbsp;Zeit&nbsp;<input type="text" name="sh" value="{=stop_hour=}" size="2" maxlength="2"/>
&nbsp;:&nbsp;<input type="text" name="smi" value="{=stop_min=}" size="2" maxlength="2"/> &nbsp;:&nbsp;<input type="text" name="smi" value="{=stop_min=}" size="2" maxlength="2"/>
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Repeat</td> <td>Wiederholung</td>
<td><select name="rep" onchange="onEventChange2();"> <td><select name="rep" onchange="onEventChange2();">
{=repeat=} {=repeat=}
</select> </select>
</td> </td>
</tr> </tr>
<tr id="repcountRow" style="visibility:hidden;"> <tr id="repcountRow" style="display:none;">
<td>repeat (0 = indefinitely)</td> <td>Wiederholungen (0 = unbegrenzt)</td>
<td><input type="text" name="repcount" id="repcount" value="{=timer_repeatCount=}" size="4" maxlength="3"/> <td><input type="text" name="repcount" id="repcount" value="{=timer_repeatCount=}" size="4" maxlength="3"/>
</td> </td>
</tr> </tr>
<tr id="WeekdaysRow" style="visibility:hidden;"> <tr id="WeekdaysRow" style="display:none;">
<td>Weekdays</td> <td>Wochentage</td>
<td><input type="text" name="wd" value="{=weekdays=}" size="7" maxlength="7"/> (Mo-So, X=Timer) <td><input type="text" name="wd" value="{=weekdays=}" size="7" maxlength="7"/> (Mo-So, X=Timer)
</td> </td>
</tr> </tr>
<tr><td colspan="2" class="y_form_header">Values</td></tr> <tr id="ValuesRow" style="display:none"><td colspan="2" class="y_form_header">Werte</td></tr>
<tr id="ProgramRow" style="visibility:hidden"> <tr id="ProgramRow" style="display:none">
<td>Program</td> <td>Programm</td>
<td><select name="channel_id"> <td><select name="channel_id">
{=program_row=} {=program_row=}
</select> </select>
</td> </td>
</tr> </tr>
<tr id="ApidRow" style="visibility:hidden"> <tr id="ApidRow" style="display:none">
<td>APIDs:</td> <td>APIDs:</td>
<td><input type="checkbox" name="apcf" onchange="onApidDefChange();" {=if-equal:{=TIMERD_APIDS_CONF=}~y~checked="checked"=}/>Default <td><input type="checkbox" name="apcf" onchange="onApidDefChange();" {=if-equal:{=TIMERD_APIDS_CONF=}~y~checked="checked"=}/>Default
<input type="checkbox" name="apst" onchange="onApidChange();" {=if-equal:{=TIMERD_APIDS_STD=}~y~checked="checked"=}/>Standard <input type="checkbox" name="apst" onchange="onApidChange();" {=if-equal:{=TIMERD_APIDS_STD=}~y~checked="checked"=}/>Standard
@@ -131,34 +145,45 @@ function init()
<input type="checkbox" name="apac" onchange="onApidChange();" {=if-equal:{=TIMERD_APIDS_AC3=}~y~checked="checked"=}/>AC3 <input type="checkbox" name="apac" onchange="onApidChange();" {=if-equal:{=TIMERD_APIDS_AC3=}~y~checked="checked"=}/>AC3
</td> </td>
</tr> </tr>
<tr id="StandbyRow" style="visibility:hidden"> <tr id="StandbyRow" style="display:none">
<td>Standby</td> <td>Standby</td>
<td><input type="radio" name="sbon" value="1" {=if-equal:{=standby=}~1~~checked="checked"=}/>On <td><input type="radio" name="sbon" value="1" {=if-equal:{=standby=}~1~~checked="checked"=}/>An
<input type="radio" name="sbon" value="0" {=if-equal:{=standby=}~0~~checked="checked"=}/>Off <input type="radio" name="sbon" value="0" {=if-equal:{=standby=}~0~~checked="checked"=}/>Aus
</td> </td>
</tr> </tr>
<tr id="MessageRow" style="visibility:hidden"> <tr id="MessageRow" style="display:none">
<td>New</td> <td>Nachricht</td>
<td><input type="text" name="msg" value="{=message=}" size="20" maxlength="30"/> ('/'=NL) <td><input type="text" name="msg" value="{=message=}" size="20" maxlength="30"/> ('/'=NL)
</td> </td>
</tr> </tr>
<tr id="PluginNameRow" style="visibility:hidden"> <tr id="PluginNameRow" style="display:none">
<td>Plugin</td> <td>Plugin</td>
<td><input type="text" name="PluginName" value="{=pluginname=}" size="20" maxlength="30"/> <td><input type="text" name="PluginName" value="{=pluginname=}" size="20" maxlength="30"/>
</td> </td>
</tr> </tr>
{=if-empty:{=timer_recordingDir=}~~ <tr id="RecDirRow" style="display:none">
<tr> <td>Aufnahmeverzeichnis:</td>
<td>List:</td> <td>
<td><input type="text" name="rec_dir" value="{=timer_recordingDir=}" size="20" maxlength="{=RECORD_DIR_MAXLEN-1=}"/> <select name="rec_dir" id="rec_dir" class="y_live_button">
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_0;/mnt/filme~open=}" selected="selected">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_0;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_1;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_1;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_2;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_2;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_3;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_3;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_4;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_4;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_5;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_5;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_6;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_6;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_7;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_7;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_8;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_8;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_9;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_9;/mnt/filme~cache=}</option>
</select>
</td> </td>
</tr> </tr>
=}
</table> </table>
<br/> <br/>
<input type="button" value="save" title="submit and save values" onclick="do_submit()"/> <!-- <input type="button" value="speichern" title="submit and save values" onclick="do_submit()"/>-->
<input type="button" value="abort" onclick='window.document.location.href="/Y_Timer_List.yhtm"'/> <button type="button" ytype="save" title="submit and save values" onclick="do_submit()">speichern</button>
<button type="button" ytype="cancel" title="cancel" onclick='window.document.location.href="/Y_Timer_List.yhtm"'>abbrechen</button>
</form> </form>
</div> </div>
</div> </div>

View File

@@ -4,18 +4,18 @@
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Live_Timer#Timer=}{=var-set:menu=Timer=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Live_Timer-Timer=}{=var-set:menu=Timer=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<table class="timer" border="0"> <table class="timer">
<tr> <tr class="timer_header">
<td class="ctimer" align="center"><b>Alarm time</b></td> <td>Alarm-Zeit</td>
<td class="ctimer" align="center"><b>Stop time</b></td> <td>Stop-Zeit</td>
<td class="ctimer" align="center"><b>Repeat</b></td> <td>Wiederholung</td>
<td class="ctimer" align="center"><b>Repeats</b></td> <td>Wiederholungen</td>
<td class="ctimer" align="center"><b>Type</b></td> <td>Typ</td>
<td class="ctimer" align="center"><b>Description</b></td> <td>Beschreibung</td>
<td class="ctimer">&nbsp;</td> <td>&nbsp;</td>
<td class="ctimer">&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
{=var-set:row= {=var-set:row=
<tr class="%ctimer"> <tr class="%ctimer">
@@ -27,28 +27,27 @@
<td>%s<br/> <td>%s<br/>
<td> <td>
<a href="/fb/timer.dbox2?action=remove&amp;id=%d"> <a href="/fb/timer.dbox2?action=remove&amp;id=%d">
<img src="/images/remove.png" alt="del Timer"/></a> <img src="/images/remove.png" alt="Timer l&ouml;schen"/></a>
</td> </td>
<td> <td>
<a href="/Y_Timer_Edit.yhtm?typ=modify&amp;tid=%d"> <a href="/Y_Timer_Edit.yhtm?typ=modify&amp;tid=%d">
<img src="/images/modify.png" alt="edit Timer"/></a> <img src="/images/modify.png" alt="Timer &auml;ndern"/></a>
</td> </td>
</tr> </tr>
=} =}
{=func:get_timer_list {=var-get:row=}=} {=func:get_timer_list {=var-get:row=}=}
<tr> <tr class="timer_footer">
<td class="atimer" colspan="6"><img src="/images/blank.gif" width="1" height="1"/></td> <td colspan="6"><img src="/images/blank.gif" width="1" height="1"/></td>
<td class="atimer" align="center"> <td>
<a href="javascript:location.reload()">
<img src="/images/reload.gif" alt="Update"/></a>
</td>
<td class="atimer" align="center">
<a href="/Y_Timer_Edit.yhtm?typ=new"> <a href="/Y_Timer_Edit.yhtm?typ=new">
<img src="/images/new.gif" alt="new Timer"/></a> <img src="/images/new.png" alt="neuer Timer"/></a>
</td>
<td>
<a href="javascript:location.reload()">
<img src="/images/reload.gif" alt="Aktualisieren"/></a>
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
</div> </div>

View File

@@ -2,7 +2,7 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_submit() function do_submit()
{ {
show_waitbox(true); show_waitbox(true);
document.f.su.disabled=true; document.f.su.disabled=true;
@@ -19,17 +19,21 @@ function do_submit()
{=var-set:wait_text=Logo wird hochgeladen (Upload).=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text=Logo wird hochgeladen (Upload).=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Settings#Boot_Logo=}{=var-set:menu=Bootlogo / LCD=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Settings-Boot_Logo=}{=var-set:menu=Bootlogo / LCD=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;bootlogo_upload"> <form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;bootlogo_upload">
<p> <p>
<font size="2" color="Red">Achtung<br/>Das Boot-Logo muss schon im Zielformat vorliegen!</font><br/> <div style="border: 1px solid #cccccc">
<img src="/images/cross.png">&nbsp;<span><font size="2" color="Red"><b>Achtung</b>&nbsp;</font>Das Boot-Logo muss schon im Zielformat vorliegen!
</span></div>
<br />
<input type="radio" checked="checked" name="logotype" value="bootlogo_upload"/>Boot Logo<br/> <input type="radio" checked="checked" name="logotype" value="bootlogo_upload"/>Boot Logo<br/>
<input type="radio" name="logotype" value="bootlogo_lcd_upload"/>Boot LCD Logo<br/> <input type="radio" name="logotype" value="bootlogo_lcd_upload"/>Boot LCD Logo<br/><br/>
<input type="file" name="F1" size="20"/><br/> <input type="file" name="F1" size="30"/>&nbsp;
<input type="button" name="su" value="hochladen" title="upload" onclick="do_submit()"/> <input type="button" name="su" value="hochladen" title="upload" onclick="do_submit()"/>
</p> </p>
</form> </form>
<br />
</div> </div>
</div> </div>
</body> </body>

View File

@@ -1,15 +1,19 @@
{=var-set:cancache=yPyes=} {=var-set:cancache=yPyes=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function goConfirmUrl(_meld, _url) function goConfirmUrl(_meld, _url){
{
if (confirm(_meld)==true) goUrl(_url); if (confirm(_meld)==true) goUrl(_url);
} }
function goUrl(_url) function goUrl(_url){
{ var res = trim(loadSyncURL(_url));
out.location.href = _url; switch(res){
case "1": res="on"; break;
case "0": res="off"; break;
}
$("out").update(res);
} }
//]]> //]]>
</script> </script>
@@ -17,61 +21,90 @@ function goUrl(_url)
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:BoxControl#Control=}{=var-set:menu=Control=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-BoxControl-Control=}{=var-set:menu=Control=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form action=""> <form action="">
<table class="y_invisible_table" cellpadding="5"> <table class="y_invisible_table" cellpadding="5" width="100%">
<tr><td class="y_form_header">Coolstream HD1</td><td class="y_form_header">Standby Mode</td></tr> <tr><td class="y_form_header">{=L:box=}</td><td class="y_form_header">{=L:standby_mode=}</td></tr>
<tr> <tr>
<td> <td>
<input type="button" value="Restart" title="reboot" onclick='goConfirmUrl("Do you really want to reboot the dbox?","/control/reboot");'/> <input type="button" value="{=L:reboot=}" title="reboot" onclick='goConfirmUrl("dbox wirklich neu starten?","/control/reboot");'/>
<input type="button" value="Turn Off" title="shutdown" onclick='goConfirmUrl("Do you really want to turn the Dbox off?","/control/shutdown");'/> <input type="button" value="{=L:shutdown=}" title="shutdown" onclick='goConfirmUrl("dbox wirklich ausschalten?","/control/shutdown");'/>
</td> </td>
<td> <td>
<input type="button" value="On" onclick='goUrl("/control/standby?on");'/> <input type="button" value="{=L:on=}" onclick='goUrl("/control/standby?on");'/>
<input type="button" value="Off" onclick='goUrl("/control/standby?off");'/> <input type="button" value="{=L:off=}" onclick='goUrl("/control/standby?off");'/>
<input type="button" value="Status" onclick='goUrl("/control/exec?Y_Tools&amp;standby_status");'/> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<input type="button" value="{=L:status=}" onclick='goUrl("/control/exec?Y_Tools&amp;standby_status");'/>
~=}
</td> </td>
</tr> </tr>
<tr><td class="y_form_header">Playback</td><td class="y_form_header">Recording</td></tr> <tr><td class="y_form_header">{=L:playback=}</td><td class="y_form_header">{=L:recording_mode=}</td></tr>
<tr> <tr>
<td> <td>
<input type="button" value="On" onclick='goUrl("/control/zapto?startplayback");'/> <input type="button" value="{=L:on=}" onclick='goUrl("/control/zapto?startplayback");'/>
<input type="button" value="Off" onclick='goUrl("/control/zapto?stopplayback");'/> <input type="button" value="{=L:off=}" onclick='goUrl("/control/zapto?stopplayback");'/>
<input type="button" value="Status" onclick='goUrl("/control/zapto?statusplayback");'/> <input type="button" value="{=L:status=}" onclick='goUrl("/control/zapto?statusplayback");'/>
</td> </td>
<td> <td>
<input type="button" value="On" onclick='goUrl("/control/setmode?record=start");'/> <input type="button" value="{=L:on=}" onclick='goUrl("/control/setmode?record=start");'/>
<input type="button" value="Off" onclick='goUrl("/control/setmode?record=stop");'/> <input type="button" value="{=L:off=}" onclick='goUrl("/control/setmode?record=stop");'/>
<input type="button" value="Status" onclick='goUrl("/control/setmode?status");'/> <input type="button" value="{=L:status=}" onclick='goUrl("/control/setmode?status");'/>
</td> </td>
</tr> </tr>
<tr><td class="y_form_header">Remote Control</td><td class="y_form_header">Live Lock</td></tr> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<tr><td class="y_form_header">{=L:epg_sectiond=}</td><td class="y_form_header">{=L:spts=}</td></tr>
<tr> <tr>
<td> <td>
<input type="button" value="On" onclick='goUrl("/control/rc?unlock");'/> <input type="button" value="{=L:on=}" onclick='goUrl("/control/zapto?startsectionsd");'/>
<input type="button" value="Off" onclick='goUrl("/control/rc?lock");'/> <input type="button" value="{=L:off=}" onclick='goUrl("/control/zapto?stopsectionsd");'/>
<input type="button" value="LCD Unlock" onclick='goUrl("/control/exec?Y_Live&amp;live_LCD_off");'/> <input type="button" value="{=L:status=}" onclick='goUrl("/control/zapto?statussectionsd");'/>
<input type="button" value="{=L:restart=}" onclick='goUrl("/control/zapto?restartsectionsd");'/>
<input type="button" value="{=L:freemem=}" onclick='goUrl("/control/zapto?freememsectionsd");'/>
</td> </td>
<td> <td>
<input type="button" value="Lock" onclick='live_lock();'/> <input type="button" value="{=L:on=}" onclick='goUrl("/control/system?setAViAExtPlayBack=spts");'/>
<input type="button" value="Unlock" onclick='live_unlock();'/> <input type="button" value="{=L:off=}" onclick='goUrl("/control/system?setAViAExtPlayBack=pes");'/>
<input type="button" value="{=L:status=}" onclick='goUrl("/control/system?getAViAExtPlayBack");'/>
</td> </td>
</tr> </tr>
<!--dbox2 only <tr><td class="y_form_header">Optical Output</td><td class="y_form_header">&nbsp;</td></tr> ~=}
<tr> dbox2 only--> <tr><td class="y_form_header">{=L:remote=}</td><td class="y_form_header">{=L:live_lock=}</td></tr>
<!--dbox2 only <td> <tr>
<input type="button" value="On" onclick='goUrl("/control/system?setAViAExtIec=on");'/>
<input type="button" value="OFF" onclick='goUrl("/control/system?setAViAExtIec=off");'/>
<input type="button" value="Status" onclick='goUrl("/control/system?getAViAExtIec");'/>
</td> dbox2 only-->
<td> <td>
</tr> <input type="button" value="{=L:on=}" onclick='goUrl("/control/rc?unlock");'/>
<input type="button" value="{=L:off=}" onclick='goUrl("/control/rc?lock");'/>
<input type="button" value="{=L:lcd_unlock=}" onclick='goUrl("/control/exec?Y_Live&amp;live_unlock");'/>
</td>
<td>
<input type="button" value="{=L:lock=}" onclick='live_lock();' />
<input type="button" value="{=L:unlock=}" onclick='live_unlock();' />
</td>
</tr>
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<tr><td class="y_form_header">{=L:optical_output=}</td><td class="y_form_header">{=L:esound_server=}</td></tr>
<tr>
<td>
<input type="button" value="{=L:on=}" onclick='goUrl("/control/system?setAViAExtIec=on");'/>
<input type="button" value="{=L:off=}" onclick='goUrl("/control/system?setAViAExtIec=off");'/>
<input type="button" value="{=L:status=}" onclick='goUrl("/control/system?getAViAExtIec");'/>
</td>
<td>
<input type="button" value="{=L:on=}" onclick='goUrl("/control/esound?on");'/>
<input type="button" value="{=L:off=}" onclick='goUrl("/control/esound?off");'/>
</td>
</tr>
~=}
</table> </table>
</form> </form>
</div> </div>
</div> </div>
<iframe name="out" id="out" width="100%" height="200" align="left" frameborder="0">Your Browser does not support IFrames.</iframe> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Help-BoxControl-Control=}{=var-set:menu={=L:answer=}=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body">
<div id="out"></div>
</div>
</div>
</body> </body>
</html> </html>

View File

@@ -1,118 +1,145 @@
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_start(){
$('statusline').show();
do_check();
}
function do_stop(){
$('statusline').hide();
}
/*sLog*/ /*sLog*/
var sLog_body; var sLog_body;
var sLog_line_number; var sLog_line_number;
function sLog_init() function sLog_init(){
{
sLog_line_number = 0; sLog_line_number = 0;
sLog_body=document.getElementById("slog_list"); sLog_body=document.getElementById("slog_list");
} }
function sLog_clear() function sLog_clear(){
{ while(sLog_body.childNodes.length > 0) {
while(sLog_body.childNodes.length > 0)
{
aChild=sLog_body.firstChild; aChild=sLog_body.firstChild;
sLog_body.removeChild(aChild); sLog_body.removeChild(aChild);
} }
sLog_line_number = 0; sLog_line_number = 0;
} }
function sLog_addRow(_body, state, action_text, state_text) function sLog_addRow(_body, state, action_text, state_text){
{
sLog_line_number++; sLog_line_number++;
var mycurrent_row = y_add_row_to_table(_body, ((sLog_line_number % 2) ==0)?"a":"b" ); var mycurrent_row = y_add_row_to_table(_body, ((sLog_line_number % 2) ==0)?"a":"b" );
var __img ="/images/ok.gif"; var __img ="/images/ok.gif";
switch (state) switch (state) {
{ case "green": __img = "/images/accept.png"; break;
case "green": __img = "/images/check_green.gif"; break; case "yellow": __img = "/images/alert.gif"; break;
case "yellow": __img = "/images/excl_yellow.gif"; break; case "ok": __img = "/images/accept.png"; break;
case "ok": __img = "/images/ok.gif"; break; case "red": __img = "/images/remove.png"; break;
case "red": __img = "/images/x_red.gif"; break;
} }
y_add_html_cell_to_row(mycurrent_row, "icon", "<img src='"+__img+"'>"); y_add_html_cell_to_row(mycurrent_row, "icon", "<img src='"+__img+"'>");
y_add_html_cell_to_row(mycurrent_row, "action_text", action_text); y_add_html_cell_to_row(mycurrent_row, "action_text", action_text);
y_add_text_cell_to_row(mycurrent_row, "state_text", state_text); y_add_text_cell_to_row(mycurrent_row, "state_text", state_text);
} }
/*check*/ /*check*/
function wiki_url(_page) function wiki_url(_page){
{ return "<a href=\"http://wiki.dbox2-tuning.net/"+_page+"\" target='_blank'><b>[Help]<\/b><\/a>"
return "<a href=\"http://wiki.tuxbox.org/"+_page+"\" target='_blank'><b>[Help]<\/b><\/a>"
} }
function do_check() function y_url(_page){
{ return "<a href=\"http://www.yjogol.com/"+_page+"\" target='_blank'><b>[Help]<\/b><\/a>"
}
function do_check(){
sLog_init(); sLog_init();
sLog_clear(); sLog_clear();
sLog_addRow(sLog_body, "ok", "yWeb Version is: {=ini-get:Y_Version.txt;version=} {=ini-get:Y_Version.txt;date=}", "ok"); sLog_addRow(sLog_body, "ok", "yWeb Version is: {=ini-get:Y_Version.txt;version=} {=ini-get:Y_Version.txt;date=}", "ok");
/*webserver*/ /*webserver*/
var needed_nhttpd_version = "3.1.2"; var needed_nhttpd_version = "3.1.8";
var nhttpd_version = loadSyncURL("/control/info?nhttpd_version"); var nhttpd_version = loadSyncURL("/control/info?nhttpd_version");
if(nhttpd_version.search(/error/)!=-1) if(nhttpd_version.search(/error/)!=-1)
nhttpd_version = "0.0.0-unknown"; nhttpd_version = "0.0.0-unknown";
if(nhttpd_version < needed_nhttpd_version) if(nhttpd_version < needed_nhttpd_version)
sLog_addRow(sLog_body, "red", "WebServer: version: "+nhttpd_version+" version needed: "+needed_nhttpd_version+ sLog_addRow(sLog_body, "red", "WebServer: version: "+nhttpd_version+" version needed: "+needed_nhttpd_version+
" <a href='http://www.yjogol.de/yFAQ.htm#diy' target='_blank'><b>[Help]<\/b><\/a>", "fail"); " <a href='http://www.yjogol.com/yFAQ.htm#diy' target='_blank'><b>[Help]<\/b><\/a>", "fail");
else else
sLog_addRow(sLog_body, "green", "WebServer: version is "+nhttpd_version, "ok"); sLog_addRow(sLog_body, "green", "WebServer: version is "+nhttpd_version, "ok");
{=if-equal:{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.authenticate;false=}~false~~ {=if-equal:{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.authenticate;false=}~false~~
sLog_addRow(sLog_body, "yellow", "WebServer: Authentication is on. "+wiki_url("Neutrino:yWeb:Settings#Webserver"), "notice"); sLog_addRow(sLog_body, "yellow", "WebServer: Authentication is on. "+y_url("Help-Settings-Webserver"), "notice");
=} =}
{=if-equal:{=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.port;80=}~80~~ {=if-equal:{=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.port;80=}~80~~
sLog_addRow(sLog_body, "yellow", sLog_addRow(sLog_body, "yellow",
"WebServer: not set to Standard-Port. Actual: {=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.port;80=} "+wiki_url("Neutrino:yWeb#Webserver"), "notice"); "WebServer: not set to Standard-Port. Actual: {=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.port;80=} "+wiki_url("Neutrino:yWeb#Webserver"), "notice");
=} =}
/*settings*/ /*settings*/
{=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip=}~~ {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip=}~~
sLog_addRow(sLog_body, "yellow", sLog_addRow(sLog_body, "yellow",
"Settings: Management IP(1) is set to {=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip=} ! Your IP is {=func:get_request_data client_addr=}. " "Settings: Management IP(1) is set to {=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip=} ! Your IP is {=func:get_request_data client_addr=}. "
+wiki_url("Neutrino:yWeb:Settings#yWeb"), "notice"); +wiki_url("Help-Settings-yWeb"), "notice");
=} =}
{=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~~ {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~~
sLog_addRow(sLog_body, "yellow", sLog_addRow(sLog_body, "yellow",
"Settings: Management IP(2) is set to {=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=} ! Your IP is {=func:get_request_data client_addr=}. " "Settings: Management IP(2) is set to {=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=} ! Your IP is {=func:get_request_data client_addr=}. "
+wiki_url("Neutrino:yWeb#yWeb"), "notice"); +wiki_url("Neutrino:yWeb#yWeb"), "notice");
=} =}
/*programs*/ /*programs*/
{=var-set:fbshot={=if-file-exists:/bin/fbshot~/bin/fbshot~{=if-file-exists:/var/bin/fbshot~/var/bin/fbshot~false=}=}=} {=var-set:fbshot={=if-file-exists:/bin/fbshot~/bin/fbshot~{=if-file-exists:/var/bin/fbshot~/var/bin/fbshot~false=}=}=}
{=if-equal:{=var-get:fbshot=}~false~ {=if-equal:{=var-get:fbshot=}~false~
sLog_addRow(sLog_body, "red", "Programs: fbshot is not installed. OSD Screenshot is disabled. "+wiki_url("Neutrino:yWeb:BoxControl#OSD_Screenshot"), "failed"); sLog_addRow(sLog_body, "red", "Programs: fbshot is not installed. OSD Screenshot is disabled. "+y_url("Help-BoxControl-OSD_Screenshot"), "failed");
~ ~
sLog_addRow(sLog_body, "green", "Programs: fbshot is installed at: {=var-get:fbshot=}. OSD Screenshot is enabled.", "ok"); sLog_addRow(sLog_body, "green", "Programs: fbshot is installed at: {=var-get:fbshot=}. OSD Screenshot is enabled.", "ok");
=} =}
{=var-set:dboxshot={=if-file-exists:/bin/dboxshot~/bin/dboxshot~{=if-file-exists:/var/bin/dboxshot~/var/bin/dboxshot~false=}=}=} {=var-set:dboxshot={=if-file-exists:/bin/dboxshot~/bin/dboxshot~{=if-file-exists:/var/bin/dboxshot~/var/bin/dboxshot~false=}=}=}
{=if-equal:{=var-get:dboxshot=}~false~ {=if-equal:{=var-get:dboxshot=}~false~
sLog_addRow(sLog_body, "red", "Programs: dboxshot is not installed. Remote &amp; OSD is disabled. <a href='http://www.yjogol.de/yFAQ.htm#diy' target='_blank'><b>[Download]<\/b><\/a>", "failed"); sLog_addRow(sLog_body, "red", "Programs: dboxshot is not installed. Remote &amp; OSD is disabled. <a href='http://www.yjogol.com/faq-diy' target='_blank'><b>[Download]<\/b><\/a>", "failed");
~ ~
sLog_addRow(sLog_body, "green", "Programs: dboxshot is installed at: {=var-get:dboxshot=}. Remote &amp; OSD is enabled.", "ok"); sLog_addRow(sLog_body, "green", "Programs: dboxshot is installed at: {=var-get:dboxshot=}. Remote &amp; OSD is enabled.", "ok");
=} =}
{=var-set:fcp={=if-file-exists:/sbin/fcp~/sbin/fcp~{=if-file-exists:/var/bin/fcp~/var/bin/fcp~{=if-file-exists:/bin/fcp~/bin/fcp~false=}=}=}=} {=var-set:fcp={=if-file-exists:/sbin/fcp~/sbin/fcp~{=if-file-exists:/var/bin/fcp~/var/bin/fcp~{=if-file-exists:/bin/fcp~/bin/fcp~false=}=}=}=}
{=if-equal:{=var-get:fcp=}~false~ {=if-equal:{=var-get:fcp=}~false~
sLog_addRow(sLog_body, "red", "Programs: fcp is not installed. Image flashing is disabled. "+wiki_url("Neutrino:yWeb:Tools#Image"), "failed"); sLog_addRow(sLog_body, "red", "Programs: fcp is not installed. Image flashing is disabled. "+y_url("Help-Tools-Image"), "failed");
~ ~
sLog_addRow(sLog_body, "green", "Programs: fcp is installed at: {=var-get:fcp=}. Image flashing is enabled.", "ok"); sLog_addRow(sLog_body, "green", "Programs: fcp is installed at: {=var-get:fcp=}. Image flashing is enabled.", "ok");
=} =}
{=var-set:etherwake={=if-file-exists:/bin/etherwake~/bin/etherwake~{=if-file-exists:/var/bin/etherwake~/var/bin/etherwake~false=}=}=} {=var-set:etherwake={=if-file-exists:/bin/etherwake~/bin/etherwake~{=if-file-exists:/var/bin/etherwake~/var/bin/etherwake~false=}=}=}
{=if-equal:{=var-get:etherwake=}~false~ {=if-equal:{=var-get:etherwake=}~false~
sLog_addRow(sLog_body, "red", "Programs: etherwake is not installed. Wake on LAN is disabled. "+wiki_url("Neutrino:yWeb:Tools#Wake_on_LAN"), "failed"); sLog_addRow(sLog_body, "red", "Programs: etherwake is not installed. Wake on LAN is disabled. "+y_url("Help-Tools-Wake_on_LAN"), "failed");
~ ~
sLog_addRow(sLog_body, "green", "Programs: etherwake is installed at: {=var-get:etherwake=}. Wake on LAN is enabled.", "ok"); sLog_addRow(sLog_body, "green", "Programs: etherwake is installed at: {=var-get:etherwake=}. Wake on LAN is enabled.", "ok");
=} =}
/*automount*/
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
{=var-set:automount={=if-file-exists:/sbin/automount~/sbin/automount~{=if-file-exists:/var/bin/automount~/var/bin/automount~false=}=}=} {=var-set:automount={=if-file-exists:/sbin/automount~/sbin/automount~{=if-file-exists:/var/bin/automount~/var/bin/automount~false=}=}=}
{=if-equal:{=var-get:automount=}~false~ {=if-equal:{=var-get:automount=}~false~
sLog_addRow(sLog_body, "red", "Programs: automount is not installed. AutoMount is disabled. "+wiki_url("Neutrino:yWeb:Tools#AutoMount"), "failed"); sLog_addRow(sLog_body, "red", "Programs: automount is not installed. AutoMount is disabled. "+y_url("Help-Tools-AutoMount"), "failed");
~ ~
sLog_addRow(sLog_body, "green", "Programs: automount is installed at: {=var-get:automount=}. AutoMount is enabled.", "ok"); sLog_addRow(sLog_body, "green", "Programs: automount is installed at: {=var-get:automount=}. AutoMount is enabled.", "ok");
=} =}
~=}
{=var-set:udpstreamts={=if-file-exists:/sbin/udpstreamts~/sbin/udpstreamts~{=if-file-exists:/var/bin/udpstreamts~/var/bin/udpstreamts~false=}=}=} {=var-set:udpstreamts={=if-file-exists:/sbin/udpstreamts~/sbin/udpstreamts~{=if-file-exists:/var/bin/udpstreamts~/var/bin/udpstreamts~false=}=}=}
{=if-equal:{=var-get:udpstreamts=}~false~ {=if-equal:{=var-get:udpstreamts=}~false~
sLog_addRow(sLog_body, "red", "Programs: udpstreamts is not installed. udp-streaming is disabled. "+wiki_url("Neutrino:yWeb:Live:Timer#UDP_Streaming"), "failed"); sLog_addRow(sLog_body, "red", "Programs: udpstreamts is not installed. udp-streaming is disabled. "+y_url("Help-Live_Timer-UDP_Streaming"), "failed");
~ ~
sLog_addRow(sLog_body, "green", "Programs: udpstreamts is installed at: {=var-get:udpstreamts=}. udp-streaming is enabled.", "ok"); sLog_addRow(sLog_body, "green", "Programs: udpstreamts is installed at: {=var-get:udpstreamts=}. udp-streaming is enabled.", "ok");
=} =}
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
/*ucodes*/
{=if-file-exists:/var/tuxbox/ucodes/avia500.ux~
sLog_addRow(sLog_body, "green", "Ucodes: avia500.ux found", "ok");
~
sLog_addRow(sLog_body, "yellow", "Ucodes: avia500.ux not found. "+wiki_url("Ucodes"), "notice");
=}
{=if-file-exists:/var/tuxbox/ucodes/avia600.ux~
sLog_addRow(sLog_body, "green", "Ucodes: avia600.ux found", "ok");
~
sLog_addRow(sLog_body, "yellow", "Ucodes: avia600.ux not found. "+wiki_url("Ucodes"), "notice");
=}
{=if-file-exists:/var/tuxbox/ucodes/cam-alpha.bin~
sLog_addRow(sLog_body, "green", "Ucodes: cam-alpha found", "ok");
~
sLog_addRow(sLog_body, "red", "Ucodes: cam-alpha not found. "+wiki_url("Ucodes"), "failed");
=}
~=}
do_stop();
} }
//]]> //]]>
</script> </script>
@@ -121,19 +148,16 @@ function do_check()
<div class="work_box"> <div class="work_box">
<div class="work_box_head"> <div class="work_box_head">
<div class="work_box_head_h2"> <div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Tools#Check_Install=}{=var-set:menu=Check Install=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Tools-Check_Install=}{=var-set:menu=Check Install=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<br /> <br />
<form method="post" name="f" action=""> <div id="statusline"><img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/>
<input type="button" value="check" title="check" name="check" onclick="do_check()"/>&nbsp; <span id="status">collecting information</span></div>
</form>
<form method="post" name="log" action=""> <form method="post" name="log" action="">
<b>Check Results</b><br/> <table border="0" cellspacing="0" cellpadding="4" width="100%">
<table class="y_work_table" cellpadding="4">
<thead align="left"> <thead align="left">
<tr> <tr>
<th>&nbsp;</th><th>Aktion</th><th>Status</th> <th class="y_form_header">&nbsp;</th><th class="y_form_header">Aktion</th><th class="y_form_header">Status</th>
</tr> </tr>
</thead> </thead>
<tbody id="slog_list"> <tbody id="slog_list">
@@ -144,5 +168,10 @@ function do_check()
</form> </form>
</div> </div>
</div> </div>
<script type="text/javascript">
//<![CDATA[
window.setTimeout("do_start();",500);
//]]>
</script>
</body> </body>
</html> </html>

View File

@@ -4,7 +4,7 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_submit() function do_submit()
{ {
if(document.f.cmd.value != "") if(document.f.cmd.value != "")
{ {
@@ -16,16 +16,16 @@ function do_submit()
document.f.cmd.value=""; document.f.cmd.value="";
} }
} }
function set_pwd(_pwd) function set_pwd(_pwd)
{ {
document.f.pwd.value = _pwd; document.f.pwd.value = _pwd;
} }
function do_clear() function do_clear()
{ {
document.co.cmds.value = ""; document.co.cmds.value = "";
} }
/* Cursor to end . works only with IE */ /* Cursor to end . works only with IE */
function setCaretToEnd(control) function setCaretToEnd(control)
{ {
if (control.createTextRange) { if (control.createTextRange) {
var range = control.createTextRange(); var range = control.createTextRange();
@@ -48,7 +48,7 @@ function doUpload()
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Tools#Command_Shell=}{=var-set:menu=Command Shell=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Tools-Command_Shell=}{=var-set:menu=Command Shell=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="co" action=""> <form name="co" action="">
<textarea name="cmds" cols="80" rows="18" title="shell output window" style="display: block;background : white; font : 'Courier New','medium monospace'; color : #436976;"></textarea> <textarea name="cmds" cols="80" rows="18" title="shell output window" style="display: block;background : white; font : 'Courier New','medium monospace'; color : #436976;"></textarea>
@@ -58,7 +58,7 @@ function doUpload()
<table> <table>
<tr> <tr>
<td><input type="button" name="clear" value="clear" title="clear output screeb" onclick="do_clear()"/></td> <td><input type="button" name="clear" value="clear" title="clear output screeb" onclick="do_clear()"/></td>
<td><input type="checkbox" name="appendx" value="1" title="append output (only IE)"/>append output (only IE scrollen) <td><input type="checkbox" name="appendx" value="1" title="append output (only IE)"/>&nbsp;fortlaufende Ausgabe (nur IE - wg. scrollen)
<!--<input type="button" value="Upload" title="upload a file to current directory" onClick="doUpload()">--> <!--<input type="button" value="Upload" title="upload a file to current directory" onClick="doUpload()">-->
</td> </td>
</tr><tr> </tr><tr>

View File

@@ -1,68 +1,14 @@
{=include-block:Y_Blocks.txt;management_check_top=} {=include-block:Y_Blocks.txt;management_check_top=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript" src="/prototype.js"></script>
//<![CDATA[ <script type="text/javascript" src="/Y_Flash.js"></script>
function show_download_box(_show)
{
var obj = document.getElementById("download_box");
obj.style.visibility= (_show) ? "visible" : "hidden";
}
function do_image_upload_dialog()
{
var nr=0;
for(i=0; i<document.f.R1.length;i++)
if(document.f.elements[i].name == "R1")
if(document.f.elements[i].checked == true)
{
nr = document.f.elements[i].value;
document.f.mtd_text.value = document.f.elements[i].title;
}
document.f.mtd.value = nr;
document.f.execute.value = "script:Y_Tools image_flash_free_tmp";
document.f.tmpl.value = "Y_Tools_Flash_Upload.yhtm";
document.f.submit();
}
function do_image_download()
{
show_waitbox(true);
document.f.download.disabled = true;
document.f.upload.disabled = true;
window.setTimeout("do_image_download_2()",100);
/*setTimeout:refresh output*/
}
function do_image_download_2()
{
var nr=0;
for(i=0; i<document.f.R1.length;i++)
if(document.f.elements[i].name == "R1")
if(document.f.elements[i].checked == true)
nr = document.f.elements[i].value;
var res = loadSyncURL("/control/exec?Y_Tools&image_backup&"+nr);
document.getElementById("download_link").href = res;
document.f.download.disabled = false;
document.f.upload.disabled = false;
show_waitbox(false);
show_download_box(true);
}
function goConfirmUrl(_meld, _url)
{
if (confirm(_meld)==true)
loadSyncURL(_url);
}
function image_delete()
{
var res = loadSyncURL("/control/exec?Y_Tools&image_delete");
show_download_box(false);
}
//]]>
</script>
</head> </head>
<body> <body>
{=var-set:wait_text=Image will be generated (create image).=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text=Image wird erstellt (create image).=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"> <div class="work_box_head">
<div class="work_box_head_h2">{=var-set:help_url=Neutrino:yWeb:Tools#Image=}{=var-set:menu=Image=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> <div class="work_box_head_h2">{=var-set:help_url=Help-Tools-Image=}{=var-set:menu=Image=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<b><font size="2">Partition</font></b><br/> <b><font size="2">Partition</font></b><br/>
<form action="/y/cgi" name="f" id="f"> <form action="/y/cgi" name="f" id="f">
@@ -71,28 +17,28 @@ function image_delete()
<input type="hidden" name="execute" value=""/> <input type="hidden" name="execute" value=""/>
<input type="hidden" name="mtd_text" value=""/> <input type="hidden" name="mtd_text" value=""/>
<input type="hidden" name="mtd" value=""/> <input type="hidden" name="mtd" value=""/>
<input type="button" name="download" value="Download" title="Generate Image for download" onclick="do_image_download()"/> <button type="button" ytype="download" name="download" title="Generate Image for download" onclick="do_image_download()">Download</button>
<input type="button" name="upload" value="Flash ..." title="go to Upload Dialog" onclick="do_image_upload_dialog()"/> <button type="button" ytype="flash" name="upload" title="go to Upload Dialog" onclick="do_image_upload_dialog()">Flash ...</button>
</form> </form>
</div> </div>
</div> </div>
<div style="clear:both">&nbsp;</div> <div style="clear:both">&nbsp;</div>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><h2>Instruction</h2></div> <div class="work_box_head"><h2>Hinweis</h2></div>
<div class="work_box_body" title="You should reboot the box before flashing"> <div class="work_box_body" title="You should reboot the box before flashing">
It is usefull to reboot the Box before flashing.<br/> Es ist sinnvoll die Box vor dem flashen frisch zu booten.<br/>
<input type=button value="Restart" title="reboot" onclick='goConfirmUrl("dbox wirklich neu starten?","/control/reboot");'/> <button type=button ytype="reboot" title="reboot" onclick='goConfirmUrl("dbox wirklich neu starten?","/control/reboot");'>Neu starten</button>
</div> </div>
</div> </div>
<div style="clear:both">&nbsp;</div> <div style="clear:both">&nbsp;</div>
<div class="work_box" id="download_box" style="visibility : hidden;"> <div class="work_box" id="download_box" style="display: none;">
<div class="work_box_head"><h2>Download</h2></div> <div class="work_box_head"><h2>Download</h2></div>
<div class="work_box_body" title="Download your image"> <div class="work_box_body" title="Download your image">
<b>The image was provided.</b> <b>Das Image wurde erstellt.</b>
<p> <p>
1) <a id="download_link" type="application/octet-stream" href=""><u>Download</u></a><br/><br/> 1) <a id="download_link" type="application/octet-stream" href=""><u>Download</u></a><br/><br/>
2) <a href='javascript:image_delete();'><u>Download ready. Image in /tmp placed.</u></a> 2) <a href='javascript:image_delete();'><u>Download fertig. Image in /tmp loeschen.</u></a>
</p> </p>
</div> </div>
</div> </div>

View File

@@ -1,154 +1,85 @@
{=include-block:Y_Blocks.txt;management_check_top=} {=include-block:Y_Blocks.txt;management_check_top=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Flash.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
var aktiv; function do_image_upload_ready()
var flashing = false;
function show_progress(_msg,_type,_proz)
{
var __msg = document.getElementById("msg");
__msg.value = _msg;
if(_type == 1)
document.getElementById("erasing_left").width = _proz;
else if(_type == 2)
{
document.getElementById("erasing_left").width = "100%";
document.getElementById("writing_left").width = _proz;;
}
else if(_type == 3)
{
document.getElementById("writing_left").width = "100%";
document.getElementById("verifying_left").width = _proz;;
}
}
/* load fcp status from /tmp/e.txt*/
function processReqChange()
{
if (g_req.readyState == 4) {
if (g_req.status == 200)
{
var last = g_req.responseText.lastIndexOf("\r");
var last_line = g_req.responseText.slice(last+1, g_req.responseText.length);
var _type = 0;
if(last_line.search(/Erasing/)!=-1)
_type = 1;
if(last_line.search(/Writing/)!=-1)
_type = 2;
if(last_line.search(/Verifying/)!=-1)
_type = 3;
var Ausdruck = /\((.*)\)/;
var e=Ausdruck.exec(last_line);
var p = RegExp.$1;
show_progress(last_line, _type, p);
}
}
}
function do_submit()
{
var msg = "Image flashen?";
if(document.f.demo.checked)
msg = "DEMO: "+msg;
if(confirm(msg)==true)
{
show_waitbox(true);
document.f.submit();
document.f.su.disabled = true;
document.f.file.disabled = true;
document.f.demo.disabled = true;
}
}
function do_image_upload_ready()
{ {
show_waitbox(false); show_waitbox(false);
show_obj("wait_flash", true); $('wait_flash').show();
aktiv = window.setInterval('loadXMLDoc("/tmp/e.txt", processReqChange)', 3000); loadSyncURL("/control/lcd?lock=1&clear=1&xpos=10&ypos=27&size=20&font=2&text=yWeb%20flashing&update=1");
aktiv = window.setInterval('progress_get()', 3000);
var simulate = "true"; var simulate = "true";
if(!document.f.demo.checked) if(!document.f.demo.checked)
simulate = "false"; simulate = "false";
window.setTimeout("out.location.href = \"/control/exec?Y_Tools&image_flash&{=mtd=}&"+simulate+"\"",1000); window.setTimeout("out.location.href = \"/control/exec?Y_Tools&image_flash&{=mtd=}&"+simulate+"\"",1000);
} }
function do_image_upload_ready_error() //]]>
{
document.f.su.disabled = false;
document.f.file.disabled = false;
document.f.demo.disabled = false;
show_waitbox(false);
}
function do_image_flash_ready()
{
window.clearInterval(aktiv);
show_obj("wait_flash", false);
alert("Image geflasht. Nach Reboot OK druecken");
top.location.href="/";
}
function do_test()
{
show_obj("wait_flash", true);
}
//]]>div
</script> </script>
</head> </head>
<body> <body>
{=var-set:fcp={=if-file-exists:/sbin/fcp~true~{=if-file-exists:/var/bin/fcp~true~{=if-file-exists:/bin/fcp~true~false=}=}=}=} {=var-set:fcp={=if-file-exists:/sbin/fcp~true~{=if-file-exists:/var/bin/fcp~true~{=if-file-exists:/bin/fcp~true~false=}=}=}=}
{=var-set:wait_text=Image wird hochgeladen (upload image).=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text=Image wird hochgeladen (upload image).=}{=include-block:Y_Blocks.txt;snip_wait=}
<div id="wait_flash" class="y_wait_box" style="left : 100px; position : absolute; top : 100px; visibility : hidden; z-index : 6;"> <div id="wait_flash" class="ydiagfree" style="left: 100px; position: absolute; top: 100px; display: none;">
<div class="y_wait_box_visible">
<div class="y_wait_box_head"><h2>Flashing</h2></div> <div class="y_wait_box_head"><h2>Flashing</h2></div>
<div class="y_wait_box_body"> <div class="y_wait_box_body">
<p align="center"> <div style="text-align:center;white-space:nowrap;">
<font color="#666666"><b>Image wird geflasht. Nicht unterbrechen!<br/>Image will be flashed. Do not interrupt!</b></font><br/><br/> <div style="font-weight:bold;color:#666666;">Image wird geflasht. Nicht unterbrechen!<br/>Image will be flashed. Do not interrupt!</div>
<img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/><br/><br/> <br/>
<input type="text" id="msg" value="" size="40" readonly="readonly" disabled="disabled"/> <input type="text" id="msg" value="" size="40" readonly="readonly" disabled="disabled"/><br/>
</p> <img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/><br/>
</div>
<table border="0" style="margin-left:30px;margin-right:30px;"> <table border="0" style="margin-left:30px;margin-right:30px;">
<tr><td>Erasing</td> <tr><td>Erasing</td>
<td> <td>
<table width="250" style="border: 1px dashed #0066cc;"> <table width="250" style="border: 1px solid #0066cc;" cellspacing="0" cellpadding="0">
<tr> <tr>
<td width="0%" bgcolor="#2188e0" id="erasing_left" height="5"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td> <td width="0%" bgcolor="#2188e0" id="erasing_left" height="10"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td>
<td id="erasing_right" width="100%"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td> <td id="erasing_right" width="100%"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td>
</tr> </tr>
</table> </table>
</td></tr> </td></tr>
<tr><td>Writing</td> <tr><td>Writing</td>
<td> <td>
<table width="250" style="border: 1px dashed #0066cc;"> <table width="250" style="border: 1px solid #0066cc;" cellspacing="0" cellpadding="0">
<tr> <tr>
<td id="writing_left" width="0%" bgcolor="#2188e0" height="5"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td> <td id="writing_left" width="0%" bgcolor="#2188e0" height="10"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td>
<td id="writing_right" width="100%"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td> <td id="writing_right" width="100%"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td>
</tr> </tr>
</table> </table>
</td></tr> </td></tr>
<tr><td>Verifying</td> <tr><td>Verifying</td>
<td> <td>
<table width="250" style="border: 1px dashed #0066cc;"> <table width="250" style="border: 1px solid #0066cc;" cellspacing="0" cellpadding="0">
<tr> <tr>
<td id="verifying_left" width="0%" bgcolor="#2188e0" height="5"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td> <td id="verifying_left" width="0%" bgcolor="#2188e0" height="10"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td>
<td id="verifying_right" width="100%"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td> <td id="verifying_right" width="100%"><img src="/images/blank.gif" height="1" width="0" alt="blank"/></td>
</tr> </tr>
</table> </table>
</td></tr> </td></tr>
</table> </table>
<p align="center"> <div style="text-align:center;white-space:nowrap;">
Please wait<br/> Bitte warten<br/>
Please wait
</p> </div>
</div> </div>
</div> </div>
</div>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Tools#Image=}{=var-set:menu=Image flashen=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Tools-Image=}{=var-set:menu=Image flashen=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<b><font size="2">Partition mtd {=mtd=}</font><br/>{=mtd_text=}</b> <b><font size="2">Partition mtd {=mtd=}</font><br/>{=mtd_text=}</b>
{=if-equal:{=var-get:fcp=}~true~ {=if-equal:{=var-get:fcp=}~true~
<form method="post" name="f" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;image_upload" target="out"> <form method="post" name="f" id="f" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;image_upload" target="out">
<p> <p>
<input type="file" name="file" size="40"/><br/> <input type="file" name="file" size="40"/><br/>
<span style="margin:0; padding:0;" title="Switch on Demo-Modus. Flashing will be simulated."><input type="checkbox" name="demo"/> Demomodus&nbsp;</span> <span style="margin:0; padding:0;" title="Switch on Demo-Modus. Flashing will be simulated."><input type="checkbox" name="demo"/> Demomodus&nbsp;</span>
<input type="button" value="Image flashen" title="upload and flash" name="su" onclick="do_submit()"/><br/> <button type="button" ytype="flash" title="upload and flash" name="su" onclick="do_submit()">Image flashen</button><br/>
</p> </p>
</form> </form>
~ ~

View File

@@ -1,10 +1,10 @@
{=var-set:cancache=yPyes=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function goUrl(_url) function goUrl(_url){
{ var res = loadSyncURL(_url);
parent.frames[1].location.href = _url; id("out").innerHTML = res;
} }
//]]> //]]>
</script> </script>
@@ -12,22 +12,22 @@ function goUrl(_url)
<body> <body>
<div class="work_box"> <div class="work_box">
<div class="work_box_head"> <div class="work_box_head">
<div class="work_box_head_h2">{=var-set:help_url=Neutrino:yWeb#Info=}{=var-set:menu=Info=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> <div class="work_box_head_h2">{=var-set:help_url=Help-Tools-Info=}{=var-set:menu=Info=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form action=""> <form action="">
<table class="y_invisible_table" cellpadding="8"> <table class="y_invisible_table" cellpadding="5" width="100%">
<tr><td class="y_form_header">Linux</td></tr> <tr><td class="y_form_header">Linux</td></tr>
<tr><td> <tr><td>
<input type="button" value="Kernel Messages" title="show Linux kernel stack messages" onclick='goUrl("/control/exec?Y_Tools&amp;kernel-stack");'/> <input type="button" value="Kernel Meldungen" title="show Linux kernel stack messages" onclick='goUrl("/control/exec?Y_Tools&amp;kernel-stack");'/>
<input type="button" value="Processes" title="show currently running processes" onclick='goUrl("/control/exec?Y_Tools&amp;ps");'/> <input type="button" value="Prozesse" title="show currently running processes" onclick='goUrl("/control/exec?Y_Tools&amp;ps");'/>
<input type="button" value="Memory" title="show memory space" onclick='goUrl("/control/exec?Y_Tools&amp;free");'/> <input type="button" value="Speicher" title="show memory space" onclick='goUrl("/control/exec?Y_Tools&amp;free");'/>
</td></tr> </td></tr>
<tr><td class="y_form_header">Coolstream HD1</td></tr> <tr><td class="y_form_header">Box</td></tr>
<tr><td> <tr><td>
<input type="button" value="GUI Info" onclick='goUrl("/control/info");'/> <input type="button" value="Info" onclick='goUrl("/control/info");'/>
<input type="button" value="Version" onclick='goUrl("/control/info?version");'/> <input type="button" value="Version" onclick='goUrl("/control/info?version");'/>
<!--dbox2 only <input type="button" value="Settings" onclick='goUrl("/control/info?settings");'/> dbox2 only--> <input type="button" value="Settings" onclick='goUrl("/control/info?settings");'/>
<input type="button" value="Time" onclick='goUrl("/control/gettime");'/> <input type="button" value="Box Zeit" onclick='goUrl("/control/gettime");'/>
</td></tr> </td></tr>
<tr><td class="y_form_header">proc</td></tr> <tr><td class="y_form_header">proc</td></tr>
<tr><td> <tr><td>
@@ -42,6 +42,7 @@ function goUrl(_url)
</form> </form>
</div> </div>
</div> </div>
<div id="out"></div>
</body> </body>
</html> </html>

View File

@@ -4,35 +4,50 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_submit() function do_submit()
{ {
if(document.f.filename.value != "") if(document.f.filename.value != "")
{ {
out.location.href = "Y_Wait.yhtm"; out.location.href = "Y_Wait.yhtm";
document.f.su.disabled=true; document.f.su.disabled=true;
yhttpd_cache_clear("yPInstall"); yhttpd_cache_clear("yPInstall");
yhttpd_cache_clear(''); yhttpd_cache_clear('');
window.setTimeout("document.f.submit()",1000); window.setTimeout("document.f.submit()",1000);
document.f.su.disabled=false; document.f.su.disabled=false;
} }
else else
alert("No file given!"); alert("No file given!");
} }
function init(){
var res=dbox_exec_tools("var_space");
var Ausdruck = /([^ ]*)[ ]*([^ ]*)[ ]*([^ ]*)[ ]*([^ ]*)[ ]*([^ ]*)[ ]*([^ ]*).*$/;
Ausdruck.exec(res);
var total = RegExp.$2;
var used = RegExp.$3;
var avaiable = RegExp.$4;
var percentage = RegExp.$5;
if(total != "")
str="Platz in /var Gesamt: "+total+"k Benutzt: "+used+"k Frei: "+avaiable+"k Anteil benutzt: "+percentage;
else
str="Kann freien Speicherplatz nicht ermitteln /var ist keine Partition! JFFS2 oder YADD?";
id("free").innerHTML=str;
}
//]]>div //]]>div
</script> </script>
</head> </head>
<body> <body onload="init()">
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Tools#yInstaller=}{=var-set:menu=yInstaller=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Tools-yInstaller=}{=var-set:menu=yInstaller=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;installer" target="out"> <form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&amp;installer" target="out">
tar-File:&nbsp;<input type="file" name="filename" size="70"/>&nbsp;<br/> tar-File:&nbsp;<input type="file" name="filename" size="70"/>&nbsp;<br/>
<input type="button" name="su" value="install" title="upload and install" onclick="do_submit()"/> <input type="button" name="su" value="installieren" title="upload and install" onclick="do_submit()"/>
<br/><br/> <br/><br/>
</form> </form>
<div style="height:290px;width:540px;"> <div id="free"></div>
<iframe height="250" width="500" scrolling="no" align="left" frameborder="0" name="out" id="out">Your Browser does not support IFrames.</iframe> <div style="height:290px;width:740px;">
<iframe height="250" width="750" scrolling="auto" align="left" frameborder="0" name="out" id="out">Your Browser does not support IFrames.</iframe>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,42 +1,84 @@
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/prototype.js"></script>
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript" src="/Y_yweb.js"></script>
<script type="text/javascript">
function cmd_popup(){
window.open('Y_Tools_Cmd.yhtm','cmd','width=720,height=470,resizable=yes');
}
function init(){
var menu=ext.select_menu('tools');
menu.each(function(e){
var el=new Element('li').update(
new Element('a', {'target':'work',
'title': e.get('desc'),
'href': e.get('file')
}).update("-"+e.get('menuitem'))
);
$('secmenu_tools').insert({'bottom':el});
});
var menu=ext.select_menu('expert');
menu.each(function(e){
var el=new Element('li').update(
new Element('a', {'target':'work',
'title': e.get('desc'),
'href': e.get('file')
}).update("-"+e.get('menuitem'))
);
$('secmenu_expert').insert({'bottom':el});
});
}
</script>
</head> </head>
{=var-set:automount={=if-file-exists:/sbin/automount~true~{=if-file-exists:/var/bin/automount~true~false=}=}=} {=var-set:automount={=if-file-exists:/sbin/automount~true~{=if-file-exists:/var/bin/automount~true~=}=}=}
{=var-set:management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip;{=func:get_request_data client_addr=}=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=} {=var-set:management={=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip;{=func:get_request_data client_addr=}=}~1~=}{=if-equal:{=func:get_request_data client_addr=}~{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip2=}~1~=}=}
<body> {=var-set:etherwake={=if-file-exists:/bin/etherwake~/bin/etherwake~{=if-file-exists:/var/bin/etherwake~/var/bin/etherwake~=}=}=}
<body onload="init()">
<div class="y_menu_sec_box"> <div class="y_menu_sec_box">
<div class="y_menu_sec_box_head"><h2>Tools</h2></div> <div class="y_menu_sec_box_head"><h2>Tools</h2></div>
<div class="y_menu_sec_box_body"> <div class="y_menu_sec_box_body">
<div class="y_menu_sec_section">Tools</div> <div class="y_menu_sec_section">Tools</div>
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul> <ul id="secmenu_tools">
{=if-empty:{=var-get:management=}~ {=if-empty:{=var-get:management=}~
<!--dbox2 only <li class="disabled" title="organize file automounts (automount not installed)">AutoMounts</li> dbox2 only--> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li class="disabled" title="organize file automounts (automount not installed)">AutoMounts</li>
<li class="disabled" title="organize file mounts (restricted by ManagementIP)">Mounts</li> <li class="disabled" title="organize file mounts (restricted by ManagementIP)">Mounts</li>
<li class="disabled" title="Wake on LAN (restricted by ManagementIP)">Wake on LAN</li> <li class="disabled" title="Wake on LAN (restricted by ManagementIP)">Wake on LAN</li>
~=}
~ ~
{=if-empty:{=var-get:automount=}~ {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<!--dbox2 only <li class="disabled" title="organize file automounts (automount not installed)">AutoMounts</li> dbox2 only--> {=if-empty:{=var-get:automount=}~
~ <li class="disabled" title="organize file automounts (automount not installed)">AutoMounts</li>
<!--dbox2 only <li><a target="work" title="organize file automounts" href="Y_Settings_automount_liste.yhtm">AutoMounts</a></li> dbox2 only--> ~
=} <li><a target="work" title="organize file automounts" href="Y_Settings_automount_liste.yhtm">AutoMounts</a></li>
=}
<li><a target="work" title="organize file mounts" href="Y_Settings_mount_liste.yhtm">Mounts</a></li> <li><a target="work" title="organize file mounts" href="Y_Settings_mount_liste.yhtm">Mounts</a></li>
<li><a target="work" title="Wake on LAN" href="Y_Settings_wol.yhtm">Wake on LAN</a></li> {=if-empty:{=var-get:etherwake=}~
<li class="disabled" title="Wake on LAN (etherwake not installed)" >Wake on LAN</li>
~
<li><a target="work" title="Wake on LAN" href="Y_Settings_wol.yhtm">Wake on LAN</a></li>
=}
~=}
=} =}
<li><a target="work" title="check Installation" href="Y_Tools_Check_Install.yhtm">Check Install</a></li> <li><a target="work" title="check Installation" href="Y_Tools_Check_Install.yhtm">Check Install</a></li>
</ul> </ul>
</div> </div>
<div class="y_menu_sec_section">Expert</div> <div class="y_menu_sec_section">Expert</div>
<div class="y_menu_sec"> <div class="y_menu_sec">
<ul> <ul id="secmenu_expert">
<li><a target="work" title="get box infos" href="Y_Dyn_Pages.yhtm?page=frame_tools-info">Info</a></li> <li><a target="work" title="get box infos" href="Y_Tools_Info_Menue.yhtm">Info</a></li>
{=if-empty:{=var-get:management=}~ {=if-empty:{=var-get:management=}~
<li class="disabled" title="backup or flash image. (restricted by ManagementIP)">Image</li> <li class="disabled" title="backup or flash image. (restricted by ManagementIP)">Image</li>
<li class="disabled" title="command shell (restricted by ManagementIP)">Command Shell</li> <li class="disabled" title="command shell (restricted by ManagementIP)">Command Shell</li>
<li class="disabled" title="yInstaller (for files, plugins, ...) (restricted by ManagementIP)">yInstaller</li> <li class="disabled" title="yInstaller (for files, plugins, ...) (restricted by ManagementIP)">yInstaller</li>
~ ~
<!--dbox2 only <li><a target="work" title="backup or flash image" href="Y_Tools_Flash_Menue.yhtm">Image</a></li> dbox2 only--> {=if-not-equal:{=global-var-get:boxtype=}~coolstream~
<li><a target="work" title="command shell" href="Y_Tools_Cmd.yhtm">Command Shell</a></li> <li><a target="work" title="backup or flash image" href="Y_Tools_Flash_Menue.yhtm">Image</a></li>
~=}
<li><a target="work" title="command shell" href="Y_Tools_Cmd.yhtm">Command Shell</a>&nbsp;
<a title="command shell (popup)" href="javascript:cmd_popup()"><img src="/images/popup.png"/></a></li>
<li><a target="work" title="yInstaller (for files, plugins, ...)" href="Y_Tools_Installer.yhtm">yInstaller</a></li> <li><a target="work" title="yInstaller (for files, plugins, ...)" href="Y_Tools_Installer.yhtm">yInstaller</a></li>
=} =}
</ul> </ul>

View File

@@ -0,0 +1,298 @@
function wiki_url(_page)
{
return "<a href=\"http://wiki.dbox2-tuning.net/"+_page+"\"' target=\"_blank\"><b>[Help]<\/b><\/a>"
}
/*timer_list*/
var timer_body;
function timer_list_init()
{
timer_body=document.getElementById("timer_list");
}
function timer_list_clear()
{
while(timer_body.childNodes.length > 0)
{
aChild=timer_body.firstChild;
timer_body.removeChild(aChild);
}
document.getElementById("checkall").checked = true;
}
function timer_list_addRow(_body, i, alDate, alTime, stDate, stTime, channel_name, progName, origin)
{
var mycurrent_row = y_add_row_to_table(_body, ((i % 2) ==0)?"a":"b" );
y_add_html_cell_to_row(mycurrent_row, "settimer", '<input type="checkbox" checked="true" name="settimer">');
y_add_text_cell_to_row(mycurrent_row, "alDate", alDate);
y_add_text_cell_to_row(mycurrent_row, "alTime", alTime);
y_add_text_cell_to_row(mycurrent_row, "stDate", stDate);
y_add_text_cell_to_row(mycurrent_row, "stTime", stTime);
y_add_html_cell_to_row(mycurrent_row, "channel_name", channel_name);
y_add_html_cell_to_row(mycurrent_row, "progName", progName);
y_add_text_cell_to_row(mycurrent_row, "origin", origin);
}
/*sLog*/
var sLog_body;
var sLog_line_number;
function sLog_init()
{
sLog_line_number = 0;
sLog_body=document.getElementById("slog_list");
}
function sLog_clear()
{
while(sLog_body.childNodes.length > 0)
{
aChild=sLog_body.firstChild;
sLog_body.removeChild(aChild);
}
sLog_line_number = 0;
}
function sLog_addRow(_body, state, action_text, state_text)
{
sLog_line_number++;
var mycurrent_row = y_add_row_to_table(_body, ((sLog_line_number % 2) ==0)?"a":"b" );
var __img ="/images/info.png";
switch (state)
{
case "green": __img = "/images/accept.png"; break;
case "yellow": __img = "/images/alert.gif"; break;
case "ok": __img = "/images/info.png"; break;
case "red": __img = "/images/remove.png"; break;
}
y_add_html_cell_to_row(mycurrent_row, "icon", "<img src='"+__img+"'>");
y_add_html_cell_to_row(mycurrent_row, "action_text", action_text);
y_add_text_cell_to_row(mycurrent_row, "state_text", state_text);
}
/*request*/
function processReqChange()
{
if (g_req.readyState == 4) {
if (g_req.status == 200)
{
if (document.f.planer[0].checked == true)
{
var xml = g_req.responseXML;
var recProg_NodeList = xml.getElementsByTagName('recProg');
for(i=0;i<recProg_NodeList.length;i++)
{
var recProg_Node = recProg_NodeList[i];
var sender = getXMLNodeItemValue(recProg_Node, 'sender');
var progName = getXMLNodeItemValue(recProg_Node, 'progName');
var progStartDate = getXMLNodeItemValue(recProg_Node, 'progStartDate');
var progStartTime = getXMLNodeItemValue(recProg_Node, 'progStartTime');
var progEndDate = getXMLNodeItemValue(recProg_Node, 'progEndDate');
var progEndTime = getXMLNodeItemValue(recProg_Node, 'progEndTime');
progName = decodeURI(progName);
/*convert startdate*/
var Ausdruck = /(.*)-(.*)-(.*).*$/;
Ausdruck.exec(progStartDate);
var alDate = RegExp.$3+"."+RegExp.$2+"."+RegExp.$1;
Ausdruck = /(.*):(.*):(.*).*$/;
Ausdruck.exec(progStartTime);
var alTime = RegExp.$1+":"+RegExp.$2;
/*convert enddate*/
Ausdruck = /(.*)-(.*)-(.*).*$/;
Ausdruck.exec(progEndDate);
var stDate = RegExp.$3+"."+RegExp.$2+"."+RegExp.$1;
Ausdruck = /(.*):(.*):(.*).*$/;
Ausdruck.exec(progEndTime);
var stTime = RegExp.$1+":"+RegExp.$2;
timer_list_addRow(timer_body, i, alDate, alTime, stDate, stTime, sender, progName, "TVInfo");
if(document.f.debug.checked == true)
sLog_addRow(sLog_body, "green", "- Timer "+i+": "+alDate+" "+alTime+" "+sender+" "+progName, "analyzed");
}
if(recProg_NodeList.length>0)
sLog_addRow(sLog_body, "green", "Analyze "+recProg_NodeList.length+" Timers", "finished");
else
sLog_addRow(sLog_body, "yellow", "No Timers found", "finished");
}
else if (document.f.planer[1].checked == true)
{
var agt=navigator.userAgent.toLowerCase();
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var xml = g_req.responseXML;
var recProg_NodeList = xml.getElementsByTagName('item');
for(i=0;i<recProg_NodeList.length;i++)
{
var recProg_Node = recProg_NodeList[i];
var progName = getXMLNodeItemValue(recProg_Node, 'title');
var description = getXMLNodeItemValue(recProg_Node, 'description');
//FF3?Probs if(is_ie)
{
var sDate = getXMLNodeItemValue(recProg_Node, 'dc:date');
var sender = getXMLNodeItemValue(recProg_Node, 'dc:subject');
}
/* else
{
var sDate = getXMLNodeItemValue(recProg_Node, 'date');
var sender = getXMLNodeItemValue(recProg_Node, 'subject');
}
*/
var tmp = progName.replace(/(.*):/,"");
progName = tmp;
var stDate ="";
/*convert startdate*/
var Ausdruck = /(.*)-(.*)-(.*)T.*$/;
Ausdruck.exec(sDate);
var alYear = RegExp.$1;
var Ausdruck = /^(.*)\.(.*) (.*):(.*) Uhr -.*$/;
Ausdruck.exec(description);
alDate = RegExp.$1+"."+RegExp.$2+"."+alYear;
alTime = RegExp.$3+":"+RegExp.$4;
var Ausdruck = /Ende (.*):(.*) Uhr.*$/;
Ausdruck.exec(description);
stTime = RegExp.$1+":"+RegExp.$2;
timer_list_addRow(timer_body, i, alDate, alTime, stDate, stTime, sender, progName, "Klack")
if(document.f.debug.checked == true)
sLog_addRow(sLog_body, "green", "- Timer "+i+": "+alDate+" "+alTime+" "+sender+" "+progName, "analyzed");
}
if(recProg_NodeList.length>0)
sLog_addRow(sLog_body, "green", "Analyze "+recProg_NodeList.length+" Timers", "finished");
else
sLog_addRow(sLog_body, "yellow", "No Timers found", "finished");
}
}
}
}
function do_analyze_tvinfo()
{
loadXMLDoc("/tmp/tvinfo.xml", processReqChange);
}
function do_analyze_klack()
{
loadXMLDoc("/tmp/klack.xml", processReqChange);
}
function do_get_tvinfo()
{
sLog_addRow(sLog_body, "ok", "TVinfo: Sync Timer", "started");
var _url = "/control/exec?Y_Tools&timer_get_tvinfo&"+_username+"&"+_password;
if(_username != "")
if(_password != "")
{
var res = loadSyncURL(_url);
if(res.search(/Connecting/)!=-1)
{
sLog_addRow(sLog_body, "green", "TVinfo: connecting "+res, "ok");
if(res.search(/empty/)!=-1)
sLog_addRow(sLog_body, "red", "TVinfo: Username and/or Password wrong. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
else
sLog_addRow(sLog_body, "green", "TVinfo: Username / Password ok", "ok");
}
else
sLog_addRow(sLog_body, "red", "TVinfo: connecting. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
}
else
sLog_addRow(sLog_body, "red", "TVinfo: no password given. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
else
sLog_addRow(sLog_body, "red", "TVinfo: no username given. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
}
function do_get_klack()
{
sLog_addRow(sLog_body, "ok", "Klack: Sync Timer", "started");
var _url = "/control/exec?Y_Tools&timer_get_klack";
var res = loadSyncURL(_url);
if(res.search(/Connecting/)!=-1)
sLog_addRow(sLog_body, "green", "Klack: connecting: "+res, "ok");
else
sLog_addRow(sLog_body, "red", "Klack: connecting. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
}
function do_clear_all()
{
sLog_clear();
timer_list_clear();
}
function do_get_selected()
{
document.getElementById("wait").style.visibility="visible";
if (document.f.planer[0].checked == true)
{
do_get_tvinfo();
do_analyze_tvinfo();
}
else if (document.f.planer[1].checked == true)
{
do_get_klack();
do_analyze_klack();
}
document.getElementById("wait").style.visibility="hidden";
}
function doToogleCheckboxes()
{
var state = document.timer.checkall.checked;
var _rows = timer_body.getElementsByTagName("tr");
for(var i=0; i< _rows.length; i++)
{
var rowNode = _rows.item(i);
rowNode.firstChild.firstChild.checked = state;
}
}
/*set timer*/
function do_set_timer()
{
sLog_addRow(sLog_body, "green", "Sync Timer to box", "started");
var channel_replace = loadSyncURL("/control/exec?Y_Tools&get_synctimer_channels&" + Math.random());
if(channel_replace.length > 0)
sLog_addRow(sLog_body, "green", "Channel-Replace-List loaded "+channel_replace.length+" bytes", "ok");
else
sLog_addRow(sLog_body, "yellow", "Channel-Replace-List is empty", "notify");
var channels=0;
if(typ != "tv")
{
loadSyncURL("/control/setmode?tv");
sLog_addRow(sLog_body, "green", "Switsch to TV-Mode", "ok");
}
var _rows = timer_body.getElementsByTagName("tr");
for(var i=0; i< _rows.length; i++)
{
var rowNode = _rows.item(i);
if(rowNode.firstChild.firstChild.checked == true)
{
var channel_name = rowNode.childNodes[5].firstChild.nodeValue;
if(rowNode.childNodes[7].firstChild.nodeValue == "TVInfo")
var Ausdruck = new RegExp("(.*);"+rowNode.childNodes[5].firstChild.nodeValue+";.*","i");
else if(rowNode.childNodes[7].firstChild.nodeValue == "Klack")
var Ausdruck = new RegExp("(.*);.*;"+rowNode.childNodes[5].firstChild.nodeValue+".*","i");
else
var Ausdruck ="";
if(Ausdruck != "")
{
Ergebnis=Ausdruck.exec(channel_replace);
if(Ergebnis)
channel_name = RegExp.$1;
}
var _urlt = "/control/timer?action=new&alDate="+rowNode.childNodes[1].firstChild.nodeValue
+"&alTime="+rowNode.childNodes[2].firstChild.nodeValue
+"&stDate="+rowNode.childNodes[3].firstChild.nodeValue
+"&stTime="+rowNode.childNodes[4].firstChild.nodeValue
+"&channel_name="+channel_name
+"&rec_dir="+document.f.rec_dir.value
+"&rs=1"
+"&update=1";
_url = _urlt.replace(/:/gi,".");
/*_url = encodeURI(_url);*/
loadSyncURL(_url);
channels++;
if(document.f.debug.checked)
/*sLog_addRow(sLog_body, "green", "Sync Timer to box: "+channel_name+" "+rowNode.childNodes[6].firstChild.nodeValue, "added");*/
sLog_addRow(sLog_body, "green", "Sync Timer to box url: "+_url, "added");
}
}
if(channels > 0)
sLog_addRow(sLog_body, "green", "Sync Timer to box: "+channels+" Timers added", "finished");
else
sLog_addRow(sLog_body, "yellow", "Sync Timer to box: No Timers to add", "finished");
}

View File

@@ -1,365 +1,75 @@
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript" src="/prototype.js"></script>
//<![CDATA[ <script type="text/javascript" src="/Y_Tools_Timer_Sync.js"></script>
function wiki_url(_page)
{
return "<a href=\"http://wiki.tuxbox.org/"+_page+"\"' target=\"_blank\"><b>[Help]<\/b><\/a>"
}
/*timer_list*/
var timer_body;
function timer_list_init()
{
timer_body=document.getElementById("timer_list");
}
function timer_list_clear()
{
while(timer_body.childNodes.length > 0)
{
aChild=timer_body.firstChild;
timer_body.removeChild(aChild);
}
document.getElementById("checkall").checked = true;
}
function timer_list_addRow(_body, i, alDate, alTime, stDate, stTime, channel_name, progName, origin)
{
var mycurrent_row = y_add_row_to_table(_body, ((i % 2) ==0)?"a":"b" );
y_add_html_cell_to_row(mycurrent_row, "settimer", '<input type="checkbox" checked="true" name="settimer">');
y_add_text_cell_to_row(mycurrent_row, "alDate", alDate);
y_add_text_cell_to_row(mycurrent_row, "alTime", alTime);
y_add_text_cell_to_row(mycurrent_row, "stDate", stDate);
y_add_text_cell_to_row(mycurrent_row, "stTime", stTime);
y_add_html_cell_to_row(mycurrent_row, "channel_name", channel_name);
y_add_html_cell_to_row(mycurrent_row, "progName", progName);
y_add_text_cell_to_row(mycurrent_row, "origin", origin);
}
/*sLog*/
var sLog_body;
var sLog_line_number;
function sLog_init()
{
sLog_line_number = 0;
sLog_body=document.getElementById("slog_list");
}
function sLog_clear()
{
while(sLog_body.childNodes.length > 0)
{
aChild=sLog_body.firstChild;
sLog_body.removeChild(aChild);
}
sLog_line_number = 0;
}
function sLog_addRow(_body, state, action_text, state_text)
{
sLog_line_number++;
var mycurrent_row = y_add_row_to_table(_body, ((sLog_line_number % 2) ==0)?"a":"b" );
var __img ="/images/ok.gif";
switch (state)
{
case "green": __img = "/images/check_green.gif"; break;
case "yellow": __img = "/images/excl_yellow.gif"; break;
case "ok": __img = "/images/ok.gif"; break;
case "red": __img = "/images/x_red.gif"; break;
}
y_add_html_cell_to_row(mycurrent_row, "icon", "<img src='"+__img+"'>");
y_add_html_cell_to_row(mycurrent_row, "action_text", action_text);
y_add_text_cell_to_row(mycurrent_row, "state_text", state_text);
}
/*request*/
function processReqChange()
{
if (g_req.readyState == 4) {
if (g_req.status == 200)
{
if (document.f.planer[0].checked == true)
{
var xml = g_req.responseXML;
var recProg_NodeList = xml.getElementsByTagName('recProg');
for(i=0;i<recProg_NodeList.length;i++)
{
var recProg_Node = recProg_NodeList[i];
var sender = recProg_Node.getElementsByTagName('sender')[0].firstChild.nodeValue;
var progName = recProg_Node.getElementsByTagName('progName')[0].firstChild.nodeValue;
var progStartDate = recProg_Node.getElementsByTagName('progStartDate')[0].firstChild.nodeValue;
var progStartTime = recProg_Node.getElementsByTagName('progStartTime')[0].firstChild.nodeValue;
var progEndDate = recProg_Node.getElementsByTagName('progEndDate')[0].firstChild.nodeValue;
var progEndTime = recProg_Node.getElementsByTagName('progEndTime')[0].firstChild.nodeValue;
progName = decodeURI(progName);
/*convert startdate*/
var Ausdruck = /(.*)-(.*)-(.*).*$/;
Ausdruck.exec(progStartDate);
var alDate = RegExp.$3+"."+RegExp.$2+"."+RegExp.$1;
Ausdruck = /(.*):(.*):(.*).*$/;
Ausdruck.exec(progStartTime);
var alTime = RegExp.$1+":"+RegExp.$2;
/*convert enddate*/
Ausdruck = /(.*)-(.*)-(.*).*$/;
Ausdruck.exec(progEndDate);
var stDate = RegExp.$3+"."+RegExp.$2+"."+RegExp.$1;
Ausdruck = /(.*):(.*):(.*).*$/;
Ausdruck.exec(progEndTime);
var stTime = RegExp.$1+":"+RegExp.$2;
timer_list_addRow(timer_body, i, alDate, alTime, stDate, stTime, sender, progName, "TVInfo");
if(document.f.debug.checked == true)
sLog_addRow(sLog_body, "green", "- Timer "+i+": "+alDate+" "+alTime+" "+sender+" "+progName, "analyzed");
}
if(recProg_NodeList.length>0)
sLog_addRow(sLog_body, "green", "Analyze "+recProg_NodeList.length+" Timers", "finished");
else
sLog_addRow(sLog_body, "yellow", "No Timers found", "finished");
}
else if (document.f.planer[1].checked == true)
{
var agt=navigator.userAgent.toLowerCase();
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var xml = g_req.responseXML;
var recProg_NodeList = xml.getElementsByTagName('item');
for(i=0;i<recProg_NodeList.length;i++)
{
var recProg_Node = recProg_NodeList[i];
var progName = recProg_Node.getElementsByTagName('title')[0].firstChild.nodeValue;
var description = recProg_Node.getElementsByTagName('description')[0].firstChild.nodeValue;
if(is_ie)
{
var sDate = recProg_Node.getElementsByTagName('dc:date')[0].firstChild.nodeValue;
var sender = recProg_Node.getElementsByTagName('dc:subject')[0].firstChild.nodeValue;
}
else
{
var sDate = recProg_Node.getElementsByTagName('date')[0].firstChild.nodeValue;
var sender = recProg_Node.getElementsByTagName('subject')[0].firstChild.nodeValue;
}
var tmp = progName.replace(/(.*):/,"");
progName = tmp;
var stDate ="";
/*convert startdate*/
var Ausdruck = /(.*)-(.*)-(.*)T.*$/;
Ausdruck.exec(sDate);
var alYear = RegExp.$1;
var Ausdruck = /^(.*)\.(.*) (.*):(.*) Uhr -.*$/;
Ausdruck.exec(description);
alDate = RegExp.$1+"."+RegExp.$2+"."+alYear;
alTime = RegExp.$3+":"+RegExp.$4;
var Ausdruck = /Ende (.*):(.*) Uhr.*$/;
Ausdruck.exec(description);
stTime = RegExp.$1+":"+RegExp.$2;
timer_list_addRow(timer_body, i, alDate, alTime, stDate, stTime, sender, progName, "Klack")
if(document.f.debug.checked == true)
sLog_addRow(sLog_body, "green", "- Timer "+i+": "+alDate+" "+alTime+" "+sender+" "+progName, "analyzed");
}
if(recProg_NodeList.length>0)
sLog_addRow(sLog_body, "green", "Analyze "+recProg_NodeList.length+" Timers", "finished");
else
sLog_addRow(sLog_body, "yellow", "No Timers found", "finished");
}
}
}
}
function do_analyze_tvinfo()
{
loadXMLDoc("/tmp/tvinfo.xml", processReqChange);
}
function do_analyze_klack()
{
loadXMLDoc("/tmp/klack.xml", processReqChange);
}
function do_get_tvinfo()
{
sLog_addRow(sLog_body, "ok", "TVinfo: Sync Timer", "started");
var _username = "{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_username=}";
var _password = "{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_password=}";
var _url = "/control/exec?Y_Tools&timer_get_tvinfo&"+_username+"&"+_password;
if(_username != "")
if(_password != "")
{
var res = loadSyncURL(_url);
if(res.search(/Connecting/)!=-1)
{
sLog_addRow(sLog_body, "green", "TVinfo: connecting "+res, "ok");
if(res.search(/empty/)!=-1)
sLog_addRow(sLog_body, "red", "TVinfo: Username and/or Password wrong. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
else
sLog_addRow(sLog_body, "green", "TVinfo: Username / Password ok", "ok");
}
else
sLog_addRow(sLog_body, "red", "TVinfo: connecting. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
}
else
sLog_addRow(sLog_body, "red", "TVinfo: no password given. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
else
sLog_addRow(sLog_body, "red", "TVinfo: no username given. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
}
function do_get_klack()
{
sLog_addRow(sLog_body, "ok", "Klack: Sync Timer", "started");
var _url = "/control/exec?Y_Tools&timer_get_klack";
var res = loadSyncURL(_url);
if(res.search(/Connecting/)!=-1)
sLog_addRow(sLog_body, "green", "Klack: connecting: "+res, "ok");
else
sLog_addRow(sLog_body, "red", "Klack: connecting. "+wiki_url("Neutrino:yWeb#Timer_Sync"), "failed");
}
function do_clear_all()
{
sLog_clear();
timer_list_clear();
}
function do_get_selected()
{
document.getElementById("wait").style.visibility="visible";
if (document.f.planer[0].checked == true)
{
do_get_tvinfo();
do_analyze_tvinfo();
}
else if (document.f.planer[1].checked == true)
{
do_get_klack();
do_analyze_klack();
}
document.getElementById("wait").style.visibility="hidden";
}
function doToogleCheckboxes()
{
var state = document.timer.checkall.checked;
var _rows = timer_body.getElementsByTagName("tr");
for(var i=0; i< _rows.length; i++)
{
var rowNode = _rows.item(i);
rowNode.firstChild.firstChild.checked = state;
}
}
/*set timer*/
function do_set_timer()
{
sLog_addRow(sLog_body, "green", "Sync Timer to box", "started");
var channel_replace = loadSyncURL("/control/exec?Y_Tools&get_synctimer_channels&" + Math.random());
if(channel_replace.length > 0)
sLog_addRow(sLog_body, "green", "Channel-Replace-List loaded "+channel_replace.length+" bytes", "ok");
else
sLog_addRow(sLog_body, "yellow", "Channel-Replace-List is empty", "notify");
var channels=0;
var typ = "{=func:get_mode=}";
if(typ != "tv")
{
loadSyncURL("/control/setmode?tv");
sLog_addRow(sLog_body, "green", "Switsch to TV-Mode", "ok");
}
var _rows = timer_body.getElementsByTagName("tr");
for(var i=0; i< _rows.length; i++)
{
var rowNode = _rows.item(i);
if(rowNode.firstChild.firstChild.checked == true)
{
var channel_name = rowNode.childNodes[5].firstChild.nodeValue;
if(rowNode.childNodes[7].firstChild.nodeValue == "TVInfo")
var Ausdruck = new RegExp("(.*);"+rowNode.childNodes[5].firstChild.nodeValue+";.*","i");
else if(rowNode.childNodes[7].firstChild.nodeValue == "Klack")
var Ausdruck = new RegExp("(.*);.*;"+rowNode.childNodes[5].firstChild.nodeValue+".*","i");
else
var Ausdruck ="";
if(Ausdruck != "")
{
Ergebnis=Ausdruck.exec(channel_replace);
if(Ergebnis)
channel_name = RegExp.$1;
}
var _urlt = "/control/timer?action=new&alDate="+rowNode.childNodes[1].firstChild.nodeValue
+"&alTime="+rowNode.childNodes[2].firstChild.nodeValue
+"&stDate="+rowNode.childNodes[3].firstChild.nodeValue
+"&stTime="+rowNode.childNodes[4].firstChild.nodeValue
+"&channel_name="+channel_name
+"&rec_dir="+document.f.rec_dir.value
+"&rs=1"
+"&update=1";
_url = _urlt.replace(/:/gi,".");
/*_url = encodeURI(_url);*/
loadSyncURL(_url);
channels++;
if(document.f.debug.checked)
/*sLog_addRow(sLog_body, "green", "Sync Timer to box: "+channel_name+" "+rowNode.childNodes[6].firstChild.nodeValue, "added");*/
sLog_addRow(sLog_body, "green", "Sync Timer to box url: "+_url, "added");
}
}
if(channels > 0)
sLog_addRow(sLog_body, "green", "Sync Timer to box: "+channels+" Timers added", "finished");
else
sLog_addRow(sLog_body, "yellow", "Sync Timer to box: No Timers to add", "finished");
}
//]]>
</script>
</head> </head>
<body> <body>
{=var-set:wait_text=get timer.=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text=Timer holen (get timer).=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:Live_Timer#Timer_Sync=}{=var-set:menu=Timer Sync=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-Live_Timer-Timer_Sync=}{=var-set:menu=Timer Sync=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<form method="post" name="f" action=""> <form method="post" name="f" action="">
<b>Sync Timer</b> <div class="y_form_header">Timer Source</div>
<table class="y_work_table"> <table border="0" cellspacing="0" cellpadding="4" width="100%">
<tr> <tr>
<td> <td>
<input type="radio" name="planer" value="TVInfo" {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_username=}~disabled~=}/>TVInfo<br/> <input type="radio" name="planer" value="TVInfo" {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_username=}~disabled~=}/>TVInfo<br/>
<input type="radio" name="planer" value="Klack" {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;klack_url=}~disabled~=}/>Klack <input type="radio" name="planer" value="Klack" {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;klack_url=}~disabled~=}/>Klack
</td> </td>
<td> <td>
<input type="checkbox" name="debug" value="1"/>Debugging
<!-- <!--
<input type="radio" name="planer" value="slave" disabled="disabled"/>Slave box<br/> <input type="radio" name="planer" value="slave" disabled="disabled"/>Slave box<br/>
<input type="radio" name="planer" value="slave" disabled="disabled"/>Test<br/> --> <input type="radio" name="planer" value="slave" disabled="disabled"/>Test<br/> -->
</td> Aufnahmeverzeichnis:
</tr> <select name="rec_dir" class="y_live_button">
<tr><td colspan="2"> <option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_0;/mnt/filme~open=}" selected="selected">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_0;/mnt/filme~cache=}</option>
Recording Directory: <input type="text" name="rec_dir" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_recordingdir;/mnt/filme=}" title="recording dir"/> <option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_1;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_1;/mnt/filme~cache=}</option>
<br/>Settings within Settings-Timer</td> <option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_2;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_2;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_3;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_3;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_4;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_4;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_5;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_5;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_6;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_6;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_7;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_7;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_8;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_8;/mnt/filme~cache=}</option>
<option value="{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_9;/mnt/filme~cache=}">{=ini-get:/var/tuxbox/config/neutrino.conf;recording_dir_9;/mnt/filme~cache=}</option>
</select>
<br/><a href="javascript:top.top_main.prim_menu.nav('settings', 'Y_Settings_Timer.yhtm');" class="inlink">Einstellungen</a>&nbsp;<input type="checkbox" name="debug" value="1"/>Debugging</td>
</tr> </tr>
</table> </table>
<input type="button" value="get selected" title="get selected" name="get_selected" onclick="do_get_selected()"/>&nbsp; <button type="button" ytype="download" itle="get selected" name="get_selected" onclick="do_get_selected()">get selected</button>
<input type="button" value="clear all" title="clear all" name="clear_all" onclick="do_clear_all()"/> &nbsp;
<button type="button" ytype="clear" title="clear all" name="clear_all" onclick="do_clear_all()">clear all</button>
</form> </form>
<br/> <br/>
<form method="post" name="timer" action=""> <form method="post" name="timer" action="">
<b>Timer Preview List</b> <div class="y_form_header_oline">Timer Preview List</div>
<table class="y_work_table" cellpadding="2"> <table class="lt_table" border="0" cellspacing="0" cellpadding="4">
<thead align="left"> <thead align="left">
<tr> <tr>
<th><input type="checkbox" checked="checked" name="checkall" onclick="doToogleCheckboxes();" id="checkall"/></th><th colspan="2">StartTime</th><th colspan="2">EndeTime</th> <th><input type="checkbox" checked="checked" name="checkall" onclick="doToogleCheckboxes();" id="checkall"/></th>
<th>Sender</th><th>Program</th><th>Quelle</th> <th colspan="2">Startzeit</th><th colspan="2">Endezeit</th>
<th>Sender</th><th>Sendung</th><th>Quelle</th>
</tr> </tr>
</thead> </thead>
<tbody id="timer_list"> <tbody id="timer_list">
<tr><td></td></tr> <tr><td></td></tr>
</tbody> </tbody>
</table> </table>
<input type="button" value="set timer" title="" name="set_timers" onclick="do_set_timer()"/>&nbsp; <div style="padding-top:2px">
<input type="button" value="clear log" title="" name="clear_log" onclick="sLog_clear()"/> <button type="button" ytype="timeadd" title="" name="set_timers" onclick="do_set_timer()">set timer</button>&nbsp;
<button type="button" ytype="clear" title="" name="clear_log" onclick="sLog_clear()">clear log</button>
</div>
</form> </form>
<br/> <br/>
<form method="post" name="log" action=""> <form method="post" name="log" action="">
<b>Log</b><br/> <div class="y_form_header_oline">Log</div>
<table class="y_work_table" cellpadding="4"> <table class="lt_table" border="0" cellspacing="0" cellpadding="4">
<thead align="left"> <thead align="left">
<tr> <tr>
<th>&nbsp;</th><th>Action</th><th>Status</th> <th>&nbsp;</th><th>Aktion</th><th>Status</th>
</tr> </tr>
</thead> </thead>
<tbody id="slog_list"> <tbody id="slog_list">
@@ -372,6 +82,10 @@ function do_set_timer()
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
var _username = "{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_username=}";
var _password = "{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_password=}";
var typ = "{=func:get_mode=}";
timer_list_init(); timer_list_init();
sLog_init(); sLog_init();
do_clear_all(); do_clear_all();

View File

@@ -3,61 +3,53 @@
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function do_snapshot() function do_snapshot(){
{
show_waitbox(true); show_waitbox(true);
window.setTimeout("do_snapshot2()", 500); window.setTimeout("do_snapshot2()", 500);
} }
function do_snapshot2() function do_snapshot2(){
{
var _shot = document.getElementById("shot"); var _shot = document.getElementById("shot");
var filename = id("file").value; var filename = id("file").value;
dbox_exec_command("{=if-file-exists:/var/bin/fbshot~/var/bin/fbshot~fbshot=} -q /tmp/"+filename+".png"); dbox_exec_tools("fbshot fb -q /tmp/"+filename+".png");
show_waitbox(false); show_waitbox(false);
show_obj("shot", true); show_obj("shot", true);
_shot.src = "/tmp/"+filename+".png?"+Math.random(); _shot.src = "/tmp/"+filename+".png?"+Math.random();
} }
function do_dboxshot() function do_dboxshot(){
{
show_waitbox(true); show_waitbox(true);
window.setTimeout("do_dboxshot2()", 500); window.setTimeout("do_dboxshot2()", 500);
} }
function do_dboxshot2() function do_dboxshot2(){
{
var _shot = document.getElementById("shot"); var _shot = document.getElementById("shot");
var filename = id("file").value; var filename = id("file").value;
var res = dbox_exec_command("{=if-file-exists:/var/bin/dboxshot~/var/bin/dboxshot~dboxshot=} /tmp/"+filename+".bmp"); var res = dbox_exec_tools("fbshot -r -o /tmp/"+filename+".bmp");
if(res != "") if(res != "")
dbox_exec_command("{=if-file-exists:/var/bin/dboxshot~/var/bin/dboxshot~dboxshot=} /tmp/"+filename+".bmp"); dbox_exec_tools("fbshot -o /tmp/"+filename+".bmp");
show_waitbox(false); show_waitbox(false);
show_obj("shot", true); show_obj("shot", true);
_shot.src = "/tmp/"+filename+".bmp?"+Math.random(); _shot.src = "/tmp/"+filename+".bmp?"+Math.random();
} }
function do_clearshot() function do_clearshot(){
{
window.setTimeout("do_clearshot2()", 500); window.setTimeout("do_clearshot2()", 500);
} }
function do_clearshot2() function do_clearshot2(){
{ dbox_exec_tools("fbshot_clear");
var _shot = document.getElementById("shot");
dbox_exec_command("rm /tmp/*.png");
dbox_exec_command("rm /tmp/*.bmp");
} }
//]]> //]]>
</script> </script>
</head> </head>
<body> <body>
{=var-set:wait_text=Snapshot taken=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text=Schnappschuss wird erstellt (take snapshot)=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:BoxControl#OSD_Screenshot=}{=var-set:menu=OSD Screenshot=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-BoxControl-OSD_Screenshot=}{=var-set:menu=OSD Screenshot=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
<button name="snapshot" onclick="do_snapshot()">Snapshot</button> <button name="snapshot" ytype="shot" onclick="do_snapshot()">Snapshot</button>
{=var-set:dboxshot={=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=} {=var-set:dboxshot={=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=}
{=if-equal:{=var-get:dboxshot=}~true~ {=if-equal:{=var-get:dboxshot=}~true~
<button name="dboxshot" onclick="do_dboxshot()">dboxshot</button> <button name="dboxshot" ytype="shot" onclick="do_dboxshot()">dboxshot</button>
=} =}
<button name="clearshot" onclick="do_clearshot()">Delete Screenshots</button> <button name="clearshot" ytype="clearshot" onclick="do_clearshot()">Delete Screenshots</button>
&nbsp;Filename:<input type="text" value="a" id="file" size="16"/> &nbsp;Filename:<input type="text" value="a" id="file" size="16"/>
<br/> <br/>
<img id="shot" src="" style="visibility:hidden;"/> <img id="shot" src="" style="visibility:hidden;"/>

View File

@@ -0,0 +1,132 @@
{=var-set:cancache=yPInstall=}
{=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript">
//<![CDATA[
function do_init(){
document.getElementById("colorBox").style.background = "#99FF33";
document.getElementById("colorBox").value = "99FF33";
document.f.zooming.selectedIndex = 1;
}
function setcolorbox(hexString){
document.getElementById("colorBox").style.background = "#"+hexString;
document.getElementById("colorBox").value = hexString;
}
function do_lcshot(){
show_waitbox(true);
window.setTimeout("do_lcshot2()", 500);
}
function do_lcshot2(){
var _shot = document.getElementById("shot");
var filename = id("file").value;
var color = document.getElementById("colorBox").value;
color = " -c "+color;
var zoom = document.f.zooming.value;
zoom = " -z "+zoom;
var comp = " -u";
if(document.f.compress.checked)
comp = "";
var gscale = "";
if(document.f.grayscale.checked)
gscale = " -g";
dbox_exec_tools("lcshot"+gscale+comp+zoom+color+" /tmp/"+filename+".png");
show_waitbox(false);
show_obj("shot", true);
_shot.src = "/tmp/"+filename+".png?"+Math.random();
}
function do_clearshot(){
window.setTimeout("do_clearshot2()", 500);
}
function do_clearshot2(){
dbox_exec_tools("fbshot_clear");
}
//]]>
</script>
</head>
<body onload="do_init()">
{=var-set:wait_text=Schnappschuss wird erstellt (take snapshot)=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Help-BoxControl-LCD_Screenshot=}{=var-set:menu=LCD Screenshot=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body">
<button name="lcshot" ytype="shot" onclick="do_lcshot()">LCD-Shot</button>
<button name="clearshot" ytype="clearshot" onclick="do_clearshot()">Delete Shot</button>
&nbsp;Filename:<input value="lcd" id="file" size="16" type="text" />.png
<br />
<form name="f" class="y_form" action="">
<table width="100%" border="0" cellpadding="2" cellspacing="0">
<tr>
<td colspan="3" class="y_form_header">Optionen</td>
</tr>
<tr>
<td width="30%">Displayfarbe</td>
<td width="20%">
<input type="text" id="colorBox" size="7" readonly="readonly" />
</td>
<td rowspan="4"><div id="colorTable" style="height:98px;">
<table border="0" cellpadding="0" cellspacing="1">
<tr>
<td colspan="18"></td>
</tr>
<script type="text/javascript">
//<![CDATA[
clr = new Array('00','33','66','99','CC','FF');
for(k=0;k<6;++k){
for(j=0;j<6;){
document.write('<tr>\n');
for(m=0;m<3;++m){
for(i=0;i<6;++i){
document.write('<td bgcolor=#'+clr[k]+clr[j+m]+clr[i]+'>');
document.write('<a href="javascript:void(null)" ');
document.write('onClick="setcolorbox(\''+clr[k]+clr[j+m]+clr[i]+'\')\;">');
document.write('<img src="../images/blank.gif" width="12" height="8" border="0"></a></td>\n');
}
}
j+=3;
document.write('</tr>\n');
}
}
//]]>
</script>
</table>
</div></td>
</tr>
<tr>
<td>Zoommodus</td>
<td><select name="zooming" title="zoomfactor">
<option value="1">100%</option>
<option value="2">200%</option>
<option value="3">300%</option>
<option value="4">400%</option>
</select></td>
</tr>
<tr>
<td>Dateiausgabe</td>
<td><input name="compress" type="checkbox" checked="checked" />
komprimiert</td>
</tr>
<tr>
<td>Farbausgabe</td>
<td><input name="grayscale" type="checkbox" />
Grauskalenbild</td>
</tr>
<tr>
<td colspan="3" class="y_form_header">Ausgabe</td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
</tr>
<tr>
<td colspan="3"><img src="" id="shot" style="visibility:hidden;" alt="" /></td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>

View File

@@ -1,60 +1,43 @@
{=var-set:cancache=yPInstall=}
{=var-set:dboxshot={=if-file-exists:/bin/dboxshot~/bin/dboxshot~{=if-file-exists:/var/bin/dboxshot~/var/bin/dboxshot~/var/bin/dboxshot=}=}=}
{=include-block:Y_Blocks.txt;head=} {=include-block:Y_Blocks.txt;head=}
<script type="text/javascript" src="/Y_Baselib.js"></script> <script type="text/javascript" src="/Y_Baselib.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
function rcsim(_key) function rcsim(_key) {
{ dbox_rcsim(_key);
loadSyncURL("/control/rcem?"+_key);
do_dboxshot(); do_dboxshot();
} }
function do_dboxshot() function do_dboxshot(){
{ var res = dbox_exec_tools("fbshot -r -o /tmp/a.bmp");
{=if-empty:{=var-get:dboxshot=}~~
var _shot = document.getElementById("shot");
var res = dbox_exec_command("{=var-get:dboxshot=} -o /tmp/a.bmp");
if(res != "") if(res != "")
dbox_exec_command("{=var-get:dboxshot=} -o /tmp/a.bmp"); dbox_exec_tools("fbshot -o /tmp/a.bmp");
var _shot = document.getElementById("shot");
_shot.src = "/tmp/a.bmp?"+Math.random(); _shot.src = "/tmp/a.bmp?"+Math.random();
=}
} }
function do_clearshot() function do_clearshot(){
{
window.setTimeout("do_clearshot2()", 500); window.setTimeout("do_clearshot2()", 500);
} }
function do_clearshot2() function do_clearshot2(){
{ dbox_exec_tools("fbshot_clear");
var _shot = document.getElementById("shot");
dbox_exec_command("rm /tmp/a.*");
show_waitbox(false); show_waitbox(false);
} }
//]]> //]]>
</script> </script>
</head> </head>
<body> <body onload="do_dboxshot()">
{=var-set:wait_text=Snapshot taken=}{=include-block:Y_Blocks.txt;snip_wait=} {=var-set:wait_text=Schnappschuss wird erstellt (take snapshot)=}{=include-block:Y_Blocks.txt;snip_wait=}
<div class="work_box"> <div class="work_box">
<div class="work_box_head"><div class="work_box_head_h2"> <div class="work_box_head"><div class="work_box_head_h2">
{=var-set:help_url=Neutrino:yWeb:BoxControl#Remote_OSD=}{=var-set:menu=Remote &amp; OSD=}{=include-block:Y_Blocks.txt;work_menu=}</div></div> {=var-set:help_url=Help-BoxControl-Remote_OSD=}{=var-set:menu=Remote &amp; OSD=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
<div class="work_box_body"> <div class="work_box_body">
{=if-empty:{=var-get:dboxshot=}~~ <button name="dboxshot" ytype="shot" onclick="do_dboxshot()">Shot</button>&nbsp;
<button name="dboxshot" onclick="do_dboxshot()">shot</button> <button name="clearshot" ytype="clearshot" onclick="do_clearshot()">Delete shots</button>
=}
<button name="clearshot" onclick="do_clearshot()">Delete shots</button>
<table cellpadding="0"> <table cellpadding="0">
<tr> <tr>
<td>{=include-block:Y_Blocks.txt;remote=}</td> <td>{=include-block:Y_Blocks.txt;remote=}</td>
<td><img id="shot" src="" style="width:600px"/></td> <td><img id="shot" src="" {=if-empty:{=full=}~style="width:600px"~=}/></td>
</tr> </tr>
</table> </table>
</div> </div>
</div> </div>
<script type="text/javascript">
//<![CDATA[
do_dboxshot();
//]]>
</script>
</body> </body>
</html> </html>

View File

@@ -1,6 +1,6 @@
/* VLC abstraction by yjogol@online.de /* VLC abstraction by yjogol@online.de
$Date: 2007/02/21 17:38:48 $ $Date: 2008/11/13 16:45:38 $
$Revision: 1.1 $ $Revision: 1.4 $
*/ */
/*ie1=ActiveC, moz1=Mozilla<0.8.5.1, moz2>= 0.8.5.1*/ /*ie1=ActiveC, moz1=Mozilla<0.8.5.1, moz2>= 0.8.5.1*/
var CyVLC = function(_id, masterid, width, height) { var CyVLC = function(_id, masterid, width, height) {
@@ -36,12 +36,12 @@ CyVLC.prototype = {
} }
this.insert_control(); this.insert_control();
this.vlc = id(_id); this.vlc = id(_id);
this.set_resolution(this.c_width, this.c_height);
if(is_ie) { if(is_ie) {
this.version_string = this._get_version(); this.version_string = this._get_version();
this._generate_sub_versions(); this._generate_sub_versions();
this._determine_plugin_generation(); this._determine_plugin_generation();
} }
this.set_resolution(this.c_width, this.c_height);
}, },
_get_version : function() { _get_version : function() {
if(is_ie) if(is_ie)
@@ -55,6 +55,8 @@ CyVLC.prototype = {
var plug = navigator.plugins['VLC multimedia plugin']; var plug = navigator.plugins['VLC multimedia plugin'];
if(typeof plug == 'undefined') if(typeof plug == 'undefined')
var plug = navigator.plugins['VLC Multimedia Plugin']; var plug = navigator.plugins['VLC Multimedia Plugin'];
if(typeof plug == 'undefined')
var plug = navigator.plugins['VLC Multimedia Plug-in'];
var ex = /^.*[vV]ersion [\"]*([^ \"]*)[\"]*.*$/; var ex = /^.*[vV]ersion [\"]*([^ \"]*)[\"]*.*$/;
var ve = ex.exec(plug.description); var ve = ex.exec(plug.description);
if(ve[1]) if(ve[1])
@@ -170,7 +172,7 @@ CyVLC.prototype = {
}, },
toggle_mute : function() { toggle_mute : function() {
switch(this.plugin) { switch(this.plugin) {
case "ie1": this.vlc.toggleMute();reak; case "ie1": this.vlc.toggleMute();break;
case "moz2": this.vlc.audio.toggleMute();break; case "moz2": this.vlc.audio.toggleMute();break;
default: this.vlc.mute();break; default: this.vlc.mute();break;
} }
@@ -220,11 +222,14 @@ CyVLC.prototype = {
if(is_ie) { if(is_ie) {
vlc_control_html = vlc_control_html =
"<object classid=\"clsid:E23FE9C6-778E-49D4-B537-38FCDE4887D8\" " + "<object classid=\"clsid:E23FE9C6-778E-49D4-B537-38FCDE4887D8\" " +
/* "<object classid=\"clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921\" " +*/
"width=\""+this.c_width+"\" height=\""+this.c_height+"\" id=\""+this.id+"\" events=\"True\">" + "width=\""+this.c_width+"\" height=\""+this.c_height+"\" id=\""+this.id+"\" events=\"True\">" +
"<param name='ShowDisplay' value='"+this.c_show_display+"' />" + "<param name='ShowDisplay' value='"+this.c_show_display+"' />" +
"<param name='Loop' value='"+this.c_loop+"' />" + "<param name='Loop' value='"+this.c_loop+"' />" +
"<param name='AutoPlay' value='"+this.c_auto_play+"' />" + "<param name='AutoPlay' value='"+this.c_auto_play+"' />" +
"<param name=\"Visible\" value=\"-1\"/>" + /* "<param name=\"Visible\" value=\"-1\"/>" + */
"<param name='ShowDisplay' value='True'/>" +
"The VideoLan Client ActiveX is not installed.<br/>"+ "The VideoLan Client ActiveX is not installed.<br/>"+
"You need <a href='http://www.videolan.org' target='_blank'>VideoLan Client</a> V0.8.5 or higher.<br/>" + "You need <a href='http://www.videolan.org' target='_blank'>VideoLan Client</a> V0.8.5 or higher.<br/>" +
"Install with Option ActiveX." + "Install with Option ActiveX." +

View File

@@ -1,6 +1,5 @@
version=2.5.0 version=2.8.a.3
date=21.02.2007 date=24.02.2010
type=Release type=Alpha
info=mod neutrino.dream plus info=Port Coolstream

View File

@@ -0,0 +1,18 @@
{=var-set:cancache=yPyes=}
{=include-block:Y_Blocks.txt;head=}
</head>
<body>
<br/>
<table class="y_wait_box_visible" cellpadding="8">
<tr>
<td>
<font color="#666666"><b>Anfrage wird bearbeitet</b></font><p align="center">
<img border="0" src="images/wait.gif"/></p>
<p align="center"><font size="2">
Bitte warten ...</font>
</td>
</tr>
</table>
</body>
</html>

View File

@@ -1,7 +1,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>yWeb</title> <title>yWeb</title>
</head> </head>
<body> <body>

File diff suppressed because it is too large Load Diff

197
src/nhttpd/web/Y_yweb.js Normal file
View File

@@ -0,0 +1,197 @@
/* yWeb by yjogol
internal organisation of yweb
$Date: 2008/02/24 08:23:12 $
$Revision: 1.1 $
*/
/* define namespace */
if(typeof(Y) == "undefined")
Y = {};
/* Class Y.yweb */
Y.yweb = new Class.create();
Object.extend(Y.yweb.prototype, {
ver_file_prop : new Hash(),
yweb_version: $H({major:'0', minor:'0', patch:'0', pre:'0'}),
yweblib_version: $H({major:'1', minor:'0', patch:'0', pre:'0'}),
prototype_version: $H({major:'0', minor:'0', patch:'0', pre:'0'}),
baselib_version: $H({major:'1', minor:'0', patch:'0', pre:'0'}),
initialize: function(){
this.ver_file_get()
split_version(this.ver_file_prop.get('version'),this.yweb_version);
split_version(Prototype.Version,this.prototype_version);
if(typeof(baselib_version)!="undefined")
split_version(baselib_version,this.baselib_version);
},
ver_file_get: function(){
var v_file=loadSyncURL("/Y_Version.txt");
var lines=v_file.split("\n");
lines.each(function(e){
var x=e.split("=");
if(x.length==2 && (x[0]!=""))
this.ver_file_prop.set(x[0],x[1]);
},this);
},
_require: function(min_version_str,check_version,is_msg,msg_text){
var v=$H();
split_version(min_version_str,v);
if (!version_le(v, check_version)) {
if (typeof(is_msg) != "undefined") alert(msg_text + min_version_str + " required");
return false;
}
else
return true;
},
require_prototype:function(min_version_str,is_msg){
return this._require(min_version_str,this.prototype_version,is_msg,"prototype-library version: ");
},
require_baselib:function(min_version_str,is_msg){
return this._require(min_version_str,this.baselib_version,is_msg,"baselib-library version: ");
},
require_yweblib:function(min_version_str,is_msg){
return this._require(min_version_str,this.yweblib_version,is_msg,"yweb-library version: ");
},
require:function(min_version_str,is_msg){
return this._require(min_version_str,this.yweb_version,is_msg,"yweb version: ");
}
});
/* main instance */
if (window == top.top_main.prim_menu) {
var yweb = new Y.yweb();
yweb.require_prototype("1.6");
}
else
if(top.top_main.prim_menu && top.top_main.prim_menu.yweb)
var yweb = top.top_main.prim_menu.yweb;
else { // should not happen!
var yweb = new Y.yweb();
yweb.require_prototype("1.6");
}
/* n/m= type, menuitem, desc, file, tag, version, url, yweb_version, info_url
* x= type, menuitem, ymenu, file, tag, version, url, yweb_version, info_url
* u=type,site,description,url
*/
/* Class Y.extension */
Y.extension = new Class.create();
Object.extend(Y.extension.prototype, {
ext_version: 1, /* ver of Y.extention*/
conf_version: 2,/* ver of local conf file */
upd_version: 2, /* ver of upd file */
file: "",
installed_extensions: [],
update_sites: [],
upd_extensions: [],
on_get_updates: null,
get_file: function(){
this.file = loadSyncURL("/control/exec?Y_Tools&get_extension_list&" + Math.random());
},
read_items: function(){
this.installed_extensions=[];
this.update_sites=[];
this.conf_version=2;
this.get_file();
if(this.file!=""){
var list = this.file.split("\n");
list.each(function(line){
var p=str_to_hash(line)
switch(p.get('type')){
case "m": case "n": case "p": case "x": case "s": case "o":
this.installed_extensions.push(p);
break;
case "u":
this.update_sites.push(p);
break;
case "v":
this.conf_version=p.get('version');
break;
}
},this);
}
},
get_updates: function(){
this.upd_extensions=[];
this.upd_version=2;
this.update_sites.each(function(e){
var update_file = loadSyncURL("/control/exec?Y_Tools&url_get&"+e.get('url')+"&ext_upt.txt&" + Math.random());
if(this.on_get_updates) this.on_get_updates(e.get('url'), (update_file.search(/wget: cannot/)!=-1) );
var list = update_file.split("\n");
list.each(function(line){
var p=str_to_hash(line);
switch(p.get('type')){
case "m": case "n": case "p": case "x": case "s": case "o":
p.set('site', e.get('site'));
this.upd_extensions.push(p);
break;
case "v":
this.upd_version=p.get('version');
break;
}
},this)
},this);
this.upd_extensions = this.upd_extensions.sortBy(function(e){return e.get('tag');});
},
build_extension_file: function(){
var ext="version:"+this.conf_version+"\n";
for (i = 0; i < this.installed_extensions.length; i++)
ext+=hash_to_str(this.installed_extensions[i])+"\n";
for(i=0;i<this.update_sites.length;i++)
ext+=hash_to_str(this.update_sites[i])+"\n";
return ext;
},
add_extension_to_installed: function(props) {
var allready_installed = false;
for(i=0;i<this.installed_extensions.length;i++){
if(this.installed_extensions[i].get('tag')==props.get('tag')){
allready_installed = true;
this.installed_extensions[i]=props;
}
}
if(!allready_installed)
this.installed_extensions.push(props);
},
install: function(item){
var res = loadSyncURL("/control/exec?Y_Tools&ext_installer&"+item.get('url'));
if(res.search(/error/)==-1)
this.add_extension_to_installed(item);
return res;
},
get_item_by_tag:function(tag){
return this.installed_extensions.find(function(e){
return e.get('tag')==tag;
},this);
},
uninstall: function(tag){
var res = loadSyncURL("/control/exec?Y_Tools&ext_uninstaller&"+tag);
if(res.search(/error/)==-1)
this.installed_extensions = this.installed_extensions.without(this.get_item_by_tag(tag));
return res;
},
select_menu: function(menu_name){
return this.installed_extensions.findAll(function(e){
return e.get('type')=="x" && e.get('ymenu')==menu_name;
},this);
},
select_type: function(_type){
return this.installed_extensions.findAll(function(e){
return e.get('type')==_type;
},this);
}
});
/* singleton pattern*/
if (window == top.top_main.prim_menu) {
var ext = new Y.extension();
ext.read_items();
}
else
if(top.top_main.prim_menu && top.top_main.prim_menu.ext)
var ext = top.top_main.prim_menu.ext;
else { // should not happen!
var ext = new Y.extension();
ext.read_items();
}

View File

@@ -1 +1,2 @@
u,yjogol,yjogol update site,http://www.yjogol.de/download/Y_extentions.txt type:u,site:yjogol,desc:yjogol updates,url:http://www.yjogol.com/download/Y_extensions.txt

View File

@@ -0,0 +1,25 @@
Same pictures used are form the Tuxbox Community:
Published under GPL v2
- rc.jpg : Jonny Spitzner <jonnyspitzner@gmx.de>
- rc_sagem.jpg Jonny Spitzner <jonnyspitzner@gmx.de>
- tux.gif : from wiki.tuxbox.org
From Johannes Golombek yjogol@online.de:
Published under GPL v2
- y.png
- audiobar.gif
- blank.gif
- body-trans*
- head-blue*
- head-orange*
- head-trans*
- help_white.gif
From old (before yWeb):
Published under GPL v2
- elist.gif
- streaminfo.png
All others are from Mark James (www.famfamfam.com)
Published under Creative Common License 2.5
(http://creativecommons.org/licenses/by/2.5/)

View File

@@ -1,24 +1,116 @@
installdir = $(DATADIR)/neutrino/httpd-y/images installdir = $(DATADIR)/neutrino/httpd/images
install_DATA = addfolder.gif arrowdown.gif arrowup.gif audiobar.gif \ install_DATA = accept.png \
blank.gif body-trans-l.gif body-trans-r.gif \ addfolder.gif \
check_green.gif chmod.gif delete.gif download.gif \ alert.gif \
elist.gif excl_yellow.gif ftype_file.gif ftype_folder.gif ftype_link.gif \ arrowdown.gif \
head-blue-l.gif head-blue-r.gif head-orange-l.gif head-orange-r.gif \ arrowdown.png \
head-trans-l.gif head-trans-r.gif help.gif help_white.gif \ arrowleft.png \
hidden.gif home-dir.gif hourglas.gif \ arrowright.png \
live.gif live_popup.gif lock.gif \ arrowup.gif \
new.gif ok.gif properties.gif \ arrowup.png \
record.gif reload.gif rename.gif \ audiobar.gif \
blank.gif \
body-trans-l.gif \
body-trans-r.gif \
check_green.gif \
chmod.gif \
comment.gif \
comment.png \
cross.png \
delete.gif \
download.gif \
elist.gif \
epg.png \
excl_yellow.gif \
exlink.gif \
ext_add.png \
ext_delete.png \
ext_edit.png \
ext_error.png \
ext_ex.png \
ext_menu.png \
ext_mgr.png \
ext_normal.png \
ext_plugin.png \
ext_script.png \
fb.png \
flash.png \
ftype_file.gif \
ftype_folder.gif \
ftype_link.gif \
fullscreen.png \
head-blue-l.gif \
head-blue-r.gif \
head-orange-l.gif \
head-orange-r.gif \
head-trans-l.gif \
head-trans-r.gif \
help.gif \
help_white.gif \
hidden.gif \
hidden.png \
home-dir.gif \
hourglas.gif \
info.png \
inlink.gif \
live.gif \
livelock.png \
live.png \
live_popup.gif \
live_popup.png \
liveunlock.png \
lock.gif \
lock.png \
modify.png \
new.gif \
new.png \
ok.gif \
pause.png \
play.png \
popup.png \
properties.gif \
properties.png \
radio.png \
rcd.jpg \
rc.gif \
rc.jpg \
rc_sagem.jpg \
record.gif \
record.png \
reload.gif \
remotescreen.gif \
remove.png \
rename.gif \
saveall.png \
save.png \
smallwait.gif \ smallwait.gif \
timer.gif tux.gif \ snapshot.png \
unlock.gif upload.gif \ stop.png \
visible.gif vlc.gif \ streaminfo.png \
wait.gif x_red.gif \ time_add.png \
epg.png fullscreen.png \ time_down.png \
livelock.png live.png live_popup.png liveunlock.png \ timer.gif \
modify.png pause.png play.png remove.png \ time_up.png \
snapshot.png stop.png streaminfo.png \
transcode.png \ transcode.png \
volumedown.png volumemute.png volumeunmute.png volumeup.png \ tux.gif \
y.png rcd.jpg tux-yweb.gif \
udp_switch_off.png \
udp_switch_on.png \
unlock.gif \
unlock.png \
upload.gif \
visible.gif \
visible.png \
vlc.gif \
volumedown.png \
volumemute.png \
volumeunmute.png \
volumeup.png \
wait.gif \
wget.gif \
x_red.gif \
yjogol.gif \
y.png \
zap.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Some files were not shown because too many files have changed in this diff Show More