if(!html_verify_access(hc, "record-events"))
return HTTP_STATUS_UNAUTHORIZED;
+ if(http_arg_get(&hc->hc_url_args, "clearall")) {
+ pvr_clear_all_completed();
+ }
+
op = -1;
pvrr_tgt = NULL;
LIST_FOREACH(ra, &hc->hc_url_args, link) {
divid++;
}
- tcp_qprintf(&tq,
- "<br><div style=\"text-align: center\">"
- "<input type=\"submit\" class=\"knapp\" name=\"clearall\" "
- "value=\"Remove all completed recordings\"></div>");
+ tcp_qprintf(&tq,
+ "<br><div style=\"text-align: center\">"
+ "<input type=\"submit\" class=\"knapp\" name=\"clearall\" "
+ "value=\"Remove all completed recording log entries\"></div>");
tcp_qprintf(&tq, "</div>\r\n");
}
+/**
+ * Remove log info about all completed recordings
+ */
+void
+pvr_clear_all_completed(void)
+{
+ pvr_rec_t *pvrr, *next;
+ for(pvrr = LIST_FIRST(&pvrr_global_list); pvrr != NULL; pvrr = next) {
+ next = LIST_NEXT(pvrr, pvrr_global_link);
+
+ switch(pvrr->pvrr_status) {
+ case HTSTV_PVR_STATUS_SCHEDULED:
+ case HTSTV_PVR_STATUS_RECORDING:
+ break;
+ default:
+ pvr_database_erase(pvrr);
+ pvr_free(pvrr);
+ break;
+ }
+ }
+}
+
+
+
void
pvr_event_record_op(th_channel_t *ch, event_t *e, recop_t op)
{