Exemplo n.º 1
0
 function check_for_force_download_file_request()
 {
     if (isset($_GET['fdcpf'])) {
         ob_start();
         require_once $this->plugin_dir . 'includes/classes/class.encryption.php';
         $encryption = new CP_Encryption();
         $requested_file = $encryption->decode($_GET['fdcpf']);
         $requested_file_obj = wp_check_filetype($requested_file);
         header('Pragma: public');
         header('Expires: 0');
         header('Cache-Control: must-revalidate, post-check = 0, pre-check = 0');
         header('Cache-Control: private', false);
         header('Content-Type: ' . $requested_file_obj["type"]);
         header('Content-Disposition: attachment; filename ="' . basename($requested_file) . '"');
         header('Content-Transfer-Encoding: binary');
         header('Connection: close');
         /**
          * Filter used to alter header params. E.g. removing 'timeout'.
          */
         $force_download_parameters = apply_filters('coursepress_force_download_parameters', array('timeout' => 60, 'user-agent' => $this->name . ' / ' . $this->version . ';'));
         echo wp_remote_retrieve_body(wp_remote_get($requested_file), $force_download_parameters);
         exit;
     }
 }