mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-09 21:16:07 +00:00
Merge branch 'seeddms-4.3.x' into seeddms-5.0.x
This commit is contained in:
commit
129b725414
|
@ -34,6 +34,9 @@
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
Changes in version 4.3.27
|
Changes in version 4.3.27
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
- remove preview images when document or document content is removed (Closes #262)
|
||||||
|
- add clear cache operation in admin tools
|
||||||
|
- fix strict standard error in SeedDMS_Lucene (Closes #263)
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
Changes in version 4.3.26
|
Changes in version 4.3.26
|
||||||
|
@ -52,7 +55,7 @@
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
- much more consistent drag & drop
|
- much more consistent drag & drop
|
||||||
- various translation updates
|
- various translation updates
|
||||||
- take out file deletion because it was (and probabbly never has been) useful
|
- take out file deletion because it was not (and probabbly never has been) useful
|
||||||
- send notification if folder is deleted by ajax call
|
- send notification if folder is deleted by ajax call
|
||||||
- add page ImportFS for mass importing files from drop folder
|
- add page ImportFS for mass importing files from drop folder
|
||||||
- add initial version for editing text files online
|
- add initial version for editing text files online
|
||||||
|
|
|
@ -309,6 +309,7 @@ class SeedDMS_Core_DMS {
|
||||||
$this->classnames['documentcontent'] = 'SeedDMS_Core_DocumentContent';
|
$this->classnames['documentcontent'] = 'SeedDMS_Core_DocumentContent';
|
||||||
$this->classnames['user'] = 'SeedDMS_Core_User';
|
$this->classnames['user'] = 'SeedDMS_Core_User';
|
||||||
$this->classnames['group'] = 'SeedDMS_Core_Group';
|
$this->classnames['group'] = 'SeedDMS_Core_Group';
|
||||||
|
$this->callbacks = array();
|
||||||
$this->version = '@package_version@';
|
$this->version = '@package_version@';
|
||||||
if($this->version[0] == '@')
|
if($this->version[0] == '@')
|
||||||
$this->version = '5.0.3';
|
$this->version = '5.0.3';
|
||||||
|
@ -1284,10 +1285,11 @@ class SeedDMS_Core_DMS {
|
||||||
|
|
||||||
/* Check if 'onPostAddUser' callback is set */
|
/* Check if 'onPostAddUser' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPostAddUser'])) {
|
if(isset($this->_dms->callbacks['onPostAddUser'])) {
|
||||||
$callback = $this->_dms->callbacks['onPostUser'];
|
foreach($this->_dms->callbacks['onPostUser'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $user)) {
|
if(!call_user_func($callback[0], $callback[1], $user)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $user;
|
return $user;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
@ -1345,10 +1347,11 @@ class SeedDMS_Core_DMS {
|
||||||
|
|
||||||
/* Check if 'onPostAddGroup' callback is set */
|
/* Check if 'onPostAddGroup' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPostAddGroup'])) {
|
if(isset($this->_dms->callbacks['onPostAddGroup'])) {
|
||||||
$callback = $this->_dms->callbacks['onPostAddGroup'];
|
foreach($this->_dms->callbacks['onPostAddGroup'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $group)) {
|
if(!call_user_func($callback[0], $callback[1], $group)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $group;
|
return $group;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
@ -1433,10 +1436,11 @@ class SeedDMS_Core_DMS {
|
||||||
|
|
||||||
/* Check if 'onPostAddKeywordCategory' callback is set */
|
/* Check if 'onPostAddKeywordCategory' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPostAddKeywordCategory'])) {
|
if(isset($this->_dms->callbacks['onPostAddKeywordCategory'])) {
|
||||||
$callback = $this->_dms->callbacks['onPostAddKeywordCategory'];
|
foreach($this->_dms->callbacks['onPostAddKeywordCategory'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $category)) {
|
if(!call_user_func($callback[0], $callback[1], $category)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $category;
|
return $category;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
@ -1508,10 +1512,11 @@ class SeedDMS_Core_DMS {
|
||||||
|
|
||||||
/* Check if 'onPostAddDocumentCategory' callback is set */
|
/* Check if 'onPostAddDocumentCategory' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPostAddDocumentCategory'])) {
|
if(isset($this->_dms->callbacks['onPostAddDocumentCategory'])) {
|
||||||
$callback = $this->_dms->callbacks['onPostAddDocumentCategory'];
|
foreach($this->_dms->callbacks['onPostAddDocumentCategory'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $category)) {
|
if(!call_user_func($callback[0], $callback[1], $category)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $category;
|
return $category;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
@ -2226,7 +2231,20 @@ class SeedDMS_Core_DMS {
|
||||||
*/
|
*/
|
||||||
function setCallback($name, $func, $params=null) { /* {{{ */
|
function setCallback($name, $func, $params=null) { /* {{{ */
|
||||||
if($name && $func)
|
if($name && $func)
|
||||||
$this->callbacks[$name] = array($func, $params);
|
$this->callbacks[$name] = array(array($func, $params));
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a callback function
|
||||||
|
*
|
||||||
|
* @param string $name internal name of callback
|
||||||
|
* @param mixed $func function name as expected by {call_user_method}
|
||||||
|
* @param mixed $params parameter passed as the first argument to the
|
||||||
|
* callback
|
||||||
|
*/
|
||||||
|
function addCallback($name, $func, $params=null) { /* {{{ */
|
||||||
|
if($name && $func)
|
||||||
|
$this->callbacks[$name][] = array($func, $params);
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1820,11 +1820,12 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
|
||||||
|
|
||||||
/* Check if 'onPreRemoveDocument' callback is set */
|
/* Check if 'onPreRemoveDocument' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPreRemoveDocument'])) {
|
if(isset($this->_dms->callbacks['onPreRemoveDocument'])) {
|
||||||
$callback = $this->_dms->callbacks['onPreRemoveDocument'];
|
foreach($this->_dms->callbacks['onPreRemoveDocument'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $this)) {
|
if(!call_user_func($callback[0], $callback[1], $this)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$res = $this->getContent();
|
$res = $this->getContent();
|
||||||
if (is_bool($res) && !$res) return false;
|
if (is_bool($res) && !$res) return false;
|
||||||
|
@ -1907,10 +1908,11 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
|
||||||
|
|
||||||
/* Check if 'onPostRemoveDocument' callback is set */
|
/* Check if 'onPostRemoveDocument' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPostRemoveDocument'])) {
|
if(isset($this->_dms->callbacks['onPostRemoveDocument'])) {
|
||||||
$callback = $this->_dms->callbacks['onPostRemoveDocument'];
|
foreach($this->_dms->callbacks['onPostRemoveDocument'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $this->_id)) {
|
if(!call_user_func($callback[0], $callback[1], $this->_id)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
|
@ -534,10 +534,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
|
||||||
|
|
||||||
/* Check if 'onPostAddSubFolder' callback is set */
|
/* Check if 'onPostAddSubFolder' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPostAddSubFolder'])) {
|
if(isset($this->_dms->callbacks['onPostAddSubFolder'])) {
|
||||||
$callback = $this->_dms->callbacks['onPostAddSubFolder'];
|
foreach($this->_dms->callbacks['onPostAddSubFolder'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $newFolder)) {
|
if(!call_user_func($callback[0], $callback[1], $newFolder)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $newFolder;
|
return $newFolder;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
@ -852,10 +853,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
|
||||||
|
|
||||||
/* Check if 'onPostAddDocument' callback is set */
|
/* Check if 'onPostAddDocument' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPostAddDocument'])) {
|
if(isset($this->_dms->callbacks['onPostAddDocument'])) {
|
||||||
$callback = $this->_dms->callbacks['onPostAddDocument'];
|
foreach($this->_dms->callbacks['onPostAddDocument'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $document)) {
|
if(!call_user_func($callback[0], $callback[1], $document)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return array($document, $res);
|
return array($document, $res);
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
@ -874,11 +876,12 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
|
||||||
|
|
||||||
/* Check if 'onPreRemoveFolder' callback is set */
|
/* Check if 'onPreRemoveFolder' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPreRemoveFolder'])) {
|
if(isset($this->_dms->callbacks['onPreRemoveFolder'])) {
|
||||||
$callback = $this->_dms->callbacks['onPreRemoveFolder'];
|
foreach($this->_dms->callbacks['onPreRemoveFolder'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $this)) {
|
if(!call_user_func($callback[0], $callback[1], $this)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$db->startTransaction();
|
$db->startTransaction();
|
||||||
// unset homefolder as it will no longer exist
|
// unset homefolder as it will no longer exist
|
||||||
|
@ -914,10 +917,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
|
||||||
|
|
||||||
/* Check if 'onPostRemoveFolder' callback is set */
|
/* Check if 'onPostRemoveFolder' callback is set */
|
||||||
if(isset($this->_dms->callbacks['onPostRemoveFolder'])) {
|
if(isset($this->_dms->callbacks['onPostRemoveFolder'])) {
|
||||||
$callback = $this->_dms->callbacks['onPostRemoveFolder'];
|
foreach($this->_dms->callbacks['onPostRemoveFolder'] as $callback) {
|
||||||
if(!call_user_func($callback[0], $callback[1], $this->_id)) {
|
if(!call_user_func($callback[0], $callback[1], $this->_id)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
|
@ -1026,6 +1026,22 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated
|
||||||
- fix setting multi value attributes for versions
|
- fix setting multi value attributes for versions
|
||||||
</notes>
|
</notes>
|
||||||
</release>
|
</release>
|
||||||
|
<release>
|
||||||
|
<date>2016-04-04</date>
|
||||||
|
<time>07:38:23</time>
|
||||||
|
<version>
|
||||||
|
<release>4.3.26</release>
|
||||||
|
<api>4.3.26</api>
|
||||||
|
</version>
|
||||||
|
<stability>
|
||||||
|
<release>stable</release>
|
||||||
|
<api>stable</api>
|
||||||
|
</stability>
|
||||||
|
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
||||||
|
<notes>
|
||||||
|
- add more callbacks
|
||||||
|
</notes>
|
||||||
|
</release>
|
||||||
<release>
|
<release>
|
||||||
<date>2016-01-22</date>
|
<date>2016-01-22</date>
|
||||||
<time>14:34:58</time>
|
<time>14:34:58</time>
|
||||||
|
@ -1042,5 +1058,21 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated
|
||||||
- all changes from 4.3.24 merged
|
- all changes from 4.3.24 merged
|
||||||
</notes>
|
</notes>
|
||||||
</release>
|
</release>
|
||||||
|
<release>
|
||||||
|
<date>2016-04-26</date>
|
||||||
|
<time>12:04:59</time>
|
||||||
|
<version>
|
||||||
|
<release>5.0.2</release>
|
||||||
|
<api>5.0.2</api>
|
||||||
|
</version>
|
||||||
|
<stability>
|
||||||
|
<release>stable</release>
|
||||||
|
<api>stable</api>
|
||||||
|
</stability>
|
||||||
|
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
||||||
|
<notes>
|
||||||
|
- all changes from 4.3.25 merged
|
||||||
|
</notes>
|
||||||
|
</release>
|
||||||
</changelog>
|
</changelog>
|
||||||
</package>
|
</package>
|
||||||
|
|
|
@ -42,7 +42,9 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
|
||||||
do {
|
do {
|
||||||
$timeleft = $timeout - time();
|
$timeleft = $timeout - time();
|
||||||
$read = array($pipes[1]);
|
$read = array($pipes[1]);
|
||||||
stream_select($read, $write = NULL, $exeptions = NULL, $timeleft, 200000);
|
$write = NULL;
|
||||||
|
$exeptions = NULL;
|
||||||
|
stream_select($read, $write, $exeptions, $timeleft, 200000);
|
||||||
|
|
||||||
if (!empty($read)) {
|
if (!empty($read)) {
|
||||||
$output .= fread($pipes[1], 8192);
|
$output .= fread($pipes[1], 8192);
|
||||||
|
|
|
@ -11,10 +11,10 @@
|
||||||
<email>uwe@steinmann.cx</email>
|
<email>uwe@steinmann.cx</email>
|
||||||
<active>yes</active>
|
<active>yes</active>
|
||||||
</lead>
|
</lead>
|
||||||
<date>2016-03-29</date>
|
<date>2016-04-28</date>
|
||||||
<time>08:11:19</time>
|
<time>08:11:19</time>
|
||||||
<version>
|
<version>
|
||||||
<release>1.1.8</release>
|
<release>1.1.9</release>
|
||||||
<api>1.1.7</api>
|
<api>1.1.7</api>
|
||||||
</version>
|
</version>
|
||||||
<stability>
|
<stability>
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
</stability>
|
</stability>
|
||||||
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
||||||
<notes>
|
<notes>
|
||||||
set last parameter of stream_select() to 200000 micro sec. in case the timeout in sec. is set to 0
|
pass variables to stream_select() to fullfill strict standards.
|
||||||
</notes>
|
</notes>
|
||||||
<contents>
|
<contents>
|
||||||
<dir baseinstalldir="SeedDMS" name="/">
|
<dir baseinstalldir="SeedDMS" name="/">
|
||||||
|
@ -218,5 +218,21 @@ run external commands with a timeout
|
||||||
add command for indexing postѕcript files
|
add command for indexing postѕcript files
|
||||||
</notes>
|
</notes>
|
||||||
</release>
|
</release>
|
||||||
|
<release>
|
||||||
|
<date>2016-03-29</date>
|
||||||
|
<time>08:11:19</time>
|
||||||
|
<version>
|
||||||
|
<release>1.1.8</release>
|
||||||
|
<api>1.1.7</api>
|
||||||
|
</version>
|
||||||
|
<stability>
|
||||||
|
<release>stable</release>
|
||||||
|
<api>stable</api>
|
||||||
|
</stability>
|
||||||
|
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
||||||
|
<notes>
|
||||||
|
set last parameter of stream_select() to 200000 micro sec. in case the timeout in sec. is set to 0
|
||||||
|
</notes>
|
||||||
|
</release>
|
||||||
</changelog>
|
</changelog>
|
||||||
</package>
|
</package>
|
||||||
|
|
|
@ -93,13 +93,13 @@ class SeedDMS_Preview_Previewer {
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the physical filename of the preview image on disk
|
* Return the physical filename of the preview image on disk
|
||||||
*
|
*
|
||||||
* @param object $object document content or document file
|
* @param object $object document content or document file
|
||||||
* @param integer $width width of preview image
|
* @param integer $width width of preview image
|
||||||
* @return string file name of preview image
|
* @return string file name of preview image
|
||||||
*/
|
*/
|
||||||
protected function getFileName($object, $width) { /* }}} */
|
protected function getFileName($object, $width) { /* {{{ */
|
||||||
if(!$object)
|
if(!$object)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -121,10 +121,18 @@ class SeedDMS_Preview_Previewer {
|
||||||
/**
|
/**
|
||||||
* Create a preview image for a given file
|
* Create a preview image for a given file
|
||||||
*
|
*
|
||||||
|
* This method creates a preview image in png format for a regular file
|
||||||
|
* in the file system and stores the result in the directory $dir relative
|
||||||
|
* to the configured preview directory. The filename of the resulting preview
|
||||||
|
* image is either $target.png (if set) or md5($infile)-$width.png.
|
||||||
|
* The $mimetype is used to select the propper conversion programm.
|
||||||
|
* An already existing preview image is replaced.
|
||||||
|
*
|
||||||
* @param string $infile name of input file including full path
|
* @param string $infile name of input file including full path
|
||||||
* @param string $dir directory relative to $this->previewDir
|
* @param string $dir directory relative to $this->previewDir
|
||||||
* @param string $mimetype MimeType of input file
|
* @param string $mimetype MimeType of input file
|
||||||
* @param integer $width width of generated preview image
|
* @param integer $width width of generated preview image
|
||||||
|
* @param string $target optional name of preview image (without extension)
|
||||||
* @return boolean true on success, false on failure
|
* @return boolean true on success, false on failure
|
||||||
*/
|
*/
|
||||||
public function createRawPreview($infile, $dir, $mimetype, $width=0, $target='') { /* {{{ */
|
public function createRawPreview($infile, $dir, $mimetype, $width=0, $target='') { /* {{{ */
|
||||||
|
@ -177,6 +185,19 @@ class SeedDMS_Preview_Previewer {
|
||||||
|
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create preview image
|
||||||
|
*
|
||||||
|
* This function creates a preview image for the given document
|
||||||
|
* content or document file. It internally uses
|
||||||
|
* {@link SeedDMS_Preview::createRawPreview()}. The filename of the
|
||||||
|
* preview image is created by {@link SeedDMS_Preview_Previewer::getFileName()}
|
||||||
|
*
|
||||||
|
* @param object $object instance of SeedDMS_Core_DocumentContent
|
||||||
|
* or SeedDMS_Core_DocumentFile
|
||||||
|
* @param integer $width desired width of preview image
|
||||||
|
* @return boolean true on success, false on failure
|
||||||
|
*/
|
||||||
public function createPreview($object, $width=0) { /* {{{ */
|
public function createPreview($object, $width=0) { /* {{{ */
|
||||||
if(!$object)
|
if(!$object)
|
||||||
return false;
|
return false;
|
||||||
|
@ -190,57 +211,18 @@ class SeedDMS_Preview_Previewer {
|
||||||
$target = $this->getFileName($object, $width);
|
$target = $this->getFileName($object, $width);
|
||||||
return $this->createRawPreview($file, $document->getDir(), $object->getMimeType(), $width, $target);
|
return $this->createRawPreview($file, $document->getDir(), $object->getMimeType(), $width, $target);
|
||||||
|
|
||||||
if($width == 0)
|
|
||||||
$width = $this->width;
|
|
||||||
else
|
|
||||||
$width = intval($width);
|
|
||||||
if(!$this->previewDir)
|
|
||||||
return false;
|
|
||||||
$document = $object->getDocument();
|
|
||||||
$dir = $this->previewDir.'/'.$document->getDir();
|
|
||||||
if(!is_dir($dir)) {
|
|
||||||
if (!SeedDMS_Core_File::makeDir($dir)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$file = $document->_dms->contentDir.$object->getPath();
|
|
||||||
if(!file_exists($file))
|
|
||||||
return false;
|
|
||||||
$target = $this->getFileName($object, $width);
|
|
||||||
if($target !== false && (!file_exists($target.'.png') || filectime($target.'.png') < $object->getDate())) {
|
|
||||||
$cmd = '';
|
|
||||||
switch($object->getMimeType()) {
|
|
||||||
case "image/png":
|
|
||||||
case "image/gif":
|
|
||||||
case "image/jpeg":
|
|
||||||
case "image/jpg":
|
|
||||||
case "image/svg+xml":
|
|
||||||
$cmd = 'convert -resize '.$width.'x '.$file.' '.$target.'.png';
|
|
||||||
break;
|
|
||||||
case "application/pdf":
|
|
||||||
case "application/postscript":
|
|
||||||
$cmd = 'convert -density 100 -resize '.$width.'x '.$file.'[0] '.$target.'.png';
|
|
||||||
break;
|
|
||||||
case "text/plain":
|
|
||||||
$cmd = 'convert -resize '.$width.'x '.$file.'[0] '.$target.'.png';
|
|
||||||
break;
|
|
||||||
case "application/x-compressed-tar":
|
|
||||||
$cmd = 'tar tzvf '.$file.' | convert -density 100 -resize '.$width.'x text:-[0] '.$target.'.png';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if($cmd) {
|
|
||||||
//exec($cmd);
|
|
||||||
try {
|
|
||||||
self::execWithTimeout($cmd, $this->timeout);
|
|
||||||
} catch(Exception $e) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
|
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a preview image already exists.
|
||||||
|
*
|
||||||
|
* This function is a companion to {@link SeedDMS_Preview_Previewer::createRawPreview()}.
|
||||||
|
*
|
||||||
|
* @param string $infile name of input file including full path
|
||||||
|
* @param string $dir directory relative to $this->previewDir
|
||||||
|
* @param integer $width desired width of preview image
|
||||||
|
* @return boolean true if preview exists, otherwise false
|
||||||
|
*/
|
||||||
public function hasRawPreview($infile, $dir, $width=0) { /* {{{ */
|
public function hasRawPreview($infile, $dir, $width=0) { /* {{{ */
|
||||||
if($width == 0)
|
if($width == 0)
|
||||||
$width = $this->width;
|
$width = $this->width;
|
||||||
|
@ -255,6 +237,16 @@ class SeedDMS_Preview_Previewer {
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a preview image already exists.
|
||||||
|
*
|
||||||
|
* This function is a companion to {@link SeedDMS_Preview_Previewer::createPreview()}.
|
||||||
|
*
|
||||||
|
* @param object $object instance of SeedDMS_Core_DocumentContent
|
||||||
|
* or SeedDMS_Core_DocumentFile
|
||||||
|
* @param integer $width desired width of preview image
|
||||||
|
* @return boolean true if preview exists, otherwise false
|
||||||
|
*/
|
||||||
public function hasPreview($object, $width=0) { /* {{{ */
|
public function hasPreview($object, $width=0) { /* {{{ */
|
||||||
if(!$object)
|
if(!$object)
|
||||||
return false;
|
return false;
|
||||||
|
@ -272,6 +264,16 @@ class SeedDMS_Preview_Previewer {
|
||||||
return false;
|
return false;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a preview image.
|
||||||
|
*
|
||||||
|
* This function returns the content of a preview image if it exists..
|
||||||
|
*
|
||||||
|
* @param string $infile name of input file including full path
|
||||||
|
* @param string $dir directory relative to $this->previewDir
|
||||||
|
* @param integer $width desired width of preview image
|
||||||
|
* @return boolean/string image content if preview exists, otherwise false
|
||||||
|
*/
|
||||||
public function getRawPreview($infile, $dir, $width=0) { /* {{{ */
|
public function getRawPreview($infile, $dir, $width=0) { /* {{{ */
|
||||||
if($width == 0)
|
if($width == 0)
|
||||||
$width = $this->width;
|
$width = $this->width;
|
||||||
|
@ -286,6 +288,16 @@ class SeedDMS_Preview_Previewer {
|
||||||
}
|
}
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a preview image.
|
||||||
|
*
|
||||||
|
* This function returns the content of a preview image if it exists..
|
||||||
|
*
|
||||||
|
* @param object $object instance of SeedDMS_Core_DocumentContent
|
||||||
|
* or SeedDMS_Core_DocumentFile
|
||||||
|
* @param integer $width desired width of preview image
|
||||||
|
* @return boolean/string image content if preview exists, otherwise false
|
||||||
|
*/
|
||||||
public function getPreview($object, $width=0) { /* {{{ */
|
public function getPreview($object, $width=0) { /* {{{ */
|
||||||
if($width == 0)
|
if($width == 0)
|
||||||
$width = $this->width;
|
$width = $this->width;
|
||||||
|
@ -300,6 +312,15 @@ class SeedDMS_Preview_Previewer {
|
||||||
}
|
}
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return file size preview image.
|
||||||
|
*
|
||||||
|
* @param object $object instance of SeedDMS_Core_DocumentContent
|
||||||
|
* or SeedDMS_Core_DocumentFile
|
||||||
|
* @param integer $width desired width of preview image
|
||||||
|
* @return boolean/integer size of preview image or false if image
|
||||||
|
* does not exist
|
||||||
|
*/
|
||||||
public function getFilesize($object, $width=0) { /* {{{ */
|
public function getFilesize($object, $width=0) { /* {{{ */
|
||||||
if($width == 0)
|
if($width == 0)
|
||||||
$width = $this->width;
|
$width = $this->width;
|
||||||
|
@ -314,8 +335,15 @@ class SeedDMS_Preview_Previewer {
|
||||||
|
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
public function deletePreview($document, $object, $width=0) { /* {{{ */
|
* Delete preview image.
|
||||||
|
*
|
||||||
|
* @param object $object instance of SeedDMS_Core_DocumentContent
|
||||||
|
* or SeedDMS_Core_DocumentFile
|
||||||
|
* @param integer $width desired width of preview image
|
||||||
|
* @return boolean true if deletion succeded or false if file does not exist
|
||||||
|
*/
|
||||||
|
public function deletePreview($object, $width=0) { /* {{{ */
|
||||||
if($width == 0)
|
if($width == 0)
|
||||||
$width = $this->width;
|
$width = $this->width;
|
||||||
else
|
else
|
||||||
|
@ -324,6 +352,38 @@ class SeedDMS_Preview_Previewer {
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
$target = $this->getFileName($object, $width);
|
$target = $this->getFileName($object, $width);
|
||||||
|
if($target && file_exists($target.'.png')) {
|
||||||
|
return(unlink($target.'.png'));
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete all preview images belonging to a document
|
||||||
|
*
|
||||||
|
* This function removes the preview images of all versions and
|
||||||
|
* files of a document including the directory. It actually just
|
||||||
|
* removes the directory for the document in the cache.
|
||||||
|
*
|
||||||
|
* @param object $document instance of SeedDMS_Core_Document
|
||||||
|
* @return boolean true if deletion succeded or false if file does not exist
|
||||||
|
*/
|
||||||
|
public function deleteDocumentPreviews($document) { /* {{{ */
|
||||||
|
if(!$this->previewDir)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
function recurseRmdir($dir) {
|
||||||
|
$files = array_diff(scandir($dir), array('.','..'));
|
||||||
|
foreach ($files as $file) {
|
||||||
|
(is_dir("$dir/$file")) ? recurseRmdir("$dir/$file") : unlink("$dir/$file");
|
||||||
|
}
|
||||||
|
return rmdir($dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
$dir = $this->previewDir.'/'.$document->getDir();
|
||||||
|
return recurseRmdir($dir);
|
||||||
|
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
<email>uwe@steinmann.cx</email>
|
<email>uwe@steinmann.cx</email>
|
||||||
<active>yes</active>
|
<active>yes</active>
|
||||||
</lead>
|
</lead>
|
||||||
<date>2016-04-05</date>
|
<date>2016-04-26</date>
|
||||||
<time>15:17:11</time>
|
<time>15:17:11</time>
|
||||||
<version>
|
<version>
|
||||||
<release>1.1.8</release>
|
<release>1.1.9</release>
|
||||||
<api>1.1.8</api>
|
<api>1.1.9</api>
|
||||||
</version>
|
</version>
|
||||||
<stability>
|
<stability>
|
||||||
<release>stable</release>
|
<release>stable</release>
|
||||||
|
@ -23,7 +23,9 @@
|
||||||
</stability>
|
</stability>
|
||||||
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
||||||
<notes>
|
<notes>
|
||||||
pass variables to stream_select (required by php7)
|
add more documentation
|
||||||
|
finished deletePreview()
|
||||||
|
add new method deleteDocumentPreviews()
|
||||||
</notes>
|
</notes>
|
||||||
<contents>
|
<contents>
|
||||||
<dir baseinstalldir="SeedDMS" name="/">
|
<dir baseinstalldir="SeedDMS" name="/">
|
||||||
|
@ -196,5 +198,21 @@ check if object passed to createPreview(), hasPreview() is not null
|
||||||
set last parameter of stream_select() to 200000 micro sec. in case the timeout in sec. is set to 0
|
set last parameter of stream_select() to 200000 micro sec. in case the timeout in sec. is set to 0
|
||||||
</notes>
|
</notes>
|
||||||
</release>
|
</release>
|
||||||
|
<release>
|
||||||
|
<date>2016-04-05</date>
|
||||||
|
<time>15:17:11</time>
|
||||||
|
<version>
|
||||||
|
<release>1.1.8</release>
|
||||||
|
<api>1.1.8</api>
|
||||||
|
</version>
|
||||||
|
<stability>
|
||||||
|
<release>stable</release>
|
||||||
|
<api>stable</api>
|
||||||
|
</stability>
|
||||||
|
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
|
||||||
|
<notes>
|
||||||
|
pass variables to stream_select (required by php7)
|
||||||
|
</notes>
|
||||||
|
</release>
|
||||||
</changelog>
|
</changelog>
|
||||||
</package>
|
</package>
|
||||||
|
|
|
@ -267,7 +267,7 @@
|
||||||
- directory ($_contentDir). This requires a base directory from which
|
- directory ($_contentDir). This requires a base directory from which
|
||||||
- to begin. Usually leave this to the default setting, 1048576, but can
|
- to begin. Usually leave this to the default setting, 1048576, but can
|
||||||
- be any number or string that does not already exist within $_contentDir.
|
- be any number or string that does not already exist within $_contentDir.
|
||||||
- maxDirID: Maximum number of sub-directories per parent directory. Default: 32700.
|
- maxDirID: Maximum number of sub-directories per parent directory. Default: 0.
|
||||||
- updateNotifyTime: users are notified about document-changes that took place within the last "updateNotifyTime" seconds
|
- updateNotifyTime: users are notified about document-changes that took place within the last "updateNotifyTime" seconds
|
||||||
- extraPath: XXX
|
- extraPath: XXX
|
||||||
- maxExecutionTime: XXX
|
- maxExecutionTime: XXX
|
||||||
|
|
36
op/op.ClearCache.php
Normal file
36
op/op.ClearCache.php
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
<?php
|
||||||
|
// SeedDMS. Document Management System
|
||||||
|
// Copyright (C) 2016 Uwe Steinmann
|
||||||
|
//
|
||||||
|
// This program is free software; you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation; either version 2 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with this program; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
include("../inc/inc.Settings.php");
|
||||||
|
include("../inc/inc.LogInit.php");
|
||||||
|
include("../inc/inc.DBInit.php");
|
||||||
|
include("../inc/inc.Language.php");
|
||||||
|
include("../inc/inc.ClassUI.php");
|
||||||
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
|
/* Check if the form data comes for a trusted request */
|
||||||
|
if(!checkFormKey('clearcache')) {
|
||||||
|
UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
|
||||||
|
}
|
||||||
|
|
||||||
|
$cmd = 'rm -rf '.$settings->_cacheDir.'/*';
|
||||||
|
system($cmd);
|
||||||
|
add_log_line("");
|
||||||
|
|
||||||
|
header("Location:../out/out.AdminTools.php");
|
||||||
|
|
|
@ -64,6 +64,11 @@ if($settings->_enableFullSearch) {
|
||||||
|
|
||||||
$folder = $document->getFolder();
|
$folder = $document->getFolder();
|
||||||
|
|
||||||
|
/* Remove all preview images. */
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
|
||||||
|
$previewer->deleteDocumentPreviews($document);
|
||||||
|
|
||||||
/* Get the notify list before removing the document */
|
/* Get the notify list before removing the document */
|
||||||
$dnl = $document->getNotifyList();
|
$dnl = $document->getNotifyList();
|
||||||
$fnl = $folder->getNotifyList();
|
$fnl = $folder->getNotifyList();
|
||||||
|
|
|
@ -57,26 +57,18 @@ if (($document->getAccessMode($user) < M_ALL)&&($user->getID()!=$file->getUserID
|
||||||
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
|
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Remove preview image. */
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
|
||||||
|
$previewer->deletePreview($file, $settings->_previewWidthDetail);
|
||||||
|
|
||||||
if (!$document->removeDocumentFile($fileid)) {
|
if (!$document->removeDocumentFile($fileid)) {
|
||||||
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
|
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
|
||||||
} else {
|
} else {
|
||||||
// Send notification to subscribers.
|
// Send notification to subscribers.
|
||||||
if($notifier) {
|
if($notifier) {
|
||||||
$notifyList = $document->getNotifyList();
|
$notifyList = $document->getNotifyList();
|
||||||
/*
|
|
||||||
$subject = "###SITENAME###: ".$document->getName()." - ".getMLText("removed_file_email");
|
|
||||||
$message = getMLText("removed_file_email")."\r\n";
|
|
||||||
$message .=
|
|
||||||
getMLText("name").": ".$document->getName()."\r\n".
|
|
||||||
getMLText("file").": ".$file->getOriginalFileName()."\r\n".
|
|
||||||
getMLText("user").": ".$user->getFullName()." <". $user->getEmail() .">\r\n".
|
|
||||||
"URL: ###URL_PREFIX###out/out.ViewDocument.php?documentid=".$document->getID()."\r\n";
|
|
||||||
|
|
||||||
$notifier->toList($user, $document->_notifyList["users"], $subject, $message);
|
|
||||||
foreach ($document->_notifyList["groups"] as $grp) {
|
|
||||||
$notifier->toGroup($user, $grp, $subject, $message);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
$subject = "removed_file_email_subject";
|
$subject = "removed_file_email_subject";
|
||||||
$message = "removed_file_email_body";
|
$message = "removed_file_email_body";
|
||||||
$params = array();
|
$params = array();
|
||||||
|
|
|
@ -59,6 +59,16 @@ if($settings->_enableFullSearch) {
|
||||||
$index = null;
|
$index = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removePreviews($arr, $document) {
|
||||||
|
$previewer = $arr[0];
|
||||||
|
|
||||||
|
$previewer->deleteDocumentPreviews($document);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
|
||||||
|
$dms->addCallback('onPreRemoveDocument', 'removePreviews', array($previewer));
|
||||||
|
|
||||||
/* save this for notification later on */
|
/* save this for notification later on */
|
||||||
$nl = $folder->getNotifyList();
|
$nl = $folder->getNotifyList();
|
||||||
$parent=$folder->getParent();
|
$parent=$folder->getParent();
|
||||||
|
|
|
@ -60,37 +60,16 @@ if (!is_object($version)) {
|
||||||
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
|
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
|
||||||
if (count($document->getContent())==1) {
|
if (count($document->getContent())==1) {
|
||||||
|
$previewer->deleteDocumentPreviews($document);
|
||||||
$nl = $document->getNotifyList();
|
$nl = $document->getNotifyList();
|
||||||
$docname = $document->getName();
|
$docname = $document->getName();
|
||||||
if (!$document->remove()) {
|
if (!$document->remove()) {
|
||||||
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
|
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
|
||||||
} else {
|
} else {
|
||||||
if ($notifier){
|
if ($notifier){
|
||||||
/*
|
|
||||||
$path = "";
|
|
||||||
$folder = $document->getFolder();
|
|
||||||
$folderPath = $folder->getPath();
|
|
||||||
for ($i = 0; $i < count($folderPath); $i++) {
|
|
||||||
$path .= $folderPath[$i]->getName();
|
|
||||||
if ($i +1 < count($folderPath))
|
|
||||||
$path .= " / ";
|
|
||||||
}
|
|
||||||
|
|
||||||
$subject = "###SITENAME###: ".$document->getName()." - ".getMLText("document_deleted_email");
|
|
||||||
$message = getMLText("document_deleted_email")."\r\n";
|
|
||||||
$message .=
|
|
||||||
getMLText("document").": ".$document->getName()."\r\n".
|
|
||||||
getMLText("folder").": ".$path."\r\n".
|
|
||||||
getMLText("comment").": ".$document->getComment()."\r\n".
|
|
||||||
getMLText("user").": ".$user->getFullName()." <". $user->getEmail() ."> ";
|
|
||||||
|
|
||||||
// Send notification to subscribers.
|
|
||||||
$notifier->toList($user, $document->_notifyList["users"], $subject, $message);
|
|
||||||
foreach ($document->_notifyList["groups"] as $grp) {
|
|
||||||
$notifier->toGroup($user, $grp, $subject, $message);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
$subject = "document_deleted_email_subject";
|
$subject = "document_deleted_email_subject";
|
||||||
$message = "document_deleted_email_body";
|
$message = "document_deleted_email_body";
|
||||||
$params = array();
|
$params = array();
|
||||||
|
@ -133,6 +112,8 @@ else {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$previewer->deletePreview($version, $settings->_previewWidthDetail);
|
||||||
|
$previewer->deletePreview($version, $settings->_previewWidthList);
|
||||||
if (!$document->removeContent($version)) {
|
if (!$document->removeContent($version)) {
|
||||||
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
|
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -26,11 +26,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
if ($user->isGuest()) {
|
if ($user->isGuest()) {
|
||||||
UI::exitError(getMLText("my_documents"),getMLText("access_denied"));
|
UI::exitError(getMLText("my_documents"),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
if (!$user->isAdmin()) {
|
if (!$user->isAdmin()) {
|
||||||
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
|
40
out/out.ClearCache.php
Normal file
40
out/out.ClearCache.php
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
// MyDMS. Document Management System
|
||||||
|
// Copyright (C) 2002-2005 Markus Westphal
|
||||||
|
// Copyright (C) 2006-2008 Malcolm Cowe
|
||||||
|
// Copyright (C) 2010 Matteo Lucarelli
|
||||||
|
//
|
||||||
|
// This program is free software; you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation; either version 2 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with this program; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
include("../inc/inc.Version.php");
|
||||||
|
include("../inc/inc.Settings.php");
|
||||||
|
include("../inc/inc.DBInit.php");
|
||||||
|
include("../inc/inc.Language.php");
|
||||||
|
include("../inc/inc.ClassUI.php");
|
||||||
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
|
if (!$user->isAdmin()) {
|
||||||
|
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||||
|
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||||
|
if($view) {
|
||||||
|
$view->setParam('cachedir', $settings->_cacheDir);
|
||||||
|
$view($_GET);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
|
@ -28,11 +28,6 @@ include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.ClassAccessOperation.php");
|
include("../inc/inc.ClassAccessOperation.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) {
|
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) {
|
||||||
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
|
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,11 +26,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]);
|
$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]);
|
||||||
|
|
||||||
if(substr($settings->_dropFolderDir, -1, 1) == DIRECTORY_SEPARATOR)
|
if(substr($settings->_dropFolderDir, -1, 1) == DIRECTORY_SEPARATOR)
|
||||||
|
|
|
@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
if (!$user->isAdmin()) {
|
if (!$user->isAdmin()) {
|
||||||
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,11 +24,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
if ($user->isGuest()) {
|
if ($user->isGuest()) {
|
||||||
UI::exitError(getMLText("my_account"),getMLText("access_denied"));
|
UI::exitError(getMLText("my_account"),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,11 +26,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
if ($user->isGuest()) {
|
if ($user->isGuest()) {
|
||||||
UI::exitError(getMLText("my_documents"),getMLText("access_denied"));
|
UI::exitError(getMLText("my_documents"),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
if ($user->isGuest()) {
|
if ($user->isGuest()) {
|
||||||
UI::exitError(getMLText("my_documents"),getMLText("access_denied"));
|
UI::exitError(getMLText("my_documents"),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,11 +28,6 @@ include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.ClassAccessOperation.php");
|
include("../inc/inc.ClassAccessOperation.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
function getTime() {
|
function getTime() {
|
||||||
if (function_exists('microtime')) {
|
if (function_exists('microtime')) {
|
||||||
$tm = microtime();
|
$tm = microtime();
|
||||||
|
|
|
@ -25,11 +25,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
if (!$user->isAdmin()) {
|
if (!$user->isAdmin()) {
|
||||||
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,11 +29,6 @@ include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.ClassAccessOperation.php");
|
include("../inc/inc.ClassAccessOperation.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||||
$view = UI::factory($theme, $tmp[1]);
|
$view = UI::factory($theme, $tmp[1]);
|
||||||
if(!$view) {
|
if(!$view) {
|
||||||
|
|
|
@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||||
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
|
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||||
|
|
||||||
|
|
|
@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
/**
|
|
||||||
* Include class to preview documents
|
|
||||||
*/
|
|
||||||
require_once("SeedDMS/Preview.php");
|
|
||||||
|
|
||||||
if ($user->isGuest()) {
|
if ($user->isGuest()) {
|
||||||
UI::exitError(getMLText("my_documents"),getMLText("access_denied"));
|
UI::exitError(getMLText("my_documents"),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -171,6 +171,10 @@ div.splash {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ul.jqtree-tree li.jqtree_common > .jqtree-element:hover {
|
||||||
|
background-color: #E0E0E0;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 480px) {
|
@media (max-width: 480px) {
|
||||||
.nav-tabs > li {
|
.nav-tabs > li {
|
||||||
float:none;
|
float:none;
|
||||||
|
|
|
@ -665,7 +665,7 @@ $(document).ready(function() {
|
||||||
|
|
||||||
url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id;
|
url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id;
|
||||||
// document.location = url;
|
// document.location = url;
|
||||||
} else if(source_type == 'folder') {
|
} else if(source_type == 'folder' && source_id != target_id) {
|
||||||
bootbox.dialog(trans.confirm_move_folder, [{
|
bootbox.dialog(trans.confirm_move_folder, [{
|
||||||
"label" : "<i class='icon-remove'></i> "+trans.move_folder,
|
"label" : "<i class='icon-remove'></i> "+trans.move_folder,
|
||||||
"class" : "btn-danger",
|
"class" : "btn-danger",
|
||||||
|
@ -814,7 +814,7 @@ $(document).ready(function() {
|
||||||
|
|
||||||
url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id;
|
url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id;
|
||||||
// document.location = url;
|
// document.location = url;
|
||||||
} else if(source_type == 'folder') {
|
} else if(source_type == 'folder' && source_id != target_id) {
|
||||||
bootbox.dialog(trans.confirm_move_folder, [{
|
bootbox.dialog(trans.confirm_move_folder, [{
|
||||||
"label" : "<i class='icon-remove'></i> "+trans.move_folder,
|
"label" : "<i class='icon-remove'></i> "+trans.move_folder,
|
||||||
"class" : "btn-danger",
|
"class" : "btn-danger",
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for ApprovalSummary view
|
* Class which outputs the html page for ApprovalSummary view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for AttributeMgr view
|
* Class which outputs the html page for AttributeMgr view
|
||||||
*
|
*
|
||||||
|
@ -162,7 +167,7 @@ $(document).ready( function() {
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<table class="table table-condensed">
|
<table class="table-condensed">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<?php printMLText("attrdef_name");?>:
|
<?php printMLText("attrdef_name");?>:
|
||||||
|
|
|
@ -630,6 +630,7 @@ $(document).ready(function () {
|
||||||
echo " <li><a href=\"../out/out.Timeline.php\">".getMLText("timeline")."</a></li>\n";
|
echo " <li><a href=\"../out/out.Timeline.php\">".getMLText("timeline")."</a></li>\n";
|
||||||
echo " <li><a href=\"../out/out.ObjectCheck.php\">".getMLText("objectcheck")."</a></li>\n";
|
echo " <li><a href=\"../out/out.ObjectCheck.php\">".getMLText("objectcheck")."</a></li>\n";
|
||||||
echo " <li><a href=\"../out/out.ExtensionMgr.php\">".getMLText("extension_manager")."</a></li>\n";
|
echo " <li><a href=\"../out/out.ExtensionMgr.php\">".getMLText("extension_manager")."</a></li>\n";
|
||||||
|
echo " <li><a href=\"../out/out.ClearCache.php\">".getMLText("clear_cache")."</a></li>\n";
|
||||||
echo " <li><a href=\"../out/out.Info.php\">".getMLText("version_info")."</a></li>\n";
|
echo " <li><a href=\"../out/out.Info.php\">".getMLText("version_info")."</a></li>\n";
|
||||||
echo " </ul>\n";
|
echo " </ul>\n";
|
||||||
echo " </li>\n";
|
echo " </li>\n";
|
||||||
|
|
60
views/bootstrap/class.ClearCache.php
Normal file
60
views/bootstrap/class.ClearCache.php
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Implementation of ClearCache view
|
||||||
|
*
|
||||||
|
* @category DMS
|
||||||
|
* @package SeedDMS
|
||||||
|
* @license GPL 2
|
||||||
|
* @version @version@
|
||||||
|
* @author Uwe Steinmann <uwe@steinmann.cx>
|
||||||
|
* @copyright Copyright (C) 2002-2005 Markus Westphal,
|
||||||
|
* 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
|
||||||
|
* 2010-2012 Uwe Steinmann
|
||||||
|
* @version Release: @package_version@
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include parent class
|
||||||
|
*/
|
||||||
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class which outputs the html page for ClearCache view
|
||||||
|
*
|
||||||
|
* @category DMS
|
||||||
|
* @package SeedDMS
|
||||||
|
* @author Markus Westphal, Malcolm Cowe, Uwe Steinmann <uwe@steinmann.cx>
|
||||||
|
* @copyright Copyright (C) 2002-2005 Markus Westphal,
|
||||||
|
* 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli,
|
||||||
|
* 2010-2012 Uwe Steinmann
|
||||||
|
* @version Release: @package_version@
|
||||||
|
*/
|
||||||
|
class SeedDMS_View_ClearCache extends SeedDMS_Bootstrap_Style {
|
||||||
|
|
||||||
|
function show() { /* {{{ */
|
||||||
|
$dms = $this->params['dms'];
|
||||||
|
$user = $this->params['user'];
|
||||||
|
$cachedir = $this->params['cachedir'];
|
||||||
|
|
||||||
|
$this->htmlStartPage(getMLText("admin_tools"));
|
||||||
|
$this->globalNavigation();
|
||||||
|
$this->contentStart();
|
||||||
|
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
|
||||||
|
$this->contentHeading(getMLText("clear_cache"));
|
||||||
|
$this->contentContainerStart('warning');
|
||||||
|
|
||||||
|
?>
|
||||||
|
<form action="../op/op.ClearCache.php" name="form1" method="post">
|
||||||
|
<?php echo createHiddenFieldWithKey('clearcache'); ?>
|
||||||
|
<p>
|
||||||
|
<?php printMLText("confirm_clear_cache", array('cache_dir'=>$cachedir));?>
|
||||||
|
</p>
|
||||||
|
<p><button type="submit" class="btn"><i class="icon-remove"></i> <?php printMLText("clear_cache");?></button></p>
|
||||||
|
</form>
|
||||||
|
<?php
|
||||||
|
$this->contentContainerEnd();
|
||||||
|
$this->contentEnd();
|
||||||
|
$this->htmlEndPage();
|
||||||
|
} /* }}} */
|
||||||
|
}
|
||||||
|
?>
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for DocumentVersionDetail view
|
* Class which outputs the html page for DocumentVersionDetail view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for CategoryChooser view
|
* Class which outputs the html page for CategoryChooser view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for GroupMgr view
|
* Class which outputs the html page for GroupMgr view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for ManageNotify view
|
* Class which outputs the html page for ManageNotify view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for MyDocuments view
|
* Class which outputs the html page for MyDocuments view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for ReviewSummary view
|
* Class which outputs the html page for ReviewSummary view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for Search result view
|
* Class which outputs the html page for Search result view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for Timeline view
|
* Class which outputs the html page for Timeline view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for ViewDocument view
|
* Class which outputs the html page for ViewDocument view
|
||||||
*
|
*
|
||||||
|
@ -475,7 +480,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "</ul>\n";
|
print "</ul></td>\n";
|
||||||
|
|
||||||
print "<td>".htmlspecialchars($latestContent->getComment())."</td>";
|
print "<td>".htmlspecialchars($latestContent->getComment())."</td>";
|
||||||
|
|
||||||
|
@ -657,7 +662,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</ul></td>\n";
|
print "</ul></td>\n";
|
||||||
print "</td>\n</tr>\n";
|
print "</tr>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -726,7 +731,6 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</ul>";
|
print "</ul>";
|
||||||
print "</td>\n";
|
|
||||||
print "</td>\n</tr>\n";
|
print "</td>\n</tr>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1009,7 +1013,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "</ul>\n";
|
print "</ul></td>\n";
|
||||||
print "<td>".htmlspecialchars($version->getComment())."</td>";
|
print "<td>".htmlspecialchars($version->getComment())."</td>";
|
||||||
print "<td>".getOverallStatusText($vstat["status"])."</td>";
|
print "<td>".getOverallStatusText($vstat["status"])."</td>";
|
||||||
print "<td>";
|
print "<td>";
|
||||||
|
@ -1093,7 +1097,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
|
||||||
|
|
||||||
print "<li>".getMLText("uploaded_by")." <a href=\"mailto:".$responsibleUser->getEmail()."\">".htmlspecialchars($responsibleUser->getFullName())."</a></li>";
|
print "<li>".getMLText("uploaded_by")." <a href=\"mailto:".$responsibleUser->getEmail()."\">".htmlspecialchars($responsibleUser->getFullName())."</a></li>";
|
||||||
print "<li>".getLongReadableDate($file->getDate())."</li>";
|
print "<li>".getLongReadableDate($file->getDate())."</li>";
|
||||||
|
print "</ul></td>";
|
||||||
print "<td>".htmlspecialchars($file->getComment())."</td>";
|
print "<td>".htmlspecialchars($file->getComment())."</td>";
|
||||||
|
|
||||||
print "<td><ul class=\"unstyled actions\">";
|
print "<td><ul class=\"unstyled actions\">";
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for ViewFolder view
|
* Class which outputs the html page for ViewFolder view
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,11 @@
|
||||||
*/
|
*/
|
||||||
require_once("class.Bootstrap.php");
|
require_once("class.Bootstrap.php");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include class to preview documents
|
||||||
|
*/
|
||||||
|
require_once("SeedDMS/Preview.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which outputs the html page for WorkflowSummary view
|
* Class which outputs the html page for WorkflowSummary view
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue
Block a user