} // On vérifie que la commande associée est payée $order = null; $order = $h_oledrion_commands->get($caddy->getVar('caddy_cmd_id')); if ($order == null) { oledrion_utils::redirect(_OLEDRION_ERROR16, OLEDRION_URL, 5); } // Tout est bon, on peut envoyer le fichier au navigateur, s'il y a un fichier à télécharger, et s'il existe $file = ''; $file = $product->getVar('product_download_url'); if (xoops_trim($file) == '') { oledrion_utils::redirect(_OLEDRION_ERROR17, OLEDRION_URL, 5); } if (!file_exists($file)) { oledrion_utils::redirect(_OLEDRION_ERROR18, OLEDRION_URL, 5); } // Mise à jour, le fichier n'est plus disponible au téléchargement $h_oledrion_caddy->markCaddyAsNotDownloadableAnyMore($caddy); $fileContent = file_get_contents($file); // Plugins ************************************************ $plugins = oledrion_plugins::getInstance(); $parameters = new oledrion_parameters(array('fileContent' => $fileContent, 'product' => $product, 'order' => $order, 'fullFilename' => $file)); $parameters = $plugins->fireFilter(oledrion_plugins::EVENT_ON_PRODUCT_DOWNLOAD, $parameters); if (trim($parameters['fileContent']) != '') { $fileContent = $parameters['fileContent']; } // ********************************************************* // Et affichage du fichier avec le type mime qui va bien header("Content-Type: " . oledrion_utils::getMimeType($file)); header('Content-disposition: inline; filename="' . basename($file) . '"'); echo $fileContent;
/** * Retourne l'instance unique de la classe * * @return object */ public static function getInstance() { if (!self::$instance instanceof self) { self::$instance = new self(); } return self::$instance; }