<%pre> #include <vdr/i18n.h> #include "timers.h" #include "tools.h" #include "setup.h" using namespace std; using namespace vdrlive; </%pre> <%args> // input parameters string timerid; string action; </%args> <%session scope="global"> bool logged_in(false); </%session> <%request scope="page"> cTimer* timer; </%request> <%include>page_init.eh</%include> <%cpp> if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html"); pageTitle = tr("Timers"); cMutexLock timersLock( &LiveTimerManager() ); SortedTimers& timers = LiveTimerManager().GetTimers(); timer = 0; if ( !timerid.empty() ) { timer = timers.GetByTimerId( timerid ); if ( timer == 0 ) throw HtmlError( tr("Couldn't find timer. Maybe you mistyped your request?") ); if (action == "delete") LiveTimerManager().DelTimer(timer); if (action == "toggle") LiveTimerManager().ToggleTimerActive(timer); } int previousDay = 0; </%cpp> <& pageelems.doc_type &> <html> <head> <title>VDR-Live - <$ pageTitle $></title> <link rel="stylesheet" type="text/css" href="styles.css" /> <& tooltip.javascript var=("domTT_styleClass") value=("domTTepg") &> <& pageelems.ajax_js &> </head> <body onload="<& pageelems.infobox_start_update &>"> <& pageelems.logo &> <& menu active=("timers") component=("timers.timer_actions")> <div class="inhalt"> % if (timers.size() == 0) { <$ tr("No timer defined") $> % } else { <table class="timers" cellspacing="0" cellpadding="0"> <%cpp> for (SortedTimers::iterator timer = timers.begin(); timer != timers.end(); ++timer) { if (previousDay != timer->Day()) { if (previousDay > 0) { </%cpp> <tr> <td colspan="10" style="border-top: 1px solid black; border-bottom: none; background-image: none"> </td> </tr> <%cpp> } previousDay = timer->Day(); </%cpp> <tr class="head"> <td style="background: url(bg_box_l.png); width: 3px;"></td> <td colspan="8"><$ timer->WeekDays() > 0 ? *cTimer::PrintDay(0, timer->WeekDays()) : FormatDateTime(tr("%A, %x"), timer->Day()) $></td> <td style="background: url(bg_box_r.png); width: 3px;"></td> </tr> <tr class="description"> <td class="border" style="border-left: 1px solid black"></td> <td><img src="transparent.png" alt="" width="16px" height="16px" /></td> <td><$ tr("Channel") $></td> <td><$ tr("Start") $></td> <td><$ tr("Stop") $></td> <td><$ tr("File") $></td> <td><img src="transparent.png" alt="" width="16px" height="16px" /></td> <td><img src="transparent.png" alt="" width="16px" height="16px" /></td> <td><img src="transparent.png" alt="" width="16px" height="16px" /></td> <td class="border" style="border-right: 1px solid black"></td> </tr> <%cpp> } std::string timerStateImg = "transparent.png"; if (timer->Recording()) timerStateImg = "arrow_rec.gif"; else if (timer->Flags() & tfActive) timerStateImg = "arrow.png"; </%cpp> <tr> <td class="border" style="border-left: 1px solid black"></td> <td><img src="<$ timerStateImg $>" alt=""></img></td> <td><$ timer->Channel()->Name() $></td> <td><$ FormatDateTime(tr("%I:%M %p"), timer->StartTime()) $></td> <td><$ FormatDateTime(tr("%I:%M %p"), timer->StopTime()) $></td> <td><$ timer->File() $></td> <td><a href="timers.html?timerid=<$ timers.GetTimerId(*timer) $>&action=toggle"><img src="<$ (timer->Flags() & tfActive) ? "active" : "inactive" $>.png" alt="" <& tooltip.hint text=(tr("Toggle timer active/inactive")) &>></img></a></td> <td><a href="edit_timer.html?timerid=<$ timers.GetTimerId(*timer) $>"><img src="edit.png" alt="" <& tooltip.hint text=(tr("Edit timer")) &>></img></a></td> <td><a href="timers.html?timerid=<$ timers.GetTimerId(*timer) $>&action=delete"><img src="del.png" alt="" <& tooltip.hint text=(tr("Delete timer")) &>></img></a></td> <td class="border" style="border-right: 1px solid black"></td> </tr> <%cpp> } } </%cpp> <tr><td colspan="10" style="border-top: 1px solid black; background-image: none; border-bottom: none"> </td></tr> </table> </div> </body> </html> <%include>page_exit.eh</%include> <%def timer_actions> <a href="edit_timer.html"><$ tr("New timer") $></a> </%def>