mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 07:51:19 +02:00
yweb 2.8.0.3 new logo handling and some fixes to EPG Plus
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@530 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
@@ -190,7 +190,7 @@ const CControlAPI::TyCgiCall CControlAPI::yCgiCallList[]=
|
||||
{"updatebouquet", &CControlAPI::updateBouquetCGI, "text/plain"},
|
||||
// utils
|
||||
{"build_live_url", &CControlAPI::build_live_url, ""},
|
||||
|
||||
{"get_logo", &CControlAPI::logoCGI, "text/plain"},
|
||||
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -844,11 +844,13 @@ void CControlAPI::GetBouquetCGI(CyhookHandler *hh)
|
||||
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
"</id>\n\t<short_id>"
|
||||
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
"</short_id>\n\t<name><![CDATA[%s]]></name>\n</channel>\n",
|
||||
"</short_id>\n\t<name><![CDATA[%s]]></name>\n<logo><![CDATA[%s]]></logo>\n</channel>\n",
|
||||
num + j,
|
||||
channel->channel_id,
|
||||
channel->channel_id&0xFFFFFFFFFFFFULL,
|
||||
channel->getName().c_str());
|
||||
channel->getName().c_str(),
|
||||
NeutrinoAPI->getLogoFile(hh->WebserverConfigList["Tuxbox.LogosURL"], channel->channel_id).c_str()
|
||||
);
|
||||
}
|
||||
hh->WriteLn("</bouquetlist>");
|
||||
}
|
||||
@@ -1927,3 +1929,12 @@ void CControlAPI::build_live_url(CyhookHandler *hh)
|
||||
hh->Write(url);
|
||||
}
|
||||
}
|
||||
//-------------------------------------------------------------------------
|
||||
void CControlAPI::logoCGI(CyhookHandler *hh)
|
||||
{
|
||||
t_channel_id channel_id;
|
||||
sscanf(hh->ParamList["1"].c_str(),
|
||||
SCANF_CHANNEL_ID_TYPE,
|
||||
&channel_id);
|
||||
hh->Write(NeutrinoAPI->getLogoFile(hh->WebserverConfigList["Tuxbox.LogosURL"], channel_id));
|
||||
}
|
||||
|
@@ -94,6 +94,7 @@ private:
|
||||
void changeBouquetCGI(CyhookHandler *hh);
|
||||
void updateBouquetCGI(CyhookHandler *hh);
|
||||
void build_live_url(CyhookHandler *hh);
|
||||
void logoCGI(CyhookHandler *hh);
|
||||
|
||||
protected:
|
||||
static const unsigned int PLUGIN_DIR_COUNT = 5;
|
||||
|
@@ -479,3 +479,21 @@ std::string CNeutrinoAPI::getCryptInfoAsString(void) {
|
||||
return out.str();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
std::string CNeutrinoAPI::getLogoFile(std::string _logoURL, t_channel_id channelId) {
|
||||
std::string channelIdAsString = string_printf( PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS , channelId & 0xFFFFFFFFFFFFULL);
|
||||
std::string channelName = GetServiceName(channelId);
|
||||
replace(channelName, " ", "_");
|
||||
_logoURL+="/";
|
||||
if(access((_logoURL + channelIdAsString + ".jpg").c_str(), 4) == 0)
|
||||
return _logoURL + channelIdAsString + ".jpg";
|
||||
else if (access((_logoURL + channelIdAsString + ".gif").c_str(), 4) == 0)
|
||||
return _logoURL + channelIdAsString + ".gif";
|
||||
else if (access((_logoURL + channelName + ".jpg").c_str(), 4) == 0)
|
||||
return _logoURL + channelName + ".jpg";
|
||||
else if (access((_logoURL + channelName + ".gif").c_str(), 4) == 0)
|
||||
return _logoURL + channelName + ".gif";
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
|
@@ -76,6 +76,7 @@ class CNeutrinoAPI
|
||||
std::string getVideoFramerateAsString(void);
|
||||
std::string getAudioInfoAsString(void);
|
||||
std::string getCryptInfoAsString(void);
|
||||
std::string getLogoFile(std::string _logoURL, t_channel_id channelId);
|
||||
public:
|
||||
CNeutrinoAPI();
|
||||
~CNeutrinoAPI(void);
|
||||
|
@@ -95,7 +95,7 @@ THandleStatus CNeutrinoYParser::Hook_ReadConfig(CConfigFile *Config, CStringList
|
||||
Config->setInt32("configfile.version", CONF_VERSION);
|
||||
Config->saveConfig(HTTPD_CONFIGFILE);
|
||||
}
|
||||
|
||||
std::string logo = ConfigList["TUXBOX_LOGOS_URL"];
|
||||
return HANDLED_CONTINUE;
|
||||
}
|
||||
|
||||
@@ -342,15 +342,12 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std:
|
||||
|
||||
std::string bouquetstr = (BouquetNr >= 0) ? ("&bouquet=" + itoa(BouquetNr)) : "";
|
||||
yresult += "<tr>";
|
||||
//FIXME: Logo-Extensions
|
||||
|
||||
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/"
|
||||
PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS
|
||||
".jpg\"/></a></td>", classname, channel->channel_id,
|
||||
(hh->WebserverConfigList["Tuxbox.LogosURL"]).c_str(),
|
||||
channel->channel_id & 0xFFFFFFFFFFFFULL);
|
||||
"')\"><img class=\"channel_logo\" src=\"%s\"/></a></td>", classname, channel->channel_id,
|
||||
(NeutrinoAPI->getLogoFile(hh->WebserverConfigList["Tuxbox.LogosURL"], channel->channel_id)).c_str());
|
||||
|
||||
/* timer slider */
|
||||
if(event && event->duration > 0)
|
||||
|
@@ -61,9 +61,10 @@ function show_epg_item(_index){
|
||||
$("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 logo =epg_data[_index][7];
|
||||
$('d_logo').update( (logo!="")?"<img class=\"channel_logos\" src=\""+logo+"\">":"" );
|
||||
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 klack_link = '<a target="_blank" class="exlink" href="http://www.klack.de/index.php?page=Programfinder2.php&TITLE='+(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);
|
||||
|
||||
@@ -78,7 +79,7 @@ function show_epg_item(_index){
|
||||
show_obj("epg_info",true);
|
||||
}
|
||||
/* build one channel row*/
|
||||
function build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime)
|
||||
function build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime, _logo)
|
||||
{
|
||||
var xml = loadSyncURLxml("/control/epg?xml=true&channelid="+__channel_id+"}&details=true&stoptime="+_stoptime);
|
||||
if(xml){
|
||||
@@ -98,7 +99,7 @@ function build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime)
|
||||
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);
|
||||
var epg_obj= new Array(_desc, _info1, _info2, _start, _start_t, _stop.toString(), __channel_id, _logo);
|
||||
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);
|
||||
@@ -191,12 +192,13 @@ function build_epg_plus_loop(_starttime, _stoptime)
|
||||
var __channel_name = getXMLNodeItemValue(_bouquet, "name");
|
||||
var __channel_id = getXMLNodeItemValue(_bouquet, "id");
|
||||
var __short_channel_id = getXMLNodeItemValue(_bouquet, "short_id");
|
||||
var __logo = getXMLNodeItemValue(_bouquet, "logo");
|
||||
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+"/"+__short_channel_id+".jpg\" title=\""+__channel_name+"\" alt=\""+__channel_name+"\" >":__channel_name;
|
||||
var ch_name_with_logo= (g_logosURL!="")?"<img class=\"channel_logos\" src=\""+__logo+"\" title=\""+__channel_name+"\" 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);
|
||||
build_epg_bouquet(__bdiv, __channel_id, _starttime, _stoptime, __logo);
|
||||
window.setTimeout("build_epg_plus_loop("+_starttime+","+_stoptime+")",100);
|
||||
g_i++;
|
||||
}
|
||||
|
@@ -52,12 +52,17 @@ function epg_imdb(){
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<button ytype="record" title="{=L:epg.set_timer=}" onclick="epg_set_timer();show_obj('epg_info',false);">{=L:record=}</button>
|
||||
<button ytype="zap" title="{=L:epg.zap_to=}" onclick="set_zapit();show_obj('epg_info',false);">{=L:zap=}</button>
|
||||
{=L:lookup=}:
|
||||
<span id="d_lookup"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<br/>
|
||||
<button ytype="record" title="{=L:epg.set_timer=}" onclick="epg_set_timer();show_obj('epg_info',false);">{=L:record=}</button>
|
||||
<button ytype="zap" title="{=L:epg.zap_to=}" onclick="set_zapit();show_obj('epg_info',false);">{=L:zap=}</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
|
@@ -601,6 +601,7 @@ tr {
|
||||
background-color: white;
|
||||
left: 50px;
|
||||
top: 50px;
|
||||
width: 600px;
|
||||
}
|
||||
#epg_time {
|
||||
font-size: 8pt;
|
||||
|
@@ -51,7 +51,7 @@ function do_check(){
|
||||
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.2.6";
|
||||
var needed_nhttpd_version = "3.2.7";
|
||||
var nhttpd_version = loadSyncURL("/control/info?nhttpd_version");
|
||||
if(nhttpd_version.search(/error/)!=-1)
|
||||
nhttpd_version = "0.0.0-unknown";
|
||||
|
@@ -1,5 +1,5 @@
|
||||
version=2.8.0.2
|
||||
date=18.03.2010
|
||||
version=2.8.0.3
|
||||
date=27.03.2010
|
||||
type=Release
|
||||
info=Port Coolstream
|
||||
|
||||
|
@@ -25,7 +25,7 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// General central Definitions <configure!>
|
||||
//-----------------------------------------------------------------------------
|
||||
#define HTTPD_VERSION "3.2.6" // Webserver version (can be overloaded)
|
||||
#define HTTPD_VERSION "3.2.7" // Webserver version (can be overloaded)
|
||||
#define YHTTPD_VERSION "1.3.1" // Webserver version (Version of yhttpd-core!)
|
||||
#define IADDR_LOCAL "127.0.0.1" // local IP
|
||||
#define HTTPD_NAME "yhttpd" // Webserver name (can be overloaded)
|
||||
|
Reference in New Issue
Block a user