diff options
author | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2009-10-14 10:17:40 +0200 |
---|---|---|
committer | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2009-10-14 10:17:40 +0200 |
commit | ba8ea0c1acf117bbb4a709264eb2591a497fa779 (patch) | |
tree | bf77e9b3b103a38b641b129e9bd1d3f66313bc98 /uservars.h | |
parent | c4b13efb3e9833a937969792983a9028b22fa7e2 (diff) | |
download | vdr-plugin-epgsearch-ba8ea0c1acf117bbb4a709264eb2591a497fa779.tar.gz vdr-plugin-epgsearch-ba8ea0c1acf117bbb4a709264eb2591a497fa779.tar.bz2 |
new internal variable %liveeventid%
Diffstat (limited to 'uservars.h')
-rw-r--r-- | uservars.h | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -168,6 +168,24 @@ public: else return ""; } }; +class cLiveEventIDVar : public cInternalVar { +public: + cLiveEventIDVar() : cInternalVar("%liveeventid%") {} + string Evaluate(const cEvent* e, bool escapeStrings = false) + { + if (!e) return ""; + cChannel *channel = Channels.GetByChannelID(e->ChannelID(), true); + if (!channel) return ""; + + string res(channel->GetChannelID().ToString()); + res = "event_" + res; + res = ReplaceAll(res, ".", "p"); + res = ReplaceAll(res, "-", "m"); + res += "_" + NumToString(e->EventID()); + if (escapeStrings) return "'" + EscapeString(res) + "'"; else return res; + } +}; + class cTimeVar : public cInternalVar { public: cTimeVar() : cInternalVar("%time%") {} @@ -617,6 +635,7 @@ class cUserVars : public cList<cUserVar> { cSummaryVar summaryVar; cHTMLSummaryVar htmlsummaryVar; cEventIDVar eventIDVar; + cLiveEventIDVar liveeventIDVar; cTimeVar timeVar; cTimeEndVar timeEndVar; cTime_wVar time_wVar; @@ -667,6 +686,7 @@ class cUserVars : public cList<cUserVar> { internalVars[summaryVar.Name()] = &summaryVar; internalVars[htmlsummaryVar.Name()] = &htmlsummaryVar; internalVars[eventIDVar.Name()] = &eventIDVar; + internalVars[liveeventIDVar.Name()] = &liveeventIDVar; internalVars[timeVar.Name()] = &timeVar; internalVars[timeEndVar.Name()] = &timeEndVar; internalVars[time_wVar.Name()] = &time_wVar; |