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; } }