diff options
-rw-r--r-- | HISTORY.DE | 2 | ||||
-rw-r--r-- | doc-src/en/epgsearch.4.txt | 10 | ||||
-rw-r--r-- | uservars.h | 33 |
3 files changed, 41 insertions, 4 deletions
@@ -31,6 +31,8 @@ neu: conf/epgsearchupdmail-html.templ) * %timer.liveid% liefert die kodierte Timer-ID wie sie im Frontend 'live' benutzt wird. Damit können nun z.B. in den Suchtimer-Mails direkte Links angegeben werden. + * %date_iso% und %date_iso_now% ergeben das (aktuelle) Datum im Format 'YYYY-MM-DD', + vorgeschlagen von Andreas Mair. - neues Kommando 'connect' innerhalb interner Variablen: damit kann eine Verbindung zu einem TCP-Dienst aufgebaut werden, Daten übergeben und das Ergebnis einer Variable zugewiesen werden. S. MANUAL für Details. diff --git a/doc-src/en/epgsearch.4.txt b/doc-src/en/epgsearch.4.txt index 5938cc0..ae29610 100644 --- a/doc-src/en/epgsearch.4.txt +++ b/doc-src/en/epgsearch.4.txt @@ -523,8 +523,9 @@ The following variables exist: %time% - start time in format HH:MM %timeend% - end time in format HH:MM - %date% - start date in format TT.MM.YY - %datesh% - start date in format TT.MM. + %date% - start date in format DD.MM.YY + %datesh% - start date in format DD.MM. + %date_iso% - start date in format YYYY-MM-DD. %year% - year with century %month% - month (1-12) %day% - day (1-31) @@ -562,8 +563,9 @@ for the 'Whats on...' and 'Search results' menu there are also: some indepent variables: %colon% - the sign ':' - %datenow% - current date in format TT.MM.YY - %dateshnow% - current date in format TT.MM. + %datenow% - current date in format DD.MM.YY + %dateshnow% - current date in format DD.MM. + %date_iso_now% - current date in format YYYY-MM-DD %timenow% - current time in format HH:MM %videodir% - VDR video directory (e.g. /video) %plugconfdir% - VDR plugin config directory (e.g. /etc/vdr/plugins) @@ -323,6 +323,21 @@ public: } }; +class cDateISOVar : public cInternalVar { +public: + cDateISOVar() : cInternalVar("%date_iso%") {} + string Evaluate(const cEvent* e, bool escapeStrings = false) + { + if (!e) return ""; + char dateISO[11] = ""; + struct tm tm_r; + const time_t t = e->StartTime(); + tm *tm = localtime_r(&t, &tm_r); + strftime(dateISO, sizeof(dateISO), "%Y-%m-%d", tm); + if (escapeStrings) return "'" + EscapeString(dateISO) + "'"; else return dateISO; + } +}; + class cYearVar : public cInternalVar { public: cYearVar() : cInternalVar("%year%") {} @@ -468,6 +483,20 @@ public: } }; +class cDateISONowVar : public cInternalVar { +public: + cDateISONowVar() : cInternalVar("%date_iso_now%") {} + string Evaluate(const cEvent*, bool escapeStrings = false) + { + char dateISO[11] = ""; + struct tm tm_r; + const time_t t = time(NULL); + tm *tm = localtime_r(&t, &tm_r); + strftime(dateISO, sizeof(dateISO), "%Y-%m-%d", tm); + if (escapeStrings) return "'" + EscapeString(dateISO) + "'"; else return dateISO; + } +}; + class cTimeNowVar : public cInternalVar { public: cTimeNowVar() : cInternalVar("%timenow%") {} @@ -665,6 +694,7 @@ class cUserVars : public cList<cUserVar> { cLength_Var length_Var; cDateVar dateVar; cDateShortVar dateShortVar; + cDateISOVar dateISOVar; cYearVar yearVar; cMonthVar monthVar; cDayVar dayVar; @@ -678,6 +708,7 @@ class cUserVars : public cList<cUserVar> { cColonVar colonVar; cDateNowVar dateNowVar; cDateShortNowVar dateShortNowVar; + cDateISONowVar dateISONowVar; cTimeNowVar timeNowVar; cVideodirVar videodirVar; cPlugconfdirVar plugconfdirVar; @@ -717,6 +748,7 @@ class cUserVars : public cList<cUserVar> { internalVars[length_Var.Name()] = &length_Var; internalVars[dateVar.Name()] = &dateVar; internalVars[dateShortVar.Name()] = &dateShortVar; + internalVars[dateISOVar.Name()] = &dateISOVar; internalVars[yearVar.Name()] = &yearVar; internalVars[monthVar.Name()] = &monthVar; internalVars[dayVar.Name()] = &dayVar; @@ -729,6 +761,7 @@ class cUserVars : public cList<cUserVar> { internalVars[colonVar.Name()] = &colonVar; internalVars[dateNowVar.Name()] = &dateNowVar; internalVars[dateShortNowVar.Name()] = &dateShortNowVar; + internalVars[dateISONowVar.Name()] = &dateISONowVar; internalVars[timeNowVar.Name()] = &timeNowVar; internalVars[videodirVar.Name()] = &videodirVar; internalVars[plugconfdirVar.Name()] = &plugconfdirVar; |