Download Monitor downloads beschermen met eigen functie

Download Monitor

Met de Download Monitor van Mike Jolley is het mogelijk om downloads te monitoren, en links op een eigen wijze weer te geven. Doordat er een extra laag tussen de download gezet wordt is het mogelijk om zelf te bepalen wie iets kan downloaden. In deze blog leg ik uit hoe je downloads in de Download Monitor plugin kunt afschermen met een eigen functie.

De plugin bevat een belangrijke filter genaamd “dlm_can_download”. Met behulp van deze filter is het mogelijk zelf criteria te gebruiken voordat een bestand kan worden gedownload. In dit geval is het controleren of iemand ingelogd is via een golf portal, waarvan een class en method bekend is. De class heet “Golf” en de method is is_loggedin(), welke controleert of iemand is ingelogd, en true of false retourneert.

Met een klein beetje code, welke toegevoegd wordt aan de functions.php van het thema, is elke download vanuit Download Monitor nu alleen nog maar toegankelijk voor ingelogde Golf gebruikers.

function nstrm_golf_access( $post, $download ) {

   if (Golf::is_loggedin()) {
      $can_download = true;
   }

   return $can_download;
}
add_filter( 'dlm_can_download', 'nstrm_golf_access', 1, 2 );