Ejemplo n.º 1
0
 function download()
 {
     $fileid = JRequest::getVar('fileid', 0, '', 'int');
     $db = JFactory::getDBO();
     $query = 'SELECT * FROM #__fss_kb_attach WHERE id = "' . FSSJ3Helper::getEscaped($db, $fileid) . '"';
     $db->setQuery($query);
     $row = $db->loadAssoc();
     $filename = FSS_Helper::basename($row['filename']);
     $file_extension = strtolower(substr(strrchr($filename, "."), 1));
     $ctype = FSS_Helper::datei_mime($file_extension);
     while (ob_get_level() > 0) {
         ob_end_clean();
     }
     header("Cache-Control: public, must-revalidate");
     header('Cache-Control: pre-check=0, post-check=0, max-age=0');
     header("Pragma: no-cache");
     header("Expires: 0");
     header("Content-Description: File Transfer");
     header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
     header("Content-Type: " . $ctype);
     //header("Content-Length: ".(string)$row['size']);
     header('Content-Disposition: attachment; filename="' . $filename . '"');
     header("Content-Transfer-Encoding: binary\n");
     //echo getcwd(). "<br>";
     $file = "../components/com_fss/files/" . $row['diskfile'];
     //echo $file;
     @readfile($file);
     exit;
 }
Ejemplo n.º 2
0
 function downloadFile()
 {
     $fileid = FSS_Input::getInt('fileid');
     $db = JFactory::getDBO();
     $query = 'SELECT * FROM #__fss_kb_attach WHERE id = "' . FSSJ3Helper::getEscaped($db, $fileid) . '"';
     $db->setQuery($query);
     $row = $db->loadAssoc();
     $filename = FSS_Helper::basename($row['filename']);
     $file_extension = strtolower(substr(strrchr($filename, "."), 1));
     $ctype = FSS_Helper::datei_mime($file_extension);
     if (ob_get_level() > 0) {
         ob_end_clean();
     }
     $file = JPATH_SITE . DS . FSS_Settings::get('attach_location') . DS . 'kb' . DS . $row['diskfile'];
     if (!file_exists($file)) {
         $file = JPATH_SITE . DS . FSS_Settings::get('attach_location') . DS . $row['diskfile'];
     }
     if (!file_exists($file)) {
         echo "File not found - " . $row['diskfile'] . "<br />";
         echo "Paths Tested:<br />";
         echo "<ul>";
         echo "<li>" . JPATH_SITE . DS . FSS_Settings::get('attach_location') . DS . 'kb' . "</li>";
         echo "<li>" . JPATH_SITE . DS . FSS_Settings::get('attach_location') . "</li>";
         echo "</ul>";
         return;
     }
     header("Cache-Control: public, must-revalidate");
     header('Cache-Control: pre-check=0, post-check=0, max-age=0');
     header("Pragma: no-cache");
     header("Expires: 0");
     header("Content-Description: File Transfer");
     header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
     header("Content-Type: " . $ctype);
     //header("Content-Length: ".(string)$row['size']);
     header('Content-Disposition: attachment; filename="' . $filename . '"');
     header("Content-Transfer-Encoding: binary\n");
     //echo getcwd(). "<br>";
     //echo $file;
     readfile($file);
     exit;
 }
Ejemplo n.º 3
0
 static function attachDownload($ticketid, $fileid, $for_user = false)
 {
     $ticket = new SupportTicket();
     if ($ticket->load($ticketid, $for_user)) {
         $attach = $ticket->getAttach($fileid);
         if (substr($attach->diskfile, 0, 7) == "http://" || substr($attach->diskfile, 0, 8) == "https://") {
             header('Location: ' . $attach->diskfile);
             exit;
         }
         $file = JPATH_SITE . DS . FSS_Settings::get('attach_location') . DS . "support" . DS . $attach->diskfile;
         $display_filename = FSS_Helper::basename($attach->filename);
         if (!$for_user) {
             $user = JFactory::GetUser($attach->user_id);
             $type = FSS_Settings::get('support_filename');
             switch ($type) {
                 case 1:
                     $display_filename = $user->username . "_" . $display_filename;
                     break;
                 case 2:
                     $display_filename = $user->username . "_" . date("Y-m-d") . "_" . $display_filename;
                     break;
                 case 3:
                     $display_filename = date("Y-m-d") . "_" . $user->username . "_" . $display_filename;
                     break;
                 case 4:
                     $display_filename = date("Y-m-d") . "_" . $display_filename;
                     break;
             }
         }
         require_once JPATH_SITE . DS . 'components' . DS . 'com_fss' . DS . 'helper' . DS . 'files.php';
         FSS_File_Helper::DownloadFile($file, $display_filename);
     }
     exit;
 }