$category = new PMF_Category($faqConfig, $current_groups, true);
$category->setUser($current_user);
$pdf = new PMF_Export_Pdf($faq, $category, $faqConfig);
$http = new PMF_Helper_Http();
if (true === $getAll) {
    $category->buildTree();
}
$tags = new PMF_Tags($faqConfig);
session_cache_limiter('private');
$headers = array("Pragma: public", "Expires: 0", "Cache-Control: must-revalidate, post-check=0, pre-check=0");
if (true === $getAll && $permission['export']) {
    $filename = 'FAQs.pdf';
    $pdfFile = $pdf->generate(0, true, $lang);
} else {
    if (is_null($currentCategory) || is_null($id)) {
        $http->redirect($faqConfig->get('main.referenceURL'));
        exit;
    }
    $faq->getRecord($id);
    $faq->faqRecord['category_id'] = $currentCategory;
    $filename = 'FAQ-' . $id . '-' . $lang . '.pdf';
    $pdfFile = $pdf->generateFile($faq->faqRecord, $filename);
}
if (preg_match("/MSIE/i", $_SERVER["HTTP_USER_AGENT"])) {
    $headers[] = "Content-type: application/pdf";
    $headers[] = "Content-Transfer-Encoding: binary";
    $headers[] = "Content-Disposition: attachment; filename=" . $filename;
} else {
    $headers[] = "Content-Type: application/pdf";
}
$http->sendWithHeaders($pdfFile, $headers);