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

This commit is contained in:
Uwe Steinmann 2017-02-28 17:06:58 +01:00
commit 6e9b840e45
8 changed files with 73 additions and 21 deletions

View File

@ -22,12 +22,20 @@
- add document list which can be exported as an archive - add document list which can be exported as an archive
- search results can be exported - search results can be exported
--------------------------------------------------------------------------------
Changes in version 5.1.1
--------------------------------------------------------------------------------
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 5.1.0 Changes in version 5.1.0
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
- added support for postgresql - added support for postgresql
- document attachments can linked to a version and be public or hidden - document attachments can linked to a version and be public or hidden
--------------------------------------------------------------------------------
Changes in version 5.0.11
--------------------------------------------------------------------------------
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 5.0.10 Changes in version 5.0.10
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -100,6 +108,10 @@
- add .xml to online file types by default - add .xml to online file types by default
- add home folder for users - add home folder for users
--------------------------------------------------------------------------------
Changes in version 4.3.34
--------------------------------------------------------------------------------
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 4.3.33 Changes in version 4.3.33
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

View File

@ -1371,10 +1371,10 @@ class SeedDMS_Core_DMS {
// Only search if the offset is not beyond the number of folders // Only search if the offset is not beyond the number of folders
if($totalFolders > $offset) { if($totalFolders > $offset) {
// Prepare the complete search query, including the LIMIT clause. // 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) { if($limit) {
$searchQuery .= " LIMIT ".$offset.",".$limit; $searchQuery .= " LIMIT ".$limit." OFFSET ".$offset;
} }
// Send the complete search query to the database. // Send the complete search query to the database.
@ -1636,7 +1636,7 @@ class SeedDMS_Core_DMS {
else else
$offset = 0; $offset = 0;
if($limit) if($limit)
$searchQuery .= " LIMIT ".$offset.",".$remain; $searchQuery .= " LIMIT ".$limit." OFFSET ".$offset;
// Send the complete search query to the database. // Send the complete search query to the database.
$resArr = $this->db->getResultArray($searchQuery); $resArr = $this->db->getResultArray($searchQuery);
@ -1880,10 +1880,11 @@ class SeedDMS_Core_DMS {
$role = '0'; $role = '0';
if(trim($pwdexpiration) == '' || trim($pwdexpiration) == 'never') if(trim($pwdexpiration) == '' || trim($pwdexpiration) == 'never')
$pwdexpiration = 'NULL'; $pwdexpiration = 'NULL';
elseif(trim($pwdexpiration) == 'now') } elseif(trim($pwdexpiration) == 'now') {
$pwdexpiration = $db->qstr(date('Y-m-d H:i:s')); $pwdexpiration = $db->qstr(date('Y-m-d H:i:s'));
else } else {
$pwdexpiration = $db->qstr($pwdexpiration); $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").")"; $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); $res = $this->db->getResult($queryStr);
if (!$res) if (!$res)

View File

@ -12,8 +12,8 @@
<email>uwe@steinmann.cx</email> <email>uwe@steinmann.cx</email>
<active>yes</active> <active>yes</active>
</lead> </lead>
<date>2017-02-20</date> <date>2017-02-28</date>
<time>06:23:34</time> <time>06:34:50</time>
<version> <version>
<release>6.0.0</release> <release>6.0.0</release>
<api>6.0.0</api> <api>6.0.0</api>
@ -24,7 +24,7 @@
</stability> </stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license> <license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes> <notes>
- all changes from 5.1.0 merged - all changes from 5.1.1 merged
- SeedDMS_Core_User::getReceiptStatus() and SeedDMS_Core_User::getReviewStatus() - SeedDMS_Core_User::getReceiptStatus() and SeedDMS_Core_User::getReviewStatus()
only return entries of the latest document version if not specific document and only return entries of the latest document version if not specific document and
version is passed version is passed
@ -1181,6 +1181,21 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated
- SeedDMЅ_Core_User::setFullname() minor fix in sql statement - SeedDMЅ_Core_User::setFullname() minor fix in sql statement
</notes> </notes>
</release> </release>
<release>
<date>2017-02-28</date>
<time>06:38:12</time>
<version>
<release>4.3.34</release>
<api>4.3.34</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
</notes>
</release>
<release> <release>
<date>2016-01-22</date> <date>2016-01-22</date>
<time>14:34:58</time> <time>14:34:58</time>
@ -1343,8 +1358,24 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated
</notes> </notes>
</release> </release>
<release> <release>
<date>2016-03-09</date> <date>2017-02-28</date>
<time>09:28:28</time> <time>06:23:34</time>
<version>
<release>5.0.11</release>
<api>5.0.11</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- all changes from 4.3.34 merged
</notes>
</release>
<release>
<date>2017-02-20</date>
<time>07:07:02</time>
<version> <version>
<release>5.1.0</release> <release>5.1.0</release>
<api>5.1.0</api> <api>5.1.0</api>

View File

@ -1274,6 +1274,7 @@ class Settings { /* {{{ */
case 'mysql': case 'mysql':
case 'mysqli': case 'mysqli':
case 'mysqlnd': case 'mysqlnd':
case 'pgsql':
$tmp = explode(":", $this->_dbHostname); $tmp = explode(":", $this->_dbHostname);
$dsn = $this->_dbDriver.":dbname=".$this->_dbDatabase.";host=".$tmp[0]; $dsn = $this->_dbDriver.":dbname=".$this->_dbDatabase.";host=".$tmp[0];
if(!empty($tmp[1])) if(!empty($tmp[1]))
@ -1287,7 +1288,7 @@ class Settings { /* {{{ */
"status" => "notfound", "status" => "notfound",
"type" => "error", "type" => "error",
"currentvalue" => $this->_dbDriver, "currentvalue" => $this->_dbDriver,
"suggestionvalue" => "mysql|sqlite" "suggestionvalue" => "mysql|sqlite|pgsql"
); );
} }
if($dsn) { if($dsn) {

View File

@ -350,8 +350,8 @@ CREATE TABLE `tblDocumentFiles` (
`id` int(11) NOT NULL AUTO_INCREMENT, `id` int(11) NOT NULL AUTO_INCREMENT,
`document` int(11) NOT NULL DEFAULT '0', `document` int(11) NOT NULL DEFAULT '0',
`version` smallint(5) unsigned 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', `public` tinyint(1) NOT NULL DEFAULT '0',
`userID` int(11) NOT NULL DEFAULT '0',
`comment` text, `comment` text,
`name` varchar(150) DEFAULT NULL, `name` varchar(150) DEFAULT NULL,
`date` int(12) DEFAULT NULL, `date` int(12) DEFAULT NULL,

View File

@ -318,7 +318,7 @@ if ($action=="setSettings") {
$connTmp->exec($query); $connTmp->exec($query);
if ($connTmp->errorCode() != 0) { if ($connTmp->errorCode() != 0) {
$errorMsg .= $connTmp->errorInfo() . "<br/>"; $errorMsg .= $connTmp->errorInfo()[2] . "<br/>";
} }
} }
} }
@ -345,7 +345,18 @@ if ($action=="setSettings") {
$needsupdate = false; $needsupdate = false;
$connTmp =openDBConnection($settings); $connTmp =openDBConnection($settings);
if ($connTmp) { 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($res) {
if($rec = $res->fetch(PDO::FETCH_ASSOC)) { if($rec = $res->fetch(PDO::FETCH_ASSOC)) {
$updatedirs = array(); $updatedirs = array();

View File

@ -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 `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; ALTER TABLE `tblUsers` CHANGE `pwdExpiration` `pwdExpiration` datetime default NULL;

View File

@ -450,11 +450,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo " <input type=\"hidden\" name=\"folderid\" value=\"".$folder->getID()."\" />"; echo " <input type=\"hidden\" name=\"folderid\" value=\"".$folder->getID()."\" />";
} }
echo " <input type=\"hidden\" name=\"navBar\" value=\"1\" />"; echo " <input type=\"hidden\" name=\"navBar\" value=\"1\" />";
echo " <input type=\"hidden\" name=\"searchin[]\" value=\"1\" />"; echo " <input name=\"query\" class=\"search-query\" ".($this->params['defaultsearchmethod'] == 'fulltext' ? "" : "id=\"searchfield\"")." data-provide=\"typeahead\" type=\"text\" style=\"width: 150px;\" placeholder=\"".getMLText("search")."\"/>";
echo " <input type=\"hidden\" name=\"searchin[]\" value=\"2\" />";
echo " <input type=\"hidden\" name=\"searchin[]\" value=\"3\" />";
echo " <input type=\"hidden\" name=\"searchin[]\" value=\"4\" />";
echo " <input name=\"query\" class=\"search-query\" id=\"searchfield\" data-provide=\"typeahead\" type=\"text\" style=\"width: 150px;\" placeholder=\"".getMLText("search")."\"/>";
if($this->params['defaultsearchmethod'] == 'fulltext') if($this->params['defaultsearchmethod'] == 'fulltext')
echo " <input type=\"hidden\" name=\"fullsearch\" value=\"1\" />"; echo " <input type=\"hidden\" name=\"fullsearch\" value=\"1\" />";
// if($this->params['enablefullsearch']) { // if($this->params['enablefullsearch']) {