diff --git a/CHANGELOG b/CHANGELOG index e53ca06d9..0d147b521 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,10 @@ +-------------------------------------------------------------------------------- + Changes in version 5.0.4 +-------------------------------------------------------------------------------- +- merged changes from 4.3.27 +- much better dependency checking for extensions, turn off extensions which + do not match seeddms version dependency + -------------------------------------------------------------------------------- Changes in version 5.0.3 -------------------------------------------------------------------------------- @@ -24,6 +31,13 @@ - add .xml to online file types by default - add home folder for users +-------------------------------------------------------------------------------- + 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 -------------------------------------------------------------------------------- @@ -34,13 +48,14 @@ - fix error in utils/indexer.php when new documents were indexed - set url in approval request email after reviewing a document (Closes #259) - inform groups and users watching a new document too (Closes #260) +- use bootstrap theme for all steps in install tool -------------------------------------------------------------------------------- Changes in version 4.3.25 -------------------------------------------------------------------------------- - much more consistent drag & drop - 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 - add page ImportFS for mass importing files from drop folder - add initial version for editing text files online diff --git a/Makefile b/Makefile index af4db7d90..baebc7bca 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION=5.1.0 +VERSION=5.1.1 SRC=CHANGELOG inc conf utils index.php languages views op out controllers doc drop-tables-innodb.sql styles js TODO LICENSE Makefile webdav install restapi # webapp diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index d7f59a120..581d7216d 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -388,9 +388,10 @@ class SeedDMS_Core_DMS { $this->classnames['group'] = 'SeedDMS_Core_Group'; $this->classnames['transmittal'] = 'SeedDMS_Core_Transmittal'; $this->classnames['transmittalitem'] = 'SeedDMS_Core_TransmittalItem'; + $this->callbacks = array(); $this->version = '@package_version@'; if($this->version[0] == '@') - $this->version = '5.1.0'; + $this->version = '5.1.1'; } /* }}} */ /** @@ -1648,8 +1649,9 @@ class SeedDMS_Core_DMS { /* Check if 'onPostAddUser' callback is set */ if(isset($this->_dms->callbacks['onPostAddUser'])) { - $callback = $this->_dms->callbacks['onPostUser']; - if(!call_user_func($callback[0], $callback[1], $user)) { + foreach($this->_dms->callbacks['onPostUser'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $user)) { + } } } @@ -1709,8 +1711,9 @@ class SeedDMS_Core_DMS { /* Check if 'onPostAddGroup' callback is set */ if(isset($this->_dms->callbacks['onPostAddGroup'])) { - $callback = $this->_dms->callbacks['onPostAddGroup']; - if(!call_user_func($callback[0], $callback[1], $group)) { + foreach($this->_dms->callbacks['onPostAddGroup'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $group)) { + } } } @@ -1901,8 +1904,9 @@ class SeedDMS_Core_DMS { /* Check if 'onPostAddKeywordCategory' callback is set */ if(isset($this->_dms->callbacks['onPostAddKeywordCategory'])) { - $callback = $this->_dms->callbacks['onPostAddKeywordCategory']; - if(!call_user_func($callback[0], $callback[1], $category)) { + foreach($this->_dms->callbacks['onPostAddKeywordCategory'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $category)) { + } } } @@ -1976,8 +1980,9 @@ class SeedDMS_Core_DMS { /* Check if 'onPostAddDocumentCategory' callback is set */ if(isset($this->_dms->callbacks['onPostAddDocumentCategory'])) { - $callback = $this->_dms->callbacks['onPostAddDocumentCategory']; - if(!call_user_func($callback[0], $callback[1], $category)) { + foreach($this->_dms->callbacks['onPostAddDocumentCategory'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $category)) { + } } } @@ -2694,7 +2699,20 @@ class SeedDMS_Core_DMS { */ function setCallback($name, $func, $params=null) { /* {{{ */ 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); } /* }}} */ /** diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 864a0d913..f3770f29b 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -2300,9 +2300,10 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ /* Check if 'onPreRemoveDocument' callback is set */ if(isset($this->_dms->callbacks['onPreRemoveDocument'])) { - $callback = $this->_dms->callbacks['onPreRemoveDocument']; - if(!call_user_func($callback[0], $callback[1], $this)) { - return false; + foreach($this->_dms->callbacks['onPreRemoveDocument'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $this)) { + return false; + } } } @@ -2392,8 +2393,9 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ /* Check if 'onPostRemoveDocument' callback is set */ if(isset($this->_dms->callbacks['onPostRemoveDocument'])) { - $callback = $this->_dms->callbacks['onPostRemoveDocument']; - if(!call_user_func($callback[0], $callback[1], $this->_id)) { + foreach($this->_dms->callbacks['onPostRemoveDocument'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $this->_id)) { + } } } @@ -3146,6 +3148,9 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * It is also used by {@link SeedDMS_Core_Document::getAccessMode()} to * prevent access on the whole document if there is no accessible version. * + * FIXME: This function only works propperly if $u is the currently logged in + * user, because noReadForStatus will be set for this user. + * * @param object $u user * @return integer either M_NONE or M_READ */ diff --git a/SeedDMS_Core/Core/inc.ClassFolder.php b/SeedDMS_Core/Core/inc.ClassFolder.php index 8c45c9501..a60293017 100644 --- a/SeedDMS_Core/Core/inc.ClassFolder.php +++ b/SeedDMS_Core/Core/inc.ClassFolder.php @@ -534,8 +534,9 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { /* Check if 'onPostAddSubFolder' callback is set */ if(isset($this->_dms->callbacks['onPostAddSubFolder'])) { - $callback = $this->_dms->callbacks['onPostAddSubFolder']; - if(!call_user_func($callback[0], $callback[1], $newFolder)) { + foreach($this->_dms->callbacks['onPostAddSubFolder'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $newFolder)) { + } } } @@ -854,8 +855,9 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { /* Check if 'onPostAddDocument' callback is set */ if(isset($this->_dms->callbacks['onPostAddDocument'])) { - $callback = $this->_dms->callbacks['onPostAddDocument']; - if(!call_user_func($callback[0], $callback[1], $document)) { + foreach($this->_dms->callbacks['onPostAddDocument'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $document)) { + } } } @@ -876,9 +878,10 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { /* Check if 'onPreRemoveFolder' callback is set */ if(isset($this->_dms->callbacks['onPreRemoveFolder'])) { - $callback = $this->_dms->callbacks['onPreRemoveFolder']; - if(!call_user_func($callback[0], $callback[1], $this)) { - return false; + foreach($this->_dms->callbacks['onPreRemoveFolder'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $this)) { + return false; + } } } @@ -916,8 +919,9 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { /* Check if 'onPostRemoveFolder' callback is set */ if(isset($this->_dms->callbacks['onPostRemoveFolder'])) { - $callback = $this->_dms->callbacks['onPostRemoveFolder']; - if(!call_user_func($callback[0], $callback[1], $this->_id)) { + foreach($this->_dms->callbacks['onPostRemoveFolder'] as $callback) { + if(!call_user_func($callback[0], $callback[1], $this->_id)) { + } } } diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 1d88f7e88..fc61e5ceb 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,11 +12,11 @@ uwe@steinmann.cx yes - 2016-03-09 + 2016-05-03 - 5.1.0 - 5.1.0 + 5.1.1 + 5.1.1 stable @@ -24,9 +24,6 @@ GPL License -- add roles -- use classname from SeedDMS_Core_DMS::_classnames for SeedDMS_Core_DocumentContent -- all changes from 4.3.26 merged @@ -1030,6 +1027,22 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated - fix setting multi value attributes for versions + + 2016-04-04 + + + 4.3.26 + 4.3.26 + + + stable + stable + + GPL License + +- add more callbacks + + 2016-01-22 @@ -1075,6 +1088,57 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated GPL License +- all changes from 4.3.26 merged + + + + 2016-04-26 + + + 5.0.2 + 5.0.2 + + + stable + stable + + GPL License + +- all changes from 4.3.25 merged + + + + 2016-04-04 + + + 5.0.3 + 5.0.3 + + + stable + stable + + GPL License + +- use classname from SeedDMS_Core_DMS::_classnames for SeedDMS_Core_DocumentContent +- all changes from 4.3.26 merged + + + + 2016-03-09 + + + 5.1.0 + 5.1.0 + + + stable + stable + + GPL License + +- add roles +- use classname from SeedDMS_Core_DMS::_classnames for SeedDMS_Core_DocumentContent - all changes from 4.3.26 merged diff --git a/SeedDMS_Lucene/Lucene/IndexedDocument.php b/SeedDMS_Lucene/Lucene/IndexedDocument.php index 2a90a39b1..874bfd149 100644 --- a/SeedDMS_Lucene/Lucene/IndexedDocument.php +++ b/SeedDMS_Lucene/Lucene/IndexedDocument.php @@ -42,7 +42,9 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document { do { $timeleft = $timeout - time(); $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)) { $output .= fread($pipes[1], 8192); diff --git a/SeedDMS_Lucene/package.xml b/SeedDMS_Lucene/package.xml index c37770104..dc9fc8a20 100644 --- a/SeedDMS_Lucene/package.xml +++ b/SeedDMS_Lucene/package.xml @@ -11,10 +11,10 @@ uwe@steinmann.cx yes - 2016-03-29 + 2016-04-28 - 1.1.8 + 1.1.9 1.1.7 @@ -23,7 +23,7 @@ GPL License -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. @@ -218,5 +218,21 @@ run external commands with a timeout add command for indexing postѕcript files + + 2016-03-29 + + + 1.1.8 + 1.1.7 + + + stable + stable + + GPL License + +set last parameter of stream_select() to 200000 micro sec. in case the timeout in sec. is set to 0 + + diff --git a/SeedDMS_Preview/Preview/Previewer.php b/SeedDMS_Preview/Preview/Previewer.php index 20a0c907e..1b6d03cb5 100644 --- a/SeedDMS_Preview/Preview/Previewer.php +++ b/SeedDMS_Preview/Preview/Previewer.php @@ -121,7 +121,7 @@ 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 integer $width width of preview image @@ -149,10 +149,18 @@ class SeedDMS_Preview_Previewer { /** * 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 $dir directory relative to $this->previewDir * @param string $mimetype MimeType of input file * @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 */ public function createRawPreview($infile, $dir, $mimetype, $width=0, $target='') { /* {{{ */ @@ -210,6 +218,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) { /* {{{ */ if(!$object) return false; @@ -276,9 +297,18 @@ class SeedDMS_Preview_Previewer { 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) { /* {{{ */ if($width == 0) $width = $this->width; @@ -293,6 +323,16 @@ class SeedDMS_Preview_Previewer { 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) { /* {{{ */ if(!$object) return false; @@ -310,6 +350,16 @@ class SeedDMS_Preview_Previewer { 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) { /* {{{ */ if($width == 0) $width = $this->width; @@ -324,6 +374,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) { /* {{{ */ if($width == 0) $width = $this->width; @@ -338,6 +398,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) { /* {{{ */ if($width == 0) $width = $this->width; @@ -352,8 +421,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) $width = $this->width; else @@ -362,6 +438,38 @@ class SeedDMS_Preview_Previewer { return false; $target = $this->getFileName($object, $width); + if($target && file_exists($target.'.png')) { + return(unlink($target.'.png')); + } else { + return false; + } + } /* }}} */ + + static function recurseRmdir($dir) { + $files = array_diff(scandir($dir), array('.','..')); + foreach ($files as $file) { + (is_dir("$dir/$file")) ? SeedDMS_Preview_Previewer::recurseRmdir("$dir/$file") : unlink("$dir/$file"); + } + return rmdir($dir); + } + + /** + * 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; + + $dir = $this->previewDir.'/'.$document->getDir(); + return SeedDMS_Preview_Previewer::recurseRmdir($dir); + } /* }}} */ } ?> diff --git a/SeedDMS_Preview/package.xml b/SeedDMS_Preview/package.xml index ee7067f3a..26f2e7a37 100644 --- a/SeedDMS_Preview/package.xml +++ b/SeedDMS_Preview/package.xml @@ -11,11 +11,11 @@ uwe@steinmann.cx yes - 2016-04-05 + 2016-04-26 - 1.1.8 - 1.1.8 + 1.1.9 + 1.1.9 stable @@ -23,7 +23,9 @@ GPL License -pass variables to stream_select (required by php7) +add more documentation +finished deletePreview() +add new method deleteDocumentPreviews() @@ -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 + + 2016-04-05 + + + 1.1.8 + 1.1.8 + + + stable + stable + + GPL License + +pass variables to stream_select (required by php7) + + diff --git a/conf/settings.xml.template b/conf/settings.xml.template index 32afc7468..d43aa3ff6 100644 --- a/conf/settings.xml.template +++ b/conf/settings.xml.template @@ -267,7 +267,7 @@ - directory ($_contentDir). This requires a base directory from which - to begin. Usually leave this to the default setting, 1048576, but can - 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 - extraPath: XXX - maxExecutionTime: XXX diff --git a/doc/README.Synology.txt b/doc/README.Synology.txt index 0326d4504..d878c7dd3 100644 --- a/doc/README.Synology.txt +++ b/doc/README.Synology.txt @@ -1,14 +1,16 @@ ********************************************* -How to set up SeedDMS Preview on Synology NAS +How to set up a Synology NAS to run SeedDMS ********************************************* +**This guide has been updated and tested to work on Synology DSM 6.0. It should as well work with older DMS versions, however some steps or paths may be different.** + Introduction ############ -SeedDMS provides a function creating a preview of each document which is displayed on the document page. +SeedDMS is a feature rich and lightweight document management system. Unfortunately, some of the tools which are part of many Linux distros, have not been made available by +Synology and therefore require additional steps to bring them to your Synology. -Synology stations do not support the creation of the previews by default due to a missing Ghostscript implementation. Therefore -loading of a document page can use a lot of time because SeedDMS tries to create the missing preview images each time the document -page is being loaded. +This guide covers the installation of the required tools to have all features of SeedDMS available. It does not cover the installation of 3rd party programs (like OPKG). It +does not cover the installation of SeedDMS as well, please refer to the separate README.Install.md file. Prerequisites ############# @@ -20,7 +22,7 @@ In order to complete the steps outlined below, you must be able to carry out the To complete the installation, the following prerequisites on your Synology must be met: * IPKG or OPKG (OPKG preferred) installed -* Pear Package SeedDMS_Preview already installed +* PEAR installed from the Synology Package Center Installation and configuration ############################## @@ -31,8 +33,8 @@ must be done on the terminal. Install Ghostscript *************************** -The first step is to install Ghostscript to make ImageMagick capable of converting PDF files to images. Use IPKG or OPKG to complete this -step. +The first step is to install Ghostscript to make ImageMagick capable of converting PDF files to images which are then used for previews. +Use IPKG or OPKG to complete this step. Make Ghostscript available to PHP ***************************************** @@ -42,21 +44,10 @@ use phpinfo and find **_SERVER["PATH"]**. If you can't find /opt inside, PHP can update the paths or just make a symlink. To create the symlink, cd to /usr/bin and type *ln -s /opt/bin/gs gs*. Verify the created symlink. -Fix Ghostscript package bug -**************************************** - -Unfortunately the version delivered by OPKG has a bug, making Ghostscript failing to work properly. The bug requries fixing at the time -of the writing are the following: - -* Resource path pointing to a wrong version (9.10 instead of 9.16) - -First, fix the resource path. Go to /opt/bin and find **gs** in there. Open the file with VI. Change the GS_LIB path from */opt/share/ghostscript/9.10/Resource* -to */opt/share/ghostscript/9.16/Resource*. This will now allow Ghostscript to find it's files in the proper path. - Fix ImageMagick ******************** -Not only Ghostscript is affected by bugs, the default configuration files are missing. Unfortunately some work is required here as well. +Not only Ghostscript is affected by bugs, the default configuration files for ImageMagick are missing. Unfortunately some work is required here as well. To check where ImageMagick looks for it's files, invoke the command *convert -debug configure logo: null:*. You will see some paths shown, these are the paths where ImageMagic tries to locate it's configuration files. The first path shown will point to */usr/share/ImageMagick-6* followed by the @@ -99,11 +90,74 @@ If you want to test Ghostcript as well, invoke the follwing command: This command should go through without any errors and as well output a png file. -If the tests above are successful, you are ready to use SeedDMS Preview. Go to your SeedDMS Installation and open a folder. For the first test you -may take a folder with less files in it. Be patient while the previews are generated. You may check the process using *top* on the terminal. +If the tests above are successful, you are ready to use SeedDMS Preview. -At the end your document page should show the previews like shown below: +Install PEAR packages +********************* -.. figure:: preview.png - :alt: Document previews - :scale: 75% +This step is similar to the installation on other Linux distros. Once you installed PEAR from the Package Center you can call it from the command line. + +The following packages are required by SeedDMS: + +* Auth_SASL +* HTTP_WebDAV_Server +* Log +* Mail +* Net_SMTP + +Install these packages, then go to the next step. + +Install additional packages +*************************** + +SeedDMS uses other small tools (for example the Slim Framework) to add some additional functionality. At the moment (Version 5.0.x) the list contains the following +tools: + +* FeedWriter +* Slim +* parsedown + +Copy the tools to a folder on your Synology. Using the console, copy the tools to **/volume1/@appstore/PEAR**. +Copy the whole folders as they are and do not change the structure. As the PEAR directory is already within +the PHP include path, no further configuration is required to get them working. + +Fulltext Index +*************** + +If you do not intend to use the fulltext index, please skip this section and continue with the readme file to +install SeedDMS. + +To create the fulltext index, SeedDMS needs to be able to convert the documents to text files to read the terms +out. Pdftotext is already available by default, so we just need to take care of the Microsoft Office formats. + +For this guide, the following two tools have been selected: + +docx2txt available from http://docx2txt.sourceforge.net/ + +xlsx2csv available from http://github.com/dilshod/xlsx2csv + +Copy both files to your Synology. + +**docx2txt** + +This program runs without any kind of installation. Create a folder on your Synology and extract the contents of the archive. + +In SeedDMS you can now configure the setting for Word documents to the path where you extracted the files in the step before. Point +to the docx2txt.sh file and you are done. + +To make the configuration more simple you can add a symlink in **/usr/bin**. This will allow you to call docx2txt from any location of your Synology. +The symlink must point to docx2txt.sh to get it working. In SeedDMS you can now just configure docx2txt followed by any additional commands. + +**xlsx2csv** + +This one must be installed to get it working. The installation script is written in Python, so you need to get Python installed on your Synology. +As the version available from Synology does not properly work (you can't install PIP) it is strongly recommended to use OPKG or IPKG to install Python. + +Install Python and PIP. Once completed, point to the directory where you copied xlsx2csv. Unpack the archive, then execute the installer (pip install xlsx2csv). + +Once completed, xlsx2csv is available and can be configured within SeedDMS. + +Complete the installation +************************* + +Now you are ready to install SeedDMS and configure the database. Follow the README file to install SeedDMS. \ No newline at end of file diff --git a/inc/inc.Authentication.php b/inc/inc.Authentication.php index 9ff61afe4..6b2f86051 100644 --- a/inc/inc.Authentication.php +++ b/inc/inc.Authentication.php @@ -117,20 +117,9 @@ if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) { } } - -/* Include the language file as specified in the session. If that is not - * available use the language from the settings +/* Include additional language file for view + * This file must set $LANG[xx][] */ -/* -if(file_exists($settings->_rootDir . "languages/" . $resArr["language"] . "/lang.inc")) { - include $settings->_rootDir . "languages/" . $resArr["language"] . "/lang.inc"; - $session->setLanguage($resArr["language"]); -} else { - include $settings->_rootDir . "languages/" . $settings->_language . "/lang.inc"; - $session->setLanguage($settings->_language); -} -*/ - if(file_exists($settings->_rootDir . "view/".$theme."/languages/" . $lang . "/lang.inc")) { include $settings->_rootDir . "view/".$theme."/languages/" . $lang . "/lang.inc"; } diff --git a/inc/inc.Extension.php b/inc/inc.Extension.php index b3f6eaf26..b8f5f4def 100644 --- a/inc/inc.Extension.php +++ b/inc/inc.Extension.php @@ -13,6 +13,8 @@ require "inc.ClassExtensionMgr.php"; require_once "inc.ClassExtBase.php"; +require_once "inc.Version.php"; +require_once "inc.Utils.php"; $extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir); $extconffile = $extMgr->getExtensionsConfFile(); @@ -22,7 +24,17 @@ if(!file_exists($extconffile)) { $EXT_CONF = array(); include($extconffile); +$version = new SeedDMS_Version; + foreach($EXT_CONF as $extname=>$extconf) { + if(!isset($extconf['disable']) || $extconf['disable'] == false) { + /* check for requirements */ + if(!empty($extconf['constraints']['depends']['seeddms'])) { + $t = explode('-', $extconf['constraints']['depends']['seeddms'], 2); + if(cmpVersion($t[0], $version->version()) > 0 || ($t[1] && cmpVersion($t[1], $version->version()) < 0)) + $extconf['disable'] = true; + } + } if(!isset($extconf['disable']) || $extconf['disable'] == false) { $classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file']; if(file_exists($classfile)) { diff --git a/inc/inc.Version.php b/inc/inc.Version.php index 0cef2e0ce..44acc594c 100644 --- a/inc/inc.Version.php +++ b/inc/inc.Version.php @@ -20,7 +20,7 @@ class SeedDMS_Version { - public $_number = "5.1.0"; + public $_number = "5.1.1"; private $_string = "SeedDMS"; function __construct() { diff --git a/install/install.php b/install/install.php index c09f667e8..6be171f8a 100644 --- a/install/install.php +++ b/install/install.php @@ -118,7 +118,7 @@ function fileExistsInIncludePath($file) { /* {{{ */ * Load default settings + set */ define("SEEDDMS_INSTALL", "on"); -define("SEEDDMS_VERSION", "5.1.0"); +define("SEEDDMS_VERSION", "5.1.1"); require_once('../inc/inc.ClassSettings.php'); diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index b2e430937..fe8538991 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'وافق', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'دخول غير مصرح به.', 'access_inheritance' => 'صلاحيات موروثة', 'access_mode' => 'نوع الدخول', @@ -220,6 +221,7 @@ URL: [url]', 'choose_workflow_action' => 'اختر اجراء مسار عمل', 'choose_workflow_state' => 'اختر حالة مسار عمل', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => '', 'clear_password' => '', 'clipboard' => 'لوحة القصاصات', @@ -360,6 +362,7 @@ URL: [url]', 'draft_pending_review' => 'مسودة - قيد المراجعة', 'drag_icon_here' => 'قم بسحب ايقونة المستند او المجلد الى هنا!', 'dropfolder_file' => 'ملف من مجلد التجميع', +'dropfolder_folder' => '', 'dropupload' => 'رفع سريع', 'drop_files_here' => 'أفلت الملفات هنا!', 'dump_creation' => 'انشاء مستخرج من قاعدة البيانات', @@ -398,6 +401,7 @@ URL: [url]', 'error' => 'خطأ', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'لم يتم اختيار مستند', 'error_no_folder_selected' => 'لم يتم اختيار مجلد', 'error_occured' => 'حدث خطأ', @@ -500,6 +504,7 @@ URL: [url]', 'identical_version' => 'الاصدار الجديد مماثل للاصدار الحالي.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'اشمل مستندات', 'include_subdirectories' => 'اشمل مجلدات فرعية', @@ -785,6 +790,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'صفحة النتائج', 'return_from_subworkflow' => 'العودة من مسار العمل الفرعي', 'return_from_subworkflow_email_body' => 'عودة من مسار عمل فرعي @@ -1233,6 +1239,7 @@ URL: [url]', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => '', +'splash_importfs' => '', 'splash_invalid_folder_id' => '', 'splash_invalid_searchterm' => '', 'splash_moved_clipboard' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 69c768c43..11767daeb 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Приеми', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'достъп забранен', 'access_inheritance' => 'Наследване на достъпа', 'access_mode' => 'Режим на достъп', @@ -205,6 +206,7 @@ $text = array( 'choose_workflow_action' => 'Изберете workflow действие', 'choose_workflow_state' => 'Изберете състояние на workflow', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => '', 'clear_password' => '', 'clipboard' => '', @@ -315,6 +317,7 @@ $text = array( 'draft_pending_review' => 'Чернова - очаква рецензия', 'drag_icon_here' => 'Провлачи икона или папка, или документ ТУК!', 'dropfolder_file' => 'Файл от drop папка', +'dropfolder_folder' => '', 'dropupload' => '', 'drop_files_here' => '', 'dump_creation' => 'Създаване дъмп на БД', @@ -353,6 +356,7 @@ $text = array( 'error' => 'Грешка', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Няма избрани документи', 'error_no_folder_selected' => 'Няма избрани папки', 'error_occured' => 'Стана грешка', @@ -431,6 +435,7 @@ $text = array( 'identical_version' => 'Новата версия е идентична с текущата.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Включи документи', 'include_subdirectories' => 'Включи под-папки', @@ -677,6 +682,7 @@ $text = array( 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Страница с резултати', 'return_from_subworkflow' => 'Връщане от под-процес', 'return_from_subworkflow_email_body' => '', @@ -1098,6 +1104,7 @@ $text = array( 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => '', +'splash_importfs' => '', 'splash_invalid_folder_id' => '', 'splash_invalid_searchterm' => '', 'splash_moved_clipboard' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 2fc27cfec..a89331017 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -19,11 +19,12 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (662) +// Translators: Admin (698) $text = array( 'accept' => 'Acceptar', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Accés denegat', 'access_inheritance' => 'Accés heretat', 'access_mode' => 'Mode d\'accés', @@ -35,7 +36,7 @@ $text = array( 'access_permission_changed_email_body' => '', 'access_permission_changed_email_subject' => '', 'according_settings' => '', -'action' => '', +'action' => 'Acció', 'actions' => 'Accions', 'action_approve' => '', 'action_complete' => '', @@ -61,7 +62,7 @@ $text = array( 'add_revision' => '', 'add_role' => '', 'add_subfolder' => 'Afegir subdirectori', -'add_to_clipboard' => '', +'add_to_clipboard' => 'Emmagatzemar al portapapers', 'add_to_transmittal' => '', 'add_transmittal' => '', 'add_user' => 'Afegir nou usuari', @@ -105,7 +106,7 @@ URL: [url]', 'april' => 'Abril', 'archive_creation' => 'Creació d\'arxiu', 'archive_creation_warning' => 'Amb aquesta operació pot crear un arxiu que contingui els fitxers de les carpetes del DMS complet. Després de crear-lo, l\'arxiu es guardarà a la carpeta de dades del servidor.
ATENCIÓ: un fitxer creat com llegible per humans no es podrà usar com a còpia de seguretat del servidor.', -'ar_EG' => '', +'ar_EG' => 'Àrab', 'assign_approvers' => 'Assignar aprovadors', 'assign_reviewers' => 'Assignar revisors', 'assign_user_property_to' => 'Assignar propietats d\'usuari a', @@ -154,7 +155,7 @@ URL: [url]', 'backup_remove' => 'Eliminar fitxer de còpia de seguretat', 'backup_tools' => 'Eines de còpia de seguretat', 'between' => 'entre', -'bg_BG' => '', +'bg_BG' => 'Búlgar', 'browse' => '', 'calendar' => 'Calendari', 'calendar_week' => '', @@ -175,7 +176,7 @@ URL: [url]', 'category_info' => '', 'category_in_use' => '', 'category_noname' => '', -'ca_ES' => '', +'ca_ES' => 'Català', 'change_assignments' => 'Canviar assignacions', 'change_password' => '', 'change_password_message' => '', @@ -210,9 +211,10 @@ URL: [url]', 'choose_workflow_action' => '', 'choose_workflow_state' => '', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => '', 'clear_password' => '', -'clipboard' => '', +'clipboard' => 'Portapapers', 'close' => 'Tancar', 'comment' => 'Comentaris', 'comment_changed_email' => '', @@ -243,7 +245,7 @@ URL: [url]', 'create_fulltext_index' => '', 'create_fulltext_index_warning' => '', 'creation_date' => 'Creació', -'cs_CZ' => '', +'cs_CZ' => 'Txec', 'current_password' => '', 'current_quota' => '', 'current_state' => '', @@ -260,7 +262,7 @@ URL: [url]', 'delete' => 'Eliminar', 'details' => 'Detalls', 'details_version' => 'Detalls de la versió: [version]', -'de_DE' => '', +'de_DE' => 'Alemany', 'disclaimer' => 'Aquesta és una àrea restringida. Només es permet l\'accés a usuaris autoritzats. Qualsevol intrusió es perseguirà d\'acord amb les lleis internacionals.', 'discspace' => '', 'document' => 'Document', @@ -318,10 +320,11 @@ URL: [url]', 'draft' => '', 'draft_pending_approval' => 'Esborrany - pendent d\'aprovació', 'draft_pending_review' => 'Esborrany - pendent de revisió', -'drag_icon_here' => '', +'drag_icon_here' => 'Arrossegui aquí una icona de carpeta o document', 'dropfolder_file' => '', -'dropupload' => '', -'drop_files_here' => '', +'dropfolder_folder' => '', +'dropupload' => 'Pujada ràpida', +'drop_files_here' => 'Dugui arxius aquí', 'dump_creation' => 'Creació de bolcat de BDD', 'dump_creation_warning' => 'Amb aquesta operació es crearà un bolcat a fitxer del contingut de la base de dades. Després de la creació del bolcat, el fitxer es guardarà a la carpeta de dades del seu servidor.', 'dump_list' => 'Fitxers de bolcat existents', @@ -353,17 +356,18 @@ URL: [url]', 'email_not_given' => '', 'empty_folder_list' => '', 'empty_notify_list' => 'No hi ha entrades', -'en_GB' => '', +'en_GB' => 'Anglès (Regne Unit)', 'equal_transition_states' => '', 'error' => '', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => '', 'error_no_folder_selected' => '', 'error_occured' => 'Ha succeït un error', 'error_remove_permission' => '', 'error_toogle_permission' => '', -'es_ES' => '', +'es_ES' => 'Castellà', 'event_details' => 'Detalls de l\'event', 'exclude_items' => '', 'expired' => 'Caducat', @@ -403,7 +407,7 @@ URL: [url]', 'friday' => 'Divendres', 'friday_abbr' => '', 'from' => 'Des de', -'fr_FR' => '', +'fr_FR' => 'Francès', 'fullsearch' => '', 'fullsearch_hint' => '', 'fulltext_info' => '', @@ -429,18 +433,19 @@ URL: [url]', 'hook_name' => '', 'hourly' => 'Hourly', 'hours' => '', -'hr_HR' => '', +'hr_HR' => 'Croat', 'human_readable' => 'Arxiu llegible per humans', -'hu_HU' => '', +'hu_HU' => 'Hongarès', 'id' => 'ID', 'identical_version' => '', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Incloure documents', 'include_subdirectories' => 'Incloure subdirectoris', 'index_converters' => '', -'index_folder' => '', +'index_folder' => 'Carpeta d\'índex', 'individuals' => 'Individuals', 'indivіduals_in_groups' => '', 'inherited' => '', @@ -473,7 +478,7 @@ URL: [url]', 'in_workflow' => '', 'is_disabled' => '', 'is_hidden' => 'Amagar de la llista d\'usuaris', -'it_IT' => '', +'it_IT' => 'Italià', 'january' => 'Gener', 'js_no_approval_group' => 'Si us plau, seleccioneu grup d\'aprovació', 'js_no_approval_status' => 'Si us plau, seleccioneu l\'estat d\'aprovació', @@ -498,7 +503,7 @@ URL: [url]', 'keywords' => 'Mots clau', 'keywords_loading' => '', 'keyword_exists' => 'El mot clau ja existeix', -'ko_KR' => '', +'ko_KR' => 'Coreà', 'language' => 'Llenguatge', 'lastaccess' => '', 'last_update' => 'Última modificació', @@ -575,7 +580,7 @@ URL: [url]', 'new_subfolder_email_subject' => '', 'new_user_image' => 'Nova imatge', 'next_state' => '', -'nl_NL' => '', +'nl_NL' => 'Holandès', 'no' => 'No', 'notify_added_email' => 'Se us ha afegit a la llista de notificació', 'notify_added_email_body' => '', @@ -645,7 +650,7 @@ URL: [url]', 'pending_reviews' => '', 'pending_workflows' => '', 'personal_default_keywords' => 'Mots clau personals', -'pl_PL' => '', +'pl_PL' => 'Polonès', 'possible_substitutes' => '', 'preview' => '', 'preview_converters' => '', @@ -653,7 +658,7 @@ URL: [url]', 'preview_plain' => '', 'previous_state' => '', 'previous_versions' => 'Versions anteriors', -'pt_BR' => '', +'pt_BR' => 'Portuguès', 'quota' => '', 'quota_exceeded' => '', 'quota_is_disabled' => '', @@ -682,6 +687,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Pàgina de resultats', 'return_from_subworkflow' => '', 'return_from_subworkflow_email_body' => '', @@ -744,11 +750,11 @@ URL: [url]', 'role_name' => '', 'role_type' => '', 'role_user' => 'User', -'ro_RO' => '', +'ro_RO' => 'Romanès', 'run_subworkflow' => '', 'run_subworkflow_email_body' => '', 'run_subworkflow_email_subject' => '', -'ru_RU' => '', +'ru_RU' => 'Rus', 'saturday' => 'Dissabte', 'saturday_abbr' => '', 'save' => 'Guardar', @@ -1082,9 +1088,9 @@ URL: [url]', 'sign_in' => 'sign in', 'sign_out' => 'desconnectar', 'sign_out_user' => '', -'sk_SK' => '', +'sk_SK' => 'Eslovac', 'space_used_on_data_folder' => 'Espai utilitzat a la carpeta de dades', -'splash_added_to_clipboard' => '', +'splash_added_to_clipboard' => 'Emmagatzemat al portapapers', 'splash_add_attribute' => '', 'splash_add_group' => '', 'splash_add_group_member' => '', @@ -1095,14 +1101,15 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => '', -'splash_document_locked' => '', -'splash_document_unlocked' => '', +'splash_document_locked' => 'Document blocat', +'splash_document_unlocked' => 'Document desblocat', 'splash_edit_attribute' => '', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => '', +'splash_importfs' => '', 'splash_invalid_folder_id' => '', 'splash_invalid_searchterm' => '', 'splash_moved_clipboard' => '', @@ -1110,8 +1117,8 @@ URL: [url]', 'splash_move_folder' => '', 'splash_removed_from_clipboard' => '', 'splash_rm_attribute' => '', -'splash_rm_document' => '', -'splash_rm_folder' => '', +'splash_rm_document' => 'Document esborrat', +'splash_rm_folder' => 'Carpeta esborrada', 'splash_rm_group' => '', 'splash_rm_group_member' => '', 'splash_rm_role' => '', @@ -1152,14 +1159,14 @@ URL: [url]', 'submit_revision' => '', 'submit_userinfo' => '', 'substitute_to_user' => '', -'substitute_user' => '', +'substitute_user' => 'Canviar usuari', 'success_add_aro' => '', 'success_add_permission' => '', 'success_remove_permission' => '', 'success_toogle_permission' => '', 'sunday' => 'Diumenge', 'sunday_abbr' => '', -'sv_SE' => '', +'sv_SE' => 'Suec', 'switched_to' => '', 'takeOverGrpApprover' => '', 'takeOverGrpReviewer' => '', @@ -1200,12 +1207,12 @@ URL: [url]', 'transmittal_size' => '', 'tree_loading' => 'Espereu mentre l\'arbre de documents es carrega...', 'trigger_workflow' => '', -'tr_TR' => '', +'tr_TR' => 'Turc', 'tuesday' => 'Dimarts', 'tuesday_abbr' => '', 'type_of_hook' => '', 'type_to_search' => '', -'uk_UA' => '', +'uk_UA' => 'Ucraïnès', 'under_folder' => 'A carpeta', 'unknown_attrdef' => '', 'unknown_command' => 'Ordre no reconeguda.', @@ -1288,7 +1295,7 @@ URL: [url]', 'workflow_user_summary' => '', 'year_view' => 'Vista d\'any', 'yes' => 'Sí', -'zh_CN' => '', -'zh_TW' => '', +'zh_CN' => 'Xinès (Xina)', +'zh_TW' => 'Xina (Taiwan)', ); ?> diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 3cfc6c030..11700687b 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Přijmout', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Přístup zamítnut.', 'access_inheritance' => 'Dědičnost přístupu', 'access_mode' => 'Režim přístupu', @@ -227,6 +228,7 @@ URL: [url]', 'choose_workflow_action' => 'Zvolte akci pracovního postupu', 'choose_workflow_state' => 'Zvolit akci pracovního postupu', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Vyčistit schránku', 'clear_password' => '', 'clipboard' => 'Schránka', @@ -367,6 +369,7 @@ URL: [url]', 'draft_pending_review' => 'Návrh - čeká na kontrolu', 'drag_icon_here' => 'Přetáhnout ikonu složky nebo dokumentu sem!', 'dropfolder_file' => 'Soubor z "přetažené" složky', +'dropfolder_folder' => '', 'dropupload' => 'Rychlý upload', 'drop_files_here' => 'Soubory dát sem!', 'dump_creation' => 'Vytvoření zálohy databáze', @@ -405,6 +408,7 @@ URL: [url]', 'error' => 'Error', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Není vybrán žádný dokument.', 'error_no_folder_selected' => 'Není vybrána žádná složka', 'error_occured' => 'Vyskytla se chyba', @@ -507,6 +511,7 @@ URL: [url]', 'identical_version' => 'Nová verze je identická s verzí současnou', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Včetně dokumentů', 'include_subdirectories' => 'Včetně podadresářů', @@ -795,6 +800,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Stránka s výsledky', 'return_from_subworkflow' => 'Návrat z vedlejšího pracovního postupu', 'return_from_subworkflow_email_body' => 'Návrat z vedlejšího pracovního postupu @@ -1242,6 +1248,7 @@ URL: [url]', 'splash_edit_user' => 'Uživatel uložen', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Změny složky uloženy', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Neplatné ID složky', 'splash_invalid_searchterm' => 'Neplatný vyhledávací dotaz', 'splash_moved_clipboard' => 'Schránka přenesena do aktuální složky', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index b3e8db79b..9411a3ea2 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -19,11 +19,12 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2227), dgrutsch (21) +// Translators: Admin (2234), dgrutsch (21) $text = array( 'accept' => 'Übernehmen', 'access_control' => 'Zugriffskontrolle', +'access_control_is_off' => 'Erweiterte Zugriffskontrolle ist ausgeschaltet', 'access_denied' => 'Zugriff verweigert', 'access_inheritance' => 'Zugriff vererben', 'access_mode' => 'Berechtigung', @@ -232,6 +233,7 @@ URL: [url]', 'choose_workflow_action' => 'Workflow-Aktion wählen', 'choose_workflow_state' => 'Workflow-Status wählen', 'class_name' => 'Klassenname', +'clear_cache' => 'Cache löschen', 'clear_clipboard' => 'Zwischenablage leeren', 'clear_password' => 'Passwort löschen', 'clipboard' => 'Zwischenablage', @@ -372,6 +374,7 @@ URL: [url]', 'draft_pending_review' => 'Entwurf - bevorstehende Prüfung', 'drag_icon_here' => 'Icon eines Ordners oder Dokuments hier hin ziehen!', 'dropfolder_file' => 'Datei aus Ablageordner', +'dropfolder_folder' => 'Ordner aus Ablageordner', 'dropupload' => 'Direkt Hochladen', 'drop_files_here' => 'Dateien hier hin ziehen!', 'dump_creation' => 'DB dump erzeugen', @@ -410,6 +413,7 @@ URL: [url]', 'error' => 'Fehler', 'error_add_aro' => 'Fehler beim Hinzufügen des Zugriffsobjekt', 'error_add_permission' => 'Fehler beim Hinzufügen der Berechtigung', +'error_importfs' => 'Fehler beim Importieren aus dem Dateisystem', 'error_no_document_selected' => 'Kein Dokument ausgewählt', 'error_no_folder_selected' => 'Kein Ordner ausgewählt', 'error_occured' => 'Ein Fehler ist aufgetreten. Bitte Administrator benachrichtigen.', @@ -512,6 +516,7 @@ URL: [url]', 'identical_version' => 'Neue Version ist identisch zu aktueller Version.', 'import' => 'Importiere', 'importfs' => 'Importiere aus Dateisystem', +'import_fs' => 'Aus Dateisystem importieren', 'include_content' => 'Inhalte mit exportieren', 'include_documents' => 'Dokumente miteinbeziehen', 'include_subdirectories' => 'Unterverzeichnisse miteinbeziehen', @@ -816,6 +821,7 @@ Benutzer: [username] URL: [url]', 'request_workflow_action_email_subject' => 'Workflow-Aktion benötigt', 'reset_checkout' => 'Auschecken beenden', +'restrict_access' => 'Kein Zugriff auf', 'results_page' => 'Ergebnis-Seite', 'return_from_subworkflow' => 'Rückkehr aus Sub-Workflow', 'return_from_subworkflow_email_body' => 'Rückkehr vom Subworkflow @@ -1279,6 +1285,7 @@ URL: [url]', 'splash_edit_user' => 'Benutzer gespeichert', 'splash_error_add_to_transmittal' => 'Fehler beim Hinzufügen zur Dokumentenliste', 'splash_folder_edited' => 'Änderungen am Ordner gespeichert', +'splash_importfs' => '[docs] Dokumente und [folders] Ordner importiert', 'splash_invalid_folder_id' => 'Ungültige Ordner-ID', 'splash_invalid_searchterm' => 'Ungültiger Suchbegriff', 'splash_moved_clipboard' => 'Inhalt der Zwischenablage in aktuellen Ordner verschoben', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 01a63f74e..6d34a89d7 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -19,11 +19,12 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1373), dgrutsch (7), netixw (14) +// Translators: Admin (1380), dgrutsch (7), netixw (14) $text = array( 'accept' => 'Accept', 'access_control' => 'Access control', +'access_control_is_off' => 'Advanced access control is turned off', 'access_denied' => 'Access denied.', 'access_inheritance' => 'Access Inheritance', 'access_mode' => 'Access mode', @@ -232,6 +233,7 @@ URL: [url]', 'choose_workflow_action' => 'Choose workflow action', 'choose_workflow_state' => 'Choose workflow state', 'class_name' => 'Name of class', +'clear_cache' => 'Clear cache', 'clear_clipboard' => 'Clear clipboard', 'clear_password' => 'Clear password', 'clipboard' => 'Clipboard', @@ -372,6 +374,7 @@ URL: [url]', 'draft_pending_review' => 'Draft - pending review', 'drag_icon_here' => 'Drag icon of folder or document here!', 'dropfolder_file' => 'File from drop folder', +'dropfolder_folder' => 'Folder from drop folder', 'dropupload' => 'Fast upload', 'drop_files_here' => 'Drop files here!', 'dump_creation' => 'DB dump creation', @@ -410,6 +413,7 @@ URL: [url]', 'error' => 'Error', 'error_add_aro' => 'Error while adding access request object', 'error_add_permission' => 'Error while add permission', +'error_importfs' => 'Error while importing form file system', 'error_no_document_selected' => 'No document selected', 'error_no_folder_selected' => 'No folder selected', 'error_occured' => 'An error has occurred', @@ -512,6 +516,7 @@ URL: [url]', 'identical_version' => 'New version is identical to current version.', 'import' => 'Import', 'importfs' => 'Import from Filesystem', +'import_fs' => 'Import from filesystem', 'include_content' => 'Include content', 'include_documents' => 'Include documents', 'include_subdirectories' => 'Include subdirectories', @@ -817,6 +822,7 @@ User: [username] URL: [url]', 'request_workflow_action_email_subject' => 'Workflow action required', 'reset_checkout' => 'Finish Check out', +'restrict_access' => 'No access to', 'results_page' => 'Results Page', 'return_from_subworkflow' => 'Return from sub workflow', 'return_from_subworkflow_email_body' => 'Return from subworkflow @@ -1280,6 +1286,7 @@ URL: [url]', 'splash_edit_user' => 'User saved', 'splash_error_add_to_transmittal' => 'Error while adding document to transmittal', 'splash_folder_edited' => 'Save folder changes', +'splash_importfs' => 'Imported [docs] documents and [folders] folders', 'splash_invalid_folder_id' => 'Invalid folder ID', 'splash_invalid_searchterm' => 'Invalid search term', 'splash_moved_clipboard' => 'Clipboard moved into current folder', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index bb7ea56fe..85ab828bc 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Aceptar', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Acceso denegado', 'access_inheritance' => 'Acceso heredado', 'access_mode' => 'Tipo de acceso', @@ -227,6 +228,7 @@ URL: [url]', 'choose_workflow_action' => 'Seleccione acción del flujo de trabajo', 'choose_workflow_state' => 'Seleccione estado del flujo de trabajo', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Limpiar portapapeles', 'clear_password' => '', 'clipboard' => 'Portapapeles', @@ -367,6 +369,7 @@ URL: [url]', 'draft_pending_review' => 'Borrador - pendiente de revisión', 'drag_icon_here' => 'Arrastre carpeta o documento aquí!', 'dropfolder_file' => 'Fichero de la carpeta destino', +'dropfolder_folder' => '', 'dropupload' => 'Carga Rapida', 'drop_files_here' => 'Arrastre archivos aquí!', 'dump_creation' => 'Creación de volcado de BDD', @@ -405,6 +408,7 @@ URL: [url]', 'error' => 'Error', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Ningún documento seleccionado', 'error_no_folder_selected' => 'Ninguna carpeta seleccionada', 'error_occured' => 'Ha ocurrido un error', @@ -507,6 +511,7 @@ URL: [url]', 'identical_version' => 'La nueva versión es idéntica a la actual.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Incluir documentos', 'include_subdirectories' => 'Incluir subcarpetas', @@ -800,6 +805,7 @@ nURL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Página de resultados', 'return_from_subworkflow' => 'Regreso a sub Flujo de trabajo', 'return_from_subworkflow_email_body' => 'Retorno del subflujo de trabajo @@ -1248,6 +1254,7 @@ URL: [url]', 'splash_edit_user' => 'Usuario guardado', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Cambios a la carpeta guardados', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID de carpeta inválido', 'splash_invalid_searchterm' => 'Término de búsqueda inválido', 'splash_moved_clipboard' => 'Portapapeles movido a la carpeta actual', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 3829d07ce..a5a9c0f00 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Accepter', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Accès refusé.', 'access_inheritance' => 'Héritage d\'accès', 'access_mode' => 'Droits d\'accès', @@ -227,6 +228,7 @@ URL: [url]', 'choose_workflow_action' => 'Choose une action de workflow', 'choose_workflow_state' => 'Choisir un état de workflow', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Vider le presse-papier', 'clear_password' => '', 'clipboard' => 'Presse-papier', @@ -367,6 +369,7 @@ URL: [url]', 'draft_pending_review' => 'Ebauche - En cours de correction', 'drag_icon_here' => 'Glisser/déposer le fichier ou document ici!', 'dropfolder_file' => 'Fichier du dossier déposé', +'dropfolder_folder' => '', 'dropupload' => 'Téléchargement rapide', 'drop_files_here' => 'Glissez fichiers ici!', 'dump_creation' => 'création sauvegarde BD', @@ -405,6 +408,7 @@ URL: [url]', 'error' => 'Erreur', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Aucun document sélectionné', 'error_no_folder_selected' => 'Aucun dossier sélectionné', 'error_occured' => 'Une erreur s\'est produite', @@ -507,6 +511,7 @@ URL: [url]', 'identical_version' => 'Nouvelle version identique à l\'actuelle.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Inclure les documents', 'include_subdirectories' => 'Inclure les sous-dossiers', @@ -796,6 +801,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Page de résultats', 'return_from_subworkflow' => 'Revenir du sous-workflow', 'return_from_subworkflow_email_body' => '', @@ -1224,6 +1230,7 @@ URL: [url]', 'splash_edit_user' => 'Utilisateur modifié', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => '', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Identifiant de répertoire invalide', 'splash_invalid_searchterm' => 'Recherche invalide', 'splash_moved_clipboard' => 'Presse-papier déplacé dans le répertoire courant', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 13029ad4a..15ec56d40 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Prihvati', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Odbijen pristup.', 'access_inheritance' => 'Nasljedivost razine pristupa', 'access_mode' => 'Način pristupa', @@ -232,6 +233,7 @@ Internet poveznica: [url]', 'choose_workflow_action' => 'Odaberite radnju toka rada', 'choose_workflow_state' => 'Odaberite status toka rada', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Očistite međuspremnik', 'clear_password' => '', 'clipboard' => 'Međuspremnik', @@ -372,6 +374,7 @@ Internet poveznica: [url]', 'draft_pending_review' => 'Skica - čeka pregled', 'drag_icon_here' => 'Ovdje povuci ikonu mape ili dokumenta!', 'dropfolder_file' => 'Datoteka iz padajuće mape', +'dropfolder_folder' => '', 'dropupload' => 'Zona za brzo učitavanje', 'drop_files_here' => 'Ovdje ispusti datoteku!', 'dump_creation' => 'Izrada odlagališta baze podataka', @@ -410,6 +413,7 @@ Internet poveznica: [url]', 'error' => 'Greška', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Nije odabran dokument', 'error_no_folder_selected' => 'Nije odabrana mapa', 'error_occured' => 'Dogodila se greška', @@ -512,6 +516,7 @@ Internet poveznica: [url]', 'identical_version' => 'Nova verzija je identična trenutnoj verziji.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => 'Uključi sadržaj', 'include_documents' => 'Sadrži dokumente', 'include_subdirectories' => 'Sadrži podmape', @@ -811,6 +816,7 @@ Korisnik: [username] URL poveznica: [url]', 'request_workflow_action_email_subject' => 'Zahtijeva se aktivnost po poslovnom toku', 'reset_checkout' => 'Dovršite odjavu', +'restrict_access' => '', 'results_page' => 'Stranica rezultata', 'return_from_subworkflow' => 'Povratak iz pod-toka rada', 'return_from_subworkflow_email_body' => 'Povratak iz toka rada @@ -1269,6 +1275,7 @@ Internet poveznica: [url]', 'splash_edit_user' => 'Korisnik pohranjen', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Pohrani izmjene mape', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Nevažeći ID mape', 'splash_invalid_searchterm' => 'Nevažeći traženi pojam', 'splash_moved_clipboard' => 'Međuspremnik je premješten u trenutnu mapu', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index b30c94950..6106ab820 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Elfogad', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Hozzáférés megtagadva.', 'access_inheritance' => 'Hozzáférés öröklés', 'access_mode' => 'Hozzáférési mód', @@ -227,6 +228,7 @@ URL: [url]', 'choose_workflow_action' => 'Válasszon munkafolyamat műveletet', 'choose_workflow_state' => 'Válasszon munkafolyamat állapotot', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Vágólap törlése', 'clear_password' => '', 'clipboard' => 'Vágólap', @@ -367,6 +369,7 @@ URL: [url]', 'draft_pending_review' => 'Piszkozat - felülvizsgálat folyamatban', 'drag_icon_here' => 'Húzza a mappa vagy dokumentum ikonját ide!', 'dropfolder_file' => 'Állomány a dropfolder-ből', +'dropfolder_folder' => '', 'dropupload' => 'Gyors feltöltés', 'drop_files_here' => 'Húzz ide egy fájlt', 'dump_creation' => 'Adatbázis mentés létrehozása', @@ -405,6 +408,7 @@ URL: [url]', 'error' => 'Hiba', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Nincs kijelölt dokumentum', 'error_no_folder_selected' => 'Nincs kijelölt mappa', 'error_occured' => 'Hiba történt', @@ -507,6 +511,7 @@ URL: [url]', 'identical_version' => 'Az új verzió megegyezik az eredetivel.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Tartalmazó dokumentumok', 'include_subdirectories' => 'Tartalmazó alkönyvtárak', @@ -800,6 +805,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Találati oldal', 'return_from_subworkflow' => 'Visszatérés a segéd munkafolyamatból', 'return_from_subworkflow_email_body' => 'Visszatérés segéd munkafolyamatból @@ -1247,6 +1253,7 @@ URL: [url]', 'splash_edit_user' => 'Felhasználó mentve', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Mappa változásainak mentése', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Érvénytelen mappa azonosító', 'splash_invalid_searchterm' => 'Érvénytelen keresési feltétel', 'splash_moved_clipboard' => 'Vágólap tartalom áthelyezve az aktuális mappába', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 65468eea8..e41f7271c 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Accetta', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Accesso negato', 'access_inheritance' => 'Permessi ereditari', 'access_mode' => 'Permessi', @@ -233,6 +234,7 @@ URL: [url]', 'choose_workflow_action' => 'Seleziona l\'azione del flusso di lavoro', 'choose_workflow_state' => 'Seleziona lo stato del flusso di lavoro', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Cancella appunti', 'clear_password' => '', 'clipboard' => 'Appunti', @@ -373,6 +375,7 @@ URL: [url]', 'draft_pending_review' => 'Bozza - in revisione', 'drag_icon_here' => 'Trascina qui l\'icona della cartella o del documento', 'dropfolder_file' => 'Scegli file dal server', +'dropfolder_folder' => '', 'dropupload' => 'Caricamento Rapido', 'drop_files_here' => 'Trascina qui il file', 'dump_creation' => 'Creazione del DB dump', @@ -411,6 +414,7 @@ URL: [url]', 'error' => 'Errore', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Nessun documento selezionato', 'error_no_folder_selected' => 'Nessuna cartella selezionata', 'error_occured' => 'Ooops... Si è verificato un errore', @@ -513,6 +517,7 @@ URL: [url]', 'identical_version' => 'La nuova versione è identica a quella attuale.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => 'Includi contenuto', 'include_documents' => 'Includi documenti', 'include_subdirectories' => 'Includi sottocartelle', @@ -813,6 +818,7 @@ Utente: [username] URL: [url]', 'request_workflow_action_email_subject' => 'Richiesta di azione in un flusso di lavoro', 'reset_checkout' => 'Check Out terminato', +'restrict_access' => '', 'results_page' => 'Pagina dei risultati', 'return_from_subworkflow' => 'Ritorno dal sotto-flusso di lavoro', 'return_from_subworkflow_email_body' => 'Ritorno dal sotto-flusso di lavoro @@ -1271,6 +1277,7 @@ URL: [url]', 'splash_edit_user' => 'Utente modificato', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Cartella modificata', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID cartella non valido', 'splash_invalid_searchterm' => 'Termine di ricerca non valido', 'splash_moved_clipboard' => 'Appunti trasferiti nella cartella corrente', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 66363097e..be202de64 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => '동의', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => '접근가 거부되었습니다.', 'access_inheritance' => '접근 상속', 'access_mode' => '접근 모드', @@ -234,6 +235,7 @@ URL: [url]', 'choose_workflow_action' => '워크플로우 작업 선택', 'choose_workflow_state' => '워크플로우 상태 선택', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => '클립 보드 제거', 'clear_password' => '', 'clipboard' => '클립보드', @@ -372,6 +374,7 @@ URL: [url]', 'draft_pending_review' => '초안 - 검토 대기', 'drag_icon_here' => '여기에 폴더 나 문서의 아이콘을 끌어!', 'dropfolder_file' => '드롭 폴더 파일', +'dropfolder_folder' => '', 'dropupload' => '빠른 업로드', 'drop_files_here' => '이곳에 파일을 올려놓으세요!', 'dump_creation' => 'DB 덤프 생성', @@ -410,6 +413,7 @@ URL: [url]', 'error' => '오류', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => '선택되지 문서는', 'error_no_folder_selected' => '어떤 폴더를 선택하지', 'error_occured' => '오류가 발생했습니다', @@ -512,6 +516,7 @@ URL: [url]', 'identical_version' => '새 버전은 최신 버전으로 동일하다.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '내용을 포함', 'include_documents' => '문서 포함', 'include_subdirectories' => '서브 디렉토리를 포함', @@ -804,6 +809,7 @@ URL: [url]', URL: [url]', 'request_workflow_action_email_subject' => '워크플로우 작업 필요', 'reset_checkout' => '체크아웃 마감', +'restrict_access' => '', 'results_page' => '결과 페이지', 'return_from_subworkflow' => '서브 워크플로우에서 반환', 'return_from_subworkflow_email_body' => '서브 워크플로우에서 복귀 @@ -1262,6 +1268,7 @@ URL : [url]', 'splash_edit_user' => '사용자 저장', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => '저장 폴더 변경', +'splash_importfs' => '', 'splash_invalid_folder_id' => '잘못된 폴더 ID', 'splash_invalid_searchterm' => '잘못된 검색 범위', 'splash_moved_clipboard' => '클립 보드가 현재 폴더로 이동', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 20263bdd8..4ce8ffa3e 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Accept', 'access_control' => 'Toegangscontrole', +'access_control_is_off' => '', 'access_denied' => 'Geen toegang.', 'access_inheritance' => 'Toegang overgeërfd', 'access_mode' => 'Toegang modus', @@ -225,6 +226,7 @@ URL: [url]', 'choose_workflow_action' => 'Kies workflow actie', 'choose_workflow_state' => 'kiest workflowstatus', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Vrijgeven klembord', 'clear_password' => '', 'clipboard' => 'Klembord', @@ -365,6 +367,7 @@ URL: [url]', 'draft_pending_review' => 'Draft - in afwachting van controle', 'drag_icon_here' => 'Versleep icoon van de folder of bestand hier!', 'dropfolder_file' => 'Bestand van dropfolder', +'dropfolder_folder' => '', 'dropupload' => 'Snel toevoegen', 'drop_files_here' => 'Sleep bestanden hierheen!', 'dump_creation' => 'DB dump aanmaken', @@ -403,6 +406,7 @@ URL: [url]', 'error' => 'Fout', 'error_add_aro' => 'Verzoek om toegang toegevoegd', 'error_add_permission' => 'Voeg permissie toe', +'error_importfs' => '', 'error_no_document_selected' => 'Geen document geselecteerd', 'error_no_folder_selected' => 'Geen map geselecteerd', 'error_occured' => 'Er is een fout opgetreden', @@ -505,6 +509,7 @@ URL: [url]', 'identical_version' => 'Nieuwe versie is identiek aan de huidige versie', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => 'inclusief inhoud', 'include_documents' => 'Inclusief documenten', 'include_subdirectories' => 'Inclusief submappen', @@ -809,6 +814,7 @@ Gebruiker: [username] URL: [url]', 'request_workflow_action_email_subject' => 'Workflow – actie vereist', 'reset_checkout' => 'Beëindig het gebruik van het document', +'restrict_access' => '', 'results_page' => 'Resultaten pagina', 'return_from_subworkflow' => 'Terug uit subworkflow', 'return_from_subworkflow_email_body' => 'Terug uit subworkflow @@ -1275,6 +1281,7 @@ URL: [url]', 'splash_edit_user' => 'Gebruiker opgeslagen', 'splash_error_add_to_transmittal' => 'Fout: toevoeging aan verzending', 'splash_folder_edited' => 'Opslaan mapwijzigingen', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Ongeldige map ID', 'splash_invalid_searchterm' => 'Ongeldige zoekterm', 'splash_moved_clipboard' => 'Klembord verplaatst naar de huidige map', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index b0c2f1971..ebb5048de 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Akceptuj', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Dostęp zabroniony.', 'access_inheritance' => 'Dziedziczenie dostępu', 'access_mode' => 'Tryb dostępu', @@ -220,6 +221,7 @@ URL: [url]', 'choose_workflow_action' => 'Wybierz działanie procesu', 'choose_workflow_state' => 'Wybierz stan obiegu', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Oczyść schowek', 'clear_password' => '', 'clipboard' => 'Schowek', @@ -360,6 +362,7 @@ URL: [url]', 'draft_pending_review' => 'Szkic - w oczekiwaniu na opinię', 'drag_icon_here' => 'Przeciągnij ikonę folderu lub dokumentu tutaj!', 'dropfolder_file' => 'Plik z folderu rozwijanego', +'dropfolder_folder' => '', 'dropupload' => 'Szybki upload', 'drop_files_here' => 'Przeciągnij tu pliki!', 'dump_creation' => 'Utworzenie zrzutu bazy danych', @@ -398,6 +401,7 @@ URL: [url]', 'error' => 'Błąd', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Brak wybranych dokumentów', 'error_no_folder_selected' => 'Brak wybranych katalogów', 'error_occured' => 'Wystąpił błąd', @@ -500,6 +504,7 @@ URL: [url]', 'identical_version' => 'Nowa wersja jest identyczna z obecną', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Uwzględnij dokumenty', 'include_subdirectories' => 'Uwzględnij podkatalogi', @@ -793,6 +798,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Strona z wynikami', 'return_from_subworkflow' => 'Powróć z sub procesu', 'return_from_subworkflow_email_body' => 'Powrót z sub procesu dokumentu: [name] Wersja: [version] Proces: [workflow] Sub proces: [subworkflow] folderu nadrzędnego: [folder_path] Użytkownik: [username] URL: [url]', @@ -1227,6 +1233,7 @@ URL: [url]', 'splash_edit_user' => 'Zapisano użytkownika', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Zapisz zmiany folderu', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Nieprawidłowy identyfikator folderu', 'splash_invalid_searchterm' => 'Nieprawidłowa wartość wyszukiwania', 'splash_moved_clipboard' => 'Schowek został przeniesiony do bieżącego folderu', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 323c73d6a..a3fc5767d 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Aceitar', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Acesso Negado.', 'access_inheritance' => 'access Inheritance', 'access_mode' => 'Modo de acesso', @@ -227,6 +228,7 @@ URL: [url]', 'choose_workflow_action' => 'Escolha a ação de fluxo de trabalho', 'choose_workflow_state' => 'Escolha um estado de fluxo de trabalho', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Limpar área de transferência', 'clear_password' => '', 'clipboard' => 'Área de transferência', @@ -366,6 +368,7 @@ URL: [url]', 'draft_pending_review' => 'Draft - pending review', 'drag_icon_here' => 'Arraste ícone de pasta ou documento para aqui!', 'dropfolder_file' => 'Arquivo de pasta suspensa', +'dropfolder_folder' => '', 'dropupload' => 'Upload rápido', 'drop_files_here' => 'Solte os arquivos aqui!', 'dump_creation' => 'DB dump creation', @@ -404,6 +407,7 @@ URL: [url]', 'error' => 'Erro', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Nenhum documento selecionado', 'error_no_folder_selected' => 'Nenhuma pasta selecionada', 'error_occured' => 'Ocorreu um erro', @@ -506,6 +510,7 @@ URL: [url]', 'identical_version' => 'Nova versão é idêntica à versão atual.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Include documents', 'include_subdirectories' => 'Include subdirectories', @@ -798,6 +803,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Results Page', 'return_from_subworkflow' => 'Retorno de sub fluxo de trabalho', 'return_from_subworkflow_email_body' => 'Retorno de sub fluxo de trabalho @@ -1245,6 +1251,7 @@ URL: [url]', 'splash_edit_user' => 'Usuário salvo', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Salvar modificação de pastas', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID de pasta inválida', 'splash_invalid_searchterm' => 'Termo de pesquisa inválido', 'splash_moved_clipboard' => 'Área de transferência movida para a pasta corrente', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 9d9455d17..8d9c915c8 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Accept', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Acces interzis.', 'access_inheritance' => 'Mostenire acces', 'access_mode' => 'Mod de acces', @@ -232,6 +233,7 @@ URL: [url]', 'choose_workflow_action' => 'Alege acțiune workflow', 'choose_workflow_state' => 'Alege stare workflow', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Goleste clipboard', 'clear_password' => '', 'clipboard' => 'Clipboard', @@ -372,6 +374,7 @@ URL: [url]', 'draft_pending_review' => 'Proiect - în așteptarea revizuirii', 'drag_icon_here' => 'Trageți iconul de folder sau document aici!', 'dropfolder_file' => 'Fișiere din folderele aruncate (File from drop folder)', +'dropfolder_folder' => '', 'dropupload' => 'Încărcare rapidă', 'drop_files_here' => 'Aruncă fișierele aici!', 'dump_creation' => 'Creare fisier imagine baza de date', @@ -410,6 +413,7 @@ URL: [url]', 'error' => 'Eroare', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Nici un document selectat', 'error_no_folder_selected' => 'Nici un folder selectat', 'error_occured' => 'An error has occured', @@ -512,6 +516,7 @@ URL: [url]', 'identical_version' => 'Noua versiune este identică cu versiunea curentă.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Include documente', 'include_subdirectories' => 'Include subfoldere', @@ -812,6 +817,7 @@ Utilizator: [username] URL: [url]', 'request_workflow_action_email_subject' => 'Actiune workflow necesara', 'reset_checkout' => 'Termina verificarea', +'restrict_access' => '', 'results_page' => 'Pagina rezultate', 'return_from_subworkflow' => 'Întoarcere din subworkflow', 'return_from_subworkflow_email_body' => 'Întoarcere din subworkflow @@ -1270,6 +1276,7 @@ URL: [url]', 'splash_edit_user' => 'Utilizator salvat', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Salvați modificările folderului', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'ID folder invalid', 'splash_invalid_searchterm' => 'Termen de căutare invalid', 'splash_moved_clipboard' => 'Clipboard mutat în folderul curent', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 512561d70..9ab65dcb6 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Принять', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Доступ запрещён', 'access_inheritance' => 'Наследование доступа', 'access_mode' => 'Режим доступа', @@ -232,6 +233,7 @@ URL: [url]', 'choose_workflow_action' => 'Выберите действие процесса', 'choose_workflow_state' => 'Выберите статус процесса', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Очистить буфер обмена', 'clear_password' => '', 'clipboard' => 'Буфер обмена', @@ -372,6 +374,7 @@ URL: [url]', 'draft_pending_review' => 'Черновик — ожидает рецензии', 'drag_icon_here' => 'Перетащите сюда значок каталога или документа.', 'dropfolder_file' => 'Файл из проходного каталога', +'dropfolder_folder' => '', 'dropupload' => 'Быстрая загрузка', 'drop_files_here' => 'Переместите файлы сюда', 'dump_creation' => 'Создать дамп БД', @@ -410,6 +413,7 @@ URL: [url]', 'error' => 'Ошибка', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Нет выбранных документов', 'error_no_folder_selected' => 'Нет выбранных каталогов', 'error_occured' => 'Произошла ошибка', @@ -512,6 +516,7 @@ URL: [url]', 'identical_version' => 'Новая версия идентична текущей.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => 'Включая содержимое', 'include_documents' => 'Включая документы', 'include_subdirectories' => 'Включая подкаталоги', @@ -814,6 +819,7 @@ URL: [url]', URL: [url]', 'request_workflow_action_email_subject' => 'Требуется действие по процессу', 'reset_checkout' => 'Завершить проверку', +'restrict_access' => '', 'results_page' => 'Страница результатов', 'return_from_subworkflow' => 'Выход из подпроцесса', 'return_from_subworkflow_email_body' => 'Выход из подпроцесса @@ -1277,6 +1283,7 @@ URL: [url]', 'splash_edit_user' => 'Пользователь сохранён', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Изменения каталога сохранены', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Неверный идентификатор каталога', 'splash_invalid_searchterm' => 'Неверный поисковый запрос', 'splash_moved_clipboard' => 'Буфер обмена перенесён в текущий каталог', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index d09ebbc8a..5bc5df98d 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -19,11 +19,12 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (492), destinqo (19) +// Translators: Admin (493), destinqo (19) $text = array( 'accept' => 'Prijať', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Prístup zamietnutý.', 'access_inheritance' => 'Dedičnosť prístupu', 'access_mode' => 'Režim prístupu', @@ -154,7 +155,7 @@ URL: [url]', 'backup_tools' => 'Zálohovacie nástroje', 'between' => 'medzi', 'bg_BG' => 'Bulharsky', -'browse' => '', +'browse' => 'Prehľadávať', 'calendar' => 'Kalendár', 'calendar_week' => '', 'cancel' => 'Zrušiť', @@ -209,6 +210,7 @@ URL: [url]', 'choose_workflow_action' => '', 'choose_workflow_state' => '', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => '', 'clear_password' => '', 'clipboard' => 'Schránka', @@ -319,6 +321,7 @@ URL: [url]', 'draft_pending_review' => 'Návrh - čaká na kontrolu', 'drag_icon_here' => 'Sem myšou pretiahnite ikonu, zložku alebo dokument', 'dropfolder_file' => '', +'dropfolder_folder' => '', 'dropupload' => 'Rýchlo nahraj', 'drop_files_here' => 'Sem vložte súbory!', 'dump_creation' => 'Vytvorenie výstupu DB', @@ -357,6 +360,7 @@ URL: [url]', 'error' => 'Chyba', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => '', 'error_no_folder_selected' => '', 'error_occured' => 'Vyskytla sa chyba', @@ -435,6 +439,7 @@ URL: [url]', 'identical_version' => '', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Vrátane súborov', 'include_subdirectories' => 'Vrátane podzložiek', @@ -681,6 +686,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Výsledky', 'return_from_subworkflow' => '', 'return_from_subworkflow_email_body' => '', @@ -1102,6 +1108,7 @@ URL: [url]', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => '', +'splash_importfs' => '', 'splash_invalid_folder_id' => '', 'splash_invalid_searchterm' => '', 'splash_moved_clipboard' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 2f6d533c9..6ea04e272 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -19,11 +19,12 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1117), tmichelfelder (106) +// Translators: Admin (1127), tmichelfelder (106) $text = array( 'accept' => 'Godkänn', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Åtkomst nekas.', 'access_inheritance' => 'Ärv åtkomst', 'access_mode' => 'Åtkomstnivå', @@ -220,6 +221,7 @@ URL: [url]', 'choose_workflow_action' => 'Välj åtgärd för arbetsflödet', 'choose_workflow_state' => 'Välj status för arbetsflödet', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Rensa urklipp', 'clear_password' => '', 'clipboard' => 'Urklipp', @@ -360,6 +362,7 @@ URL: [url]', 'draft_pending_review' => 'Utkast: väntar på granskning', 'drag_icon_here' => 'Dra ikon av mappen eller dokument hit!', 'dropfolder_file' => 'Fil från mellanlagrings-mappen', +'dropfolder_folder' => '', 'dropupload' => 'Snabb uppladdning', 'drop_files_here' => 'Släpp filer här!', 'dump_creation' => 'Skapa DB-dump', @@ -398,6 +401,7 @@ URL: [url]', 'error' => 'Fel', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Inget dokument har valts', 'error_no_folder_selected' => 'Ingen katalog har valts', 'error_occured' => 'Ett fel har inträffat.', @@ -500,6 +504,7 @@ URL: [url]', 'identical_version' => 'Ny version är lika med den aktuella versionen.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Inkludera dokument', 'include_subdirectories' => 'Inkludera under-kataloger', @@ -785,6 +790,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Resultatsida', 'return_from_subworkflow' => 'Tillbaka från under-arbetsflöde', 'return_from_subworkflow_email_body' => 'Tillbaka från underliggande arbetsflöde @@ -975,10 +981,10 @@ URL: [url]', 'settings_dbUser' => 'Användarnamn', 'settings_dbUser_desc' => 'Användarnamnet för tillgång till databasen. Användarnamnet angavs under installationsprocessen.', 'settings_dbVersion' => 'Databasschemat för gammalt', -'settings_defaultSearchMethod' => '', -'settings_defaultSearchMethod_desc' => '', -'settings_defaultSearchMethod_valdatabase' => '', -'settings_defaultSearchMethod_valfulltext' => '', +'settings_defaultSearchMethod' => 'Standard sökmetod', +'settings_defaultSearchMethod_desc' => 'Standard sökmetod, när en sökning startas i sökformuläret i huvudmenyn.', +'settings_defaultSearchMethod_valdatabase' => 'databas', +'settings_defaultSearchMethod_valfulltext' => 'fulltext', 'settings_delete_install_folder' => 'För att kunna använda LetoDMS måste du ta bort filen ENABLE_INSTALL_TOOL som finns i konfigurationsmappen.', 'settings_disableSelfEdit' => 'Inaktivera själveditering', 'settings_disableSelfEdit_desc' => 'Om utvald, kan användare inte ändra sin egen profil.', @@ -987,8 +993,8 @@ URL: [url]', 'settings_dropFolderDir' => 'Mapp för mellanlagring av filer', 'settings_dropFolderDir_desc' => 'Denna mapp kan användas för att mellanlagra filer på serverns filsystem och den kan importeras därifrån istället för att filen laddas upp via webbläsaren. Mappen måste innehålla en undermapp för varje användare som har tillstånd att importera filer denna vägen.', 'settings_Edition' => 'Redigeringsinställningar', -'settings_editOnlineFileTypes' => '', -'settings_editOnlineFileTypes_desc' => '', +'settings_editOnlineFileTypes' => 'Redigera online-filtyper', +'settings_editOnlineFileTypes_desc' => 'Filer med en av följande filtyper kan redigeras online OBS! ANVÄND BARA SMÅ BOKSTÄVER)', 'settings_enableAcknowledgeWorkflow' => '', 'settings_enableAcknowledgeWorkflow_desc' => '', 'settings_enableAdminRevApp' => 'Visa Admin i listan granska/godkänna', @@ -1233,6 +1239,7 @@ URL: [url]', 'splash_edit_user' => 'Användare sparat', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Spara katalog ändringar', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Ogiltigt katalog ID', 'splash_invalid_searchterm' => 'Ogiltigt sökord', 'splash_moved_clipboard' => 'Urklipp flyttades till aktuella katalogen', @@ -1315,7 +1322,7 @@ URL: [url]', 'timeline_skip_status_change_1' => '', 'timeline_skip_status_change_2' => '', 'timeline_skip_status_change_3' => '', -'timeline_status_change' => '', +'timeline_status_change' => 'Version [version]: [status]', 'to' => 'till', 'toggle_manager' => 'Byt manager', 'to_before_from' => 'Slutdatum får inte vara innan startdatum', @@ -1337,7 +1344,7 @@ URL: [url]', 'transmittal_comment' => '', 'transmittal_name' => '', 'transmittal_size' => '', -'tree_loading' => '', +'tree_loading' => 'Vänligen vänta tills dokumentträdet laddats', 'trigger_workflow' => 'Arbetsflöde', 'tr_TR' => 'Turkiska', 'tuesday' => 'tisdag', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index d9b7aaf52..dfbc7d431 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -19,11 +19,12 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1032), aydin (83) +// Translators: Admin (1036), aydin (83) $text = array( 'accept' => 'Kabul', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Erişim engellendi.', 'access_inheritance' => 'Devredilen Erişim', 'access_mode' => 'Erişim modu', @@ -51,7 +52,7 @@ URL: [url]', 'add_approval' => 'Onay ver', 'add_document' => 'Doküman ekle', 'add_document_link' => 'Link ekle', -'add_document_notify' => '', +'add_document_notify' => 'Hatırlatma ekte', 'add_doc_reviewer_approver_warning' => 'NOT: Dokümanlara onay veren veya gözden geçiren kimse atanmamışsa otomatik olarak yayınlanırlar.', 'add_doc_workflow_warning' => 'NOT: Dokümanlara iş akışı atanmamışsa otomatik olarak yayınlanırlar.', 'add_event' => 'Etkinlik ekle', @@ -226,6 +227,7 @@ URL: [url]', 'choose_workflow_action' => 'İş akış eylemi seçiniz', 'choose_workflow_state' => 'İş akış durumunu seçiniz', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Panoyu temizle', 'clear_password' => '', 'clipboard' => 'Pano', @@ -366,6 +368,7 @@ URL: [url]', 'draft_pending_review' => 'Taslak - kontrol bekliyor', 'drag_icon_here' => 'Klasör veya dokümanın ikonunu buraya sürükleyin!', 'dropfolder_file' => 'Sürüklenen klasörden dosya', +'dropfolder_folder' => '', 'dropupload' => 'Hızlı yükleme', 'drop_files_here' => 'Dosyaları buraya sürükleyin!', 'dump_creation' => 'Veritabanı dump oluşturma', @@ -404,6 +407,7 @@ URL: [url]', 'error' => 'Hata', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Hiçbir doküman seçilmedi', 'error_no_folder_selected' => 'Hiçbir klasör seçilmedi', 'error_occured' => 'Bir hata oluştu', @@ -506,6 +510,7 @@ URL: [url]', 'identical_version' => 'Yeni versiyon güncel versiyonla aynı.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => 'Dokümanları kapsa', 'include_subdirectories' => 'Alt klasörleri kapsa', @@ -566,7 +571,7 @@ URL: [url]', 'keep' => 'Değiştirmeyin', 'keep_doc_status' => 'Doküman durumunu değiştirme', 'keywords' => 'Anahtar kelimeler', -'keywords_loading' => '', +'keywords_loading' => 'Anahtar sözcük listesi yüklenene kadar lütfen bekleyin...', 'keyword_exists' => 'Anahtar kelime zaten mevcut', 'ko_KR' => 'Korece', 'language' => 'Dil', @@ -801,6 +806,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => 'Sonuç Sayfası', 'return_from_subworkflow' => 'Alt iş akış dönüşü', 'return_from_subworkflow_email_body' => 'Alt iş akış dönüşü @@ -923,12 +929,12 @@ URL: [url]', 'select_grp_ind_notification' => '', 'select_grp_ind_recipients' => '', 'select_grp_ind_reviewers' => '', -'select_grp_notification' => '', +'select_grp_notification' => 'Gruplar için hatırlatma seçmek için tıklayın', 'select_grp_recipients' => '', 'select_grp_reviewers' => 'Grup kontrol edeni seçmek için tıklayın', 'select_grp_revisors' => '', 'select_ind_approvers' => 'Bireysel onaylanı seçmek için tıklayın', -'select_ind_notification' => '', +'select_ind_notification' => 'Bireysel hatırlatma seçmek için tıklayın', 'select_ind_recipients' => '', 'select_ind_reviewers' => 'Biresysel kontrol edeni seçmek için tıklayın', 'select_ind_revisors' => '', @@ -1249,6 +1255,7 @@ URL: [url]', 'splash_edit_user' => 'Kullanıcı kaydedildi', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Klasör değişiklikleri kaydedildi', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Hatalı klasör ID', 'splash_invalid_searchterm' => 'Hatalı arama terimi', 'splash_moved_clipboard' => 'Pano mevcut klasöre taşındı', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 5531dcb8f..bf2b3ae13 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -24,6 +24,7 @@ $text = array( 'accept' => 'Прийняти', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => 'Доступ заборонений', 'access_inheritance' => 'Наслідування доступу', 'access_mode' => 'Режим доступу', @@ -232,6 +233,7 @@ URL: [url]', 'choose_workflow_action' => 'Оберіть дію процесу', 'choose_workflow_state' => 'Оберіть статус процесу', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => 'Очистити буфер обміну', 'clear_password' => '', 'clipboard' => 'Буфер обміну', @@ -372,6 +374,7 @@ URL: [url]', 'draft_pending_review' => 'Чернетка — Очікує на рецензію', 'drag_icon_here' => 'Перетягніть сюди значок документа чи каталогу', 'dropfolder_file' => 'Файл з прохідного каталогу', +'dropfolder_folder' => '', 'dropupload' => 'Швидке завантаження', 'drop_files_here' => 'Перемістіть файли сюди', 'dump_creation' => 'Створити дамп БД', @@ -410,6 +413,7 @@ URL: [url]', 'error' => 'Помилка', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => 'Немає вибраних документів', 'error_no_folder_selected' => 'Немає вибраних каталогів', 'error_occured' => 'Виникла помилка', @@ -512,6 +516,7 @@ URL: [url]', 'identical_version' => 'Нова версія ідентична поточній.', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => 'Включно з вмістом', 'include_documents' => 'Включно з документами', 'include_subdirectories' => 'Включно з підкаталогами', @@ -807,6 +812,7 @@ URL: [url]', 'request_workflow_action_email_body' => 'Запит дії по процесу', 'request_workflow_action_email_subject' => 'Запит дії для процесу', 'reset_checkout' => 'Зняти стан опрацювання', +'restrict_access' => '', 'results_page' => 'Сторінка результатів', 'return_from_subworkflow' => 'Вихід з підпроцесу', 'return_from_subworkflow_email_body' => 'Вихід з підпроцесу @@ -1270,6 +1276,7 @@ URL: [url]', 'splash_edit_user' => 'Користувача збережено', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => 'Зміни каталогу збережено', +'splash_importfs' => '', 'splash_invalid_folder_id' => 'Невірний ідентифікатор каталогу', 'splash_invalid_searchterm' => 'Невірний пошуковий запит', 'splash_moved_clipboard' => 'Буфер обміну перенесено в поточний каталог', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 6f5e9432e..2374fcf79 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -19,11 +19,12 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (632), fengjohn (5) +// Translators: Admin (633), fengjohn (5) $text = array( 'accept' => '接受', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => '拒绝访问', 'access_inheritance' => '继承访问权限', 'access_mode' => '访问模式', @@ -209,6 +210,7 @@ URL: [url]', 'choose_workflow_action' => '', 'choose_workflow_state' => '', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => '清除粘贴板', 'clear_password' => '', 'clipboard' => '剪切板', @@ -321,6 +323,7 @@ URL: [url]', 'draft_pending_review' => '待校对', 'drag_icon_here' => '拖动图标到这里', 'dropfolder_file' => '所选文件夹的文件', +'dropfolder_folder' => '', 'dropupload' => '快速上传', 'drop_files_here' => '拖入这里', 'dump_creation' => '转储数据', @@ -359,6 +362,7 @@ URL: [url]', 'error' => '错误', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => '请选择文档', 'error_no_folder_selected' => '请选择文件夹', 'error_occured' => '出错', @@ -437,6 +441,7 @@ URL: [url]', 'identical_version' => '', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => '包含文档', 'include_subdirectories' => '包含子目录', @@ -683,6 +688,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => '结果页面', 'return_from_subworkflow' => '', 'return_from_subworkflow_email_body' => '', @@ -876,7 +882,7 @@ URL: [url]', 'settings_enableDuplicateDocNames_desc' => '', 'settings_enableEmail' => '开启邮件', 'settings_enableEmail_desc' => '开启/关闭邮件自动提醒', -'settings_enableFolderTree' => '', +'settings_enableFolderTree' => '开启目录树', 'settings_enableFolderTree_desc' => '', 'settings_enableFullSearch' => '允许全文搜索', 'settings_enableFullSearch_desc' => '允许全文搜索', @@ -1104,6 +1110,7 @@ URL: [url]', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => '', +'splash_importfs' => '', 'splash_invalid_folder_id' => '', 'splash_invalid_searchterm' => '', 'splash_moved_clipboard' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 0d6f0fa44..49031bad4 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -19,11 +19,12 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2355) +// Translators: Admin (2359) $text = array( 'accept' => '接受', 'access_control' => '', +'access_control_is_off' => '', 'access_denied' => '拒絕訪問', 'access_inheritance' => '繼承存取權限', 'access_mode' => '訪問模式', @@ -124,12 +125,12 @@ URL: [url]', 'attrdef_objtype' => '類別', 'attrdef_regex' => '規則運算式', 'attrdef_type' => '類型', -'attrdef_type_boolean' => '', +'attrdef_type_boolean' => '布林數', 'attrdef_type_date' => '日期', 'attrdef_type_email' => '', -'attrdef_type_float' => '', -'attrdef_type_int' => '', -'attrdef_type_string' => '', +'attrdef_type_float' => '浮點數', +'attrdef_type_int' => '整數', +'attrdef_type_string' => '字串', 'attrdef_type_url' => '', 'attrdef_valueset' => '屬性值', 'attributes' => '屬性', @@ -209,6 +210,7 @@ URL: [url]', 'choose_workflow_action' => '選擇流程行為', 'choose_workflow_state' => '選擇流程狀態', 'class_name' => '', +'clear_cache' => '', 'clear_clipboard' => '清除剪貼簿', 'clear_password' => '', 'clipboard' => '剪貼簿', @@ -319,6 +321,7 @@ URL: [url]', 'draft_pending_review' => '待校對', 'drag_icon_here' => '拖動圖示到這裡', 'dropfolder_file' => '', +'dropfolder_folder' => '', 'dropupload' => '快速上傳', 'drop_files_here' => '拖入這裡', 'dump_creation' => '轉儲數據', @@ -357,6 +360,7 @@ URL: [url]', 'error' => '', 'error_add_aro' => '', 'error_add_permission' => '', +'error_importfs' => '', 'error_no_document_selected' => '請選擇文檔', 'error_no_folder_selected' => '請選擇資料夾', 'error_occured' => '出錯', @@ -435,6 +439,7 @@ URL: [url]', 'identical_version' => '', 'import' => '', 'importfs' => '', +'import_fs' => '', 'include_content' => '', 'include_documents' => '包含文檔', 'include_subdirectories' => '包含子目錄', @@ -681,6 +686,7 @@ URL: [url]', 'request_workflow_action_email_body' => '', 'request_workflow_action_email_subject' => '', 'reset_checkout' => '', +'restrict_access' => '', 'results_page' => '結果頁面', 'return_from_subworkflow' => '', 'return_from_subworkflow_email_body' => '', @@ -1102,6 +1108,7 @@ URL: [url]', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_folder_edited' => '', +'splash_importfs' => '', 'splash_invalid_folder_id' => '', 'splash_invalid_searchterm' => '', 'splash_moved_clipboard' => '', diff --git a/op/op.Ajax.php b/op/op.Ajax.php index 53e9cb517..b43e85881 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -484,7 +484,8 @@ switch($command) { $revisions = array(); $resArr = $dms->getDocumentList('AppRevByMe', $user); if($resArr) { - foreach ($resArr as $res) { if($res["status"]==S_DRAFT_REV) + foreach ($resArr as $res) { + if($res["status"]==S_DRAFT_REV) $reviews[] = $res['id']; if($res["status"]==S_DRAFT_APP) $approvals[] = $res['id']; diff --git a/op/op.ClearCache.php b/op/op.ClearCache.php new file mode 100644 index 000000000..b5c00e5f0 --- /dev/null +++ b/op/op.ClearCache.php @@ -0,0 +1,36 @@ +_cacheDir.'/*'; +system($cmd); +add_log_line(""); + +header("Location:../out/out.AdminTools.php"); + diff --git a/op/op.ImportFS.php b/op/op.ImportFS.php index 162633fc3..e8bb3fa00 100644 --- a/op/op.ImportFS.php +++ b/op/op.ImportFS.php @@ -13,8 +13,7 @@ if (!isset($_GET["targetid"]) || !is_numeric($_GET["targetid"]) || $_GET["target $targetid = $_GET["targetid"]; $folder = $dms->getFolder($targetid); if (!is_object($folder)) { - echo "Could not find specified folder\n"; - exit(1); + UI::exitError(getMLText("admin_tools"),getMLText("invalid_target_folder")); } if ($folder->getAccessMode($user) < M_READWRITE) { @@ -30,7 +29,7 @@ if(!is_dir($dirname)) { } function import_folder($dirname, $folder) { /* {{{ */ - global $user; + global $user, $doccount, $foldercount; $d = dir($dirname); $sequence = 1; @@ -56,27 +55,40 @@ function import_folder($dirname, $folder) { /* {{{ */ if (is_bool($lastDotIndex) && !$lastDotIndex) $filetype = "."; else $filetype = substr($path, $lastDotIndex); - echo $mimetype." - ".$filetype." - ".$path."\n"; - $res = $folder->addDocument($name, $comment, $expires, $user, $keywords, +// echo $mimetype." - ".$filetype." - ".$path."\n"; + if($res = $folder->addDocument($name, $comment, $expires, $user, $keywords, $categories, $filetmp, $name, $filetype, $mimetype, $sequence, $reviewers, - $approvers, $reqversion, $version_comment); - - if (is_bool($res) && !$res) { - echo "Could not add document to folder\n"; - exit(1); + $approvers, $reqversion, $version_comment)) { + $doccount++; + } else { + return false; } - set_time_limit(1200); + set_time_limit(30); } elseif(is_dir($path)) { $name = basename($path); - $newfolder = $folder->addSubFolder($name, '', $user, $sequence); - import_folder($path, $newfolder); + if($newfolder = $folder->addSubFolder($name, '', $user, $sequence)) { + $foldercount++; + if(!import_folder($path, $newfolder)) + return false; + } else { + return false; + } } $sequence++; } } + return true; } /* }}} */ -header("Content-Type: text/plain"); -import_folder($dirname, $folder); +$foldercount = $doccount = 0; +if($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1)) { + if(!import_folder($dirname, $newfolder)) + $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs'))); + else + $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_importfs', array('docs'=>$doccount, 'folders'=>$foldercount)))); +} else { + $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs'))); +} +header("Location:../out/out.ViewFolder.php?folderid=".$newfolder->getID()); diff --git a/op/op.RemoveDocument.php b/op/op.RemoveDocument.php index 40d2d8cc9..53c6f3f66 100644 --- a/op/op.RemoveDocument.php +++ b/op/op.RemoveDocument.php @@ -69,6 +69,11 @@ if($settings->_enableFullSearch) { $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 */ $dnl = $document->getNotifyList(); $fnl = $folder->getNotifyList(); diff --git a/op/op.RemoveDocumentFile.php b/op/op.RemoveDocumentFile.php index e59e32d80..01a35e2cc 100644 --- a/op/op.RemoveDocumentFile.php +++ b/op/op.RemoveDocumentFile.php @@ -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")); } +/* Remove preview image. */ +require_once("SeedDMS/Preview.php"); +$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir); +$previewer->deletePreview($file, $settings->_previewWidthDetail); + if (!$document->removeDocumentFile($fileid)) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } else { // Send notification to subscribers. if($notifier) { $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"; $message = "removed_file_email_body"; $params = array(); diff --git a/op/op.RemoveFolder.php b/op/op.RemoveFolder.php index bbfcc5277..b2d69c743 100644 --- a/op/op.RemoveFolder.php +++ b/op/op.RemoveFolder.php @@ -60,6 +60,16 @@ if($settings->_enableFullSearch) { $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 */ $nl = $folder->getNotifyList(); $parent=$folder->getParent(); diff --git a/op/op.RemoveVersion.php b/op/op.RemoveVersion.php index 1af1a1355..7b2460cf1 100644 --- a/op/op.RemoveVersion.php +++ b/op/op.RemoveVersion.php @@ -60,37 +60,16 @@ if (!is_object($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) { + $previewer->deleteDocumentPreviews($document); $nl = $document->getNotifyList(); $docname = $document->getName(); if (!$document->remove()) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } else { 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"; $message = "document_deleted_email_body"; $params = array(); @@ -133,6 +112,8 @@ else { } } + $previewer->deletePreview($version, $settings->_previewWidthDetail); + $previewer->deletePreview($version, $settings->_previewWidthList); if (!$document->removeContent($version)) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } else { diff --git a/out/out.ApprovalSummary.php b/out/out.ApprovalSummary.php index 2aa2be0b2..293dc35cc 100644 --- a/out/out.ApprovalSummary.php +++ b/out/out.ApprovalSummary.php @@ -26,11 +26,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); diff --git a/out/out.AttributeMgr.php b/out/out.AttributeMgr.php index d35029a79..09ef454ab 100644 --- a/out/out.AttributeMgr.php +++ b/out/out.AttributeMgr.php @@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); diff --git a/out/out.ClearCache.php b/out/out.ClearCache.php new file mode 100644 index 000000000..578464b35 --- /dev/null +++ b/out/out.ClearCache.php @@ -0,0 +1,40 @@ +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; +} + +?> diff --git a/out/out.DocumentVersionDetail.php b/out/out.DocumentVersionDetail.php index 53ebd4f77..87175a193 100644 --- a/out/out.DocumentVersionDetail.php +++ b/out/out.DocumentVersionDetail.php @@ -28,11 +28,6 @@ include("../inc/inc.ClassUI.php"); include("../inc/inc.ClassAccessOperation.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) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); } diff --git a/out/out.DropFolderChooser.php b/out/out.DropFolderChooser.php index 2dd323264..5d718bbdd 100644 --- a/out/out.DropFolderChooser.php +++ b/out/out.DropFolderChooser.php @@ -26,11 +26,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.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"]); if(substr($settings->_dropFolderDir, -1, 1) == DIRECTORY_SEPARATOR) diff --git a/out/out.GroupMgr.php b/out/out.GroupMgr.php index 250a125e0..3e200148a 100644 --- a/out/out.GroupMgr.php +++ b/out/out.GroupMgr.php @@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); diff --git a/out/out.ManageNotify.php b/out/out.ManageNotify.php index 1be77c3b0..2e4770b0e 100644 --- a/out/out.ManageNotify.php +++ b/out/out.ManageNotify.php @@ -24,11 +24,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - if ($user->isGuest()) { UI::exitError(getMLText("my_account"),getMLText("access_denied")); } diff --git a/out/out.MyDocuments.php b/out/out.MyDocuments.php index 5997d8f84..8563499b7 100644 --- a/out/out.MyDocuments.php +++ b/out/out.MyDocuments.php @@ -26,11 +26,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); diff --git a/out/out.ReviewSummary.php b/out/out.ReviewSummary.php index 977ff6efd..878928f51 100644 --- a/out/out.ReviewSummary.php +++ b/out/out.ReviewSummary.php @@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); diff --git a/out/out.Search.php b/out/out.Search.php index c4c847b9f..a34820fdc 100644 --- a/out/out.Search.php +++ b/out/out.Search.php @@ -28,11 +28,6 @@ include("../inc/inc.ClassUI.php"); include("../inc/inc.ClassAccessOperation.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - function getTime() { if (function_exists('microtime')) { $tm = microtime(); diff --git a/out/out.Timeline.php b/out/out.Timeline.php index a4760d9e3..7df0975f0 100644 --- a/out/out.Timeline.php +++ b/out/out.Timeline.php @@ -25,11 +25,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); diff --git a/out/out.ViewDocument.php b/out/out.ViewDocument.php index b59b09853..962ee8e4c 100644 --- a/out/out.ViewDocument.php +++ b/out/out.ViewDocument.php @@ -29,13 +29,8 @@ include("../inc/inc.ClassUI.php"); include("../inc/inc.ClassAccessOperation.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); -$view = UI::factory($theme, $tmp[1]); +$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) { @@ -53,6 +48,11 @@ if ($document->getAccessMode($user) < M_READ) { $view->exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied")); } +/* Could be that the advanced access rights prohibit access on the content */ +if (!$document->getLatestContent()) { + $view->exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied")); +} + /* Recalculate the status of a document and reload the page if the status * has changed. A status change may occur if the document has expired in * the mean time @@ -69,8 +69,6 @@ if ($document->checkForDueRevisionWorkflow($user)){ } if($view) { - $view->setParam('dms', $dms); - $view->setParam('user', $user); $view->setParam('folder', $folder); $view->setParam('document', $document); $view->setParam('accessobject', $accessop); diff --git a/out/out.ViewFolder.php b/out/out.ViewFolder.php index b141cd710..1777c3211 100644 --- a/out/out.ViewFolder.php +++ b/out/out.ViewFolder.php @@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.Authentication.php"); include("../inc/inc.ClassUI.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); diff --git a/out/out.WorkflowSummary.php b/out/out.WorkflowSummary.php index 027718fd2..7c51de4ce 100644 --- a/out/out.WorkflowSummary.php +++ b/out/out.WorkflowSummary.php @@ -27,11 +27,6 @@ include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.Authentication.php"); -/** - * Include class to preview documents - */ -require_once("SeedDMS/Preview.php"); - $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); diff --git a/restapi/index.php b/restapi/index.php index 1cb64a9e3..a2b17da90 100644 --- a/restapi/index.php +++ b/restapi/index.php @@ -215,6 +215,29 @@ function getFolderPath($id) { /* {{{ */ echo json_encode(array('success'=>true, 'message'=>'', 'data'=>$data)); } /* }}} */ +function getFolderAttributes($id) { /* {{{ */ + global $app, $dms, $userobj; + $folder = $dms->getFolder($id); + + if($folder) { + if ($folder->getAccessMode($userobj) >= M_READ) { + $recs = array(); + $attributes = $folder->getAttributes(); + foreach($attributes as $attribute) { + $recs[] = array( + 'id'=>$attribute->getId(), + 'value'=>$attribute->getValue(), + 'name'=>$attribute->getAttributeDefinition()->getName(), + ); + } + $app->response()->header('Content-Type', 'application/json'); + echo json_encode(array('success'=>true, 'message'=>'', 'data'=>$recs)); + } else { + $app->response()->status(404); + } + } +} /* }}} */ + function getFolderChildren($id) { /* {{{ */ global $app, $dms, $userobj; if($id == 0) { @@ -649,6 +672,29 @@ function getDocumentLinks($id) { /* {{{ */ } } /* }}} */ +function getDocumentAttributes($id) { /* {{{ */ + global $app, $dms, $userobj; + $document = $dms->getDocument($id); + + if($document) { + if ($document->getAccessMode($userobj) >= M_READ) { + $recs = array(); + $attributes = $document->getAttributes(); + foreach($attributes as $attribute) { + $recs[] = array( + 'id'=>$attribute->getId(), + 'value'=>$attribute->getValue(), + 'name'=>$attribute->getAttributeDefinition()->getName(), + ); + } + $app->response()->header('Content-Type', 'application/json'); + echo json_encode(array('success'=>true, 'message'=>'', 'data'=>$recs)); + } else { + $app->response()->status(404); + } + } +} /* }}} */ + function getAccount() { /* {{{ */ global $app, $dms, $userobj; if($userobj) { @@ -838,8 +884,7 @@ function doSearchByAttr() { /* {{{ */ echo json_encode(array('success'=>true, 'message'=>'', 'data'=>$recs)); } /* }}} */ -function checkIfAdmin() -{ +function checkIfAdmin() { /* {{{ */ global $app, $dms, $userobj; if(!$userobj) { $app->response()->header('Content-Type', 'application/json'); @@ -853,8 +898,7 @@ function checkIfAdmin() } return true; -} - +} /* }}} */ function createAccount() { /* {{{ */ global $app, $dms, $userobj; @@ -1063,7 +1107,7 @@ function changeGroupMembership($id, $operationType) { /* {{{ */ function addUserToGroup($id) { /* {{{ */ changeGroupMembership($id, 'add'); -} +} /* }}} */ function removeUserFromGroup($id) { /* {{{ */ changeGroupMembership($id, 'remove'); @@ -1231,7 +1275,6 @@ function changeFolderAccess($id, $operationType, $userOrGroup) { /* {{{ */ echo json_encode(array('success'=>true, 'message'=>'', 'data'=>$data)); } /* }}} */ - function clearFolderAccessList($id) { /* {{{ */ global $app, $dms, $userobj; checkIfAdmin(); @@ -1289,6 +1332,7 @@ $app->delete('/folder/:id', 'deleteFolder'); $app->get('/folder/:id/children', 'getFolderChildren'); $app->get('/folder/:id/parent', 'getFolderParent'); $app->get('/folder/:id/path', 'getFolderPath'); +$app->get('/folder/:id/attributes', 'getFolderAttributes'); $app->post('/folder/:id/createfolder', 'createFolder'); $app->put('/folder/:id/document', 'uploadDocument'); $app->get('/document/:id', 'getDocument'); @@ -1300,6 +1344,7 @@ $app->get('/document/:id/version/:version', 'getDocumentVersion'); $app->get('/document/:id/files', 'getDocumentFiles'); $app->get('/document/:id/file/:fileid', 'getDocumentFile'); $app->get('/document/:id/links', 'getDocumentLinks'); +$app->get('/document/:id/attributes', 'getDocumentAttributes'); $app->put('/account/fullname', 'setFullName'); $app->put('/account/email', 'setEmail'); $app->get('/account/locked', 'getLockedDocuments'); diff --git a/styles/bootstrap/application.css b/styles/bootstrap/application.css index 858b0629d..313d1715a 100644 --- a/styles/bootstrap/application.css +++ b/styles/bootstrap/application.css @@ -171,6 +171,10 @@ div.splash { display: none; } +ul.jqtree-tree li.jqtree_common > .jqtree-element:hover { + background-color: #E0E0E0; +} + @media (max-width: 480px) { .nav-tabs > li { float:none; diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 8f18e3619..9bf040650 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -665,7 +665,7 @@ $(document).ready(function() { url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id; // document.location = url; - } else if(source_type == 'folder') { + } else if(source_type == 'folder' && source_id != target_id) { bootbox.dialog(trans.confirm_move_folder, [{ "label" : " "+trans.move_folder, "class" : "btn-danger", @@ -814,7 +814,7 @@ $(document).ready(function() { url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id; // document.location = url; - } else if(source_type == 'folder') { + } else if(source_type == 'folder' && source_id != target_id) { bootbox.dialog(trans.confirm_move_folder, [{ "label" : " "+trans.move_folder, "class" : "btn-danger", diff --git a/views/bootstrap/class.ApprovalSummary.php b/views/bootstrap/class.ApprovalSummary.php index ea00eedeb..466ef22a7 100644 --- a/views/bootstrap/class.ApprovalSummary.php +++ b/views/bootstrap/class.ApprovalSummary.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for ApprovalSummary view * diff --git a/views/bootstrap/class.AttributeMgr.php b/views/bootstrap/class.AttributeMgr.php index ac0a7fdbc..76c9f3f83 100644 --- a/views/bootstrap/class.AttributeMgr.php +++ b/views/bootstrap/class.AttributeMgr.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for AttributeMgr view * @@ -162,7 +167,7 @@ $(document).ready( function() { - +
\n"; $errmsgs = array(); foreach($GLOBALS['EXT_CONF'] as $extname=>$extconf) { + $errmsgs = array(); if(!isset($extconf['disable']) || $extconf['disable'] == false) { /* check dependency on specific seeddms version */ - if(isset($extconf['constraints']['depends']['seeddms'])) { - $tmp = explode('-', $extconf['constraints']['depends']['seeddms'], 2); - if(cmpVersion($tmp[0], $version->version()) > 0 || ($tmp[1] && cmpVersion($tmp[1], $version->version()) < 0)) - $errmsgs[] = sprintf("Incorrect SeedDMS version (needs version %s)", $extconf['constraints']['depends']['seeddms']); - } else { + if(!isset($extconf['constraints']['depends']['seeddms'])) $errmsgs[] = "Missing dependency on SeedDMS"; + if(!isset($extconf['constraints']['depends']['php'])) + $errmsgs[] = "Missing dependency on PHP"; + + if(isset($extconf['constraints']['depends'])) { + foreach($extconf['constraints']['depends'] as $dkey=>$dval) { + switch($dkey) { + case 'seeddms': + $tmp = explode('-', $dval, 2); + if(cmpVersion($tmp[0], $version->version()) > 0 || ($tmp[1] && cmpVersion($tmp[1], $version->version()) < 0)) + $errmsgs[] = sprintf("Incorrect SeedDMS version (needs version %s)", $extconf['constraints']['depends']['seeddms']); + break; + case 'php': + $tmp = explode('-', $dval, 2); + if(cmpVersion($tmp[0], phpversion()) > 0 || ($tmp[1] && cmpVersion($tmp[1], phpversion()) < 0)) + $errmsgs[] = sprintf("Incorrect PHP version (needs version %s)", $extconf['constraints']['depends']['php']); + break; + default: + $tmp = explode('-', $dval, 2); + if(isset($GLOBALS['EXT_CONF'][$dkey]['version'])) { + if(cmpVersion($tmp[0], $GLOBALS['EXT_CONF'][$dkey]['version']) > 0 || ($tmp[1] && cmpVersion($tmp[1], $GLOBALS['EXT_CONF'][$dkey]['version']) < 0)) + $errmsgs[] = sprintf("Incorrect version of extension '%s' (needs version '%s' but provides '%s')", $dkey, $dval, $GLOBALS['EXT_CONF'][$dkey]['version']); + } else { + $errmsgs[] = sprintf("Missing extension or version for '%s'", $dkey); + } + break; + } + } } - /* check dependency on specific php version */ - if(isset($extconf['constraints']['depends']['php'])) { - $tmp = explode('-', $extconf['constraints']['depends']['php'], 2); - if(cmpVersion($tmp[0], phpversion()) > 0 || ($tmp[1] && cmpVersion($tmp[1], phpversion()) < 0)) - $errmsgs[] = sprintf("Incorrect PHP version (needs version %s)", $extconf['constraints']['depends']['php']); - } else { - $errmsgs[] = "Missing dependency on PHP"; - } if($errmsgs) echo ""; else @@ -77,7 +93,7 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style { echo ""; echo ""; echo ""; echo ""; diff --git a/views/bootstrap/class.ForcePasswordChange.php b/views/bootstrap/class.ForcePasswordChange.php index dde4f3ea4..06553cf4e 100644 --- a/views/bootstrap/class.ForcePasswordChange.php +++ b/views/bootstrap/class.ForcePasswordChange.php @@ -32,8 +32,6 @@ require_once("class.Bootstrap.php"); class SeedDMS_View_ForcePasswordChange extends SeedDMS_Bootstrap_Style { function js() { /* {{{ */ - $strictformcheck = $this->params['strictformcheck']; - header('Content-Type: application/javascript'); ?> function checkForm() @@ -75,7 +73,7 @@ $(document).ready( function() { $this->htmlStartPage(getMLText("sign_in"), "forcepasswordchange"); $this->globalBanner(); $this->contentStart(); - echo "

".getMLText('password_expiration')."

"; + $this->contentHeading(getMLText('password_expiration')); echo "
".getMLText('password_expiration_text')."
"; $this->contentContainerStart(); ?> diff --git a/views/bootstrap/class.GroupMgr.php b/views/bootstrap/class.GroupMgr.php index 7b1838e0e..9ec402443 100644 --- a/views/bootstrap/class.GroupMgr.php +++ b/views/bootstrap/class.GroupMgr.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for GroupMgr view * diff --git a/views/bootstrap/class.ImportFS.php b/views/bootstrap/class.ImportFS.php index 3da3e13e1..192e95fc1 100644 --- a/views/bootstrap/class.ImportFS.php +++ b/views/bootstrap/class.ImportFS.php @@ -52,12 +52,12 @@ class SeedDMS_View_ImportFS extends SeedDMS_Bootstrap_Style { $this->contentContainerStart(); print ""; - print "
"; + print "
"; $this->printFolderChooserHtml("form1",M_READWRITE); print "
"; if($dropfolderdir) { print "
"; /* Setting drop folder dir to "" will force to take the default from settings.xml */ diff --git a/views/bootstrap/class.ManageNotify.php b/views/bootstrap/class.ManageNotify.php index aa9a50fd4..1f2aa3aa2 100644 --- a/views/bootstrap/class.ManageNotify.php +++ b/views/bootstrap/class.ManageNotify.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for ManageNotify view * diff --git a/views/bootstrap/class.MyDocuments.php b/views/bootstrap/class.MyDocuments.php index 7987c38e8..fb4a62f5b 100644 --- a/views/bootstrap/class.MyDocuments.php +++ b/views/bootstrap/class.MyDocuments.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for MyDocuments view * @@ -113,22 +118,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $printheader=false; } - print "
\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; } } foreach ($reviewStatus["grpstatus"] as $st) { @@ -151,22 +157,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $printheader=false; } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; } } if (!$printheader){ @@ -201,22 +208,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $printheader=false; } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; } } foreach ($approvalStatus["grpstatus"] as $st) { @@ -236,22 +244,24 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { print "\n\n\n"; $printheader=false; } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; } } if (!$printheader){ @@ -310,22 +320,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { } } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print "\n"; + $previewer->createPreview($content); + print ""; + print "\n"; + print ""; + print ""; + print ""; + print ""; + print "\n"; } - print ""; - print "\n"; - print ""; - print ""; - print ""; - print ""; - print "\n"; } print "
: @@ -249,6 +254,7 @@ $(document).ready( function() { $user = $this->params['user']; $attrdefs = $this->params['attrdefs']; $selattrdef = $this->params['selattrdef']; + $accessop = $this->params['accessobject']; $this->htmlAddHeader(''."\n", 'js'); diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index ebfb54343..173873878 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -769,6 +769,8 @@ $(document).ready(function () { echo "
  • ".getMLText("importfs")."
  • \n"; if ($this->check_access('ExtensionMgr')) echo "
  • ".getMLText("extension_manager")."
  • \n"; + if ($this->check_access('ClearCache')) + echo "
  • ".getMLText("clear_cache")."
  • \n"; if ($this->check_access('Info')) echo "
  • ".getMLText("version_info")."
  • \n"; echo " \n"; diff --git a/views/bootstrap/class.ClearCache.php b/views/bootstrap/class.ClearCache.php new file mode 100644 index 000000000..b00043c62 --- /dev/null +++ b/views/bootstrap/class.ClearCache.php @@ -0,0 +1,60 @@ + + * @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 + * @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'); + +?> +
    + +

    +$cachedir));?> +

    +

    +
    +contentContainerEnd(); + $this->contentEnd(); + $this->htmlEndPage(); + } /* }}} */ +} +?> diff --git a/views/bootstrap/class.DocumentVersionDetail.php b/views/bootstrap/class.DocumentVersionDetail.php index 3babb05a5..bc86c6c52 100644 --- a/views/bootstrap/class.DocumentVersionDetail.php +++ b/views/bootstrap/class.DocumentVersionDetail.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for DocumentVersionDetail view * diff --git a/views/bootstrap/class.DropFolderChooser.php b/views/bootstrap/class.DropFolderChooser.php index 4882c6782..f9c883710 100644 --- a/views/bootstrap/class.DropFolderChooser.php +++ b/views/bootstrap/class.DropFolderChooser.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for CategoryChooser view * diff --git a/views/bootstrap/class.ExtensionMgr.php b/views/bootstrap/class.ExtensionMgr.php index 5be43b04d..59d91df1b 100644 --- a/views/bootstrap/class.ExtensionMgr.php +++ b/views/bootstrap/class.ExtensionMgr.php @@ -47,24 +47,40 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style { print "
    ".$extconf['title']."
    ".$extconf['description'].""; if($errmsgs) - echo "
    getImgPath("attention.gif")."\"> ".implode('
    ', $errmsgs)."
    "; + echo "
    getImgPath("attention.gif")."\"> ".implode('
    ', $errmsgs)."
    "; echo "
    ".$extconf['version']."
    ".$extconf['releasedate']."
    ".$extconf['author']['name']."
    ".$extconf['author']['company']."
    "; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($st['version'])) { + print "
    "; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) ."
    ".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) ."
    "; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($st['version'])) { + print "
    "; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
    ".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
    "; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($st['version'])) { + print "
    "; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
    ".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
    "; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + + if($content = $document->getContentByVersion($st['version'])) { + print "
    "; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
    ".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
    "; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($res['version'])) { + print "
    "; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
    " . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
    "; @@ -390,22 +401,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $printheader=false; } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"]).""; + print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"]).""; + print "".$st["version"].""; + print "".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"]) .""; + print "".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"]).""; - print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"]).""; - print "".$st["version"].""; - print "".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"]) .""; - print "".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"])).""; - print "\n"; } } foreach ($workflowStatus["g"] as $st) { @@ -428,22 +440,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $printheader=false; } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"]).""; + print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"]).""; + print "".$st["version"].""; + print "".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"]).""; + print "".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"]).""; - print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"]).""; - print "".$st["version"].""; - print "".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"]).""; - print "".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"])).""; - print "\n"; } } if (!$printheader){ @@ -487,22 +500,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { } } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($res['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "" . htmlspecialchars($res["name"]) . "\n"; + print "".getOverallStatusText($res["status"]).""; + print "".$res["version"].""; + print "".$res["statusDate"]." ".htmlspecialchars($res["statusName"]).""; + print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; + print "\n"; } - print ""; - print "" . htmlspecialchars($res["name"]) . "\n"; - print "".getOverallStatusText($res["status"]).""; - print "".$res["version"].""; - print "".$res["statusDate"]." ".htmlspecialchars($res["statusName"]).""; - print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; - print "\n"; } print ""; @@ -561,22 +575,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $printheader=false; } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"]).""; + print "".$st["version"].""; + print "".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) .""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"]).""; - print "".$st["version"].""; - print "".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) .""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; } } foreach ($revisionStatus["grpstatus"] as $st) { @@ -598,22 +613,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $printheader=false; } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"]).""; + print "".$st["version"].""; + print "".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]).""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"]).""; - print "".$st["version"].""; - print "".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]).""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; } } if (!$printheader){ @@ -677,22 +693,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $printheader=false; } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"]).""; + print "".$st["version"].""; + print "".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) .""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"]).""; - print "".$st["version"].""; - print "".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) .""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; } } foreach ($receiptStatus["grpstatus"] as $st) { @@ -714,22 +731,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $printheader=false; } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"]).""; + print "".$st["version"].""; + print "".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]).""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; } - print ""; - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"]).""; - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"]).""; - print "".$st["version"].""; - print "".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]).""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; } } if (!$printheader){ @@ -782,22 +800,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { } } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($res['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "" . htmlspecialchars($res["name"]) . "\n"; + print "".getOverallStatusText($res["status"]).""; + print "".$res["version"].""; + print "".$res["statusDate"]." ".htmlspecialchars($res["statusName"]).""; + print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; + print "\n"; } - print ""; - print "" . htmlspecialchars($res["name"]) . "\n"; - print "".getOverallStatusText($res["status"]).""; - print "".$res["version"].""; - print "".$res["statusDate"]." ".htmlspecialchars($res["statusName"]).""; - print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; - print "\n"; } print ""; @@ -837,22 +856,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { } } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($res['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "" . htmlspecialchars($res["name"]) . "\n"; + print "".getOverallStatusText($res["status"]).""; + print "".$res["version"].""; + print "".$res["statusDate"]." ".htmlspecialchars($res["statusName"]).""; + print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; + print "\n"; } - print ""; - print "" . htmlspecialchars($res["name"]) . "\n"; - print "".getOverallStatusText($res["status"]).""; - print "".$res["version"].""; - print "".$res["statusDate"]." ".htmlspecialchars($res["statusName"]).""; - print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; - print "\n"; } print ""; @@ -894,22 +914,23 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { } } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($res['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "" . htmlspecialchars($res["name"]) . "\n"; + print "".getOverallStatusText($res["status"]).""; + print "".$res["version"].""; + print "".$res["statusDate"]." ".htmlspecialchars($res["statusName"]).""; + print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; + print "\n"; } - print ""; - print "" . htmlspecialchars($res["name"]) . "\n"; - print "".getOverallStatusText($res["status"]).""; - print "".$res["version"].""; - print "".$res["statusDate"]." ".htmlspecialchars($res["statusName"]).""; - print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; - print "\n"; } print ""; @@ -956,23 +977,24 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { } } - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + if($content = $document->getContentByVersion($res['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print ""; + print "" . htmlspecialchars($res["name"]) . "\n"; + print "".getOverallStatusText($res["status"]).""; + print "".$res["version"].""; + print "".$res["statusDate"]." ". htmlspecialchars($res["statusName"]).""; + //print "".(!$res["expires"] ? getMLText("does_not_expire"):getReadableDate($res["expires"])).""; + print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; + print "\n"; } - print ""; - print "" . htmlspecialchars($res["name"]) . "\n"; - print "".getOverallStatusText($res["status"]).""; - print "".$res["version"].""; - print "".$res["statusDate"]." ". htmlspecialchars($res["statusName"]).""; - //print "".(!$res["expires"] ? getMLText("does_not_expire"):getReadableDate($res["expires"])).""; - print "".(!$res["expires"] ? "-":getReadableDate($res["expires"])).""; - print "\n"; } print ""; } diff --git a/views/bootstrap/class.ReviewSummary.php b/views/bootstrap/class.ReviewSummary.php index 1c0b531d8..935a6c710 100644 --- a/views/bootstrap/class.ReviewSummary.php +++ b/views/bootstrap/class.ReviewSummary.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for ReviewSummary view * diff --git a/views/bootstrap/class.Search.php b/views/bootstrap/class.Search.php index 9c462d15b..251eea83c 100644 --- a/views/bootstrap/class.Search.php +++ b/views/bootstrap/class.Search.php @@ -18,6 +18,11 @@ */ 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 * @@ -530,7 +535,7 @@ $(document).ready( function() { $this->pageList($pageNumber, $totalpages, "../out/out.Search.php", $urlparams); // $this->contentContainerStart(); - print ""; + print "
    "; print "\n\n"; print "\n"; print "\n"; diff --git a/views/bootstrap/class.SubstituteUser.php b/views/bootstrap/class.SubstituteUser.php index cd9738bb8..81d4513e7 100644 --- a/views/bootstrap/class.SubstituteUser.php +++ b/views/bootstrap/class.SubstituteUser.php @@ -48,7 +48,10 @@ class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style { $this->contentContainerStart(); ?>
    ".getMLText("name")."
    - + + + + "; @@ -79,7 +82,8 @@ class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style { echo ""; echo ""; } - echo "
    "; + echo ""; + echo ""; $this->contentContainerEnd(); $this->contentEnd(); diff --git a/views/bootstrap/class.Timeline.php b/views/bootstrap/class.Timeline.php index 4832ffb61..2ef72a7bf 100644 --- a/views/bootstrap/class.Timeline.php +++ b/views/bootstrap/class.Timeline.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for Timeline view * diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 845fb01de..9ec07c2cf 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for ViewDocument view * @@ -160,6 +165,23 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $this->printDocumentChooserJs("form1"); } /* }}} */ + function preview() { /* {{{ */ + $document = $this->params['document']; + $latestContent = $document->getLatestContent(); + switch($latestContent->getMimeType()) { + case 'audio/mpeg': + case 'audio/ogg': + case 'audio/wav': + $this->contentHeading(getMLText("preview")); +?> + +params['dms']; @@ -296,17 +318,18 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { isAdmin()) { + echo ""; + echo "".getMLText('default_access').":"; + echo "".$this->getAccessModeText($document->getDefaultAccess()).""; + echo ""; if($document->inheritsAccess()) { echo ""; echo "".getMLText("access_mode").":\n"; echo ""; - echo getMLText("inherited"); + echo getMLText("inherited")."
    "; + $this->printAccessList($document); echo ""; } else { - echo ""; - echo "".getMLText('default_access').":"; - echo "".$this->getAccessModeText($document->getDefaultAccess()).""; - echo ""; echo ""; echo "".getMLText('access_mode').":"; echo ""; @@ -381,6 +404,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if(is_string($txt)) echo $txt; $this->contentContainerEnd(); +// $this->preview(); ?>
    @@ -502,7 +526,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { } } } - print "\n"; + print "\n"; // print "".htmlspecialchars($latestContent->getComment()).""; @@ -693,7 +717,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { } print "\n"; - print "\n\n"; + print "\n"; } } @@ -763,7 +787,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print ""; print "\n"; - print "\n\n"; + print "\n"; } } @@ -1047,7 +1071,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { } print "\n"; - print "\n\n"; + print "\n"; } ?> @@ -1157,7 +1181,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { } print "\n"; - print "\n\n"; + print "\n"; } ?> @@ -1245,7 +1269,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { } } } - print "\n"; + print "\n"; // print "".htmlspecialchars($version->getComment()).""; print "".getOverallStatusText($vstat["status"]).""; print ""; @@ -1329,7 +1353,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "
  • ".getMLText("uploaded_by")." getEmail()."\">".htmlspecialchars($responsibleUser->getFullName())."
  • "; print "
  • ".getLongReadableDate($file->getDate())."
  • "; - + print ""; print "".htmlspecialchars($file->getComment()).""; print "
      "; diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index dcec230ab..19d9784df 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for ViewFolder view * @@ -208,17 +213,18 @@ function folderSelected(id, name) { } if($user->isAdmin()) { + echo ""; + echo "".getMLText('default_access').":"; + echo "".$this->getAccessModeText($folder->getDefaultAccess()).""; + echo ""; if($folder->inheritsAccess()) { echo ""; echo "".getMLText("access_mode").":\n"; echo ""; - echo getMLText("inherited"); + echo getMLText("inherited")."
      "; + $this->printAccessList($folder); echo ""; } else { - echo ""; - echo "".getMLText('default_access').":"; - echo "".$this->getAccessModeText($folder->getDefaultAccess()).""; - echo ""; echo ""; echo "".getMLText('access_mode').":"; echo ""; @@ -279,7 +285,7 @@ function folderSelected(id, name) { if(is_string($txt)) echo $txt; else { - print ""; + print "
      "; print "\n\n"; print "\n"; print "\n"; diff --git a/views/bootstrap/class.WorkflowSummary.php b/views/bootstrap/class.WorkflowSummary.php index cd871dd5d..4a41efab0 100644 --- a/views/bootstrap/class.WorkflowSummary.php +++ b/views/bootstrap/class.WorkflowSummary.php @@ -18,6 +18,11 @@ */ require_once("class.Bootstrap.php"); +/** + * Include class to preview documents + */ +require_once("SeedDMS/Preview.php"); + /** * Class which outputs the html page for WorkflowSummary view *
      ".getMLText("name")."