From 3f909d1595112849dfd07a0eee0eae5c5e1f8ae2 Mon Sep 17 00:00:00 2001 From: Christian Wieninger Date: Sun, 20 Dec 2009 20:31:57 +0100 Subject: new variables date_iso and date_iso_now --- HISTORY.DE | 2 ++ doc-src/en/epgsearch.4.txt | 10 ++++++---- uservars.h | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/HISTORY.DE b/HISTORY.DE index c912090..cd77415 100644 --- a/HISTORY.DE +++ b/HISTORY.DE @@ -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) diff --git a/uservars.h b/uservars.h index 3a2b715..33be78e 100644 --- a/uservars.h +++ b/uservars.h @@ -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 { cLength_Var length_Var; cDateVar dateVar; cDateShortVar dateShortVar; + cDateISOVar dateISOVar; cYearVar yearVar; cMonthVar monthVar; cDayVar dayVar; @@ -678,6 +708,7 @@ class cUserVars : public cList { cColonVar colonVar; cDateNowVar dateNowVar; cDateShortNowVar dateShortNowVar; + cDateISONowVar dateISONowVar; cTimeNowVar timeNowVar; cVideodirVar videodirVar; cPlugconfdirVar plugconfdirVar; @@ -717,6 +748,7 @@ class cUserVars : public cList { 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 { 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; -- cgit v1.2.3