summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY.DE2
-rw-r--r--doc-src/en/epgsearch.4.txt10
-rw-r--r--uservars.h33
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<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;