Merge branch 'seeddms-6.0.x' into seeddms-6.1.x

This commit is contained in:
Uwe Steinmann 2022-09-14 15:25:19 +02:00
commit bb080e8fb3
55 changed files with 725 additions and 286 deletions

View File

@ -12,6 +12,8 @@
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
- merge changes up to 5.1.27 - merge changes up to 5.1.27
- fix triggering workflow (Closes: #542) - fix triggering workflow (Closes: #542)
- create original file name from new document name when uploading document
from the library folder. Used to be the original file name
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 6.0.19 Changes in version 6.0.19
@ -256,6 +258,7 @@
is done is done
- fix sorting in search result - fix sorting in search result
- import of users can handle hidden and disabled flag - import of users can handle hidden and disabled flag
- image conversion falls back to gd library if imagick extension is not loaded
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 5.1.26 Changes in version 5.1.26

View File

@ -49,16 +49,19 @@ class SeedDMS_Controller_ViewOnline extends SeedDMS_Controller_Common {
*/ */
$this->params['content'] = $content; $this->params['content'] = $content;
if(null === $this->callHook('version')) { if(null === $this->callHook('version')) {
header("Content-Type: " . $content->getMimeType()); if(file_exists($dms->contentDir . $content->getPath())) {
$efilename = rawurlencode($content->getOriginalFileName()); header("Content-Type: " . $content->getMimeType());
if (!isset($settings->_viewOnlineFileTypes) || !is_array($settings->_viewOnlineFileTypes) || !in_array(strtolower($content->getFileType()), $settings->_viewOnlineFileTypes)) { $efilename = rawurlencode($content->getOriginalFileName());
header("Content-Disposition: attachment; filename=\"" . $efilename . "\"; filename*=UTF-8''".$efilename); if (!isset($settings->_viewOnlineFileTypes) || !is_array($settings->_viewOnlineFileTypes) || !in_array(strtolower($content->getFileType()), $settings->_viewOnlineFileTypes)) {
} else { header("Content-Disposition: attachment; filename=\"" . $efilename . "\"; filename*=UTF-8''".$efilename);
header("Content-Disposition: filename=\"" . $efilename . "\"; filename*=UTF-8''".$efilename); } else {
} header("Content-Disposition: filename=\"" . $efilename . "\"; filename*=UTF-8''".$efilename);
header("Cache-Control: must-revalidate"); }
header("Cache-Control: must-revalidate");
header("ETag: ".$content->getChecksum());
sendFile($dms->contentDir.$content->getPath()); sendFile($dms->contentDir.$content->getPath());
}
} }
break; break;
} }

58
doc/README.Ldap Normal file
View File

@ -0,0 +1,58 @@
Ldap configuration
===================
The configuration for authentication against an ldap server needs to be done
the settings.xml file using a text editor. It cannot be edited from within the
web gui.
SeedDMS supports ldap authentication using an Active Directory (AD) or a
regular ldap server, e.g. openldap
The location of the ldap server is specified in two parameters: 'host' and
'port'. 'host' can be either a plain hostname or an ldap URI, including the
protocol, the host and optionally the port, e.g. ldap://localhost:389. In case
of an URI the port in the configuration must remain empty.
The authentication itself is a two step process which differs, depending on how
to bind to the server. If the configuration sets 'bindDN' and 'bindPW', those
values will be used for a initial non anonymous bind to the ldap server
otherwise an anonymous bind is executed.
After the initial bind, a ldap search for either 'uid=<username>' (ldap) or
'sAMAccountName=<username>' (AD) below basedn is done. The purpose of this
search is to retrieve a working bindDN which is then used to actually
authenticate the user. In case of an anonymous first bind the search will
likely fail and the bindDN for the second bind will be either
'uid=<username>,<basedn>' (ldap) or '<username>@<accountDomainName>' (AD). If
the search succeeds the bindDN will be taken from the user's data in the ldap
server. This bindDN will be used for a second bind using the users password.
If the second bind succeeds the user could be successfully authenticated.
The data from the ldap server can be used to create an account in SeedDMS
if the user trying to login does not exist yet, but was able to authenticate.
This will only be done if 'authentication->restricted' in the configuration
is set to true. In that case the common name (cn) and email address is taken
from ldap. Existing accounts in SeedDMS will not be updated with data from
ldap.
Examples
---------
Anonymous bind to openldap on localhost, port 389
- type = "ldap"
- baseDN = "ou=users,dc=mycompany,dc=de"
- host = "ldap://localhost"
During authentication as user 'admin' the following steps are executed
1. connect to ldap server at localhost:389
2. do an anonymous bind
3. search for 'uid=admin' below basedn
4.1. if search succeeds use the dn from the user
4.2. if search fails use 'uid=admin,<basedn>' as dn
5. do a non anonymous bind with dn and password entered by user
6. if step 5. succeeds the use is authenticated
If bindDN and bindPW are specified in the configuration, the second step
will be a non anonymous bind.

30
doc/README.Mail Normal file
View File

@ -0,0 +1,30 @@
Mail configuration
===================
SeedDMS uses email to
* notify users about changes of documents and folders
* send instructions during the password forgotten process
Configuring email in SeedDMS is simple on systems running a
local mail server, because this is the default in SeedDMS and
no additional configuration is needed. On Linux you should
consider running a local mail server, which relais the mails
to your outgoing mail server. If you cannot run a local mail
server, you can still configure SeedDMS to use an outgoing
SMTP server. Below are some examples on how to configure
SeedDMS for different hosters.
1&1
---------
smtp server: ssl://smtp.1und1.de
smtp port: 465
Gmail
---------
smtp server: smtp.gmail.com
smtp port: 587
note: you have to turn on 'Less secure app access' in your google account,
otherwise you will not be able to send mail. It will quit with an error
complaining about wrong credentials

59
doc/README.ocr Normal file
View File

@ -0,0 +1,59 @@
OCR
====
SeedDMS itself has no support for optical character recognition (OCR)
because it does not care about the content of file. Though, external
OCR software can be used to convert an image into text and index it
by the full text search engine.
The following script can be use to convert a scanned image into pdf
with a text layer added. The script actually takes this file to
ran it through pdftotext. It was published in the seeddms forum
https://sourceforge.net/p/seeddms/discussion/general/thread/4ec5973d/
#!/bin/bash
inputpdf=$1
temp_folder=/tmp/seedinput/$(date +"%Y_%m_%d_%H%M%S")/
lockfile=/tmp/seed
protokolldatei=./tesser_syslog
cores=2
mkdir -p $lockfile
while [ -e "$lockfile"/"`basename $0`" ];
do
sleep 5
done
if ( set -o noclobber; echo "locked" > "$lockfile"/"`basename $0`"); then
trap 'rm -f "$lockfile"/"`basename $0`"; echo $(date) " Lockdatei wird geloescht: " $lockfile"/"`basename $0` Aufrufparameter: $* >> $protokolldatei ;rm -r $temp_folder; exit $?' INT TERM KILL EXIT
#das Datum mit dem Scriptnamen in die Protokolldatei schreiben
echo $(date) " Lockdatei erstellt: " $lockfile"/"`basename $0` >> $protokolldatei
else
#Script beenden falls Lockdatei nicht erstellt werden konnte
echo $(date) " Programm wird beendet, Lockdatei konnte nicht erstellt werden: $lockfile"/"`basename $0` Aufrufparameter: $* " >> $protokolldatei
exit 1
fi
mkdir -p $temp_folder
$(pdftotext -raw $1 - 1> $temp_folder''tmp.txt )
pdf_contents=`cat $temp_folder''tmp.txt`
pdf_contents=`echo "$pdf_contents" | tr -dc '[:print:]'`
if [ -z "$pdf_contents" ]; then
convert -density 300 -quality 95 $inputpdf +adjoin $temp_folder''image%03d.jpg
find $temp_folder -name '*.jpg'| parallel --gnu -j $cores tesseract -l deu --psm 6 {} {} pdf
num=`find $temp_folder -name '*.pdf'| wc -l`
if [ "$num" -gt "1" ]; then
pdfunite $temp_folder*.pdf $temp_folder''tmp.pdf
else
mv $temp_folder*.pdf $temp_folder''tmp.pdf
fi
pdftotext $temp_folder''tmp.pdf $temp_folder''tmp.txt
mv $temp_folder''tmp.pdf $1
fi
cat $temp_folder''tmp.txt

View File

@ -28,15 +28,15 @@ class SeedDMS_ConversionServiceImageToImage extends SeedDMS_ConversionServiceBas
*/ */
public $timeout; public $timeout;
public function __construct($from, $to) { public function __construct($from, $to) { /* {{{ */
$this->from = $from; $this->from = $from;
$this->to = $to; $this->to = $to;
$this->timeout = 5; $this->timeout = 5;
} } /* }}} */
public function getInfo() { public function getInfo() { /* {{{ */
return "Convert with imagick php functions"; return "Convert with imagick or gd php functions";
} } /* }}} */
public function getAdditionalParams() { /* {{{ */ public function getAdditionalParams() { /* {{{ */
return [ return [
@ -44,28 +44,68 @@ class SeedDMS_ConversionServiceImageToImage extends SeedDMS_ConversionServiceBas
]; ];
} /* }}} */ } /* }}} */
public function convert($infile, $target = null, $params = array()) { /**
* Convert a pixel image into png and scale it
*
* This method uses imagick and if not available falls back to the gd library.
*/
public function convert($infile, $target = null, $params = array()) { /* {{{ */
$start = microtime(true); $start = microtime(true);
$imagick = new Imagick(); if(extension_loaded('imagick')) {
try { $imagick = new Imagick();
if($imagick->readImage($infile)) { try {
if($imagick->readImage($infile)) {
if(!empty($params['width']))
$imagick->scaleImage(min((int) $params['width'], $imagick->getImageWidth()), 0);
$end = microtime(true);
if($this->logger) {
$this->logger->log('Conversion from '.$this->from.' to '.$this->to.' with imagick service took '.($end-$start).' sec.', PEAR_LOG_INFO);
}
if($target) {
return $imagick->writeImage($target);
} else {
return $imagick->getImageBlob();
}
}
} catch (ImagickException $e) {
return false;
}
} elseif(extension_loaded('gd')) {
$im = null;
switch($this->from) {
case 'image/jpeg':
case 'image/jpg':
$im = @imagecreatefromjpeg($infile);
break;
case 'image/png':
$im = @imagecreatefrompng($infile);
break;
case 'image/gif':
$im = @imagecreatefromgif($infile);
break;
}
if($im) {
$size = getimagesize($infile);
if(!empty($params['width'])) if(!empty($params['width']))
$imagick->scaleImage(min((int) $params['width'], $imagick->getImageWidth()), 0); $im = imagescale($im, min((int) $params['width'], $size[0]));
$end = microtime(true); $end = microtime(true);
if($this->logger) { if($this->logger) {
$this->logger->log('Conversion from '.$this->from.' to '.$this->to.' with image service took '.($end-$start).' sec.', PEAR_LOG_INFO); $this->logger->log('Conversion from '.$this->from.' to '.$this->to.' with gd image service took '.($end-$start).' sec.', PEAR_LOG_INFO);
} }
if($target) { if($target) {
return $imagick->writeImage($target); return imagepng($im, $target);
} else { } else {
return $imagick->getImageBlob(); ob_start();
var_dump(imagepng($im));
$image = ob_get_clean();
return $image;
} }
} else {
return false;
} }
} catch (ImagickException $e) {
return false;
} }
return false; return false;
} } /* }}} */
} }

View File

@ -23,13 +23,15 @@ if(!empty($settings->_converters['fulltext'])) {
if(extension_loaded('imagick')) { if(extension_loaded('imagick')) {
$conversionmgr->addService(new SeedDMS_ConversionServicePdfToImage('application/pdf', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServicePdfToImage('application/pdf', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/tiff', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/svg+xml', 'image/png'))->setLogger($logger);
}
if(extension_loaded('gd') || extension_loaded('imagick')) {
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpeg', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpeg', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/png', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/png', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpg', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpg', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/gif', 'image/png'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/gif', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/tiff', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/svg+xml', 'image/png'))->setLogger($logger);
} }
$conversionmgr->addService(new SeedDMS_ConversionServiceTextToText('text/plain', 'text/plain'))->setLogger($logger); $conversionmgr->addService(new SeedDMS_ConversionServiceTextToText('text/plain', 'text/plain'))->setLogger($logger);

View File

@ -367,6 +367,34 @@ function utf8_basename($path, $suffix='') { /* {{{ */
return $file; return $file;
} /* }}} */ } /* }}} */
/**
* Return a valid file name
*
* This function returns a valid file name for the given document content
* or an arbitrary string. If a document content is given the name of
* the document will be used. The extension of the file name will be
* either taken from the document name or the original file. If the two
* differ the extension from the original file name will be used.
*
* @param object|string $content document content or an arbitrary string
* @return string valid file name
*/
function getFilenameByDocname($content) { /* {{{ */
if(is_string) {
$filename = $content;
} else {
$document = $content->getDocument();
$ext = pathinfo($document->getName(), PATHINFO_EXTENSION);
$oext = pathinfo($content->getOriginalFileName(), PATHINFO_EXTENSION);
if($ext == $oext)
$filename = $document->getName();
else {
$filename = $document->getName().'.'.$oext;
}
}
return mb_ereg_replace("([^\w\s\d\-_~,;\[\]\(\).])", '', $filename);
} /* }}} */
function getLogger($prefix='') { /* {{{ */ function getLogger($prefix='') { /* {{{ */
global $settings; global $settings;

View File

@ -1,42 +1,42 @@
<?php <?php
// MyDMS. Document Management System // MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal // Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe // Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli // Copyright (C) 2010 Matteo Lucarelli
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php"); include("../inc/inc.Settings.php");
include("../inc/inc.AccessUtils.php"); include("../inc/inc.AccessUtils.php");
include("../inc/inc.ClassAccess.php"); include("../inc/inc.ClassAccess.php");
include("../inc/inc.ClassDocument.php"); include("../inc/inc.ClassDocument.php");
include("../inc/inc.ClassFolder.php"); include("../inc/inc.ClassFolder.php");
include("../inc/inc.ClassGroup.php"); include("../inc/inc.ClassGroup.php");
include("../inc/inc.ClassUser.php"); include("../inc/inc.ClassUser.php");
include("../inc/inc.DBAccess.php"); include("../inc/inc.DBAccess.php");
include("../inc/inc.FileUtils.php"); include("../inc/inc.FileUtils.php");
include("../inc/inc.Authentication.php"); include("../inc/inc.Authentication.php");
print "<html></body>"; print "<html></body>";
if (!$user->isAdmin()) { if (!$user->isAdmin()) {
print "<b>ERROR: You must be administrator to execute the update</b>"; print "<b>ERROR: You must be administrator to execute the update</b>";
die; die;
} }
function update_content() function update_content()
{ {
GLOBAL $db,$settings; GLOBAL $db,$settings;
@ -45,7 +45,7 @@ function update_content()
if (!makedir($settings->_contentDir."/temp")) return false; if (!makedir($settings->_contentDir."/temp")) return false;
// for all contents // for all contents
$queryStr = "SELECT * FROM tblDocumentContent"; $queryStr = "SELECT * FROM tblDocumentContent";
$contents = $db->getResultArray($queryStr); $contents = $db->getResultArray($queryStr);
if (is_bool($contents)&&!$contents) return false; if (is_bool($contents)&&!$contents) return false;
@ -75,7 +75,7 @@ function update_db()
GLOBAL $db,$settings; GLOBAL $db,$settings;
// for all contents // for all contents
$queryStr = "SELECT * FROM tblDocumentContent"; $queryStr = "SELECT * FROM tblDocumentContent";
$contents = $db->getResultArray($queryStr); $contents = $db->getResultArray($queryStr);
if (is_bool($contents)&&!$contents) return false; if (is_bool($contents)&&!$contents) return false;
@ -100,25 +100,24 @@ function update_db()
if (!$db->getResult($queryStr)) return false; if (!$db->getResult($queryStr)) return false;
return true; return true;
} }
print "<b>Updating ...please wait</b><br>"; print "<b>Updating ...please wait</b><br>";
if (!update_content()) { if (!update_content()) {
print "<b>ERROR: An error occurred during the directory reordering</b>"; print "<b>ERROR: An error occurred during the directory reordering</b>";
die; die;
} }
if (!update_db()) { if (!update_db()) {
print "<b>ERROR: An error occurred during the DB update</b>"; print "<b>ERROR: An error occurred during the DB update</b>";
print "<br><b>Please try to execute the update.sql manually</b>"; print "<br><b>Please try to execute the update.sql manually</b>";
die; die;
} }
print "<b>Update done</b><br>"; print "<b>Update done</b><br>";
print "</body></html>"; print "</body></html>";
?>

View File

@ -1,33 +1,33 @@
-- mysql -uroot -ppassword mydms < update.sql -- mysql -uroot -ppassword mydms < update.sql
-- this script must be executed when updating form a version < 1.8.1 -- this script must be executed when updating form a version < 1.8.1
-- -------------------------------------------------------- -- --------------------------------------------------------
-- --
-- New table for document-related files -- New table for document-related files
-- --
CREATE TABLE `tblDocumentFiles` ( CREATE TABLE `tblDocumentFiles` (
`id` int(11) NOT NULL auto_increment, `id` int(11) NOT NULL auto_increment,
`document` int(11) NOT NULL default '0', `document` int(11) NOT NULL default '0',
`userID` int(11) NOT NULL default '0', `userID` int(11) NOT NULL default '0',
`comment` text, `comment` text,
`name` varchar(150) default NULL, `name` varchar(150) default NULL,
`date` int(12) default NULL, `date` int(12) default NULL,
`dir` varchar(255) NOT NULL default '', `dir` varchar(255) NOT NULL default '',
`orgFileName` varchar(150) NOT NULL default '', `orgFileName` varchar(150) NOT NULL default '',
`fileType` varchar(10) NOT NULL default '', `fileType` varchar(10) NOT NULL default '',
`mimeType` varchar(70) NOT NULL default '', `mimeType` varchar(70) NOT NULL default '',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ; ) Engine=MyISAM ;
-- -------------------------------------------------------- -- --------------------------------------------------------
-- --
-- Not longer required by new filesystem structure -- Not longer required by new filesystem structure
-- --
DROP TABLE `tblDirPath`; DROP TABLE `tblDirPath`;
DROP TABLE `tblPathList`; DROP TABLE `tblPathList`;

View File

@ -1,39 +1,39 @@
<?php <?php
// MyDMS. Document Management System // MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal // Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe // Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli // Copyright (C) 2010 Matteo Lucarelli
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php"); include("../inc/inc.Settings.php");
include("../inc/inc.AccessUtils.php"); include("../inc/inc.AccessUtils.php");
include("../inc/inc.ClassAccess.php"); include("../inc/inc.ClassAccess.php");
include("../inc/inc.ClassDocument.php"); include("../inc/inc.ClassDocument.php");
include("../inc/inc.ClassFolder.php"); include("../inc/inc.ClassFolder.php");
include("../inc/inc.ClassGroup.php"); include("../inc/inc.ClassGroup.php");
include("../inc/inc.ClassUser.php"); include("../inc/inc.ClassUser.php");
include("../inc/inc.DBAccess.php"); include("../inc/inc.DBAccess.php");
include("../inc/inc.FileUtils.php"); include("../inc/inc.FileUtils.php");
include("../inc/inc.Authentication.php"); include("../inc/inc.Authentication.php");
print "<html></body>"; print "<html></body>";
if (!$user->isAdmin()) { if (!$user->isAdmin()) {
print "<b>ERROR: You must be administrator to execute the update</b>"; print "<b>ERROR: You must be administrator to execute the update</b>";
die; die;
} }
function update_db() function update_db()
@ -52,22 +52,21 @@ function update_db()
if (!$db->getResult($queryStr)) return false; if (!$db->getResult($queryStr)) return false;
return true; return true;
} }
print "<b>Updating ...please wait</b><br>"; print "<b>Updating ...please wait</b><br>";
print "<pre>"; print "<pre>";
if (!update_db()) { if (!update_db()) {
print "</pre>"; print "</pre>";
print "<b>ERROR: An error occurred during the DB update</b>"; print "<b>ERROR: An error occurred during the DB update</b>";
print "<br><b>Please try to execute the update.sql manually</b>"; print "<br><b>Please try to execute the update.sql manually</b>";
die; die;
}else print "</pre><b>Update done</b><br>"; }else print "</pre><b>Update done</b><br>";
print "</body></html>"; print "</body></html>";
?>

View File

@ -1,10 +1,10 @@
-- mysql -uyouruser -pyourpassword yourdb < update.sql -- mysql -uyouruser -pyourpassword yourdb < update.sql
-- this script must be executed when updating form a version < 1.9 -- this script must be executed when updating form a version < 1.9
-- -------------------------------------------------------- -- --------------------------------------------------------
-- --
-- New field for hidden users -- New field for hidden users
-- --
ALTER TABLE `tblUsers` ADD `hidden` smallint(1) NOT NULL default '0' ; ALTER TABLE `tblUsers` ADD `hidden` smallint(1) NOT NULL default '0' ;
@ -12,27 +12,27 @@ ALTER TABLE `tblUsers` ADD `hidden` smallint(1) NOT NULL default '0' ;
-- --
-- New field for group manager permission -- New field for group manager permission
-- --
ALTER TABLE `tblGroupMembers` ADD `manager` smallint(1) NOT NULL default '0' ;
-- ALTER TABLE `tblGroupMembers` ADD `manager` smallint(1) NOT NULL default '0' ;
-- Table structure for mandatory reviewers
--
CREATE TABLE `tblMandatoryReviewers` (
`userID` int(11) NOT NULL default '0',
`reviewerUserID` int(11) NOT NULL default '0',
`reviewerGroupID` int(11) NOT NULL default '0',
PRIMARY KEY (`userID`,`reviewerUserID`,`reviewerGroupID`)
) ;
-- --
-- Table structure for mandatory approvers -- Table structure for mandatory reviewers
-- --
CREATE TABLE `tblMandatoryApprovers` ( CREATE TABLE `tblMandatoryReviewers` (
`userID` int(11) NOT NULL default '0', `userID` int(11) NOT NULL default '0',
`approverUserID` int(11) NOT NULL default '0', `reviewerUserID` int(11) NOT NULL default '0',
`approverGroupID` int(11) NOT NULL default '0', `reviewerGroupID` int(11) NOT NULL default '0',
PRIMARY KEY (`userID`,`approverUserID`,`approverGroupID`) PRIMARY KEY (`userID`,`reviewerUserID`,`reviewerGroupID`)
) ; ) Engine=MyISAM ;
--
-- Table structure for mandatory approvers
--
CREATE TABLE `tblMandatoryApprovers` (
`userID` int(11) NOT NULL default '0',
`approverUserID` int(11) NOT NULL default '0',
`approverGroupID` int(11) NOT NULL default '0',
PRIMARY KEY (`userID`,`approverUserID`,`approverGroupID`)
) Engine=MyISAM ;

View File

@ -1,39 +1,39 @@
<?php <?php
// MyDMS. Document Management System // MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal // Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe // Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli // Copyright (C) 2010 Matteo Lucarelli
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php"); include("../inc/inc.Settings.php");
include("../inc/inc.AccessUtils.php"); include("../inc/inc.AccessUtils.php");
include("../inc/inc.ClassAccess.php"); include("../inc/inc.ClassAccess.php");
include("../inc/inc.ClassDocument.php"); include("../inc/inc.ClassDocument.php");
include("../inc/inc.ClassFolder.php"); include("../inc/inc.ClassFolder.php");
include("../inc/inc.ClassGroup.php"); include("../inc/inc.ClassGroup.php");
include("../inc/inc.ClassUser.php"); include("../inc/inc.ClassUser.php");
include("../inc/inc.DBAccess.php"); include("../inc/inc.DBAccess.php");
include("../inc/inc.FileUtils.php"); include("../inc/inc.FileUtils.php");
include("../inc/inc.Authentication.php"); include("../inc/inc.Authentication.php");
print "<html></body>"; print "<html></body>";
if (!$user->isAdmin()) { if (!$user->isAdmin()) {
print "<b>ERROR: You must be administrator to execute the update</b>"; print "<b>ERROR: You must be administrator to execute the update</b>";
die; die;
} }
function update_db() function update_db()
@ -52,22 +52,20 @@ function update_db()
if (!$db->getResult($queryStr)) return false; if (!$db->getResult($queryStr)) return false;
return true; return true;
} }
print "<b>Updating ...please wait</b><br>"; print "<b>Updating ...please wait</b><br>";
print "<pre>"; print "<pre>";
if (!update_db()) { if (!update_db()) {
print "</pre>"; print "</pre>";
print "<b>ERROR: An error occurred during the DB update</b>"; print "<b>ERROR: An error occurred during the DB update</b>";
print "<br><b>Please try to execute the update.sql manually</b>"; print "<br><b>Please try to execute the update.sql manually</b>";
die; die;
}else print "</pre><b>Update done</b><br>"; }else print "</pre><b>Update done</b><br>";
print "</body></html>"; print "</body></html>";
?>

View File

@ -20,9 +20,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
function check($doupdate=0) { /* {{{ */ function check($db, $doupdate=0) { /* {{{ */
global $db, $settings;
$arr = array(); $arr = array();
$arr['tblDocuments'] = array('key'=>'id', 'fields'=>array('name', 'comment', 'keywords')); $arr['tblDocuments'] = array('key'=>'id', 'fields'=>array('name', 'comment', 'keywords'));
$arr['tblDocumentFiles'] = array('key'=>'id', 'fields'=>array('name', 'comment', 'mimeType')); $arr['tblDocumentFiles'] = array('key'=>'id', 'fields'=>array('name', 'comment', 'mimeType'));
@ -91,7 +89,7 @@ else
$doupdate = 0; $doupdate = 0;
$doupdate = 1; $doupdate = 1;
if (!check($doupdate)) { if (!check($db, $doupdate)) {
print "<p>Update failed</p>"; print "<p>Update failed</p>";
} }

View File

@ -222,6 +222,7 @@ URL: [url]',
'backup_tools' => 'أدوات النسخ الاحتياطية', 'backup_tools' => 'أدوات النسخ الاحتياطية',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'بين', 'between' => 'بين',
'bg_BG' => 'بلغارية', 'bg_BG' => 'بلغارية',
@ -301,6 +302,7 @@ URL: [url]',
'comment_changed_email' => 'تعليق تغيير البريد الإلكتروني', 'comment_changed_email' => 'تعليق تغيير البريد الإلكتروني',
'comment_for_current_version' => 'تعليق على الاصدار', 'comment_for_current_version' => 'تعليق على الاصدار',
'configure_extension' => 'تعديل', 'configure_extension' => 'تعديل',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'تعديل مسح المحفوظات', 'confirm_clear_cache' => 'تعديل مسح المحفوظات',
'confirm_create_fulltext_index' => 'نعم: اود اعادة انشاء فهرس للنص الكامل !', 'confirm_create_fulltext_index' => 'نعم: اود اعادة انشاء فهرس للنص الكامل !',
'confirm_move_document' => 'تاكيد نقل الملف', 'confirm_move_document' => 'تاكيد نقل الملف',
@ -861,6 +863,8 @@ URL: [url]',
'mandatory_reviewers' => 'مراجعين اجباريين', 'mandatory_reviewers' => 'مراجعين اجباريين',
'mandatory_reviewer_no_access' => 'ممنوع دخول المراجع الإجباري', 'mandatory_reviewer_no_access' => 'ممنوع دخول المراجع الإجباري',
'march' => 'مارس', 'march' => 'مارس',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'الحجم الاقصى للملف', 'max_upload_size' => 'الحجم الاقصى للملف',
'may' => 'مايو', 'may' => 'مايو',
'menu_dropfolder' => 'صفحة المجلد', 'menu_dropfolder' => 'صفحة المجلد',

View File

@ -205,6 +205,7 @@ $text = array(
'backup_tools' => 'Иструменти за бекъп', 'backup_tools' => 'Иструменти за бекъп',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'между', 'between' => 'между',
'bg_BG' => 'Български', 'bg_BG' => 'Български',
@ -284,6 +285,7 @@ $text = array(
'comment_changed_email' => 'Коментарите са изменени', 'comment_changed_email' => 'Коментарите са изменени',
'comment_for_current_version' => 'Коментар за версията', 'comment_for_current_version' => 'Коментар за версията',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => 'Да, пресъздай пълнотекстов индекс!', 'confirm_create_fulltext_index' => 'Да, пресъздай пълнотекстов индекс!',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -790,6 +792,8 @@ $text = array(
'mandatory_reviewers' => '', 'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '', 'mandatory_reviewer_no_access' => '',
'march' => 'март', 'march' => 'март',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Лимит за размер на файла', 'max_upload_size' => 'Лимит за размер на файла',
'may' => 'май', 'may' => 'май',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -210,6 +210,7 @@ URL: [url]',
'backup_tools' => 'Eines de còpia de seguretat', 'backup_tools' => 'Eines de còpia de seguretat',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'entre', 'between' => 'entre',
'bg_BG' => 'Búlgar', 'bg_BG' => 'Búlgar',
@ -289,6 +290,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Comentari de la versió actual', 'comment_for_current_version' => 'Comentari de la versió actual',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => '', 'confirm_create_fulltext_index' => '',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -795,6 +797,8 @@ URL: [url]',
'mandatory_reviewers' => '', 'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '', 'mandatory_reviewer_no_access' => '',
'march' => 'Març', 'march' => 'Març',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Mida màxima de pujada de cada fitxer', 'max_upload_size' => 'Mida màxima de pujada de cada fitxer',
'may' => 'Maig', 'may' => 'Maig',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -234,6 +234,7 @@ URL: [url]',
'backup_tools' => 'Nástroje pro zálohování', 'backup_tools' => 'Nástroje pro zálohování',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'mezi', 'between' => 'mezi',
'bg_BG' => 'Bulharština', 'bg_BG' => 'Bulharština',
@ -313,6 +314,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Komentář k aktuální verzi', 'comment_for_current_version' => 'Komentář k aktuální verzi',
'configure_extension' => 'Konfigurovat rozšíření', 'configure_extension' => 'Konfigurovat rozšíření',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Chtěli byste vyčistit mezipaměť? Tím se odstraní všechny předběžně vygenerované náhledy.', 'confirm_clear_cache' => 'Chtěli byste vyčistit mezipaměť? Tím se odstraní všechny předběžně vygenerované náhledy.',
'confirm_create_fulltext_index' => 'Ano, chci znovu vytvořit fulltext index!', 'confirm_create_fulltext_index' => 'Ano, chci znovu vytvořit fulltext index!',
'confirm_move_document' => 'Potvrďte přesunutí dokumentu.', 'confirm_move_document' => 'Potvrďte přesunutí dokumentu.',
@ -892,6 +894,8 @@ URL: [url]',
'mandatory_reviewers' => 'Stanovení recenzenti', 'mandatory_reviewers' => 'Stanovení recenzenti',
'mandatory_reviewer_no_access' => 'Stanovený recenzent \'[user]\' má nedostatečná přístupová práva.', 'mandatory_reviewer_no_access' => 'Stanovený recenzent \'[user]\' má nedostatečná přístupová práva.',
'march' => 'Březen', 'march' => 'Březen',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Max. délka pro nahrání jednoho souboru', 'max_upload_size' => 'Max. délka pro nahrání jednoho souboru',
'may' => 'Květen', 'may' => 'Květen',
'menu_dropfolder' => 'Vhazovací složka', 'menu_dropfolder' => 'Vhazovací složka',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (3119), dgrutsch (22) // Translators: Admin (3123), dgrutsch (22)
$text = array( $text = array(
'2_factor_auth' => '2-Faktor Authentifizierung', '2_factor_auth' => '2-Faktor Authentifizierung',
@ -273,6 +273,7 @@ URL: [url]</p>',
'backup_tools' => 'Backup tools', 'backup_tools' => 'Backup tools',
'batch_change_owner' => 'Besitzer ändern', 'batch_change_owner' => 'Besitzer ändern',
'batch_new_owner_msg' => 'Der Besitzer von [count] Dokuments wurde geändert.', 'batch_new_owner_msg' => 'Der Besitzer von [count] Dokuments wurde geändert.',
'batch_operation' => 'Massenoperation',
'batch_operation_result' => 'Ergebnis der Massenoperation', 'batch_operation_result' => 'Ergebnis der Massenoperation',
'between' => 'zwischen', 'between' => 'zwischen',
'bg_BG' => 'Bulgarisch', 'bg_BG' => 'Bulgarisch',
@ -352,6 +353,7 @@ URL: [url]</p>',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Kommentar zur aktuellen Version', 'comment_for_current_version' => 'Kommentar zur aktuellen Version',
'configure_extension' => 'Erweiterung konfigurieren', 'configure_extension' => 'Erweiterung konfigurieren',
'confirm_change_owner' => 'Bitte bestätigen Sie den Besitzerwechsel der ausgewählten Objekte.',
'confirm_clear_cache' => 'Wollen Sie wirklich den Cache löschen? Dies entfernt alle vorberechneten Vorschaubilder, Javascript und andere Dateien.', 'confirm_clear_cache' => 'Wollen Sie wirklich den Cache löschen? Dies entfernt alle vorberechneten Vorschaubilder, Javascript und andere Dateien.',
'confirm_create_fulltext_index' => 'Ja, Ich möchte den Volltext-Index neu erzeugen!.', 'confirm_create_fulltext_index' => 'Ja, Ich möchte den Volltext-Index neu erzeugen!.',
'confirm_move_document' => 'Dokument wirklich verschieben?', 'confirm_move_document' => 'Dokument wirklich verschieben?',
@ -1035,6 +1037,8 @@ URL: [url]</p>',
'mandatory_reviewers' => 'Zwingende Prüfer', 'mandatory_reviewers' => 'Zwingende Prüfer',
'mandatory_reviewer_no_access' => 'Zwingender Prüfer \'[user]\' hat nicht ausreichende Zugriffsrechte.', 'mandatory_reviewer_no_access' => 'Zwingender Prüfer \'[user]\' hat nicht ausreichende Zugriffsrechte.',
'march' => 'März', 'march' => 'März',
'mark_document' => 'Dokument für Massenoperation auswählen',
'mark_folder' => 'Ordner für Massenoperation auswählen',
'max_upload_size' => 'Maximale Dateigröße', 'max_upload_size' => 'Maximale Dateigröße',
'may' => 'Mai', 'may' => 'Mai',
'menu_dropfolder' => 'Ablageordner', 'menu_dropfolder' => 'Ablageordner',

View File

@ -205,6 +205,7 @@ $text = array(
'backup_tools' => 'Εργαλεία εφεδρικής καταγραφής', 'backup_tools' => 'Εργαλεία εφεδρικής καταγραφής',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'μεταξύ', 'between' => 'μεταξύ',
'bg_BG' => 'Βουλγάρικα', 'bg_BG' => 'Βουλγάρικα',
@ -284,6 +285,7 @@ $text = array(
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'τρέχουσα έκδοση', 'comment_for_current_version' => 'τρέχουσα έκδοση',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => 'Ναι, Θα ήθελα την επαναδημιουργία των δεικτών πλήρους κειμένου', 'confirm_create_fulltext_index' => 'Ναι, Θα ήθελα την επαναδημιουργία των δεικτών πλήρους κειμένου',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -790,6 +792,8 @@ $text = array(
'mandatory_reviewers' => '', 'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '', 'mandatory_reviewer_no_access' => '',
'march' => 'Μάρτιος', 'march' => 'Μάρτιος',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Μέγιστο μέγεθος μεταφόρτωσης', 'max_upload_size' => 'Μέγιστο μέγεθος μεταφόρτωσης',
'may' => 'Μάϊος', 'may' => 'Μάϊος',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (2213), archonwang (3), dgrutsch (9), netixw (14) // Translators: Admin (2217), archonwang (3), dgrutsch (9), netixw (14)
$text = array( $text = array(
'2_factor_auth' => '2-factor authentication', '2_factor_auth' => '2-factor authentication',
@ -273,6 +273,7 @@ URL: [url]</p>',
'backup_tools' => 'Backup tools', 'backup_tools' => 'Backup tools',
'batch_change_owner' => 'Change owner', 'batch_change_owner' => 'Change owner',
'batch_new_owner_msg' => 'The owner of [count] documents has been changed.', 'batch_new_owner_msg' => 'The owner of [count] documents has been changed.',
'batch_operation' => 'Batch operation',
'batch_operation_result' => 'Result of batch operation', 'batch_operation_result' => 'Result of batch operation',
'between' => 'between', 'between' => 'between',
'bg_BG' => 'Bulgarian', 'bg_BG' => 'Bulgarian',
@ -352,6 +353,7 @@ URL: [url]</p>',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Version comment', 'comment_for_current_version' => 'Version comment',
'configure_extension' => 'Configure extension', 'configure_extension' => 'Configure extension',
'confirm_change_owner' => 'Please confirm changing the owner of the selected objects.',
'confirm_clear_cache' => 'Would you really like to clear the cache? This will remove all precalculated preview images, javascript and other files.', 'confirm_clear_cache' => 'Would you really like to clear the cache? This will remove all precalculated preview images, javascript and other files.',
'confirm_create_fulltext_index' => 'Yes, I would like to recreate the fulltext index!', 'confirm_create_fulltext_index' => 'Yes, I would like to recreate the fulltext index!',
'confirm_move_document' => 'Please confirm moving the document.', 'confirm_move_document' => 'Please confirm moving the document.',
@ -1036,6 +1038,8 @@ URL: [url]</p>',
'mandatory_reviewers' => 'Mandatory reviewers', 'mandatory_reviewers' => 'Mandatory reviewers',
'mandatory_reviewer_no_access' => 'Mandatory reviewer \'[user]\' has insufficient access rights.', 'mandatory_reviewer_no_access' => 'Mandatory reviewer \'[user]\' has insufficient access rights.',
'march' => 'March', 'march' => 'March',
'mark_document' => 'Mark document for batch operation',
'mark_folder' => 'Mark folder for batch operation',
'max_upload_size' => 'Maximum upload size', 'max_upload_size' => 'Maximum upload size',
'may' => 'May', 'may' => 'May',
'menu_dropfolder' => 'Drop folder', 'menu_dropfolder' => 'Drop folder',

View File

@ -229,6 +229,7 @@ URL: [url]',
'backup_tools' => 'Herramientas de copia de seguridad', 'backup_tools' => 'Herramientas de copia de seguridad',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'entre', 'between' => 'entre',
'bg_BG' => 'Búlgaro', 'bg_BG' => 'Búlgaro',
@ -308,6 +309,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Comentario de la versión actual', 'comment_for_current_version' => 'Comentario de la versión actual',
'configure_extension' => 'Configurar extensión', 'configure_extension' => 'Configurar extensión',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => '¡Sí, quiero regenerar el índice te texto completo¡', 'confirm_create_fulltext_index' => '¡Sí, quiero regenerar el índice te texto completo¡',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -880,6 +882,8 @@ URL: [url]',
'mandatory_reviewers' => 'Revisores obligatorios', 'mandatory_reviewers' => 'Revisores obligatorios',
'mandatory_reviewer_no_access' => 'El revisor obligatorio \'[user]\' no tiene suficiente nivel de acceso.', 'mandatory_reviewer_no_access' => 'El revisor obligatorio \'[user]\' no tiene suficiente nivel de acceso.',
'march' => 'Marzo', 'march' => 'Marzo',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Tamaño máximo de subida para cada fichero', 'max_upload_size' => 'Tamaño máximo de subida para cada fichero',
'may' => 'Mayo', 'may' => 'Mayo',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -263,6 +263,7 @@ URL : [url]</p>',
'backup_tools' => 'Outils de sauvegarde', 'backup_tools' => 'Outils de sauvegarde',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'entre', 'between' => 'entre',
'bg_BG' => 'Bulgare', 'bg_BG' => 'Bulgare',
@ -342,6 +343,7 @@ URL : [url]</p>',
'comment_changed_email' => 'Commentaire lors du changement d\'adresse mail', 'comment_changed_email' => 'Commentaire lors du changement d\'adresse mail',
'comment_for_current_version' => 'Commentaires pour la version actuelle', 'comment_for_current_version' => 'Commentaires pour la version actuelle',
'configure_extension' => 'Configurer lextension', 'configure_extension' => 'Configurer lextension',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Voulez-vous vraiment vider le cache ? Cela va effacer toutes les miniatures.', 'confirm_clear_cache' => 'Voulez-vous vraiment vider le cache ? Cela va effacer toutes les miniatures.',
'confirm_create_fulltext_index' => 'Oui, je souhaite recréer l\'index de recherche plein texte !', 'confirm_create_fulltext_index' => 'Oui, je souhaite recréer l\'index de recherche plein texte !',
'confirm_move_document' => 'Veuillez confirmer le déplacement du document.', 'confirm_move_document' => 'Veuillez confirmer le déplacement du document.',
@ -1022,6 +1024,8 @@ URL : [url]</p>',
'mandatory_reviewers' => 'Examinateurs', 'mandatory_reviewers' => 'Examinateurs',
'mandatory_reviewer_no_access' => 'Examinateur \'[user]\' ne dispose pas des droits suffisants', 'mandatory_reviewer_no_access' => 'Examinateur \'[user]\' ne dispose pas des droits suffisants',
'march' => 'Mars', 'march' => 'Mars',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Taille maximum de fichier déposé', 'max_upload_size' => 'Taille maximum de fichier déposé',
'may' => 'Mai', 'may' => 'Mai',
'menu_dropfolder' => 'Dossier de dépôt', 'menu_dropfolder' => 'Dossier de dépôt',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
// Translators: Admin (1248), marbanas (16) // Translators: Admin (1249), marbanas (16)
$text = array( $text = array(
'2_factor_auth' => '', '2_factor_auth' => '',
@ -234,6 +234,7 @@ Internet poveznica: [url]',
'backup_tools' => 'Alat za sigurnosnu kopiju', 'backup_tools' => 'Alat za sigurnosnu kopiju',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'između', 'between' => 'između',
'bg_BG' => 'Bugarski', 'bg_BG' => 'Bugarski',
@ -313,6 +314,7 @@ Internet poveznica: [url]',
'comment_changed_email' => 'Promjena komentara', 'comment_changed_email' => 'Promjena komentara',
'comment_for_current_version' => 'Verzija komentara', 'comment_for_current_version' => 'Verzija komentara',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => 'Da, želim ponovo indeksirati cijeli tekst!', 'confirm_create_fulltext_index' => 'Da, želim ponovo indeksirati cijeli tekst!',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -727,7 +729,7 @@ Internet poveznica: [url]',
'hu_HU' => 'Mađarski', 'hu_HU' => 'Mađarski',
'id' => 'ID', 'id' => 'ID',
'identical_version' => 'Nova verzija je identična trenutnoj verziji.', 'identical_version' => 'Nova verzija je identična trenutnoj verziji.',
'id_ID' => '', 'id_ID' => 'Indonezija',
'import' => '', 'import' => '',
'importfs' => '', 'importfs' => '',
'import_extension' => '', 'import_extension' => '',
@ -873,6 +875,8 @@ Internet poveznica: [url]',
'mandatory_reviewers' => 'Obavezni recezenti', 'mandatory_reviewers' => 'Obavezni recezenti',
'mandatory_reviewer_no_access' => 'Recezenti \'[user]\' nemaju dovoljno prava pristupa.', 'mandatory_reviewer_no_access' => 'Recezenti \'[user]\' nemaju dovoljno prava pristupa.',
'march' => 'Ožujak', 'march' => 'Ožujak',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Max. veličina za prijenos', 'max_upload_size' => 'Max. veličina za prijenos',
'may' => 'Svibanj', 'may' => 'Svibanj',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -229,6 +229,7 @@ URL: [url]',
'backup_tools' => 'Mentő eszközök', 'backup_tools' => 'Mentő eszközök',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'között', 'between' => 'között',
'bg_BG' => 'Bulgár', 'bg_BG' => 'Bulgár',
@ -308,6 +309,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Megjegyzés az aktuális verzióhoz', 'comment_for_current_version' => 'Megjegyzés az aktuális verzióhoz',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => 'Igen, szeretném újra létrehozni a teljes szöveg indexet!', 'confirm_create_fulltext_index' => 'Igen, szeretném újra létrehozni a teljes szöveg indexet!',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -868,6 +870,8 @@ URL: [url]',
'mandatory_reviewers' => 'Kötelező felülvizsgálók', 'mandatory_reviewers' => 'Kötelező felülvizsgálók',
'mandatory_reviewer_no_access' => 'Kötelező felülvizsgáló \'[user]\' nem rendelkezik elegendő jogosultságokkal.', 'mandatory_reviewer_no_access' => 'Kötelező felülvizsgáló \'[user]\' nem rendelkezik elegendő jogosultságokkal.',
'march' => 'Március', 'march' => 'Március',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Legnagyobb feltölthető méret', 'max_upload_size' => 'Legnagyobb feltölthető méret',
'may' => 'Május', 'may' => 'Május',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -243,6 +243,7 @@ URL: [url]</p>',
'backup_tools' => 'Alat cadangan', 'backup_tools' => 'Alat cadangan',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => '', 'between' => '',
'bg_BG' => 'Bulgaria', 'bg_BG' => 'Bulgaria',
@ -322,6 +323,7 @@ URL: [url]</p>',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Komentar versi', 'comment_for_current_version' => 'Komentar versi',
'configure_extension' => 'Konfigurasi ekstensi', 'configure_extension' => 'Konfigurasi ekstensi',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => 'Ya, saya ingin membuat ulang indeks teks secara lengkap!', 'confirm_create_fulltext_index' => 'Ya, saya ingin membuat ulang indeks teks secara lengkap!',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -924,6 +926,8 @@ URL: [url]</p>',
'mandatory_reviewers' => '', 'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => 'Mandatory reviewer \'[user]\' memiliki hak akses yang tidak memadai.', 'mandatory_reviewer_no_access' => 'Mandatory reviewer \'[user]\' memiliki hak akses yang tidak memadai.',
'march' => 'Maret', 'march' => 'Maret',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Ukuran maksimum unggahan', 'max_upload_size' => 'Ukuran maksimum unggahan',
'may' => 'Mei', 'may' => 'Mei',
'menu_dropfolder' => 'Seret folder', 'menu_dropfolder' => 'Seret folder',

View File

@ -234,6 +234,7 @@ URL: [url]',
'backup_tools' => 'Strumenti di backup', 'backup_tools' => 'Strumenti di backup',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'tra', 'between' => 'tra',
'bg_BG' => 'Bulgaro', 'bg_BG' => 'Bulgaro',
@ -313,6 +314,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Commento per la versione', 'comment_for_current_version' => 'Commento per la versione',
'configure_extension' => 'Configura estensione', 'configure_extension' => 'Configura estensione',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Vuoi davvero cancellare la cache? Questo eliminerà tutte le immagini di anteprima precalcolate.', 'confirm_clear_cache' => 'Vuoi davvero cancellare la cache? Questo eliminerà tutte le immagini di anteprima precalcolate.',
'confirm_create_fulltext_index' => 'Sì, desidero ricreare l\'indice fulltext!', 'confirm_create_fulltext_index' => 'Sì, desidero ricreare l\'indice fulltext!',
'confirm_move_document' => 'Conferma lo spostamento del documento.', 'confirm_move_document' => 'Conferma lo spostamento del documento.',
@ -878,6 +880,8 @@ URL: [url]',
'mandatory_reviewers' => 'Revisori necessari', 'mandatory_reviewers' => 'Revisori necessari',
'mandatory_reviewer_no_access' => 'Il revisore necessario \'[user]\' non ha sufficienti permessi d\'accesso.', 'mandatory_reviewer_no_access' => 'Il revisore necessario \'[user]\' non ha sufficienti permessi d\'accesso.',
'march' => 'Marzo', 'march' => 'Marzo',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Dimensione massima caricabile per ogni file', 'max_upload_size' => 'Dimensione massima caricabile per ogni file',
'may' => 'Maggio', 'may' => 'Maggio',
'menu_dropfolder' => 'Cartella di pubblicazione', 'menu_dropfolder' => 'Cartella di pubblicazione',

View File

@ -236,6 +236,7 @@ URL: [url]',
'backup_tools' => '백업 도구', 'backup_tools' => '백업 도구',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => '사이', 'between' => '사이',
'bg_BG' => '불가리아', 'bg_BG' => '불가리아',
@ -315,6 +316,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => '버전 주석', 'comment_for_current_version' => '버전 주석',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => '예, 전체 텍스트 인덱스를 다시 만들고 싶습니다!', 'confirm_create_fulltext_index' => '예, 전체 텍스트 인덱스를 다시 만들고 싶습니다!',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -874,6 +876,8 @@ URL: [url]',
'mandatory_reviewers' => '필수 검토자', 'mandatory_reviewers' => '필수 검토자',
'mandatory_reviewer_no_access' => '필수 검수자\'[user]\'가 충분한 권한을 가지고 있지 않습니다.', 'mandatory_reviewer_no_access' => '필수 검수자\'[user]\'가 충분한 권한을 가지고 있지 않습니다.',
'march' => '3월', 'march' => '3월',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => '최대 업로드 크기', 'max_upload_size' => '최대 업로드 크기',
'may' => '월', 'may' => '월',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -232,6 +232,7 @@ URL: [url]',
'backup_tools' => 'ເຄື່ອງມືສຳຮອງຂໍມູນ', 'backup_tools' => 'ເຄື່ອງມືສຳຮອງຂໍມູນ',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'ລະຫວ່າງ', 'between' => 'ລະຫວ່າງ',
'bg_BG' => 'ບັດແກເຣີຍ', 'bg_BG' => 'ບັດແກເຣີຍ',
@ -311,6 +312,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'ຄວາມຄິດເຫັນກ່ຽວກັບເວີຊັ້ນ', 'comment_for_current_version' => 'ຄວາມຄິດເຫັນກ່ຽວກັບເວີຊັ້ນ',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'ເຈົ້າຕ້ອງການລົບແຄຣຫຼືບໍ່? ການດຳເນີນການນີ້ຈະລົບພາບຕົວຢ່າງທັງໝົດທີມີການຄຳນວນລ່ວງໜ້າ', 'confirm_clear_cache' => 'ເຈົ້າຕ້ອງການລົບແຄຣຫຼືບໍ່? ການດຳເນີນການນີ້ຈະລົບພາບຕົວຢ່າງທັງໝົດທີມີການຄຳນວນລ່ວງໜ້າ',
'confirm_create_fulltext_index' => 'ແມ່ນແລ້ວ, ຂ້ອຍຕ້ອງການສ້າງດັດສະນີຂໍ້ມູນເຕັມ', 'confirm_create_fulltext_index' => 'ແມ່ນແລ້ວ, ຂ້ອຍຕ້ອງການສ້າງດັດສະນີຂໍ້ມູນເຕັມ',
'confirm_move_document' => 'ກະລຸນາຢືນຢັນການຍ້າຍເອກະສານ', 'confirm_move_document' => 'ກະລຸນາຢືນຢັນການຍ້າຍເອກະສານ',
@ -871,6 +873,8 @@ URL: [url]',
'mandatory_reviewers' => 'ຜູ້ກວດສອບແບບບັງຄັບ', 'mandatory_reviewers' => 'ຜູ້ກວດສອບແບບບັງຄັບ',
'mandatory_reviewer_no_access' => 'ຜູ້ກວດສອບແບບບັງຄັບ "[user] " ມີສິດທິການເຂົ້າເຖິງບໍ່ພຽງພໍ', 'mandatory_reviewer_no_access' => 'ຜູ້ກວດສອບແບບບັງຄັບ "[user] " ມີສິດທິການເຂົ້າເຖິງບໍ່ພຽງພໍ',
'march' => 'ເດືອນມີນາ', 'march' => 'ເດືອນມີນາ',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'ຂະຫນາດການອັບໂຫລດສູງສຸດ', 'max_upload_size' => 'ຂະຫນາດການອັບໂຫລດສູງສຸດ',
'may' => 'ເດືອນພຶດສະພາ', 'may' => 'ເດືອນພຶດສະພາ',
'menu_dropfolder' => 'ວາງໂຟລເດີ', 'menu_dropfolder' => 'ວາງໂຟລເດີ',

View File

@ -234,6 +234,7 @@ URL: [url]',
'backup_tools' => 'Sikkerhetskopi-verktøy', 'backup_tools' => 'Sikkerhetskopi-verktøy',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'mellom', 'between' => 'mellom',
'bg_BG' => 'Bulgaria', 'bg_BG' => 'Bulgaria',
@ -313,6 +314,7 @@ URL: [url]',
'comment_changed_email' => 'Forandre e-post', 'comment_changed_email' => 'Forandre e-post',
'comment_for_current_version' => 'Versjonskommentar', 'comment_for_current_version' => 'Versjonskommentar',
'configure_extension' => 'Konfigurere utvidelse', 'configure_extension' => 'Konfigurere utvidelse',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Vil du virkelig tømme hurtigbufferen? Dette vil fjerne alle forhåndsberegnede forhåndsbilder.', 'confirm_clear_cache' => 'Vil du virkelig tømme hurtigbufferen? Dette vil fjerne alle forhåndsberegnede forhåndsbilder.',
'confirm_create_fulltext_index' => 'Ja, jeg vil gjenskape fulltekstindeksen!', 'confirm_create_fulltext_index' => 'Ja, jeg vil gjenskape fulltekstindeksen!',
'confirm_move_document' => 'Venligst bekreft flytting av dokumentet.', 'confirm_move_document' => 'Venligst bekreft flytting av dokumentet.',
@ -892,6 +894,8 @@ URL: [url]',
'mandatory_reviewers' => 'Obligatorisk korrekturleser', 'mandatory_reviewers' => 'Obligatorisk korrekturleser',
'mandatory_reviewer_no_access' => 'Obligatorisk korrekturleser \'[user]\' har mangelfull adgangsrettigheter.', 'mandatory_reviewer_no_access' => 'Obligatorisk korrekturleser \'[user]\' har mangelfull adgangsrettigheter.',
'march' => 'Mars', 'march' => 'Mars',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Maksimal størrelse for opplasting', 'max_upload_size' => 'Maksimal størrelse for opplasting',
'may' => 'Mai', 'may' => 'Mai',
'menu_dropfolder' => 'Slipp mappe', 'menu_dropfolder' => 'Slipp mappe',

View File

@ -227,6 +227,7 @@ URL: [url]',
'backup_tools' => 'Backup-gereedschap', 'backup_tools' => 'Backup-gereedschap',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'tussen', 'between' => 'tussen',
'bg_BG' => 'Bulgaars', 'bg_BG' => 'Bulgaars',
@ -306,6 +307,7 @@ URL: [url]',
'comment_changed_email' => 'Gewijzigde email', 'comment_changed_email' => 'Gewijzigde email',
'comment_for_current_version' => 'Versie van het commentaar', 'comment_for_current_version' => 'Versie van het commentaar',
'configure_extension' => 'Configureer extensie', 'configure_extension' => 'Configureer extensie',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Ja, ik wil de cache opschonen!', 'confirm_clear_cache' => 'Ja, ik wil de cache opschonen!',
'confirm_create_fulltext_index' => 'Ja, Ik wil de fulltext index opnieuw maken!', 'confirm_create_fulltext_index' => 'Ja, Ik wil de fulltext index opnieuw maken!',
'confirm_move_document' => 'Bevestig verplaatsing van document', 'confirm_move_document' => 'Bevestig verplaatsing van document',
@ -885,6 +887,8 @@ URL: [url]',
'mandatory_reviewers' => 'Verplichte beoordelaars \'[user]\'', 'mandatory_reviewers' => 'Verplichte beoordelaars \'[user]\'',
'mandatory_reviewer_no_access' => 'De verplichte gebruikers hebben onvoldoende rechten.', 'mandatory_reviewer_no_access' => 'De verplichte gebruikers hebben onvoldoende rechten.',
'march' => 'maart', 'march' => 'maart',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Maximale upload omvang voor ieder bestand', 'max_upload_size' => 'Maximale upload omvang voor ieder bestand',
'may' => 'mei', 'may' => 'mei',
'menu_dropfolder' => 'Dropfolder', 'menu_dropfolder' => 'Dropfolder',

View File

@ -222,6 +222,7 @@ URL: [url]',
'backup_tools' => 'Narzędzia kopii zapasowej', 'backup_tools' => 'Narzędzia kopii zapasowej',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'między', 'between' => 'między',
'bg_BG' => 'Bułgarski', 'bg_BG' => 'Bułgarski',
@ -301,6 +302,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Komentarz do wersji', 'comment_for_current_version' => 'Komentarz do wersji',
'configure_extension' => 'Konfiguruj rozszerzenie', 'configure_extension' => 'Konfiguruj rozszerzenie',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Czy naprawdę chcesz wyczyścić pamięć podręczną? Spowoduje to usunięcie wszystkich wstępnie obliczonych obrazów podglądu.', 'confirm_clear_cache' => 'Czy naprawdę chcesz wyczyścić pamięć podręczną? Spowoduje to usunięcie wszystkich wstępnie obliczonych obrazów podglądu.',
'confirm_create_fulltext_index' => 'Tak, chcę ponownie utworzyć indeks pełnotekstowy.', 'confirm_create_fulltext_index' => 'Tak, chcę ponownie utworzyć indeks pełnotekstowy.',
'confirm_move_document' => 'Potwierdź przeniesienie dokumentu', 'confirm_move_document' => 'Potwierdź przeniesienie dokumentu',
@ -861,6 +863,8 @@ URL: [url]',
'mandatory_reviewers' => 'Wymagani przeglądający', 'mandatory_reviewers' => 'Wymagani przeglądający',
'mandatory_reviewer_no_access' => 'Obowiązkowy recenzent \'[user]\' ma niewystarczające prawa dostępu.', 'mandatory_reviewer_no_access' => 'Obowiązkowy recenzent \'[user]\' ma niewystarczające prawa dostępu.',
'march' => 'Marzec', 'march' => 'Marzec',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Maksymalny rozmiar pliku', 'max_upload_size' => 'Maksymalny rozmiar pliku',
'may' => 'Maj', 'may' => 'Maj',
'menu_dropfolder' => 'Folder zrzutu', 'menu_dropfolder' => 'Folder zrzutu',

View File

@ -234,6 +234,7 @@ URL: [url]',
'backup_tools' => 'Ferramentas de backup', 'backup_tools' => 'Ferramentas de backup',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'entre', 'between' => 'entre',
'bg_BG' => 'Bulgaro', 'bg_BG' => 'Bulgaro',
@ -313,6 +314,7 @@ URL: [url]',
'comment_changed_email' => 'comentário alterado email', 'comment_changed_email' => 'comentário alterado email',
'comment_for_current_version' => 'Comentário para versão atual', 'comment_for_current_version' => 'Comentário para versão atual',
'configure_extension' => 'Configurar extensão', 'configure_extension' => 'Configurar extensão',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Você realmente gostaria de limpar o cache? Isso removerá todas as imagens de pré-visualização.', 'confirm_clear_cache' => 'Você realmente gostaria de limpar o cache? Isso removerá todas as imagens de pré-visualização.',
'confirm_create_fulltext_index' => 'Sim, eu gostaria de recriar o índice de texto completo!', 'confirm_create_fulltext_index' => 'Sim, eu gostaria de recriar o índice de texto completo!',
'confirm_move_document' => 'Por favor, confirme a movimentação do documento.', 'confirm_move_document' => 'Por favor, confirme a movimentação do documento.',
@ -892,6 +894,8 @@ URL: [url]',
'mandatory_reviewers' => 'Avaliadores obrigatórios', 'mandatory_reviewers' => 'Avaliadores obrigatórios',
'mandatory_reviewer_no_access' => 'Avaliação obrigatória \'[usuário]\' tem direitos de acesso insuficientes.', 'mandatory_reviewer_no_access' => 'Avaliação obrigatória \'[usuário]\' tem direitos de acesso insuficientes.',
'march' => 'Março', 'march' => 'Março',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Tamanho máximo de arquivo para upload', 'max_upload_size' => 'Tamanho máximo de arquivo para upload',
'may' => 'Maio', 'may' => 'Maio',
'menu_dropfolder' => 'Pasta suspensa', 'menu_dropfolder' => 'Pasta suspensa',

View File

@ -234,6 +234,7 @@ URL: [url]',
'backup_tools' => 'Backup tools', 'backup_tools' => 'Backup tools',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'între', 'between' => 'între',
'bg_BG' => 'Bulgară', 'bg_BG' => 'Bulgară',
@ -313,6 +314,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Comentariu versiune', 'comment_for_current_version' => 'Comentariu versiune',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => 'Da, aș dori să recreeze indexul pentru tot textul!', 'confirm_create_fulltext_index' => 'Da, aș dori să recreeze indexul pentru tot textul!',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -873,6 +875,8 @@ URL: [url]',
'mandatory_reviewers' => 'Revizuitori obligatorii', 'mandatory_reviewers' => 'Revizuitori obligatorii',
'mandatory_reviewer_no_access' => 'Revizuitorul obligatoriu \'[user]\' are drepturi de acces insuficiente.', 'mandatory_reviewer_no_access' => 'Revizuitorul obligatoriu \'[user]\' are drepturi de acces insuficiente.',
'march' => 'Martie', 'march' => 'Martie',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Dimensiunea maximă de încărcare', 'max_upload_size' => 'Dimensiunea maximă de încărcare',
'may' => 'Mai', 'may' => 'Mai',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -234,6 +234,7 @@ URL: [url]',
'backup_tools' => 'Резервные копии', 'backup_tools' => 'Резервные копии',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'между', 'between' => 'между',
'bg_BG' => 'Болгарский', 'bg_BG' => 'Болгарский',
@ -313,6 +314,7 @@ URL: [url]',
'comment_changed_email' => 'Сообщение об изменении комментария', 'comment_changed_email' => 'Сообщение об изменении комментария',
'comment_for_current_version' => 'Комментарий версии', 'comment_for_current_version' => 'Комментарий версии',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Подтвердить очистку кеша', 'confirm_clear_cache' => 'Подтвердить очистку кеша',
'confirm_create_fulltext_index' => 'Да, пересоздать полнотекстовый индекс!', 'confirm_create_fulltext_index' => 'Да, пересоздать полнотекстовый индекс!',
'confirm_move_document' => 'Подтвердить перемещение документа', 'confirm_move_document' => 'Подтвердить перемещение документа',
@ -873,6 +875,8 @@ URL: [url]',
'mandatory_reviewers' => 'Обязательные рецензенты', 'mandatory_reviewers' => 'Обязательные рецензенты',
'mandatory_reviewer_no_access' => 'Обязательный рецензент «[user]» не имеет достаточных прав доступа.', 'mandatory_reviewer_no_access' => 'Обязательный рецензент «[user]» не имеет достаточных прав доступа.',
'march' => 'Март', 'march' => 'Март',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Ограничение размера файла', 'max_upload_size' => 'Ограничение размера файла',
'may' => 'Май', 'may' => 'Май',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -234,6 +234,7 @@ URL: [url]',
'backup_tools' => 'Zálohovacie nástroje', 'backup_tools' => 'Zálohovacie nástroje',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'medzi', 'between' => 'medzi',
'bg_BG' => 'Bulharsky', 'bg_BG' => 'Bulharsky',
@ -313,6 +314,7 @@ URL: [url]',
'comment_changed_email' => 'Nepreložené', 'comment_changed_email' => 'Nepreložené',
'comment_for_current_version' => 'Version comment', 'comment_for_current_version' => 'Version comment',
'configure_extension' => 'Configure extension', 'configure_extension' => 'Configure extension',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Chcete naozaj vyčistiť vyrovnávaciu pamäť? Tým sa odstránia všetky predbežne náhľady obrázkov.', 'confirm_clear_cache' => 'Chcete naozaj vyčistiť vyrovnávaciu pamäť? Tým sa odstránia všetky predbežne náhľady obrázkov.',
'confirm_create_fulltext_index' => 'Áno, chcel by som obnoviť fullttext index!', 'confirm_create_fulltext_index' => 'Áno, chcel by som obnoviť fullttext index!',
'confirm_move_document' => 'Potvrďte presunutie dokumentu.', 'confirm_move_document' => 'Potvrďte presunutie dokumentu.',
@ -892,6 +894,8 @@ URL: [url]',
'mandatory_reviewers' => 'Mandatory reviewers', 'mandatory_reviewers' => 'Mandatory reviewers',
'mandatory_reviewer_no_access' => 'Mandatory reviewer \'[user]\' has insufficient access rights.', 'mandatory_reviewer_no_access' => 'Mandatory reviewer \'[user]\' has insufficient access rights.',
'march' => 'Marec', 'march' => 'Marec',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Maximálna veľkosť každého súboru', 'max_upload_size' => 'Maximálna veľkosť každého súboru',
'may' => 'Máj', 'may' => 'Máj',
'menu_dropfolder' => 'Drop zložka', 'menu_dropfolder' => 'Drop zložka',

View File

@ -235,6 +235,7 @@ URL: [url]',
'backup_tools' => 'Backup-verktyg', 'backup_tools' => 'Backup-verktyg',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'mellan', 'between' => 'mellan',
'bg_BG' => 'Bulgariska', 'bg_BG' => 'Bulgariska',
@ -314,6 +315,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Kommentar till versionen', 'comment_for_current_version' => 'Kommentar till versionen',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => 'Vill du verkligen rensa cachen? Detta kommer att ta bort alla förlagrade bilder för förhandsvisning.', 'confirm_clear_cache' => 'Vill du verkligen rensa cachen? Detta kommer att ta bort alla förlagrade bilder för förhandsvisning.',
'confirm_create_fulltext_index' => 'Ja, jag vill återskapa fulltext-sökindex!', 'confirm_create_fulltext_index' => 'Ja, jag vill återskapa fulltext-sökindex!',
'confirm_move_document' => 'Vänligen bekräfta flytt av dokumentet.', 'confirm_move_document' => 'Vänligen bekräfta flytt av dokumentet.',
@ -879,6 +881,8 @@ URL: [url]',
'mandatory_reviewers' => 'Obligatoriska granskare', 'mandatory_reviewers' => 'Obligatoriska granskare',
'mandatory_reviewer_no_access' => 'Obligatorisk person som granskar \'[user]\' ar inga rättigheter.', 'mandatory_reviewer_no_access' => 'Obligatorisk person som granskar \'[user]\' ar inga rättigheter.',
'march' => 'Mars', 'march' => 'Mars',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Maximal storlek för uppladdning', 'max_upload_size' => 'Maximal storlek för uppladdning',
'may' => 'Maj', 'may' => 'Maj',
'menu_dropfolder' => 'Mapp för snabbuppladdning', 'menu_dropfolder' => 'Mapp för snabbuppladdning',

View File

@ -228,6 +228,7 @@ URL: [url]',
'backup_tools' => 'Yedekleme araçları', 'backup_tools' => 'Yedekleme araçları',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'arasında', 'between' => 'arasında',
'bg_BG' => 'Bulgarca', 'bg_BG' => 'Bulgarca',
@ -307,6 +308,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => 'Versiyon açıklaması', 'comment_for_current_version' => 'Versiyon açıklaması',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => 'Evet, tam metin indeksini yeniden oluşturmak istiyorum!', 'confirm_create_fulltext_index' => 'Evet, tam metin indeksini yeniden oluşturmak istiyorum!',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -867,6 +869,8 @@ URL: [url]',
'mandatory_reviewers' => 'Zorunlu kontrol edenler', 'mandatory_reviewers' => 'Zorunlu kontrol edenler',
'mandatory_reviewer_no_access' => 'Zorunlu kontrol üyesi \'[user]\' yetersiz erişim haklarına sahip', 'mandatory_reviewer_no_access' => 'Zorunlu kontrol üyesi \'[user]\' yetersiz erişim haklarına sahip',
'march' => 'Mart', 'march' => 'Mart',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Maksimum yükleme boyutu', 'max_upload_size' => 'Maksimum yükleme boyutu',
'may' => 'Mayıs', 'may' => 'Mayıs',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -234,6 +234,7 @@ URL: [url]',
'backup_tools' => 'Резервні копії', 'backup_tools' => 'Резервні копії',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => 'між', 'between' => 'між',
'bg_BG' => 'Bulgarian', 'bg_BG' => 'Bulgarian',
@ -313,6 +314,7 @@ URL: [url]',
'comment_changed_email' => 'Повідомлення про зміну коментаря', 'comment_changed_email' => 'Повідомлення про зміну коментаря',
'comment_for_current_version' => 'Коментар версії', 'comment_for_current_version' => 'Коментар версії',
'configure_extension' => '', 'configure_extension' => '',
'confirm_change_owner' => '',
'confirm_clear_cache' => '', 'confirm_clear_cache' => '',
'confirm_create_fulltext_index' => 'Так, перестворити повнотекстовий індекс!', 'confirm_create_fulltext_index' => 'Так, перестворити повнотекстовий індекс!',
'confirm_move_document' => '', 'confirm_move_document' => '',
@ -873,6 +875,8 @@ URL: [url]',
'mandatory_reviewers' => 'Обов\'язкові рецензенти', 'mandatory_reviewers' => 'Обов\'язкові рецензенти',
'mandatory_reviewer_no_access' => 'Обов\'язковий рецензент «[user]» не має достатніх прав доступу.', 'mandatory_reviewer_no_access' => 'Обов\'язковий рецензент «[user]» не має достатніх прав доступу.',
'march' => 'Березень', 'march' => 'Березень',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => 'Обмеження розміру файлу', 'max_upload_size' => 'Обмеження розміру файлу',
'may' => 'Травень', 'may' => 'Травень',
'menu_dropfolder' => '', 'menu_dropfolder' => '',

View File

@ -226,6 +226,7 @@ URL: [url]',
'backup_tools' => '备份工具', 'backup_tools' => '备份工具',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => '时间段', 'between' => '时间段',
'bg_BG' => '保加利亚语', 'bg_BG' => '保加利亚语',
@ -305,6 +306,7 @@ URL: [url]',
'comment_changed_email' => '评论更新', 'comment_changed_email' => '评论更新',
'comment_for_current_version' => '版本说明', 'comment_for_current_version' => '版本说明',
'configure_extension' => '配置扩展', 'configure_extension' => '配置扩展',
'confirm_change_owner' => '',
'confirm_clear_cache' => '确认清除缓存吗?这将删除所有预先计算的预览图像。', 'confirm_clear_cache' => '确认清除缓存吗?这将删除所有预先计算的预览图像。',
'confirm_create_fulltext_index' => '确认重新创建全文索引', 'confirm_create_fulltext_index' => '确认重新创建全文索引',
'confirm_move_document' => '请确认移动文件', 'confirm_move_document' => '请确认移动文件',
@ -875,6 +877,8 @@ URL: [url]',
'mandatory_reviewers' => '必选校对人', 'mandatory_reviewers' => '必选校对人',
'mandatory_reviewer_no_access' => '必须的评审员\'[user]\'没有足够的访问权限', 'mandatory_reviewer_no_access' => '必须的评审员\'[user]\'没有足够的访问权限',
'march' => '三 月', 'march' => '三 月',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => '最大上传文件大小', 'max_upload_size' => '最大上传文件大小',
'may' => '五 月', 'may' => '五 月',
'menu_dropfolder' => '删除文件夹', 'menu_dropfolder' => '删除文件夹',

View File

@ -234,6 +234,7 @@ URL: [url]',
'backup_tools' => '備份工具', 'backup_tools' => '備份工具',
'batch_change_owner' => '', 'batch_change_owner' => '',
'batch_new_owner_msg' => '', 'batch_new_owner_msg' => '',
'batch_operation' => '',
'batch_operation_result' => '', 'batch_operation_result' => '',
'between' => '時間段', 'between' => '時間段',
'bg_BG' => '保加利亞語', 'bg_BG' => '保加利亞語',
@ -313,6 +314,7 @@ URL: [url]',
'comment_changed_email' => '', 'comment_changed_email' => '',
'comment_for_current_version' => '版本說明', 'comment_for_current_version' => '版本說明',
'configure_extension' => '配置擴充套件', 'configure_extension' => '配置擴充套件',
'confirm_change_owner' => '',
'confirm_clear_cache' => '您真的要清除緩存嗎?這將刪除所有預先計算的預覽圖像。', 'confirm_clear_cache' => '您真的要清除緩存嗎?這將刪除所有預先計算的預覽圖像。',
'confirm_create_fulltext_index' => '確認已新增之全文索引', 'confirm_create_fulltext_index' => '確認已新增之全文索引',
'confirm_move_document' => '請確認移動文件。', 'confirm_move_document' => '請確認移動文件。',
@ -892,6 +894,8 @@ URL: [url]',
'mandatory_reviewers' => '強制性審稿人', 'mandatory_reviewers' => '強制性審稿人',
'mandatory_reviewer_no_access' => '強制性審閱者\'[user] \'沒有足夠的訪問權限。', 'mandatory_reviewer_no_access' => '強制性審閱者\'[user] \'沒有足夠的訪問權限。',
'march' => '三 月', 'march' => '三 月',
'mark_document' => '',
'mark_folder' => '',
'max_upload_size' => '最大上傳文件大小', 'max_upload_size' => '最大上傳文件大小',
'may' => '五 月', 'may' => '五 月',
'menu_dropfolder' => '下拉目錄', 'menu_dropfolder' => '下拉目錄',

View File

@ -367,10 +367,15 @@ if($settings->_libraryFolder) {
$docsource = 'library'; $docsource = 'library';
$fullfile = tempnam(sys_get_temp_dir(), ''); $fullfile = tempnam(sys_get_temp_dir(), '');
if(SeedDMS_Core_File::copyFile($dms->contentDir . $content->getPath(), $fullfile)) { if(SeedDMS_Core_File::copyFile($dms->contentDir . $content->getPath(), $fullfile)) {
if($_POST["name"]!="") {
$oext = pathinfo($content->getOriginalFileName(), PATHINFO_EXTENSION);
$origfilename = getFilenameByDocname(trim($_POST['name'])).".".$oext;
} else
$origfilename = $content->getOriginalFileName();
$file_ary[] = array( $file_ary[] = array(
'tmp_name' => $fullfile, 'tmp_name' => $fullfile,
'type' => $content->getMimeType(), 'type' => $content->getMimeType(),
'name' => $content->getOriginalFileName(), 'name' => $origfilename,
'size' => $content->getFileSize(), 'size' => $content->getFileSize(),
'error' => 0, 'error' => 0,
'source' => 'library', 'source' => 'library',

View File

@ -74,6 +74,7 @@ if(isset($_GET['eventtype']) && $_GET['eventtype']) {
if($view) { if($view) {
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);
$view->setParam('conversionmgr', $conversionmgr);
$view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax $view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax
$view->setParam('calendar', $calendar); $view->setParam('calendar', $calendar);
$view->setParam('start', $start); $view->setParam('start', $start);
@ -90,6 +91,7 @@ if($view) {
$view->setParam('cachedir', $settings->_cacheDir); $view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewWidthDetail', $settings->_previewWidthDetail); $view->setParam('previewWidthDetail', $settings->_previewWidthDetail);
$view->setParam('previewConverters', isset($settings->_converters['preview']) ? $settings->_converters['preview'] : array());
$view->setParam('timeout', $settings->_cmdTimeout); $view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);
$view->setParam('xsendfile', $settings->_enableXsendfile); $view->setParam('xsendfile', $settings->_enableXsendfile);

View File

@ -97,7 +97,7 @@ if($fullsearch) {
if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) { if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) {
$pageNumber = (integer)$_GET["pg"]; $pageNumber = (integer)$_GET["pg"];
} }
else if (!strcasecmp($_GET["pg"], "all")) { elseif (!strcasecmp($_GET["pg"], "all")) {
$pageNumber = "all"; $pageNumber = "all";
} }
} }
@ -218,7 +218,7 @@ if($fullsearch) {
$dcount = isset($facets['record_type']['document']) ? $facets['record_type']['document'] : 0 ; $dcount = isset($facets['record_type']['document']) ? $facets['record_type']['document'] : 0 ;
} }
} }
if($pageNumber != 'all' && $searchresult['count'] > $limit) { if(/* $pageNumber != 'all' && */$searchresult['count'] > $limit) {
$totalPages = (int) ($searchresult['count']/$limit); $totalPages = (int) ($searchresult['count']/$limit);
if($searchresult['count']%$limit) if($searchresult['count']%$limit)
$totalPages++; $totalPages++;
@ -564,11 +564,12 @@ if($fullsearch) {
} }
} }
$totalPages = 1; $totalPages = 1;
if ((!isset($_GET['action']) || $_GET['action'] != 'export') && (!isset($_GET["pg"]) || strcasecmp($_GET["pg"], "all"))) { if ((!isset($_GET['action']) || $_GET['action'] != 'export') /*&& (!isset($_GET["pg"]) || strcasecmp($_GET["pg"], "all"))*/) {
$totalPages = (int) (count($entries)/$limit); $totalPages = (int) (count($entries)/$limit);
if(count($entries)%$limit) if(count($entries)%$limit)
$totalPages++; $totalPages++;
$entries = array_slice($entries, ($pageNumber-1)*$limit, $limit); if($pageNumber != 'all')
$entries = array_slice($entries, ($pageNumber-1)*$limit, $limit);
} else } else
$totalPages = 1; $totalPages = 1;
$facets = array(); $facets = array();

View File

@ -47,14 +47,15 @@ if(isset($_GET['documentid']) && $_GET['documentid'] && is_numeric($_GET['docume
if($document = $dms->getDocument($_GET["documentid"])) { if($document = $dms->getDocument($_GET["documentid"])) {
if(isset($_GET['version']) && $_GET['version'] && is_numeric($_GET['version'])) { if(isset($_GET['version']) && $_GET['version'] && is_numeric($_GET['version'])) {
$content = $document->getContentByVersion($_GET['version']); $content = $document->getContentByVersion($_GET['version']);
} else {
$content = $document->getLatestContent();
} }
} }
} }
if($view) { if($view) {
$view->setParam('dms', $dms);
$view->setParam('user', $user);
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);
$view->setParam('conversionmgr', $conversionmgr);
$view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax $view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax
$view->setParam('showtree', showtree()); $view->setParam('showtree', showtree());
$view->setParam('fromdate', isset($_GET['fromdate']) ? $_GET['fromdate'] : ''); $view->setParam('fromdate', isset($_GET['fromdate']) ? $_GET['fromdate'] : '');
@ -65,6 +66,7 @@ if($view) {
$view->setParam('cachedir', $settings->_cacheDir); $view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewWidthDetail', $settings->_previewWidthDetail); $view->setParam('previewWidthDetail', $settings->_previewWidthDetail);
$view->setParam('previewConverters', isset($settings->_converters['preview']) ? $settings->_converters['preview'] : array());
$view->setParam('timeout', $settings->_cmdTimeout); $view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);
$view->setParam('xsendfile', $settings->_enableXsendfile); $view->setParam('xsendfile', $settings->_enableXsendfile);

View File

@ -414,16 +414,16 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
// if (!$this->params['user']->isGuest()) { // if (!$this->params['user']->isGuest()) {
$menuitems = array(); $menuitems = array();
if ($accessobject->check_view_access('MyDocuments')) if ($accessobject->check_view_access('MyDocuments'))
$menuitems['my_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php", 'label'=>'my_documents'); $menuitems['my_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php", 'label'=>getMLText('my_documents'));
if ($accessobject->check_view_access('MyAccount')) if ($accessobject->check_view_access('MyAccount'))
$menuitems['my_account'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyAccount.php", 'label'=>'my_account'); $menuitems['my_account'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyAccount.php", 'label'=>getMLText('my_account'));
if ($accessobject->check_view_access('TransmittalMgr')) if ($accessobject->check_view_access('TransmittalMgr'))
$menuitems['my_transmittals'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransmittalMgr.php", 'label'=>'my_transmittals'); $menuitems['my_transmittals'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransmittalMgr.php", 'label'=>getMLText('my_transmittals'));
if($this->hasHook('userMenuItems')) if($this->hasHook('userMenuItems'))
$menuitems = $this->callHook('userMenuItems', $menuitems); $menuitems = $this->callHook('userMenuItems', $menuitems);
if($menuitems) { if($menuitems) {
foreach($menuitems as $menuitem) { foreach($menuitems as $menuitem) {
echo "<li><a href=\"".$menuitem['link']."\">".getMLText($menuitem['label'])."</a></li>"; echo "<li><a href=\"".$menuitem['link']."\">".$menuitem['label']."</a></li>";
} }
echo " <li class=\"divider\"></li>\n"; echo " <li class=\"divider\"></li>\n";
} }
@ -510,11 +510,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <ul class=\"nav\">\n"; echo " <ul class=\"nav\">\n";
$menuitems = array(); $menuitems = array();
/* calendar {{{ */ /* calendar {{{ */
if ($this->params['enablecalendar'] && $accessobject->check_view_access('Calendar')) $menuitems['calendar'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Calendar.php?mode='.$this->params['calendardefaultview'], 'label'=>"calendar"); if ($this->params['enablecalendar'] && $accessobject->check_view_access('Calendar')) $menuitems['calendar'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Calendar.php?mode='.$this->params['calendardefaultview'], 'label'=>getMLText("calendar"));
if ($accessobject->check_view_access('AdminTools')) $menuitems['admintools'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.AdminTools.php', 'label'=>"admin_tools"); if ($accessobject->check_view_access('AdminTools')) $menuitems['admintools'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.AdminTools.php', 'label'=>getMLText("admin_tools"));
if($this->params['enablehelp']) { if($this->params['enablehelp']) {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$menuitems['help'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Help.php?context='.$tmp[1], 'label'=>"help"); $menuitems['help'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Help.php?context='.$tmp[1], 'label'=>getMLText("help"));
} }
/* }}} End of calendar */ /* }}} End of calendar */
@ -524,14 +524,14 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
foreach($menuitems as $menuitem) { foreach($menuitems as $menuitem) {
if(!empty($menuitem['children'])) { if(!empty($menuitem['children'])) {
echo " <li class=\"dropdown\">\n"; echo " <li class=\"dropdown\">\n";
echo " <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">".getMLText($menuitem['label'])." <i class=\"fa fa-caret-down\"></i></a>\n"; echo " <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">".$menuitem['label']." <i class=\"fa fa-caret-down\"></i></a>\n";
echo " <ul class=\"dropdown-menu\" role=\"menu\">\n"; echo " <ul class=\"dropdown-menu\" role=\"menu\">\n";
foreach($menuitem['children'] as $submenuitem) { foreach($menuitem['children'] as $submenuitem) {
echo " <li><a href=\"".$submenuitem['link']."\"".(isset($submenuitem['target']) ? ' target="'.$submenuitem['target'].'"' : '').">".getMLText($submenuitem['label'])."</a></li>\n"; echo " <li><a href=\"".$submenuitem['link']."\"".(isset($submenuitem['target']) ? ' target="'.$submenuitem['target'].'"' : '').">".$submenuitem['label']."</a></li>\n";
} }
echo " </ul>\n"; echo " </ul>\n";
} else { } else {
echo "<li><a href=\"".$menuitem['link']."\"".(isset($menuitem['target']) ? ' target="'.$menuitem['target'].'"' : '').">".getMLText($menuitem['label'])."</a></li>"; echo "<li><a href=\"".$menuitem['link']."\"".(isset($menuitem['target']) ? ' target="'.$menuitem['target'].'"' : '').">".$menuitem['label']."</a></li>";
} }
} }
echo " </ul>\n"; echo " </ul>\n";
@ -1110,7 +1110,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo "</div>\n"; echo "</div>\n";
} /* }}} */ } /* }}} */
function pageList($pageNumber, $totalPages, $baseURI, $params) { /* {{{ */ function pageList($pageNumber, $totalPages, $baseURI, $params, $dataparams=[]) { /* {{{ */
$maxpages = 25; // skip pages when more than this is shown $maxpages = 25; // skip pages when more than this is shown
$range = 5; // pages left and right of current page $range = 5; // pages left and right of current page
@ -1129,11 +1129,17 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$first=false; $first=false;
} }
$datastr = '';
if($dataparams) {
$datastr .= ' ';
foreach($dataparams as $k=>$v)
$datastr .= 'data-'.$k.'="'.$v.'"';
}
echo "<div class=\"pagination pagination-small\">"; echo "<div class=\"pagination pagination-small\">";
echo "<ul>"; echo "<ul>";
if($totalPages <= $maxpages) { if($totalPages <= $maxpages) {
for ($i = 1; $i <= $totalPages; $i++) { for ($i = 1; $i <= $totalPages; $i++) {
echo "<li ".($i == $pageNumber ? 'class="active"' : "" )."><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".$i."\">".$i."</a></li>"; echo "<li ".($i == $pageNumber ? 'class="active"' : "" )."><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".$i."\" data-page=\"".$i."\"".$datastr.">".$i."</a></li>";
} }
} else { } else {
if($pageNumber-$range > 1) if($pageNumber-$range > 1)
@ -1153,21 +1159,21 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$end -= $diff; $end -= $diff;
} }
if($pageNumber > 1) if($pageNumber > 1)
echo "<li><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".($pageNumber-1)."\">&laquo;</a></li>"; echo "<li><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".($pageNumber-1)."\" data-page=\"".($pageNumber-1)."\"".$datastr.">&laquo;</a></li>";
echo "<li ".(1 == $pageNumber ? 'class="active"' : "" )."><a href=\"".$resultsURI.($first ? "?" : "&")."pg=1\">1</a></li>"; echo "<li ".(1 == $pageNumber ? 'class="active"' : "" )."><a href=\"".$resultsURI.($first ? "?" : "&")."pg=1\" data-page=\"1\"".$datastr.">1</a></li>";
if($start > 2) if($start > 2)
echo "<li><span>...</span></li>"; echo "<li><span>...</span></li>";
for($j=$start; $j<=$end; $j++) for($j=$start; $j<=$end; $j++)
echo "<li ".($j == $pageNumber ? 'class="active"' : "" )."><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".$j."\">".$j."</a></li>"; echo "<li ".($j == $pageNumber ? 'class="active"' : "" )."><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".$j."\" data-page=\"".$j."\"".$datastr.">".$j."</a></li>";
if($end < $totalPages-1) if($end < $totalPages-1)
echo "<li><span>...</span></li>"; echo "<li><span>...</span></li>";
if($end < $totalPages) if($end < $totalPages)
echo "<li ".($totalPages == $pageNumber ? 'class="active"' : "" )."><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".$totalPages."\">".$totalPages."</a></li>"; echo "<li ".($totalPages == $pageNumber ? 'class="active"' : "" )."><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".$totalPages."\" data-page=\"".$totalPages."\"".$datastr.">".$totalPages."</a></li>";
if($pageNumber < $totalPages) if($pageNumber < $totalPages)
echo "<li><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".($pageNumber+1)."\">&raquo;</a></li>"; echo "<li><a href=\"".$resultsURI.($first ? "?" : "&")."pg=".($pageNumber+1)."\" data-page=\"".($pageNumber+1)."\"".$datastr.">&raquo;</a></li>";
} }
if ($totalPages>1) { if ($totalPages>1) {
echo "<li><a href=\"".$resultsURI.($first ? "?" : "&")."pg=all\">".getMLText("all_pages")."</a></li>"; echo "<li ".(0 == $pageNumber ? 'class="active"' : "" )."><a href=\"".$resultsURI.($first ? "?" : "&")."pg=all\" data-page=\"all\"".$datastr.">".getMLText("all_pages")."</a></li>";
} }
echo "</ul>"; echo "</ul>";
echo "</div>"; echo "</div>";
@ -3891,7 +3897,7 @@ $(document).ready(function() {
* *
* @param object $document document * @param object $document document
*/ */
protected function printTimelineJs($timelineurl, $height=300, $start='', $end='', $skip=array()) { /* {{{ */ protected function printTimelineJs($timelineurl, $height=300, $start='', $end='', $skip=array(), $onselect="") { /* {{{ */
if(!$timelineurl) if(!$timelineurl)
return; return;
?> ?>
@ -3918,21 +3924,16 @@ $(document).ready(function() {
'locale': '<?php echo $this->params['session']->getLanguage() ?>' 'locale': '<?php echo $this->params['session']->getLanguage() ?>'
}; };
function onselect() {
var sel = timeline.getSelection();
if (sel.length) {
if (sel[0].row != undefined) {
var row = sel[0].row;
console.log(timeline.getItem(sel[0].row));
item = timeline.getItem(sel[0].row);
$('div.ajax').trigger('update', {documentid: item.docid, version: item.version, statusid: item.statusid, statuslogid: item.statuslogid, fileid: item.fileid});
}
}
}
$(document).ready(function () { $(document).ready(function () {
// Instantiate our timeline object. // Instantiate our timeline object.
timeline = new links.Timeline(document.getElementById('timeline'), options); timeline = new links.Timeline(document.getElementById('timeline'), options);
links.events.addListener(timeline, 'select', onselect); <?php
if($onselect):
?>
links.events.addListener(timeline, 'select', <?= $onselect ?>);
<?php
endif;
?>
$.getJSON( $.getJSON(
'<?php echo $timelineurl ?>', '<?php echo $timelineurl ?>',
function(data) { function(data) {

View File

@ -43,6 +43,8 @@ class SeedDMS_View_Calendar extends SeedDMS_Theme_Style {
$event = $this->params['event']; $event = $this->params['event'];
$strictformcheck = $this->params['strictformcheck']; $strictformcheck = $this->params['strictformcheck'];
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$conversionmgr = $this->params['conversionmgr'];
$previewconverters = $this->params['previewConverters'];
$previewwidthlist = $this->params['previewWidthList']; $previewwidthlist = $this->params['previewWidthList'];
$previewwidthdetail = $this->params['previewWidthDetail']; $previewwidthdetail = $this->params['previewWidthDetail'];
$timeout = $this->params['timeout']; $timeout = $this->params['timeout'];
@ -52,6 +54,10 @@ class SeedDMS_View_Calendar extends SeedDMS_Theme_Style {
print $this->folderListHeader(); print $this->folderListHeader();
print "<tbody>\n"; print "<tbody>\n";
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile);
if($conversionmgr)
$previewer->setConversionMgr($conversionmgr);
else
$previewer->setConverters($previewconverters);
echo $this->documentListRow($document, $previewer); echo $this->documentListRow($document, $previewer);
echo "</tbody>\n</table>\n"; echo "</tbody>\n</table>\n";
} }
@ -125,6 +131,8 @@ class SeedDMS_View_Calendar extends SeedDMS_Theme_Style {
$dms = $this->params['dms']; $dms = $this->params['dms'];
$start = explode('-', $this->params['start']); $start = explode('-', $this->params['start']);
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$conversionmgr = $this->params['conversionmgr'];
$previewconverters = $this->params['previewConverters'];
$previewwidthlist = $this->params['previewWidthList']; $previewwidthlist = $this->params['previewWidthList'];
$previewwidthdetail = $this->params['previewWidthDetail']; $previewwidthdetail = $this->params['previewWidthDetail'];
$timeout = $this->params['timeout']; $timeout = $this->params['timeout'];
@ -146,6 +154,10 @@ class SeedDMS_View_Calendar extends SeedDMS_Theme_Style {
print "<th>".getMLText("action")."</th>\n"; print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n"; print "</tr>\n</thead>\n<tbody>\n";
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile);
if($conversionmgr)
$previewer->setConversionMgr($conversionmgr);
else
$previewer->setConverters($previewconverters);
foreach($data as $i=>$item) { foreach($data as $i=>$item) {
/* Filter out timeline events for the documents not happened on the /* Filter out timeline events for the documents not happened on the
* selected day * selected day

View File

@ -443,7 +443,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Theme_Style {
case 0: // Approver is an individual. case 0: // Approver is an individual.
$required = $dms->getUser($a["required"]); $required = $dms->getUser($a["required"]);
if (!is_object($required)) { if (!is_object($required)) {
$reqName = getMLText("unknown_user")." '".$r["required"]."'"; $reqName = getMLText("unknown_user")." '".$a["required"]."'";
} }
else { else {
$reqName = "<i class=\"fa fa-user\"></i> ".htmlspecialchars($required->getFullName()." (".$required->getLogin().")"); $reqName = "<i class=\"fa fa-user\"></i> ".htmlspecialchars($required->getFullName()." (".$required->getLogin().")");
@ -452,7 +452,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Theme_Style {
case 1: // Approver is a group. case 1: // Approver is a group.
$required = $dms->getGroup($a["required"]); $required = $dms->getGroup($a["required"]);
if (!is_object($required)) { if (!is_object($required)) {
$reqName = getMLText("unknown_group")." '".$r["required"]."'"; $reqName = getMLText("unknown_group")." '".$a["required"]."'";
} }
else { else {
$reqName = "<i class=\"fa fa-group\"></i> ".htmlspecialchars($required->getName()); $reqName = "<i class=\"fa fa-group\"></i> ".htmlspecialchars($required->getName());

View File

@ -75,6 +75,7 @@ $(document).ready( function() {
window.location.href = url; window.location.href = url;
}); });
/*
$('#changeowner').on('click', function(e) { $('#changeowner').on('click', function(e) {
e.preventDefault(); e.preventDefault();
var url = ""; var url = "";
@ -89,6 +90,70 @@ $(document).ready( function() {
url += '&'+$.param(values); url += '&'+$.param(values);
window.location.href = url; window.location.href = url;
}); });
*/
<?php if($this->getParam('theme') !== 'bootstrap4'): ?>
$('body').on('click', 'a.change-owner-btn', function(ev){
ev.preventDefault();
ev.stopPropagation();
confirmmsg = $(ev.currentTarget).attr('confirmmsg');
href = $(ev.currentTarget).attr('href');
bootbox.dialog(confirmmsg, [{
"label" : "<i class='fa fa-user'></i> <?= getMLText("batch_change_owner") ?>",
"class" : "btn-danger",
"callback": function() {
var url = "";
url = href+'&newowner='+($('#newowner').val());
var inputs = $('input[name^=\"marks\"]');
var values = {};
inputs.each(function() {
if(this.checked)
values[this.name] = 1;
});
url += '&'+$.param(values);
window.location.href = url;
}
}, {
"label" : "<?= getMLText("cancel") ?>",
"class" : "btn-cancel",
"callback": function() {
}
}]);
});
<?php else: ?>
$('body').on('click', 'a.change-owner-btn', function(ev){
ev.preventDefault();
ev.stopPropagation();
confirmmsg = $(ev.currentTarget).attr('confirmmsg');
href = $(ev.currentTarget).attr('href');
bootbox.confirm({
"message": confirmmsg,
"buttons": {
"confirm": {
"label" : "<i class='fa fa-user'></i> <?= getMLText("batch_change_owner") ?>",
"className" : "btn-danger",
},
"cancel": {
"label" : " <?= getMLText("cancel") ?>",
"className" : "btn-secondary",
}
},
"callback": function(result) {
if(result) {
var url = "";
url = href+'&newowner='+($('#newowner').val());
var inputs = $('input[name^=\"marks\"]');
var values = {};
inputs.each(function() {
if(this.checked)
values[this.name] = 1;
});
url += '&'+$.param(values);
window.location.href = url;
}
}
});
});
<?php endif; ?>
}); });
<?php <?php
// $this->printFolderChooserJs("form1"); // $this->printFolderChooserJs("form1");
@ -940,9 +1005,13 @@ function typeahead() { /* {{{ */
'class'=>'chzn-select', 'class'=>'chzn-select',
'options'=>$options, 'options'=>$options,
'placeholder'=>getMLText('select_users'), 'placeholder'=>getMLText('select_users'),
'attributes'=>array(array('style', 'width: 100%;'))
) )
); );
print $this->html_link('Search', array_merge($_GET, array('action'=>'changeowner')), array('class'=>'btn btn-primary', 'id'=>'changeowner'), "<i class=\"fa fa-user\"></i> ".getMLText("batch_change_owner"), false, true)."\n"; // print $this->html_link('Search', array_merge($_GET, array('action'=>'changeowner')), array('class'=>'btn btn-primary', 'id'=>'changeowner'), "<i class=\"fa fa-user\"></i> ".getMLText("batch_change_owner"), false, true)."\n";
print $this->html_link('Search', array_merge($_GET, array('action'=>'changeowner')), array('class'=>'btn btn-primary change-owner-btn mt-4', 'confirmmsg'=>htmlspecialchars(getMLText("confirm_change_owner", array ()), ENT_QUOTES)), "<i class=\"fa fa-user\"></i> ".getMLText("batch_change_owner"), false, true)."\n";
$content = ob_get_clean(); $content = ob_get_clean();
$this->printAccordion(getMLText('batch_change_owner'), $content); $this->printAccordion(getMLText('batch_change_owner'), $content);
} }
@ -970,7 +1039,7 @@ function typeahead() { /* {{{ */
} }
*/ */
echo $this->infoMsg(getMLText("search_report", array("count"=>$total, "doccount" => $totaldocs, "foldercount" => $totalfolders, 'searchtime'=>$searchTime))); echo $this->infoMsg(getMLText("search_report", array("count"=>$total, "doccount" => $totaldocs, "foldercount" => $totalfolders, 'searchtime'=>$searchTime)));
$this->pageList($pageNumber, $totalpages, "../out/out.Search.php", $urlparams); $this->pageList((int) $pageNumber, $totalpages, "../out/out.Search.php", $urlparams);
// $this->contentContainerStart(); // $this->contentContainerStart();
$txt = $this->callHook('searchListHeader', $orderby, 'asc'); $txt = $this->callHook('searchListHeader', $orderby, 'asc');
@ -1086,7 +1155,7 @@ function typeahead() { /* {{{ */
else else
print "</tbody></table>\n"; print "</tbody></table>\n";
// $this->contentContainerEnd(); // $this->contentContainerEnd();
$this->pageList($pageNumber, $totalpages, "../out/out.Search.php", $_GET); $this->pageList((int) $pageNumber, $totalpages, "../out/out.Search.php", $_GET);
} else { } else {
$numResults = $totaldocs + $totalfolders; $numResults = $totaldocs + $totalfolders;
if ($numResults == 0) { if ($numResults == 0) {

View File

@ -176,9 +176,9 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
<td><?= getMLText($title) ?></td> <td><?= getMLText($title) ?></td>
<td> <td>
<?php if($multiple) { ?> <?php if($multiple) { ?>
<select class="form-control" name="<?= $name ?>[]" multiple> <select class="chzn-select form-control" style="width: 100%;" name="<?= $name ?>[]" multiple>
<?php } else { ?> <?php } else { ?>
<select class="form-control" name="<?= $name ?>"> <select class="chzn-select form-control" style="width: 100%;" name="<?= $name ?>">
<?php } <?php }
foreach($values as $i=>$value) { foreach($values as $i=>$value) {
$optval = trim($isass ? $i : $value); $optval = trim($isass ? $i : $value);
@ -589,7 +589,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
case 'select': case 'select':
if(!empty($conf['options'])) { if(!empty($conf['options'])) {
$selections = empty($settings->_extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]); $selections = empty($settings->_extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]);
echo "<select class=\"chzn-select\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "").">"; echo "<select class=\"chzn-select\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." style=\"width: 100%;\">";
foreach($conf['options'] as $key=>$opt) { foreach($conf['options'] as $key=>$opt) {
echo "<option value=\"".$key."\""; echo "<option value=\"".$key."\"";
if(in_array($key, $selections)) if(in_array($key, $selections))
@ -604,7 +604,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
case "categories": case "categories":
$categories = $dms->getDocumentCategories(); $categories = $dms->getDocumentCategories();
if($categories) { if($categories) {
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_category")."\">"; echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_category")."\" style=\"width: 100%;\">";
if($allowempty) if($allowempty)
echo "<option value=\"\"></option>"; echo "<option value=\"\"></option>";
foreach($categories as $category) { foreach($categories as $category) {
@ -619,7 +619,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
case "users": case "users":
$users = $dms->getAllUsers(); $users = $dms->getAllUsers();
if($users) { if($users) {
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_user")."\">"; echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_user")."\" style=\"width: 100%;\">";
if($allowempty) if($allowempty)
echo "<option value=\"\"></option>"; echo "<option value=\"\"></option>";
foreach($users as $curuser) { foreach($users as $curuser) {
@ -634,7 +634,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
case "groups": case "groups":
$recs = $dms->getAllGroups(); $recs = $dms->getAllGroups();
if($recs) { if($recs) {
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_group")."\">"; echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_group")."\" style=\"width: 100%;\">";
if($allowempty) if($allowempty)
echo "<option value=\"\"></option>"; echo "<option value=\"\"></option>";
foreach($recs as $rec) { foreach($recs as $rec) {
@ -651,7 +651,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
$attrtype = empty($conf['attrtype']) ? 0 : $conf['attrtype']; $attrtype = empty($conf['attrtype']) ? 0 : $conf['attrtype'];
$recs = $dms->getAllAttributeDefinitions($objtype, $attrtype); $recs = $dms->getAllAttributeDefinitions($objtype, $attrtype);
if($recs) { if($recs) {
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attrdef")."\" data-no_results_text=\"".getMLText('unknown_attrdef')."\">"; echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attrdef")."\" data-no_results_text=\"".getMLText('unknown_attrdef')."\" style=\"width: 100%;\">";
if($allowempty) if($allowempty)
echo "<option value=\"\"></option>"; echo "<option value=\"\"></option>";
foreach($recs as $rec) { foreach($recs as $rec) {
@ -668,7 +668,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
case "workflows": case "workflows":
$recs = $dms->getAllWorkflows(); $recs = $dms->getAllWorkflows();
if($recs) { if($recs) {
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attribute_value")."\">"; echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")."\" name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attribute_value")."\" style=\"width: 100%;\">";
if($allowempty) if($allowempty)
echo "<option value=\"\"></option>"; echo "<option value=\"\"></option>";
foreach($recs as $rec) { foreach($recs as $rec) {

View File

@ -41,6 +41,8 @@ class SeedDMS_View_Timeline extends SeedDMS_Theme_Style {
$document = $this->params['document']; $document = $this->params['document'];
$version = $this->params['version']; $version = $this->params['version'];
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$conversionmgr = $this->params['conversionmgr'];
$previewconverters = $this->params['previewConverters'];
$previewwidthlist = $this->params['previewWidthList']; $previewwidthlist = $this->params['previewWidthList'];
$previewwidthdetail = $this->params['previewWidthDetail']; $previewwidthdetail = $this->params['previewWidthDetail'];
$timeout = $this->params['timeout']; $timeout = $this->params['timeout'];
@ -50,6 +52,10 @@ class SeedDMS_View_Timeline extends SeedDMS_Theme_Style {
print $this->folderListHeader(); print $this->folderListHeader();
print "<tbody>\n"; print "<tbody>\n";
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile);
if($conversionmgr)
$previewer->setConversionMgr($conversionmgr);
else
$previewer->setConverters($previewconverters);
$extracontent = array(); $extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($document); $extracontent['below_title'] = $this->getListRowPath($document);
echo $this->documentListRow($document, $previewer, 0, false, $extracontent); echo $this->documentListRow($document, $previewer, 0, false, $extracontent);
@ -158,10 +164,21 @@ $(document).ready(function () {
); );
}); });
}); });
function onselect() {
var sel = timeline.getSelection();
if (sel.length) {
if (sel[0].row != undefined) {
var row = sel[0].row;
console.log(timeline.getItem(sel[0].row));
item = timeline.getItem(sel[0].row);
$('div.ajax').trigger('update', {documentid: item.docid, version: item.version, statusid: item.statusid, statuslogid: item.statuslogid, fileid: item.fileid});
}
}
}
<?php <?php
$this->printDeleteDocumentButtonJs(); $this->printDeleteDocumentButtonJs();
$timelineurl = 'out.Timeline.php?action=data&fromdate='.date('Y-m-d', $from).'&todate='.date('Y-m-d', $to).'&skip='.urldecode(http_build_query(array('skip'=>$skip))); $timelineurl = 'out.Timeline.php?action=data&fromdate='.date('Y-m-d', $from).'&todate='.date('Y-m-d', $to).'&skip='.urldecode(http_build_query(array('skip'=>$skip)));
$this->printTimelineJs($timelineurl, 550, ''/*date('Y-m-d', $from)*/, ''/*date('Y-m-d', $to+1)*/, $skip); $this->printTimelineJs($timelineurl, 550, ''/*date('Y-m-d', $from)*/, ''/*date('Y-m-d', $to+1)*/, $skip, 'onselect');
$this->printClickDocumentJs(); $this->printClickDocumentJs();
} /* }}} */ } /* }}} */

View File

@ -155,6 +155,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style {
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$conversionmgr = $this->params['conversionmgr']; $conversionmgr = $this->params['conversionmgr'];
$previewconverters = $this->params['previewConverters']; $previewconverters = $this->params['previewConverters'];
$previewwidthlist = $this->params['previewWidthList'];
$previewwidthdetail = $this->params['previewWidthDetail'];
$timeout = $this->params['timeout']; $timeout = $this->params['timeout'];
$xsendfile = $this->params['xsendfile']; $xsendfile = $this->params['xsendfile'];
$document = $this->params['document']; $document = $this->params['document'];

View File

@ -337,11 +337,11 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <ul class=\"navbar-nav\">\n"; echo " <ul class=\"navbar-nav\">\n";
$menuitems = array(); $menuitems = array();
/* calendar {{{ */ /* calendar {{{ */
if ($this->params['enablecalendar'] && $accessobject->check_view_access('Calendar')) $menuitems['calendar'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Calendar.php?mode='.$this->params['calendardefaultview'], 'label'=>"calendar"); if ($this->params['enablecalendar'] && $accessobject->check_view_access('Calendar')) $menuitems['calendar'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Calendar.php?mode='.$this->params['calendardefaultview'], 'label'=>getMLText("calendar"));
if ($this->params['user']->isAdmin()) $menuitems['admintools'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.AdminTools.php', 'label'=>"admin_tools"); if ($accessobject->check_view_access('AdminTools')) $menuitems['admintools'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.AdminTools.php', 'label'=>getMLText("admin_tools"));
if($this->params['enablehelp']) { if($this->params['enablehelp']) {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$menuitems['help'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Help.php?context='.$tmp[1], 'label'=>"help"); $menuitems['help'] = array('link'=>$this->params['settings']->_httpRoot.'out/out.Help.php?context='.$tmp[1], 'label'=>getMLText("help"));
} }
/* }}} End of calendar */ /* }}} End of calendar */
@ -351,14 +351,14 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
foreach($menuitems as $menuitem) { foreach($menuitems as $menuitem) {
if(!empty($menuitem['children'])) { if(!empty($menuitem['children'])) {
echo " <li class=\"nav-item dropdown\">\n"; echo " <li class=\"nav-item dropdown\">\n";
echo " <a class=\"nav-link dropdown-toggle\" data-toggle=\"dropdown\">".getMLText($menuitem['label'])."</a>\n"; echo " <a class=\"nav-link dropdown-toggle\" data-toggle=\"dropdown\">".$menuitem['label']."</a>\n";
echo " <div class=\"dropdown-menu dropdown-menu-left\">\n"; echo " <div class=\"dropdown-menu dropdown-menu-left\">\n";
foreach($menuitem['children'] as $submenuitem) { foreach($menuitem['children'] as $submenuitem) {
echo " <a class=\"dropdown-item\" href=\"".$submenuitem['link']."\"".(isset($submenuitem['target']) ? ' target="'.$submenuitem['target'].'"' : '').">".getMLText($submenuitem['label'])."</a>\n"; echo " <a class=\"dropdown-item\" href=\"".$submenuitem['link']."\"".(isset($submenuitem['target']) ? ' target="'.$submenuitem['target'].'"' : '').">".$submenuitem['label']."</a>\n";
} }
echo " </div>\n"; echo " </div>\n";
} else { } else {
echo "<li class=\"nav-item\"><a class=\"nav-link\" href=\"".$menuitem['link']."\"".(isset($menuitem['target']) ? ' target="'.$menuitem['target'].'"' : '').">".getMLText($menuitem['label'])."</a></li>"; echo "<li class=\"nav-item\"><a class=\"nav-link\" href=\"".$menuitem['link']."\"".(isset($menuitem['target']) ? ' target="'.$menuitem['target'].'"' : '').">".$menuitem['label']."</a></li>";
} }
} }
echo " </ul>\n"; echo " </ul>\n";
@ -408,16 +408,16 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if (!$this->params['user']->isGuest()) { if (!$this->params['user']->isGuest()) {
$menuitems = array(); $menuitems = array();
if ($accessobject->check_view_access('MyDocuments')) if ($accessobject->check_view_access('MyDocuments'))
$menuitems['my_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php?inProcess=1", 'label'=>'my_documents'); $menuitems['my_documents'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyDocuments.php?inProcess=1", 'label'=>getMLText('my_documents'));
if ($accessobject->check_view_access('MyAccount')) if ($accessobject->check_view_access('MyAccount'))
$menuitems['my_account'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyAccount.php", 'label'=>'my_account'); $menuitems['my_account'] = array('link'=>$this->params['settings']->_httpRoot."out/out.MyAccount.php", 'label'=>getMLText('my_account'));
if ($accessobject->check_view_access('TransmittalMgr')) if ($accessobject->check_view_access('TransmittalMgr'))
$menuitems['my_transmittals'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransmittalMgr.php", 'label'=>'my_transmittals'); $menuitems['my_transmittals'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransmittalMgr.php", 'label'=>getMLText('my_transmittals'));
if($this->hasHook('userMenuItems')) if($this->hasHook('userMenuItems'))
$menuitems = $this->callHook('userMenuItems', $menuitems); $menuitems = $this->callHook('userMenuItems', $menuitems);
if($menuitems) { if($menuitems) {
foreach($menuitems as $menuitem) { foreach($menuitems as $menuitem) {
echo " <a class=\"dropdown-item\" href=\"".$menuitem['link']."\">".getMLText($menuitem['label'])."</a>\n"; echo " <a class=\"dropdown-item\" href=\"".$menuitem['link']."\">".$menuitem['label']."</a>\n";
} }
echo " <div class=\"dropdown-divider\"></div>\n"; echo " <div class=\"dropdown-divider\"></div>\n";
} }
@ -1010,7 +1010,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
} /* }}} */ } /* }}} */
function pageList($pageNumber, $totalPages, $baseURI, $params) { /* {{{ */ function pageList($pageNumber, $totalPages, $baseURI, $params, $dataparams=[]) { /* {{{ */
$maxpages = 25; // skip pages when more than this is shown $maxpages = 25; // skip pages when more than this is shown
$range = 2; // pages left and right of current page $range = 2; // pages left and right of current page
@ -1029,11 +1029,17 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$first=false; $first=false;
} }
$datastr = '';
if($dataparams) {
$datastr .= ' ';
foreach($dataparams as $k=>$v)
$datastr .= 'data-'.$k.'="'.$v.'"';
}
echo "<nav aria-label=\"pagination\">"; echo "<nav aria-label=\"pagination\">";
echo "<ul class=\"pagination pagination-sm\">"; echo "<ul class=\"pagination pagination-sm\">";
if($totalPages <= $maxpages) { if($totalPages <= $maxpages) {
for ($i = 1; $i <= $totalPages; $i++) { for ($i = 1; $i <= $totalPages; $i++) {
echo "<li class=\"page-item".($i == $pageNumber ? ' active' : "" )."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".$i."\">".$i."</a></li>"; echo "<li class=\"page-item".($i == $pageNumber ? ' active' : "" )."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".$i."\" data-page=\"".$i."\"".$datastr.">".$i."</a></li>";
} }
} else { } else {
if($pageNumber-$range > 1) if($pageNumber-$range > 1)
@ -1053,21 +1059,21 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$end -= $diff; $end -= $diff;
} }
// if($pageNumber > 1) // if($pageNumber > 1)
echo "<li class=\"page-item".($pageNumber == 1 ? " disabled" : "")."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".($pageNumber-1)."\">&laquo;</a></li>"; echo "<li class=\"page-item".($pageNumber == 1 ? " disabled" : "")."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".($pageNumber-1)."\" data-page=\"".($pageNumber-1)."\"".$datastr.">&laquo;</a></li>";
echo "<li class=\"page-item".(1 == $pageNumber ? ' active' : "" )."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=1\">1</a></li>"; echo "<li class=\"page-item".(1 == $pageNumber ? ' active' : "" )."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=1\" data-page=\"1\"".$datastr.">1</a></li>";
if($start > 2) if($start > 2)
echo "<li class=\"page-item disabled\"><a class=\"page-link\">...</a></li>"; echo "<li class=\"page-item disabled\"><a class=\"page-link\">...</a></li>";
for($j=$start; $j<=$end; $j++) for($j=$start; $j<=$end; $j++)
echo "<li class=\"page-item".($j == $pageNumber ? ' active' : "" )."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".$j."\">".$j."</a></li>"; echo "<li class=\"page-item".($j == $pageNumber ? ' active' : "" )."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".$j."\" data-page=\"".$j."\"".$datastr.">".$j."</a></li>";
if($end < $totalPages-1) if($end < $totalPages-1)
echo "<li class=\"page-item disabled\"><a class=\"page-link\">...</a></li>"; echo "<li class=\"page-item disabled\"><a class=\"page-link\">...</a></li>";
if($end < $totalPages) if($end < $totalPages)
echo "<li class=\"page-item".($totalPages == $pageNumber ? ' active' : "" )."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".$totalPages."\">".$totalPages."</a></li>"; echo "<li class=\"page-item".($totalPages == $pageNumber ? ' active' : "" )."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".$totalPages."\" data-page=\"".$totalPages."\"".$datastr.">".$totalPages."</a></li>";
if($pageNumber < $totalPages) if($pageNumber < $totalPages)
echo "<li class=\"page-item\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".($pageNumber+1)."\">&raquo;</a></li>"; echo "<li class=\"page-item\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=".($pageNumber+1)."\" data-page=\"".($pageNumber+1)."\"".$datastr.">&raquo;</a></li>";
} }
if ($totalPages>1) { if ($totalPages>1) {
echo "<li class=\"page-item\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=all\">".getMLText("all_pages")."</a></li>"; echo "<li class=\"page-item".(0 == $pageNumber ? ' active' : "" )."\"><a class=\"page-link\" href=\"".$resultsURI.($first ? "?" : "&")."pg=all\" data-page=\"all\"".$datastr.">".getMLText("all_pages")."</a></li>";
} }
echo "</ul>"; echo "</ul>";
echo "</nav>"; echo "</nav>";
@ -3846,7 +3852,7 @@ $(document).ready(function() {
* *
* @param object $document document * @param object $document document
*/ */
protected function printTimelineJs($timelineurl, $height=300, $start='', $end='', $skip=array()) { /* {{{ */ protected function printTimelineJs($timelineurl, $height=300, $start='', $end='', $skip=array(), $onselect="") { /* {{{ */
if(!$timelineurl) if(!$timelineurl)
return; return;
?> ?>
@ -3873,21 +3879,16 @@ $(document).ready(function() {
'locale': '<?php echo $this->params['session']->getLanguage() ?>' 'locale': '<?php echo $this->params['session']->getLanguage() ?>'
}; };
function onselect() {
var sel = timeline.getSelection();
if (sel.length) {
if (sel[0].row != undefined) {
var row = sel[0].row;
console.log(timeline.getItem(sel[0].row));
item = timeline.getItem(sel[0].row);
$('div.ajax').trigger('update', {documentid: item.docid, version: item.version, statusid: item.statusid, statuslogid: item.statuslogid, fileid: item.fileid});
}
}
}
$(document).ready(function () { $(document).ready(function () {
// Instantiate our timeline object. // Instantiate our timeline object.
timeline = new links.Timeline(document.getElementById('timeline'), options); timeline = new links.Timeline(document.getElementById('timeline'), options);
links.events.addListener(timeline, 'select', onselect); <?php
if($onselect):
?>
links.events.addListener(timeline, 'select', <?= $onselect ?>);
<?php
endif;
?>
$.getJSON( $.getJSON(
'<?php echo $timelineurl ?>', '<?php echo $timelineurl ?>',
function(data) { function(data) {

View File

@ -62,7 +62,7 @@ function initMost() {
$(".chzn-select").select2({ $(".chzn-select").select2({
theme: "bootstrap4", theme: "bootstrap4",
width: '100%', width: 'resolve',
templateResult: chzn_template_func//, templateResult: chzn_template_func//,
//templateSelection: chzn_template_func //templateSelection: chzn_template_func
}); });

2
webdav/.htaccess Normal file
View File

@ -0,0 +1,2 @@
RewriteEngine on
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]