mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-13 05:01:43 +00:00
the use of xsendfile can be set
This commit is contained in:
parent
d3e265d1d1
commit
5353e28fae
|
@ -44,7 +44,13 @@ class SeedDMS_Preview_Base {
|
||||||
*/
|
*/
|
||||||
protected $timeout;
|
protected $timeout;
|
||||||
|
|
||||||
function __construct($previewDir, $timeout=5) { /* {{{ */
|
/**
|
||||||
|
* @var boolean $xsendfile set to true if mod_xѕendfile is to be used
|
||||||
|
* @access protected
|
||||||
|
*/
|
||||||
|
protected $xsendfile;
|
||||||
|
|
||||||
|
function __construct($previewDir, $timeout=5, $xsendfile=true) { /* {{{ */
|
||||||
if(!is_dir($previewDir)) {
|
if(!is_dir($previewDir)) {
|
||||||
if (!SeedDMS_Core_File::makeDir($previewDir)) {
|
if (!SeedDMS_Core_File::makeDir($previewDir)) {
|
||||||
$this->previewDir = '';
|
$this->previewDir = '';
|
||||||
|
@ -55,6 +61,7 @@ class SeedDMS_Preview_Base {
|
||||||
$this->previewDir = $previewDir;
|
$this->previewDir = $previewDir;
|
||||||
}
|
}
|
||||||
$this->timeout = intval($timeout);
|
$this->timeout = intval($timeout);
|
||||||
|
$this->xsendfile = $xsendfile;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
static function execWithTimeout($cmd, $timeout=5) { /* {{{ */
|
static function execWithTimeout($cmd, $timeout=5) { /* {{{ */
|
||||||
|
@ -112,6 +119,18 @@ class SeedDMS_Preview_Base {
|
||||||
$this->converters = $arr;
|
$this->converters = $arr;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable/Disable xsendfile extension
|
||||||
|
*
|
||||||
|
* Merges the list of passed converters with the already existing ones.
|
||||||
|
* Existing converters will be overwritten.
|
||||||
|
*
|
||||||
|
* @param boolean $xsendfile turn on/off use of xsendfile module in apache
|
||||||
|
*/
|
||||||
|
function setXsendfile($xsendfile) { /* {{{ */
|
||||||
|
$this->xsendfile = $xsendfile;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a list of converters
|
* Add a list of converters
|
||||||
*
|
*
|
||||||
|
@ -144,7 +163,7 @@ class SeedDMS_Preview_Base {
|
||||||
* @param string $filename
|
* @param string $filename
|
||||||
*/
|
*/
|
||||||
protected function sendFile($filename) { /* {{{ */
|
protected function sendFile($filename) { /* {{{ */
|
||||||
if(function_exists('apache_get_modules') && in_array('mod_xsendfile',apache_get_modules())) {
|
if($this->xsendfile && function_exists('apache_get_modules') && in_array('mod_xsendfile',apache_get_modules())) {
|
||||||
header("X-Sendfile: ".$filename);
|
header("X-Sendfile: ".$filename);
|
||||||
} else {
|
} else {
|
||||||
/* Make sure output buffering is off */
|
/* Make sure output buffering is off */
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
*/
|
*/
|
||||||
class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base {
|
class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base {
|
||||||
|
|
||||||
function __construct($previewDir, $timeout=5) { /* {{{ */
|
function __construct($previewDir, $timeout=5, $xsendfile=true) { /* {{{ */
|
||||||
parent::__construct($previewDir, $timeout);
|
parent::__construct($previewDir, $timeout, $xsendfile);
|
||||||
$this->converters = array(
|
$this->converters = array(
|
||||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
|
'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
|
||||||
'application/vnd.oasis.opendocument.text' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
|
'application/vnd.oasis.opendocument.text' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
|
||||||
|
|
|
@ -29,8 +29,8 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
|
||||||
*/
|
*/
|
||||||
protected $width;
|
protected $width;
|
||||||
|
|
||||||
function __construct($previewDir, $width=40, $timeout=5) { /* {{{ */
|
function __construct($previewDir, $width=40, $timeout=5, $xsendfile=true) { /* {{{ */
|
||||||
parent::__construct($previewDir, $timeout);
|
parent::__construct($previewDir, $timeout, $xsendfile);
|
||||||
$this->converters = array(
|
$this->converters = array(
|
||||||
'image/png' => "convert -resize %wx '%f' '%o'",
|
'image/png' => "convert -resize %wx '%f' '%o'",
|
||||||
'image/gif' => "convert -resize %wx '%f' '%o'",
|
'image/gif' => "convert -resize %wx '%f' '%o'",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user