diff --git a/CHANGELOG b/CHANGELOG index cfff963d3..d382a1fa9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -29,16 +29,26 @@ - add document list which can be exported as an archive - search results can be exported +-------------------------------------------------------------------------------- + Changes in version 5.1.1 +-------------------------------------------------------------------------------- + -------------------------------------------------------------------------------- Changes in version 5.1.0 -------------------------------------------------------------------------------- - added support for postgresql +- document attachments can linked to a version and be public or hidden + +-------------------------------------------------------------------------------- + Changes in version 5.0.11 +-------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Changes in version 5.0.10 -------------------------------------------------------------------------------- - merged changes from 4.3.33 - new javascript base calendar +- overhaul indexing of documents -------------------------------------------------------------------------------- Changes in version 5.0.9 @@ -105,6 +115,10 @@ - add .xml to online file types by default - add home folder for users +-------------------------------------------------------------------------------- + Changes in version 4.3.34 +-------------------------------------------------------------------------------- + -------------------------------------------------------------------------------- Changes in version 4.3.33 -------------------------------------------------------------------------------- @@ -113,6 +127,7 @@ - new calendar - move folder/document properly checks for access right if done by drag and drop (Closes #309) +- show workflow log on document details page -------------------------------------------------------------------------------- Changes in version 4.3.32 diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index b34161d7f..64fe1aab9 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -1373,10 +1373,10 @@ class SeedDMS_Core_DMS { // Only search if the offset is not beyond the number of folders if($totalFolders > $offset) { // Prepare the complete search query, including the LIMIT clause. - $searchQuery = "SELECT DISTINCT `tblFolders`.* ".$searchQuery." GROUP BY `tblFolders`.`id`"; + $searchQuery = "SELECT DISTINCT `tblFolders`.`id` ".$searchQuery." GROUP BY `tblFolders`.`id`"; if($limit) { - $searchQuery .= " LIMIT ".$offset.",".$limit; + $searchQuery .= " LIMIT ".$limit." OFFSET ".$offset; } // Send the complete search query to the database. @@ -1638,7 +1638,7 @@ class SeedDMS_Core_DMS { else $offset = 0; if($limit) - $searchQuery .= " LIMIT ".$offset.",".$remain; + $searchQuery .= " LIMIT ".$limit." OFFSET ".$offset; // Send the complete search query to the database. $resArr = $this->db->getResultArray($searchQuery); @@ -1880,12 +1880,13 @@ class SeedDMS_Core_DMS { $role = $role->getID(); elseif($role == '') $role = '0'; - if(trim($pwdexpiration) == '' || trim($pwdexpiration) == 'never') + if(trim($pwdexpiration) == '' || trim($pwdexpiration) == 'never') { $pwdexpiration = 'NULL'; - elseif(trim($pwdexpiration) == 'now') + } elseif(trim($pwdexpiration) == 'now') { $pwdexpiration = $db->qstr(date('Y-m-d H:i:s')); - else + } else { $pwdexpiration = $db->qstr($pwdexpiration); + } $queryStr = "INSERT INTO `tblUsers` (`login`, `pwd`, `fullName`, `email`, `language`, `theme`, `comment`, `role`, `hidden`, `disabled`, `pwdExpiration`, `quota`, `homefolder`) VALUES (".$db->qstr($login).", ".$db->qstr($pwd).", ".$db->qstr($fullName).", ".$db->qstr($email).", '".$language."', '".$theme."', ".$db->qstr($comment).", '".intval($role)."', '".intval($isHidden)."', '".intval($isDisabled)."', ".$pwdexpiration.", '".intval($quota)."', ".($homefolder ? intval($homefolder) : "NULL").")"; $res = $this->db->getResult($queryStr); if (!$res) @@ -3029,7 +3030,7 @@ class SeedDMS_Core_DMS { $endts = $startts+86400; $timeline = array(); - $queryStr = "SELECT DISTINCT `document` FROM `tblDocumentContent` WHERE `date` > ".$startts." AND `date` < ".$endts." UNION SELECT DISTINCT `document` FROM `tblDocumentFiles` WHERE `date` > ".$startts." AND `date` < ".$endts; + $queryStr = "SELECT DISTINCT document FROM `tblDocumentContent` WHERE `date` > ".$startts." AND `date` < ".$endts." UNION SELECT DISTINCT document FROM `tblDocumentFiles` WHERE `date` > ".$startts." AND `date` < ".$endts; $resArr = $this->db->getResultArray($queryStr); if ($resArr === false) return false; diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index f0eddacfe..ebdebfc90 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,8 +12,8 @@ uwe@steinmann.cx yes - 2017-02-20 - 06:23:34 + 2017-02-28 + 06:34:50 6.0.0 6.0.0 @@ -24,7 +24,7 @@ GPL License -- all changes from 5.1.0 merged +- all changes from 5.1.1 merged - SeedDMS_Core_User::getReceiptStatus() and SeedDMS_Core_User::getReviewStatus() only return entries of the latest document version if not specific document and version is passed @@ -1181,6 +1181,21 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated - SeedDMЅ_Core_User::setFullname() minor fix in sql statement + + 2017-02-28 + 06:38:12 + + 4.3.34 + 4.3.34 + + + stable + stable + + GPL License + + + 2016-01-22 14:34:58 @@ -1343,8 +1358,24 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated - 2016-03-09 - 09:28:28 + 2017-02-28 + 06:23:34 + + 5.0.11 + 5.0.11 + + + stable + stable + + GPL License + +- all changes from 4.3.34 merged + + + + 2017-02-20 + 07:07:02 5.1.0 5.1.0 diff --git a/controllers/class.AddDocument.php b/controllers/class.AddDocument.php index 14cd6448b..56ce889ed 100644 --- a/controllers/class.AddDocument.php +++ b/controllers/class.AddDocument.php @@ -87,7 +87,10 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common { } if($index) { - $index->addDocument(new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $maxsizeforfulltext))); + $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText)); + if(!$this->callHook('preIndexDocument', $document, $idoc)) { + } + $index->addDocument($idoc); } /* Add a default notification for the owner of the document */ diff --git a/README.Extensions b/doc/README.Extensions similarity index 99% rename from README.Extensions rename to doc/README.Extensions index d1654f7dd..11038e857 100644 --- a/README.Extensions +++ b/doc/README.Extensions @@ -1,5 +1,5 @@ Extensions in SeedDMS -==================== +===================== Since verson 5.0.0 SeedDMS can be extended by extensions. Extensions can hook up functions into certain operations, e.g. diff --git a/doc/README.Hooks b/doc/README.Hooks new file mode 100644 index 000000000..5e171ed4e --- /dev/null +++ b/doc/README.Hooks @@ -0,0 +1,85 @@ +Hooks +====== + +Attention: the api for hooks isn't stable yet! + +Hooks in SeedDMS are user definied methods which are being called by +the application. The SeedDMS Core also has hooks which are being +called from the core itself. They are not subject of this document. +The SeedDMS application distinguishes between + +* view hooks and +* controller hooks + +view hooks usually return some html output which is send to the browser +and either replaces the default output or adds additional information. +A view hooks which returns false will be considered as not being called +at all. + +controller hooks implement additional functions which either replace +existing functions or add new ones. If such a hook returns null then +this is treated as if the hook was not called. If the hook returns +false it will prevent other hooks implementing the same function from +being called. All other return values will not stop other hooks from +being called. + +Currently available controller hooks +------------------------------------ +AddDocument::preAddDocument + Called before a new document will be added + +AddDocument::postAddDocument + Called after a new document has been added + +AddDocument::preIndexDocument + Called before a new document will be indexed + +UpdateDocument::preUpdateDocument + Called before a new document will be updated + +UpdateDocument::postUpdateDocument + Called after a new document has been updated + +UpdateDocument::preIndexDocument + Called before an updated document will be indexed + +RemoveDocument::preRemoveDocument + Called before a document will be removed + +RemoveDocument::removeDocument + Called for removing the document. If the hook returns null the + regular document removal will happen. + +RemoveDocument::postRemoveDocument + Called after a document was removed + +RemoveFolder::preRemoveFolder + Called before a document will be removed + +RemoveFolder::removeFolder + Called for removing the folder. If the hook returns null the + regular folder removal will happen. + +RemoveFolder::postRemoveFolder + Called after a document was removed + +EditFolder::preEditFolder + +EditFolder::EditFolder + +EditFolder::postEditFolder + +ViewOnline::version + Called when a document is downloaded for online view + +Download::version + Called when a document is downloaded for saving on disk + +Login::postLogin + Called after user in fully logged in + +Logout::postLogout + Called after user is logged out + +Currently available view hooks +------------------------------------ diff --git a/doc/README.Notification b/doc/README.Notification index 8ec3dffd5..c00664cee 100644 --- a/doc/README.Notification +++ b/doc/README.Notification @@ -108,7 +108,6 @@ op/op.TriggerWorkflow.php * Workflow transition was triggered subscribers of the document -op/op.UpdateDocument2.php op/op.UpdateDocument.php * document was updated subscribers of the document diff --git a/doc/README.Translation b/doc/README.Translation new file mode 100644 index 000000000..8ca6fe141 --- /dev/null +++ b/doc/README.Translation @@ -0,0 +1,42 @@ +Help translating SeedDMS +=========================== + +SeedDMS has got many translations over the years and it is a major +task to keep them all updated. If you would like to give a helping +hand, then this will be much appreciated. There are various ways +to contribute translations. + +1. The demo version of SeedDMS at https://demo.seeddms.org will list +all missing translations in a formular on the bottom of the page +while using the software. You can easily provide a missing translation +by filling out the form and submitting it. The translation will not +instantly be used, but is taken over into the official version of +SeedDMS once in a while. This method does not allow to submit corrected +translations of existing phrases. + +2. Fixing translations is only possible by modifying one of the language +files in `lanuages/xx_XX/lang.inc`. These files are php files containing +one large array named `$text`. Any modification will be visible right away +in your SeedDMS installation. If you intend to pass your modifications to +the developers of SeedDMS, than keep your changes seperate from the +original translation. A good way is to put your changes into a new +file, e.g. `lang-local.inc` containing an array named `$text_local` and +merge that array with the original translation array. Just put at the +end of `lanuages/xx_XX/lang.inc` the follwing code: + + include('lang-local.inc'); + array_merge($text, $text_local); + +Also create the file `lang-local.inc` with the content + + 'yyy', + ); + ?> + +Once you are ready with your local modifications and you think those are +good enough for the public version of SeedDMS, then please mail them to +info@seeddms.org + + diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 8cda50f58..9672b1b25 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -1274,6 +1274,7 @@ class Settings { /* {{{ */ case 'mysql': case 'mysqli': case 'mysqlnd': + case 'pgsql': $tmp = explode(":", $this->_dbHostname); $dsn = $this->_dbDriver.":dbname=".$this->_dbDatabase.";host=".$tmp[0]; if(!empty($tmp[1])) @@ -1287,7 +1288,7 @@ class Settings { /* {{{ */ "status" => "notfound", "type" => "error", "currentvalue" => $this->_dbDriver, - "suggestionvalue" => "mysql|sqlite" + "suggestionvalue" => "mysql|sqlite|pgsql" ); } if($dsn) { diff --git a/install/create_tables-innodb.sql b/install/create_tables-innodb.sql index 25e1779cb..49084ac27 100644 --- a/install/create_tables-innodb.sql +++ b/install/create_tables-innodb.sql @@ -1,60 +1,60 @@ --- +-- -- Table structure for table `tblACLs` --- +-- CREATE TABLE `tblACLs` ( - `id` int(11) NOT NULL auto_increment, - `target` int(11) NOT NULL default '0', - `targetType` tinyint(4) NOT NULL default '0', - `userID` int(11) NOT NULL default '-1', - `groupID` int(11) NOT NULL default '-1', - `mode` tinyint(4) NOT NULL default '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- -------------------------------------------------------- - --- --- Table structure for table `tblCategory` --- - -CREATE TABLE `tblCategory` ( - `id` int(11) NOT NULL auto_increment, - `name` text NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- -------------------------------------------------------- - --- --- Table structure for table `tblAttributeDefinitions` --- - -CREATE TABLE `tblAttributeDefinitions` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(100) default NULL, - `objtype` tinyint(4) NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `multiple` tinyint(4) NOT NULL default '0', - `minvalues` int(11) NOT NULL default '0', - `maxvalues` int(11) NOT NULL default '0', - `valueset` text default NULL, - `regex` text default NULL, - UNIQUE(`name`), + `id` int(11) NOT NULL AUTO_INCREMENT, + `target` int(11) NOT NULL DEFAULT '0', + `targetType` tinyint(4) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '-1', + `groupID` int(11) NOT NULL DEFAULT '-1', + `mode` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- +-- Table structure for table `tblCategory` +-- + +CREATE TABLE `tblCategory` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` text NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `tblAttributeDefinitions` +-- + +CREATE TABLE `tblAttributeDefinitions` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `objtype` tinyint(4) NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `multiple` tinyint(4) NOT NULL DEFAULT '0', + `minvalues` int(11) NOT NULL DEFAULT '0', + `maxvalues` int(11) NOT NULL DEFAULT '0', + `valueset` text DEFAULT NULL, + `regex` text DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- -- Table structure for table `tblUsers` --- +-- CREATE TABLE `tblRoles` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(50) default NULL, - `role` smallint(1) NOT NULL default '0', - `noaccess` varchar(30) NOT NULL default '', + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) DEFAULT NULL, + `role` smallint(1) NOT NULL DEFAULT '0', + `noaccess` varchar(30) NOT NULL DEFAULT '', PRIMARY KEY (`id`), UNIQUE (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -66,107 +66,111 @@ CREATE TABLE `tblRoles` ( -- CREATE TABLE `tblUsers` ( - `id` int(11) NOT NULL auto_increment, - `login` varchar(50) default NULL, - `pwd` varchar(50) default NULL, - `secret` varchar(50) default NULL, - `fullName` varchar(100) default NULL, - `email` varchar(70) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `login` varchar(50) DEFAULT NULL, + `pwd` varchar(50) DEFAULT NULL, + `secret` varchar(50) DEFAULT NULL, + `fullName` varchar(100) DEFAULT NULL, + `email` varchar(70) DEFAULT NULL, `language` varchar(32) NOT NULL, `theme` varchar(32) NOT NULL, `comment` text NOT NULL, `role` int(11) NOT NULL, - `hidden` smallint(1) NOT NULL default '0', - `pwdExpiration` datetime default NULL, - `loginfailures` tinyint(4) NOT NULL default '0', - `disabled` smallint(1) NOT NULL default '0', - `quota` bigint, - `homefolder` int(11) default NULL, + `hidden` smallint(1) NOT NULL DEFAULT '0', + `pwdExpiration` datetime DEFAULT NULL, + `loginfailures` tinyint(4) NOT NULL DEFAULT '0', + `disabled` smallint(1) NOT NULL DEFAULT '0', + `quota` bigint(20) DEFAULT NULL, + `homefolder` int(11) DEFAULT NULL, PRIMARY KEY (`id`), - UNIQUE (`login`), + UNIQUE KEY `login` (`login`), CONSTRAINT `tblUsers_role` FOREIGN KEY (`role`) REFERENCES `tblRoles` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblUserSubstitutes` --- +-- CREATE TABLE `tblUserSubstitutes` ( - `id` int(11) NOT NULL auto_increment, - `user` int(11) default null, - `substitute` int(11) default null, + `id` int(11) NOT NULL AUTO_INCREMENT, + `user` int(11) DEFAULT null, + `substitute` int(11) DEFAULT null, PRIMARY KEY (`id`), - UNIQUE (`user`, `substitute`), + UNIQUE KEY `user` (`user`,`substitute`), CONSTRAINT `tblUserSubstitutes_user` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, CONSTRAINT `tblUserSubstitutes_substitute` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ); -- -------------------------------------------------------- --- +-- -- Table structure for table `tblUserPasswordRequest` --- +-- CREATE TABLE `tblUserPasswordRequest` ( - `id` int(11) NOT NULL auto_increment, - `userID` int(11) NOT NULL default '0', - `hash` varchar(50) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `userID` int(11) NOT NULL DEFAULT '0', + `hash` varchar(50) DEFAULT NULL, `date` datetime NOT NULL, - PRIMARY KEY (`id`), + PRIMARY KEY (`id`), + KEY `tblUserPasswordRequest_user` (`userID`), CONSTRAINT `tblUserPasswordRequest_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblUserPasswordHistory` --- +-- CREATE TABLE `tblUserPasswordHistory` ( - `id` int(11) NOT NULL auto_increment, - `userID` int(11) NOT NULL default '0', - `pwd` varchar(50) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `userID` int(11) NOT NULL DEFAULT '0', + `pwd` varchar(50) DEFAULT NULL, `date` datetime NOT NULL, - PRIMARY KEY (`id`), + PRIMARY KEY (`id`), + KEY `tblUserPasswordHistory_user` (`userID`), CONSTRAINT `tblUserPasswordHistory_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblUserImages` --- +-- CREATE TABLE `tblUserImages` ( - `id` int(11) NOT NULL auto_increment, - `userID` int(11) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `userID` int(11) NOT NULL DEFAULT '0', `image` blob NOT NULL, - `mimeType` varchar(100) NOT NULL default '', - PRIMARY KEY (`id`), + `mimeType` varchar(100) NOT NULL DEFAULT '', + PRIMARY KEY (`id`), + KEY `tblUserImages_user` (`userID`), CONSTRAINT `tblUserImages_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblFolders` --- +-- CREATE TABLE `tblFolders` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(70) default NULL, - `parent` int(11) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(70) DEFAULT NULL, + `parent` int(11) DEFAULT NULL, `folderList` text NOT NULL, `comment` text, - `date` int(12) default NULL, - `owner` int(11) default NULL, - `inheritAccess` tinyint(1) NOT NULL default '1', - `defaultAccess` tinyint(4) NOT NULL default '0', - `sequence` double NOT NULL default '0', - PRIMARY KEY (`id`), + `date` int(12) DEFAULT NULL, + `owner` int(11) DEFAULT NULL, + `inheritAccess` tinyint(1) NOT NULL DEFAULT '1', + `defaultAccess` tinyint(4) NOT NULL DEFAULT '0', + `sequence` double NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), KEY `parent` (`parent`), + KEY `tblFolders_owner` (`owner`), CONSTRAINT `tblFolders_owner` FOREIGN KEY (`owner`) REFERENCES `tblUsers` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -174,153 +178,163 @@ ALTER TABLE `tblUsers` ADD CONSTRAINT `tblUsers_homefolder` FOREIGN KEY (`homefo -- -------------------------------------------------------- --- +-- -- Table structure for table `tblFolderAttributes` --- +-- CREATE TABLE `tblFolderAttributes` ( - `id` int(11) NOT NULL auto_increment, - `folder` int(11) default NULL, - `attrdef` int(11) default NULL, - `value` text default NULL, - PRIMARY KEY (`id`), - UNIQUE (folder, attrdef), - CONSTRAINT `tblFolderAttributes_folder` FOREIGN KEY (`folder`) REFERENCES `tblFolders` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblFolderAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`) + `id` int(11) NOT NULL AUTO_INCREMENT, + `folder` int(11) DEFAULT NULL, + `attrdef` int(11) DEFAULT NULL, + `value` text, + PRIMARY KEY (`id`), + UNIQUE KEY `folder` (`folder`,`attrdef`), + KEY `tblFolderAttributes_attrdef` (`attrdef`), + CONSTRAINT `tblFolderAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`), + CONSTRAINT `tblFolderAttributes_folder` FOREIGN KEY (`folder`) REFERENCES `tblFolders` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocuments` --- +-- CREATE TABLE `tblDocuments` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(150) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(150) DEFAULT NULL, `comment` text, - `date` int(12) default NULL, - `expires` int(12) default NULL, - `owner` int(11) default NULL, - `folder` int(11) default NULL, + `date` int(12) DEFAULT NULL, + `expires` int(12) DEFAULT NULL, + `owner` int(11) DEFAULT NULL, + `folder` int(11) DEFAULT NULL, `folderList` text NOT NULL, - `inheritAccess` tinyint(1) NOT NULL default '1', - `defaultAccess` tinyint(4) NOT NULL default '0', - `locked` int(11) NOT NULL default '-1', + `inheritAccess` tinyint(1) NOT NULL DEFAULT '1', + `defaultAccess` tinyint(4) NOT NULL DEFAULT '0', + `locked` int(11) NOT NULL DEFAULT '-1', `keywords` text NOT NULL, - `sequence` double NOT NULL default '0', - PRIMARY KEY (`id`), + `sequence` double NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `tblDocuments_folder` (`folder`), + KEY `tblDocuments_owner` (`owner`), CONSTRAINT `tblDocuments_folder` FOREIGN KEY (`folder`) REFERENCES `tblFolders` (`id`), CONSTRAINT `tblDocuments_owner` FOREIGN KEY (`owner`) REFERENCES `tblUsers` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentAttributes` --- +-- CREATE TABLE `tblDocumentAttributes` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) default NULL, - `attrdef` int(11) default NULL, - `value` text default NULL, - PRIMARY KEY (`id`), - UNIQUE (document, attrdef), - CONSTRAINT `tblDocumentAttributes_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblDocumentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`) + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) DEFAULT NULL, + `attrdef` int(11) DEFAULT NULL, + `value` text, + PRIMARY KEY (`id`), + UNIQUE KEY `document` (`document`,`attrdef`), + KEY `tblDocumentAttributes_attrdef` (`attrdef`), + CONSTRAINT `tblDocumentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`), + CONSTRAINT `tblDocumentAttributes_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentApprovers` --- +-- CREATE TABLE `tblDocumentApprovers` ( - `approveID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `required` int(11) NOT NULL default '0', - PRIMARY KEY (`approveID`), + `approveID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `required` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`approveID`), UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), CONSTRAINT `tblDocumentApprovers_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentApproveLog` --- +-- CREATE TABLE `tblDocumentApproveLog` ( - `approveLogID` int(11) NOT NULL auto_increment, - `approveID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `approveLogID` int(11) NOT NULL AUTO_INCREMENT, + `approveID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`approveLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`approveLogID`), + KEY `tblDocumentApproveLog_approve` (`approveID`), + KEY `tblDocumentApproveLog_user` (`userID`), CONSTRAINT `tblDocumentApproveLog_approve` FOREIGN KEY (`approveID`) REFERENCES `tblDocumentApprovers` (`approveID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentApproveLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentContent` --- +-- CREATE TABLE `tblDocumentContent` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) NOT NULL DEFAULT '0', `version` smallint(5) unsigned NOT NULL, `comment` text, - `date` int(12) default NULL, - `createdBy` int(11) default NULL, - `dir` varchar(255) NOT NULL default '', - `orgFileName` varchar(150) NOT NULL default '', - `fileType` varchar(10) NOT NULL default '', - `mimeType` varchar(100) NOT NULL default '', - `fileSize` BIGINT, - `checksum` char(32), - `revisiondate` datetime default NULL, - PRIMARY KEY (`id`), - UNIQUE (`document`, `version`), + `date` int(12) DEFAULT NULL, + `createdBy` int(11) DEFAULT NULL, + `dir` varchar(255) NOT NULL DEFAULT '', + `orgFileName` varchar(150) NOT NULL DEFAULT '', + `fileType` varchar(10) NOT NULL DEFAULT '', + `mimeType` varchar(100) NOT NULL DEFAULT '', + `fileSize` bigint(20) DEFAULT NULL, + `checksum` char(32) DEFAULT NULL, + `revisiondate` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `document` (`document`,`version`), CONSTRAINT `tblDocumentContent_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentContentAttributes` --- +-- CREATE TABLE `tblDocumentContentAttributes` ( - `id` int(11) NOT NULL auto_increment, - `content` int(11) default NULL, - `attrdef` int(11) default NULL, - `value` text default NULL, - PRIMARY KEY (`id`), - UNIQUE (content, attrdef), - CONSTRAINT `tblDocumentContentAttributes_document` FOREIGN KEY (`content`) REFERENCES `tblDocumentContent` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblDocumentContentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`) + `id` int(11) NOT NULL AUTO_INCREMENT, + `content` int(11) DEFAULT NULL, + `attrdef` int(11) DEFAULT NULL, + `value` text, + PRIMARY KEY (`id`), + UNIQUE KEY `content` (`content`,`attrdef`), + KEY `tblDocumentContentAttributes_attrdef` (`attrdef`), + CONSTRAINT `tblDocumentContentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`), + CONSTRAINT `tblDocumentContentAttributes_document` FOREIGN KEY (`content`) REFERENCES `tblDocumentContent` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentLinks` --- +-- CREATE TABLE `tblDocumentLinks` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) NOT NULL default '0', - `target` int(11) NOT NULL default '0', - `userID` int(11) NOT NULL default '0', - `public` tinyint(1) NOT NULL default '0', - PRIMARY KEY (`id`), + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) NOT NULL DEFAULT '0', + `target` int(11) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', + `public` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `tblDocumentLinks_document` (`document`), + KEY `tblDocumentLinks_target` (`target`), + KEY `tblDocumentLinks_user` (`userID`), CONSTRAINT `tblDocumentLinks_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentLinks_target` FOREIGN KEY (`target`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentLinks_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) @@ -328,57 +342,58 @@ CREATE TABLE `tblDocumentLinks` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentFiles` --- +-- CREATE TABLE `tblDocumentFiles` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `userID` int(11) NOT NULL default '0', - `public` tinyint(1) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `public` tinyint(1) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', `comment` text, - `name` varchar(150) default NULL, - `date` int(12) default NULL, - `dir` varchar(255) NOT NULL default '', - `orgFileName` varchar(150) NOT NULL default '', - `fileType` varchar(10) NOT NULL default '', - `mimeType` varchar(100) NOT NULL default '', - PRIMARY KEY (`id`), + `name` varchar(150) DEFAULT NULL, + `date` int(12) DEFAULT NULL, + `dir` varchar(255) NOT NULL DEFAULT '', + `orgFileName` varchar(150) NOT NULL DEFAULT '', + `fileType` varchar(10) NOT NULL DEFAULT '', + `mimeType` varchar(100) NOT NULL DEFAULT '', + PRIMARY KEY (`id`), + KEY `tblDocumentFiles_document` (`document`), + KEY `tblDocumentFiles_user` (`userID`), CONSTRAINT `tblDocumentFiles_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentFiles_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - - -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentLocks` --- +-- CREATE TABLE `tblDocumentLocks` ( - `document` int(11) NOT NULL default '0', - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`document`), + `document` int(11) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`document`), + KEY `tblDocumentLocks_user` (`userID`), CONSTRAINT `tblDocumentLocks_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentLocks_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentCheckOuts` --- +-- CREATE TABLE `tblDocumentCheckOuts` ( - `document` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `userID` int(11) NOT NULL default '0', + `document` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', `date` datetime NOT NULL, - `filename` varchar(255) NOT NULL default '', - PRIMARY KEY (`document`), + `filename` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`document`), CONSTRAINT `tblDocumentCheckOuts_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentCheckOuts_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -387,465 +402,491 @@ CREATE TABLE `tblDocumentCheckOuts` ( -- -- Table structure for table `tblDocumentReviewers` --- +-- CREATE TABLE `tblDocumentReviewers` ( - `reviewID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `required` int(11) NOT NULL default '0', - PRIMARY KEY (`reviewID`), + `reviewID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `required` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`reviewID`), UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), CONSTRAINT `tblDocumentReviewers_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentReviewLog` --- +-- CREATE TABLE `tblDocumentReviewLog` ( - `reviewLogID` int(11) NOT NULL auto_increment, - `reviewID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `reviewLogID` int(11) NOT NULL AUTO_INCREMENT, + `reviewID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`reviewLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`reviewLogID`), + KEY `tblDocumentReviewLog_review` (`reviewID`), + KEY `tblDocumentReviewLog_user` (`userID`), CONSTRAINT `tblDocumentReviewLog_review` FOREIGN KEY (`reviewID`) REFERENCES `tblDocumentReviewers` (`reviewID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentReviewLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentRecipients` --- +-- CREATE TABLE `tblDocumentRecipients` ( - `receiptID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `required` int(11) NOT NULL default '0', - PRIMARY KEY (`receiptID`), + `receiptID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `required` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`receiptID`), UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), CONSTRAINT `tblDocumentRecipients_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentReceiptLog` --- +-- CREATE TABLE `tblDocumentReceiptLog` ( - `receiptLogID` int(11) NOT NULL auto_increment, - `receiptID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `receiptLogID` int(11) NOT NULL AUTO_INCREMENT, + `receiptID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`receiptLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`receiptLogID`), CONSTRAINT `tblDocumentReceiptLog_recipient` FOREIGN KEY (`receiptID`) REFERENCES `tblDocumentRecipients` (`receiptID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentReceiptLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentRevisors` --- +-- CREATE TABLE `tblDocumentRevisors` ( - `revisionID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `required` int(11) NOT NULL default '0', - `startdate` datetime default NULL, - PRIMARY KEY (`revisionID`), + `revisionID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `required` int(11) NOT NULL DEFAULT '0', + `startdate` datetime DEFAULT NULL, + PRIMARY KEY (`revisionID`), UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), CONSTRAINT `tblDocumentRevisors_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentRevisionLog` --- +-- CREATE TABLE `tblDocumentRevisionLog` ( - `revisionLogID` int(11) NOT NULL auto_increment, - `revisionID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `revisionLogID` int(11) NOT NULL AUTO_INCREMENT, + `revisionID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`revisionLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`revisionLogID`), CONSTRAINT `tblDocumentRevisionLog_revision` FOREIGN KEY (`revisionID`) REFERENCES `tblDocumentRevisors` (`revisionID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentRevisionLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- + +-- -- Table structure for table `tblDocumentStatus` --- +-- CREATE TABLE `tblDocumentStatus` ( - `statusID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - PRIMARY KEY (`statusID`), + `statusID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`statusID`), UNIQUE KEY `documentID` (`documentID`,`version`), CONSTRAINT `tblDocumentStatus_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentStatusLog` --- +-- CREATE TABLE `tblDocumentStatusLog` ( - `statusLogID` int(11) NOT NULL auto_increment, - `statusID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `statusLogID` int(11) NOT NULL AUTO_INCREMENT, + `statusID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`statusLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`statusLogID`), KEY `statusID` (`statusID`), + KEY `tblDocumentStatusLog_user` (`userID`), CONSTRAINT `tblDocumentStatusLog_status` FOREIGN KEY (`statusID`) REFERENCES `tblDocumentStatus` (`statusID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentStatusLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblGroups` --- +-- CREATE TABLE `tblGroups` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(50) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) DEFAULT NULL, `comment` text NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblGroupMembers` --- +-- CREATE TABLE `tblGroupMembers` ( - `groupID` int(11) NOT NULL default '0', - `userID` int(11) NOT NULL default '0', - `manager` smallint(1) NOT NULL default '0', - UNIQUE (`groupID`,`userID`), - CONSTRAINT `tblGroupMembers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblGroupMembers_group` FOREIGN KEY (`groupID`) REFERENCES `tblGroups` (`id`) ON DELETE CASCADE + `groupID` int(11) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', + `manager` smallint(1) NOT NULL DEFAULT '0', + UNIQUE KEY `groupID` (`groupID`,`userID`), + KEY `tblGroupMembers_user` (`userID`), + CONSTRAINT `tblGroupMembers_group` FOREIGN KEY (`groupID`) REFERENCES `tblGroups` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblGroupMembers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblKeywordCategories` --- +-- CREATE TABLE `tblKeywordCategories` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(255) NOT NULL default '', - `owner` int(11) NOT NULL default '0', - PRIMARY KEY (`id`) + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `owner` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblKeywords` --- +-- CREATE TABLE `tblKeywords` ( - `id` int(11) NOT NULL auto_increment, - `category` int(11) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `category` int(11) NOT NULL DEFAULT '0', `keywords` text NOT NULL, - PRIMARY KEY (`id`), + PRIMARY KEY (`id`), + KEY `tblKeywords_category` (`category`), CONSTRAINT `tblKeywords_category` FOREIGN KEY (`category`) REFERENCES `tblKeywordCategories` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentCategory` --- +-- CREATE TABLE `tblDocumentCategory` ( - `categoryID` int(11) NOT NULL default 0, - `documentID` int(11) NOT NULL default 0, + `categoryID` int(11) NOT NULL DEFAULT '0', + `documentID` int(11) NOT NULL DEFAULT '0', + KEY `tblDocumentCategory_category` (`categoryID`), + KEY `tblDocumentCategory_document` (`documentID`), CONSTRAINT `tblDocumentCategory_category` FOREIGN KEY (`categoryID`) REFERENCES `tblCategory` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentCategory_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblNotify` --- +-- CREATE TABLE `tblNotify` ( - `target` int(11) NOT NULL default '0', - `targetType` int(11) NOT NULL default '0', - `userID` int(11) NOT NULL default '-1', - `groupID` int(11) NOT NULL default '-1', - PRIMARY KEY (`target`,`targetType`,`userID`,`groupID`) + `target` int(11) NOT NULL DEFAULT '0', + `targetType` int(11) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '-1', + `groupID` int(11) NOT NULL DEFAULT '-1', + PRIMARY KEY (`target`,`targetType`,`userID`,`groupID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblSessions` --- +-- CREATE TABLE `tblSessions` ( - `id` varchar(50) NOT NULL default '', - `userID` int(11) NOT NULL default '0', - `lastAccess` int(11) NOT NULL default '0', - `theme` varchar(30) NOT NULL default '', - `language` varchar(30) NOT NULL default '', - `clipboard` text default NULL, - `su` INTEGER DEFAULT NULL, - `splashmsg` text default NULL, - PRIMARY KEY (`id`), + `id` varchar(50) NOT NULL DEFAULT '', + `userID` int(11) NOT NULL DEFAULT '0', + `lastAccess` int(11) NOT NULL DEFAULT '0', + `theme` varchar(30) NOT NULL DEFAULT '', + `language` varchar(30) NOT NULL DEFAULT '', + `clipboard` text, + `su` int(11) DEFAULT NULL, + `splashmsg` text, + PRIMARY KEY (`id`), + KEY `tblSessions_user` (`userID`), CONSTRAINT `tblSessions_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for mandatory reviewers --- +-- +-- Table structure for table `tblMandatoryReviewers` +-- 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`), + `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`), CONSTRAINT `tblMandatoryReviewers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for mandatory approvers --- +-- +-- Table structure for table `tblMandatoryApprovers` +-- 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`), + `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`), CONSTRAINT `tblMandatoryApprovers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for events (calendar) --- +-- +-- Table structure for table `tblEvents` +-- CREATE TABLE `tblEvents` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(150) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(150) DEFAULT NULL, `comment` text, - `start` int(12) default NULL, - `stop` int(12) default NULL, - `date` int(12) default NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`id`) + `start` int(12) DEFAULT NULL, + `stop` int(12) DEFAULT NULL, + `date` int(12) DEFAULT NULL, + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow states --- +-- +-- Table structure for table `tblWorkflowStates` +-- CREATE TABLE `tblWorkflowStates` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, - `visibility` smallint(5) DEFAULT 0, - `maxtime` int(11) DEFAULT 0, - `precondfunc` text DEFAULT NULL, + `visibility` smallint(5) DEFAULT '0', + `maxtime` int(11) DEFAULT '0', + `precondfunc` text, `documentstatus` smallint(5) DEFAULT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow actions --- +-- +-- Table structure for table `tblWorkflowActions` +-- CREATE TABLE `tblWorkflowActions` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflows --- +-- +-- Table structure for table `tblWorkflows` +-- CREATE TABLE `tblWorkflows` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, `initstate` int(11) NOT NULL, - `layoutdata` text default NULL, - PRIMARY KEY (`id`), + `layoutdata` text DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `tblWorkflow_initstate` (`initstate`), CONSTRAINT `tblWorkflow_initstate` FOREIGN KEY (`initstate`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow transitions --- +-- +-- Table structure for table `tblWorkflowTransitions` +-- CREATE TABLE `tblWorkflowTransitions` ( - `id` int(11) NOT NULL auto_increment, - `workflow` int(11) default NULL, - `state` int(11) default NULL, - `action` int(11) default NULL, - `nextstate` int(11) default NULL, - `maxtime` int(11) DEFAULT 0, - PRIMARY KEY (`id`), - CONSTRAINT `tblWorkflowTransitions_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowTransitions_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE, + `id` int(11) NOT NULL AUTO_INCREMENT, + `workflow` int(11) DEFAULT NULL, + `state` int(11) DEFAULT NULL, + `action` int(11) DEFAULT NULL, + `nextstate` int(11) DEFAULT NULL, + `maxtime` int(11) DEFAULT '0', + PRIMARY KEY (`id`), + KEY `tblWorkflowTransitions_workflow` (`workflow`), + KEY `tblWorkflowTransitions_state` (`state`), + KEY `tblWorkflowTransitions_action` (`action`), + KEY `tblWorkflowTransitions_nextstate` (`nextstate`), CONSTRAINT `tblWorkflowTransitions_action` FOREIGN KEY (`action`) REFERENCES `tblWorkflowActions` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowTransitions_nextstate` FOREIGN KEY (`nextstate`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE + CONSTRAINT `tblWorkflowTransitions_nextstate` FOREIGN KEY (`nextstate`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowTransitions_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowTransitions_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow transition users --- +-- +-- Table structure for table `tblWorkflowTransitionUsers` +-- CREATE TABLE `tblWorkflowTransitionUsers` ( - `id` int(11) NOT NULL auto_increment, - `transition` int(11) default NULL, - `userid` int(11) default NULL, - PRIMARY KEY (`id`), + `id` int(11) NOT NULL AUTO_INCREMENT, + `transition` int(11) DEFAULT NULL, + `userid` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `tblWorkflowTransitionUsers_transition` (`transition`), + KEY `tblWorkflowTransitionUsers_userid` (`userid`), CONSTRAINT `tblWorkflowTransitionUsers_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE, CONSTRAINT `tblWorkflowTransitionUsers_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow transition groups --- +-- +-- Table structure for table `tblWorkflowTransitionGroups` +-- CREATE TABLE `tblWorkflowTransitionGroups` ( - `id` int(11) NOT NULL auto_increment, - `transition` int(11) default NULL, - `groupid` int(11) default NULL, - `minusers` int(11) default NULL, - PRIMARY KEY (`id`), - CONSTRAINT `tblWorkflowTransitionGroups_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowTransitionGroups_groupid` FOREIGN KEY (`groupID`) REFERENCES `tblGroups` (`id`) ON DELETE CASCADE + `id` int(11) NOT NULL AUTO_INCREMENT, + `transition` int(11) DEFAULT NULL, + `groupid` int(11) DEFAULT NULL, + `minusers` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `tblWorkflowTransitionGroups_transition` (`transition`), + KEY `tblWorkflowTransitionGroups_groupid` (`groupid`), + CONSTRAINT `tblWorkflowTransitionGroups_groupid` FOREIGN KEY (`groupid`) REFERENCES `tblGroups` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowTransitionGroups_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow log --- +-- +-- Table structure for table `tblWorkflowLog` +-- CREATE TABLE `tblWorkflowLog` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) default NULL, - `version` smallint(5) default NULL, - `workflow` int(11) default NULL, - `userid` int(11) default NULL, - `transition` int(11) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) DEFAULT NULL, + `version` smallint(5) DEFAULT NULL, + `workflow` int(11) DEFAULT NULL, + `userid` int(11) DEFAULT NULL, + `transition` int(11) DEFAULT NULL, `date` datetime NOT NULL, `comment` text, - PRIMARY KEY (`id`), + PRIMARY KEY (`id`), + KEY `tblWorkflowLog_document` (`document`), + KEY `tblWorkflowLog_workflow` (`workflow`), + KEY `tblWorkflowLog_userid` (`userid`), + KEY `tblWorkflowLog_transition` (`transition`), CONSTRAINT `tblWorkflowLog_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowLog_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowLog_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE, CONSTRAINT `tblWorkflowLog_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowLog_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE + CONSTRAINT `tblWorkflowLog_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow document relation --- +-- +-- Table structure for table `tblWorkflowDocumentContent` +-- CREATE TABLE `tblWorkflowDocumentContent` ( - `parentworkflow` int(11) DEFAULT 0, + `parentworkflow` int(11) DEFAULT '0', `workflow` int(11) DEFAULT NULL, `document` int(11) DEFAULT NULL, `version` smallint(5) DEFAULT NULL, `state` int(11) DEFAULT NULL, `date` datetime NOT NULL, + KEY `tblWorkflowDocument_document` (`document`), + KEY `tblWorkflowDocument_workflow` (`workflow`), + KEY `tblWorkflowDocument_state` (`state`), CONSTRAINT `tblWorkflowDocument_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowDocument_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowDocument_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE + CONSTRAINT `tblWorkflowDocument_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowDocument_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for mandatory workflows --- +-- +-- Table structure for table `tblWorkflowMandatoryWorkflow` +-- CREATE TABLE `tblWorkflowMandatoryWorkflow` ( - `userid` int(11) default NULL, - `workflow` int(11) default NULL, - UNIQUE(userid, workflow), - CONSTRAINT `tblWorkflowMandatoryWorkflow_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowMandatoryWorkflow_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE + `userid` int(11) DEFAULT NULL, + `workflow` int(11) DEFAULT NULL, + UNIQUE KEY `userid` (`userid`,`workflow`), + KEY `tblWorkflowMandatoryWorkflow_workflow` (`workflow`), + CONSTRAINT `tblWorkflowMandatoryWorkflow_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowMandatoryWorkflow_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for transmittal --- +-- CREATE TABLE `tblTransmittals` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, `comment` text NOT NULL, - `userID` int(11) NOT NULL default '0', - `date` datetime default NULL, - `public` tinyint(1) NOT NULL default '0', - PRIMARY KEY (`id`), + `userID` int(11) NOT NULL DEFAULT '0', + `date` datetime DEFAULT NULL, + `public` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), CONSTRAINT `tblTransmittals_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for transmittal item --- +-- CREATE TABLE `tblTransmittalItems` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `transmittal` int(11) NOT NULL DEFAULT '0', - `document` int(11) default NULL, - `version` smallint(5) unsigned NOT NULL default '0', - `date` datetime default NULL, - PRIMARY KEY (`id`), + `document` int(11) DEFAULT NULL, + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `date` datetime DEFAULT NULL, + PRIMARY KEY (`id`), UNIQUE (transmittal, document, version), CONSTRAINT `tblTransmittalItems_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblTransmittalItem_transmittal` FOREIGN KEY (`transmittal`) REFERENCES `tblTransmittals` (`id`) ON DELETE CASCADE @@ -858,10 +899,10 @@ CREATE TABLE `tblTransmittalItems` ( -- CREATE TABLE `tblCachedAccess` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) default NULL, - `user` int(11) default null, - `mode` tinyint(4) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) DEFAULT NULL, + `user` int(11) DEFAULT null, + `mode` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), CONSTRAINT `tblCachedAccess_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblCachedAccess_user` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE @@ -874,7 +915,7 @@ CREATE TABLE `tblCachedAccess` ( -- CREATE TABLE `tblAros` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `parent` int(11), `model` text NOT NULL, `foreignid` int(11) NOT NULL DEFAULT '0', @@ -889,7 +930,7 @@ CREATE TABLE `tblAros` ( -- CREATE TABLE `tblAcos` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `parent` int(11), `model` text NOT NULL, `foreignid` int(11) NOT NULL DEFAULT '0', @@ -904,7 +945,7 @@ CREATE TABLE `tblAcos` ( -- CREATE TABLE `tblArosAcos` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `aro` int(11) NOT NULL DEFAULT '0', `aco` int(11) NOT NULL DEFAULT '0', `create` tinyint(4) NOT NULL DEFAULT '-1', @@ -919,15 +960,15 @@ CREATE TABLE `tblArosAcos` ( -- -------------------------------------------------------- --- --- Table structure for version --- +-- +-- Table structure for table `tblVersion` +-- CREATE TABLE `tblVersion` ( `date` datetime NOT NULL, - `major` smallint, - `minor` smallint, - `subminor` smallint + `major` smallint(6) DEFAULT NULL, + `minor` smallint(6) DEFAULT NULL, + `subminor` smallint(6) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- diff --git a/install/install.php b/install/install.php index ba25cc8f5..891219391 100644 --- a/install/install.php +++ b/install/install.php @@ -318,7 +318,7 @@ if ($action=="setSettings") { $connTmp->exec($query); if ($connTmp->errorCode() != 0) { - $errorMsg .= $connTmp->errorInfo() . ""; + $errorMsg .= $connTmp->errorInfo()[2] . ""; } } } @@ -345,7 +345,18 @@ if ($action=="setSettings") { $needsupdate = false; $connTmp =openDBConnection($settings); if ($connTmp) { - $res = $connTmp->query('select * from tblVersion'); + switch($settings->_dbDriver) { + case 'mysql': + case 'mysqli': + case 'mysqlnd': + case 'sqlite': + $sql = 'select * from `tblVersion`'; + break; + case 'pgsql': + $sql = 'select * from "tblVersion"'; + break; + } + $res = $connTmp->query($sql); if($res) { if($rec = $res->fetch(PDO::FETCH_ASSOC)) { $updatedirs = array(); diff --git a/install/update-5.1.0/update.sql b/install/update-5.1.0/update.sql index d30473dce..a8e566270 100644 --- a/install/update-5.1.0/update.sql +++ b/install/update-5.1.0/update.sql @@ -6,9 +6,9 @@ ALTER TABLE `tblDocumentFiles` CHANGE `mimeType` `mimeType` varchar(100) NOT NUL ALTER TABLE `tblUserImages` CHANGE `mimeType` `mimeType` varchar(100) NOT NULL default ''; -ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` INTEGER NOT NULL default '0' AFTER `document`; +ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` tinyint(1) NOT NULL default '0' AFTER `document`; -ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` INTEGER NOT NULL default '0' AFTER `document`; +ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` smallint(5) unsigned NOT NULL default '0' AFTER `document`; ALTER TABLE `tblUsers` CHANGE `pwdExpiration` `pwdExpiration` datetime default NULL; diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index d4ee4579d..df70ad26b 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -541,8 +541,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'اشمل مستندات', 'include_subdirectories' => 'اشمل مجلدات فرعية', +'indexing_tasks_in_queue' => '', 'index_converters' => 'فهرس تحويل المستند', +'index_done' => '', +'index_error' => '', 'index_folder' => 'ﻒﻫﺮﺳﺓ ﺎﻠﻤﺠﻟﺩ', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'افراد', 'indivіduals_in_groups' => '', 'inherited' => 'موروث', @@ -761,6 +766,7 @@ URL: [url]', 'only_jpg_user_images' => 'فقط يمكنك استخدام ملفات من تنسيق jpg كصورة المستخدم', 'order_by_sequence_off' => '', 'original_filename' => 'اسم الملف الاصلي', +'overall_indexing_progress' => '', 'owner' => 'المالك', 'ownership_changed_email' => 'تم تغيير المالك', 'ownership_changed_email_body' => 'تم تغيير المالك @@ -1321,9 +1327,11 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => '', +'splash_document_indexed' => '', 'splash_document_locked' => 'تم قفل المستند', 'splash_document_unlocked' => 'تم الغاء قفل المستند', 'splash_edit_attribute' => '', +'splash_edit_event' => '', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_user' => '', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 4045bf47b..6e79e657c 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -472,8 +472,13 @@ $text = array( 'include_content' => '', 'include_documents' => 'Включи документи', 'include_subdirectories' => 'Включи под-папки', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Index document conversion', +'index_done' => '', +'index_error' => '', 'index_folder' => '', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Личности', 'indivіduals_in_groups' => '', 'inherited' => 'наследен', @@ -668,6 +673,7 @@ $text = array( 'only_jpg_user_images' => 'Разрешени са само .jpg-изображения', 'order_by_sequence_off' => '', 'original_filename' => 'Оригинално име на файл', +'overall_indexing_progress' => '', 'owner' => 'Собственик', 'ownership_changed_email' => 'Собственикът променен', 'ownership_changed_email_body' => '', @@ -1186,9 +1192,11 @@ $text = array( 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => '', +'splash_document_indexed' => '', 'splash_document_locked' => '', 'splash_document_unlocked' => '', 'splash_edit_attribute' => '', +'splash_edit_event' => '', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_user' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 04d9822e4..08d0e6f23 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -477,8 +477,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Incloure documents', 'include_subdirectories' => 'Incloure subdirectoris', +'indexing_tasks_in_queue' => '', 'index_converters' => '', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Carpeta d\'índex', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Individuals', 'indivіduals_in_groups' => '', 'inherited' => '', @@ -673,6 +678,7 @@ URL: [url]', 'only_jpg_user_images' => 'Només pot utilitzar imatges .jpg com imatges d\'usuari', 'order_by_sequence_off' => '', 'original_filename' => '', +'overall_indexing_progress' => '', 'owner' => 'Propietari/a', 'ownership_changed_email' => 'Propietari/a canviat', 'ownership_changed_email_body' => '', @@ -1191,9 +1197,11 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => '', +'splash_document_indexed' => '', 'splash_document_locked' => 'Document blocat', 'splash_document_unlocked' => 'Document desblocat', 'splash_edit_attribute' => '', +'splash_edit_event' => '', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_user' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index ec78583d4..329eaa525 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -548,8 +548,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Včetně dokumentů', 'include_subdirectories' => 'Včetně podadresářů', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Index konverze dokumentu', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Složka indexu', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Jednotlivci', 'indivіduals_in_groups' => '', 'inherited' => 'Zděděno', @@ -768,6 +773,7 @@ URL: [url]', 'only_jpg_user_images' => 'Pro obrázky uživatelů je možné použít pouze obrázky .jpg', 'order_by_sequence_off' => '', 'original_filename' => 'Originální název souboru', +'overall_indexing_progress' => '', 'owner' => 'Vlastník', 'ownership_changed_email' => 'Vlastník změněn', 'ownership_changed_email_body' => 'Vlastník změněn @@ -1330,9 +1336,11 @@ URL: [url]', 'splash_document_added' => 'Dokument přidán', 'splash_document_checkedout' => '', 'splash_document_edited' => 'Dokument uložen', +'splash_document_indexed' => '', 'splash_document_locked' => 'Dokument zamčen', 'splash_document_unlocked' => 'Dokument odemčen', 'splash_edit_attribute' => 'Atribut uložen', +'splash_edit_event' => '', 'splash_edit_group' => 'Skupina uložena', 'splash_edit_role' => '', 'splash_edit_user' => 'Uživatel uložen', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index f007d326b..2c006d12c 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2368), dgrutsch (22) +// Translators: Admin (2376), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -553,8 +553,13 @@ URL: [url]', 'include_content' => 'Inhalte mit exportieren', 'include_documents' => 'Dokumente miteinbeziehen', 'include_subdirectories' => 'Unterverzeichnisse miteinbeziehen', +'indexing_tasks_in_queue' => 'Indiziervorgänge in der Warteschleife', 'index_converters' => 'Index Dokumentenumwandlung', +'index_done' => 'Fertig', +'index_error' => 'Fehler', 'index_folder' => 'Indiziere Ordner', +'index_pending' => 'Vorgemerkt', +'index_waiting' => 'Warte', 'individuals' => 'Einzelpersonen', 'indivіduals_in_groups' => 'Mitglieder einer Gruppe', 'inherited' => 'geerbt', @@ -772,6 +777,7 @@ URL: [url]', 'only_jpg_user_images' => 'Es sind nur JPG-Bilder erlaubt', 'order_by_sequence_off' => 'Die Sortierung nach Folge ist in den Einstellungen ausgeschaltet. Wenn dieser Parameter wirksam sein soll, muss sie wieder eingeschaltet werden.', 'original_filename' => 'Original filename', +'overall_indexing_progress' => 'Gesamtfortschritt bei der Indizierung', 'owner' => 'Besitzer', 'ownership_changed_email' => 'Besitzer geändert', 'ownership_changed_email_body' => 'Besitzer geändert @@ -1380,9 +1386,11 @@ URL: [url]', 'splash_document_added' => 'Dokument hinzugefügt', 'splash_document_checkedout' => 'Dokument ausgecheckt', 'splash_document_edited' => 'Dokument gespeichert', +'splash_document_indexed' => 'Dokument \'[name]\' indiziert.', 'splash_document_locked' => 'Dokument gesperrt', 'splash_document_unlocked' => 'Dokumentensperre aufgehoben', 'splash_edit_attribute' => 'Attribut gespeichert', +'splash_edit_event' => 'Ereignis gespeichert', 'splash_edit_group' => 'Gruppe gespeichert', 'splash_edit_role' => 'Rolle gespeichert', 'splash_edit_user' => 'Benutzer gespeichert', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index ffb72e4f4..5da788a28 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -472,8 +472,13 @@ $text = array( 'include_content' => '', 'include_documents' => '', 'include_subdirectories' => '', +'indexing_tasks_in_queue' => '', 'index_converters' => '', +'index_done' => '', +'index_error' => '', 'index_folder' => '', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Άτομα', 'indivіduals_in_groups' => '', 'inherited' => '', @@ -679,6 +684,7 @@ URL: [url]', 'only_jpg_user_images' => '', 'order_by_sequence_off' => '', 'original_filename' => '', +'overall_indexing_progress' => '', 'owner' => 'Ιδιοκτήτης', 'ownership_changed_email' => '', 'ownership_changed_email_body' => '', @@ -1197,9 +1203,11 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => '', +'splash_document_indexed' => '', 'splash_document_locked' => '', 'splash_document_unlocked' => '', 'splash_edit_attribute' => '', +'splash_edit_event' => '', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_user' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 526dade41..7fc2b4dc0 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1495), dgrutsch (9), netixw (14) +// Translators: Admin (1503), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -553,8 +553,13 @@ URL: [url]', 'include_content' => 'Include content', 'include_documents' => 'Include documents', 'include_subdirectories' => 'Include subdirectories', +'indexing_tasks_in_queue' => 'Indexing tasks in queue', 'index_converters' => 'Index document conversion', +'index_done' => 'Done', +'index_error' => 'Error', 'index_folder' => 'Index folder', +'index_pending' => 'Pending', +'index_waiting' => 'Waiting', 'individuals' => 'Individuals', 'indivіduals_in_groups' => 'Members of a group', 'inherited' => 'inherited', @@ -773,6 +778,7 @@ URL: [url]', 'only_jpg_user_images' => 'Only .jpg-images may be used as user-images', 'order_by_sequence_off' => 'Ordering by sequence is turned off in the settings. If you want this parameter to have effect, you will have to turn it back on.', 'original_filename' => 'Original filename', +'overall_indexing_progress' => 'Overall indexing progress', 'owner' => 'Owner', 'ownership_changed_email' => 'Owner changed', 'ownership_changed_email_body' => 'Owner changed @@ -1374,9 +1380,11 @@ URL: [url]', 'splash_document_added' => 'Document added', 'splash_document_checkedout' => 'Document checked out', 'splash_document_edited' => 'Document saved', +'splash_document_indexed' => 'Document \'[name]\' indexed.', 'splash_document_locked' => 'Document locked', 'splash_document_unlocked' => 'Document unlocked', 'splash_edit_attribute' => 'Attribute saved', +'splash_edit_event' => 'Event saved', 'splash_edit_group' => 'Group saved', 'splash_edit_role' => 'Role saved', 'splash_edit_user' => 'User saved', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 0b3d6ec47..0e3979f2d 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: acabello (20), Admin (1008), angel (123), francisco (2), jaimem (14) +// Translators: acabello (20), Admin (1009), angel (123), francisco (2), jaimem (14) $text = array( '2_factor_auth' => '', @@ -548,8 +548,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Incluir documentos', 'include_subdirectories' => 'Incluir subcarpetas', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Conversión de índice de documentos', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Índice de carpetas', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Individuales', 'indivіduals_in_groups' => '', 'inherited' => 'heredado', @@ -625,7 +630,7 @@ URL: [url]', 'linked_to_this_version' => '', 'link_alt_updatedocument' => 'Si desea subir archivos mayores que el tamaño máximo actualmente permitido, por favor, utilice la página de subida alternativa.', 'link_to_version' => '', -'list_access_rights' => '', +'list_access_rights' => 'Listar los derechos de acceso', 'list_contains_no_access_docs' => '', 'list_hooks' => '', 'local_file' => 'Fichero local', @@ -768,6 +773,7 @@ URL: [url]', 'only_jpg_user_images' => 'Sólo puede usar imágenes .jpg como imágenes de usuario', 'order_by_sequence_off' => 'El orden secuencial está desactivado en la configuración. Si quiere utilizar este parámetro, deberá activarlo.', 'original_filename' => 'Nombre de fichero original', +'overall_indexing_progress' => '', 'owner' => 'Propietario', 'ownership_changed_email' => 'Propietario modificado', 'ownership_changed_email_body' => 'Propietario modificado @@ -1336,9 +1342,11 @@ URL: [url]', 'splash_document_added' => 'Documento añadido', 'splash_document_checkedout' => '', 'splash_document_edited' => 'Documento guardado', +'splash_document_indexed' => '', 'splash_document_locked' => 'Documento bloqueado', 'splash_document_unlocked' => 'Documento desbloqueado', 'splash_edit_attribute' => 'Atributo guardado', +'splash_edit_event' => '', 'splash_edit_group' => 'Grupo guardado', 'splash_edit_role' => '', 'splash_edit_user' => 'Usuario guardado', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index fec98cf92..8bd861f9a 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1058), jeromerobert (50), lonnnew (9), Oudiceval (182) +// Translators: Admin (1060), jeromerobert (50), lonnnew (9), Oudiceval (182) $text = array( '2_factor_auth' => 'Authentification forte', @@ -553,8 +553,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Inclure les documents', 'include_subdirectories' => 'Inclure les sous-dossiers', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Conversion de document Index', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Dossier Index', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Individuels', 'indivіduals_in_groups' => '', 'inherited' => 'hérité', @@ -773,6 +778,7 @@ URL: [url]', 'only_jpg_user_images' => 'Images d\'utilisateur au format .jpg seulement', 'order_by_sequence_off' => 'Le tri par séquence est désactivé dans les préférences. Si vous souhaitez que ce paramètre prenne effet, vous devez l\'activer.', 'original_filename' => 'Nom de fichier original', +'overall_indexing_progress' => '', 'owner' => 'Propriétaire', 'ownership_changed_email' => 'Propriétaire modifié', 'ownership_changed_email_body' => 'Propriétaire modifié @@ -1126,8 +1132,8 @@ URL: [url]', 'settings_enableThemeSelector_desc' => 'Activer/désactiver le sélecteur de thème sur la page de connexion.', 'settings_enableUpdateReceipt' => '', 'settings_enableUpdateReceipt_desc' => '', -'settings_enableUpdateRevApp' => '', -'settings_enableUpdateRevApp_desc' => '', +'settings_enableUpdateRevApp' => 'Autorise la modification de révisions et approbations existantes', +'settings_enableUpdateRevApp_desc' => 'A activer si l\'utilisateur qui a fait la révision/approbations peut changer sa position alors que l\'étape actuelle du processus n\'est pas terminée', 'settings_enableUserImage' => 'Activer image utilisateurs', 'settings_enableUserImage_desc' => 'Activer les images utilisateurs', 'settings_enableUsersView' => 'Activer Vue des Utilisateurs', @@ -1324,9 +1330,11 @@ URL: [url]', 'splash_document_added' => 'Document ajouté', 'splash_document_checkedout' => 'Document bloqué', 'splash_document_edited' => 'Document sauvegardé', +'splash_document_indexed' => '', 'splash_document_locked' => 'Document vérouillé', 'splash_document_unlocked' => 'Document déverrouillé', 'splash_edit_attribute' => 'Attribut modifié', +'splash_edit_event' => '', 'splash_edit_group' => 'Groupe sauvé', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilisateur modifié', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index b21d555f2..00f0a0250 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -553,8 +553,13 @@ Internet poveznica: [url]', 'include_content' => 'Uključi sadržaj', 'include_documents' => 'Sadrži dokumente', 'include_subdirectories' => 'Sadrži podmape', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Pretvorba indeksa dokumenta', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Mapa indeksa', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Pojedinci', 'indivіduals_in_groups' => '', 'inherited' => 'naslijeđeno', @@ -772,6 +777,7 @@ Internet poveznica: [url]', 'only_jpg_user_images' => 'Kao korisničke slike mogu se koristiti samo .jpg slike', 'order_by_sequence_off' => 'Sortiranje po sekvencei ne isključeno u postavkama. Ako želite da ovaj parametar ima utjecaja, morat ćete ga ponovno uključiti.', 'original_filename' => 'Izvorni naziv datoteke', +'overall_indexing_progress' => '', 'owner' => 'Vlasnik', 'ownership_changed_email' => 'Promijenjen vlasnik', 'ownership_changed_email_body' => 'Promijenjen vlasnik @@ -1357,9 +1363,11 @@ Internet poveznica: [url]', 'splash_document_added' => 'Dokument dodan', 'splash_document_checkedout' => 'Dokument odjavljen', 'splash_document_edited' => 'Dokument pohranjen', +'splash_document_indexed' => '', 'splash_document_locked' => 'Dokument zaključan', 'splash_document_unlocked' => 'Dokument otključan', 'splash_edit_attribute' => 'Atribut pohranjen', +'splash_edit_event' => '', 'splash_edit_group' => 'Groupa pohranjena', 'splash_edit_role' => '', 'splash_edit_user' => 'Korisnik pohranjen', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 25d08e9d9..7225b6564 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -548,8 +548,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Tartalmazó dokumentumok', 'include_subdirectories' => 'Tartalmazó alkönyvtárak', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Index dokumentum konverzió', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Mappa indexelése', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Egyedek', 'indivіduals_in_groups' => '', 'inherited' => 'örökölt', @@ -768,6 +773,7 @@ URL: [url]', 'only_jpg_user_images' => 'Felhasználói képként csak .jpg állományok adhatók meg', 'order_by_sequence_off' => '', 'original_filename' => 'Eredeti fájlnév', +'overall_indexing_progress' => '', 'owner' => 'Tulajdonos', 'ownership_changed_email' => 'Tulajdonos megváltozott', 'ownership_changed_email_body' => 'Tulajdonos megváltozott @@ -1335,9 +1341,11 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => 'Dokumentum elmentve', +'splash_document_indexed' => '', 'splash_document_locked' => 'Dokumentum zárolva', 'splash_document_unlocked' => 'Dokumentum zárolás feloldva', 'splash_edit_attribute' => 'Jellemző mentve', +'splash_edit_event' => '', 'splash_edit_group' => 'Csoport mentve', 'splash_edit_role' => '', 'splash_edit_user' => 'Felhasználó mentve', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 9cda67480..59d918fba 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1537), rickr (144), s.pnt (26) +// Translators: Admin (1538), rickr (144), s.pnt (26) $text = array( '2_factor_auth' => 'Autorizzazione a due fattori', @@ -554,8 +554,13 @@ URL: [url]', 'include_content' => 'Includi contenuto', 'include_documents' => 'Includi documenti', 'include_subdirectories' => 'Includi sottocartelle', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Indice di conversione documenti', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Indicizza cartella', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Singoli', 'indivіduals_in_groups' => 'I membri de la gruppo', 'inherited' => 'ereditato', @@ -774,6 +779,7 @@ URL: [url]', 'only_jpg_user_images' => 'Possono essere utilizzate solo immagini di tipo jpeg', 'order_by_sequence_off' => 'Ordina in sequenza disabilitato', 'original_filename' => 'Nome file originale', +'overall_indexing_progress' => '', 'owner' => 'Proprietario', 'ownership_changed_email' => 'Proprietario cambiato', 'ownership_changed_email_body' => 'Cambio di proprietario @@ -1056,7 +1062,7 @@ URL: [url]', 'settings_Authentication' => 'Impostazioni di Autenticazione', 'settings_autoLoginUser' => 'Login automatico', 'settings_autoLoginUser_desc' => 'Utilizzare questo ID utente per l\'accesso se l\'utente non è già connesso. Questo tipo di accesso non creerà una sessione.', -'settings_available_languages' => '', +'settings_available_languages' => 'Lingue disponibili', 'settings_available_languages_desc' => '', 'settings_backupDir' => 'Directory di backup', 'settings_backupDir_desc' => 'Directory in cui lo strumento di backup salva i backup. Se questa directory non è impostato o non è possibile accedervi, quindi i backup vengono salvati nella directory dei contenuti.', @@ -1369,9 +1375,11 @@ URL: [url]', 'splash_document_added' => 'Documento aggiunto', 'splash_document_checkedout' => 'Documento approvato', 'splash_document_edited' => 'Documento modificato', +'splash_document_indexed' => '', 'splash_document_locked' => 'Documento bloccato', 'splash_document_unlocked' => 'Documento sbloccato', 'splash_edit_attribute' => 'Attributo modificato', +'splash_edit_event' => '', 'splash_edit_group' => 'Gruppo modificato', 'splash_edit_role' => 'Ruolo memorizzata', 'splash_edit_user' => 'Utente modificato', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 558faddcf..4a6b5c914 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -553,8 +553,13 @@ URL: [url]', 'include_content' => '내용을 포함', 'include_documents' => '문서 포함', 'include_subdirectories' => '서브 디렉토리를 포함', +'indexing_tasks_in_queue' => '', 'index_converters' => '인덱스 문서 변환', +'index_done' => '', +'index_error' => '', 'index_folder' => '인덱스 폴더', +'index_pending' => '', +'index_waiting' => '', 'individuals' => '개인', 'indivіduals_in_groups' => '개별 그룹', 'inherited' => '상속', @@ -773,6 +778,7 @@ URL : [url]', 'only_jpg_user_images' => '.JPG - 이미지만 사용자가 이미지로 사용할 수 있습니다', 'order_by_sequence_off' => '순서에 의한 정렬 설정이 켜져 있습니다. 이 매개 변수를 사용하고 싶은 경우 이것을 활성화 해야 합니다.', 'original_filename' => '원래본 파일명', +'overall_indexing_progress' => '', 'owner' => '소유자', 'ownership_changed_email' => '소유자 변경', 'ownership_changed_email_body' => '소유자 변경 @@ -1350,9 +1356,11 @@ URL : [url]', 'splash_document_added' => '문서를 추가', 'splash_document_checkedout' => '문서 체크아웃', 'splash_document_edited' => '문서 저장', +'splash_document_indexed' => '', 'splash_document_locked' => '문서 잠금', 'splash_document_unlocked' => '문서 잠금 해제', 'splash_edit_attribute' => '속성 저장', +'splash_edit_event' => '', 'splash_edit_group' => '그룹 저장', 'splash_edit_role' => '', 'splash_edit_user' => '사용자 저장', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 33b51b1d5..494e9ec49 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -546,8 +546,13 @@ URL: [url]', 'include_content' => 'inclusief inhoud', 'include_documents' => 'Inclusief documenten', 'include_subdirectories' => 'Inclusief submappen', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Index document conversie', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Inhoud', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Individuen', 'indivіduals_in_groups' => 'Individuen in groepen', 'inherited' => 'overgeerfd', @@ -765,6 +770,7 @@ URL: [url]', 'only_jpg_user_images' => 'U mag alleen .jpg afbeeldingen gebruiken als gebruikersafbeeldingen.', 'order_by_sequence_off' => 'Volgorde uit', 'original_filename' => 'Originele bestandsnaam', +'overall_indexing_progress' => '', 'owner' => 'Eigenaar', 'ownership_changed_email' => 'Eigenaar gewijzigd', 'ownership_changed_email_body' => 'Eigenaar gewijzigd @@ -1363,9 +1369,11 @@ URL: [url]', 'splash_document_added' => 'Nieuw document toegevoegd', 'splash_document_checkedout' => 'Document in gebruik genomen', 'splash_document_edited' => 'Document opgeslagen', +'splash_document_indexed' => '', 'splash_document_locked' => 'Document vergrendeld', 'splash_document_unlocked' => 'Document ontgrendeld', 'splash_edit_attribute' => 'Attribuut opgeslagen', +'splash_edit_event' => '', 'splash_edit_group' => 'Groep opgeslagen', 'splash_edit_role' => 'Rol opgeslagen', 'splash_edit_user' => 'Gebruiker opgeslagen', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 5f4bdaf83..29ebaf51f 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (748), netixw (84), romi (93), uGn (112) +// Translators: Admin (752), netixw (84), romi (93), uGn (112) $text = array( '2_factor_auth' => '', @@ -541,8 +541,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Uwzględnij dokumenty', 'include_subdirectories' => 'Uwzględnij podkatalogi', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Konwersja indeksu dokumentów', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Indeksuj folder', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Indywidualni', 'indivіduals_in_groups' => '', 'inherited' => 'dziedziczony', @@ -761,6 +766,7 @@ URL: [url]', 'only_jpg_user_images' => 'Wyłącznie pliki typu .jpg mogą być użyte jako obrazy użytkowników', 'order_by_sequence_off' => '', 'original_filename' => 'Oryginalna nazwa pliku', +'overall_indexing_progress' => '', 'owner' => 'Właściciel', 'ownership_changed_email' => 'Właściciel zmieniony', 'ownership_changed_email_body' => 'Zmiana właściciela @@ -1002,7 +1008,7 @@ URL: [url]', 'settings_Authentication' => 'Ustawienia uwierzytelniania', 'settings_autoLoginUser' => '', 'settings_autoLoginUser_desc' => '', -'settings_available_languages' => '', +'settings_available_languages' => 'Dostępne języki', 'settings_available_languages_desc' => '', 'settings_backupDir' => '', 'settings_backupDir_desc' => '', @@ -1212,9 +1218,9 @@ URL: [url]', 'settings_php_version' => 'Wersja PHP', 'settings_presetExpirationDate' => '', 'settings_presetExpirationDate_desc' => '', -'settings_previewWidthDetail' => '', -'settings_previewWidthDetail_desc' => '', -'settings_previewWidthList' => '', +'settings_previewWidthDetail' => 'Szerokość obrazka podglądu (szczegóły)', +'settings_previewWidthDetail_desc' => 'Szerokość obrazka podglądu na stronie szczegółów', +'settings_previewWidthList' => 'Szerokość obrazka podglądu (lista)', 'settings_previewWidthList_desc' => 'Szerokość podglądu obrazu pokazanego na liście', 'settings_printDisclaimer' => 'Wyświetlaj Zrzeczenie się', 'settings_printDisclaimer_desc' => 'Zaznaczenie tej opcji spowoduje, że na dole strony będzie wyświetlany komunikat zrzeczenia się zawarty w pliku lang.inc.', @@ -1315,9 +1321,11 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => 'Dokument został zapisany', +'splash_document_indexed' => '', 'splash_document_locked' => 'Dokument zablokowany', 'splash_document_unlocked' => 'Odblokowano dokument', 'splash_edit_attribute' => 'Zapisano atrybuty', +'splash_edit_event' => '', 'splash_edit_group' => 'Grupa zapisana', 'splash_edit_role' => '', 'splash_edit_user' => 'Zapisano użytkownika', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index e7b9d7ede..1191f27e5 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -547,8 +547,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Include documents', 'include_subdirectories' => 'Include subdirectories', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Índice de conversão de documentos', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Pasta Raiz', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Individuals', 'indivіduals_in_groups' => '', 'inherited' => 'herdado', @@ -766,6 +771,7 @@ URL: [url]', 'only_jpg_user_images' => 'Somente imagens jpg podem ser utilizadas como avatar', 'order_by_sequence_off' => '', 'original_filename' => 'Arquivo original', +'overall_indexing_progress' => '', 'owner' => 'Proprietário', 'ownership_changed_email' => 'O proprietário mudou', 'ownership_changed_email_body' => 'Proprietário mudou @@ -1333,9 +1339,11 @@ URL: [url]', 'splash_document_added' => 'Documento inserido', 'splash_document_checkedout' => '', 'splash_document_edited' => 'Documento salvo', +'splash_document_indexed' => '', 'splash_document_locked' => 'Documento bloqueado', 'splash_document_unlocked' => 'Documento desbloqueado', 'splash_edit_attribute' => 'Atributo salvo', +'splash_edit_event' => '', 'splash_edit_group' => 'Grupo salvo', 'splash_edit_role' => '', 'splash_edit_user' => 'Usuário salvo', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 8e9bad055..830d10f4c 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -553,8 +553,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Include documente', 'include_subdirectories' => 'Include subfoldere', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Indexare conversie documente', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Index folder', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Individuals', 'indivіduals_in_groups' => '', 'inherited' => 'moștenit', @@ -773,6 +778,7 @@ URL: [url]', 'only_jpg_user_images' => 'Doar imagini .jpg pot fi utilizate ca imagine-utilizator', 'order_by_sequence_off' => 'Ordonarea dupa secventa este dezactivata in setari. Daca doriti acest parametru sa aiba efect, va trebui sa-l reactivati.', 'original_filename' => 'Nume de fișier original', +'overall_indexing_progress' => '', 'owner' => 'Proprietar', 'ownership_changed_email' => 'Proprietar schimbat', 'ownership_changed_email_body' => 'Proprietar schimbat @@ -1358,9 +1364,11 @@ URL: [url]', 'splash_document_added' => 'Document adăugat', 'splash_document_checkedout' => 'Document verificat', 'splash_document_edited' => 'Document salvat', +'splash_document_indexed' => '', 'splash_document_locked' => 'Document blocat', 'splash_document_unlocked' => 'Document deblocat', 'splash_edit_attribute' => 'Atribut salvat', +'splash_edit_event' => '', 'splash_edit_group' => 'Grup salvat', 'splash_edit_role' => '', 'splash_edit_user' => 'Utilizator salvat', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 910a3360c..af73a6d70 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -553,8 +553,13 @@ URL: [url]', 'include_content' => 'Включая содержимое', 'include_documents' => 'Включая документы', 'include_subdirectories' => 'Включая подкаталоги', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Индексирование документов', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Полнотекстовый индекс', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Пользователи', 'indivіduals_in_groups' => 'Пользователи группы', 'inherited' => 'унаследованный', @@ -772,6 +777,7 @@ URL: [url]', 'only_jpg_user_images' => 'Разрешены только .jpg-изображения', 'order_by_sequence_off' => 'Сортировка последовательности выключена в настройках. Если вы хотите применить этот эффект, вам необходимо его включить', 'original_filename' => 'Исходное имя файла', +'overall_indexing_progress' => '', 'owner' => 'Владелец', 'ownership_changed_email' => 'Владелец изменён', 'ownership_changed_email_body' => 'Изменён владелец @@ -1365,9 +1371,11 @@ URL: [url]', 'splash_document_added' => 'Добавлен документ', 'splash_document_checkedout' => 'Документ отправлен на обработку', 'splash_document_edited' => 'Документ сохранён', +'splash_document_indexed' => '', 'splash_document_locked' => 'Документ заблокирован', 'splash_document_unlocked' => 'Документ разблокирован', 'splash_edit_attribute' => 'Атрибут сохранён', +'splash_edit_event' => '', 'splash_edit_group' => 'Группа сохранена', 'splash_edit_role' => '', 'splash_edit_user' => 'Пользователь сохранён', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 1af5608c3..45d061d75 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -476,8 +476,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Vrátane súborov', 'include_subdirectories' => 'Vrátane podzložiek', +'indexing_tasks_in_queue' => '', 'index_converters' => '', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Indexovať zložku', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Jednotlivci', 'indivіduals_in_groups' => '', 'inherited' => 'zdedené', @@ -672,6 +677,7 @@ URL: [url]', 'only_jpg_user_images' => 'Ako obrázky používateľov je možné použiť iba obrázky .jpg', 'order_by_sequence_off' => '', 'original_filename' => '', +'overall_indexing_progress' => '', 'owner' => 'Vlastník', 'ownership_changed_email' => 'Majitel zmeneny', 'ownership_changed_email_body' => '', @@ -1190,9 +1196,11 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => '', +'splash_document_indexed' => '', 'splash_document_locked' => 'Dokument uzamknutý', 'splash_document_unlocked' => 'Dokument odomknutý', 'splash_edit_attribute' => '', +'splash_edit_event' => '', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_user' => '', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 45bae2628..d44ca6b6b 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -541,8 +541,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Inkludera dokument', 'include_subdirectories' => 'Inkludera under-kataloger', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Omvandling av indexdokument', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Index mapp', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Personer', 'indivіduals_in_groups' => '', 'inherited' => 'ärvd', @@ -761,6 +766,7 @@ URL: [url]', 'only_jpg_user_images' => 'Bara .jpg-bilder kan användas som användarbild', 'order_by_sequence_off' => '', 'original_filename' => 'Ursprungligt filnamn', +'overall_indexing_progress' => '', 'owner' => 'Ägare', 'ownership_changed_email' => 'Ägare har ändrats', 'ownership_changed_email_body' => 'Ägare har ändrats @@ -1321,9 +1327,11 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => 'Dokument sparad', +'splash_document_indexed' => '', 'splash_document_locked' => 'Dokument låst', 'splash_document_unlocked' => 'Dokument upplåst', 'splash_edit_attribute' => 'Attribut sparat', +'splash_edit_event' => '', 'splash_edit_group' => 'Grupp sparat', 'splash_edit_role' => '', 'splash_edit_user' => 'Användare sparat', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 4e53b840d..607cfd5c8 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1046), aydin (83) +// Translators: Admin (1048), aydin (83) $text = array( '2_factor_auth' => '', @@ -399,7 +399,7 @@ URL: [url]', 'dump_creation_warning' => 'Bu işlemle veritabanınızın dump dosyasını oluşturabilirsiniz. Dump dosyası sunucunuzdaki data klasörüne kaydedilcektir.', 'dump_list' => 'Mevcut dump dosyaları', 'dump_remove' => 'Dump dosyasını sil', -'duplicate_content' => '', +'duplicate_content' => 'içeriği_klonla', 'edit' => 'Düzenle', 'edit_attributes' => 'Nitelikleri düzenle', 'edit_comment' => 'Açıklamayı düzenle', @@ -547,8 +547,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Dokümanları kapsa', 'include_subdirectories' => 'Alt klasörleri kapsa', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Doküman dönüştürmeyi indeksle', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Klasörü indeksle', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Bireysel', 'indivіduals_in_groups' => '', 'inherited' => 'devralındı', @@ -767,6 +772,7 @@ URL: [url]', 'only_jpg_user_images' => 'Kullanıcı resmi olarak sadece .jpg uzantı resimler kullanılabilir', 'order_by_sequence_off' => '', 'original_filename' => 'Orijinal dosya adı', +'overall_indexing_progress' => '', 'owner' => 'Sahibi', 'ownership_changed_email' => 'Sahip değişti', 'ownership_changed_email_body' => 'Sahip değişti @@ -1024,7 +1030,7 @@ URL: [url]', 'settings_Authentication' => 'Yetkilendirme ayarları', 'settings_autoLoginUser' => '', 'settings_autoLoginUser_desc' => '', -'settings_available_languages' => '', +'settings_available_languages' => 'kullanılabilir diller', 'settings_available_languages_desc' => '', 'settings_backupDir' => '', 'settings_backupDir_desc' => '', @@ -1337,9 +1343,11 @@ URL: [url]', 'splash_document_added' => 'Doküman eklendi', 'splash_document_checkedout' => '', 'splash_document_edited' => 'Doküman kaydedildi', +'splash_document_indexed' => '', 'splash_document_locked' => 'Doküman kilitlendi', 'splash_document_unlocked' => 'Doküman kiliti açıldı', 'splash_edit_attribute' => 'Nitelik kaydedildi', +'splash_edit_event' => '', 'splash_edit_group' => 'Grup kaydedildi', 'splash_edit_role' => '', 'splash_edit_user' => 'Kullanıcı kaydedildi', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 5c2ed98b2..328451d0f 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -553,8 +553,13 @@ URL: [url]', 'include_content' => 'Включно з вмістом', 'include_documents' => 'Включно з документами', 'include_subdirectories' => 'Включно з підкаталогами', +'indexing_tasks_in_queue' => '', 'index_converters' => 'Індексування документів', +'index_done' => '', +'index_error' => '', 'index_folder' => 'Каталог індексу', +'index_pending' => '', +'index_waiting' => '', 'individuals' => 'Користувачі', 'indivіduals_in_groups' => 'Користувачі групи', 'inherited' => 'успадкований', @@ -772,6 +777,7 @@ URL: [url]', 'only_jpg_user_images' => 'Дозволені лише .jpg-зображення', 'order_by_sequence_off' => 'Можливість ручного сортування відключена в налаштуваннях. Якщо ви хочете використовувати цю функцію, ви повинні знову її включити.', 'original_filename' => 'Початкова назва файлу', +'overall_indexing_progress' => '', 'owner' => 'Власник', 'ownership_changed_email' => 'Власника змінено', 'ownership_changed_email_body' => 'Змінено власника @@ -1358,9 +1364,11 @@ URL: [url]', 'splash_document_added' => 'Додано документ', 'splash_document_checkedout' => 'Документ відправлено на опрацювання', 'splash_document_edited' => 'Документ збережено', +'splash_document_indexed' => '', 'splash_document_locked' => 'Документ заблоковано', 'splash_document_unlocked' => 'Документ розблоковано', 'splash_edit_attribute' => 'Атрибут збережено', +'splash_edit_event' => '', 'splash_edit_group' => 'Групу збережено', 'splash_edit_role' => '', 'splash_edit_user' => 'Користувача збережено', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index c2724b378..a7c3f407c 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (664), fengjohn (5) +// Translators: Admin (674), fengjohn (5) $text = array( '2_factor_auth' => '', @@ -237,7 +237,7 @@ URL: [url]', 'comment_changed_email' => '', 'comment_for_current_version' => '版本说明', 'confirm_clear_cache' => '', -'confirm_create_fulltext_index' => '', +'confirm_create_fulltext_index' => '确认重新创建全文索引', 'confirm_move_document' => '', 'confirm_move_folder' => '', 'confirm_pwd' => '确认密码', @@ -478,8 +478,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => '包含文档', 'include_subdirectories' => '包含子目录', +'indexing_tasks_in_queue' => '', 'index_converters' => '索引文件转换', +'index_done' => '', +'index_error' => '', 'index_folder' => '索引目录', +'index_pending' => '', +'index_waiting' => '', 'individuals' => '个人', 'indivіduals_in_groups' => '', 'inherited' => '继承', @@ -674,6 +679,7 @@ URL: [url]', 'only_jpg_user_images' => '只用jpg格式的图片才可以作为用户身份图片', 'order_by_sequence_off' => '', 'original_filename' => '原始文件名', +'overall_indexing_progress' => '', 'owner' => '所有者', 'ownership_changed_email' => '所有者已变更', 'ownership_changed_email_body' => '', @@ -886,8 +892,8 @@ URL: [url]', 'settings_cacheDir' => '', 'settings_cacheDir_desc' => '', 'settings_Calendar' => '', -'settings_calendarDefaultView' => '', -'settings_calendarDefaultView_desc' => '', +'settings_calendarDefaultView' => '日历默认试图', +'settings_calendarDefaultView_desc' => '日历默认试图', 'settings_cannot_disable' => '', 'settings_checkOutDir' => '', 'settings_checkOutDir_desc' => '', @@ -897,8 +903,8 @@ URL: [url]', 'settings_contentDir_desc' => '', 'settings_contentOffsetDir' => '内容偏移目录', 'settings_contentOffsetDir_desc' => '要解决在底层文件系统的限制,一个新的目录结构已制定了内容目录(内容目录)中存在的。这需要从它开始一个基本目录。通常离开这个为默认设置,1048576,也可以是内(内容目录)不存在任何数字或字符串', -'settings_convertToPdf' => '', -'settings_convertToPdf_desc' => '', +'settings_convertToPdf' => '将文档转换为pdf预览', +'settings_convertToPdf_desc' => '如果浏览器不支持原始文件预览,允许转换为pdf文件预览', 'settings_cookieLifetime' => '', 'settings_cookieLifetime_desc' => '', 'settings_coreDir' => 'SeedDMS核心目录', @@ -934,7 +940,7 @@ URL: [url]', 'settings_dropFolderDir' => '', 'settings_dropFolderDir_desc' => '', 'settings_Edition' => '编辑设置', -'settings_editOnlineFileTypes' => '', +'settings_editOnlineFileTypes' => '编辑在线文件类型', 'settings_editOnlineFileTypes_desc' => '', 'settings_enable2FactorAuthentication' => '', 'settings_enable2FactorAuthentication_desc' => '', @@ -1015,7 +1021,7 @@ URL: [url]', 'settings_Extensions' => '', 'settings_extraPath' => '额外的PHP的include路径', 'settings_extraPath_desc' => '附加软件的路径。这是包含目录,例如在ADODB目录或额外的PEAR包', -'settings_firstDayOfWeek' => '', +'settings_firstDayOfWeek' => '每周第一天', 'settings_firstDayOfWeek_desc' => '', 'settings_footNote' => '附注', 'settings_footNote_desc' => '显示在每个页面底部的信息', @@ -1101,14 +1107,14 @@ URL: [url]', 'settings_removeFromDropFolder_desc' => '', 'settings_restricted' => '', 'settings_restricted_desc' => '', -'settings_rootDir' => '', +'settings_rootDir' => '根目录', 'settings_rootDir_desc' => '', 'settings_rootFolderID' => '', 'settings_rootFolderID_desc' => '', 'settings_SaveError' => '', -'settings_Server' => '', +'settings_Server' => '服务设置', 'settings_showFullPreview' => '显示完整的文档', -'settings_showFullPreview_desc' => '', +'settings_showFullPreview_desc' => '启用/禁用详细页面完整预览, 如果浏览器>支持的话', 'settings_showMissingTranslations' => '显示丢失的翻译', 'settings_showMissingTranslations_desc' => '', 'settings_showSingleSearchHit' => '', @@ -1192,9 +1198,11 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => '', +'splash_document_indexed' => '', 'splash_document_locked' => '文档已被锁定', 'splash_document_unlocked' => '已解锁的文档', 'splash_edit_attribute' => '', +'splash_edit_event' => '', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_user' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index db14a965c..0f74788b8 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2374) +// Translators: Admin (2376) $text = array( '2_factor_auth' => '', @@ -476,8 +476,13 @@ URL: [url]', 'include_content' => '', 'include_documents' => '包含文檔', 'include_subdirectories' => '包含子目錄', +'indexing_tasks_in_queue' => '', 'index_converters' => '索引檔轉換', +'index_done' => '', +'index_error' => '', 'index_folder' => '索引目錄', +'index_pending' => '', +'index_waiting' => '', 'individuals' => '個人', 'indivіduals_in_groups' => '', 'inherited' => '繼承', @@ -672,6 +677,7 @@ URL: [url]', 'only_jpg_user_images' => '只用jpg格式的圖片才可以作為使用者身份圖片', 'order_by_sequence_off' => '', 'original_filename' => '', +'overall_indexing_progress' => '', 'owner' => '所有者', 'ownership_changed_email' => '所有者已變更', 'ownership_changed_email_body' => '', @@ -1129,9 +1135,9 @@ URL: [url]', 'settings_smtpUser_desc' => '', 'settings_sortFoldersDefault' => '', 'settings_sortFoldersDefault_desc' => '', -'settings_sortFoldersDefault_val_name' => '', +'settings_sortFoldersDefault_val_name' => '按名称', 'settings_sortFoldersDefault_val_sequence' => '', -'settings_sortFoldersDefault_val_unsorted' => '', +'settings_sortFoldersDefault_val_unsorted' => '不排序', 'settings_sortUsersInList' => '', 'settings_sortUsersInList_desc' => '', 'settings_sortUsersInList_val_fullname' => '', @@ -1190,9 +1196,11 @@ URL: [url]', 'splash_document_added' => '', 'splash_document_checkedout' => '', 'splash_document_edited' => '', +'splash_document_indexed' => '', 'splash_document_locked' => '文檔已被鎖定', 'splash_document_unlocked' => '已解鎖的文檔', 'splash_edit_attribute' => '', +'splash_edit_event' => '', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_user' => '', diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 68e578c85..215ec7868 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -406,6 +406,66 @@ for ($file_num=0;$file_numrun()) { UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText($controller->getErrorMsg())); } else { +<<<<<<< HEAD +======= + $document = $res[0]; + + /* Set access as specified in settings. */ + if($settings->_defaultAccessDocs) { + if($settings->_defaultAccessDocs > 0 && $settings->_defaultAccessDocs < 4) { + $document->setInheritAccess(0, true); + $document->setDefaultAccess($settings->_defaultAccessDocs, true); + } + } + + if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { + if (method_exists($hookObj, 'postAddDocument')) { + $hookObj->postAddDocument($document); + } + } + } + if($settings->_enableFullSearch) { + $index = $indexconf['Indexer']::open($settings->_luceneDir); + if($index) { + $indexconf['Indexer']::init($settings->_stopWordsFile); + $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText)); + if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { + if (method_exists($hookObj, 'preIndexDocument')) { + $hookObj->preIndexDocument(null, $document, $idoc); + } + } + } + $index->addDocument($idoc); + } + } + + /* Add a default notification for the owner of the document */ + if($settings->_enableOwnerNotification) { + $res = $document->addNotify($user->getID(), true); + } + /* Check if additional notification shall be added */ + if(!empty($_POST['notification_users'])) { + foreach($_POST['notification_users'] as $notuserid) { + $notuser = $dms->getUser($notuserid); + if($notuser) { + if($document->getAccessMode($user) >= M_READ) + $res = $document->addNotify($notuserid, true); + } + } + } + if(!empty($_POST['notification_groups'])) { + foreach($_POST['notification_groups'] as $notgroupid) { + $notgroup = $dms->getGroup($notgroupid); + if($notgroup) { + if($document->getGroupAccessMode($notgroup) >= M_READ) + $res = $document->addNotify($notgroupid, false); + } + } + } + +>>>>>>> seeddms-5.1.x // Send notification to subscribers of folder. if($notifier) { $fnl = $folder->getNotifyList(); diff --git a/op/op.Ajax.php b/op/op.Ajax.php index 4bbdbc02d..f414fdb50 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -741,8 +741,8 @@ switch($command) { } } - if(isset($GLOBALS['SEEDDMS_HOOKS']['postAddDocument'])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['postAddDocument'] as $hookObj) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { if (method_exists($hookObj, 'postAddDocument')) { $hookObj->postAddDocument($document); } @@ -752,7 +752,15 @@ switch($command) { $index = $indexconf['Indexer']::open($settings->_luceneDir); if($index) { $indexconf['Indexer']::init($settings->_stopWordsFile); - $index->addDocument(new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText))); + $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText)); + if(isset($GLOBALS['SEEDDMS_HOOKS']['addDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['addDocument'] as $hookObj) { + if (method_exists($hookObj, 'preIndexDocument')) { + $hookObj->preIndexDocument($document, $idoc); + } + } + } + $index->addDocument($idoc); } } @@ -925,5 +933,38 @@ switch($command) { echo json_encode(array('error'=>0, 'data'=>array('review'=>$reviews, 'approval'=>$approvals, 'receipt'=>$receipts, 'revision'=>$revisions), 'processing_time'=>microtime(true)-$startts)); } break; /* }}} */ + case 'indexdocument': /* {{{ */ + if($user && $user->isAdmin()) { + if($settings->_enableFullSearch) { + $document = $dms->getDocument($_REQUEST['id']); + if($document) { + $index = $indexconf['Indexer']::open($settings->_luceneDir); + if($index) { + $indexconf['Indexer']::init($settings->_stopWordsFile); + $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, false); + if(isset($GLOBALS['SEEDDMS_HOOKS']['indexDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['indexDocument'] as $hookObj) { + if (method_exists($hookObj, 'preIndexDocument')) { + $hookObj->preIndexDocument(null, $document, $idoc); + } + } + } + $index->addDocument($idoc); + header('Content-Type: application/json'); + echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_indexed'), 'data'=>$document->getID())); + } else { + header('Content-Type: application/json'); + echo json_encode(array('success'=>false, 'message'=>getMLText('error_occured'), 'data'=>$document->getID())); + } + } else { + header('Content-Type: application/json'); + echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_doc_id'), 'data'=>'')); + } + } else { + header('Content-Type: application/json'); + echo json_encode(array('success'=>false, 'message'=>getMLText('error_occured'), 'data'=>'')); + } + } + break; /* }}} */ } ?> diff --git a/op/op.PdfPreview.php b/op/op.PdfPreview.php new file mode 100644 index 000000000..48c85485f --- /dev/null +++ b/op/op.PdfPreview.php @@ -0,0 +1,77 @@ +getDocument($documentid); +if (!is_object($document)) { + exit; +} + +if ($document->getAccessMode($user) < M_READ) { + exit; +} + +if(isset($_GET['version'])) { + $version = $_GET["version"]; + if (!is_numeric($version)) + exit; + if(intval($version)<1) + $object = $document->getLatestContent(); + else + $object = $document->getContentByVersion($version); +} elseif(isset($_GET['file'])) { + $file = $_GET['file']; + if (!is_numeric($file) || intval($file)<1) + exit; + $object = $document->getDocumentFile($file); +} else { + exit; +} + +if (!is_object($object)) { + exit; +} + +$previewer = new SeedDMS_Preview_PdfPreviewer($settings->_cacheDir); +if(!$previewer->hasPreview($object)) + $previewer->createPreview($object); +header('Content-Type: application/pdf'); +$previewer->getPreview($object); + diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index 287e4fc5a..f4c022df2 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -257,12 +257,27 @@ if ($_FILES['userfile']['error'] == 0) { $attributes = array(); } + if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { + if (method_exists($hookObj, 'preUpdateDocument')) { + $hookObj->preUpdateDocument(array('name'=>&$name, 'comment'=>&$comment)); + } + } + } + $filesize = SeedDMS_Core_File::fileSize($userfiletmp); $contentResult=$document->addContent($comment, $user, $userfiletmp, basename($userfilename), $fileType, $userfiletype, $reviewers, $approvers, $version=0, $attributes, $workflow, $settings->_initialDocumentStatus); if (is_bool($contentResult) && !$contentResult) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } else { + if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { + if (method_exists($hookObj, 'postUpdateDocument')) { + $hookObj->postUpdateDocument($document); + } + } + } if($settings->_enableFullSearch) { $index = $indexconf['Indexer']::open($settings->_luceneDir); if($index) { @@ -271,7 +286,15 @@ if ($_FILES['userfile']['error'] == 0) { $index->delete($hit->id); } $indexconf['Indexer']::init($settings->_stopWordsFile); - $index->addDocument(new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText))); + $idoc = new $indexconf['IndexedDocument']($dms, $document, isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null, !($filesize < $settings->_maxSizeForFullText)); + if(isset($GLOBALS['SEEDDMS_HOOKS']['updateDocument'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['updateDocument'] as $hookObj) { + if (method_exists($hookObj, 'preIndexDocument')) { + $hookObj->preIndexDocument(null, $document, $idoc); + } + } + } + $index->addDocument($idoc); $index->commit(); } } diff --git a/out/out.Indexer.php b/out/out.Indexer.php index 5a213b392..39ca847e8 100644 --- a/out/out.Indexer.php +++ b/out/out.Indexer.php @@ -70,6 +70,7 @@ if($view) { $view->setParam('index', $index); $view->setParam('indexconf', $indexconf); $view->setParam('recreate', (isset($_GET['create']) && $_GET['create']==1)); + $view->setParam('forceupdate', (isset($_GET['forceupdate']) && $_GET['forceupdate']==1)); $view->setParam('folder', $folder); $view->setParam('converters', $settings->_converters['fulltext']); $view->setParam('timeout', $settings->_cmdTimeout); diff --git a/themes/default/DocumentPageEnd.html b/themes/default/DocumentPageEnd.html deleted file mode 100644 index 65b21cf46..000000000 --- a/themes/default/DocumentPageEnd.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - : - - - - - - diff --git a/themes/default/DocumentPageStart.html b/themes/default/DocumentPageStart.html deleted file mode 100644 index b3e808dee..000000000 --- a/themes/default/DocumentPageStart.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - " width="53" height="19" border="0" alt=""> - - " width="42" height="19" border="0" alt=""> - - - - - - - diff --git a/themes/default/EndBox.html b/themes/default/EndBox.html deleted file mode 100644 index 3451fac7d..000000000 --- a/themes/default/EndBox.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - diff --git a/themes/default/FolderPageEnd.html b/themes/default/FolderPageEnd.html deleted file mode 100644 index 571042790..000000000 --- a/themes/default/FolderPageEnd.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - : - - - - - - diff --git a/themes/default/FolderPageStart.html b/themes/default/FolderPageStart.html deleted file mode 100644 index b3e808dee..000000000 --- a/themes/default/FolderPageStart.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - " width="53" height="19" border="0" alt=""> - - " width="42" height="19" border="0" alt=""> - - - - - - - diff --git a/themes/default/HTMLFoot.html b/themes/default/HTMLFoot.html deleted file mode 100644 index 0a5732e0a..000000000 --- a/themes/default/HTMLFoot.html +++ /dev/null @@ -1,21 +0,0 @@ - - -