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
Origin commit data
------------------
Commit: 32c7517141
Author: yjogol <yjogol2@online.de>
Date: 2010-02-24 (Wed, 24 Feb 2010)
@@ -82,7 +82,9 @@ src/nhttpd/Makefile
|
||||
src/nhttpd/web/Makefile
|
||||
src/nhttpd/web/images/Makefile
|
||||
src/nhttpd/web/scripts/Makefile
|
||||
src/nhttpd/web/languages/Makefile
|
||||
src/nhttpd/tuxboxapi/Makefile
|
||||
src/nhttpd/tuxboxapi/coolstream/Makefile
|
||||
src/nhttpd/yhttpd_core/Makefile
|
||||
src/nhttpd/yhttpd_mods/Makefile
|
||||
src/Makefile
|
||||
|
@@ -39,7 +39,7 @@ neutrino_LDADD = \
|
||||
timerd/libtimerd.a \
|
||||
zapit/src/libzapit.a \
|
||||
nhttpd/libnhttpd.a \
|
||||
nhttpd/tuxboxapi/libnhttpd_tuxboxapi.a \
|
||||
nhttpd/tuxboxapi/coolstream/libnhttpd_tuxboxapi.a \
|
||||
nhttpd/yhttpd_mods/libyhttpdmods.a \
|
||||
nhttpd/yhttpd_core/libyhttpd.a \
|
||||
$(top_builddir)/lib/sectionsdclient/libsectionsdclient.a \
|
||||
|
@@ -9,6 +9,7 @@ INCLUDES = \
|
||||
-I$(top_srcdir)/src/nhttpd/yhttpd_core \
|
||||
-I$(top_srcdir)/src/nhttpd/yhttpd_mods \
|
||||
-I$(top_srcdir)/src/nhttpd/tuxboxapi \
|
||||
-I$(top_srcdir)/src/nhttpd/tuxboxapi/coolstream \
|
||||
-I$(top_srcdir)/lib/libeventserver \
|
||||
-I$(top_srcdir)/lib/libconfigfile \
|
||||
-I$(top_srcdir)/lib/connection \
|
||||
|
@@ -2,7 +2,7 @@ ExtrasDocRoot=web
|
||||
ExtrasDocURL=
|
||||
Tuxbox.HostedDocumentRoot=
|
||||
WebsiteMain.directory=/share/tuxbox/neutrino/httpd
|
||||
WebsiteMain.override_directory=/var/tmp/httpd
|
||||
WebsiteMain.override_directory=/var/httpd
|
||||
WebsiteMain.port=80
|
||||
WebsiteMain.special_locations=/hosted/=/mnt/hosted
|
||||
Zapit_XML_Path=/var/tuxbox/config/zapit
|
||||
|
@@ -1,20 +1,2 @@
|
||||
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
|
||||
SUBDIRS = coolstream
|
||||
|
||||
|
20
src/nhttpd/tuxboxapi/dbox/Makefile.am
Normal 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
|
||||
|
@@ -29,18 +29,7 @@
|
||||
#include "controlapi.h"
|
||||
#include "lcdapi.h"
|
||||
|
||||
bool sectionsd_getEPGidShort(event_id_t epgID, CShortEPGData * epgdata);
|
||||
bool sectionsd_getEPGid(const event_id_t epgID, const time_t startzeit, CEPGData * epgdata);
|
||||
void sectionsd_getEventsServiceKey(t_channel_id serviceUniqueKey, CChannelEventList &eList, char search = 0, std::string search_text = "");
|
||||
void sectionsd_getCurrentNextServiceKey(t_channel_id uniqueServiceKey, CSectionsdClient::responseGetCurrentNextInfoChannelID& current_next );
|
||||
bool sectionsd_getLinkageDescriptorsUniqueKey(const event_id_t uniqueKey, CSectionsdClient::LinkageDescriptorList& descriptors);
|
||||
bool sectionsd_getComponentTagsUniqueKey(const event_id_t uniqueKey, CSectionsdClient::ComponentTagList& tags);
|
||||
extern tallchans allchans;
|
||||
extern CBouquetManager *g_bouquetManager;
|
||||
extern t_channel_id live_channel_id;
|
||||
|
||||
//#define EVENTDEV "/dev/input/event0"
|
||||
#define EVENTDEV "/dev/input/input0"
|
||||
#define EVENTDEV "/dev/input/event0"
|
||||
//-----------------------------------------------------------------------------
|
||||
enum { // not defined in input.h but used like that, at least in 2.4.22
|
||||
KEY_RELEASED = 0,
|
||||
@@ -79,6 +68,19 @@ void CControlAPI::init(CyhookHandler *hh)
|
||||
// Hooks!
|
||||
//=============================================================================
|
||||
//-----------------------------------------------------------------------------
|
||||
THandleStatus CControlAPI::Hook_PrepareResponse(CyhookHandler *hh)
|
||||
{
|
||||
init(hh);
|
||||
|
||||
if(hh->UrlData["path"] == "/control/"
|
||||
|| hh->UrlData["path"] == "/cgi-bin/"
|
||||
|| hh->UrlData["path"] == "/fb/"
|
||||
)
|
||||
return HANDLED_READY;
|
||||
else
|
||||
return HANDLED_NONE;
|
||||
}
|
||||
//-----------------------------------------------------------------------------
|
||||
// HOOK: response_hook Handler
|
||||
// This is the main dispatcher for this module
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -143,11 +145,10 @@ const CControlAPI::TyCgiCall CControlAPI::yCgiCallList[]=
|
||||
{"standby", &CControlAPI::StandbyCGI, "text/plain"},
|
||||
{"shutdown", &CControlAPI::ShutdownCGI, "text/plain"},
|
||||
{"reboot", &CControlAPI::RebootCGI, "text/plain"},
|
||||
{"esound", &CControlAPI::EsoundCGI, "text/plain"},
|
||||
{"getdate", &CControlAPI::GetDateCGI, "text/plain"},
|
||||
{"gettime", &CControlAPI::GetTimeCGI, "text/plain"},
|
||||
#if 0
|
||||
{"settings", &CControlAPI::SettingsCGI, "text/plain"},
|
||||
#endif
|
||||
{"info", &CControlAPI::InfoCGI, "text/plain"},
|
||||
{"version", &CControlAPI::VersionCGI, ""},
|
||||
// boxcontrol - devices
|
||||
@@ -162,9 +163,7 @@ const CControlAPI::TyCgiCall CControlAPI::yCgiCallList[]=
|
||||
{"exec", &CControlAPI::ExecCGI, "+xml"},
|
||||
{"yweb", &CControlAPI::YWebCGI, "text/plain"},
|
||||
// video handling
|
||||
#if 0
|
||||
{"aspectratio", &CControlAPI::AspectRatioCGI, "text/plain"},
|
||||
#endif
|
||||
{"videoformat", &CControlAPI::VideoFormatCGI, "text/plain"},
|
||||
{"videooutput", &CControlAPI::VideoOutputCGI, "text/plain"},
|
||||
{"vcroutput", &CControlAPI::VCROutputCGI, "text/plain"},
|
||||
@@ -383,45 +382,28 @@ void CControlAPI::SystemCGI(CyhookHandler *hh)
|
||||
{
|
||||
|
||||
if (hh->ParamList["1"] == "getAViAExtIec") {
|
||||
#if HAVE_DBOX2
|
||||
hh->printf("%d\n", NeutrinoAPI->Zapit->IecState());
|
||||
#else
|
||||
hh->printf("%d\n", 1);
|
||||
#endif
|
||||
|
||||
}
|
||||
else if (hh->ParamList["setAViAExtIec"] == "on")
|
||||
{
|
||||
#if HAVE_DBOX2
|
||||
NeutrinoAPI->Zapit->IecOn();
|
||||
#endif
|
||||
hh->SendOk();
|
||||
}
|
||||
else if (hh->ParamList["setAViAExtIec"] == "off")
|
||||
{
|
||||
#if HAVE_DBOX2
|
||||
NeutrinoAPI->Zapit->IecOff();
|
||||
#endif
|
||||
hh->SendOk();
|
||||
}
|
||||
else if (hh->ParamList["1"] == "getAViAExtPlayBack")
|
||||
#if HAVE_DBOX2
|
||||
hh->printf("%d\n", NeutrinoAPI->Zapit->PlaybackState());
|
||||
#else
|
||||
hh->printf("%d\n", 1);
|
||||
#endif
|
||||
else if (hh->ParamList["setAViAExtPlayBack"] == "pes")
|
||||
{
|
||||
#if HAVE_DBOX2
|
||||
NeutrinoAPI->Zapit->PlaybackPES();
|
||||
#endif
|
||||
hh->SendOk();
|
||||
}
|
||||
else if (hh->ParamList["setAViAExtPlayBack"] == "spts")
|
||||
{
|
||||
#if HAVE_DBOX2
|
||||
NeutrinoAPI->Zapit->PlaybackSPTS();
|
||||
#endif
|
||||
hh->SendOk();
|
||||
}
|
||||
else
|
||||
@@ -450,11 +432,9 @@ void CControlAPI::StandbyCGI(CyhookHandler *hh)
|
||||
hh->SendError();
|
||||
}
|
||||
else
|
||||
#if HAVE_DBOX2 // FIXME: not implemented
|
||||
if(NeutrinoAPI->Controld->getVideoPowerDown())
|
||||
hh->WriteLn("on");
|
||||
else
|
||||
#endif
|
||||
hh->WriteLn("off");
|
||||
}
|
||||
|
||||
@@ -473,6 +453,25 @@ void CControlAPI::RCCGI(CyhookHandler *hh)
|
||||
hh->SendOk();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::EsoundCGI(CyhookHandler *hh)
|
||||
{
|
||||
if (!(hh->ParamList.empty()))
|
||||
{
|
||||
if (hh->ParamList["1"] == "on") // esound on
|
||||
{
|
||||
NeutrinoAPI->EventServer->sendEvent(NeutrinoMessages::ESOUND_ON, CEventServer::INITID_HTTPD);
|
||||
}
|
||||
else if (hh->ParamList["1"] == "off") // esound off
|
||||
{
|
||||
NeutrinoAPI->EventServer->sendEvent(NeutrinoMessages::ESOUND_OFF, CEventServer::INITID_HTTPD);
|
||||
}
|
||||
else
|
||||
hh->SendError();
|
||||
}
|
||||
hh->SendOk();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Get actual Date
|
||||
// security: strftime has buffer-overflow limit. ok!
|
||||
@@ -483,9 +482,9 @@ void CControlAPI::GetDateCGI(CyhookHandler *hh)
|
||||
{
|
||||
//paramlos
|
||||
char *timestr = new char[50];
|
||||
struct timeb tm;
|
||||
ftime(&tm);
|
||||
strftime(timestr, 20, "%d.%m.%Y\n", localtime(&tm.time) );
|
||||
struct timeval tm;
|
||||
gettimeofday(&tm, NULL);
|
||||
strftime(timestr, 20, "%d.%m.%Y\n", localtime(&tm.tv_sec) );
|
||||
hh->Write(timestr);
|
||||
delete[] timestr;
|
||||
}
|
||||
@@ -515,14 +514,12 @@ void CControlAPI::GetTimeCGI(CyhookHandler *hh)
|
||||
else
|
||||
hh->SendError();
|
||||
}
|
||||
#if 0
|
||||
//-----------------------------------------------------------------------------
|
||||
// send settings
|
||||
void CControlAPI::SettingsCGI(CyhookHandler *hh)
|
||||
{
|
||||
SendSettings(hh);
|
||||
}
|
||||
#endif
|
||||
//-----------------------------------------------------------------------------
|
||||
// send services.xml
|
||||
void CControlAPI::GetServicesxmlCGI(CyhookHandler *hh)
|
||||
@@ -586,10 +583,8 @@ void CControlAPI::InfoCGI(CyhookHandler *hh)
|
||||
{
|
||||
if (hh->ParamList["1"] == "streaminfo") // print streaminfo
|
||||
SendStreamInfo(hh);
|
||||
#if 0
|
||||
else if (hh->ParamList["1"] == "settings") // print settings
|
||||
SendSettings(hh);
|
||||
#endif
|
||||
else if (hh->ParamList["1"] == "version") // send version file
|
||||
hh->SendFile("/.version");
|
||||
else if (hh->ParamList["1"] == "httpdversion") // print httpd version typ (only ffor comptibility)
|
||||
@@ -654,8 +649,7 @@ struct key {
|
||||
#endif
|
||||
|
||||
static const struct key keynames[] = {
|
||||
{"KEY_POWER", KEY_POWER},
|
||||
{"KEY_MUTE", KEY_MUTE},
|
||||
{"KEY_0", KEY_0},
|
||||
{"KEY_1", KEY_1},
|
||||
{"KEY_2", KEY_2},
|
||||
{"KEY_3", KEY_3},
|
||||
@@ -665,41 +659,120 @@ static const struct key keynames[] = {
|
||||
{"KEY_7", KEY_7},
|
||||
{"KEY_8", KEY_8},
|
||||
{"KEY_9", KEY_9},
|
||||
{"KEY_0", KEY_0},
|
||||
{"KEY_INFO", KEY_INFO},
|
||||
{"KEY_MODE", KEY_MODE},
|
||||
{"KEY_SETUP", KEY_MENU},
|
||||
{"KEY_EPG", KEY_EPG},
|
||||
{"KEY_FAVORITES", KEY_FAVORITES},
|
||||
{"KEY_HOME", KEY_EXIT},
|
||||
{"KEY_BACKSPACE", KEY_BACKSPACE},
|
||||
{"KEY_HOME", KEY_HOME},
|
||||
{"KEY_UP", KEY_UP},
|
||||
{"KEY_PAGEUP", KEY_PAGEUP},
|
||||
{"KEY_LEFT", KEY_LEFT},
|
||||
{"KEY_OK", KEY_OK},
|
||||
{"KEY_RIGHT", KEY_RIGHT},
|
||||
{"KEY_DOWN", KEY_DOWN},
|
||||
{"KEY_VOLUMEUP", KEY_VOLUMEUP},
|
||||
{"KEY_VOLUMEDOWN", KEY_VOLUMEDOWN},
|
||||
{"KEY_PAGEUP", KEY_PAGEUP},
|
||||
{"KEY_PAGEDOWN", KEY_PAGEDOWN},
|
||||
{"KEY_TV", KEY_TV},
|
||||
{"KEY_TEXT", KEY_TEXT},
|
||||
{"KEY_RADIO", KEY_RADIO},
|
||||
{"KEY_MUTE", KEY_MUTE},
|
||||
{"KEY_VOLUMEDOWN", KEY_VOLUMEDOWN},
|
||||
{"KEY_VOLUMEUP", KEY_VOLUMEUP},
|
||||
{"KEY_POWER", KEY_POWER},
|
||||
{"KEY_HELP", KEY_HELP},
|
||||
{"KEY_SETUP", KEY_SETUP},
|
||||
{"KEY_OK", KEY_OK},
|
||||
{"KEY_RED", KEY_RED},
|
||||
{"KEY_GREEN", KEY_GREEN},
|
||||
{"KEY_YELLOW", KEY_YELLOW},
|
||||
{"KEY_BLUE", KEY_BLUE},
|
||||
{"KEY_SAT", KEY_SAT},
|
||||
{"KEY_HELP", KEY_HELP},
|
||||
{"KEY_NEXT", KEY_NEXT},
|
||||
{"KEY_PREVIOUS", KEY_PREVIOUS},
|
||||
{"KEY_TIME", KEY_TIME},
|
||||
{"KEY_AUDIO", KEY_AUDIO},
|
||||
{"KEY_REWIND", KEY_REWIND},
|
||||
{"KEY_FORWARD", KEY_FORWARD},
|
||||
{"KEY_TOPLEFT", KEY_TOPLEFT},
|
||||
{"KEY_TOPRIGHT", KEY_TOPRIGHT},
|
||||
{"KEY_BOTTOMLEFT", KEY_BOTTOMLEFT},
|
||||
{"KEY_BOTTOMRIGHT", KEY_BOTTOMRIGHT},
|
||||
|
||||
//////////////// Keys on the IR Keyboard
|
||||
{"KEY_ESC", KEY_ESC},
|
||||
|
||||
{"KEY_MINUS", KEY_MINUS},
|
||||
{"KEY_EQUAL", KEY_EQUAL},
|
||||
{"KEY_TAB", KEY_TAB},
|
||||
{"KEY_Q", KEY_Q},
|
||||
{"KEY_W", KEY_W},
|
||||
{"KEY_E", KEY_E},
|
||||
{"KEY_R", KEY_R},
|
||||
{"KEY_T", KEY_T},
|
||||
{"KEY_Y", KEY_Y},
|
||||
{"KEY_U", KEY_U},
|
||||
{"KEY_I", KEY_I},
|
||||
{"KEY_O", KEY_O},
|
||||
{"KEY_P", KEY_P},
|
||||
{"KEY_LEFTBRACE", KEY_LEFTBRACE},
|
||||
{"KEY_RIGHTBRACE", KEY_RIGHTBRACE},
|
||||
{"KEY_ENTER", KEY_ENTER},
|
||||
{"KEY_LEFTCTRL", KEY_LEFTCTRL},
|
||||
{"KEY_A", KEY_A},
|
||||
{"KEY_S", KEY_S},
|
||||
{"KEY_D", KEY_D},
|
||||
{"KEY_F", KEY_F},
|
||||
{"KEY_G", KEY_G},
|
||||
{"KEY_H", KEY_H},
|
||||
{"KEY_J", KEY_J},
|
||||
{"KEY_K", KEY_K},
|
||||
{"KEY_L", KEY_L},
|
||||
{"KEY_SEMICOLON", KEY_SEMICOLON},
|
||||
{"KEY_APOSTROPHE", KEY_APOSTROPHE},
|
||||
{"KEY_GRAVE", KEY_GRAVE},
|
||||
{"KEY_LEFTSHIFT", KEY_LEFTSHIFT},
|
||||
{"KEY_BACKSLASH", KEY_BACKSLASH},
|
||||
{"KEY_Z", KEY_Z},
|
||||
{"KEY_X", KEY_X},
|
||||
{"KEY_C", KEY_C},
|
||||
{"KEY_V", KEY_V},
|
||||
{"KEY_B", KEY_B},
|
||||
{"KEY_N", KEY_N},
|
||||
{"KEY_M", KEY_M},
|
||||
{"KEY_COMMA", KEY_COMMA},
|
||||
{"KEY_DOT", KEY_DOT},
|
||||
{"KEY_SLASH", KEY_SLASH},
|
||||
{"KEY_RIGHTSHIFT", KEY_RIGHTSHIFT},
|
||||
{"KEY_KPASTERISK", KEY_KPASTERISK},
|
||||
{"KEY_LEFTALT", KEY_LEFTALT},
|
||||
{"KEY_SPACE", KEY_SPACE},
|
||||
{"KEY_CAPSLOCK", KEY_CAPSLOCK},
|
||||
{"KEY_F1", KEY_F1},
|
||||
{"KEY_F2", KEY_F2},
|
||||
{"KEY_F3", KEY_F3},
|
||||
{"KEY_F4", KEY_F4},
|
||||
{"KEY_F5", KEY_F5},
|
||||
{"KEY_F6", KEY_F6},
|
||||
{"KEY_F7", KEY_F7},
|
||||
{"KEY_F8", KEY_F8},
|
||||
{"KEY_F9", KEY_F9},
|
||||
{"KEY_F10", KEY_F10},
|
||||
{"KEY_NUMLOCK", KEY_NUMLOCK},
|
||||
{"KEY_SCROLLLOCK", KEY_SCROLLLOCK},
|
||||
{"KEY_KP7", KEY_KP7},
|
||||
{"KEY_KP8", KEY_KP8},
|
||||
{"KEY_KP9", KEY_KP9},
|
||||
{"KEY_KPMINUS", KEY_KPMINUS},
|
||||
{"KEY_KP4", KEY_KP4},
|
||||
{"KEY_KP5", KEY_KP5},
|
||||
{"KEY_KP6", KEY_KP6},
|
||||
{"KEY_KPPLUS", KEY_KPPLUS},
|
||||
{"KEY_KP1", KEY_KP1},
|
||||
{"KEY_KP2", KEY_KP2},
|
||||
{"KEY_KP3", KEY_KP3},
|
||||
{"KEY_KP0", KEY_KP0},
|
||||
{"KEY_KPDOT", KEY_KPDOT},
|
||||
{"KEY_102ND", KEY_102ND},
|
||||
{"KEY_KPENTER", KEY_KPENTER},
|
||||
{"KEY_KPSLASH", KEY_KPSLASH},
|
||||
{"KEY_SYSRQ", KEY_SYSRQ},
|
||||
{"KEY_RIGHTALT", KEY_RIGHTALT},
|
||||
{"KEY_END", KEY_END},
|
||||
{"KEY_INSERT", KEY_INSERT},
|
||||
{"KEY_DELETE", KEY_DELETE},
|
||||
|
||||
{"KEY_PAUSE", KEY_PAUSE},
|
||||
{"KEY_RECORD", KEY_RECORD},
|
||||
{"KEY_STOP", KEY_STOP},
|
||||
{"KEY_PLAY", KEY_PLAY}
|
||||
|
||||
{"KEY_LEFTMETA", KEY_LEFTMETA},
|
||||
{"KEY_RIGHTMETA", KEY_RIGHTMETA},
|
||||
|
||||
{"BTN_LEFT", BTN_LEFT},
|
||||
{"BTN_RIGHT", BTN_RIGHT}
|
||||
};
|
||||
|
||||
// The code here is based on rcsim. Thx Carjay!
|
||||
@@ -742,7 +815,6 @@ void CControlAPI::RCEmCGI(CyhookHandler *hh)
|
||||
close(evd);
|
||||
return;
|
||||
}
|
||||
#if HAVE_DBOX2
|
||||
for (unsigned int i = 0; i < repeat - 1; i++) {
|
||||
usleep(delay*1000);
|
||||
if (rc_send(evd, sendcode, KEY_AUTOREPEAT) < 0){
|
||||
@@ -752,7 +824,6 @@ void CControlAPI::RCEmCGI(CyhookHandler *hh)
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (rc_send(evd, sendcode, KEY_RELEASED)<0){
|
||||
perror("writing 'KEY_RELEASED' event failed");
|
||||
close(evd);
|
||||
@@ -762,19 +833,14 @@ void CControlAPI::RCEmCGI(CyhookHandler *hh)
|
||||
close(evd);
|
||||
hh->SendOk();
|
||||
}
|
||||
#if 0
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::AspectRatioCGI(CyhookHandler *hh)
|
||||
{
|
||||
#if HAVE_DBOX2 // FIXME: not implemented
|
||||
hh->printf("%s", NeutrinoAPI->Controld->getAspectRatio() == '\0' ? "4:3" : "16:9");
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::VideoFormatCGI(CyhookHandler *hh)
|
||||
{
|
||||
#if HAVE_DBOX2 // FIXME: not implemented
|
||||
if (hh->ParamList.empty() || hh->ParamList["1"] == "status") {
|
||||
hh->WriteLn(NeutrinoAPI->videoformat_names[(unsigned int)NeutrinoAPI->Controld->getVideoFormat()]);
|
||||
return;
|
||||
@@ -797,14 +863,12 @@ void CControlAPI::VideoFormatCGI(CyhookHandler *hh)
|
||||
} else {
|
||||
hh->SendError();
|
||||
}
|
||||
#endif
|
||||
hh->SendOk();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::VideoOutputCGI(CyhookHandler *hh)
|
||||
{
|
||||
#if HAVE_DBOX2 // FIXME: not implemented
|
||||
unsigned int videooutput=0;
|
||||
if (hh->ParamList.empty() || hh->ParamList["1"] == "status") {
|
||||
hh->WriteLn(NeutrinoAPI->videooutput_names[(unsigned int) NeutrinoAPI->Controld->getVideoOutput()]);
|
||||
@@ -821,17 +885,16 @@ void CControlAPI::VideoOutputCGI(CyhookHandler *hh)
|
||||
videooutput = CControldClient::VIDEOOUTPUT_YUV_CVBS;
|
||||
else {
|
||||
hh->SendError();
|
||||
return;
|
||||
}
|
||||
|
||||
NeutrinoAPI->Controld->setVideoOutput(videooutput);
|
||||
#endif
|
||||
hh->SendOk();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::VCROutputCGI(CyhookHandler *hh)
|
||||
{
|
||||
#if HAVE_DBOX2 // FIXME: not implemented
|
||||
unsigned int vcroutput;
|
||||
if (hh->ParamList.empty() || hh->ParamList["1"] == "status") {
|
||||
hh->WriteLn(NeutrinoAPI->videooutput_names[(unsigned char)NeutrinoAPI->Controld->getVCROutput()]);
|
||||
@@ -854,7 +917,6 @@ void CControlAPI::VCROutputCGI(CyhookHandler *hh)
|
||||
return;
|
||||
}
|
||||
NeutrinoAPI->Controld->setVCROutput(vcroutput);
|
||||
#endif
|
||||
hh->SendOk();
|
||||
|
||||
return;
|
||||
@@ -863,7 +925,6 @@ void CControlAPI::VCROutputCGI(CyhookHandler *hh)
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::ScartModeCGI(CyhookHandler *hh)
|
||||
{
|
||||
#if HAVE_DBOX2 // FIXME: not implemented
|
||||
bool new_status;
|
||||
if (hh->ParamList.empty() || hh->ParamList["1"] == "status") {
|
||||
hh->printf(NeutrinoAPI->Controld->getScartMode() ? "on" : "off");
|
||||
@@ -877,40 +938,33 @@ void CControlAPI::ScartModeCGI(CyhookHandler *hh)
|
||||
return;
|
||||
}
|
||||
NeutrinoAPI->Controld->setScartMode(new_status);
|
||||
#endif
|
||||
hh->SendOk();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
void CControlAPI::VolumeCGI(CyhookHandler *hh)
|
||||
{
|
||||
if (hh->ParamList.empty()) { //without param: show actual volumen
|
||||
unsigned int volume;
|
||||
NeutrinoAPI->Zapit->getVolume(&volume, &volume);
|
||||
hh->printf("%d", volume);
|
||||
//hh->printf("%d", NeutrinoAPI->Controld->getVolume());
|
||||
if (hh->ParamList.empty()) {//without param: show actual volumen
|
||||
hh->printf("%d", NeutrinoAPI->Controld->getVolume());
|
||||
}
|
||||
|
||||
else if (hh->ParamList["1"].compare("mute") == 0)
|
||||
{
|
||||
NeutrinoAPI->Zapit->muteAudio(true);
|
||||
NeutrinoAPI->Controld->setMute(true);
|
||||
hh->SendOk();
|
||||
}
|
||||
else if (hh->ParamList["1"].compare("unmute") == 0)
|
||||
{
|
||||
NeutrinoAPI->Zapit->muteAudio(false);
|
||||
NeutrinoAPI->Controld->setMute(false);
|
||||
hh->SendOk();
|
||||
}
|
||||
/* else if (hh->ParamList["1"].compare("status") == 0)//FIXME
|
||||
else if (hh->ParamList["1"].compare("status") == 0)
|
||||
{
|
||||
|
||||
hh->Write((char *) (NeutrinoAPI->Controld->getMute() ? "1" : "0")); // mute
|
||||
}
|
||||
*/
|
||||
else if(hh->ParamList["1"]!="")
|
||||
{ //set volume
|
||||
char vol = atol( hh->ParamList["1"].c_str() );
|
||||
NeutrinoAPI->Zapit->setVolume(vol,vol);
|
||||
NeutrinoAPI->Controld->setVolume(vol);
|
||||
hh->SendOk();
|
||||
}
|
||||
else
|
||||
@@ -926,9 +980,6 @@ void CControlAPI::ChannellistCGI(CyhookHandler *hh)
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::GetBouquetCGI(CyhookHandler *hh)
|
||||
{
|
||||
//CZapitClient::BouquetChannelList *bouquet;
|
||||
CZapitClient::BouquetList blist;
|
||||
|
||||
if (!(hh->ParamList.empty()))
|
||||
{
|
||||
int mode = CZapitClient::MODE_CURRENT;
|
||||
@@ -945,10 +996,18 @@ void CControlAPI::GetBouquetCGI(CyhookHandler *hh)
|
||||
if (hh->ParamList["1"] == "actual")
|
||||
{
|
||||
int actual=0;
|
||||
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) {
|
||||
if(g_bouquetManager->existsChannelInBouquet(i, live_channel_id)) {
|
||||
CZapitClient::BouquetChannelList *bouquet;
|
||||
CZapitClient::BouquetList blist;
|
||||
//easier?
|
||||
for (unsigned int i = 0; i < NeutrinoAPI->BouquetList.size() && actual == 0;i++)
|
||||
{
|
||||
//hh->printf("%u %s\n", (NeutrinoAPI->BouquetList[i].bouquet_nr) + 1, NeutrinoAPI->BouquetList[i].name);
|
||||
bouquet = NeutrinoAPI->GetBouquet((NeutrinoAPI->BouquetList[i].bouquet_nr) + 1, mode);
|
||||
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;
|
||||
break;
|
||||
}
|
||||
}
|
||||
hh->printf("%d",actual);
|
||||
@@ -958,41 +1017,32 @@ void CControlAPI::GetBouquetCGI(CyhookHandler *hh)
|
||||
hh->WriteLn("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
||||
hh->WriteLn("<bouquetlist>");
|
||||
hh->printf("<bouquet>\n\t<bnumber>%s</bnumber>\n</bouquet>\n",hh->ParamList["bouquet"].c_str());
|
||||
CZapitClient::BouquetChannelList *bouquet;
|
||||
bouquet = NeutrinoAPI->GetBouquet(atoi(hh->ParamList["bouquet"].c_str()), mode);
|
||||
CZapitClient::BouquetChannelList::iterator channel = bouquet->begin();
|
||||
|
||||
ZapitChannelList channels;
|
||||
int BouquetNr = atoi(hh->ParamList["bouquet"].c_str());
|
||||
if(BouquetNr > 0)
|
||||
BouquetNr--;
|
||||
channels = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->Bouquets[BouquetNr]->radioChannels : g_bouquetManager->Bouquets[BouquetNr]->tvChannels;
|
||||
int num = 1 + (mode == CZapitClient::MODE_RADIO ? g_bouquetManager->radioChannelsBegin().getNrofFirstChannelofBouquet(BouquetNr) : g_bouquetManager->tvChannelsBegin().getNrofFirstChannelofBouquet(BouquetNr)) ;
|
||||
for(int j = 0; j < (int) channels.size(); j++) {
|
||||
CZapitChannel * channel = channels[j];
|
||||
for (unsigned int i = 0; channel != bouquet->end(); channel++,i++)
|
||||
hh->printf("<channel>\n\t<number>%u</number>\n\t<id>"
|
||||
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
"</id>\n\t<name><![CDATA[%s]]></name>\n</channel>\n",
|
||||
num + j,
|
||||
channel->nr,
|
||||
channel->channel_id,
|
||||
channel->getName().c_str());
|
||||
}
|
||||
channel->name);
|
||||
hh->WriteLn("</bouquetlist>");
|
||||
}
|
||||
else
|
||||
{
|
||||
ZapitChannelList channels;
|
||||
int BouquetNr = atoi(hh->ParamList["bouquet"].c_str());
|
||||
if(BouquetNr > 0)
|
||||
BouquetNr--;
|
||||
channels = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->Bouquets[BouquetNr]->radioChannels : g_bouquetManager->Bouquets[BouquetNr]->tvChannels;
|
||||
int num = 1 + (mode == CZapitClient::MODE_RADIO ? g_bouquetManager->radioChannelsBegin().getNrofFirstChannelofBouquet(BouquetNr) : g_bouquetManager->tvChannelsBegin().getNrofFirstChannelofBouquet(BouquetNr)) ;
|
||||
for(int j = 0; j < (int) channels.size(); j++) {
|
||||
CZapitChannel * channel = channels[j];
|
||||
CZapitClient::BouquetChannelList *bouquet;
|
||||
bouquet = NeutrinoAPI->GetBouquet(atoi(hh->ParamList["bouquet"].c_str()), mode);
|
||||
CZapitClient::BouquetChannelList::iterator channel = bouquet->begin();
|
||||
|
||||
for (unsigned int i = 0; channel != bouquet->end(); channel++,i++)
|
||||
hh->printf("%u "
|
||||
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
" %s\n",
|
||||
num + j,
|
||||
channel->nr,
|
||||
channel->channel_id,
|
||||
channel->getName().c_str());
|
||||
}
|
||||
channel->name);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1009,19 +1059,18 @@ void CControlAPI::GetBouquetsCGI(CyhookHandler *hh)
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::EpgCGI(CyhookHandler *hh)
|
||||
{
|
||||
//hh->SetHeader(HTTP_OK, "text/plain; charset=UTF-8");
|
||||
if (hh->ParamList.empty())
|
||||
{
|
||||
hh->SetHeader(HTTP_OK, "text/plain; charset=UTF-8");
|
||||
CChannelEvent *event;
|
||||
NeutrinoAPI->GetChannelEvents();
|
||||
|
||||
int mode = NeutrinoAPI->Zapit->getMode();
|
||||
CBouquetManager::ChannelIterator cit = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->radioChannelsBegin() : g_bouquetManager->tvChannelsBegin();
|
||||
for (; !(cit.EndOfChannels()); cit++) {
|
||||
CZapitChannel * channel = *cit;
|
||||
if (hh->ParamList.empty())
|
||||
{
|
||||
hh->SetHeader(HTTP_OK, "text/plain");
|
||||
CZapitClient::BouquetChannelList *channellist = NeutrinoAPI->GetChannelList(CZapitClient::MODE_CURRENT);
|
||||
CZapitClient::BouquetChannelList::iterator channel = channellist->begin();
|
||||
for(; channel != channellist->end();channel++)
|
||||
{
|
||||
event = NeutrinoAPI->ChannelListEvents[channel->channel_id];
|
||||
if(event)
|
||||
if (event)
|
||||
hh->printf(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
" %llu %s\n",
|
||||
channel->channel_id,
|
||||
@@ -1031,15 +1080,13 @@ void CControlAPI::EpgCGI(CyhookHandler *hh)
|
||||
}
|
||||
else if (hh->ParamList["xml"].empty())
|
||||
{
|
||||
hh->SetHeader(HTTP_OK, "text/plain; charset=UTF-8");
|
||||
hh->SetHeader(HTTP_OK, "text/plain");
|
||||
if (hh->ParamList["1"] == "ext")
|
||||
{
|
||||
CChannelEvent *event;
|
||||
NeutrinoAPI->GetChannelEvents();
|
||||
int mode = NeutrinoAPI->Zapit->getMode();
|
||||
CBouquetManager::ChannelIterator cit = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->radioChannelsBegin() : g_bouquetManager->tvChannelsBegin();
|
||||
for (; !(cit.EndOfChannels()); cit++) {
|
||||
CZapitChannel * channel = *cit;
|
||||
CZapitClient::BouquetChannelList *channellist = NeutrinoAPI->GetChannelList(CZapitClient::MODE_CURRENT);
|
||||
CZapitClient::BouquetChannelList::iterator channel = channellist->begin();
|
||||
for(; channel != channellist->end();channel++)
|
||||
{
|
||||
event = NeutrinoAPI->ChannelListEvents[channel->channel_id];
|
||||
if(event)
|
||||
hh->printf(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
@@ -1054,11 +1101,10 @@ void CControlAPI::EpgCGI(CyhookHandler *hh)
|
||||
else if (hh->ParamList["eventid"] != "")
|
||||
{
|
||||
//special epg query
|
||||
uint64_t epgid;
|
||||
unsigned long long epgid;
|
||||
sscanf( hh->ParamList["eventid"].c_str(), "%llu", &epgid);
|
||||
CShortEPGData epg;
|
||||
//if (NeutrinoAPI->Sectionsd->getEPGidShort(epgid,&epg))
|
||||
if (sectionsd_getEPGidShort(epgid,&epg))
|
||||
if (NeutrinoAPI->Sectionsd->getEPGidShort(epgid,&epg))
|
||||
{
|
||||
hh->WriteLn(epg.title);
|
||||
hh->WriteLn(epg.info1);
|
||||
@@ -1069,13 +1115,12 @@ void CControlAPI::EpgCGI(CyhookHandler *hh)
|
||||
{
|
||||
if (hh->ParamList["starttime"] != "")
|
||||
{
|
||||
uint64_t epgid;
|
||||
unsigned long long epgid;
|
||||
time_t starttime;
|
||||
sscanf( hh->ParamList["fskid"].c_str(), "%llu", &epgid);
|
||||
sscanf( hh->ParamList["starttime"].c_str(), "%lu", &starttime);
|
||||
CEPGData longepg;
|
||||
//if(NeutrinoAPI->Sectionsd->getEPGid(epgid, starttime, &longepg))
|
||||
if(sectionsd_getEPGid(epgid, starttime, &longepg))
|
||||
if(NeutrinoAPI->Sectionsd->getEPGid(epgid, starttime, &longepg))
|
||||
{
|
||||
hh->printf("%u\n", longepg.fsk);
|
||||
return;
|
||||
@@ -1089,14 +1134,12 @@ void CControlAPI::EpgCGI(CyhookHandler *hh)
|
||||
sscanf(hh->ParamList["id"].c_str(),
|
||||
SCANF_CHANNEL_ID_TYPE,
|
||||
&channel_id);
|
||||
//NeutrinoAPI->eList = NeutrinoAPI->Sectionsd->getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL);
|
||||
sectionsd_getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL, NeutrinoAPI->eList);
|
||||
NeutrinoAPI->eList = NeutrinoAPI->Sectionsd->getEventsServiceKey(channel_id);
|
||||
CChannelEventList::iterator eventIterator;
|
||||
for (eventIterator = NeutrinoAPI->eList.begin(); eventIterator != NeutrinoAPI->eList.end(); eventIterator++)
|
||||
{
|
||||
CShortEPGData epg;
|
||||
//if (NeutrinoAPI->Sectionsd->getEPGidShort(eventIterator->eventID,&epg))
|
||||
if (sectionsd_getEPGidShort(eventIterator->eventID,&epg))
|
||||
if (NeutrinoAPI->Sectionsd->getEPGidShort(eventIterator->eventID,&epg))
|
||||
{
|
||||
hh->printf("%llu %ld %d\n", eventIterator->eventID, eventIterator->startTime, eventIterator->duration);
|
||||
hh->printf("%s\n",epg.title.c_str());
|
||||
@@ -1120,7 +1163,8 @@ void CControlAPI::EpgCGI(CyhookHandler *hh)
|
||||
// stoptime : show only items until stoptime reached
|
||||
else if (!(hh->ParamList["xml"].empty()))
|
||||
{
|
||||
hh->SetHeader(HTTP_OK, "text/xml; charset=UTF-8");
|
||||
hh->SetHeader(HTTP_OK, "text/xml");
|
||||
|
||||
t_channel_id channel_id = (t_channel_id)-1;
|
||||
|
||||
if (!(hh->ParamList["channelid"].empty()))
|
||||
@@ -1135,10 +1179,9 @@ void CControlAPI::EpgCGI(CyhookHandler *hh)
|
||||
}
|
||||
if(channel_id != (t_channel_id)-1)
|
||||
{
|
||||
hh->WriteLn("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
||||
hh->WriteLn("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>");
|
||||
hh->WriteLn("<epglist>");
|
||||
//NeutrinoAPI->eList = NeutrinoAPI->Sectionsd->getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL);
|
||||
sectionsd_getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL, NeutrinoAPI->eList);
|
||||
NeutrinoAPI->eList = NeutrinoAPI->Sectionsd->getEventsServiceKey(channel_id);
|
||||
hh->printf("<channel_id>"
|
||||
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
"</channel_id>\r\n", channel_id);
|
||||
@@ -1167,7 +1210,7 @@ void CControlAPI::EpgCGI(CyhookHandler *hh)
|
||||
struct tm *mtime = localtime(&eventIterator->startTime);
|
||||
strftime(zbuffer,20,"%H:%M",mtime);
|
||||
hh->printf("\t<start_t>%s</start_t>\r\n", zbuffer);
|
||||
bzero(zbuffer,25);
|
||||
memset(zbuffer, 0, 25);
|
||||
strftime(zbuffer,20,"%d.%m.%Y",mtime);
|
||||
hh->printf("\t<date>%s</date>\r\n", zbuffer);
|
||||
hh->printf("\t<stop_sec>%ld</stop_sec>\r\n", eventIterator->startTime+eventIterator->duration);
|
||||
@@ -1181,9 +1224,7 @@ void CControlAPI::EpgCGI(CyhookHandler *hh)
|
||||
if (!(hh->ParamList["details"].empty()))
|
||||
{
|
||||
CShortEPGData epg;
|
||||
|
||||
//if (NeutrinoAPI->Sectionsd->getEPGidShort(eventIterator->eventID,&epg))
|
||||
if (sectionsd_getEPGidShort(eventIterator->eventID,&epg))
|
||||
if (NeutrinoAPI->Sectionsd->getEPGidShort(eventIterator->eventID,&epg))
|
||||
{
|
||||
hh->printf("\t<info1><![CDATA[%s]]></info1>\r\n",epg.info1.c_str());
|
||||
hh->printf("\t<info2><![CDATA[%s]]></info2>\r\n",epg.info2.c_str());
|
||||
@@ -1244,16 +1285,32 @@ void CControlAPI::ZaptoCGI(CyhookHandler *hh)
|
||||
hh->SendOk();
|
||||
}
|
||||
else if (hh->ParamList["1"] == "statussectionsd")
|
||||
hh->Write((char *) (NeutrinoAPI->Sectionsd->getIsScanningActive() ? "1" : "0"));
|
||||
hh->Write((char *) (NeutrinoAPI->Sectionsd->getIsScanningActive() ? "scanning active" : "scanning paused\n"));
|
||||
else if (hh->ParamList["1"] == "restartsectionsd")
|
||||
{
|
||||
NeutrinoAPI->Sectionsd->Restart();
|
||||
hh->printf("--> restarting sectionsd...<br>");
|
||||
NeutrinoAPI->Sectionsd->RegisterNeutrino();
|
||||
hh->printf("--> registering neutrino...<br>");
|
||||
NeutrinoAPI->Sectionsd->setPauseScanning(false);
|
||||
hh->printf("--> set scanning active...<br>");
|
||||
NeutrinoAPI->Sectionsd->setServiceChanged(NeutrinoAPI->Zapit->getCurrentServiceID(), false);
|
||||
hh->printf("--> send sectionsd ServiceChanged...<br>");
|
||||
hh->printf("<hr style=\"color:black; background-color:black; height:2px; width:250px; margin-left:0; text-align:left;\">");
|
||||
hh->Write((char *) (NeutrinoAPI->Sectionsd->getIsScanningActive() ? "sectionsd restarted, scanning active!" : "sectionsd restarted, scanning paused"));
|
||||
}
|
||||
else if (hh->ParamList["1"] == "freememsectionsd")
|
||||
{
|
||||
NeutrinoAPI->Sectionsd->freeMemory();
|
||||
hh->printf("freeing memory... done!\n");
|
||||
}
|
||||
else if (hh->ParamList["1"] == "getallsubchannels")
|
||||
{
|
||||
t_channel_id current_channel = NeutrinoAPI->Zapit->getCurrentServiceID();
|
||||
CSectionsdClient::LinkageDescriptorList desc;
|
||||
CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo;
|
||||
//NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel&0xFFFFFFFFFFFFULL, currentNextInfo);
|
||||
sectionsd_getCurrentNextServiceKey(current_channel&0xFFFFFFFFFFFFULL, currentNextInfo);
|
||||
//if (NeutrinoAPI->Sectionsd->getLinkageDescriptorsUniqueKey(currentNextInfo.current_uniqueKey,desc))
|
||||
if (sectionsd_getLinkageDescriptorsUniqueKey(currentNextInfo.current_uniqueKey,desc))
|
||||
NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
|
||||
if (NeutrinoAPI->Sectionsd->getLinkageDescriptorsUniqueKey(currentNextInfo.current_uniqueKey,desc))
|
||||
{
|
||||
for(unsigned int i=0;i< desc.size();i++)
|
||||
{
|
||||
@@ -1337,28 +1394,26 @@ void CControlAPI::LCDAction(CyhookHandler *hh)
|
||||
error=1;
|
||||
}
|
||||
if (hh->ParamList["clear"] != "") {
|
||||
if(sscanf( hh->ParamList["clear"].c_str(), "%d", &tval)) {
|
||||
if(sscanf( hh->ParamList["clear"].c_str(), "%d", &tval)){
|
||||
if(tval)
|
||||
NeutrinoAPI->LcdAPI->Clear();
|
||||
} else {
|
||||
}
|
||||
else
|
||||
error=1;
|
||||
}
|
||||
}
|
||||
if (hh->ParamList["png"] != "")
|
||||
if (hh->ParamList["png"] != "") {
|
||||
if(! NeutrinoAPI->LcdAPI->ShowPng((char*)hh->ParamList["png"].c_str()))
|
||||
error=1;
|
||||
if (hh->ParamList["raw"] != "")
|
||||
{
|
||||
}
|
||||
if (hh->ParamList["raw"] != "") {
|
||||
char *sptr=strdup((char*)hh->ParamList["raw"].c_str()),*pptr;
|
||||
int loop=4;
|
||||
pptr=sptr;
|
||||
error=1;
|
||||
if(sscanf(pptr, "%d,%d,%d,%d",&x1,&y1,&x2,&y2)==4)
|
||||
{
|
||||
if(sscanf(pptr, "%d,%d,%d,%d",&x1,&y1,&x2,&y2)==4) {
|
||||
while(loop-- && ((pptr=strchr(pptr,','))!=NULL))
|
||||
++pptr;
|
||||
if(pptr)
|
||||
{
|
||||
if(pptr) {
|
||||
NeutrinoAPI->LcdAPI->ShowRaw(x1,y1,x2,y2,pptr);
|
||||
error=0;
|
||||
}
|
||||
@@ -1414,9 +1469,9 @@ void CControlAPI::LCDAction(CyhookHandler *hh)
|
||||
if(sscanf( hh->ParamList["update"].c_str(), "%d", &tval)) {
|
||||
if(tval)
|
||||
NeutrinoAPI->LcdAPI->Update();
|
||||
} else {
|
||||
error=1;
|
||||
}
|
||||
else
|
||||
error=1;
|
||||
}
|
||||
|
||||
if(error) hh->SendError();
|
||||
@@ -1429,9 +1484,7 @@ void CControlAPI::LCDAction(CyhookHandler *hh)
|
||||
void CControlAPI::SendEventList(CyhookHandler *hh, t_channel_id channel_id)
|
||||
{
|
||||
int pos;
|
||||
|
||||
//NeutrinoAPI->eList = NeutrinoAPI->Sectionsd->getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL);
|
||||
sectionsd_getEventsServiceKey(channel_id&0xFFFFFFFFFFFFULL, NeutrinoAPI->eList);
|
||||
NeutrinoAPI->eList = NeutrinoAPI->Sectionsd->getEventsServiceKey(channel_id);
|
||||
CChannelEventList::iterator eventIterator;
|
||||
|
||||
for (eventIterator = NeutrinoAPI->eList.begin(); eventIterator != NeutrinoAPI->eList.end(); eventIterator++, pos++)
|
||||
@@ -1441,16 +1494,14 @@ void CControlAPI::SendEventList(CyhookHandler *hh, t_channel_id channel_id)
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::SendChannelList(CyhookHandler *hh)
|
||||
{
|
||||
int mode = NeutrinoAPI->Zapit->getMode();
|
||||
hh->SetHeader(HTTP_OK, "text/html; charset=UTF-8");
|
||||
CBouquetManager::ChannelIterator cit = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->radioChannelsBegin() : g_bouquetManager->tvChannelsBegin();
|
||||
for (; !(cit.EndOfChannels()); cit++) {
|
||||
CZapitChannel * channel = *cit;
|
||||
CZapitClient::BouquetChannelList *channellist = NeutrinoAPI->GetChannelList(CZapitClient::MODE_CURRENT);
|
||||
CZapitClient::BouquetChannelList::iterator channel = channellist->begin();
|
||||
|
||||
for(; channel != channellist->end();channel++)
|
||||
hh->printf(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
" %s\n",
|
||||
channel->channel_id,
|
||||
channel->getName().c_str());
|
||||
}
|
||||
channel->name);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -1512,10 +1563,8 @@ void CControlAPI::SendAllCurrentVAPid(CyhookHandler *hh)
|
||||
|
||||
t_channel_id current_channel = NeutrinoAPI->Zapit->getCurrentServiceID();
|
||||
CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo;
|
||||
//NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel&0xFFFFFFFFFFFFULL, currentNextInfo);
|
||||
sectionsd_getCurrentNextServiceKey(current_channel&0xFFFFFFFFFFFFULL, currentNextInfo);
|
||||
//if (NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
|
||||
if (sectionsd_getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
|
||||
NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
|
||||
if (NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
|
||||
{
|
||||
for (unsigned int i=0; i< tags.size(); i++)
|
||||
{
|
||||
@@ -1565,11 +1614,9 @@ void CControlAPI::SendAllCurrentVAPid(CyhookHandler *hh)
|
||||
hh->printf("%05u pmt\n",pids.PIDs.pmtpid);
|
||||
|
||||
}
|
||||
#if 0
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::SendSettings(CyhookHandler *hh)
|
||||
{
|
||||
#if 0
|
||||
hh->WriteLn(
|
||||
"Boxtype " +
|
||||
NeutrinoAPI->Dbox_Hersteller[NeutrinoAPI->Controld->getBoxType()] +
|
||||
@@ -1580,9 +1627,7 @@ void CControlAPI::SendSettings(CyhookHandler *hh)
|
||||
"videoformat " +
|
||||
NeutrinoAPI->videoformat_names[(unsigned char)NeutrinoAPI->Controld->getVideoFormat()]
|
||||
);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
//-----------------------------------------------------------------------------
|
||||
void CControlAPI::SendTimers(CyhookHandler *hh)
|
||||
{
|
||||
@@ -1613,9 +1658,7 @@ void CControlAPI::SendTimers(CyhookHandler *hh)
|
||||
case CTimerd::TIMER_RECORD:
|
||||
if (!send_id)
|
||||
{
|
||||
//strncpy(zAddData, NeutrinoAPI->Zapit->getChannelName(timer->channel_id).c_str(), 22);
|
||||
strncpy(zAddData, NeutrinoAPI->GetServiceName(timer->channel_id).c_str(), 22);
|
||||
|
||||
strncpy(zAddData, NeutrinoAPI->Zapit->getChannelName(timer->channel_id).c_str(), 22);
|
||||
if (zAddData[0] == 0)
|
||||
strcpy(zAddData, NeutrinoAPI->Zapit->isChannelTVChannel(timer->channel_id) ? "Unbekannter TV-Kanal" : "Unbekannter Radiokanal");
|
||||
}
|
||||
@@ -1712,7 +1755,7 @@ void CControlAPI::YWeb_SendRadioStreamingPid(CyhookHandler *hh)
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
std::string CControlAPI::YexecuteScript(CyhookHandler */*hh*/, std::string cmd)
|
||||
std::string CControlAPI::YexecuteScript(CyhookHandler *, std::string cmd)
|
||||
{
|
||||
std::string script, para, result;
|
||||
bool found = false;
|
||||
@@ -1806,7 +1849,7 @@ void CControlAPI::doNewTimer(CyhookHandler *hh)
|
||||
// Alarm Time - Format exact! HH:MM
|
||||
if(hh->ParamList["alTime"] != "")
|
||||
sscanf(hh->ParamList["alTime"].c_str(),"%2d.%2d",&(alarmTime->tm_hour), &(alarmTime->tm_min));
|
||||
|
||||
alHour = alarmTime->tm_hour;
|
||||
correctTime(alarmTime);
|
||||
alarmTimeT = mktime(alarmTime);
|
||||
announceTimeT = alarmTimeT;
|
||||
@@ -1825,7 +1868,6 @@ void CControlAPI::doNewTimer(CyhookHandler *hh)
|
||||
}
|
||||
correctTime(stopTime);
|
||||
stopTimeT = mktime(stopTime);
|
||||
alHour = alarmTime->tm_hour;
|
||||
if(hh->ParamList["stDate"] == "" && alHour > stopTime->tm_hour)
|
||||
stopTimeT += 24* 60 * 60; // add 1 Day
|
||||
}
|
||||
@@ -1844,6 +1886,7 @@ void CControlAPI::doNewTimer(CyhookHandler *hh)
|
||||
alarmTime->tm_hour = atoi(hh->ParamList["ah"].c_str());
|
||||
if(hh->ParamList["ami"] != "")
|
||||
alarmTime->tm_min = atoi(hh->ParamList["ami"].c_str());
|
||||
alarmTime->tm_sec = 0;
|
||||
correctTime(alarmTime);
|
||||
alarmTimeT = mktime(alarmTime);
|
||||
announceTimeT = alarmTimeT;
|
||||
@@ -1860,6 +1903,7 @@ void CControlAPI::doNewTimer(CyhookHandler *hh)
|
||||
stopTime->tm_hour = atoi(hh->ParamList["sh"].c_str());
|
||||
if(hh->ParamList["smi"] != "")
|
||||
stopTime->tm_min = atoi(hh->ParamList["smi"].c_str());
|
||||
stopTime->tm_sec = 0;
|
||||
correctTime(stopTime);
|
||||
stopTimeT = mktime(stopTime);
|
||||
}
|
||||
@@ -1883,8 +1927,35 @@ void CControlAPI::doNewTimer(CyhookHandler *hh)
|
||||
rep = (CTimerd::CTimerEventRepeat) atoi(hh->ParamList["rep"].c_str());
|
||||
else // default: no repeat
|
||||
rep = (CTimerd::CTimerEventRepeat)0;
|
||||
|
||||
if(((int)rep) >= ((int)CTimerd::TIMERREPEAT_WEEKDAYS) && hh->ParamList["wd"] != "")
|
||||
NeutrinoAPI->Timerd->getWeekdaysFromStr(&rep, hh->ParamList["wd"].c_str());
|
||||
NeutrinoAPI->Timerd->getWeekdaysFromStr((int*)&rep, hh->ParamList["wd"].c_str());
|
||||
// apids
|
||||
bool changeApids=false;
|
||||
unsigned char apids=0;
|
||||
if(hh->ParamList["apcf"] == "on")
|
||||
{
|
||||
changeApids=true;
|
||||
apids=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(hh->ParamList["apst"] == "on")
|
||||
{
|
||||
changeApids=true;
|
||||
apids |= TIMERD_APIDS_STD;
|
||||
}
|
||||
if(hh->ParamList["apal"] == "on")
|
||||
{
|
||||
changeApids=true;
|
||||
apids |= TIMERD_APIDS_ALT;
|
||||
}
|
||||
if(hh->ParamList["apac"] == "on")
|
||||
{
|
||||
changeApids=true;
|
||||
apids |= TIMERD_APIDS_AC3;
|
||||
}
|
||||
}
|
||||
|
||||
CTimerd::RecordingInfo recinfo;
|
||||
CTimerd::EventInfo eventinfo;
|
||||
@@ -1901,6 +1972,7 @@ void CControlAPI::doNewTimer(CyhookHandler *hh)
|
||||
else
|
||||
eventinfo.channel_id = NeutrinoAPI->ChannelNameToChannelId(hh->ParamList["channel_name"]);
|
||||
|
||||
std::string _rec_dir = hh->ParamList["rec_dir"];
|
||||
void *data=NULL;
|
||||
if(type == CTimerd::TIMER_RECORD)
|
||||
announceTimeT-=120;
|
||||
@@ -1913,15 +1985,16 @@ void CControlAPI::doNewTimer(CyhookHandler *hh)
|
||||
data= &eventinfo;
|
||||
else if (type==CTimerd::TIMER_RECORD)
|
||||
{
|
||||
std::string _rec_dir = hh->ParamList["rec_dir"];
|
||||
if(_rec_dir == "")
|
||||
{
|
||||
// get Default Recordingdir
|
||||
CConfigFile *Config = new CConfigFile(',');
|
||||
Config->loadConfig(NEUTRINO_CONFIGFILE);
|
||||
_rec_dir = Config->getString("network_nfs_recordingdir", "/mnt/filme");
|
||||
delete Config;//Memory leak: Config
|
||||
_rec_dir = Config->getString("recording_dir_0", "/mnt/filme");
|
||||
delete Config;
|
||||
}
|
||||
if(changeApids)
|
||||
eventinfo.apids = apids;
|
||||
recinfo = eventinfo;
|
||||
strncpy(recinfo.recordingDir, _rec_dir.c_str(), RECORD_DIR_MAXLEN-1);
|
||||
data = &recinfo;
|
||||
@@ -1946,7 +2019,13 @@ void CControlAPI::doNewTimer(CyhookHandler *hh)
|
||||
if(hh->ParamList["id"] != "")
|
||||
{
|
||||
unsigned modyId = atoi(hh->ParamList["id"].c_str());
|
||||
NeutrinoAPI->Timerd->removeTimerEvent(modyId);
|
||||
if(type == CTimerd::TIMER_RECORD)
|
||||
NeutrinoAPI->Timerd->modifyRecordTimerEvent(modyId, announceTimeT, alarmTimeT, stopTimeT, rep,repCount,_rec_dir.c_str());
|
||||
else
|
||||
NeutrinoAPI->Timerd->modifyTimerEvent(modyId, announceTimeT, alarmTimeT, stopTimeT, rep,repCount);
|
||||
// NeutrinoAPI->Timerd->removeTimerEvent(modyId);
|
||||
if(changeApids)
|
||||
NeutrinoAPI->Timerd->modifyTimerAPid(modyId,apids);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1970,9 +2049,12 @@ void CControlAPI::doNewTimer(CyhookHandler *hh)
|
||||
NeutrinoAPI->Timerd->removeTimerEvent(timer->eventID);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
NeutrinoAPI->Timerd->addTimerEvent(type,data,announceTimeT,alarmTimeT,stopTimeT,rep,repCount);
|
||||
}
|
||||
}
|
||||
else
|
||||
NeutrinoAPI->Timerd->addTimerEvent(type,data,announceTimeT,alarmTimeT,stopTimeT,rep,repCount);
|
||||
|
||||
hh->SendOk();
|
||||
}
|
||||
//-------------------------------------------------------------------------
|
||||
@@ -2057,7 +2139,7 @@ void CControlAPI::renameBouquetCGI(CyhookHandler *hh)
|
||||
{
|
||||
if (NeutrinoAPI->Zapit->existsBouquet((hh->ParamList["nameto"]).c_str()) == -1)
|
||||
{
|
||||
NeutrinoAPI->Zapit->renameBouquet(atoi(hh->ParamList["selected"].c_str()) - 1, hh->ParamList["nameto"].c_str());
|
||||
NeutrinoAPI->Zapit->renameBouquet(atoi(hh->ParamList["selected"].c_str()) - 1, ZapitTools::Latin1_to_UTF8(hh->ParamList["nameto"].c_str()).c_str());
|
||||
hh->SendOk();
|
||||
return;
|
||||
}
|
||||
@@ -2072,7 +2154,7 @@ void CControlAPI::changeBouquetCGI(CyhookHandler *hh)
|
||||
{
|
||||
int selected = atoi(hh->ParamList["selected"].c_str());
|
||||
CZapitClient::BouquetChannelList BChannelList;
|
||||
NeutrinoAPI->Zapit->getBouquetChannels(selected - 1, BChannelList, CZapitClient::MODE_CURRENT, true);
|
||||
NeutrinoAPI->Zapit->getBouquetChannels(selected - 1, BChannelList, CZapitClient::MODE_CURRENT);
|
||||
CZapitClient::BouquetChannelList::iterator channels = BChannelList.begin();
|
||||
for(; channels != BChannelList.end();channels++)
|
||||
{
|
||||
@@ -2141,8 +2223,7 @@ void CControlAPI::build_live_url(CyhookHandler *hh)
|
||||
if(!pids.APIDs.empty())
|
||||
apid = pids.APIDs[0].pid;
|
||||
|
||||
//xpids = string_printf("0x%04x",apid);
|
||||
xpids = string_printf("0x%04x,0x%04x",pids.PIDs.pmtpid,apid);
|
||||
xpids = string_printf("0x%04x",apid);
|
||||
}
|
||||
else
|
||||
hh->SendError();
|
||||
@@ -2152,10 +2233,8 @@ void CControlAPI::build_live_url(CyhookHandler *hh)
|
||||
url = "http://"+hh->ParamList["host"];
|
||||
else
|
||||
url = "http://"+hh->HeaderList["Host"];
|
||||
//url += (mode == CZapitClient::MODE_TV) ? ":31339/0," : ":31338/";
|
||||
url += ":31339/0,";
|
||||
url += (mode == CZapitClient::MODE_TV) ? ":31339/0," : ":31338/";
|
||||
url += xpids;
|
||||
printf("Live url: %s\n", url.c_str());
|
||||
// response url
|
||||
if(hh->ParamList["vlc_link"] !="")
|
||||
{
|
||||
@@ -2164,7 +2243,7 @@ printf("Live url: %s\n", url.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
hh->SetHeader(HTTP_OK, "text/html; charset=UTF-8");
|
||||
hh->SetHeader(HTTP_OK, "text/html");
|
||||
hh->Write(url);
|
||||
}
|
||||
}
|
@@ -32,9 +32,7 @@ private:
|
||||
void SendEventList(CyhookHandler *hh,t_channel_id channel_id);
|
||||
void SendcurrentVAPid(CyhookHandler *hh);
|
||||
void SendAllCurrentVAPid(CyhookHandler *hh);
|
||||
#if 0
|
||||
void SendSettings(CyhookHandler *hh);
|
||||
#endif
|
||||
void SendStreamInfo(CyhookHandler *hh);
|
||||
void SendBouquets(CyhookHandler *hh);
|
||||
void SendBouquet(CyhookHandler *hh,int BouquetNr);
|
||||
@@ -59,12 +57,11 @@ private:
|
||||
void ExecCGI(CyhookHandler *hh);
|
||||
void SystemCGI(CyhookHandler *hh);
|
||||
void StandbyCGI(CyhookHandler *hh);
|
||||
void EsoundCGI(CyhookHandler *hh);
|
||||
void RCCGI(CyhookHandler *hh);
|
||||
void GetDateCGI(CyhookHandler *hh);
|
||||
void GetTimeCGI(CyhookHandler *hh);
|
||||
#if 0
|
||||
void SettingsCGI(CyhookHandler *hh);
|
||||
#endif
|
||||
void GetServicesxmlCGI(CyhookHandler *hh);
|
||||
void GetBouquetsxmlCGI(CyhookHandler *hh);
|
||||
void GetChannel_IDCGI(CyhookHandler *hh);
|
||||
@@ -83,9 +80,7 @@ private:
|
||||
void YWebCGI(CyhookHandler *hh);
|
||||
void RebootCGI(CyhookHandler *hh);
|
||||
void RCEmCGI(CyhookHandler *hh);
|
||||
#if 0
|
||||
void AspectRatioCGI(CyhookHandler *hh);
|
||||
#endif
|
||||
void VideoFormatCGI(CyhookHandler *hh);
|
||||
void VideoOutputCGI(CyhookHandler *hh);
|
||||
void VCROutputCGI(CyhookHandler *hh);
|
||||
@@ -114,8 +109,9 @@ public:
|
||||
|
||||
// virtual functions for HookHandler/Hook
|
||||
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_PrepareResponse(CyhookHandler *hh);
|
||||
};
|
||||
|
||||
#endif /* __nhttpd_neutrinocontrolapi_hpp__ */
|
12
src/nhttpd/tuxboxapi/lcdapi.cpp → src/nhttpd/tuxboxapi/dbox/lcdapi.cpp
Executable file → Normal file
@@ -4,7 +4,7 @@
|
||||
Copyright (C) 2001/2002 Dirk Szymanski 'Dirch'
|
||||
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
|
||||
|
||||
@@ -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
|
||||
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
|
||||
}
|
||||
|
||||
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
|
||||
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
|
||||
}
|
||||
|
||||
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
|
||||
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
|
||||
}
|
||||
|
||||
bool CLCDAPI::ShowPng(char */*filename*/)
|
||||
bool CLCDAPI::ShowPng(char *filename)
|
||||
{
|
||||
#if HAVE_LCD
|
||||
return display.load_png(filename);
|
||||
@@ -124,7 +124,7 @@ bool CLCDAPI::ShowPng(char */*filename*/)
|
||||
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
|
||||
int sbyte,dbit,dxpos,dypos,wasinc=0,gotval;
|
2
src/nhttpd/tuxboxapi/lcdapi.h → src/nhttpd/tuxboxapi/dbox/lcdapi.h
Executable file → Normal file
@@ -4,7 +4,7 @@
|
||||
Copyright (C) 2001/2002 Dirk Szymanski 'Dirch'
|
||||
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
|
||||
|
@@ -39,7 +39,7 @@ void sectionsd_getChannelEvents(CChannelEventList &eList, const bool tv_mode = t
|
||||
//=============================================================================
|
||||
|
||||
static std::map<std::string, std::string> iso639;
|
||||
|
||||
#ifndef initialize_iso639_map
|
||||
bool _initialize_iso639_map(void)
|
||||
{
|
||||
std::string s, t, u, v;
|
||||
@@ -61,7 +61,7 @@ bool _initialize_iso639_map(void)
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
//-----------------------------------------------------------------------------
|
||||
const char * _getISO639Description(const char * const iso)
|
||||
{
|
||||
@@ -85,7 +85,7 @@ std::string CNeutrinoAPI::audiotype_names[5] = {"none", "single channel","dual
|
||||
//=============================================================================
|
||||
CNeutrinoAPI::CNeutrinoAPI()
|
||||
{
|
||||
//Controld = new CControldClient();
|
||||
Controld = new CControldClient();
|
||||
Sectionsd = new CSectionsdClient();
|
||||
Zapit = new CZapitClient();
|
||||
Timerd = new CTimerdClient();
|
||||
@@ -107,6 +107,8 @@ CNeutrinoAPI::CNeutrinoAPI()
|
||||
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::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;
|
||||
if (ControlAPI)
|
||||
delete ControlAPI;
|
||||
//if (Controld)
|
||||
// delete Controld;
|
||||
if (Controld)
|
||||
delete Controld;
|
||||
if (Sectionsd)
|
||||
delete Sectionsd;
|
||||
if (Zapit)
|
||||
@@ -134,15 +136,12 @@ CNeutrinoAPI::~CNeutrinoAPI(void)
|
||||
|
||||
void CNeutrinoAPI::UpdateBouquets(void)
|
||||
{
|
||||
#if 0
|
||||
BouquetList.clear();
|
||||
Zapit->getBouquets(BouquetList, true, true);
|
||||
|
||||
Zapit->getBouquets(BouquetList, true);
|
||||
for (unsigned int i = 1; i <= BouquetList.size(); i++)
|
||||
UpdateBouquet(i);
|
||||
|
||||
UpdateChannelList();
|
||||
#endif
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
@@ -166,7 +165,7 @@ void CNeutrinoAPI::ZapToChannelId(t_channel_id channel_id)
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
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)
|
||||
@@ -188,16 +187,18 @@ t_channel_id CNeutrinoAPI::ChannelNameToChannelId(std::string search_channel_nam
|
||||
//int mode = Zapit->getMode();
|
||||
t_channel_id channel_id = (t_channel_id)-1;
|
||||
CStringArray channel_names = ySplitStringVector(search_channel_name, ",");
|
||||
|
||||
for (tallchans_iterator it = allchans.begin(); it != allchans.end(); it++) {
|
||||
std::string channel_name = it->second.getName();
|
||||
CZapitClient::BouquetChannelList *channellist = GetChannelList(CZapitClient::MODE_CURRENT);
|
||||
CZapitClient::BouquetChannelList::iterator channel = channellist->begin();
|
||||
for(; channel != channellist->end();channel++)
|
||||
{
|
||||
std::string channel_name = channel->name;
|
||||
for(unsigned int j=0;j<channel_names.size();j++)
|
||||
{
|
||||
if(channel_names[j].length() == channel_name.length() &&
|
||||
equal(channel_names[j].begin(), channel_names[j].end(),
|
||||
channel_name.begin(), nocase_compare)) //case insensitive compare
|
||||
{
|
||||
channel_id = it->second.channel_id;
|
||||
channel_id = channel->channel_id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -236,15 +237,10 @@ bool CNeutrinoAPI::GetStreamInfo(int bitInfo[10])
|
||||
value=strtoul(tmpptr,NULL,0);
|
||||
bitInfo[pos]= value;
|
||||
pos++;
|
||||
#if !HAVE_DB0X2
|
||||
if(pos > 4) break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#if !HAVE_DB0X2
|
||||
bitInfo[4] = 37500;
|
||||
bitInfo[6] = 3;
|
||||
#endif
|
||||
fclose(fd);
|
||||
|
||||
return true;
|
||||
@@ -254,8 +250,7 @@ bool CNeutrinoAPI::GetStreamInfo(int bitInfo[10])
|
||||
|
||||
bool CNeutrinoAPI::GetChannelEvents(void)
|
||||
{
|
||||
//eList = Sectionsd->getChannelEvents();
|
||||
sectionsd_getChannelEvents(eList);
|
||||
eList = Sectionsd->getChannelEvents();
|
||||
CChannelEventList::iterator eventIterator;
|
||||
|
||||
ChannelListEvents.clear();
|
||||
@@ -273,29 +268,21 @@ bool CNeutrinoAPI::GetChannelEvents(void)
|
||||
|
||||
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;
|
||||
|
||||
for (i = 0; i < TVChannelList.size(); i++)
|
||||
if (TVChannelList[i].channel_id == channel_id)
|
||||
return TVChannelList[i].name;
|
||||
for (i = 0; i < RadioChannelList.size(); i++)
|
||||
if (RadioChannelList[i].channel_id == channel_id)
|
||||
return RadioChannelList[i].name;
|
||||
#endif
|
||||
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;
|
||||
|
||||
if (Mode == CZapitClient::MODE_CURRENT)
|
||||
@@ -307,17 +294,12 @@ CZapitClient::BouquetChannelList *CNeutrinoAPI::GetBouquet(unsigned int /*Bouque
|
||||
return &TVBouquetsList[BouquetNr];
|
||||
else
|
||||
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;
|
||||
|
||||
if (Mode == CZapitClient::MODE_CURRENT)
|
||||
@@ -329,31 +311,24 @@ CZapitClient::BouquetChannelList *CNeutrinoAPI::GetChannelList(int /*Mode*/)
|
||||
return &TVChannelList;
|
||||
else
|
||||
return &RadioChannelList;
|
||||
#endif
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
void CNeutrinoAPI::UpdateBouquet(unsigned int /*BouquetNr*/)
|
||||
void CNeutrinoAPI::UpdateBouquet(unsigned int BouquetNr)
|
||||
{
|
||||
#if 0 //FIXME
|
||||
TVBouquetsList[BouquetNr].clear();
|
||||
RadioBouquetsList[BouquetNr].clear();
|
||||
Zapit->getBouquetChannels(BouquetNr - 1, TVBouquetsList[BouquetNr], CZapitClient::MODE_TV, true);
|
||||
Zapit->getBouquetChannels(BouquetNr - 1, RadioBouquetsList[BouquetNr], CZapitClient::MODE_RADIO, true);
|
||||
#endif
|
||||
Zapit->getBouquetChannels(BouquetNr - 1, TVBouquetsList[BouquetNr], CZapitClient::MODE_TV);
|
||||
Zapit->getBouquetChannels(BouquetNr - 1, RadioBouquetsList[BouquetNr], CZapitClient::MODE_RADIO);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
void CNeutrinoAPI::UpdateChannelList(void)
|
||||
{
|
||||
#if 0
|
||||
TVChannelList.clear();
|
||||
RadioChannelList.clear();
|
||||
Zapit->getChannels(RadioChannelList, CZapitClient::MODE_RADIO, CZapitClient::SORT_BOUQUET, true);
|
||||
Zapit->getChannels(TVChannelList, CZapitClient::MODE_TV, CZapitClient::SORT_BOUQUET, true);
|
||||
#endif
|
||||
Zapit->getChannels(RadioChannelList, CZapitClient::MODE_RADIO);
|
||||
Zapit->getChannels(TVChannelList, CZapitClient::MODE_TV);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
@@ -6,7 +6,7 @@
|
||||
#include <string>
|
||||
|
||||
// tuxbox
|
||||
//#include <controldclient/controldclient.h>
|
||||
#include <controldclient/controldclient.h>
|
||||
#include <eventserver.h>
|
||||
#include <sectionsdclient/sectionsdclient.h>
|
||||
#include <timerdclient/timerdclient.h>
|
||||
@@ -28,7 +28,7 @@ bool _initialize_iso639_map(void);
|
||||
class CNeutrinoAPI
|
||||
{
|
||||
// Clientlibs
|
||||
//CControldClient *Controld;
|
||||
CControldClient *Controld;
|
||||
CSectionsdClient *Sectionsd;
|
||||
CZapitClient *Zapit;
|
||||
CTimerdClient *Timerd;
|
||||
@@ -83,6 +83,7 @@ public:
|
||||
CControlAPI *ControlAPI;
|
||||
|
||||
friend class CNeutrinoYParser; // Backreference
|
||||
friend class CNeutrinoYParserCoolstream; // Backreference
|
||||
friend class CControlAPI;
|
||||
};
|
||||
|
@@ -7,6 +7,7 @@
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <limits>
|
||||
#include <algorithm>
|
||||
// system
|
||||
#include <sys/types.h> //ntohs
|
||||
#include <netinet/in.h> //ntohs
|
||||
@@ -21,22 +22,6 @@
|
||||
#include "neutrinoyparser.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
|
||||
//=============================================================================
|
||||
@@ -59,7 +44,7 @@ THandleStatus CNeutrinoYParser::Hook_SendResponse(CyhookHandler *hh)
|
||||
{
|
||||
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);
|
||||
|
||||
CNeutrinoYParser *yP = new CNeutrinoYParser(NeutrinoAPI); // create a Session
|
||||
@@ -74,7 +59,7 @@ THandleStatus CNeutrinoYParser::Hook_SendResponse(CyhookHandler *hh)
|
||||
|
||||
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());
|
||||
|
||||
return hh->status;
|
||||
@@ -89,6 +74,15 @@ THandleStatus CNeutrinoYParser::Hook_ReadConfig(CConfigFile *Config, CStringList
|
||||
ConfigList["ExtrasDocumentURL"] = Config->getString("ExtrasDocURL", EXTRASDOCUMENTURL);
|
||||
// ConfigList["NewGui"] = Config->getString("NewGui", "true");
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -147,7 +141,7 @@ std::string CNeutrinoYParser::YWeb_cgi_func(CyhookHandler *hh, std::string ycmd
|
||||
//-------------------------------------------------------------------------
|
||||
// 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(',');
|
||||
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
|
||||
//-------------------------------------------------------------------------
|
||||
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(',');
|
||||
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>
|
||||
//-------------------------------------------------------------------------
|
||||
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;
|
||||
int nr=1;
|
||||
unsigned int nr=1;
|
||||
|
||||
ySplitString(para," ",nr_str, do_show_hidden);
|
||||
if(nr_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++)
|
||||
{
|
||||
sel=(nr==(i+1)) ? "selected=\"selected\"" : "";
|
||||
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());
|
||||
}
|
||||
#endif
|
||||
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>]
|
||||
// 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;
|
||||
log_level_printf(4,"func_get_bouquets_as_templatelist STARt\n");
|
||||
|
||||
ySplitString(para,"~",ytemplate, do_show_hidden);
|
||||
//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++)
|
||||
{
|
||||
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";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
log_level_printf(4,"func_get_bouquets_as_templatelist END\n");
|
||||
|
||||
return yresult;
|
||||
}
|
||||
//-------------------------------------------------------------------------
|
||||
// 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;
|
||||
CZapitClient::BouquetChannelList *bouquet;
|
||||
int mode = CZapitClient::MODE_CURRENT;
|
||||
|
||||
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) {
|
||||
if(g_bouquetManager->existsChannelInBouquet(i, live_channel_id)) {
|
||||
for (unsigned int i = 0; i < NeutrinoAPI->BouquetList.size() && actual == 0;i++)
|
||||
{
|
||||
bouquet = NeutrinoAPI->GetBouquet((NeutrinoAPI->BouquetList[i].bouquet_nr) + 1, mode);
|
||||
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;
|
||||
break;
|
||||
}
|
||||
}
|
||||
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>]]
|
||||
//-------------------------------------------------------------------------
|
||||
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;
|
||||
|
||||
int bnumber = 1;
|
||||
//int mode = CZapitClient::MODE_CURRENT;
|
||||
int mode = NeutrinoAPI->Zapit->getMode();
|
||||
int mode = CZapitClient::MODE_CURRENT;
|
||||
|
||||
ySplitString(para," ",abouquet, achannel_id);
|
||||
if(abouquet != "")
|
||||
bnumber = atoi(abouquet.c_str());
|
||||
|
||||
if(bnumber > 0) {
|
||||
bnumber--;
|
||||
ZapitChannelList channels;
|
||||
channels = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->Bouquets[bnumber]->radioChannels : g_bouquetManager->Bouquets[bnumber]->tvChannels;
|
||||
for(int j = 0; j < (int) channels.size(); j++) {
|
||||
if(bnumber != 0) //Bouquet View
|
||||
{
|
||||
bouquet = NeutrinoAPI->GetBouquet(bnumber, mode);
|
||||
CZapitClient::BouquetChannelList::iterator channel = bouquet->begin();
|
||||
CEPGData epg;
|
||||
CZapitChannel * channel = channels[j];
|
||||
char buf[100],id[20];
|
||||
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;
|
||||
|
||||
for (unsigned int i = 0; channel != bouquet->end(); channel++,i++)
|
||||
{
|
||||
sid = string_printf(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS,channel->channel_id);
|
||||
sel = (sid == achannel_id) ? "selected=\"selected\"" : "";
|
||||
NeutrinoAPI->Sectionsd->getActualEPGServiceKey(channel->channel_id, &epg);
|
||||
std::string encoded_channel_name = encodeString(std::string(channel->name).substr(0,19));
|
||||
std::string encoded_title = encodeString((epg.title).substr(0,29));
|
||||
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());
|
||||
}
|
||||
}
|
||||
return yresult;
|
||||
@@ -317,45 +298,31 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
|
||||
{
|
||||
int BouquetNr = 0;
|
||||
std::string abnumber, tmp,yresult;
|
||||
//CZapitClient::BouquetChannelList *channellist;
|
||||
|
||||
ZapitChannelList channels;
|
||||
int num;
|
||||
int mode = NeutrinoAPI->Zapit->getMode();
|
||||
CZapitClient::BouquetChannelList *channellist;
|
||||
|
||||
ySplitString(para," ",abnumber, tmp);
|
||||
if(abnumber != "")
|
||||
BouquetNr = atoi(abnumber.c_str());
|
||||
if (BouquetNr > 0) {
|
||||
BouquetNr--;
|
||||
channels = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->Bouquets[BouquetNr]->radioChannels : g_bouquetManager->Bouquets[BouquetNr]->tvChannels;
|
||||
num = 1 + (mode == CZapitClient::MODE_RADIO ? g_bouquetManager->radioChannelsBegin().getNrofFirstChannelofBouquet(BouquetNr) : g_bouquetManager->tvChannelsBegin().getNrofFirstChannelofBouquet(BouquetNr)) ;
|
||||
} else {
|
||||
CBouquetManager::ChannelIterator cit = mode == CZapitClient::MODE_RADIO ? g_bouquetManager->radioChannelsBegin() : g_bouquetManager->tvChannelsBegin();
|
||||
for (; !(cit.EndOfChannels()); cit++)
|
||||
channels.push_back(*cit);
|
||||
num = 1;
|
||||
}
|
||||
if (BouquetNr > 0)
|
||||
channellist = NeutrinoAPI->GetBouquet(BouquetNr, CZapitClient::MODE_CURRENT);
|
||||
else
|
||||
channellist = NeutrinoAPI->GetChannelList(CZapitClient::MODE_CURRENT);
|
||||
|
||||
NeutrinoAPI->GetChannelEvents();
|
||||
|
||||
int i = 1;
|
||||
char classname;
|
||||
t_channel_id current_channel = live_channel_id; //NeutrinoAPI->Zapit->getCurrentServiceID();
|
||||
t_channel_id current_channel = NeutrinoAPI->Zapit->getCurrentServiceID();
|
||||
int prozent;
|
||||
CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo;
|
||||
std::string timestr;
|
||||
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;
|
||||
|
||||
//CZapitClient::BouquetChannelList::iterator channel = channellist->begin();
|
||||
//for (; channel != channellist->end();channel++)
|
||||
for(int j = 0; j < (int) channels.size(); j++)
|
||||
CZapitClient::BouquetChannelList::iterator channel = channellist->begin();
|
||||
for (; channel != channellist->end();channel++)
|
||||
{
|
||||
CZapitChannel * channel = channels[j];
|
||||
#if 1
|
||||
CChannelEvent *event;
|
||||
event = NeutrinoAPI->ChannelListEvents[channel->channel_id];
|
||||
|
||||
@@ -368,12 +335,11 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
|
||||
if(have_logos)
|
||||
yresult += string_printf("<td class=\"%c\" width=\"44\" rowspan=\"2\"><a href=\"javascript:do_zap('"
|
||||
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
|
||||
".jpg\"/></a></td>", classname, channel->channel_id,
|
||||
(hh->WebserverConfigList["ExtrasDocumentURL"]).c_str(),
|
||||
channel->channel_id & 0xFFFFFFFFFFFFULL);
|
||||
|
||||
".gif\" alt=\"%s\"/></a></td>", classname, channel->channel_id,
|
||||
(hh->WebserverConfigList["TUXBOX_LOGOS_URL"]).c_str(),
|
||||
channel->channel_id, channel->name);
|
||||
/* timer slider */
|
||||
if(event && event->duration > 0)
|
||||
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",
|
||||
((channel->channel_id == current_channel) ? "<a name=\"akt\"></a>" : " "),
|
||||
channel->channel_id,
|
||||
num + j /*channel->nr*/,
|
||||
channel->getName().c_str(),
|
||||
(channel->getServiceType() == ST_NVOD_REFERENCE_SERVICE) ? " (NVOD)" : "",
|
||||
channel->nr,
|
||||
channel->name,
|
||||
(channel->service_type == ST_NVOD_REFERENCE_SERVICE) ? " (NVOD)" : "",
|
||||
channel->channel_id,
|
||||
((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");
|
||||
|
||||
|
||||
if (channel->getServiceType() == ST_NVOD_REFERENCE_SERVICE)
|
||||
if (channel->service_type == ST_NVOD_REFERENCE_SERVICE)
|
||||
{
|
||||
CSectionsdClient::NVODTimesList nvod_list;
|
||||
|
||||
//if (NeutrinoAPI->Sectionsd->getNVODTimesServiceKey(channel->channel_id&0xFFFFFFFFFFFFULL, nvod_list))
|
||||
if (sectionsd_getNVODTimesServiceKey(channel->channel_id&0xFFFFFFFFFFFFULL, nvod_list))
|
||||
if (NeutrinoAPI->Sectionsd->getNVODTimesServiceKey(channel->channel_id, nvod_list))
|
||||
{
|
||||
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);
|
||||
|
||||
timestr = timeString(ni->zeit.startzeit); // FIXME: time is wrong (at least on little endian)!
|
||||
|
||||
//NeutrinoAPI->Sectionsd->getActualEPGServiceKey(channel_id&0xFFFFFFFFFFFFULL, &epg); // FIXME: der scheissendreck geht nit!!!
|
||||
sectionsd_getActualEPGServiceKey(channel_id&0xFFFFFFFFFFFFULL, &epg); // FIXME: der scheissendreck geht nit!!!
|
||||
|
||||
NeutrinoAPI->Sectionsd->getActualEPGServiceKey(channel_id, &epg); // FIXME: der scheissendreck geht nit!!!
|
||||
yresult += string_printf("<tr>\n<td align=\"left\" style=\"width: 31px\" class=\"%cepg\"> </td>", classname);
|
||||
yresult += string_printf("<td class=\"%cepg\">%s ", classname, timestr.c_str());
|
||||
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]))
|
||||
{
|
||||
//bool has_current_next = NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(channel->channel_id&0xFFFFFFFFFFFFULL, currentNextInfo);
|
||||
bool has_current_next = true;
|
||||
sectionsd_getCurrentNextServiceKey(channel->channel_id&0xFFFFFFFFFFFFULL, currentNextInfo);
|
||||
bool has_current_next = NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(channel->channel_id, currentNextInfo);
|
||||
timestr = timeString(event->startTime);
|
||||
|
||||
yresult += string_printf("<tr><td class=\"%cepg\">",classname);
|
||||
@@ -483,7 +441,6 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
|
||||
}
|
||||
else
|
||||
yresult += string_printf("<tr style=\"height: 2px\"><td></td></tr>\n");
|
||||
#endif
|
||||
}
|
||||
return yresult;
|
||||
}
|
||||
@@ -491,14 +448,14 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
|
||||
//-------------------------------------------------------------------------
|
||||
// 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)
|
||||
//-------------------------------------------------------------------------
|
||||
std::string CNeutrinoYParser::func_get_mode(CyhookHandler */*hh*/, std::string /*para*/)
|
||||
std::string CNeutrinoYParser::func_get_mode(CyhookHandler *, std::string)
|
||||
{
|
||||
std::string yresult;
|
||||
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)
|
||||
//-------------------------------------------------------------------------
|
||||
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;
|
||||
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)
|
||||
//-------------------------------------------------------------------------
|
||||
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;
|
||||
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)
|
||||
// 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;
|
||||
static bool init_iso=true;
|
||||
@@ -570,12 +527,10 @@ std::string CNeutrinoYParser::func_get_audio_pids_as_dropdown(CyhookHandler */*
|
||||
pids.PIDs.vpid=0;
|
||||
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;
|
||||
//NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel&0xFFFFFFFFFFFFULL, currentNextInfo);
|
||||
sectionsd_getCurrentNextServiceKey(current_channel&0xFFFFFFFFFFFFULL, currentNextInfo);
|
||||
//if (NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
|
||||
if (sectionsd_getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
|
||||
NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
|
||||
if (NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
|
||||
{
|
||||
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
|
||||
//-------------------------------------------------------------------------
|
||||
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;
|
||||
|
||||
@@ -653,7 +608,7 @@ std::string CNeutrinoYParser::func_unmount_get_list(CyhookHandler */*hh*/, std:
|
||||
//-------------------------------------------------------------------------
|
||||
// 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;
|
||||
char ytmp[200];
|
||||
@@ -680,15 +635,14 @@ std::string CNeutrinoYParser::func_get_partition_list(CyhookHandler */*hh*/, st
|
||||
//-------------------------------------------------------------------------
|
||||
// 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
|
||||
//-------------------------------------------------------------------------
|
||||
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];
|
||||
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ügbar";
|
||||
hh->ParamList["tsfrequency"] = string_printf("%d.%d MHz", serviceinfo.tsfrequency/1000, serviceinfo.tsfrequency%1000);
|
||||
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);
|
||||
|
||||
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
|
||||
// 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;
|
||||
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_RECORD :
|
||||
{
|
||||
//sAddData = NeutrinoAPI->Zapit->getChannelName(timer->channel_id);
|
||||
sAddData = NeutrinoAPI->GetServiceName(timer->channel_id);
|
||||
sAddData = ZapitTools::UTF8_to_Latin1(NeutrinoAPI->Zapit->getChannelName(timer->channel_id).c_str());
|
||||
if (sAddData.empty())
|
||||
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)
|
||||
{
|
||||
std::string _sel;
|
||||
std::string zType = NeutrinoAPI->timerEventType2Str((CTimerd::CTimerEventTypes) i);
|
||||
if(cmd != "new")
|
||||
_sel = (i==(int)timer.eventType) ? "selected=\"selected\"" : "";
|
||||
sel = (i==(int)timer.eventType) ? "selected=\"selected\"" : "";
|
||||
else
|
||||
_sel = (i==(int)CTimerd::TIMER_RECORD) ? "selected=\"selected\"" : "";
|
||||
sel = (i==(int)CTimerd::TIMER_RECORD) ? "selected=\"selected\"" : "";
|
||||
hh->ParamList["timertype"] +=
|
||||
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["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
|
||||
CZapitClient::BouquetChannelList channellist;
|
||||
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();
|
||||
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"] +=
|
||||
string_printf("<option value=\""
|
||||
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
"\" %s>%s</option>\n",
|
||||
channel->channel_id, sel.c_str(), channel->getName());
|
||||
channel->channel_id, sel.c_str(), channel->name);
|
||||
}
|
||||
|
||||
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++)
|
||||
{
|
||||
std::string sel = (channel->channel_id == current_channel) ? "selected=\"selected\"" : "";
|
||||
sel = (channel->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",
|
||||
channel->channel_id, sel.c_str(), channel->getName());
|
||||
channel->channel_id, sel.c_str(), channel->name);
|
||||
}
|
||||
#endif
|
||||
// recordingDir
|
||||
hh->ParamList["RECORD_DIR_MAXLEN"] = itoa(RECORD_DIR_MAXLEN-1);
|
||||
if(cmd != "new") {
|
||||
@@ -1035,7 +966,7 @@ std::string CNeutrinoYParser::func_set_timer_form(CyhookHandler *hh, std::strin
|
||||
CConfigFile *Config = new CConfigFile(',');
|
||||
Config->loadConfig(NEUTRINO_CONFIGFILE);
|
||||
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["message"] = (cmd == "new")? "" : timer.message;
|
||||
@@ -1057,36 +988,41 @@ std::string CNeutrinoYParser::func_bouquet_editor_main(CyhookHandler *hh, std::
|
||||
if (hh->ParamList["selected"] != "")
|
||||
selected = atoi(hh->ParamList["selected"].c_str());
|
||||
|
||||
int bouquetSize = (int) g_bouquetManager->Bouquets.size();
|
||||
for (int i = 0; i < (int) g_bouquetManager->Bouquets.size(); i++) {
|
||||
// List of all bouquets
|
||||
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';
|
||||
classname = (selected == (int) i + 1)?'c':classname;
|
||||
unsigned int bouquetSize = AllBouquetList.size();
|
||||
|
||||
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
|
||||
std::string lock_action = (bouquet->bLocked) ? "unlock" : "lock";
|
||||
std::string lock_img = (bouquet->bLocked) ? "lock" : "unlock";
|
||||
std::string lock_alt = (bouquet->bLocked) ? "entsperren" : "sperren";
|
||||
std::string lock_action = (bouquet->locked) ? "unlock" : "lock";
|
||||
std::string lock_img = (bouquet->locked) ? "lock" : "unlock";
|
||||
std::string lock_alt = (bouquet->locked) ? "entsperren" : "sperren";
|
||||
// hide/show
|
||||
std::string hidden_action= (bouquet->bHidden) ? "show" : "hide";
|
||||
std::string hidden_img = (bouquet->bHidden) ? "hidden" : "visible";
|
||||
std::string hidden_alt = (bouquet->bHidden) ? "verstecken" : "anzeigen";
|
||||
std::string hidden_action= (bouquet->hidden) ? "show" : "hide";
|
||||
std::string hidden_img = (bouquet->hidden) ? "hidden" : "visible";
|
||||
std::string hidden_alt = (bouquet->hidden) ? "verstecken" : "anzeigen";
|
||||
// move down
|
||||
std::string down_show = (i + 1 < bouquetSize) ? "visible" : "hidden";
|
||||
std::string down_show = (bouquet->bouquet_nr + 1 < bouquetSize) ? "visible" : "hidden";
|
||||
//move up
|
||||
std::string up_show = (i > 0) ? "visible" : "hidden";
|
||||
std::string up_show = (bouquet->bouquet_nr > 0) ? "visible" : "hidden";
|
||||
// build from template
|
||||
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
|
||||
i + 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
|
||||
i + 1, bouquet->Name.c_str(), //rename
|
||||
i + 1, bouquet->Name.c_str(), //delete
|
||||
down_show.c_str(), i + 1, //down arrow
|
||||
up_show.c_str(), i + 1); //up arrow
|
||||
bouquet->bouquet_nr + 1, lock_action.c_str(), lock_img.c_str(), lock_alt.c_str(), //lock
|
||||
bouquet->bouquet_nr + 1, hidden_action.c_str(), hidden_img.c_str(), hidden_alt.c_str(), //hhidden
|
||||
bouquet->bouquet_nr + 1, bouquet->name, bouquet->name, //link
|
||||
bouquet->bouquet_nr + 1, bouquet->name, //rename
|
||||
bouquet->bouquet_nr + 1, bouquet->name, //delete
|
||||
down_show.c_str(), bouquet->bouquet_nr + 1, //down arrow
|
||||
up_show.c_str(), bouquet->bouquet_nr + 1); //up arrow
|
||||
}
|
||||
return yresult;
|
||||
}
|
||||
@@ -1094,45 +1030,10 @@ std::string CNeutrinoYParser::func_bouquet_editor_main(CyhookHandler *hh, std::
|
||||
//-------------------------------------------------------------------------
|
||||
// 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()))
|
||||
{
|
||||
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::iterator channels;
|
||||
|
||||
@@ -1162,7 +1063,6 @@ std::string CNeutrinoYParser::func_set_bouquet_edit_form(CyhookHandler *hh, std
|
||||
channels->name);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return "";
|
||||
}
|
||||
else
|
@@ -62,7 +62,7 @@ public:
|
||||
virtual std::string YWeb_cgi_func(CyhookHandler *hh, std::string ycmd);
|
||||
// virtual functions for HookHandler/Hook
|
||||
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_ReadConfig(CConfigFile *Config, CStringList &ConfigList);
|
||||
};
|
@@ -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 \
|
||||
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_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 \
|
||||
install_DATA = channels.js \
|
||||
channels.txt \
|
||||
extentions.txt \
|
||||
favicon.ico \
|
||||
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 \
|
||||
channels.js Y_Baselib.js Y_VLC.js \
|
||||
channels.txt extentions.txt robots.txt Y_Blocks.txt \
|
||||
Y_neutrino_Blocks.txt Y_Version.txt \
|
||||
favicon.ico
|
||||
Y_Menue.yhtm \
|
||||
Y_neutrino_Blocks.txt \
|
||||
Y_Settings_automount_liste.yhtm \
|
||||
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
|
||||
|
@@ -1,23 +1,22 @@
|
||||
{=var-set:cancache=yPyes=}
|
||||
{=include-block:Y_Blocks.txt;headCache=}
|
||||
</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>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<table border="0" cellpadding="2" cellspacing="4">
|
||||
<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">
|
||||
<b>Coolstream HD1 yWeb</b>
|
||||
<br/><a href="http://www.yjogol.de" target="_blank">www.yjogol.de</a>
|
||||
<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>
|
||||
{=ini-get:{=var-get:vf=};version=} - {=ini-get:{=var-get:vf=};date=} - {=ini-get:{=var-get:vf=};type=}<br/><br/>
|
||||
{=ini-get:{=var-get:vf=};info=}<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@@ -1,11 +1,15 @@
|
||||
/* yWeb Baselib by yjogol
|
||||
$Date: 2007/02/21 17:38:48 $
|
||||
$Revision: 1.3 $
|
||||
$Date: 2008/02/24 08:23:12 $
|
||||
$Revision: 1.5 $
|
||||
*/
|
||||
var baselib_version="2.0.0";
|
||||
var agt=navigator.userAgent.toLowerCase();
|
||||
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
|
||||
|
||||
/*DHTML-Basics*/
|
||||
function $yN(_obj_name)
|
||||
{
|
||||
return $(document.getElementsByName(_obj_name));
|
||||
}
|
||||
function id(obj_id)
|
||||
{
|
||||
return document.getElementById(obj_id);
|
||||
@@ -108,6 +112,15 @@ function y_add_html_cell_to_row(_row, _name, _value)
|
||||
__cell.innerHTML = _value;
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -158,6 +171,16 @@ function loadXMLDoc(_url, _processReqChange)
|
||||
else
|
||||
alert("Kein Browser-Support fr XMLHttpRequest");
|
||||
}
|
||||
function loadSyncURL2(_url)
|
||||
{
|
||||
var myAjax = new Ajax.Request(
|
||||
_url,
|
||||
{
|
||||
method: 'post',
|
||||
asynchronous: false
|
||||
});
|
||||
return myAjax.responseText;
|
||||
}
|
||||
function loadSyncURL(_url)
|
||||
{
|
||||
var _req;
|
||||
@@ -254,7 +277,7 @@ function split_one(_str, _delimiter)
|
||||
{
|
||||
var __p = _str.indexOf(_delimiter);
|
||||
var __left = _str.substring(0, __p);
|
||||
var __right = _str.substring(__p+1);
|
||||
var __right = _str.substring(__p+_delimiter.length);
|
||||
return new Array(__left, __right);
|
||||
}
|
||||
function split_left(_str, _delimiter)
|
||||
@@ -279,6 +302,50 @@ function epg_de_qout(_str)
|
||||
_str = _str.replace(/\x8A/g,"<br/>");
|
||||
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*/
|
||||
function format_time(_t)
|
||||
{
|
||||
@@ -305,10 +372,23 @@ function bt_set_value(_bt_name, _text)
|
||||
__button.firstChild.nodeValue = _text;
|
||||
}
|
||||
/*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)
|
||||
{
|
||||
alert("Diese Funktion dbox_exec_command wurde aus Sicherheitsgruenden abgeschafft. Bitte Extension updaten.");
|
||||
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)
|
||||
{
|
||||
|
@@ -21,19 +21,24 @@ end-block~build_live_url
|
||||
|
||||
# ------- 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=}~cache=}
|
||||
{=ini-set:/var/tuxbox/config/Y-Web.conf;management_ip;{=managementIP=}~open=}
|
||||
{=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_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_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_color;{=yweb_box_color=}~cache=}
|
||||
{=ini-set:/var/tuxbox/config/Y-Web.conf;vlc_record_path;{=vlc_record_path=}~save=}
|
||||
{=ini-set:/var/tuxbox/config/Y-Web.conf;yweb_box_color;{=yweb_box_color=}~save=}
|
||||
end-block~yWeb_save_settings
|
||||
|
||||
# ------- 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_filter;{=v=}~cache=}
|
||||
{=ini-set:/var/tuxbox/config/Y-Web.conf;udp;{=udp=}~cache=}
|
||||
@@ -50,11 +55,111 @@ start-block~nhttpd_save_settings
|
||||
{=ini-set:/var/tuxbox/config/nhttpd.conf;webserver.threading;{=threading=}~cache=}
|
||||
{=ini-set:/var/tuxbox/config/nhttpd.conf;server.no_keep-alive_ips;{=no_keep_alive_ips=}~cache=}
|
||||
{=ini-set:/var/tuxbox/config/nhttpd.conf;Tuxbox.HostedDocumentRoot;{=HostedDocRoot=}~cache=}
|
||||
{=ini-set:/var/tuxbox/config/nhttpd.conf;ExtrasDocRoot;{=ExtrasDocRoot=}~cache=}
|
||||
{=ini-set:/var/tuxbox/config/nhttpd.conf;ExtrasDocURL;{=ExtrasDocURL=}~save=}
|
||||
{=ini-set:/var/tuxbox/config/nhttpd.conf;WebsiteMain.override_directory;{=override_directory=}~cache=}
|
||||
{=ini-set:/var/tuxbox/config/nhttpd.conf;mod_sendfile.mime_types;{=mod_sendfile_mime_types=}~cache=}
|
||||
{=ini-set:/var/tuxbox/config/nhttpd.conf;mod_sendfile.sendAll;{=mod_sendfile_sendAll=}~cache=}
|
||||
{=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=}
|
||||
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
|
||||
start-block~vnc_save_settings
|
||||
{=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_password;{=tvinfo_password=}=}
|
||||
{=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_h;{=ini-get:/var/tuxbox/config/Y-Web.conf;live_resolution_h;288=}=}
|
||||
{=file-action:/var/tuxbox/config/channels.txt;add;{=channels=}=}
|
||||
@@ -83,7 +189,7 @@ start-block~no_management
|
||||
{=include-block:Y_Blocks.txt;head=}
|
||||
</head>
|
||||
<body>
|
||||
<br/>
|
||||
<br />
|
||||
<div class="y_head">Error</div>
|
||||
<div class="y_work_box" title="This page could be used for management proposes only">
|
||||
This page could be used for management proposes only.
|
||||
@@ -139,9 +245,9 @@ start-block~snip_show_wait
|
||||
end-block~snip_show_wait
|
||||
|
||||
# ------- Wiki Help display
|
||||
#<img src="/images/help.gif" align="bottom">
|
||||
#<img src="/images/help.gif" align="bottom" />
|
||||
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
|
||||
|
||||
# ------- work menu
|
||||
@@ -161,38 +267,38 @@ start-block~head
|
||||
<meta http-equiv="cache-control" content="no-cache" />
|
||||
<meta http-equiv="expires" content="0" />
|
||||
<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
|
||||
|
||||
# ------- Lay-HEAD
|
||||
start-block~headCache
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<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>
|
||||
<link rel="STYLESHEET" type="text/css" href="/Y_Main.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/Y_Main.css" />
|
||||
end-block~headCache
|
||||
|
||||
# ------- Lay-HEAD without charset
|
||||
start-block~head_no_charset
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<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
|
||||
|
||||
# ------- Lay-Frame HEAD
|
||||
start-block~frame_head
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
||||
<html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<link rel="STYLESHEET" type="text/css" href="/Y_Main.css"/>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<link rel="stylesheet" type="text/css" href="/Y_Main.css" />
|
||||
<title>yWeb</title>
|
||||
end-block~frame_head
|
||||
|
||||
@@ -200,10 +306,10 @@ end-block~frame_head
|
||||
start-block~frame_iso_head
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
||||
<html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
|
||||
<link rel="STYLESHEET" type="text/css" href="/Y_Main.css"/>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<link rel="stylesheet" type="text/css" href="/Y_Main.css" />
|
||||
<title>yWeb</title>
|
||||
end-block~frame_iso_head
|
||||
|
||||
@@ -212,9 +318,9 @@ start-block~frame_main
|
||||
{=include-block:Y_Blocks.txt;frame_head=}
|
||||
<title>dbox yWeb</title>
|
||||
</head>
|
||||
<frameset rows="60,*">
|
||||
<frame name="prim_menu" src="Y_Menue.yhtm" scrolling="no" frameborder="0" noresize="noresize" />
|
||||
<frame name="base" src="Y_Dyn_Pages.yhtm?page=frame_boxcontrol" frameborder="0" style="height:100%"/>
|
||||
<frameset rows="60,*" frameborder="0" framespacing="0">
|
||||
<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" marginwidth="0" marginheight="0" frameborder="0" style="height:100%"; />
|
||||
<noframes>
|
||||
<body>
|
||||
<p>Your Browser does not support Frames.</p>
|
||||
@@ -228,7 +334,7 @@ end-block~frame_main
|
||||
start-block~page_frame_rest
|
||||
{=include-block:Y_Blocks.txt;head=}
|
||||
</head>
|
||||
<body style="background : #F0F0F0;">
|
||||
<body style="background : white;">
|
||||
</body>
|
||||
</html>
|
||||
end-block~page_frame_rest
|
||||
@@ -237,9 +343,9 @@ end-block~page_frame_rest
|
||||
start-block~frame_secondary
|
||||
{=include-block:Y_Blocks.txt;frame_iso_head=}
|
||||
</head>
|
||||
<frameset cols="157,*">
|
||||
<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"/>
|
||||
<frameset cols="157,*" frameborder="0" framespacing="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" />
|
||||
<noframes>
|
||||
<body>
|
||||
<p>Your Browser does not support Frames.</p>
|
||||
@@ -252,7 +358,12 @@ end-block~frame_secondary
|
||||
# ------- Lay-Frame Boxcontrol-Menu
|
||||
start-block~frame_boxcontrol
|
||||
{=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=}
|
||||
end-block~frame_boxcontrol
|
||||
|
||||
@@ -305,30 +416,14 @@ start-block~frame_info
|
||||
{=include-block:Y_Blocks.txt;frame_secondary=}
|
||||
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
|
||||
# ------- Lay-Frame Live-EPG Frameset
|
||||
start-block~frame_live_epg
|
||||
{=include-block:Y_Blocks.txt;frame_head=}
|
||||
</head>
|
||||
<frameset rows="100,*">
|
||||
<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%"/>
|
||||
<frameset rows="100,*" frameborder="0" framespacing="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%" />
|
||||
<noframes>
|
||||
<body>
|
||||
<p>Your Browser does not support Frames.</p>
|
||||
@@ -340,6 +435,77 @@ end-block~frame_live_epg
|
||||
|
||||
# ------- 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"/>
|
||||
<map name="rc">
|
||||
<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_PLAY')" coords="165, 695, 210, 716" />
|
||||
</map>
|
||||
end-block~remote
|
||||
|
||||
|
||||
|
||||
end-block~remote_coolstream
|
@@ -3,20 +3,17 @@
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function do_submit()
|
||||
{
|
||||
function do_submit(){
|
||||
show_waitbox(true);
|
||||
for (i=document.getElementById('channels').bchannels.length-1; i >= 0 ; i--) {
|
||||
document.getElementById('channels').bchannels.options[i].selected=true;
|
||||
}
|
||||
document.getElementById('channels').submit();
|
||||
}
|
||||
function do_abort()
|
||||
{
|
||||
function do_abort(){
|
||||
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++) {
|
||||
if (source.options[i].selected==true) {
|
||||
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) {
|
||||
for (i=1; i < box.length ; i++) {
|
||||
if (box.options[i].selected==true) {
|
||||
@@ -57,10 +53,10 @@ function poschannel(box, direction)
|
||||
</head>
|
||||
|
||||
<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_head"><div class="work_box_head_h2">
|
||||
{=var-set:help_url=Neutrino:yWeb:BoxControl#Bouquet-Editor=}{=var-set:menu=Bouquet "{=name=}" workon=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
|
||||
{=var-set:help_url=Help-BoxControl-Bouquet-Editor=}{=var-set:menu=Bouquet "{=name=}"=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
|
||||
<div class="work_box_body">
|
||||
<form action="/control/changebouquet" method="post" id="channels" enctype="x-www-form-urlencoded">
|
||||
<p><input type="hidden" name="selected" value="{=selected=}" /></p>
|
||||
@@ -72,10 +68,10 @@ function poschannel(box, direction)
|
||||
</select>
|
||||
</td>
|
||||
<td align="center">
|
||||
<input type="button" value="up" onclick="poschannel(document.getElementById('channels').bchannels, 0);" /><br /><br />
|
||||
<input type="button" value="down" onclick="poschannel(document.getElementById('channels').bchannels, 1);" /><br /><br />
|
||||
<input type="button" value=">>>" onclick="movechannels(document.getElementById('channels').bchannels, document.getElementById('channels').achannels);" /><br /><br />
|
||||
<input type="button" value="<<<" onclick="movechannels(document.getElementById('channels').achannels, document.getElementById('channels').bchannels);" /><br /><br />
|
||||
<button type="button" title="move up" onclick="poschannel(document.getElementById('channels').bchannels, 0);"> <img src="/images/arrowup.png"> </button><br /><br />
|
||||
<button type="button" title="move down" onclick="poschannel(document.getElementById('channels').bchannels, 1);"> <img src="/images/arrowdown.png"> </button><br /><br />
|
||||
<button type="button" title="remove" onclick="movechannels(document.getElementById('channels').bchannels, document.getElementById('channels').achannels);"> <img src="/images/arrowright.png"> </button><br /><br />
|
||||
<button type="button" title="add" onclick="movechannels(document.getElementById('channels').achannels, document.getElementById('channels').bchannels);"> <img src="/images/arrowleft.png"> </button><br /><br />
|
||||
</td>
|
||||
<td>
|
||||
<select multiple="multiple" size="20" name="achannels">
|
||||
@@ -85,9 +81,9 @@ function poschannel(box, direction)
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="redirect" value="/Y_Boxcontrol_Bouquet_Editor_Main.yhtm"/>
|
||||
<p><input type="button" value="submit" onclick="do_submit();" />
|
||||
<input type="button" value="abort" onclick="do_abort();" /></p>
|
||||
All changes must be still stored!
|
||||
<p><button type="button" ytype="save" onclick="do_submit();">{=L:save=}</button>
|
||||
<button type="button" ytype="cancel" onclick="do_abort();">{=L:cancel=}</button></p>
|
||||
{=L:bouquets_must_be_saved=}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -7,95 +7,91 @@
|
||||
//<![CDATA[
|
||||
var gurl= "";
|
||||
var gurl_last= "";
|
||||
function hide_forms()
|
||||
{
|
||||
function hide_forms(){
|
||||
show_obj("add",false);
|
||||
show_obj("rename",false);
|
||||
}
|
||||
function do_reload()
|
||||
{
|
||||
//alert("href:"+document.location.href+" gurl:"+gurl+" path+s+h:"+document.location.pathname+document.location.search+document.location.hash);
|
||||
function do_reload(){
|
||||
if((document.location.pathname+document.location.search+document.location.hash) == gurl)
|
||||
document.location.reload();
|
||||
else
|
||||
document.location.href = gurl;
|
||||
}
|
||||
|
||||
function do_set(bouquetnr, action)
|
||||
{
|
||||
loadSyncURL("/control/setbouquet?selected="+bouquetnr+"&action="+action+"#akt");
|
||||
function do_set(bouquetnr, action){
|
||||
loadSyncURL("/control/setbouquet?selected="+bouquetnr+"&action="+action);
|
||||
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + bouquetnr+ "#akt";
|
||||
window.setTimeout('do_reload()',50);
|
||||
}
|
||||
function do_save()
|
||||
{
|
||||
function do_save(){
|
||||
hide_forms();
|
||||
loadSyncURL("/control/savebouquet");
|
||||
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));
|
||||
loadSyncURL("/control/movebouquet?selected="+bouquetnr+"&action="+action+"#akt");
|
||||
loadSyncURL("/control/movebouquet?selected="+bouquetnr+"&action="+action);
|
||||
if(action=="up") sel--;
|
||||
else sel++;
|
||||
|
||||
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + sel+ "#akt";
|
||||
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){
|
||||
loadSyncURL("/control/deletebouquet?selected="+bouquetnr);
|
||||
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + bouquetnr+ "#akt";
|
||||
window.setTimeout('do_reload()',50);
|
||||
}
|
||||
}
|
||||
function do_add_start()
|
||||
{
|
||||
function do_add_start(){
|
||||
hide_forms();
|
||||
show_obj("add",true);
|
||||
document.add.bouquet_name.focus();
|
||||
}
|
||||
function do_add_abort()
|
||||
{
|
||||
function do_add_abort(){
|
||||
show_obj("add",false);
|
||||
}
|
||||
function do_add()
|
||||
{
|
||||
function do_add(){
|
||||
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!");
|
||||
else
|
||||
else*/
|
||||
gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm#akt";
|
||||
// gurl = "/Y_Boxcontrol_Bouquet_Editor_Main.yhtm?selected=" + bouquetnr+ "#akt";
|
||||
show_obj("add",false);
|
||||
window.setTimeout('do_reload()',50);
|
||||
window.setTimeout('do_reload()',200);
|
||||
}
|
||||
else
|
||||
alert("Es wurde kein Bouquet-Name angegeben!");
|
||||
}
|
||||
function do_rename_start(bouquetnr, bouquet_name)
|
||||
{
|
||||
function do_rename_start(bouquetnr, bouquet_name){
|
||||
hide_forms();
|
||||
document.rename.bouquetnr.value = bouquetnr;
|
||||
document.rename.bouquet_name.value = bouquet_name;
|
||||
show_obj("rename",true);
|
||||
document.rename.bouquet_name.focus();
|
||||
}
|
||||
function do_rename_abort()
|
||||
{
|
||||
function do_rename_abort(){
|
||||
show_obj("rename",false);
|
||||
}
|
||||
|
||||
function do_rename()
|
||||
{
|
||||
function do_rename(){
|
||||
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!");
|
||||
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);
|
||||
// display_obj("rename",false);
|
||||
window.setTimeout('do_reload()',500);
|
||||
}
|
||||
window.setTimeout('do_reload()',200);
|
||||
// }
|
||||
}
|
||||
else
|
||||
alert("Es wurde kein Bouquet-Name angegeben!");
|
||||
@@ -120,65 +116,65 @@ function do_rename()
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<p>
|
||||
<a href="javascript:do_add_start()">[add Bouquet]</a>
|
||||
<a href="javascript:do_save()">[save]</a>
|
||||
</p>
|
||||
<div id="add" class="fly_form">
|
||||
<form name="add" accept-charset="UTF-8" action="">
|
||||
<p><b>Bouquet add</b><br/>
|
||||
New Bouquets' name:
|
||||
<p><b>{=L:bouquet_add=}</b><br/>
|
||||
{=L:name_of_bouquet=}:
|
||||
<input type="text" size="30" name="bouquet_name" />
|
||||
<br/>
|
||||
<input type="button" value="add" onclick="do_add()" />
|
||||
<input type="button" value="abort" onclick="do_add_abort()" />
|
||||
<button type="button" ytype="save" onclick="do_add()">{=L:save=}</button>
|
||||
<button type="button" ytype="cancel" onclick="do_add_abort()">{=L:cancel=}</button>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
<div id="rename" class="fly_form">
|
||||
<form name="rename" accept-charset="UTF-8" action="">
|
||||
<p>
|
||||
<p><b>Bouquet rename</b><br/>
|
||||
New Bouquets' name:
|
||||
<p><b>{=L:rename_bouquet=}</b><br/>
|
||||
{=L:name_of_bouquet=}:
|
||||
<input type="text" size="30" name="bouquet_name" />
|
||||
<input type="hidden" name="bouquetnr" value="" />
|
||||
<br/>
|
||||
<input type="button" value="rename" onclick="do_rename()" />
|
||||
<input type="button" value="abort" onclick="do_rename_abort()" />
|
||||
<button type="button" ytype="save" onclick="do_rename()">{=L:save=}</button>
|
||||
<button type="button" ytype="cancel" onclick="do_rename_abort()">{=L:cancel=}</button>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
<table width="90%">
|
||||
<table width="100%" cellspacing="0" id="bouqueteditorlist">
|
||||
<!-- line template -->
|
||||
{=var-set:row=
|
||||
<tr class="%c">
|
||||
<td align="center">
|
||||
<td align="center" width="30px">
|
||||
%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 align="center">
|
||||
<td align="center" width="30px">
|
||||
<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>
|
||||
</td>
|
||||
<td><a href="/Y_Boxcontrol_Bouquet_Editor_Edit.yhtm?selected=%d&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');">
|
||||
<img src="/images/modify.png" alt="umbenennen" style="border: 0px" /></a>
|
||||
<a href="javascript:do_delete('%d','%s');">
|
||||
<img src="/images/remove.png" alt="löschen" style="border: 0px" /></a>
|
||||
<span style="visibility:%s;"><a href="javascript:do_move('%d','down');">
|
||||
<img src="/images/arrowdown.gif" alt="nach unten" style="border: 0px" /></a> </span>
|
||||
<img src="/images/arrowdown.png" alt="nach unten" style="border: 0px" /></a> </span>
|
||||
<span style="visibility:%s;"><a href="javascript:do_move('%d','up');">
|
||||
<img src="/images/arrowup.gif" alt="nach oben" style="border: 0px" /></a> </span>
|
||||
<img src="/images/arrowup.png" alt="nach oben" style="border: 0px" /></a> </span>
|
||||
</td>
|
||||
</tr>
|
||||
=}
|
||||
{=func:bouquet_editor_main {=var-get:row=}=}
|
||||
</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>
|
||||
</body>
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<iframe src="Y_Boxcontrol_Bouquetlist.yhtm?bouquet=#akt" scrolling="auto" marginheight="1" marginwidth="1" frameborder="0" name="bouquets"
|
||||
style="height : 600px;width:20%;"></iframe>
|
||||
|
@@ -1,13 +1,14 @@
|
||||
{=var-set:cancache=yPInstall=}
|
||||
{=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">
|
||||
//<![CDATA[
|
||||
var g_volumen = 100;
|
||||
function volumen_set_audiobar(_volumen)
|
||||
{
|
||||
var l = document.getElementById("audiobar_left");
|
||||
var r = document.getElementById("audiobar_right");
|
||||
function volumen_set_audiobar(_volumen){
|
||||
var l = $("audiobar_left");
|
||||
var r = $("audiobar_right");
|
||||
/*IE: width=0 -> =""*/
|
||||
if(_volumen > 0)
|
||||
l.width = _volumen.toString()+"%";
|
||||
@@ -18,8 +19,7 @@ function volumen_set_audiobar(_volumen)
|
||||
else
|
||||
r.width = (100-_volumen).toString()+"%";
|
||||
}
|
||||
function volumen_get()
|
||||
{
|
||||
function volumen_get(){
|
||||
var __volumen_str = loadSyncURL("/control/volume");
|
||||
var __volumen = parseInt(__volumen_str,10);
|
||||
if(isNaN(__volumen)) __volumen=100;
|
||||
@@ -27,88 +27,122 @@ function volumen_get()
|
||||
g_volumen = __volumen;
|
||||
return __volumen;
|
||||
}
|
||||
function volumen_set(_volumen)
|
||||
{
|
||||
function volumen_set(_volumen){
|
||||
_volumen = Math.min(100, _volumen);
|
||||
_volumen = Math.max(0, _volumen);
|
||||
loadSyncURL("/control/volume?"+_volumen);
|
||||
volumen_set_audiobar(_volumen);
|
||||
g_volumen = _volumen;
|
||||
}
|
||||
function toggle_mute()
|
||||
{
|
||||
var __button = document.getElementById("btMute");
|
||||
if(__button.firstChild.nodeValue == "Mute"){
|
||||
loadSyncURL("/control/volume?mute");
|
||||
__button.firstChild.nodeValue = "Unmute";
|
||||
}
|
||||
else{
|
||||
loadSyncURL("/control/volume?unmute");
|
||||
__button.firstChild.nodeValue = "Mute";
|
||||
}
|
||||
function set_mute_button(){
|
||||
var status = loadSyncURL("/control/volume?status");
|
||||
$('btMute').update( (status==1)? " <img src=\"/images/volumeunmute.png\"> ": " <img src=\"/images/volumemute.png\"> ");
|
||||
return status;
|
||||
}
|
||||
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");
|
||||
if(actual_mode != _mode)
|
||||
loadSyncURL("/control/setmode?" + _mode);
|
||||
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>
|
||||
</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:dboxshot={=if-file-exists:/bin/dboxshot~true~{=if-file-exists:/var/bin/dboxshot~true~false=}=}=}
|
||||
<body>
|
||||
<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">
|
||||
<ul>
|
||||
<li><a target="work" title="Switch channels" href="Y_Boxcontrol_Bouquets.yhtm">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="send Messages to box" href="Y_Boxcontrol_Messages.yhtm">Messages</a></li>
|
||||
<li><a target="work" title="Web-based Remote Control" href="Y_Tools_Rcsim.yhtm">Remote</a></li>
|
||||
{=if-equal:{=var-get:fbshot=}~true~
|
||||
<li><a target="work" title="make osd screenshot" href="Y_Tools_fbshot.yhtm">OSD Screenshot</a></li>
|
||||
<ul id="secmenu">
|
||||
<li><a target="work" title="{=L:bouquets_desc=}" href="Y_Boxcontrol_Bouquets.yhtm">{=L:bouquets=}</a></li>
|
||||
<li><a target="work" title="{=L:control_desc=})" href="Y_Tools_Boxcontrol.yhtm">{=L:control=}</a></li>
|
||||
<li><a target="work" title="{=L:messages_desc=}" href="Y_Boxcontrol_Messages.yhtm">{=L:messages=}</a></li>
|
||||
<li><a target="work" title="{=L:remote_desc=}l" href="Y_Tools_Rcsim.yhtm">{=L:remote=}</a></li>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
{=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~
|
||||
<li><a target="work" title="remote and osd" href="Y_Tools_remote_osd.yhtm">Remote & 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 & OSD</li>
|
||||
<li class="disabled" title="{=L:remote_osd_desc_ni=}">{=L:remote_osd=}</li>
|
||||
=}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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">
|
||||
<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>
|
||||
<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>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
<span class="y_text_boxcontrol_button" title="decrease volumen">
|
||||
<a href="javascript:volumen_set(g_volumen-10);"> <strong>-</strong> </a></span>
|
||||
<span class="y_text_boxcontrol_button" title="increase volumen">
|
||||
<a href="javascript:volumen_set(g_volumen+10);"> <strong>+</strong> </a></span>
|
||||
<span class="y_text_boxcontrol_button" title="mute volumen">
|
||||
<a id="btMute" href="javascript:toggle_mute();">Mute</a></span>
|
||||
<br/><br/>
|
||||
<span class="y_text_boxcontrol_button" title="switch to TV"><a href="javascript:set_mode('tv');">TV</a></span>
|
||||
<span class="y_text_boxcontrol_button" title="switch to Radio"><a href="javascript:set_mode('radio');">Radio</a></span>
|
||||
<span title="{=L:decrease_volume=}">
|
||||
<a href="javascript:volumen_set(g_volumen-10);"><img src="/images/volumedown.png"> </a></span>
|
||||
<span title="{=L:increase_volume=}">
|
||||
<a href="javascript:volumen_set(g_volumen+10);"><img src="/images/volumeup.png"></a></span>
|
||||
<span title="{=L:mute_volume=}">
|
||||
<a id="btMute" href="javascript:toggle_mute();"> <img src="/images/volumemute.png"> </a></span>
|
||||
<!-- <br/><br/>-->
|
||||
<span title="{=L:switch_to_tv=}"><a href="javascript:set_mode('tv');"><img src="/images/live.gif"> </a></span>
|
||||
<span title="{=L:switch_to_radio=}"><a href="javascript:set_mode('radio');"> <img src="/images/radio.png"></a></span>
|
||||
</center>
|
||||
</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">
|
||||
//<![CDATA[
|
||||
volumen_set_audiobar(volumen_get());
|
||||
init();
|
||||
//]]>
|
||||
</script>
|
||||
</body>
|
||||
|
@@ -1,35 +1,22 @@
|
||||
{=var-set:cancache=yPyes=}
|
||||
{=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>
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<form name="f" action="" method="get" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8">
|
||||
<table class="y_invisible_table" cellpadding="5">
|
||||
<tr><td class="y_form_header">Message to Coolstram-TV Screen</td></tr>
|
||||
<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" width="100%">
|
||||
<tr><td class="y_form_header">{=L:message_to_screen=}</td></tr>
|
||||
<tr><td>
|
||||
<input name="nmsg" type="text" size="50" maxlength="255" title="enter message to send to TV screen"/>
|
||||
<input type="button" name="message" value="send" title="send message" onclick="do_message()"/>
|
||||
<input name="nmsg" type="text" size="50" maxlength="255" title="{=L:message_to_screen_desc=}"/>
|
||||
<button type="submit" name="message" ytype="go" title="{=L:send=message=}">{=L:send=}</button>
|
||||
</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>
|
||||
<input name="popup" type="text" size="50" maxlength="255" title="enter message to send to TV screen"/>
|
||||
<input type="button" name="pmessage" value="send" title="send message" onclick="do_popup()"/>
|
||||
<input name="popup" type="text" size="50" maxlength="255" title="{=L:message_to_screen_desc=}"/>
|
||||
<button type="submit" name="pmessage" ytype="go" title="{=L:send=message=}">{=L:send=}</button>
|
||||
</td></tr>
|
||||
</table>
|
||||
<br/>
|
||||
|
256
src/nhttpd/web/Y_EPG.js
Normal 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);
|
||||
}
|
163
src/nhttpd/web/Y_EPG_Plus.js
Normal 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;
|
||||
}
|
||||
}
|
@@ -1,209 +1,68 @@
|
||||
{=include-block:Y_Blocks.txt;head_no_charset=}
|
||||
<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="/prototype.js"></script>
|
||||
<script type="text/javascript" src="/Y_EPG.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
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_imdb(){
|
||||
|
||||
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>
|
||||
|
||||
</head>
|
||||
<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_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">
|
||||
<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=}=}=}
|
||||
</select>
|
||||
<select id="epg_time" size="1" name="epg_time">
|
||||
</select>
|
||||
<input id="btGet" type="button" value="Update" title="get or refresh EPG" onclick="build_epg_plus_main()">
|
||||
<input id="btPast" type="button" value="-2" title="past hours" onclick="build_epg_plus_delta(-2)">
|
||||
<input id="btNext" type="button" value="+2" title="next hours" onclick="build_epg_plus_delta(2)">
|
||||
<button id="btGet" type="button" ytype="{=L:refresh=}" title="get or refresh EPG" onclick="build_epg_plus_main()">{=L:refresh=}</button>
|
||||
<button id="btPast" type="button" ytype="timedown" title="past hours" onclick="build_epg_plus_delta(-2)">-2</button>
|
||||
<button id="btNext" type="button" ytype="timeup"" title="next hours" onclick="build_epg_plus_delta(2)">+2</button>
|
||||
</form>
|
||||
|
||||
<div id="epg_plus"> </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>
|
||||
</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"> </div>
|
||||
<div id="d_info1" class="ep_info_info1"> </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"> </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>
|
||||
<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">
|
||||
//<![CDATA[
|
||||
build_time_list(0);
|
||||
epg_plus_init("{=ini-get:/var/tuxbox/config/nhttpd.conf;Tuxbox.LogosURL=}");
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
|
@@ -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~=}=}
|
||||
{=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">
|
||||
//<![CDATA[
|
||||
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 build_menu()
|
||||
{
|
||||
var extfile = "{=var-get:extention=}";
|
||||
var extlist = loadSyncURL("/control/exec?Y_Tools&get_extention_list&" + Math.random());
|
||||
var list = extlist.split("\n");
|
||||
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(",");
|
||||
if(ext_type=="n"){
|
||||
var item="<a target=\"work\" title=\""+pieces[2]+"\" href=\""+pieces[3]+"\">"+pieces[1]+"</a>";
|
||||
|
||||
function build_menu(){
|
||||
// ext.read_items();
|
||||
var ext_normal=ext.select_type("n");
|
||||
ext_normal.each(function(e){
|
||||
var item="<a target=\"work\" title=\""+e.get('desc')+"\" href=\""+e.get('file')+"\">"+e.get('menuitem')+"</a>";
|
||||
y_add_li_to_ul(id("ext_normal"),"ext",item);
|
||||
} else {
|
||||
});
|
||||
var ext_normal=ext.select_type("m");
|
||||
ext_normal.each(function(e){
|
||||
{=if-empty:{=var-get:management=}~
|
||||
var item="<span class=\"disabled\" title=\""+pieces[2]+" (restricted by ManagementIP)\">"+pieces[1]+"</span>";
|
||||
var item="<span class=\"disabled\" title=\""+e.get('desc')+" (restricted by ManagementIP)\">"+e.get('menuitem')+"</span>";
|
||||
~
|
||||
var item="<a target=\"work\" title=\""+pieces[2]+"\" href=\""+pieces[3]+"\">"+pieces[1]+"</a>";
|
||||
var item="<a target=\"work\" title=\""+e.get('desc')+"\" href=\""+e.get('file')+"\">"+e.get('menuitem')+"</a>";
|
||||
=}
|
||||
y_add_li_to_ul(id("ext_management"),"ext",item);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body onload="build_menu()">
|
||||
<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_section">Normal</div>
|
||||
<div class="y_menu_sec_section">{=L:normal=}</div>
|
||||
<div class="y_menu_sec">
|
||||
<ul id="ext_normal">
|
||||
<ul>
|
||||
</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">
|
||||
<ul id="ext_management">
|
||||
</ul>
|
||||
</div>
|
||||
<div class="y_menu_sec_section">Admin</div>
|
||||
<div class="y_menu_sec_section">{=L:administration=}</div>
|
||||
<div class="y_menu_sec">
|
||||
<ul>
|
||||
{=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="Extentions updater/installer" href="Y_Ext_Update.yhtm">Updater/Installer</a></li>
|
||||
<li><a target="work" title="" href="Y_Ext_Settings.yhtm">{=L:settings=}</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>
|
||||
</div>
|
||||
|
@@ -1,10 +1,12 @@
|
||||
{=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 do_submit()
|
||||
{
|
||||
function do_submit(){
|
||||
show_waitbox(true);
|
||||
document.f.submit();
|
||||
}
|
||||
@@ -12,10 +14,10 @@ function do_submit()
|
||||
</script>
|
||||
</head>
|
||||
<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_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">
|
||||
<form name="f" accept-charset="UTF-8" action="/y/cgi">
|
||||
<table border="0" class="y_form_table" cellspacing="0" cellpadding="0">
|
||||
@@ -27,11 +29,10 @@ function do_submit()
|
||||
<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"/>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
{=include-block:Y_Blocks.txt;management_check_bottom=}
|
||||
|
||||
|
79
src/nhttpd/web/Y_Ext_Uninstall.yhtm
Normal 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: <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> </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=}
|
||||
|
239
src/nhttpd/web/Y_Ext_Update.js
Normal 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=" ";
|
||||
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();
|
||||
}
|
||||
|
@@ -1,208 +1,57 @@
|
||||
{=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">
|
||||
//<![CDATA[
|
||||
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>
|
||||
<script type="text/javascript" src="/Y_yweb.js"></script>
|
||||
<script type="text/javascript" src="/Y_Ext_Update.js"></script>
|
||||
</head>
|
||||
<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_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>
|
||||
<div class="work_box_body" width="100%s">
|
||||
{=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%">
|
||||
<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="">
|
||||
<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/>
|
||||
<b>update Preview List</b>
|
||||
<table class="y_work_table" cellpadding="2">
|
||||
<div class="y_form_header_oline">update Preview List</div>
|
||||
<table class="lt_table" cellspacing="0" cellpadding="2">
|
||||
<thead align="left">
|
||||
<tr>
|
||||
<tr valign="bottom">
|
||||
<th> </th>
|
||||
<th>Site</th><th>Extention</th>
|
||||
<th>Tag</th><th>your Version</th><th>Update Version</th>
|
||||
<th>Site</th><th>Type</th><th>Extension</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>
|
||||
</thead>
|
||||
<tbody id="update_list">
|
||||
<tr><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<input type="button" value="update/install" title="" name="set_updates" onclick="do_set_updates()"/>
|
||||
<button type="button" ytype="go" title="" name="set_updates" onclick="do_set_updates()">update/install</button>
|
||||
</form>
|
||||
<br/>New extention settings (preview)<br/>
|
||||
<br/>
|
||||
<div id="free">?</div>
|
||||
Free: <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> </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>
|
||||
@@ -213,23 +62,14 @@ function add_item_to_ext_list(upd_index)
|
||||
<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>
|
||||
<br/>
|
||||
<form method="post" name="log" action="">
|
||||
<b>Log</b><br/>
|
||||
<table class="y_work_table" cellpadding="4">
|
||||
<thead align="left">
|
||||
<tr>
|
||||
<th> </th><th>Aktion</th><th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="slog_list">
|
||||
<tr><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br/>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
window.setTimeout("build_list();",500);
|
||||
yversion_str="{=ini-get:Y_Version.txt;version=}";
|
||||
//]]>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
{=include-block:Y_Blocks.txt;management_check_bottom=}
|
||||
|
@@ -1,21 +1,25 @@
|
||||
{=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">
|
||||
//<![CDATA[
|
||||
function do_onload()
|
||||
{
|
||||
yhttpd_cache_clear('');
|
||||
ext.read_items();
|
||||
parent.sec_menu.location.reload();
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<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_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">
|
||||
Settings stored. Menu is updated.
|
||||
Settings saved. Refreshing Menue now.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
117
src/nhttpd/web/Y_Flash.js
Normal 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="/";
|
||||
}
|
@@ -4,15 +4,17 @@
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<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.de/yFAQ.htm" title="FAQ at yjogol.de" target="_blank">FAQ zu yWeb</a></li>
|
||||
<li><a href="http://forum.tuxbox.org" 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/faq" class="exlink" title="FAQ at yjogol.com" 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" class="exlink" title="Tuxbox Dicussion Forum" target="_blank">Tuxbox Forum</a></li>
|
||||
<li><a href="http://www.yjogol.com" class="exlink" title="Homepage of yWeb" target="_blank">Homepage yWeb</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{=include-block:Y_neutrino_Blocks.txt;neutrino_form_helpbox=}
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -1,19 +1,36 @@
|
||||
{=var-set:cancache=yPConf=}
|
||||
{=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>
|
||||
{=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_head"><h2>Info</h2></div>
|
||||
<div class="y_menu_sec_box_body">
|
||||
<div class="y_menu_sec">
|
||||
<ul id="menu_sec">
|
||||
<li><a target="work" title="About yWeb" href="Y_About.yhtm">About</a></li>
|
||||
<li><a target="work" title="Getting Help" href="Y_Info_Help.yhtm">Help</a></li>
|
||||
<ul id="secmenu">
|
||||
<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">{=L:help=}</a></li>
|
||||
{=if-empty:{=var-get:management=}~
|
||||
<li class="disabled" title="Check for Update of yWeb (restricted by ManagementIP)">Auf Updates prü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ü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>
|
||||
</div>
|
||||
|
@@ -13,12 +13,12 @@ function check_updates()
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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ü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">
|
||||
<table border="0" cellpadding="2" cellspacing="4">
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<b>Deine Version</b>
|
||||
<b>{=L:your_version=}</b>
|
||||
<p>
|
||||
{=ini-get:Y_Version.txt;version=}<br/>
|
||||
{=ini-get:Y_Version.txt;date=}<br/>
|
||||
@@ -27,14 +27,14 @@ function check_updates()
|
||||
</p>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<b>Neue Version</b>
|
||||
<b>{=L:actual_version=}</b>
|
||||
<p>
|
||||
{=ini-get:/tmp/version.txt;version=}<br/>
|
||||
{=ini-get:/tmp/version.txt;date=}<br/>
|
||||
{=ini-get:/tmp/version.txt;type=}<br/><br/>
|
||||
{=ini-get:/tmp/version.txt;info=}<br/>
|
||||
{=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>
|
||||
</td>
|
||||
|
337
src/nhttpd/web/Y_Live.js
Normal 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);
|
||||
}
|
@@ -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~=}=}
|
||||
{=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_VLC.js"></script>
|
||||
<script type="text/javascript" src="/Y_Live.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
/*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)
|
||||
{
|
||||
function build_bouquet_list(bouquet){
|
||||
var used_bouquet = bouquet;
|
||||
if(used_bouquet == -1)
|
||||
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 = "<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 += "</select>";
|
||||
bouquet_dropdown += "<\/select>";
|
||||
obj_update('bouquets_div', bouquet_dropdown);
|
||||
build_channel_list(used_bouquet, -1);
|
||||
}
|
||||
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;
|
||||
}
|
||||
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()
|
||||
{
|
||||
function view_epg(){
|
||||
var sel=document.x.channels.selectedIndex;
|
||||
if(sel != -1){
|
||||
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=}";
|
||||
}
|
||||
function view_record_mode()
|
||||
{
|
||||
function view_record_mode(){
|
||||
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=}";
|
||||
}
|
||||
function view_transcode_mode()
|
||||
{
|
||||
function view_transcode_mode(){
|
||||
parent.col2.location.href = "/Y_Live_Transcode.yhtm?browser={=browser=}&mode={=mode=}&typ=transcode";
|
||||
}
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body onload="do_onload()">
|
||||
<body>
|
||||
{=var-set:wait_text=Streaming-Informationen<br/>werden ermittelt.=}{=include-block:Y_Blocks.txt;snip_wait=}
|
||||
<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">
|
||||
<tr><td>
|
||||
<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>
|
||||
</td><td>
|
||||
{=if-equal:{=typ=}~popup~
|
||||
@@ -393,14 +69,27 @@ function view_transcode_mode()
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
<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>
|
||||
</td><td>
|
||||
<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">
|
||||
<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>
|
||||
<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>
|
||||
</form>
|
||||
</div>
|
||||
@@ -408,62 +97,59 @@ function view_transcode_mode()
|
||||
<div id="vlc_view">
|
||||
</div>
|
||||
<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"
|
||||
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">
|
||||
<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()">
|
||||
<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);">
|
||||
<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);">
|
||||
<img src="/images/volumeup.png"></button>
|
||||
<img src="/images/volumeup.png"/></button>
|
||||
{=if-equal:{=mode=}~tv~
|
||||
<button id="fullscreen" class="y_live_button" type="button" value="F"
|
||||
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()">
|
||||
<img src="/images/livelock.png"></button>
|
||||
<!-- </form>
|
||||
</div>
|
||||
<div id="live_extended_controls">
|
||||
<form name="le" action="" method="get">-->
|
||||
<img src="/images/livelock.png"/></button>
|
||||
|
||||
{=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()">
|
||||
<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">
|
||||
<img src="/images/snapshot.png"></button>
|
||||
<img src="/images/snapshot.png"/></button>
|
||||
=}
|
||||
{=if-equal:{=typ=}~popup~~
|
||||
{=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">
|
||||
<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">
|
||||
<img src="/images/transcode.png"></button>
|
||||
<img src="/images/transcode.png"/></button>
|
||||
=}
|
||||
<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>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![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 ...");
|
||||
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~
|
||||
always_on_top();
|
||||
=}
|
||||
window.setTimeout("do_init()",300);
|
||||
*/
|
||||
do_onload();
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
|
@@ -18,7 +18,7 @@ function setTranscode()
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr><td valign="top">
|
||||
|
@@ -3,14 +3,14 @@
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<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ützt Inlineframes nicht oder zeigt sie in der derzeitigen Konfiguration nicht an.
|
||||
</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">
|
||||
Your Browser does not support Inlineframes or is not configured correctely.
|
||||
Ihr Browser unterstützt Inlineframes nicht oder zeigt sie in der derzeitigen Konfiguration nicht an.
|
||||
</iframe>
|
||||
=}
|
||||
</div>
|
||||
|
@@ -20,13 +20,14 @@ function sLog_clear()
|
||||
}
|
||||
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++;
|
||||
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, "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, "endtime", _end);
|
||||
y_add_html_cell_to_row(mycurrent_row, "epgtitle", _title);
|
||||
@@ -55,7 +56,11 @@ function check_logo()
|
||||
=}
|
||||
show_obj("logo",true);
|
||||
}
|
||||
function show_epg()
|
||||
function show_epg() {
|
||||
show_waitbox(true);
|
||||
window.setTimeout("_show_epg()",100);
|
||||
}
|
||||
function _show_epg()
|
||||
{
|
||||
check_logo();
|
||||
sLog_init();
|
||||
@@ -75,6 +80,7 @@ function show_epg()
|
||||
var _stop = getXMLNodeItemValue(prog, "stop_sec");
|
||||
if(_stop > _starttime){
|
||||
var _start_t = getXMLNodeItemValue(prog, "start_t");
|
||||
var _date = getXMLNodeItemValue(prog, "date");
|
||||
var _start = getXMLNodeItemValue(prog, "start_sec");
|
||||
var _stop_t = getXMLNodeItemValue(prog, "stop_t");
|
||||
var _desc = epg_de_qout(getXMLNodeItemValue(prog, "description"));
|
||||
@@ -84,10 +90,10 @@ function show_epg()
|
||||
var epg_obj= new Array(_desc, _info1, _info2, _start, _start_t, _stop.toString(), "{=channel=}");
|
||||
epg_data.push(epg_obj);
|
||||
|
||||
var _rec = "<a title=\"record\" href=\"javascript:set_timer('{=channel=}',"+_start+","+_stop+");\">Rec</a>";
|
||||
var _zapit = "<a title=\"zapping\" href=\"javascript:set_zapit('{=channel=}',"+_start+");\">Zap</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+");\"><img src=\"images/zap.png\"/></a>";
|
||||
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++;
|
||||
}
|
||||
}
|
||||
@@ -97,26 +103,18 @@ function show_epg()
|
||||
//]]>
|
||||
</script>
|
||||
</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()">
|
||||
<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">
|
||||
<tr>
|
||||
<th colspan="2"><img id="logo" src="{=ini-get:/var/tuxbox/config/nhttpd.conf;ExtrasDocURL=}/logos/{=channel=}.gif" style="visibility:hidden"> </th>
|
||||
<th>From</th><th>to</th><th>Broadcasting</th>
|
||||
<th colspan="2"><img id="logo" src="{=ini-get:/var/tuxbox/config/nhttpd.conf;Tuxbox.LogosURL=}/{=channel=}.gif" style="visibility:hidden"> </th>
|
||||
<th>{=L:date=}</th><th>{=L:from=}</th><th>{=L:to=}</th><th>{=L:program=}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="slog_list">
|
||||
<tr><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br />
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
// show_waitbox(true);
|
||||
// window.setTimeout("show_epg()",500);
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -2,8 +2,7 @@
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function show_info(_desc, _info1, _info2)
|
||||
{
|
||||
function show_info(_desc, _info1, _info2){
|
||||
document.getElementById("description").innerHTML = _desc;
|
||||
document.getElementById("info1").innerHTML = _info1;
|
||||
document.getElementById("info2").innerHTML = _info2;
|
||||
@@ -11,12 +10,12 @@ function show_info(_desc, _info1, _info2)
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<a href="javascript:window.history.back()"><u>Back</u></a>
|
||||
<a href="javascript:window.history.back()"><u>{=L:back=}</u></a>
|
||||
<body>
|
||||
<div class="y_epg_info">
|
||||
<div id="description"> </div>
|
||||
<div id="info1"> </div>
|
||||
<div id="info2">For details: move the mouse on the corresponding program.</div>
|
||||
<div id="info2">{=L:hover_for_details=}</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,32 +1,48 @@
|
||||
{=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">
|
||||
//<![CDATA[
|
||||
var live_window;
|
||||
function go_live()
|
||||
{
|
||||
/* 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)
|
||||
{
|
||||
function go_live_popup(_url){
|
||||
res_w=384;
|
||||
res_h=288+90;
|
||||
res_h=288+120;
|
||||
var par = "width="+res_w+",height="+res_h+",resizable=yes";
|
||||
tv = window.open(_url,'tv',par);
|
||||
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");
|
||||
}
|
||||
function go_live_popup_radio()
|
||||
{
|
||||
function go_live_popup_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>
|
||||
</head>
|
||||
@@ -37,33 +53,36 @@ function go_live_popup_radio()
|
||||
<div class="y_menu_sec_box_body">
|
||||
<div class="y_menu_sec_section">Live</div>
|
||||
<div class="y_menu_sec">
|
||||
<ul>
|
||||
<ul id="secmenu_live">
|
||||
<li>
|
||||
<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&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>
|
||||
</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="LiveRadio" href="Y_LiveViewFull.yhtm?mode=radio&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>
|
||||
</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&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>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="y_menu_sec_section">Timer</div>
|
||||
<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="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="recorder" href="Y_Blank.yhtm">Recorder</a></li>-->
|
||||
</ul>
|
||||
</div>
|
||||
@@ -71,14 +90,10 @@ function go_live_popup_radio()
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
if(is_ie)
|
||||
{
|
||||
var _obj = document.getElementById("transcode");
|
||||
_obj.style.display = "block";
|
||||
}
|
||||
{=if-empty:{=start=}~~
|
||||
go_live_popup_tv();
|
||||
=}
|
||||
init();
|
||||
//]]>
|
||||
</script>
|
||||
</body>
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
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>
|
||||
|
@@ -1,103 +1,83 @@
|
||||
{=include-block:Y_Blocks.txt;head=}
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript" src="/prototype.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
/*0=normal, 1=record*/
|
||||
var isRecord=false;
|
||||
function setControls(state)
|
||||
{
|
||||
switch(state)
|
||||
{
|
||||
switch(state) {
|
||||
case 1:
|
||||
document.v.record_filename.disabled=true;
|
||||
document.v.tdisplay.disabled=true;
|
||||
document.v.transon.disabled=true;
|
||||
$('record_filename','tdisplay', 'transon').invoke('disable');
|
||||
break;
|
||||
|
||||
default:
|
||||
document.v.record_filename.disabled=false;
|
||||
document.v.tdisplay.disabled=false;
|
||||
document.v.transon.disabled=false;
|
||||
$('record_filename','tdisplay', 'transon').invoke('enable');
|
||||
break;
|
||||
}
|
||||
}
|
||||
/*0=custom, 1=off*/
|
||||
function setControlsCustom(state)
|
||||
{
|
||||
switch(state)
|
||||
{
|
||||
switch(state){
|
||||
case 1:
|
||||
{=if-equal:{=mode=}~tv~
|
||||
document.v.twidth.disabled=true;
|
||||
document.v.theight.disabled=true;
|
||||
document.v.vcodec.disabled=true;
|
||||
document.v.vb.disabled=true;
|
||||
document.v.scale.disabled=true;
|
||||
$('twidth','theight', 'vcodec', 'vb', 'scale').invoke('disable');
|
||||
=}
|
||||
document.v.acodec.disabled=true;
|
||||
document.v.ab.disabled=true;
|
||||
document.v.channels.disabled=true;
|
||||
document.v.tmux.disabled=true;
|
||||
$('acodec','ab', 'channels', 'tmux').invoke('disable');
|
||||
break;
|
||||
|
||||
default:
|
||||
{=if-equal:{=mode=}~tv~
|
||||
document.v.twidth.disabled=false;
|
||||
document.v.theight.disabled=false;
|
||||
document.v.vcodec.disabled=false;
|
||||
document.v.vb.disabled=false;
|
||||
document.v.scale.disabled=false;
|
||||
$('twidth','theight', 'vcodec', 'vb', 'scale').invoke('enable');
|
||||
=}
|
||||
document.v.acodec.disabled=false;
|
||||
document.v.ab.disabled=false;
|
||||
document.v.channels.disabled=false;
|
||||
document.v.tmux.disabled=false;
|
||||
$('acodec','ab', 'channels', 'tmux').invoke('enable');
|
||||
break;
|
||||
}
|
||||
}
|
||||
function on_profile_change()
|
||||
{
|
||||
if(document.v.profile.value == "custom")
|
||||
if($F('profile') == "custom")
|
||||
setControlsCustom(0);
|
||||
else
|
||||
setControlsCustom(1);
|
||||
}
|
||||
function on_transon_change()
|
||||
{
|
||||
if(document.v.transon.checked)
|
||||
{
|
||||
document.v.profile.disabled=false;
|
||||
if($('transon').checked){
|
||||
$('profile').enable();
|
||||
on_profile_change();
|
||||
}
|
||||
else
|
||||
{
|
||||
document.v.profile.disabled=true;
|
||||
else {
|
||||
$('profile').disable();
|
||||
setControlsCustom(1);
|
||||
}
|
||||
}
|
||||
function doRecord()
|
||||
{
|
||||
var _live = parent.live;
|
||||
if(document.v.record.value == "Record")
|
||||
if(!isRecord)
|
||||
{
|
||||
var transcode = "";
|
||||
var stream = "";
|
||||
if(document.v.transon.checked)
|
||||
if($('transon').checked)
|
||||
{
|
||||
switch(document.v.profile.value)
|
||||
switch($F('profile'))
|
||||
{
|
||||
case "custom":
|
||||
transcode = "transcode{"+
|
||||
{=if-equal:{=mode=}~tv~
|
||||
"width=" +document.v.twidth.value+
|
||||
",height=" +document.v.theight.value+
|
||||
",vcodec=" +document.v.vcodec.value+
|
||||
",vb=" +document.v.vb.value+
|
||||
",scale=" +document.v.scale.value+
|
||||
"width=" +$F('twidth')+
|
||||
",height=" +$F('theight')+
|
||||
",vcodec=" +$F('vcodec')+
|
||||
",vb=" +$F('vb')+
|
||||
",scale=" +$F('scale')+
|
||||
","+
|
||||
=}
|
||||
"acodec=" +document.v.acodec.value+
|
||||
",ab=" +document.v.ab.value+
|
||||
",channels=" +document.v.channels.value+
|
||||
"acodec=" +$F('acodec')+
|
||||
",ab=" +$F('ab')+
|
||||
",channels=" +$F('channels')+
|
||||
",deinterlace}:";
|
||||
break;
|
||||
|
||||
@@ -105,6 +85,10 @@ function doRecord()
|
||||
transcode = "transcode{width=320,height=240,vcodec=mp4v,vb=768,acodec=mp4a,ab=128}:";
|
||||
break;
|
||||
|
||||
case "divx3":
|
||||
transcode = "transcode{vcodec=DIV3,vb=1024,scale=1,acodec=mp3,ab=192,channels=2}:";
|
||||
break;
|
||||
|
||||
case "mp3":
|
||||
transcode = "transcode{acodec=mp3,ab=192}:";
|
||||
break;
|
||||
@@ -114,13 +98,13 @@ function doRecord()
|
||||
break;
|
||||
}
|
||||
}
|
||||
switch(document.v.profile.value)
|
||||
switch($F('profile'))
|
||||
{
|
||||
case "mp3":
|
||||
stream = "dst=std{"+
|
||||
"access=file"+
|
||||
",mux=raw"+
|
||||
",url="+document.v.record_filename.value+
|
||||
",url=\""+$F('record_filename')+"\""+
|
||||
"}";
|
||||
break;
|
||||
|
||||
@@ -128,104 +112,106 @@ function doRecord()
|
||||
stream = "dst=std{"+
|
||||
"access=file"+
|
||||
",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;
|
||||
|
||||
default:
|
||||
stream = "dst=std{"+
|
||||
"access=file"+
|
||||
",mux="+document.v.tmux.value+
|
||||
",url="+document.v.record_filename.value+
|
||||
",mux="+$F('tmux')+
|
||||
",url=\""+$F('record_filename')+"\""+
|
||||
"}";
|
||||
break;
|
||||
}
|
||||
if(document.v.tdisplay.checked)
|
||||
if($('tdisplay').checked)
|
||||
stream = stream+",dst=display";
|
||||
|
||||
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);
|
||||
_live.do_play_state(1, options);
|
||||
_live.do_play_bystring(__vlc_cmd);
|
||||
}
|
||||
else
|
||||
{
|
||||
document.v.record.value = "Record";
|
||||
setControls(0);
|
||||
_live.do_play();
|
||||
}
|
||||
isRecord=!isRecord;
|
||||
$('record').update( (isRecord)? "Stop Record": "Record");
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form name="v" action="" method="get">
|
||||
<table class="y_live_table" cellspacing="0" width="100%">
|
||||
<tr><td class="y_form_header" colspan="5">Record Mode</td></tr>
|
||||
<form id="v" class="y_form" action="" method="get">
|
||||
<table cellspacing="0" width="100%">
|
||||
<tr><td class="y_form_header" colspan="4">Record Mode</td></tr>
|
||||
<tr>
|
||||
<td> </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>
|
||||
<td> </td>
|
||||
<td colspan="4">
|
||||
<input type="checkbox" name="tdisplay" value="1" title="Display on while transcoding" checked="checked"/>Display on
|
||||
<input type="checkbox" name="transon" value="1" title="use transcoding" onclick="on_transon_change()"/>Transcoding on
|
||||
<input type="checkbox" id="tdisplay" value="1" title="Display on while transcoding" checked="checked"/>Display on
|
||||
<input type="checkbox" id="transon" value="1" title="use transcoding" onclick="on_transon_change()"/>Transcoding on
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td colspan="4">
|
||||
<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"> <span id="record">Record</span></button>
|
||||
</td>
|
||||
</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>
|
||||
<td> </td>
|
||||
<td>Profile:</td>
|
||||
<td>
|
||||
<select name="profile" class="y_live_button" onchange="on_profile_change()">
|
||||
<td colspan="3">
|
||||
<select id="profile" class="y_live_button" onchange="on_profile_change()">
|
||||
{=if-equal:{=mode=}~tv~
|
||||
<option value="ipod" selected>iPod Video</option>
|
||||
<option value="divx3">DivX</option>
|
||||
=}
|
||||
<option value="custom">custom</option>
|
||||
<option value="ipoda">iPod Audio</option>
|
||||
<option value="mp3">mp3 Audio</option>
|
||||
</select>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
{=if-equal:{=mode=}~tv~
|
||||
<tr><td class="y_form_section"><br/>Video</td><td class="y_form_section" colspan="4"> </td></tr>
|
||||
<tr><td class="y_form_section"><br/>Video</td><td class="y_form_section" colspan="3"> </td></tr>
|
||||
<tr>
|
||||
<td> </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ö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>
|
||||
<td> </td>
|
||||
<td>Codec:</td>
|
||||
<td>
|
||||
<select name="vcodec" class="y_live_button">
|
||||
<select id="vcodec" class="y_live_button">
|
||||
<option value="mp4v" selected>mp4v</option>
|
||||
<option value="mp1v">mp1v</option>
|
||||
<option value="mp2v">mp2v</option>
|
||||
<option value="DIV3">DIV3</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>
|
||||
</td>
|
||||
<td>Bitrate:</td>
|
||||
<td>
|
||||
<select name="vb" class="y_live_button">
|
||||
<select id="vb" class="y_live_button">
|
||||
<option value="1024">1024</option>
|
||||
<option value="786">786</option>
|
||||
<option value="512">512</option>
|
||||
@@ -238,10 +224,9 @@ function doRecord()
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Scale:</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.50">0.50</option>
|
||||
<option value="0.75">0.75</option>
|
||||
@@ -256,21 +241,23 @@ function doRecord()
|
||||
<td> </td>
|
||||
</tr>
|
||||
=}
|
||||
<tr><td class="y_form_section">Audio</td><td class="y_form_section" colspan="4"> </td></tr>
|
||||
<tr><td class="y_form_section">Audio</td><td class="y_form_section" colspan="3"> </td></tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Codec:</td>
|
||||
<td>
|
||||
<select name="acodec" class="y_live_button">
|
||||
<select id="acodec" class="y_live_button">
|
||||
<option value="mp4a" selected>mp4a</option>
|
||||
<option value="mp3">mp3</option>
|
||||
<option value="mp2a">mp2a</option>
|
||||
<option value="a52">a52</option>
|
||||
<option value="vorb">vorb</option>
|
||||
<option value="flac">flac</option>
|
||||
<option value="fl32">fl32</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>Bitrate:</td>
|
||||
<td>
|
||||
<select name="ab" class="y_live_button">
|
||||
<select id="ab" class="y_live_button">
|
||||
<option value="192">192</option>
|
||||
<option value="128">128</option>
|
||||
<option value="96">96</option>
|
||||
@@ -281,10 +268,9 @@ function doRecord()
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Channels:</td>
|
||||
<td>
|
||||
<select name="channels" class="y_live_button">
|
||||
<select id="channels" class="y_live_button">
|
||||
<option value="1">1</option>
|
||||
<option value="2 selected">2</option>
|
||||
<option value="6">6</option>
|
||||
@@ -293,21 +279,24 @@ function doRecord()
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr><td class="y_form_section">Mux</td><td class="y_form_section" colspan="4"> </td></tr>
|
||||
<tr><td class="y_form_section">Mux</td><td class="y_form_section" colspan="3"> </td></tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Mux:</td>
|
||||
<td>
|
||||
<select name="tmux" class="y_live_button">
|
||||
<select id="tmux" class="y_live_button">
|
||||
{=if-equal:{=mode=}~tv~
|
||||
<option value="ts" selected>ts</option>
|
||||
<option value="ps">ps</option>
|
||||
<option value="mp4">mp4</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="mp4">mp4</option>
|
||||
<option value="ogg">ogg</option>
|
||||
=}
|
||||
</select>
|
||||
</td>
|
||||
|
@@ -41,26 +41,29 @@ function doTranscode()
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form name="v" action="" method="get">
|
||||
<table class="y_live_table" cellspacing="0" width="100%">
|
||||
<form class="y_form" name="v" action="" method="get">
|
||||
<table cellspacing="0">
|
||||
<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"> </td></tr>
|
||||
<tr><td class="y_form_section"><br/>Video</td><td class="y_form_section" colspan="3"> </td></tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Width:</td>
|
||||
<td>Breite:</td>
|
||||
<td><input type="text" name="twidth" size="4" value="384" class="y_live_button"/></td>
|
||||
<td>Height:</td>
|
||||
<td>Höhe:</td>
|
||||
<td><input type="text" name="theight" size="4" value="288" class="y_live_button"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Codec:</td>
|
||||
<td>
|
||||
<select name="vcodec" class="y_live_button">
|
||||
<option value="mp4v" selected>mp4v</option>
|
||||
<option value="mp1v">mp1v</option>
|
||||
<option value="mp2v">mp2v</option>
|
||||
<option value="DIV3">DIV3</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>
|
||||
</td>
|
||||
<td>Bitrate:</td>
|
||||
@@ -78,7 +81,6 @@ function doTranscode()
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Scale:</td>
|
||||
<td>
|
||||
<select name="scale" class="y_live_button">
|
||||
@@ -95,9 +97,8 @@ function doTranscode()
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr><td class="y_form_section"><br/>Audio</td><td class="y_form_section" colspan="4"> </td></tr>
|
||||
<tr><td class="y_form_section"><br/>Audio</td><td class="y_form_section" colspan="3"> </td></tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Codec:</td>
|
||||
<td>
|
||||
<select name="acodec" class="y_live_button">
|
||||
@@ -105,6 +106,9 @@ function doTranscode()
|
||||
<option value="mp3">mp3</option>
|
||||
<option value="mp2a">mp2a</option>
|
||||
<option value="a52">a52</option>
|
||||
<option value="vorb">vorb</option>
|
||||
<option value="flac">flac</option>
|
||||
<option value="fl32">fl32</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>Bitrate:</td>
|
||||
@@ -120,7 +124,6 @@ function doTranscode()
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Channels:</td>
|
||||
<td>
|
||||
<select name="channels" class="y_live_button">
|
||||
@@ -132,9 +135,8 @@ function doTranscode()
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr><td class="y_form_section"><br/>Access</td><td class="y_form_section" colspan="4"> </td></tr>
|
||||
<tr><td class="y_form_section"><br/>Access</td><td class="y_form_section" colspan="3"> </td></tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Type:</td>
|
||||
<td>
|
||||
<select name="access" class="y_live_button">
|
||||
@@ -150,22 +152,24 @@ function doTranscode()
|
||||
<option value="ps">ps</option>
|
||||
<option value="mp4">mp4</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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>IP:Port:</td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="tip" size="18" value="localhost:1234" class="y_live_button">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td colspan="4">
|
||||
<td colspan="3">
|
||||
<br/>
|
||||
<input type="checkbox" name="tdisplay" value="1" title="Display on while transcoding" checked="checked"/>Display on
|
||||
<button class="y_live_button" type="button" value="transcode" title="transcode stream" name="transcode" onclick="doTranscode()">Transcode</button>
|
||||
<button class="y_live_button" type="button" value="transcode" title="transcode stream" name="transcode" onclick="doTranscode()"><img src="/images/transcode.png"> Transcode</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@@ -1,43 +1,115 @@
|
||||
body
|
||||
{
|
||||
font-family: Arial, Tahoma, Verdana, Geneva, Helvetica, sans-serif;
|
||||
body {
|
||||
font-family: Verdana, Geneva, Arial, 'Lucida Grande',Tahoma, Helvetica, sans-serif;
|
||||
background-color: White;
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
margin: 0;
|
||||
padding:0;
|
||||
font-size:10pt;
|
||||
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 {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;}
|
||||
button[ytype="no"]{height:21px;padding-left:1px}
|
||||
|
||||
/*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 */
|
||||
|
||||
a {
|
||||
color: #555555;
|
||||
font-size:10pt;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
td {
|
||||
color: #555555;
|
||||
font-size:10pt;
|
||||
}
|
||||
|
||||
tr {
|
||||
color: #555555;
|
||||
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 */
|
||||
.y_menu_prim_box {
|
||||
margin: 0;
|
||||
/* padding:0;*/
|
||||
width: 100%;
|
||||
background: url(/images/body-trans-r.gif) no-repeat bottom right;
|
||||
font-size: 100%;
|
||||
@@ -48,69 +120,68 @@ tr {
|
||||
padding: 0;
|
||||
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;
|
||||
margin: 0;
|
||||
padding: 5px 0px 5px;
|
||||
color: white;
|
||||
font-size: 0;
|
||||
line-height: 0.5em;
|
||||
/* font-size: 0;*/
|
||||
/* line-height: 0.5em;*/
|
||||
}
|
||||
.y_menu_prim_box_body {
|
||||
background: url(/images/body-trans-l.gif) no-repeat bottom left;
|
||||
margin: 0;
|
||||
/* margin: 0;*/
|
||||
padding-bottom: 8px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.y_menu_item
|
||||
{
|
||||
.y_menu_item {
|
||||
margin: 0;
|
||||
display: block;
|
||||
background-repeat: no-repeat;
|
||||
/* display: block;
|
||||
background-repeat: no-repeat;*/
|
||||
}
|
||||
.y_menu_prim
|
||||
{
|
||||
background-color: transparent;
|
||||
padding: 0em 0em 0em 0em;
|
||||
white-space: nowrap;
|
||||
.y_menu_prim {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
/* background-color: transparent;
|
||||
white-space: nowrap;*/
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
height: auto;
|
||||
line-height: normal;
|
||||
/* line-height: normal;*/
|
||||
}
|
||||
.y_menu_prim li
|
||||
{
|
||||
.y_menu_prim li {
|
||||
display: inline;
|
||||
}
|
||||
.y_menu_prim_item
|
||||
{
|
||||
margin: 0;
|
||||
/* font-family: Arial, 'Lucida Grande',Tahoma, Verdana, Geneva, Helvetica, sans-serif;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 1px;
|
||||
text-align:center;
|
||||
font-weight: bold;
|
||||
font-size: 12pt;
|
||||
text-decoration: none;
|
||||
height: auto;
|
||||
padding: 0em 0.5em;
|
||||
*/ text-align:center;
|
||||
font-weight: normal;
|
||||
/* height: auto;*/
|
||||
padding: 0em 0.3em;
|
||||
}
|
||||
.y_menu_prim_item {
|
||||
}
|
||||
.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;
|
||||
border: 1px solid #6D96A9;
|
||||
color: #555555;
|
||||
}
|
||||
.y_menu_prim li a:hover
|
||||
{
|
||||
.y_menu_prim li a:hover {
|
||||
color: #FF6600;
|
||||
}
|
||||
|
||||
#box_name {
|
||||
font-weight:normal;
|
||||
font-size:10pt;
|
||||
}
|
||||
/* secondary Navigation */
|
||||
.y_menu_sec_box {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
background: url(/images/body-trans-r.gif) no-repeat bottom right;
|
||||
font-size: 100%;
|
||||
@@ -121,23 +192,21 @@ tr {
|
||||
padding: 0;
|
||||
}
|
||||
.y_menu_sec_box_head h2 {
|
||||
background: url(/images/head-orange-l.gif) no-repeat top left;
|
||||
|
||||
margin: 0;
|
||||
padding: 12px 30px 3px 30px;
|
||||
padding: 10px 30px 3px 25px;
|
||||
background: url(/images/head-orange-l.gif) no-repeat top left;
|
||||
font-family: Arial, 'Lucida Grande',Tahoma, Verdana, Geneva, Helvetica, sans-serif;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.5em;
|
||||
font-size: 12pt;
|
||||
/* line-height: 1.5em;*/
|
||||
text-align: left;
|
||||
}
|
||||
.y_menu_sec_box_body {
|
||||
background: url(/images/body-trans-l.gif) no-repeat bottom left;
|
||||
margin: 0;
|
||||
padding-top: 5px;
|
||||
padding-left: 6px;
|
||||
padding-bottom: 20px;
|
||||
padding-right: 6px;
|
||||
/* padding:0;*/
|
||||
padding: 5px 5px 20px 5px;
|
||||
|
||||
}
|
||||
.y_menu_sec {
|
||||
@@ -147,43 +216,38 @@ tr {
|
||||
|
||||
}
|
||||
.y_menu_sec ul {
|
||||
padding: 0em 0em 0em 0em;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
margin: 0px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.y_menu_sec li {
|
||||
text-align: left;
|
||||
margin-bottom: 1px;
|
||||
padding-left: 20px;
|
||||
color: #555555
|
||||
color: #555555;
|
||||
}
|
||||
.y_menu_sec li.disabled
|
||||
{
|
||||
.y_menu_sec li.disabled {
|
||||
height: auto;
|
||||
margin-bottom: 0.1em;
|
||||
color: #808080;
|
||||
text-decoration:line-through;
|
||||
}
|
||||
.y_menu_sec li a
|
||||
{
|
||||
.y_menu_sec li a {
|
||||
text-decoration: none;
|
||||
font-size: 12px;
|
||||
font-size: 10pt;
|
||||
}
|
||||
.y_menu_sec li.plain a
|
||||
{
|
||||
.y_menu_sec li.plain a {
|
||||
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;
|
||||
}
|
||||
.y_menu_sec_section {
|
||||
margin: 10px 0px 0px 0px;
|
||||
padding: 5px 2px 5px 10px;
|
||||
padding: 3px 2px 3px 10px;
|
||||
background-color: #FFCC99;
|
||||
font-size: 10pt;
|
||||
font-weight: bold;
|
||||
@@ -201,24 +265,15 @@ tr {
|
||||
padding: 0;
|
||||
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;
|
||||
margin: 0;
|
||||
padding: 12px 30px 3px 30px;
|
||||
padding: 10px 30px 3px 30px;
|
||||
font-family: Arial, 'Lucida Grande',Tahoma, Verdana, Geneva, Helvetica, sans-serif;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.5em;
|
||||
text-align: left;
|
||||
}
|
||||
.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;
|
||||
font-size: 12pt;
|
||||
/* line-height: 1.5em;*/
|
||||
text-align: left;
|
||||
}
|
||||
.work_box_body {
|
||||
@@ -240,6 +295,17 @@ tr {
|
||||
font-size: 1.2em;
|
||||
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
|
||||
{
|
||||
font-size: 10pt;
|
||||
@@ -261,44 +327,8 @@ tr {
|
||||
background-position: center;
|
||||
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*/
|
||||
.y_wait_box {
|
||||
margin: 0;
|
||||
@@ -327,7 +357,6 @@ tr {
|
||||
}
|
||||
.y_wait_box_head h2 {
|
||||
background: url(/images/head-orange-l.gif) no-repeat top left;
|
||||
|
||||
margin: 0;
|
||||
padding: 12px 30px 3px 30px;
|
||||
color: white;
|
||||
@@ -351,15 +380,26 @@ tr {
|
||||
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;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
border-spacing: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
.y_live_button
|
||||
{
|
||||
.y_live_button {
|
||||
/* font-size: 8pt;
|
||||
height: 22px;*/
|
||||
padding: 0;
|
||||
@@ -389,32 +429,40 @@ tr {
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
font-size : 12pt;
|
||||
/* font-size : 12pt;*/
|
||||
font-weight:bold;
|
||||
border-bottom : 1px solid #6cadfd;
|
||||
color : #0066cc;
|
||||
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
|
||||
{
|
||||
@@ -441,7 +489,7 @@ tr {
|
||||
}
|
||||
.y_epg_info {
|
||||
border: 1px solid #CCCCCC;
|
||||
display:block;
|
||||
background-color: white;
|
||||
}
|
||||
.y_epg_info #description {
|
||||
font-weight:bold;
|
||||
@@ -451,39 +499,88 @@ tr {
|
||||
}
|
||||
.channel_logos
|
||||
{
|
||||
width: 40px;
|
||||
height: 21px;
|
||||
max-width: 44px;
|
||||
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 {
|
||||
margin-bottom: 2px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
position:relative;
|
||||
border-bottom : #BBBBBB solid 1px;
|
||||
}
|
||||
.ep_bouquet_name {
|
||||
border : #BBBBBB solid 1px;
|
||||
border-right : #BBBBBB solid 1px;
|
||||
width : 100px;
|
||||
height: 1.3em;
|
||||
/* height: 1.3em;*/
|
||||
overflow:hidden;
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
font-size:8pt;
|
||||
text-align: center;
|
||||
min-height: 20px;
|
||||
}
|
||||
.ep_bouquet_item {
|
||||
border : #BBBBBB solid 1px;
|
||||
border-right : #BBBBBB solid 1px;
|
||||
overflow:hidden;
|
||||
height: 1.3em;
|
||||
/* height: 1.3em;*/
|
||||
padding-left: 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 {
|
||||
width:100%;
|
||||
margin-bottom: 2px;
|
||||
margin-bottom: 0px;
|
||||
position:relative;
|
||||
border-bottom : #BBBBBB solid 1px;
|
||||
}
|
||||
.ep_time_bar_item {
|
||||
border : #999999 solid 1px;
|
||||
font-weight:bold;
|
||||
border-right : #BBBBBB solid 1px;
|
||||
height: 1.3em;
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
overflow:hidden;
|
||||
font-size:8pt;
|
||||
}
|
||||
.ep_info_desc {
|
||||
font-weight:bold;
|
||||
@@ -498,10 +595,12 @@ tr {
|
||||
#epg_info {
|
||||
border : #999999 solid 1px;
|
||||
visibility:hidden;
|
||||
}
|
||||
#epg_plus {
|
||||
width:auto;
|
||||
overflow:auto;
|
||||
display:block;
|
||||
z-index: 9980;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
left: 50px;
|
||||
top: 50px;
|
||||
}
|
||||
#epg_time {
|
||||
font-size: 8pt;
|
||||
@@ -516,6 +615,14 @@ tr {
|
||||
}
|
||||
tr.bouquetlist
|
||||
{
|
||||
}
|
||||
#bouqueteditorlist {
|
||||
width:100%;
|
||||
|
||||
}
|
||||
#bouqueteditorlist tr:hover {
|
||||
background-color: #dddddd;
|
||||
|
||||
}
|
||||
/*channels*/
|
||||
.bouquetitemlist
|
||||
@@ -536,6 +643,14 @@ tr.bouquetlist
|
||||
padding-right: 20px;
|
||||
margin:0px;
|
||||
}
|
||||
#epglist th {
|
||||
font-weight:bold;
|
||||
text-align: center;
|
||||
border-bottom : 1px solid #aaaaaa;
|
||||
}
|
||||
#epglist tbody tr:hover {
|
||||
background-color: #dddddd;
|
||||
}
|
||||
.aepg
|
||||
{
|
||||
background-color: #F0FAFF;
|
||||
@@ -572,7 +687,7 @@ a:hover.clistsmall
|
||||
}
|
||||
.c
|
||||
{
|
||||
background-color:#dee7ec;
|
||||
background-color:#D3E7F8;
|
||||
font-weight:bold;
|
||||
font-size:11pt;
|
||||
padding-left: 10px;
|
||||
@@ -581,7 +696,7 @@ a:hover.clistsmall
|
||||
}
|
||||
.cepg
|
||||
{
|
||||
background-color:#dee7ec;
|
||||
background-color:#D3E7F8;
|
||||
font-weight:normal;
|
||||
font-size:10pt;
|
||||
padding-left: 10px;
|
||||
@@ -589,7 +704,7 @@ a:hover.clistsmall
|
||||
.cslider_table
|
||||
{
|
||||
height: 10px;
|
||||
border: 1px solid #436976;
|
||||
border: 1px solid #6cafea;
|
||||
width: 30px;
|
||||
border-spacing: 0px;
|
||||
padding: 0px;
|
||||
@@ -597,7 +712,7 @@ a:hover.clistsmall
|
||||
}
|
||||
.cslider_used
|
||||
{
|
||||
background-color: #6D96A9;
|
||||
background-color: #A1CCF2;
|
||||
height: 10px;
|
||||
}
|
||||
.cslider_free
|
||||
@@ -628,51 +743,49 @@ a:hover.elist
|
||||
}
|
||||
|
||||
/*Timer*/
|
||||
.timer
|
||||
{
|
||||
.timer {
|
||||
border-collapse: collapse;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
border: 0;
|
||||
width: 100%;
|
||||
}
|
||||
a.timer
|
||||
{
|
||||
a.timer {
|
||||
text-decoration:underline;
|
||||
}
|
||||
.atimer
|
||||
{
|
||||
.atimer {
|
||||
background-color: #F0FAFF;
|
||||
font-weight:normal;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
.atimer td
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
.btimer
|
||||
{
|
||||
background-color:White;
|
||||
.btimer {
|
||||
font-weight:normal;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
.btimer td
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
.ctimer
|
||||
{
|
||||
background-color:#dee7ec;
|
||||
font-weight:normal;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
.ctimer td
|
||||
{
|
||||
.timer_header td {
|
||||
font-weight:bold;
|
||||
text-align: center;
|
||||
border-bottom : 1px solid #aaaaaa;
|
||||
}
|
||||
.timer_footer td {
|
||||
font-weight:bold;
|
||||
text-align: center;
|
||||
border-top : 1px solid #aaaaaa;
|
||||
}
|
||||
.blist
|
||||
{
|
||||
white-space: nowrap;
|
||||
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;
|
||||
}
|
||||
|
@@ -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=}
|
||||
<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">
|
||||
//<![CDATA[
|
||||
/*Indicator*/
|
||||
@@ -8,21 +11,18 @@ var g_i_active = false;
|
||||
var g_i_counter = 0;
|
||||
var g_i_rec_state = new Array(" REC ", " (REC) ", " ((REC)) ", "(((REC)))");
|
||||
var g_i_recording = false;
|
||||
function i_state_check()
|
||||
{
|
||||
function i_state_check(){
|
||||
var res = "";
|
||||
//var res = loadSyncURL("/control/setmode?status");
|
||||
g_i_recording = (res.search(/on/)!=-1);
|
||||
}
|
||||
function i_state_view()
|
||||
{
|
||||
function i_state_view(){
|
||||
if(g_i_recording)
|
||||
document.getElementById('state').innerHTML = g_i_rec_state[g_i_active %4];
|
||||
else
|
||||
document.getElementById('state').innerHTML = "";
|
||||
}
|
||||
function i_clock()
|
||||
{
|
||||
function i_clock(){
|
||||
now = new Date();
|
||||
var hour = now.getHours();
|
||||
var min = now.getMinutes();
|
||||
@@ -32,68 +32,100 @@ function i_clock()
|
||||
min = "0" + min;
|
||||
document.getElementById('clock').innerHTML = hour + ":" + min;
|
||||
}
|
||||
function i_interval()
|
||||
{
|
||||
function i_interval(){
|
||||
if(g_i_active<12)
|
||||
g_i_active++;
|
||||
else
|
||||
{
|
||||
else{
|
||||
g_i_active=0;
|
||||
i_clock();
|
||||
i_state_check();
|
||||
}
|
||||
i_state_view();
|
||||
}
|
||||
function i_start()
|
||||
{
|
||||
function i_start(){
|
||||
g_i_counter = 0;
|
||||
i_clock();
|
||||
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);
|
||||
}
|
||||
/* 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>
|
||||
<style>
|
||||
#prim{
|
||||
background: url(/images/tux-yweb.gif) no-repeat left top;
|
||||
height:38px;
|
||||
}
|
||||
</style>
|
||||
</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>
|
||||
<div class="y_menu_prim_box">
|
||||
<div class="y_menu_prim_box_head"><h2> </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">
|
||||
<table border="0" width="100%">
|
||||
<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="100">
|
||||
<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 width="150" id="prim">
|
||||
<span style="font-size: 8pt;position:relative;left:45px;top:10px;">{=L:version=} {=ini-get:Y_Version.txt;version=}</span>
|
||||
</td>
|
||||
<td>
|
||||
<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"
|
||||
title="Boxcontrol & Bouquets">Boxcontrol</a></li>
|
||||
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_live"
|
||||
title="LiveView, Timer Sync & Settings">Live/Timer</a></li>
|
||||
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_tools"
|
||||
title="Mounts, WOL, Expert Tools">Tools</a></li>
|
||||
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_settings"
|
||||
title="Settings for Box, Web, Plugins ...">Settings</a></li>
|
||||
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_ext"
|
||||
title="User Extentions ...">Extentions</a></li>
|
||||
<li><a class="y_menu_prim_item" target="base" href="Y_Dyn_Pages.yhtm?page=frame_info"
|
||||
title="Information about yWeb, Updates">Info</a></li>
|
||||
<li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_boxcontrol"
|
||||
title="{=L:boxcontrol_desc=}">{=L:boxcontrol=}</a></li>
|
||||
<li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_live"
|
||||
title="{=L:live_desc=}">{=L:live=}</a></li>
|
||||
<li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_tools"
|
||||
title="{=L:tools_desc=}">{=L:tools=}</a></li>
|
||||
<li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_settings"
|
||||
title="{=L:settings_desc=}">{=L:settings=}</a></li>
|
||||
<li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_ext"
|
||||
title="{=L:extensions_desc=}">{=L:extensions=}</a></li>
|
||||
<li><a target="base" href="Y_Dyn_Pages.yhtm?page=frame_info"
|
||||
title="{=L:info_desc=}">{=L:info=}</a></li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<a target="base" href="Y_Dyn_Pages.yhtm?page=frame_live_directtv" title="LiveTV"><img src="/images/live.gif"></a>
|
||||
<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>
|
||||
<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_Dyn_Pages.yhtm?page=frame_live_directtv" title={=L:live_tv_desc=}><img src="/images/live.gif"></a>
|
||||
<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>
|
||||
<a target="base" href="Y_Tools_remote_osd.yhtm?full=1" title="{=L:remote_full_desc=}"><img src="/images/fb.png"></a>
|
||||
<a href="javascript:vlc()" title="{=L:stream_to_vlc_client_desc=}"><img src="/images/vlc.gif"></a>
|
||||
</td>
|
||||
<td align="right">
|
||||
<span id="state" style="color : red;font-family: Courier New, Courier, monospace;"> </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=};"=}>
|
||||
<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>
|
||||
</td>
|
||||
</tr>
|
||||
|
@@ -36,8 +36,12 @@ function do_backup2()
|
||||
{=var-set:wait_text=Settings=}{=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=Neutrino:yWeb:Settings#Backup_.26_Restore=}{=var-set:menu=Backup & Restore=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
|
||||
{=var-set:help_url=Help-Settings-Backup_Restore=}{=var-set:menu=Backup & Restore=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
|
||||
<div class="work_box_body">
|
||||
<p><div style="border: 1px solid #cccccc;margin-top:20px">
|
||||
<img src="/images/cross.png"> <span><font size="2" color="Red"><b>Achtung</b> </font>Backup & Restore ist nur bei einem gleichen Image mit gleichem Stand sinnvoll.
|
||||
</span></div></p>
|
||||
<br />
|
||||
<table class="y_invisible_table" cellspacing="0" width="100%">
|
||||
<tr><td class="y_form_header">Backup</td></tr>
|
||||
<tr>
|
||||
@@ -47,7 +51,7 @@ function do_backup2()
|
||||
</div>
|
||||
</td>
|
||||
</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>
|
||||
<td>
|
||||
<form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&settings_backup_restore&restore">
|
||||
|
@@ -11,15 +11,15 @@ function do_refresh_liveview()
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
{=var-set:wait_text=Save.=}{=include-block:Y_Blocks.txt;snip_wait=}
|
||||
<form name="f" action="/y/cgi">
|
||||
<table border="0" class="y_live_table" cellspacing="0" width="100%">
|
||||
{=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=}
|
||||
<form class="y_form" name="f" action="/y/cgi">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr><td class="y_form_header" colspan="2"><br/>VLC Settings (IE & Mozilla >= 0.8.6.1)</td></tr>
|
||||
<tr>
|
||||
<td>Deinterlace</td>
|
||||
<td>
|
||||
<input type="radio" name="deinterlace" value="false" title="deinterlace: off"/>Off
|
||||
<input type="radio" name="deinterlace" value="true" title="deinterlace: on"/>On
|
||||
<input type="radio" name="deinterlace" value="false" title="deinterlace: off"/>AUS
|
||||
<input type="radio" name="deinterlace" value="true" title="deinterlace: on"/>AN
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -29,15 +29,29 @@ function do_refresh_liveview()
|
||||
<tr>
|
||||
<td>UDP as default</td>
|
||||
<td>
|
||||
<input type="radio" name="udp" value="false" title="udp: off"/>Off
|
||||
<input type="radio" name="udp" value="true" title="udp: on"/>On
|
||||
<input type="radio" name="udp" value="false" title="udp: off"/>AUS
|
||||
<input type="radio" name="udp" value="true" title="udp: on"/>AN
|
||||
</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/>
|
||||
<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="button" value="Save ..." title="submit and save values" onclick="do_submit()"/>
|
||||
<input type="button" value="Refresh LiveView" title="Refresh LiveView" onclick="do_refresh_liveview()"/>
|
||||
<button type="button" ytype="save" title="submit and save values" onclick="do_submit()">Speichern</button>
|
||||
<button type="button" ytype="refresh" title="Refresh LiveView" onclick="do_refresh_liveview()">Refresh LiveView</button>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
@@ -1,69 +1,144 @@
|
||||
{=var-set:cancache=yPConf=}
|
||||
{=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>
|
||||
<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~=}=}
|
||||
<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_section">General</div>
|
||||
<div class="y_menu_sec_section">{=L:general=}</div>
|
||||
<div class="y_menu_sec">
|
||||
<ul>
|
||||
<ul id="secmenu_general">
|
||||
{=if-empty:{=var-get:management=}~
|
||||
<li class="disabled" title="settings for yWeb itselfs (restricted by ManagementIP)">yWeb</li>
|
||||
<li class="disabled" title="settings for Web Server daemon (restricted by ManagementIP)">WebServer</li>
|
||||
<!--dbox2 only <li class="disabled" title="download or upload ucodes (restricted by ManagementIP)">Ucodes</li> dbox2 only-->
|
||||
<li class="disabled" title="download or upload Bouquetlist, Channellist, ... (restricted by ManagementIP)">Zapit</li>
|
||||
<li class="disabled" title="backup or upload boot logos (restricted by ManagementIP)">Boot Logo</li>
|
||||
<li class="disabled" title="SyncTimer Settings (restricted by ManagementIP)">Timer Settings</a></li>
|
||||
<li class="disabled" title="{=L:restriced_by_management_ip=}">yWeb</li>
|
||||
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:webserver=}</li>
|
||||
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:zapit=}</li>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:ucodes=}</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 title="settings for Web Server daemon" target="work" href="Y_Settings_nhttpd.yhtm">WebServer</a></li>
|
||||
<!--dbox2 only <li><a title="download or upload ucodes" target="work" href="Y_Settings_ucodes.yhtm">Ucodes</a></li> dbox2 only-->
|
||||
<li><a title="download or upload Bouquetlist, Channellist, ..." target="work" href="Y_Settings_zapit.yhtm">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 title="backup or restore settings" target="work" href="Y_Settings_Backup.yhtm">Backup & Restore</a></li>
|
||||
<li><a title="SyncTimer Settings" target="work" href="Y_Settings_Timer.yhtm">Timer Settings</a></li>
|
||||
<li><a target="work" href="Y_Settings_yWeb.yhtm">yWeb</a></li>
|
||||
<li><a target="work" href="Y_Settings_nhttpd.yhtm">{=L:webserver=}</a></li>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<li><a target="work" href="Y_Settings_zapit.yhtm">{=L:zapit=}</a></li>
|
||||
<li><a target="work" href="Y_Settings_ucodes.yhtm">{=L:ucodes=}</a></li>
|
||||
<li><a target="work" href="Y_Tools_Bootlogo.yhtm">{=L:boot_logo=}</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>-->
|
||||
</ul>
|
||||
</div>
|
||||
<div class="y_menu_sec_section">Neutrino</div>
|
||||
<div class="y_menu_sec">
|
||||
<ul>
|
||||
<ul id="secmenu_neutrino">
|
||||
{=if-empty:{=var-get:management=}~
|
||||
<li class="disabled" title="Bouquet Editor (restricted by ManagementIP)">Bouquet Editor</a></li>
|
||||
<li class="disabled" title="Parental settings (restricted by ManagementIP)">Parental</a></li>
|
||||
<li class="disabled" title="Recording settings (restricted by ManagementIP)">Recording</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="Pictureviewer settings (restricted by ManagementIP)">Pictureviewer</a></li>
|
||||
<li class="disabled" title="boot settings (restricted by ManagementIP)">Boot options</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:bouquet_editor=}</a></li>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:video_audio=}</a></li>
|
||||
~=}
|
||||
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:parental=}</a></li>
|
||||
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:recording=}</a></li>
|
||||
<li class="disabled" title="{=L:restriced_by_management_ip=}">{=L:direct_recording=}</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 title="Bouquet Editor" target="work" href="Y_Boxcontrol_Bouquet_Editor_Main.yhtm">Bouquet Editor</a></li>
|
||||
<li><a title="Parental settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_parental">Parental</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 title="Movieplayer settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_movieplayer">Movieplayer</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 title="Pictureviewer settings" target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_pictureviewer">Pictureviewer</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-->
|
||||
<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_Boxcontrol_Bouquet_Editor_Main.yhtm">{=L:bouquet_editor=}</a></li>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<li><a target="work" href="Y_Settings_video_audio.yhtm">{=L:video_audio=}</a></li>
|
||||
~=}
|
||||
<li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_parental">{=L:parental=}</a></li>
|
||||
<li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_record">{=L:recording=}</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 target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_audioplayer">{=L:audio_player=}</a></li>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_esound">{=L:esound_server=}</a></li>
|
||||
~=}
|
||||
<li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_movieplayer">{=L:movieplayer=}</a></li>
|
||||
<li><a target="work" href="Y_Settings_neutrino_forms.yhtm?form=neutrino_form-data_pictureviewer">{=L:pictureviewer=}</a></li>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<li><a target="work" href="Y_Settings_lcd.yhtm">{=L:lcd_display=}</a></li>
|
||||
~=}
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<li><a target="work" href="Y_Settings_buttons.yhtm">{=L:key_settings=}</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>
|
||||
</div>
|
||||
<div class="y_menu_sec_section">Plugins</div>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<div class="y_menu_sec_section">{=L:plugins=}</div>
|
||||
<div class="y_menu_sec">
|
||||
<ul>
|
||||
<ul id="secmenu_plugins">
|
||||
{=if-empty:{=var-get:management=}~
|
||||
<li class="disabled" title="configure VNC-Plugin (restricted by ManagementIP)">VNC</li>
|
||||
<li class="disabled" title="{=L:restriced_by_management_ip=}">VNC</li>
|
||||
~
|
||||
<li><a title="configure VNC-Plugin" target="work" href="Y_Settings_VNC.yhtm">VNC</a></li>
|
||||
<li><a target="work" href="Y_Settings_VNC.yhtm">VNC</a></li>
|
||||
=}
|
||||
</ul>
|
||||
</div>
|
||||
~=}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@@ -14,18 +14,18 @@ function do_submit()
|
||||
</script>
|
||||
</head>
|
||||
<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_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">
|
||||
<form name="f" accept-charset="UTF-8" action="/y/cgi">
|
||||
<table border="0" class="y_form_table" cellspacing="0" cellpadding="0">
|
||||
<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" width="100%">
|
||||
<tr>
|
||||
<td colspan="2" ><strong>tvinfo.de</strong></td>
|
||||
<td colspan="2" class="y_form_header">tvinfo.de</td>
|
||||
</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>
|
||||
</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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="border-top: 1px solid #6D96A9;"><strong>klack.de</strong><br/>(& will be converted to ";" on save)</td>
|
||||
<td colspan="2" class="y_form_header">klack.de (V2)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<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/>
|
||||
(& will be converted to ";" on save)</br></td>
|
||||
</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>
|
||||
<td> </td>
|
||||
@@ -49,8 +54,7 @@ function do_submit()
|
||||
</table>
|
||||
<br/>
|
||||
<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"/>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -16,10 +16,10 @@ function do_submit()
|
||||
</script>
|
||||
</head>
|
||||
<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_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">
|
||||
<form name="f" action="">
|
||||
<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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Scaling</td>
|
||||
<td>Skalierung</td>
|
||||
<td>
|
||||
<select name="scale" title="enter scale for Screen">
|
||||
<option value="1">1</option>
|
||||
@@ -50,7 +50,7 @@ function do_submit()
|
||||
<br/>
|
||||
<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="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>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -130,10 +130,10 @@ function change_type()
|
||||
</script>
|
||||
</head>
|
||||
<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_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">
|
||||
<form name="f" action="/y/cgi">
|
||||
<input type="hidden" name="nr" value="{=R1=}"/>
|
||||
@@ -156,25 +156,25 @@ function change_type()
|
||||
<td><input type="text" name="ip" size="20" value=""/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Directory</td>
|
||||
<td>Verzeichnis</td>
|
||||
<td><input type="text" name="dir" size="30" value="" title="remote directory"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Option</td>
|
||||
<td>Optionen</td>
|
||||
<td><input type="text" name="opt1" size="30" value="" title="mount options 1"/></td>
|
||||
</tr>
|
||||
<tr id="vusername" style="visibility:hidden">
|
||||
<td>Username</td>
|
||||
<td>Benutzername</td>
|
||||
<td><input type="text" name="username" size="30" value="" title="username"/></td>
|
||||
</tr>
|
||||
<tr id="vpassword" style="visibility:hidden">
|
||||
<td>Password</td>
|
||||
<td>Passwort</td>
|
||||
<td><input type="password" name="password" size="30" value="" title="password"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
<input type="button" value="Save ..." title="submit and save values" onClick="do_save()"/>
|
||||
<input type="button" value="Cansel" title="cancel" name="abort" onClick='window.document.location.href="/Y_Settings_automount_liste.yhtm"'/>
|
||||
<button type="button" ytype="save" title="submit and save values" onClick="do_save()">Speichern</button>
|
||||
<button type="button" ytype="cancel" title="cancel" name="abort" onClick='window.document.location.href="/Y_Settings_automount_liste.yhtm"'>Abbrechen</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -36,7 +36,7 @@ function do_delete()
|
||||
{=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=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 class="work_box_body">
|
||||
<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="execute" value=""/>
|
||||
<input type="hidden" name="cmd" value=""/>
|
||||
<input type="button" value="Edit" title="edit mount settings" onclick="do_edit()"/>
|
||||
<input type="button" value="Add" title="add new mount" onclick="do_add()"/>
|
||||
<input type="button" value="Del" title="delete mount" onclick="do_delete()"/>
|
||||
<button type="button" ytype="edit" title="edit mount settings" onclick="do_edit()">ändern</button>
|
||||
<button type="button" ytype="add" title="add new mount" onclick="do_add()">hinzufügen</button>
|
||||
<button type="button" ytype="delete" title="delete mount" onclick="do_delete()">löschen</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
341
src/nhttpd/web/Y_Settings_buttons.yhtm
Normal 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 ü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%"> </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" />
|
||||
<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> OK-Taste für</td>
|
||||
<td>
|
||||
<select name="bouquetlist_mode" title="OK-Button for...">
|
||||
<option value="0" selected="selected">Bouquet-Kanä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ättern</td>
|
||||
<td><input type="text" name="key_channelList_pageup" id="id101" onclick="setradio(1)" readonly="readonly" />
|
||||
<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ättern</td>
|
||||
<td><input type="text" name="key_channelList_pagedown" id="id102" onclick="setradio(2)" readonly="readonly" />
|
||||
<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ßen</td>
|
||||
<td><input type="text" name="key_channelList_cancel" id="id103" onclick="setradio(3)" readonly="readonly" />
|
||||
<input type="button" class="butnokey" id="id203" onclick="killkey()" value="Keine Taste" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="radio" name="but" onclick="setFocus()" /> Sortierreihenfolge ändern</td>
|
||||
<td><input type="text" name="key_channelList_sort" id="id104" onclick="setradio(4)" readonly="readonly" />
|
||||
<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" />
|
||||
<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ügen</td>
|
||||
<td><input type="text" name="key_channelList_addrecord" id="id106" onclick="setradio(6)" readonly="readonly" />
|
||||
<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ügen</td>
|
||||
<td><input type="text" name="key_channelList_addremind" id="id107" onclick="setradio(7)" readonly="readonly" />
|
||||
<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" />
|
||||
<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" />
|
||||
<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" />
|
||||
<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" />
|
||||
<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ück</td>
|
||||
<td><input type="text" name="key_bouquet_up" id="id112" onclick="setradio(12)" readonly="readonly" />
|
||||
<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" />
|
||||
<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ück</td>
|
||||
<td><input type="text" name="key_subchannel_up" id="id114" onclick="setradio(14)" readonly="readonly" />
|
||||
<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" />
|
||||
<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" />
|
||||
<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" />
|
||||
<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>
|
||||
<button type="button" ytype="refresh" onclick="dbox_reload_neutrino()">reload Neutrino</button>
|
||||
<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=}
|
168
src/nhttpd/web/Y_Settings_lcd.yhtm
Normal 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
|
||||
<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
|
||||
<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> </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ärke</option>
|
||||
<option value="2">Lautstä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>
|
||||
<button type="button" ytype="refresh" onclick="dbox_reload_neutrino()">reload Neutrino</button>
|
||||
<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=}
|
@@ -19,10 +19,10 @@ function do_submit()
|
||||
</script>
|
||||
</head>
|
||||
<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_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">
|
||||
<form name="f" action="/y/cgi">
|
||||
<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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>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"/></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. For CIFS do not use a leading slash."/></td>
|
||||
</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>
|
||||
</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>
|
||||
</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>
|
||||
</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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Automount</td>
|
||||
<td>
|
||||
<INPUT type="radio" name="automount" value="0" title="off"/>Off
|
||||
<INPUT type="radio" name="automount" value="1" title="on"/>On
|
||||
<INPUT type="radio" name="automount" value="0" title="off"/>AUS
|
||||
<INPUT type="radio" name="automount" value="1" title="on"/>AN
|
||||
</td>
|
||||
</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>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -78,8 +78,8 @@ function do_submit()
|
||||
<br/>
|
||||
<input type="hidden" name="tmpl" value="Y_Settings_mount_liste.yhtm"/>
|
||||
<input type="hidden" name="execute" value="func:mount-set-values"/>
|
||||
<input type="button" value="Save ..." title="submit and save values" onClick="do_submit()"/>
|
||||
<input type="button" value="Cancel" title="cancel" name="abort" onClick='window.document.location.href="/Y_Settings_mount_liste.yhtm"'/>
|
||||
<button type="button" ytype="save" title="submit and save values" onClick="do_submit()">Speichern</button>
|
||||
<button type="button" ytype="cancel" title="cancel" name="abort" onClick='window.document.location.href="/Y_Settings_mount_liste.yhtm"'>Abbrechen</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -27,16 +27,16 @@ function do_edit()
|
||||
{=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=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 class="work_box_body">
|
||||
<form action="/y/cgi" name="f" id="f">
|
||||
{=func:mount-get-list=}
|
||||
<input type="hidden" name="tmpl" value="Y_Settings_mount.yhtm"/>
|
||||
<input type="hidden" name="execute" value=""/>
|
||||
<input type="button" value="Edit ..." title="edit mount settings" onclick="do_edit()"/>
|
||||
<input type="button" value="Mount" title="mount selected directory" onclick="do_mount()"/>
|
||||
<input type="button" value="Unmount list" title="view unmount list" onclick='window.document.location.href="/Y_Settings_umount_liste.yhtm"'/>
|
||||
<button type="button" ytype="edit" title="edit mount settings" onclick="do_edit()">Ändern</button>
|
||||
<button type="button" ytype="no" title="mount selected directory" onclick="do_mount()">Mount</button>
|
||||
<button type="button" ytype="no" title="view unmount list" onclick='window.document.location.href="/Y_Settings_umount_liste.yhtm"'>Unmount list</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -5,16 +5,9 @@
|
||||
//<![CDATA[
|
||||
function form_init()
|
||||
{
|
||||
var val = "{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.authenticate;false=}";
|
||||
if(val == "true")
|
||||
document.f.authenticate[1].checked = true
|
||||
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;
|
||||
obj_set_radio_value('authenticate', "{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_auth.authenticate;false=}");
|
||||
obj_set_radio_value('threading', "{=ini-get:/var/tuxbox/config/nhttpd.conf;webserver.threading;false=}");
|
||||
obj_set_radio_value('mod_sendfile_sendAll', "{=ini-get:/var/tuxbox/config/nhttpd.conf;mod_sendfile.sendAll;false=}");
|
||||
}
|
||||
function do_submit()
|
||||
{
|
||||
@@ -23,10 +16,9 @@ function do_submit()
|
||||
else
|
||||
if(document.f.port.value == "")
|
||||
alert("Port muss angegeben werden");
|
||||
else
|
||||
{
|
||||
else{
|
||||
show_waitbox(true);
|
||||
yhttpd_cache_clear("yPConf");
|
||||
yhttpd_cache_clear("");
|
||||
document.f.submit();
|
||||
}
|
||||
}
|
||||
@@ -34,80 +26,90 @@ function do_submit()
|
||||
</script>
|
||||
</head>
|
||||
<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_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">
|
||||
<form name="f" action="/y/cgi">
|
||||
<table border="0">
|
||||
<tr><td colspan="2" class="y_form_header">Authentification</td></tr>
|
||||
<form name="f" class="y_form" action="/y/cgi">
|
||||
<table border="0" width="100%">
|
||||
<tr><td colspan="2" class="y_form_header">{=L:authentication=}</td></tr>
|
||||
<tr>
|
||||
<td>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>{=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="{=L:user=}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Passwort</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>{=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="{=L:password=}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Client ohne Authentification</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>{=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="{=L:client_without_authentication_desc=}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Authentification</td>
|
||||
<td>{=L:authentication=}</td>
|
||||
<td>
|
||||
<input type="radio" name="authenticate" value="false" title="authentication: off"/>OFF
|
||||
<input type="radio" name="authenticate" value="true" title="authentication: on"/>ON
|
||||
<input type="radio" name="authenticate" value="false" />{=L:off=}
|
||||
<input type="radio" name="authenticate" value="true" />{=L:on=}
|
||||
</td>
|
||||
</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>
|
||||
<td>Port</td>
|
||||
<td><input type="text" name="port" size="20" value="{=ini-get:/var/tuxbox/config/nhttpd.conf;WebsiteMain.port;80~cache=}" title="port"/>
|
||||
<br/>Changed port will only be valid after a restart.
|
||||
<td>{=L:language=}</td>
|
||||
<td colspan="3"> <select name="language" title="{=L:language=}">
|
||||
{=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=}"/> {=L:active_after_boot=}
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<td>Threading</td>
|
||||
<td>{=L:threading=}</td>
|
||||
<td>
|
||||
<input type="radio" name="threading" value="false" title="threading: off"/>Off;
|
||||
<input type="radio" name="threading" value="true" title="threading: on"/>On
|
||||
<br/>Changed will be valid after a restart.
|
||||
<input type="radio" name="threading" value="false" />{=L:off=}
|
||||
<input type="radio" name="threading" value="true" />{=L:on=}
|
||||
</td>
|
||||
-->
|
||||
<tr>
|
||||
<td>Hosted Web (Mount)</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>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="y_form_header">Logos & 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>
|
||||
<td>{=L:alternate_web_folder=}</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=}"/> {=L:active_after_boot=}
|
||||
<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>
|
||||
<tr>
|
||||
<td>URL</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>{=L:allowed_file_extensions=}</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><td colspan="2" class="y_form_header">Server</td></tr>
|
||||
<tr>
|
||||
<td>IPs Not keep-alive<br/>(like JtG, comma seperated) </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>{=L:allow_all_file_extensions=}</td>
|
||||
<td>
|
||||
<input type="radio" name="mod_sendfile_sendAll" value="false" />{=L:off=}
|
||||
<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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Cache</td>
|
||||
<td><a href="/y/cache-info" target="_blank"><u>Cache info</u> </a><input type="button" name="clearcache" value="clear cache" title="clear cache" onclick="javascript:yhttpd_cache_clear('');"/></td>
|
||||
<td>{=L:cache=}</td>
|
||||
<td><a href="/y/cache-info" target="_blank"><u>{=L:cache_info=}</u> </a><button type="button" ytype="clear" name="clearcache" onclick="javascript:yhttpd_cache_clear('');">{=L:clear_cache=}</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Server Configuration</td>
|
||||
<td><a href="/y/server-config" target="_blank"><u>Server Config</u></a></td>
|
||||
<td>{=L:server_configuration=}</td>
|
||||
<td><a href="/y/server-config" target="_blank"><u>{=L:server_configuration=}</u></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
<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="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>
|
||||
</div>
|
||||
</div>
|
||||
|
366
src/nhttpd/web/Y_Settings_personalize.yhtm
Normal 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ötigt</td>
|
||||
<td>
|
||||
<input type="radio" name="p_pinstatus" value="1"/>JA
|
||||
<input type="radio" name="p_pinstatus" value="0"/>NEIN
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PIN Code</td>
|
||||
<td> <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
|
||||
<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
|
||||
<input type="radio" name="p_redbutton" value="0"/>DEAKTIVIERT
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="y_form_header">Hauptmenü</td></tr>
|
||||
<tr><td>TV-Modus</td>
|
||||
<td>
|
||||
<input type="radio" name="p_tv" value="0"/>nicht sichtbar
|
||||
<input type="radio" name="p_tv" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_radio" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_scart" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_games" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_audioplayer" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_inetradio" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_esound" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_movieplayer" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_picviewer" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_upnp" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_sleeptimer" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_reboot" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_shutdown" value="1"/>sichtbar
|
||||
<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ü mit PIN</td>
|
||||
<td>
|
||||
<input type="radio" name="p_settings" value="1"/>JA
|
||||
<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
|
||||
<input type="radio" name="p_video" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_audio" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_youth" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_network" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_recording" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_language" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_colors" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_lcd" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_keybinding" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_mediaplayer" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_driver" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_misc" value="1"/>sichtbar
|
||||
<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ü mit PIN</td>
|
||||
<td>
|
||||
<input type="radio" name="p_service" value="1"/>JA
|
||||
<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
|
||||
<input type="radio" name="p_bouqueteditor" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_scants" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_reload" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_getplugins" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_restart" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_epgrestart" value="1"/>sichtbar
|
||||
<input type="radio" name="p_epgrestart" value="2"/>PIN
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td>Ucodes überprüfen</td>
|
||||
<td>
|
||||
<input type="radio" name="p_ucodecheck" value="0"/>nicht sichtbar
|
||||
<input type="radio" name="p_ucodecheck" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_chan_epg_stat" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_imageinfo" value="1"/>sichtbar
|
||||
<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
|
||||
<input type="radio" name="p_update" value="1"/>sichtbar
|
||||
<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>
|
||||
<button type="button" ytype="refresh" onclick="dbox_reload_neutrino()">reload Neutrino</button>
|
||||
<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=}
|
@@ -13,7 +13,7 @@ function do_submit()
|
||||
} else if (document.f.R1[3].checked == true) {
|
||||
_url="/control/exec?Y_Tools&ucodes_upload&ucode.bin";
|
||||
} else {
|
||||
alert("Please make a choice");
|
||||
alert("Bitte eine Auswahl treffen");
|
||||
}
|
||||
document.f.action=_url;
|
||||
document.f.submit();
|
||||
@@ -24,10 +24,10 @@ function do_submit()
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<table border="0" cellpadding="5">
|
||||
<tr><td class="y_form_header">Upload</td></tr>
|
||||
<table border="0" cellpadding="5" width="100%">
|
||||
<tr><td width="50%" class="y_form_header">Upload</td><td class="y_form_header">Download</td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&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="ucode.bin"/>ucode.bin<br/>
|
||||
|
||||
<input type="file" name="F1" size="20"/>
|
||||
<input type="button" id="su" value="Absenden" title="upload selected file" name="B1" onclick="do_submit()"/>
|
||||
<input type="file" name="F1" size="20"/><br/>
|
||||
<button type="button" id="su" ytype="save" name="B1" title="upload selected file" onclick="do_submit()">Absenden</button>
|
||||
</p>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td class="y_form_header">Download</td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<ul>
|
||||
<li><a type="application/octet-stream" href="/var/tuxbox/ucodes/avia500.ux"><u>avia500.ux</u></a></li>
|
||||
|
@@ -23,7 +23,7 @@ function do_unmount()
|
||||
{=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=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">
|
||||
<form action="/y/cgi" name="f" id="f">
|
||||
{=func:umount_get_list=}
|
||||
|
189
src/nhttpd/web/Y_Settings_video_audio.yhtm
Normal 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
|
||||
<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
|
||||
<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ählbar</td>
|
||||
<td>
|
||||
<input type="radio" name="audiochannel_up_down_enable" value="false"/>AUS
|
||||
<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ählbar</td>
|
||||
<td>
|
||||
<input type="radio" name="audio_left_right_selectable" value="false"/>AUS
|
||||
<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
|
||||
<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ärkeabsenkung PCM</td>
|
||||
<td>
|
||||
<input type="text" name="audio_PCMOffset" size="2" maxlength="2" title="pcm offset"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td>Lautstä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>
|
||||
<button type="button" ytype="refresh" onclick="dbox_reload_neutrino()">reload Neutrino</button>
|
||||
<a href="javascript:top.top_main.prim_menu.nav('info', 'Y_Info_Help.yhtm');" class="inlink">Hilfe</a> (* diese Einstellungen sind nur lesbar)
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
{=include-block:Y_Blocks.txt;management_check_bottom=}
|
@@ -16,31 +16,35 @@ function init_wol()
|
||||
for(i=1;i<=3;i++)
|
||||
document.getElementById("wol"+i).disabled = (g_wol[i-1] == "");
|
||||
}
|
||||
function goto_settings(){
|
||||
top.top_main.prim_menu.nav("settings", "Y_Settings_yWeb.yhtm");
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<form name="f" action="/y/cgi">
|
||||
<table border="0" class="y_form_table">
|
||||
<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>
|
||||
</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>
|
||||
</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>
|
||||
</tr>
|
||||
<tr><td colspan="2"><a href="javascript:goto_settings()" class="inlink">Einstellungen</a></td></tr>
|
||||
</table>
|
||||
</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>
|
||||
<script type="text/javascript">
|
||||
|
@@ -3,71 +3,98 @@
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function do_submit()
|
||||
{
|
||||
function do_submit(){
|
||||
show_waitbox(true);
|
||||
yhttpd_cache_clear("");
|
||||
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>
|
||||
</head>
|
||||
<body>
|
||||
{=var-set:wait_text=Values are saved (Save).=}{=include-block:Y_Blocks.txt;snip_wait=}
|
||||
<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=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">
|
||||
<form name="f" action="/y/cgi">
|
||||
<form name="f" class="y_form" action="/y/cgi">
|
||||
<table border="0" class="y_form_table">
|
||||
<tr><td class="y_form_header" colspan="4">{=L:management_IPs=}</td></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>
|
||||
<td>IP 1</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>
|
||||
<td>Management IP 1</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>IP 2</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>
|
||||
<td>Management IP 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>MAC 2</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>
|
||||
<td>Wake on Lan 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="enter MAC Adress (xx:xx:xx:xx:xx:xx)"/></td>
|
||||
<td>MAC 3</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>
|
||||
<td>Wake on Lan MAC 2</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>{=L:color=}</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>
|
||||
<td>Wake on Lan MAC 3</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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>VLC Recording path</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>
|
||||
-->
|
||||
<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>
|
||||
<td>{=L:start_page=}</td>
|
||||
<td colspan="3"> <select name="start_page" title="{=L:start_page=}">
|
||||
<option value="bouquets" selected="selected">{=L:bouquets=}</option>
|
||||
<option value="control">{=L:control=}</option>
|
||||
<option value="none">{=L:empty=}</option>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
<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="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>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -9,9 +9,9 @@ function do_submit()
|
||||
else if (document.f.R1[1].checked == true)
|
||||
_url="/control/exec?Y_Tools&zapit_upload&services.xml";
|
||||
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
|
||||
alert("Please make a choice");
|
||||
alert("Bitte eine Auswahl treffen");
|
||||
document.f.action=_url;
|
||||
document.f.submit();
|
||||
}
|
||||
@@ -21,31 +21,28 @@ function do_submit()
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<table border="0" cellpadding="5">
|
||||
<tr><td class="y_form_header">Upload</td></tr>
|
||||
<table border="0" cellpadding="5" width="100%">
|
||||
<tr><td width="50%" class="y_form_header">Upload</td><td class="y_form_header">Download</td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<form name="f" method="post" enctype="multipart/form-data" action="">
|
||||
<p>
|
||||
<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="ubouquets.xml"/>ubouquets.xml<br/>
|
||||
<input type="radio" name="R1" value="myservices.xml"/>myservices.xml<br/>
|
||||
|
||||
<input type="file" name="F1" size="20"/>
|
||||
<input type="button" id="su" value="Absenden" name="B1" title="upload selected file" onclick="do_submit()"/>
|
||||
<input type="file" name="F1" size="20"/><br/>
|
||||
<button type="button" id="su" ytype="save" name="B1" title="upload selected file" onclick="do_submit()">Absenden</button>
|
||||
</p>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td class="y_form_header">Download</td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<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/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>
|
||||
</td>
|
||||
</tr>
|
||||
|
@@ -1,4 +1,23 @@
|
||||
{=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>
|
||||
<body>
|
||||
<BR>
|
||||
@@ -7,12 +26,12 @@
|
||||
<div class="y_work_box">
|
||||
<TABLE cellspacing="2" cellpadding="3" class="tableborder" width="300px">
|
||||
<TR>
|
||||
<TD class="set"><B>Resolution:</B></TD>
|
||||
<TD class="set"><B>Auflösung:</B></TD>
|
||||
<TD width="30"> </TD>
|
||||
<TD class="set">{=VideoFormat=}</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD class="set"><B>Relation:</B></TD>
|
||||
<TD class="set"><B>Verhältnis:</B></TD>
|
||||
<TD> </TD>
|
||||
<TD class="set"> <div align="left">{=AspectRatio=}</div></TD>
|
||||
</TR>
|
||||
@@ -22,12 +41,12 @@
|
||||
<TD class="set"> <div align="left">{=BitRate=} bit/sec</div></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD class="set"><B>Framerate:</B></TD>
|
||||
<TD class="set"><B>Bildrate:</B></TD>
|
||||
<TD> </TD>
|
||||
<TD class="set"> <div align="left">{=FPS=} fps</div></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD class="set"><B>Audiotype:</B></TD>
|
||||
<TD class="set"><B>Audiotyp:</B></TD>
|
||||
<TD> </TD>
|
||||
<TD class="set"> <div align="left">{=AudioType=}</div></TD>
|
||||
</TR>
|
||||
@@ -47,7 +66,7 @@
|
||||
<TD class="set"> <div align="left">{=tsid=}</div></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD class="set"><B>frequency:</B></TD>
|
||||
<TD class="set"><B>tsfrequency:</B></TD>
|
||||
<TD> </TD>
|
||||
<TD class="set"> <div align="left">{=tsfrequency=} ({=polarisation=})</div></TD>
|
||||
</TR>
|
||||
|
@@ -1,11 +1,11 @@
|
||||
{=func:set_timer_form {=typ=} {=tid=}=}
|
||||
{=include-block:Y_Blocks.txt;head_no_charset=}
|
||||
<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">
|
||||
//<![CDATA[
|
||||
function my_show(id) {document.getElementById(id).style.visibility="visible";}
|
||||
function my_hide(id) {document.getElementById(id).style.visibility="hidden";}
|
||||
function my_display(id,state) {(state)?$(id).show():$(id).hide();}
|
||||
function focusNMark()
|
||||
{
|
||||
document.f.ad.select();
|
||||
@@ -14,19 +14,21 @@ function focusNMark()
|
||||
function onEventChange()
|
||||
{
|
||||
tType=document.f.type.value;
|
||||
show_obj("StopDateRow",(tType == "5"));
|
||||
show_obj("StandbyRow",(tType == "4"));
|
||||
show_obj("ProgramRow",(tType == "5" || tType=="2" || tType=="3"));
|
||||
show_obj("ApidRow",(tType == "5"));
|
||||
show_obj("MessageRow",(tType == "6"));
|
||||
show_obj("PluginNameRow",(tType == "8"));
|
||||
my_display("StopDateRow",(tType == "5"));
|
||||
my_display("StandbyRow",(tType == "4"));
|
||||
my_display("ProgramRow",(tType == "5" || tType=="2" || tType=="3"));
|
||||
my_display("ApidRow",(tType == "5"));
|
||||
my_display("MessageRow",(tType == "6"));
|
||||
my_display("PluginNameRow",(tType == "8"));
|
||||
my_display("RecDirRow",(tType == "5"));
|
||||
my_display("ValuesRow",(tType != "1" && tType!="7"));
|
||||
focusNMark();
|
||||
}
|
||||
function onEventChange2()
|
||||
{
|
||||
tType=document.f.rep.value;
|
||||
show_obj("WeekdaysRow",(tType == "256"));
|
||||
show_obj("repcountRow",!(tType == "0"));
|
||||
my_display("WeekdaysRow",(tType == "256"));
|
||||
my_display("repcountRow",!(tType == "0"));
|
||||
}
|
||||
|
||||
function onApidDefChange()
|
||||
@@ -50,40 +52,52 @@ function do_submit()
|
||||
show_waitbox(true);
|
||||
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()
|
||||
{
|
||||
onEventChange();
|
||||
onEventChange2();
|
||||
var rd="{=timer_recordingDir=}";
|
||||
obj_set_select_value("rec_dir", rd);
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<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_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">
|
||||
|
||||
<form method="get" name="f" action="/fb/timer.dbox2">
|
||||
<input TYPE="hidden" name="action" value="{=typ=}"/>
|
||||
<input name="id" TYPE="hidden" value="{=timerId=}"/>
|
||||
<table border="0">
|
||||
<form method="get" class="y_form" name="f" action="/fb/timer.dbox2">
|
||||
<input type="hidden" name="action" value="{=typ=}"/>
|
||||
<input name="id" type="hidden" value="{=timerId=}"/>
|
||||
<table border="0" width="100%">
|
||||
<tr><td colspan="2" class="y_form_header">Timer</td></tr>
|
||||
<tr>
|
||||
<td>Type</td>
|
||||
<td>Typ</td>
|
||||
<td> <select name="type" onchange="onEventChange();">
|
||||
{=timertype=}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="y_form_header">Times</td></tr>
|
||||
<tr><td colspan="2" class="y_form_header">Zeiten</td></tr>
|
||||
<tr>
|
||||
<td>Alarm-Date</td>
|
||||
<td>Alarm-Datum</td>
|
||||
<td><input type="text" name="ad" value="{=alarm_mday=}" size="2" maxlength="2"/>
|
||||
. <input type="text" name="amo" value="{=alarm_mon=}" size="2" maxlength="2"/>
|
||||
. <input type="text" name="ay" value="{=alarm_year=}" size="4" maxlength="4"/>
|
||||
Time <input type="text" name="ah" value="{=alarm_hour=}" size="2" maxlength="2"/>
|
||||
Zeit <input type="text" name="ah" value="{=alarm_hour=}" size="2" maxlength="2"/>
|
||||
: <input type="text" name="ami" value="{=alarm_min=}" size="2" maxlength="2"/>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -92,38 +106,38 @@ function init()
|
||||
<td><input type="text" name="sd" value="{=stop_mday=}" size="2" maxlength="2"/>
|
||||
. <input type="text" name="smo" value="{=stop_mon=}" size="2" maxlength="2"/>
|
||||
. <input type="text" name="sy" value="{=stop_year=}" size="4" maxlength="4"/>
|
||||
Time <input type="text" name="sh" value="{=stop_hour=}" size="2" maxlength="2"/>
|
||||
Zeit <input type="text" name="sh" value="{=stop_hour=}" size="2" maxlength="2"/>
|
||||
: <input type="text" name="smi" value="{=stop_min=}" size="2" maxlength="2"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Repeat</td>
|
||||
<td>Wiederholung</td>
|
||||
<td><select name="rep" onchange="onEventChange2();">
|
||||
{=repeat=}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="repcountRow" style="visibility:hidden;">
|
||||
<td>repeat (0 = indefinitely)</td>
|
||||
<tr id="repcountRow" style="display:none;">
|
||||
<td>Wiederholungen (0 = unbegrenzt)</td>
|
||||
<td><input type="text" name="repcount" id="repcount" value="{=timer_repeatCount=}" size="4" maxlength="3"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="WeekdaysRow" style="visibility:hidden;">
|
||||
<td>Weekdays</td>
|
||||
<tr id="WeekdaysRow" style="display:none;">
|
||||
<td>Wochentage</td>
|
||||
<td><input type="text" name="wd" value="{=weekdays=}" size="7" maxlength="7"/> (Mo-So, X=Timer)
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td colspan="2" class="y_form_header">Values</td></tr>
|
||||
<tr id="ProgramRow" style="visibility:hidden">
|
||||
<td>Program</td>
|
||||
<tr id="ValuesRow" style="display:none"><td colspan="2" class="y_form_header">Werte</td></tr>
|
||||
<tr id="ProgramRow" style="display:none">
|
||||
<td>Programm</td>
|
||||
<td><select name="channel_id">
|
||||
{=program_row=}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ApidRow" style="visibility:hidden">
|
||||
<tr id="ApidRow" style="display:none">
|
||||
<td>APIDs:</td>
|
||||
<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
|
||||
@@ -131,34 +145,45 @@ function init()
|
||||
<input type="checkbox" name="apac" onchange="onApidChange();" {=if-equal:{=TIMERD_APIDS_AC3=}~y~checked="checked"=}/>AC3
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="StandbyRow" style="visibility:hidden">
|
||||
<tr id="StandbyRow" style="display:none">
|
||||
<td>Standby</td>
|
||||
<td><input type="radio" name="sbon" value="1" {=if-equal:{=standby=}~1~~checked="checked"=}/>On
|
||||
<input type="radio" name="sbon" value="0" {=if-equal:{=standby=}~0~~checked="checked"=}/>Off
|
||||
<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"=}/>Aus
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="MessageRow" style="visibility:hidden">
|
||||
<td>New</td>
|
||||
<tr id="MessageRow" style="display:none">
|
||||
<td>Nachricht</td>
|
||||
<td><input type="text" name="msg" value="{=message=}" size="20" maxlength="30"/> ('/'=NL)
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="PluginNameRow" style="visibility:hidden">
|
||||
<tr id="PluginNameRow" style="display:none">
|
||||
<td>Plugin</td>
|
||||
<td><input type="text" name="PluginName" value="{=pluginname=}" size="20" maxlength="30"/>
|
||||
</td>
|
||||
</tr>
|
||||
{=if-empty:{=timer_recordingDir=}~~
|
||||
<tr>
|
||||
<td>List:</td>
|
||||
<td><input type="text" name="rec_dir" value="{=timer_recordingDir=}" size="20" maxlength="{=RECORD_DIR_MAXLEN-1=}"/>
|
||||
<tr id="RecDirRow" style="display:none">
|
||||
<td>Aufnahmeverzeichnis:</td>
|
||||
<td>
|
||||
<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>
|
||||
</tr>
|
||||
=}
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
<input type="button" value="save" title="submit and save values" onclick="do_submit()"/>
|
||||
<input type="button" value="abort" onclick='window.document.location.href="/Y_Timer_List.yhtm"'/>
|
||||
<!-- <input type="button" value="speichern" title="submit and save values" onclick="do_submit()"/>-->
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -4,18 +4,18 @@
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<table class="timer" border="0">
|
||||
<tr>
|
||||
<td class="ctimer" align="center"><b>Alarm time</b></td>
|
||||
<td class="ctimer" align="center"><b>Stop time</b></td>
|
||||
<td class="ctimer" align="center"><b>Repeat</b></td>
|
||||
<td class="ctimer" align="center"><b>Repeats</b></td>
|
||||
<td class="ctimer" align="center"><b>Type</b></td>
|
||||
<td class="ctimer" align="center"><b>Description</b></td>
|
||||
<td class="ctimer"> </td>
|
||||
<td class="ctimer"> </td>
|
||||
<table class="timer">
|
||||
<tr class="timer_header">
|
||||
<td>Alarm-Zeit</td>
|
||||
<td>Stop-Zeit</td>
|
||||
<td>Wiederholung</td>
|
||||
<td>Wiederholungen</td>
|
||||
<td>Typ</td>
|
||||
<td>Beschreibung</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
{=var-set:row=
|
||||
<tr class="%ctimer">
|
||||
@@ -27,28 +27,27 @@
|
||||
<td>%s<br/>
|
||||
<td>
|
||||
<a href="/fb/timer.dbox2?action=remove&id=%d">
|
||||
<img src="/images/remove.png" alt="del Timer"/></a>
|
||||
<img src="/images/remove.png" alt="Timer löschen"/></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="/Y_Timer_Edit.yhtm?typ=modify&tid=%d">
|
||||
<img src="/images/modify.png" alt="edit Timer"/></a>
|
||||
<img src="/images/modify.png" alt="Timer ändern"/></a>
|
||||
</td>
|
||||
</tr>
|
||||
=}
|
||||
{=func:get_timer_list {=var-get:row=}=}
|
||||
|
||||
<tr>
|
||||
<td class="atimer" colspan="6"><img src="/images/blank.gif" width="1" height="1"/></td>
|
||||
<td class="atimer" align="center">
|
||||
<a href="javascript:location.reload()">
|
||||
<img src="/images/reload.gif" alt="Update"/></a>
|
||||
</td>
|
||||
<td class="atimer" align="center">
|
||||
<tr class="timer_footer">
|
||||
<td colspan="6"><img src="/images/blank.gif" width="1" height="1"/></td>
|
||||
<td>
|
||||
<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>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -19,17 +19,21 @@ function do_submit()
|
||||
{=var-set:wait_text=Logo wird hochgeladen (Upload).=}{=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=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">
|
||||
<form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&bootlogo_upload">
|
||||
<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"> <span><font size="2" color="Red"><b>Achtung</b> </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" name="logotype" value="bootlogo_lcd_upload"/>Boot LCD Logo<br/>
|
||||
<input type="file" name="F1" size="20"/><br/>
|
||||
<input type="radio" name="logotype" value="bootlogo_lcd_upload"/>Boot LCD Logo<br/><br/>
|
||||
<input type="file" name="F1" size="30"/>
|
||||
<input type="button" name="su" value="hochladen" title="upload" onclick="do_submit()"/>
|
||||
</p>
|
||||
</form>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
@@ -1,15 +1,19 @@
|
||||
{=var-set:cancache=yPyes=}
|
||||
{=include-block:Y_Blocks.txt;head=}
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript" src="/prototype.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function goConfirmUrl(_meld, _url)
|
||||
{
|
||||
function goConfirmUrl(_meld, _url){
|
||||
if (confirm(_meld)==true) goUrl(_url);
|
||||
}
|
||||
function goUrl(_url)
|
||||
{
|
||||
out.location.href = _url;
|
||||
function goUrl(_url){
|
||||
var res = trim(loadSyncURL(_url));
|
||||
switch(res){
|
||||
case "1": res="on"; break;
|
||||
case "0": res="off"; break;
|
||||
}
|
||||
$("out").update(res);
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
@@ -17,61 +21,90 @@ function goUrl(_url)
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<form action="">
|
||||
<table class="y_invisible_table" cellpadding="5">
|
||||
<tr><td class="y_form_header">Coolstream HD1</td><td class="y_form_header">Standby Mode</td></tr>
|
||||
<table class="y_invisible_table" cellpadding="5" width="100%">
|
||||
<tr><td class="y_form_header">{=L:box=}</td><td class="y_form_header">{=L:standby_mode=}</td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="button" value="Restart" title="reboot" onclick='goConfirmUrl("Do you really want to reboot the dbox?","/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:reboot=}" title="reboot" onclick='goConfirmUrl("dbox wirklich neu starten?","/control/reboot");'/>
|
||||
<input type="button" value="{=L:shutdown=}" title="shutdown" onclick='goConfirmUrl("dbox wirklich ausschalten?","/control/shutdown");'/>
|
||||
</td>
|
||||
<td>
|
||||
<input type="button" value="On" onclick='goUrl("/control/standby?on");'/>
|
||||
<input type="button" value="Off" onclick='goUrl("/control/standby?off");'/>
|
||||
<input type="button" value="Status" onclick='goUrl("/control/exec?Y_Tools&standby_status");'/>
|
||||
<input type="button" value="{=L:on=}" onclick='goUrl("/control/standby?on");'/>
|
||||
<input type="button" value="{=L:off=}" onclick='goUrl("/control/standby?off");'/>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<input type="button" value="{=L:status=}" onclick='goUrl("/control/exec?Y_Tools&standby_status");'/>
|
||||
~=}
|
||||
</td>
|
||||
</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>
|
||||
<td>
|
||||
<input type="button" value="On" onclick='goUrl("/control/zapto?startplayback");'/>
|
||||
<input type="button" value="Off" onclick='goUrl("/control/zapto?stopplayback");'/>
|
||||
<input type="button" value="Status" onclick='goUrl("/control/zapto?statusplayback");'/>
|
||||
<input type="button" value="{=L:on=}" onclick='goUrl("/control/zapto?startplayback");'/>
|
||||
<input type="button" value="{=L:off=}" onclick='goUrl("/control/zapto?stopplayback");'/>
|
||||
<input type="button" value="{=L:status=}" onclick='goUrl("/control/zapto?statusplayback");'/>
|
||||
</td>
|
||||
<td>
|
||||
<input type="button" value="On" onclick='goUrl("/control/setmode?record=start");'/>
|
||||
<input type="button" value="Off" onclick='goUrl("/control/setmode?record=stop");'/>
|
||||
<input type="button" value="Status" onclick='goUrl("/control/setmode?status");'/>
|
||||
<input type="button" value="{=L:on=}" onclick='goUrl("/control/setmode?record=start");'/>
|
||||
<input type="button" value="{=L:off=}" onclick='goUrl("/control/setmode?record=stop");'/>
|
||||
<input type="button" value="{=L:status=}" onclick='goUrl("/control/setmode?status");'/>
|
||||
</td>
|
||||
</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>
|
||||
<td>
|
||||
<input type="button" value="On" onclick='goUrl("/control/rc?unlock");'/>
|
||||
<input type="button" value="Off" onclick='goUrl("/control/rc?lock");'/>
|
||||
<input type="button" value="LCD Unlock" onclick='goUrl("/control/exec?Y_Live&live_LCD_off");'/>
|
||||
<input type="button" value="{=L:on=}" onclick='goUrl("/control/zapto?startsectionsd");'/>
|
||||
<input type="button" value="{=L:off=}" onclick='goUrl("/control/zapto?stopsectionsd");'/>
|
||||
<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>
|
||||
<input type="button" value="Lock" onclick='live_lock();'/>
|
||||
<input type="button" value="Unlock" onclick='live_unlock();'/>
|
||||
<input type="button" value="{=L:on=}" onclick='goUrl("/control/system?setAViAExtPlayBack=spts");'/>
|
||||
<input type="button" value="{=L:off=}" onclick='goUrl("/control/system?setAViAExtPlayBack=pes");'/>
|
||||
<input type="button" value="{=L:status=}" onclick='goUrl("/control/system?getAViAExtPlayBack");'/>
|
||||
</td>
|
||||
</tr>
|
||||
<!--dbox2 only <tr><td class="y_form_header">Optical Output</td><td class="y_form_header"> </td></tr>
|
||||
<tr> dbox2 only-->
|
||||
<!--dbox2 only <td>
|
||||
<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-->
|
||||
~=}
|
||||
<tr><td class="y_form_header">{=L:remote=}</td><td class="y_form_header">{=L:live_lock=}</td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<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&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>
|
||||
</form>
|
||||
</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>
|
||||
</html>
|
||||
|
@@ -1,64 +1,68 @@
|
||||
{=include-block:Y_Blocks.txt;head=}
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript" src="/prototype.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function do_start(){
|
||||
$('statusline').show();
|
||||
do_check();
|
||||
}
|
||||
function do_stop(){
|
||||
$('statusline').hide();
|
||||
}
|
||||
/*sLog*/
|
||||
var sLog_body;
|
||||
var sLog_line_number;
|
||||
function sLog_init()
|
||||
{
|
||||
function sLog_init(){
|
||||
sLog_line_number = 0;
|
||||
sLog_body=document.getElementById("slog_list");
|
||||
}
|
||||
function sLog_clear()
|
||||
{
|
||||
while(sLog_body.childNodes.length > 0)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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;
|
||||
switch (state) {
|
||||
case "green": __img = "/images/accept.png"; break;
|
||||
case "yellow": __img = "/images/alert.gif"; break;
|
||||
case "ok": __img = "/images/accept.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);
|
||||
}
|
||||
/*check*/
|
||||
function wiki_url(_page)
|
||||
{
|
||||
return "<a href=\"http://wiki.tuxbox.org/"+_page+"\" target='_blank'><b>[Help]<\/b><\/a>"
|
||||
function wiki_url(_page){
|
||||
return "<a href=\"http://wiki.dbox2-tuning.net/"+_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_clear();
|
||||
sLog_addRow(sLog_body, "ok", "yWeb Version is: {=ini-get:Y_Version.txt;version=} {=ini-get:Y_Version.txt;date=}", "ok");
|
||||
|
||||
/*webserver*/
|
||||
var needed_nhttpd_version = "3.1.2";
|
||||
var needed_nhttpd_version = "3.1.8";
|
||||
var nhttpd_version = loadSyncURL("/control/info?nhttpd_version");
|
||||
if(nhttpd_version.search(/error/)!=-1)
|
||||
nhttpd_version = "0.0.0-unknown";
|
||||
if(nhttpd_version < 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
|
||||
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~~
|
||||
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~~
|
||||
sLog_addRow(sLog_body, "yellow",
|
||||
@@ -68,7 +72,7 @@ function do_check()
|
||||
{=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;management_ip=}~~
|
||||
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=}. "
|
||||
+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=}~~
|
||||
sLog_addRow(sLog_body, "yellow",
|
||||
@@ -79,40 +83,63 @@ function do_check()
|
||||
/*programs*/
|
||||
{=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~
|
||||
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");
|
||||
=}
|
||||
{=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~
|
||||
sLog_addRow(sLog_body, "red", "Programs: dboxshot is not installed. Remote & 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 & 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 & 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=}=}=}=}
|
||||
{=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");
|
||||
=}
|
||||
{=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~
|
||||
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");
|
||||
=}
|
||||
/*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=}=}=}
|
||||
{=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");
|
||||
=}
|
||||
~=}
|
||||
{=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~
|
||||
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");
|
||||
=}
|
||||
|
||||
{=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>
|
||||
@@ -121,19 +148,16 @@ function do_check()
|
||||
<div class="work_box">
|
||||
<div class="work_box_head">
|
||||
<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">
|
||||
<br />
|
||||
<form method="post" name="f" action="">
|
||||
<input type="button" value="check" title="check" name="check" onclick="do_check()"/>
|
||||
</form>
|
||||
|
||||
<div id="statusline"><img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/>
|
||||
<span id="status">collecting information</span></div>
|
||||
<form method="post" name="log" action="">
|
||||
<b>Check Results</b><br/>
|
||||
<table class="y_work_table" cellpadding="4">
|
||||
<table border="0" cellspacing="0" cellpadding="4" width="100%">
|
||||
<thead align="left">
|
||||
<tr>
|
||||
<th> </th><th>Aktion</th><th>Status</th>
|
||||
<th class="y_form_header"> </th><th class="y_form_header">Aktion</th><th class="y_form_header">Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="slog_list">
|
||||
@@ -144,5 +168,10 @@ function do_check()
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
window.setTimeout("do_start();",500);
|
||||
//]]>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@@ -48,7 +48,7 @@ function doUpload()
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<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>
|
||||
@@ -58,7 +58,7 @@ function doUpload()
|
||||
<table>
|
||||
<tr>
|
||||
<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)"/> fortlaufende Ausgabe (nur IE - wg. scrollen)
|
||||
<!--<input type="button" value="Upload" title="upload a file to current directory" onClick="doUpload()">-->
|
||||
</td>
|
||||
</tr><tr>
|
||||
|
@@ -1,68 +1,14 @@
|
||||
{=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 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>
|
||||
<script type="text/javascript" src="/prototype.js"></script>
|
||||
<script type="text/javascript" src="/Y_Flash.js"></script>
|
||||
</head>
|
||||
<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_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">
|
||||
<b><font size="2">Partition</font></b><br/>
|
||||
<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="mtd_text" value=""/>
|
||||
<input type="hidden" name="mtd" value=""/>
|
||||
<input type="button" name="download" value="Download" title="Generate Image for download" onclick="do_image_download()"/>
|
||||
<input type="button" name="upload" value="Flash ..." title="go to Upload Dialog" onclick="do_image_upload_dialog()"/>
|
||||
<button type="button" ytype="download" name="download" title="Generate Image for download" onclick="do_image_download()">Download</button>
|
||||
<button type="button" ytype="flash" name="upload" title="go to Upload Dialog" onclick="do_image_upload_dialog()">Flash ...</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div style="clear:both"> </div>
|
||||
<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">
|
||||
|
||||
It is usefull to reboot the Box before flashing.<br/>
|
||||
<input type=button value="Restart" title="reboot" onclick='goConfirmUrl("dbox wirklich neu starten?","/control/reboot");'/>
|
||||
Es ist sinnvoll die Box vor dem flashen frisch zu booten.<br/>
|
||||
<button type=button ytype="reboot" title="reboot" onclick='goConfirmUrl("dbox wirklich neu starten?","/control/reboot");'>Neu starten</button>
|
||||
</div>
|
||||
</div>
|
||||
<div style="clear:both"> </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_body" title="Download your image">
|
||||
<b>The image was provided.</b>
|
||||
<b>Das Image wurde erstellt.</b>
|
||||
<p>
|
||||
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>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,154 +1,85 @@
|
||||
{=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" src="/prototype.js"></script>
|
||||
<script type="text/javascript" src="/Y_Flash.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
var aktiv;
|
||||
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_obj("wait_flash", true);
|
||||
aktiv = window.setInterval('loadXMLDoc("/tmp/e.txt", processReqChange)', 3000);
|
||||
$('wait_flash').show();
|
||||
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";
|
||||
if(!document.f.demo.checked)
|
||||
simulate = "false";
|
||||
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>
|
||||
</head>
|
||||
<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: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_body">
|
||||
<p align="center">
|
||||
<font color="#666666"><b>Image wird geflasht. Nicht unterbrechen!<br/>Image will be flashed. Do not interrupt!</b></font><br/><br/>
|
||||
<img border="0" src="/images/wait.gif" width="20" height="20" alt="wait"/><br/><br/>
|
||||
<input type="text" id="msg" value="" size="40" readonly="readonly" disabled="disabled"/>
|
||||
</p>
|
||||
<div style="text-align:center;white-space:nowrap;">
|
||||
<div style="font-weight:bold;color:#666666;">Image wird geflasht. Nicht unterbrechen!<br/>Image will be flashed. Do not interrupt!</div>
|
||||
<br/>
|
||||
<input type="text" id="msg" value="" size="40" readonly="readonly" disabled="disabled"/><br/>
|
||||
<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;">
|
||||
<tr><td>Erasing</td>
|
||||
<td>
|
||||
<table width="250" style="border: 1px dashed #0066cc;">
|
||||
<table width="250" style="border: 1px solid #0066cc;" cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td>Writing</td>
|
||||
<td>
|
||||
<table width="250" style="border: 1px dashed #0066cc;">
|
||||
<table width="250" style="border: 1px solid #0066cc;" cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td>Verifying</td>
|
||||
<td>
|
||||
<table width="250" style="border: 1px dashed #0066cc;">
|
||||
<table width="250" style="border: 1px solid #0066cc;" cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
</table>
|
||||
<p align="center">
|
||||
Please wait<br/>
|
||||
|
||||
</p>
|
||||
<div style="text-align:center;white-space:nowrap;">
|
||||
Bitte warten<br/>
|
||||
Please wait
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<b><font size="2">Partition mtd {=mtd=}</font><br/>{=mtd_text=}</b>
|
||||
{=if-equal:{=var-get:fcp=}~true~
|
||||
<form method="post" name="f" enctype="multipart/form-data" action="/control/exec?Y_Tools&image_upload" target="out">
|
||||
<form method="post" name="f" id="f" enctype="multipart/form-data" action="/control/exec?Y_Tools&image_upload" target="out">
|
||||
<p>
|
||||
<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 </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>
|
||||
</form>
|
||||
~
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{=var-set:cancache=yPyes=}
|
||||
{=include-block:Y_Blocks.txt;head=}
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function goUrl(_url)
|
||||
{
|
||||
parent.frames[1].location.href = _url;
|
||||
function goUrl(_url){
|
||||
var res = loadSyncURL(_url);
|
||||
id("out").innerHTML = res;
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
@@ -12,22 +12,22 @@ function goUrl(_url)
|
||||
<body>
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<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>
|
||||
<input type="button" value="Kernel Messages" title="show Linux kernel stack messages" onclick='goUrl("/control/exec?Y_Tools&kernel-stack");'/>
|
||||
<input type="button" value="Processes" title="show currently running processes" onclick='goUrl("/control/exec?Y_Tools&ps");'/>
|
||||
<input type="button" value="Memory" title="show memory space" onclick='goUrl("/control/exec?Y_Tools&free");'/>
|
||||
<input type="button" value="Kernel Meldungen" title="show Linux kernel stack messages" onclick='goUrl("/control/exec?Y_Tools&kernel-stack");'/>
|
||||
<input type="button" value="Prozesse" title="show currently running processes" onclick='goUrl("/control/exec?Y_Tools&ps");'/>
|
||||
<input type="button" value="Speicher" title="show memory space" onclick='goUrl("/control/exec?Y_Tools&free");'/>
|
||||
</td></tr>
|
||||
<tr><td class="y_form_header">Coolstream HD1</td></tr>
|
||||
<tr><td class="y_form_header">Box</td></tr>
|
||||
<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");'/>
|
||||
<!--dbox2 only <input type="button" value="Settings" onclick='goUrl("/control/info?settings");'/> dbox2 only-->
|
||||
<input type="button" value="Time" onclick='goUrl("/control/gettime");'/>
|
||||
<input type="button" value="Settings" onclick='goUrl("/control/info?settings");'/>
|
||||
<input type="button" value="Box Zeit" onclick='goUrl("/control/gettime");'/>
|
||||
</td></tr>
|
||||
<tr><td class="y_form_header">proc</td></tr>
|
||||
<tr><td>
|
||||
@@ -42,6 +42,7 @@ function goUrl(_url)
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="out"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
@@ -18,21 +18,36 @@ function do_submit()
|
||||
else
|
||||
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
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<body onload="init()">
|
||||
<div class="work_box">
|
||||
<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">
|
||||
<form name="f" method="post" enctype="multipart/form-data" action="/control/exec?Y_Tools&installer" target="out">
|
||||
tar-File: <input type="file" name="filename" size="70"/> <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/>
|
||||
</form>
|
||||
<div style="height:290px;width:540px;">
|
||||
<iframe height="250" width="500" scrolling="no" align="left" frameborder="0" name="out" id="out">Your Browser does not support IFrames.</iframe>
|
||||
<div id="free"></div>
|
||||
<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>
|
||||
|
@@ -1,42 +1,84 @@
|
||||
{=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 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>
|
||||
{=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~=}=}
|
||||
<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_head"><h2>Tools</h2></div>
|
||||
<div class="y_menu_sec_box_body">
|
||||
<div class="y_menu_sec_section">Tools</div>
|
||||
<div class="y_menu_sec">
|
||||
<ul>
|
||||
<ul id="secmenu_tools">
|
||||
{=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="Wake on LAN (restricted by ManagementIP)">Wake on LAN</li>
|
||||
~=}
|
||||
~
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
{=if-empty:{=var-get:automount=}~
|
||||
<!--dbox2 only <li class="disabled" title="organize file automounts (automount not installed)">AutoMounts</li> dbox2 only-->
|
||||
<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>
|
||||
{=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>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="y_menu_sec_section">Expert</div>
|
||||
<div class="y_menu_sec">
|
||||
<ul>
|
||||
<li><a target="work" title="get box infos" href="Y_Dyn_Pages.yhtm?page=frame_tools-info">Info</a></li>
|
||||
<ul id="secmenu_expert">
|
||||
<li><a target="work" title="get box infos" href="Y_Tools_Info_Menue.yhtm">Info</a></li>
|
||||
{=if-empty:{=var-get:management=}~
|
||||
<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="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-->
|
||||
<li><a target="work" title="command shell" href="Y_Tools_Cmd.yhtm">Command Shell</a></li>
|
||||
{=if-not-equal:{=global-var-get:boxtype=}~coolstream~
|
||||
<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>
|
||||
<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>
|
||||
=}
|
||||
</ul>
|
||||
|
298
src/nhttpd/web/Y_Tools_Timer_Sync.js
Normal 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");
|
||||
}
|
@@ -1,320 +1,17 @@
|
||||
{=include-block:Y_Blocks.txt;head=}
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
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>
|
||||
<script type="text/javascript" src="/prototype.js"></script>
|
||||
<script type="text/javascript" src="/Y_Tools_Timer_Sync.js"></script>
|
||||
</head>
|
||||
<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_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">
|
||||
<form method="post" name="f" action="">
|
||||
<b>Sync Timer</b>
|
||||
<table class="y_work_table">
|
||||
<div class="y_form_header">Timer Source</div>
|
||||
<table border="0" cellspacing="0" cellpadding="4" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<input type="radio" name="planer" value="TVInfo" {=if-empty:{=ini-get:/var/tuxbox/config/Y-Web.conf;tvinfo_username=}~disabled~=}/>TVInfo<br/>
|
||||
@@ -322,44 +19,57 @@ function do_set_timer()
|
||||
|
||||
</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"/>Test<br/> -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2">
|
||||
Recording Directory: <input type="text" name="rec_dir" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_recordingdir;/mnt/filme=}" title="recording dir"/>
|
||||
<br/>Settings within Settings-Timer</td>
|
||||
Aufnahmeverzeichnis:
|
||||
<select name="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>
|
||||
|
||||
<br/><a href="javascript:top.top_main.prim_menu.nav('settings', 'Y_Settings_Timer.yhtm');" class="inlink">Einstellungen</a> <input type="checkbox" name="debug" value="1"/>Debugging</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="button" value="get selected" title="get selected" name="get_selected" onclick="do_get_selected()"/>
|
||||
<input type="button" value="clear all" title="clear all" name="clear_all" onclick="do_clear_all()"/>
|
||||
<button type="button" ytype="download" itle="get selected" name="get_selected" onclick="do_get_selected()">get selected</button>
|
||||
|
||||
<button type="button" ytype="clear" title="clear all" name="clear_all" onclick="do_clear_all()">clear all</button>
|
||||
</form>
|
||||
<br/>
|
||||
<form method="post" name="timer" action="">
|
||||
<b>Timer Preview List</b>
|
||||
<table class="y_work_table" cellpadding="2">
|
||||
<div class="y_form_header_oline">Timer Preview List</div>
|
||||
<table class="lt_table" border="0" cellspacing="0" cellpadding="4">
|
||||
<thead align="left">
|
||||
<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>Sender</th><th>Program</th><th>Quelle</th>
|
||||
<th><input type="checkbox" checked="checked" name="checkall" onclick="doToogleCheckboxes();" id="checkall"/></th>
|
||||
<th colspan="2">Startzeit</th><th colspan="2">Endezeit</th>
|
||||
<th>Sender</th><th>Sendung</th><th>Quelle</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="timer_list">
|
||||
<tr><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<input type="button" value="set timer" title="" name="set_timers" onclick="do_set_timer()"/>
|
||||
<input type="button" value="clear log" title="" name="clear_log" onclick="sLog_clear()"/>
|
||||
<div style="padding-top:2px">
|
||||
<button type="button" ytype="timeadd" title="" name="set_timers" onclick="do_set_timer()">set timer</button>
|
||||
<button type="button" ytype="clear" title="" name="clear_log" onclick="sLog_clear()">clear log</button>
|
||||
</div>
|
||||
</form>
|
||||
<br/>
|
||||
<form method="post" name="log" action="">
|
||||
<b>Log</b><br/>
|
||||
<table class="y_work_table" cellpadding="4">
|
||||
<div class="y_form_header_oline">Log</div>
|
||||
<table class="lt_table" border="0" cellspacing="0" cellpadding="4">
|
||||
<thead align="left">
|
||||
<tr>
|
||||
<th> </th><th>Action</th><th>Status</th>
|
||||
<th> </th><th>Aktion</th><th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="slog_list">
|
||||
@@ -372,6 +82,10 @@ function do_set_timer()
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![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();
|
||||
sLog_init();
|
||||
do_clear_all();
|
||||
|
@@ -3,61 +3,53 @@
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function do_snapshot()
|
||||
{
|
||||
function do_snapshot(){
|
||||
show_waitbox(true);
|
||||
window.setTimeout("do_snapshot2()", 500);
|
||||
}
|
||||
function do_snapshot2()
|
||||
{
|
||||
function do_snapshot2(){
|
||||
var _shot = document.getElementById("shot");
|
||||
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_obj("shot", true);
|
||||
_shot.src = "/tmp/"+filename+".png?"+Math.random();
|
||||
}
|
||||
function do_dboxshot()
|
||||
{
|
||||
function do_dboxshot(){
|
||||
show_waitbox(true);
|
||||
window.setTimeout("do_dboxshot2()", 500);
|
||||
}
|
||||
function do_dboxshot2()
|
||||
{
|
||||
function do_dboxshot2(){
|
||||
var _shot = document.getElementById("shot");
|
||||
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 != "")
|
||||
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_obj("shot", true);
|
||||
_shot.src = "/tmp/"+filename+".bmp?"+Math.random();
|
||||
}
|
||||
function do_clearshot()
|
||||
{
|
||||
function do_clearshot(){
|
||||
window.setTimeout("do_clearshot2()", 500);
|
||||
}
|
||||
function do_clearshot2()
|
||||
{
|
||||
var _shot = document.getElementById("shot");
|
||||
dbox_exec_command("rm /tmp/*.png");
|
||||
dbox_exec_command("rm /tmp/*.bmp");
|
||||
function do_clearshot2(){
|
||||
dbox_exec_tools("fbshot_clear");
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<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_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">
|
||||
<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=}=}=}
|
||||
{=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>
|
||||
Filename:<input type="text" value="a" id="file" size="16"/>
|
||||
<br/>
|
||||
<img id="shot" src="" style="visibility:hidden;"/>
|
||||
|
132
src/nhttpd/web/Y_Tools_lcshot.yhtm
Normal 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>
|
||||
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"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><img src="" id="shot" style="visibility:hidden;" alt="" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -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=}
|
||||
<script type="text/javascript" src="/Y_Baselib.js"></script>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
function rcsim(_key)
|
||||
{
|
||||
loadSyncURL("/control/rcem?"+_key);
|
||||
function rcsim(_key) {
|
||||
dbox_rcsim(_key);
|
||||
do_dboxshot();
|
||||
}
|
||||
function do_dboxshot()
|
||||
{
|
||||
{=if-empty:{=var-get:dboxshot=}~~
|
||||
var _shot = document.getElementById("shot");
|
||||
var res = dbox_exec_command("{=var-get:dboxshot=} -o /tmp/a.bmp");
|
||||
function do_dboxshot(){
|
||||
var res = dbox_exec_tools("fbshot -r -o /tmp/a.bmp");
|
||||
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();
|
||||
=}
|
||||
}
|
||||
function do_clearshot()
|
||||
{
|
||||
function do_clearshot(){
|
||||
window.setTimeout("do_clearshot2()", 500);
|
||||
}
|
||||
function do_clearshot2()
|
||||
{
|
||||
var _shot = document.getElementById("shot");
|
||||
dbox_exec_command("rm /tmp/a.*");
|
||||
function do_clearshot2(){
|
||||
dbox_exec_tools("fbshot_clear");
|
||||
show_waitbox(false);
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
{=var-set:wait_text=Snapshot taken=}{=include-block:Y_Blocks.txt;snip_wait=}
|
||||
<body onload="do_dboxshot()">
|
||||
{=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=Neutrino:yWeb:BoxControl#Remote_OSD=}{=var-set:menu=Remote & OSD=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
|
||||
{=var-set:help_url=Help-BoxControl-Remote_OSD=}{=var-set:menu=Remote & OSD=}{=include-block:Y_Blocks.txt;work_menu=}</div></div>
|
||||
<div class="work_box_body">
|
||||
{=if-empty:{=var-get:dboxshot=}~~
|
||||
<button name="dboxshot" onclick="do_dboxshot()">shot</button>
|
||||
=}
|
||||
<button name="clearshot" onclick="do_clearshot()">Delete shots</button>
|
||||
<button name="dboxshot" ytype="shot" onclick="do_dboxshot()">Shot</button>
|
||||
<button name="clearshot" ytype="clearshot" onclick="do_clearshot()">Delete shots</button>
|
||||
<table cellpadding="0">
|
||||
<tr>
|
||||
<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>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
do_dboxshot();
|
||||
//]]>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* VLC abstraction by yjogol@online.de
|
||||
$Date: 2007/02/21 17:38:48 $
|
||||
$Revision: 1.1 $
|
||||
$Date: 2008/11/13 16:45:38 $
|
||||
$Revision: 1.4 $
|
||||
*/
|
||||
/*ie1=ActiveC, moz1=Mozilla<0.8.5.1, moz2>= 0.8.5.1*/
|
||||
var CyVLC = function(_id, masterid, width, height) {
|
||||
@@ -36,12 +36,12 @@ CyVLC.prototype = {
|
||||
}
|
||||
this.insert_control();
|
||||
this.vlc = id(_id);
|
||||
this.set_resolution(this.c_width, this.c_height);
|
||||
if(is_ie) {
|
||||
this.version_string = this._get_version();
|
||||
this._generate_sub_versions();
|
||||
this._determine_plugin_generation();
|
||||
}
|
||||
this.set_resolution(this.c_width, this.c_height);
|
||||
},
|
||||
_get_version : function() {
|
||||
if(is_ie)
|
||||
@@ -55,6 +55,8 @@ CyVLC.prototype = {
|
||||
var plug = navigator.plugins['VLC multimedia plugin'];
|
||||
if(typeof plug == 'undefined')
|
||||
var plug = navigator.plugins['VLC Multimedia Plugin'];
|
||||
if(typeof plug == 'undefined')
|
||||
var plug = navigator.plugins['VLC Multimedia Plug-in'];
|
||||
var ex = /^.*[vV]ersion [\"]*([^ \"]*)[\"]*.*$/;
|
||||
var ve = ex.exec(plug.description);
|
||||
if(ve[1])
|
||||
@@ -170,7 +172,7 @@ CyVLC.prototype = {
|
||||
},
|
||||
toggle_mute : function() {
|
||||
switch(this.plugin) {
|
||||
case "ie1": this.vlc.toggleMute();reak;
|
||||
case "ie1": this.vlc.toggleMute();break;
|
||||
case "moz2": this.vlc.audio.toggleMute();break;
|
||||
default: this.vlc.mute();break;
|
||||
}
|
||||
@@ -220,11 +222,14 @@ CyVLC.prototype = {
|
||||
if(is_ie) {
|
||||
vlc_control_html =
|
||||
"<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\">" +
|
||||
"<param name='ShowDisplay' value='"+this.c_show_display+"' />" +
|
||||
"<param name='Loop' value='"+this.c_loop+"' />" +
|
||||
"<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/>"+
|
||||
"You need <a href='http://www.videolan.org' target='_blank'>VideoLan Client</a> V0.8.5 or higher.<br/>" +
|
||||
"Install with Option ActiveX." +
|
||||
|
@@ -1,6 +1,5 @@
|
||||
version=2.5.0
|
||||
date=21.02.2007
|
||||
type=Release
|
||||
info=mod neutrino.dream plus
|
||||
|
||||
version=2.8.a.3
|
||||
date=24.02.2010
|
||||
type=Alpha
|
||||
info=Port Coolstream
|
||||
|
||||
|
18
src/nhttpd/web/Y_Wait.yhtm
Normal 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>
|
@@ -1,7 +1,8 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<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>
|
||||
</head>
|
||||
<body>
|
||||
|
197
src/nhttpd/web/Y_yweb.js
Normal 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();
|
||||
}
|
||||
|
@@ -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
|
||||
|
||||
|
25
src/nhttpd/web/images/LICENSE
Normal 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/)
|
@@ -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 \
|
||||
blank.gif body-trans-l.gif body-trans-r.gif \
|
||||
check_green.gif chmod.gif delete.gif download.gif \
|
||||
elist.gif excl_yellow.gif ftype_file.gif ftype_folder.gif ftype_link.gif \
|
||||
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 home-dir.gif hourglas.gif \
|
||||
live.gif live_popup.gif lock.gif \
|
||||
new.gif ok.gif properties.gif \
|
||||
record.gif reload.gif rename.gif \
|
||||
install_DATA = accept.png \
|
||||
addfolder.gif \
|
||||
alert.gif \
|
||||
arrowdown.gif \
|
||||
arrowdown.png \
|
||||
arrowleft.png \
|
||||
arrowright.png \
|
||||
arrowup.gif \
|
||||
arrowup.png \
|
||||
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 \
|
||||
timer.gif tux.gif \
|
||||
unlock.gif upload.gif \
|
||||
visible.gif vlc.gif \
|
||||
wait.gif x_red.gif \
|
||||
epg.png fullscreen.png \
|
||||
livelock.png live.png live_popup.png liveunlock.png \
|
||||
modify.png pause.png play.png remove.png \
|
||||
snapshot.png stop.png streaminfo.png \
|
||||
snapshot.png \
|
||||
stop.png \
|
||||
streaminfo.png \
|
||||
time_add.png \
|
||||
time_down.png \
|
||||
timer.gif \
|
||||
time_up.png \
|
||||
transcode.png \
|
||||
volumedown.png volumemute.png volumeunmute.png volumeup.png \
|
||||
y.png rcd.jpg
|
||||
tux.gif \
|
||||
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
|
||||
|
BIN
src/nhttpd/web/images/accept.png
Normal file
After Width: | Height: | Size: 781 B |
BIN
src/nhttpd/web/images/alert.gif
Normal file
After Width: | Height: | Size: 246 B |
BIN
src/nhttpd/web/images/arrowdown.png
Normal file
After Width: | Height: | Size: 379 B |
BIN
src/nhttpd/web/images/arrowleft.png
Normal file
After Width: | Height: | Size: 345 B |
BIN
src/nhttpd/web/images/arrowright.png
Normal file
After Width: | Height: | Size: 349 B |
BIN
src/nhttpd/web/images/arrowup.png
Normal file
After Width: | Height: | Size: 372 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.3 KiB |