diff options
author | Christian Wieninger <cwieninger@gmx.de> | 2011-06-12 10:41:37 +0200 |
---|---|---|
committer | Christian Wieninger <cwieninger@gmx.de> | 2011-06-12 10:41:37 +0200 |
commit | 7caf8219ca7295a0f25bb1789f9658c4b3c324ff (patch) | |
tree | 2d4c4d0f37702aeb5882e88ad3535980e0f3dd7b /uservars.h | |
parent | a31c53e6d76e60de171394371f07b188b759fa74 (diff) | |
download | vdr-plugin-epgsearch-7caf8219ca7295a0f25bb1789f9658c4b3c324ff.tar.gz vdr-plugin-epgsearch-7caf8219ca7295a0f25bb1789f9658c4b3c324ff.tar.bz2 |
avoid repeats by 'compare epxression'
Diffstat (limited to 'uservars.h')
-rw-r--r-- | uservars.h | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -354,7 +354,7 @@ public: class cMonthVar : public cInternalVar { public: - cMonthVar() : cInternalVar("%year%") {} + cMonthVar() : cInternalVar("%month%") {} string Evaluate(const cEvent* e, bool escapeStrings = false) { if (!e) return ""; @@ -382,6 +382,21 @@ public: } }; +class cWeekVar : public cInternalVar { +public: + cWeekVar() : cInternalVar("%week%") {} + string Evaluate(const cEvent* e, bool escapeStrings = false) + { + if (!e) return ""; + char day[3] = ""; + struct tm tm_r; + const time_t t = e->StartTime(); + tm *tm = localtime_r(&t, &tm_r); + strftime(day, sizeof(day), "%V", tm); + if (escapeStrings) return "'" + EscapeString(day) + "'"; else return day; + } +}; + class cChannelNrVar : public cInternalVar { public: cChannelNrVar() : cInternalVar("%chnr%") {} @@ -719,6 +734,7 @@ class cUserVars : public cList<cUserVar> { cYearVar yearVar; cMonthVar monthVar; cDayVar dayVar; + cWeekVar weekVar; cChannelNrVar chnrVar; cChannelShortVar chShortVar; cChannelLongVar chLongVar; @@ -775,6 +791,7 @@ class cUserVars : public cList<cUserVar> { internalVars[yearVar.Name()] = &yearVar; internalVars[monthVar.Name()] = &monthVar; internalVars[dayVar.Name()] = &dayVar; + internalVars[weekVar.Name()] = &weekVar; internalVars[chnrVar.Name()] = &chnrVar; internalVars[chShortVar.Name()] = &chShortVar; internalVars[chLongVar.Name()] = &chLongVar; |