Merge branch 'seeddms-5.0.x' into develop

This commit is contained in:
Uwe Steinmann 2016-02-04 19:22:59 +01:00
commit 3b8d7a5271
90 changed files with 1696 additions and 778 deletions

View File

@ -1,14 +1,39 @@
--------------------------------------------------------------------------------
Changes in version 5.0.1
--------------------------------------------------------------------------------
- merged changes from 4.3.24
--------------------------------------------------------------------------------
Changes in version 5.0.0
--------------------------------------------------------------------------------
- support for customer extensions
- smtp authentification
- add .xml to online file types by default
- add home folder for users
--------------------------------------------------------------------------------
Changes in version 4.3.24
--------------------------------------------------------------------------------
- fixed possible XSS attack in user substitution
- users can have than one mandatory workflow, in that case the user can select one
- completed MyDocuments page for advanced workflows
- guest user can be automatically logged in
- get/set custom attributes by webdav
- default search method can be set (fulltext, database)
- various translation updates
--------------------------------------------------------------------------------
Changes in version 4.3.23
--------------------------------------------------------------------------------
- send notification if document is delete to those users watching the folder
- fix editing of customer attributes of type checkbox
- disallow read access for group didn't prevent the users from being selected
- disallowed read access for a group didn't prevent the users from being selected
as a reviewer/approver
- move the last bits of plain sql code from op/*.php into the core
- group manager uses ajax like user manager
- start to enforce content security policy
- fixed possible XSS attack in user manager
- ldap search can be filtered (Thanks to Tobias for the patch)
--------------------------------------------------------------------------------
Changes in version 4.3.22

View File

@ -1,4 +1,4 @@
VERSION=5.0.0
VERSION=5.0.1
SRC=CHANGELOG inc conf utils index.php languages views op out controllers README.md README.Notification README.Ubuntu drop-tables-innodb.sql styles js TODO LICENSE Makefile webdav install restapi
# webapp

View File

@ -117,7 +117,7 @@ class SeedDMS_Core_Attribute { /* {{{ */
/**
* Return attribute values as an array
*
* This function returns the attribute value as an array. Such an array
* This function returns the attribute value as an array. The array
* has one element for non multi value attributes and n elements for
* multi value attributes.
*
@ -133,14 +133,67 @@ class SeedDMS_Core_Attribute { /* {{{ */
/**
* Set a value of an attribute
* The attribute is deleted completely if the value is the empty string
*
* @param string $value value to be set
* The attribute is completely deleted if the value is an empty string
* or empty array. An array of values is only allowed if the attribute may
* have multiple values. If an array is passed and the attribute may
* have only a single value, then the first element of the array will
* be taken.
*
* @param string $values value as string or array to be set
* @return boolean true if operation was successfull, otherwise false
*/
function setValue($value) { /* {{{*/
function setValue($values) { /* {{{*/
$db = $this->_dms->getDB();
if($this->_attrdef->getMultipleValues()) {
/* Multiple values without a value set is not allowed */
if(!$valuesetstr = $this->_attrdef->getValueSet())
return false;
$valueset = $this->_attrdef->getValueSetAsArray();
if(is_array($values)) {
if($values) {
$error = false;
foreach($values as $v) {
if(!in_array($v, $valueset)) { $error = true; break; }
}
if($error)
return false;
$valuesetstr = $this->_attrdef->getValueSet();
$value = $valuesetstr[0].implode($valuesetstr[0], $values);
} else {
$value = '';
}
} else {
if($values) {
if($valuesetstr[0] != $values[0])
$values = explode($valuesetstr[0], $values);
else
$values = explode($valuesetstr[0], substr($values, 1));
$error = false;
foreach($values as $v) {
if(!in_array($v, $valueset)) { $error = true; break; }
}
if($error)
return false;
$value = $valuesetstr[0].implode($valuesetstr[0], $values);
} else {
$value = $values;
}
}
} else {
if(is_array($values)) {
if($values)
$value = $values[0];
else
$value = '';
} else {
$value = $values;
}
}
switch(get_class($this->_obj)) {
case $this->_dms->getClassname('document'):
if(trim($value) === '')
@ -524,6 +577,12 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
/**
* Get the value set as saved in the database
*
* This is a string containing the list of valueѕ separated by a
* delimiter which also precedes the whole string, e.g. '|Yes|No'
*
* Use {@link SeedDMS_Core_AttributeDefinition::getValueSetAsArray()}
* for a list of values returned as an array.
*
* @return string value set
*/
function getValueSet() { /* {{{ */
@ -540,7 +599,7 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
if(strlen($this->_valueset) > 1)
return explode($this->_valueset[0], substr($this->_valueset, 1));
else
return false;
return array();
} /* }}} */
/**
@ -677,7 +736,7 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
$queryStr = "SELECT count(*) c, value FROM tblDocumentAttributes WHERE attrdef=".$this->_id." GROUP BY value ORDER BY c DESC";
$resArr = $db->getResultArray($queryStr);
if($resArr) {
$result['frequencies'] = $resArr;
$result['frequencies']['document'] = $resArr;
}
}
@ -694,6 +753,11 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
}
}
}
$queryStr = "SELECT count(*) c, value FROM tblFolderAttributes WHERE attrdef=".$this->_id." GROUP BY value ORDER BY c DESC";
$resArr = $db->getResultArray($queryStr);
if($resArr) {
$result['frequencies']['folder'] = $resArr;
}
}
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
@ -709,6 +773,11 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
}
}
}
$queryStr = "SELECT count(*) c, value FROM tblDocumentContentAttributes WHERE attrdef=".$this->_id." GROUP BY value ORDER BY c DESC";
$resArr = $db->getResultArray($queryStr);
if($resArr) {
$result['frequencies']['content'] = $resArr;
}
}
return $result;

View File

@ -368,7 +368,7 @@ class SeedDMS_Core_DMS {
$this->classnames['transmittalitem'] = 'SeedDMS_Core_TransmittalItem';
$this->version = '@package_version@';
if($this->version[0] == '@')
$this->version = '5.0.0';
$this->version = '5.0.1';
} /* }}} */
/**

View File

@ -202,6 +202,11 @@ class SeedDMS_Core_Object { /* {{{ */
if (!$this->_attributes) {
$this->getAttributes();
}
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_boolean:
$value = ($value === true || $value != '' || $value == 1) ? 1 : 0;
break;
}
if($attrdef->getMultipleValues() && is_array($value)) {
$sep = substr($attrdef->getValueSet(), 0, 1);
$value = $sep.implode($sep, $value);

View File

@ -1285,7 +1285,7 @@ class SeedDMS_Core_User { /* {{{ */
function getWorkflowStatus($documentID=null, $version=null) { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = 'SELECT d.*, c.userid FROM tblWorkflowTransitions a LEFT JOIN tblWorkflows b ON a.workflow=b.id LEFT JOIN tblWorkflowTransitionUsers c ON a.id=c.transition LEFT JOIN tblWorkflowDocumentContent d ON b.id=d.workflow WHERE d.document IS NOT NULL AND a.state=d.state AND c.userid='.$this->_id;
$queryStr = 'SELECT DISTINCT d.*, c.userid FROM tblWorkflowTransitions a LEFT JOIN tblWorkflows b ON a.workflow=b.id LEFT JOIN tblWorkflowTransitionUsers c ON a.id=c.transition LEFT JOIN tblWorkflowDocumentContent d ON b.id=d.workflow WHERE d.document IS NOT NULL AND a.state=d.state AND c.userid='.$this->_id;
if($documentID) {
$queryStr .= ' AND d.document='.(int) $documentID;
if($version)
@ -1301,7 +1301,7 @@ class SeedDMS_Core_User { /* {{{ */
}
}
$queryStr = 'select d.*, c.groupid from tblWorkflowTransitions a left join tblWorkflows b on a.workflow=b.id left join tblWorkflowTransitionGroups c on a.id=c.transition left join tblWorkflowDocumentContent d on b.id=d.workflow left join tblGroupMembers e on c.groupid = e.groupID where d.document is not null and a.state=d.state and e.userID='.$this->_id;
$queryStr = 'select distinct d.*, c.groupid from tblWorkflowTransitions a left join tblWorkflows b on a.workflow=b.id left join tblWorkflowTransitionGroups c on a.id=c.transition left join tblWorkflowDocumentContent d on b.id=d.workflow left join tblGroupMembers e on c.groupid = e.groupID where d.document is not null and a.state=d.state and e.userID='.$this->_id;
if($documentID) {
$queryStr .= ' AND d.document='.(int) $documentID;
if($version)
@ -1377,6 +1377,32 @@ class SeedDMS_Core_User { /* {{{ */
return $workflow;
} /* }}} */
/**
* Get the mandatory workflows
* A user which isn't trusted completely may have assigned mandatory
* workflow
* Whenever the user inserts a new document the mandatory workflow is
* filled in as the workflow.
*
* @return object workflow
*/
function getMandatoryWorkflows() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM tblWorkflowMandatoryWorkflow WHERE userid = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr) return false;
if(!$resArr)
return null;
$workflows = array();
foreach($resArr as $res) {
$workflows[] = $this->_dms->getWorkflow($res['workflow']);
}
return $workflows;
} /* }}} */
/**
* Set a mandatory reviewer
* This function sets a mandatory reviewer if it isn't already set.
@ -1463,6 +1489,36 @@ class SeedDMS_Core_User { /* {{{ */
if (is_bool($resArr) && !$resArr) return false;
} /* }}} */
/**
* Set a mandatory workflows
* This function sets a list of mandatory workflows.
*
* @param array $workflows list of workflow objects
* @return boolean true on success, otherwise false
*/
function setMandatoryWorkflows($workflows) { /* {{{ */
$db = $this->_dms->getDB();
$db->startTransaction();
$queryStr = "DELETE FROM tblWorkflowMandatoryWorkflow WHERE userid = " . $this->_id;
if (!$db->getResult($queryStr)) {
$db->rollbackTransaction();
return false;
}
foreach($workflows as $workflow) {
$queryStr = "INSERT INTO tblWorkflowMandatoryWorkflow (userid, workflow) VALUES (" . $this->_id . ", " . $workflow->getID() .")";
$resArr = $db->getResult($queryStr);
if (is_bool($resArr) && !$resArr) {
$db->rollbackTransaction();
return false;
}
}
$db->commitTransaction();
return true;
} /* }}} */
/**
* Deletes all mandatory reviewers
*

View File

@ -12,8 +12,8 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2015-04-15</date>
<time>08:02:04</time>
<date>2016-01-22</date>
<time>09:28:28</time>
<version>
<release>5.0.0</release>
<api>5.0.0</api>
@ -912,5 +912,56 @@ by a group or user right
- user getCurrentTimestamp() and getCurrentDatetime() whenever possible
</notes>
</release>
<release>
<date>2015-11-09</date>
<time>19:49:20</time>
<version>
<release>4.3.22</release>
<api>4.3.22</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- fix sql statement to reset password
- pass some more information for timeline
</notes>
</release>
<release>
<date>2016-01-21</date>
<time>07:12:53</time>
<version>
<release>4.3.23</release>
<api>4.3.23</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- new method SeedDMS_Core_DMS::createDump()
- minor improvements int SeedDMS_Core_Document::getReadAccessList()
</notes>
</release>
<release>
<date>2016-01-22</date>
<time>07:12:53</time>
<version>
<release>4.3.24</release>
<api>4.3.24</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- make sure boolean attribute is saved as 0/1
- add SeedDMS_Core_User::[g|s]etMandatoryWorkflows()
</notes>
</release>
</changelog>
</package>

View File

@ -64,6 +64,7 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
public function __construct($dms, $document, $convcmd=null, $nocontent=false, $timeout=5) {
$_convcmd = array(
'application/pdf' => 'pdftotext -enc UTF-8 -nopgbrk %s - |sed -e \'s/ [a-zA-Z0-9.]\{1\} / /g\' -e \'s/[0-9.]//g\'',
'application/postscript' => 'ps2pdf14 %s - | pdftotext -enc UTF-8 -nopgbrk - - | sed -e \'s/ [a-zA-Z0-9.]\{1\} / /g\' -e \'s/[0-9.]//g\'',
'application/msword' => 'catdoc %s',
'application/vnd.ms-excel' => 'ssconvert -T Gnumeric_stf:stf_csv -S %s fd://1',
'audio/mp3' => "id3 -l -R %s | egrep '(Title|Artist|Album)' | sed 's/^[^:]*: //g'",

View File

@ -11,11 +11,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2015-08-05</date>
<time>21:13:13</time>
<date>2016-02-01</date>
<time>09:14:07</time>
<version>
<release>1.1.6</release>
<api>1.1.6</api>
<release>1.1.7</release>
<api>1.1.7</api>
</version>
<stability>
<release>stable</release>
@ -23,7 +23,7 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
run external commands with a timeout
add command for indexing postѕcript files
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -186,5 +186,21 @@ field for original filename is treated as utf-8
declare SeeDMS_Lucene_Indexer::open() static
</notes>
</release>
<release>
<date>2015-08-05</date>
<time>21:13:13</time>
<version>
<release>1.1.6</release>
<api>1.1.6</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
run external commands with a timeout
</notes>
</release>
</changelog>
</package>

View File

@ -69,6 +69,7 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
public function __construct($dms, $document, $convcmd=null, $nocontent=false, $timeout=5) {
$_convcmd = array(
'application/pdf' => 'pdftotext -enc UTF-8 -nopgbrk %s - |sed -e \'s/ [a-zA-Z0-9.]\{1\} / /g\' -e \'s/[0-9.]//g\'',
'application/postscript' => 'ps2pdf14 %s - | pdftotext -enc UTF-8 -nopgbrk - - | sed -e \'s/ [a-zA-Z0-9.]\{1\} / /g\' -e \'s/[0-9.]//g\'',
'application/msword' => 'catdoc %s',
'application/vnd.ms-excel' => 'ssconvert -T Gnumeric_stf:stf_csv -S %s fd://1',
'audio/mp3' => "id3 -l -R %s | egrep '(Title|Artist|Album)' | sed 's/^[^:]*: //g'",

View File

@ -11,10 +11,10 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2016-01-10</date>
<time>09:07:07</time>
<date>2016-02-01</date>
<time>09:15:01</time>
<version>
<release>1.0.2</release>
<release>1.0.3</release>
<api>1.0.1</api>
</version>
<stability>
@ -23,7 +23,7 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
check if index exists before removing it when creating a new one
add command for indexing postѕcript files
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -98,5 +98,21 @@ initial release
add __get() to SQLiteFTS_Document because class.IndexInfo.php access class variable title which doesn't exists
</notes>
</release>
<release>
<date>2016-01-10</date>
<time>09:07:07</time>
<version>
<release>1.0.2</release>
<api>1.0.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
check if index exists before removing it when creating a new one
</notes>
</release>
</changelog>
</package>

View File

@ -111,6 +111,7 @@
- URIs are supported, e.g.: ldaps://ldap.host.com
- port: port of the authentification server
- baseDN: top level of the LDAP directory tree
- filter: Additional filters which are to be checked
-->
<connector
enable = "false"
@ -120,6 +121,7 @@
baseDN = ""
bindDN=""
bindPw=""
filter=""
>
</connector>
<!-- ***** CONNECTOR Microsoft Active Directory *****

View File

@ -12,19 +12,27 @@
* @version Release: @package_version@
*/
require_once("inc.Utils.php");
require_once("inc.ClassEmailNotify.php");
require_once("inc.ClassSession.php");
$refer = $_SERVER["REQUEST_URI"];
if (!strncmp("/op", $refer, 3)) {
$refer="";
} else {
$refer = urlencode($refer);
}
require_once("inc.Utils.php");
require_once("inc.ClassEmailNotify.php");
require_once("inc.ClassSession.php");
if (!isset($_COOKIE["mydms_session"])) {
if($settings->_autoLoginUser) {
if($settings->_enableGuestLogin && $settings->_enableGuestAutoLogin) {
require_once("../inc/inc.ClassSession.php");
$session = new SeedDMS_Session($db);
if(!$dms_session = $session->create(array('userid'=>$settings->_guestID, 'theme'=>$settings->_theme, 'lang'=>$settings->_language))) {
header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer);
exit;
}
$resArr = $session->load($dms_session);
} elseif($settings->_autoLoginUser) {
require_once("../inc/inc.ClassSession.php");
if(!($user = $dms->getUser($settings->_autoLoginUser))/* || !$user->isGuest()*/) {
header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer);
exit;
@ -40,17 +48,11 @@ if (!isset($_COOKIE["mydms_session"])) {
$user->setLanguage($lang);
}
$session = new SeedDMS_Session($db);
if(!$id = $session->create(array('userid'=>$user->getID(), 'theme'=>$theme, 'lang'=>$lang))) {
if(!$dms_session = $session->create(array('userid'=>$user->getID(), 'theme'=>$theme, 'lang'=>$lang))) {
header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer);
exit;
}
/*
if($settings->_cookieLifetime)
$lifetime = time() + intval($settings->_cookieLifetime);
else
$lifetime = 0;
setcookie("mydms_session", $id, $lifetime, $settings->_httpRoot, null, null, !$settings->_enableLargeFileUpload);
*/
$resArr = $session->load($dms_session);
} else {
header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer);
exit;
@ -64,31 +66,29 @@ if (!isset($_COOKIE["mydms_session"])) {
header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer);
exit;
}
/* Update last access time */
$session->updateAccess($dms_session);
/* Load user data */
$user = $dms->getUser($resArr["userID"]);
if (!is_object($user)) {
setcookie("mydms_session", $dms_session, time()-3600, $settings->_httpRoot); //delete cookie
header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer);
exit;
}
/* Check if user was substituted */
if($resArr["su"] && $su = $dms->getUser($resArr["su"])) {
/* Admin may always substitute the user, but regular users are*/
if($user->isAdmin() || $user->maySwitchToUser($su)) {
$user = $su;
} else {
$session->resetSu();
}
}
$theme = $resArr["theme"];
$lang = $resArr["language"];
}
/* Update last access time */
$session->updateAccess($dms_session);
/* Load user data */
$user = $dms->getUser($resArr["userID"]);
if (!is_object($user)) {
setcookie("mydms_session", $dms_session, time()-3600, $settings->_httpRoot); //delete cookie
header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer);
exit;
}
if($user->isAdmin() || $user->maySwitchToUser($su)) {
if($resArr["su"]) {
$user = $dms->getUser($resArr["su"]);
} else {
$session->resetSu();
}
}
$theme = $resArr["theme"];
$lang = $resArr["language"];
$dms->setUser($user);
if($settings->_enableEmail) {
$notifier = new SeedDMS_EmailNotify($settings->_smtpSendFrom, $settings->_smtpServer, $settings->_smtpPort, $settings->_smtpUser, $settings->_smtpPassword);

View File

@ -38,6 +38,8 @@ class Settings { /* {{{ */
var $_rootFolderID = 1;
// If you want anybody to login as guest, set the following line to true
var $_enableGuestLogin = false;
// If you even want guest to be logged in automatically, set the following to true
var $_enableGuestAutoLogin = false;
// Allow users to reset their password
var $_enablePasswordForgotten = false;
// Minimum password strength (0 - x, 0 means no check)
@ -99,6 +101,8 @@ class Settings { /* {{{ */
var $_enableFullSearch = true;
// fulltext search engine
var $_fullSearchEngine = 'lucene';
// default search method
var $_defaultSearchMethod = 'database'; // or 'fulltext'
// contentOffsetDirTo
var $_contentOffsetDir = "1048576";
// Maximum number of sub-directories per parent directory
@ -182,6 +186,8 @@ class Settings { /* {{{ */
var $_enableRecursiveCount = false;
// maximum number of documents or folders when counted recursively
var $_maxRecursiveCount = 10000;
// enable/disable help
var $_enableHelp = true;
// enable/disable language selection menu
var $_enableLanguageSelector = true;
// enable/disable theme selector
@ -239,6 +245,7 @@ class Settings { /* {{{ */
var $_ldapBindPw = "";
var $_ldapAccountDomainName = "";
var $_ldapType = 1; // 0 = ldap; 1 = AD
var $_ldapFilter = "";
var $_converters = array(); // list of commands used to convert files to text for Indexer
var $_extensions = array(); // configuration for extensions
@ -370,10 +377,12 @@ class Settings { /* {{{ */
$this->_enableFolderTree = Settings::boolVal($tab["enableFolderTree"]);
$this->_enableRecursiveCount = Settings::boolVal($tab["enableRecursiveCount"]);
$this->_maxRecursiveCount = intval($tab["maxRecursiveCount"]);
$this->_enableHelp = Settings::boolVal($tab["enableHelp"]);
$this->_enableLanguageSelector = Settings::boolVal($tab["enableLanguageSelector"]);
$this->_enableThemeSelector = Settings::boolVal($tab["enableThemeSelector"]);
$this->_enableFullSearch = Settings::boolVal($tab["enableFullSearch"]);
$this->_fullSearchEngine = strval($tab["fullSearchEngine"]);
$this->_defaultSearchMethod = strval($tab["defaultSearchMethod"]);
$this->_stopWordsFile = strval($tab["stopWordsFile"]);
$this->_sortUsersInList = strval($tab["sortUsersInList"]);
$this->_sortFoldersDefault = strval($tab["sortFoldersDefault"]);
@ -409,6 +418,7 @@ class Settings { /* {{{ */
$node = $xml->xpath('/configuration/system/authentication');
$tab = $node[0]->attributes();
$this->_enableGuestLogin = Settings::boolVal($tab["enableGuestLogin"]);
$this->_enableGuestAutoLogin = Settings::boolVal($tab["enableGuestAutoLogin"]);
$this->_enablePasswordForgotten = Settings::boolVal($tab["enablePasswordForgotten"]);
$this->_passwordStrength = intval($tab["passwordStrength"]);
$this->_passwordStrengthAlgorithm = strval($tab["passwordStrengthAlgorithm"]);
@ -451,6 +461,7 @@ class Settings { /* {{{ */
$this->_ldapBindDN = strVal($connectorNode["bindDN"]);
$this->_ldapBindPw = strVal($connectorNode["bindPw"]);
$this->_ldapType = 0;
$this->_ldapFilter = strVal($connectorNode["filter"]);
}
else if ($params['enable'] && ($typeConn == "AD"))
{
@ -460,6 +471,7 @@ class Settings { /* {{{ */
$this->_ldapBindDN = strVal($connectorNode["bindDN"]);
$this->_ldapBindPw = strVal($connectorNode["bindPw"]);
$this->_ldapType = 1;
$this->_ldapFilter = strVal($connectorNode["filter"]);
$this->_ldapAccountDomainName = strVal($connectorNode["accountDomainName"]);
}
}
@ -682,10 +694,12 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree);
$this->setXMLAttributValue($node, "enableRecursiveCount", $this->_enableRecursiveCount);
$this->setXMLAttributValue($node, "maxRecursiveCount", $this->_maxRecursiveCount);
$this->setXMLAttributValue($node, "enableHelp", $this->_enableHelp);
$this->setXMLAttributValue($node, "enableLanguageSelector", $this->_enableLanguageSelector);
$this->setXMLAttributValue($node, "enableThemeSelector", $this->_enableThemeSelector);
$this->setXMLAttributValue($node, "enableFullSearch", $this->_enableFullSearch);
$this->setXMLAttributValue($node, "fullSearchEngine", $this->_fullSearchEngine);
$this->setXMLAttributValue($node, "defaultSearchMethod", $this->_defaultSearchMethod);
$this->setXMLAttributValue($node, "expandFolderTree", $this->_expandFolderTree);
$this->setXMLAttributValue($node, "stopWordsFile", $this->_stopWordsFile);
$this->setXMLAttributValue($node, "sortUsersInList", $this->_sortUsersInList);
@ -719,6 +733,7 @@ class Settings { /* {{{ */
// XML Path: /configuration/system/authentication
$node = $this->getXMLNode($xml, '/configuration/system', 'authentication');
$this->setXMLAttributValue($node, "enableGuestLogin", $this->_enableGuestLogin);
$this->setXMLAttributValue($node, "enableGuestAutoLogin", $this->_enableGuestAutoLogin);
$this->setXMLAttributValue($node, "enablePasswordForgotten", $this->_enablePasswordForgotten);
$this->setXMLAttributValue($node, "passwordStrength", $this->_passwordStrength);
$this->setXMLAttributValue($node, "passwordStrengthAlgorithm", $this->_passwordStrengthAlgorithm);

View File

@ -91,6 +91,7 @@ class UI extends UI_Default {
$view->setParam('enablecalendar', $settings->_enableCalendar);
$view->setParam('calendardefaultview', $settings->_calendarDefaultView);
$view->setParam('enablefullsearch', $settings->_enableFullSearch);
$view->setParam('enablehelp', $settings->_enableHelp);
$view->setParam('enablelargefileupload', $settings->_enableLargeFileUpload);
$view->setParam('printdisclaimer', $settings->_printDisclaimer);
$view->setParam('footnote', $settings->_footNote);
@ -104,6 +105,7 @@ class UI extends UI_Default {
$view->setParam('partitionsize', $settings->_partitionSize);
$view->setParam('checkoutdir', $settings->_checkOutDir);
$view->setParam('showmissingtranslations', $settings->_showMissingTranslations);
$view->setParam('defaultsearchmethod', $settings->_defaultSearchMethod);
return $view;
}
return null;

View File

@ -27,7 +27,7 @@ class UI_Default {
$this->theme = $theme;
}
static function getStyles() { /* {{{ */
static function __getStyles() { /* {{{ */
global $settings;
$themes = array();
@ -52,12 +52,14 @@ class UI_Default {
} else {
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n".
"\"http://www.w3.org/TR/html4/strict.dtd\">\n";
echo "<html>\n<head>\n";
echo "<html lang=\"en\">\n<head>\n";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n";
echo "<link rel=\"STYLESHEET\" type=\"text/css\" href=\"../styles/".$theme."/style.css\"/>\n";
echo "<link rel=\"STYLESHEET\" type=\"text/css\" href=\"../styles/print.css\" media=\"print\"/>\n";
echo "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../styles/".$theme."/bootstrap/css/bootstrap.css\"/>\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../styles/".$theme."/bootstrap/css/bootstrap-responsive.css\"/>\n";
echo "<link rel='shortcut icon' href='../styles/".$theme."/favicon.ico' type='image/x-icon'/>\n";
echo "<script type='text/javascript' src='../js/jquery.min.js'></script>\n";
echo "<script type='text/javascript' src='../styles/".$theme."/jquery/jquery.min.js'></script>\n";
echo "<script type='text/javascript' src='../styles/".$theme."/bootstrap/js/bootstrap.min.js'></script>\n";
echo "<title>".(strlen($settings->_siteName)>0 ? $settings->_siteName : "SeedDMS").(strlen($title)>0 ? ": " : "").htmlspecialchars($title)."</title>\n";
echo "</head>\n";
echo "<body".(strlen($bodyClass)>0 ? " class=\"".$bodyClass."\"" : "").">\n";
@ -78,6 +80,9 @@ class UI_Default {
function footNote() { /* {{{ */
global $settings;
echo '<div class="row-fluid" style="padding-top: 20px;">'."\n";
echo '<div class="span12">'."\n";
echo '<div class="alert alert-info">'."\n";
if ($settings->_printDisclaimer){
echo "<div class=\"disclaimer\">".getMLText("disclaimer")."</div>";
}
@ -85,31 +90,38 @@ class UI_Default {
if (isset($settings->_footNote) && strlen((string)$settings->_footNote)>0) {
echo "<div class=\"footNote\">".(string)$settings->_footNote."</div>";
}
echo "</div>\n";
echo "</div>\n";
echo "</div>\n";
return;
} /* }}} */
function contentStart() { /* {{{ */
echo "<div class=\"container-fluid\" style=\"margin-top: 50px;\">\n";
echo " <div class=\"row-fluid\">\n";
} /* }}} */
function contentEnd() { /* {{{ */
echo " </div>\n";
echo "</div>\n";
} /* }}} */
function globalBanner() { /* {{{ */
global $settings;
echo "<div class=\"globalBox\" id=\"noNav\">\n";
echo "<div class=\"globalTR\"></div>\n";
echo "<div id=\"logo\"><img src='../styles/logo.png'></div>\n";
echo "<div class=\"siteNameLogin\">".
(strlen($settings->_siteName)>0 ? $settings->_siteName : "SeedDMS").
"</div>\n";
echo "<div style=\"clear: both; height: 0px; font-size:0;\">&nbsp;</div>\n".
"</div>\n";
echo "<div class=\"navbar navbar-inverse navbar-fixed-top\">\n";
echo " <div class=\"navbar-inner\">\n";
echo " <div class=\"container-fluid\">\n";
echo " <a class=\"brand\">".(strlen($settings->_sitename)>0 ? $settings->_sitename : "SeedDMS")."</a>\n";
echo " </div>\n";
echo " </div>\n";
echo "</div>\n";
return;
} /* }}} */
function globalNavigation($folder=null) { /* {{{ */
function __globalNavigation($folder=null) { /* {{{ */
global $settings, $user;
@ -150,7 +162,7 @@ class UI_Default {
return;
} /* }}} */
function pageNavigation($pageTitle, $pageType=null, $extra=null) { /* {{{ */
function __pageNavigation($pageTitle, $pageType=null, $extra=null) { /* {{{ */
global $settings, $user;
echo "<div class=\"headingContainer\">\n";
@ -188,7 +200,7 @@ class UI_Default {
return;
} /* }}} */
function folderNavigationBar($folder) { /* {{{ */
function __folderNavigationBar($folder) { /* {{{ */
global $user, $settings, $theme;
@ -222,7 +234,7 @@ class UI_Default {
return;
} /* }}} */
function documentNavigationBar() { /* {{{ */
function __documentNavigationBar() { /* {{{ */
global $user, $settings, $document;
@ -259,7 +271,7 @@ class UI_Default {
return;
} /* }}} */
function accountNavigationBar() { /* {{{ */
function __accountNavigationBar() { /* {{{ */
global $settings,$user;
@ -279,7 +291,7 @@ class UI_Default {
return;
} /* }}} */
function myDocumentsNavigationBar() { /* {{{ */
function __myDocumentsNavigationBar() { /* {{{ */
echo "<ul class=\"localNav\">\n";
echo "<li id=\"first\"><a href=\"../out/out.MyDocuments.php?inProcess=1\">".getMLText("documents_in_process")."</a></li>\n";
@ -290,7 +302,7 @@ class UI_Default {
return;
} /* }}} */
function adminToolsNavigationBar() { /* {{{ */
function __adminToolsNavigationBar() { /* {{{ */
global $settings;
@ -305,7 +317,7 @@ class UI_Default {
return;
} /* }}} */
function calendarNavigationBar($d){ /* {{{ */
function __calendarNavigationBar($d){ /* {{{ */
global $settings,$user;
@ -321,7 +333,7 @@ class UI_Default {
} /* }}} */
function pageList($pageNumber, $totalPages, $baseURI, $params) { /* {{{ */
function __pageList($pageNumber, $totalPages, $baseURI, $params) { /* {{{ */
if (!is_numeric($pageNumber) || !is_numeric($totalPages) || $totalPages<2) {
return;
@ -364,7 +376,7 @@ class UI_Default {
return;
} /* }}} */
function contentContainer($content) { /* {{{ */
function __contentContainer($content) { /* {{{ */
echo "<div class=\"contentContainer\">\n";
echo "<div class=\"content\">\n";
echo "<div class=\"content-l\"><div class=\"content-r\"><div class=\"content-br\"><div class=\"content-bl\">\n";
@ -375,34 +387,32 @@ class UI_Default {
function contentContainerStart() { /* {{{ */
echo "<div class=\"contentContainer\">\n";
echo "<div class=\"content\">\n";
echo "<div class=\"content-l\"><div class=\"content-r\"><div class=\"content-br\"><div class=\"content-bl\">\n";
echo "<div class=\"well".($class ? " ".$class : "")."\">\n";
return;
} /* }}} */
function contentContainerEnd() { /* {{{ */
echo "</div></div></div></div>\n</div>\n</div>\n";
echo "</div>\n";
return;
} /* }}} */
function contentHeading($heading, $noescape=false) { /* {{{ */
if($noescape)
echo "<div class=\"contentHeading\">".$heading."</div>\n";
echo "<legend>".$heading."</legend>\n";
else
echo "<div class=\"contentHeading\">".htmlspecialchars($heading)."</div>\n";
echo "<legend>".htmlspecialchars($heading)."</legend>\n";
return;
} /* }}} */
function contentSubHeading($heading, $first=false) { /* {{{ */
echo "<div class=\"contentSubHeading\"".($first ? " id=\"first\"" : "").">".htmlspecialchars($heading)."</div>\n";
echo "<h5>".$heading."</h5>";
return;
} /* }}} */
function getMimeIcon($fileType) { /* {{{ */
function __getMimeIcon($fileType) { /* {{{ */
// for extension use LOWER CASE only
$icons = array();
$icons["txt"] = "txt.png";
@ -483,7 +493,7 @@ class UI_Default {
}
} /* }}} */
function printDateChooser($defDate = -1, $varName) { /* {{{ */
function __printDateChooser($defDate = -1, $varName) { /* {{{ */
if ($defDate == -1)
$defDate = mktime();
@ -520,7 +530,7 @@ class UI_Default {
print "</select>";
} /* }}} */
function printSequenceChooser($objArr, $keepID = -1) { /* {{{ */
function __printSequenceChooser($objArr, $keepID = -1) { /* {{{ */
if (count($objArr) > 0) {
$max = $objArr[count($objArr)-1]->getSequence() + 1;
$min = $objArr[0]->getSequence() - 1;
@ -546,7 +556,7 @@ class UI_Default {
print "</select>";
} /* }}} */
function printDocumentChooser($formName) { /* {{{ */
function __printDocumentChooser($formName) { /* {{{ */
global $settings;
?>
<script language="JavaScript">
@ -561,7 +571,7 @@ class UI_Default {
print "&nbsp;&nbsp;<input type=\"Button\" value=\"".getMLText("document")."...\" onclick=\"chooseDoc".$formName."();\">";
} /* }}} */
function printFolderChooser($formName, $accessMode, $exclude = -1, $default = false) { /* {{{ */
function __printFolderChooser($formName, $accessMode, $exclude = -1, $default = false) { /* {{{ */
global $settings;
?>
<script language="JavaScript">
@ -576,7 +586,7 @@ class UI_Default {
print "&nbsp;&nbsp;<input type=\"Button\" value=\"".getMLText("folder")."...\" onclick=\"chooseFolder".$formName."();\">";
} /* }}} */
function printCategoryChooser($formName, $categories=array()) { /* {{{ */
function __printCategoryChooser($formName, $categories=array()) { /* {{{ */
global $settings;
?>
<script language="JavaScript">
@ -604,7 +614,7 @@ class UI_Default {
print "&nbsp;&nbsp;<input type=\"Button\" value=\"".getMLText("category")."...\" onclick=\"chooseCategory".$formName."();\">";
} /* }}} */
function printAttributeEditField($attrdef, $objvalue, $fieldname='attributes') { /* {{{ */
function __printAttributeEditField($attrdef, $objvalue, $fieldname='attributes') { /* {{{ */
if($valueset = $attrdef->getValueSetAsArray()) {
echo "<select name=\"".$fieldname."[".$attrdef->getId()."]\">";
if($attrdef->getMinValues() < 1) {
@ -622,7 +632,7 @@ class UI_Default {
}
} /* }}} */
function getImgPath($img) { /* {{{ */
function __getImgPath($img) { /* {{{ */
global $theme;
if ( is_file("../styles/$theme/images/$img") ) {
@ -634,10 +644,16 @@ class UI_Default {
return "../out/images/$img";
} /* }}} */
function printImgPath($img) { /* {{{ */
function __printImgPath($img) { /* {{{ */
print UI::getImgPath($img);
} /* }}} */
function errorMsg($msg) { /* {{{ */
echo "<div class=\"alert alert-error\">\n";
echo $msg;
echo "</div>\n";
} /* }}} */
static function exitError($pagetitle,$error) { /* {{{ */
UI::htmlStartPage($pagetitle);
@ -655,7 +671,7 @@ class UI_Default {
} /* }}} */
// navigation flag is used for items links (navigation or selection)
function printFoldersTree($accessMode, $exclude, $folderID, $currentFolderID=-1, $navigation=false) { /* {{{ */
function __printFoldersTree($accessMode, $exclude, $folderID, $currentFolderID=-1, $navigation=false) { /* {{{ */
global $dms, $user, $form, $settings;
if ($settings->_expandFolderTree==2){
@ -745,7 +761,7 @@ class UI_Default {
if ($folderID == $settings->_rootFolderID) print "</ul>\n";
} /* }}} */
function printTreeNavigation($folderid,$showtree){ /* {{{ */
function __printTreeNavigation($folderid,$showtree){ /* {{{ */
global $settings;
?>
@ -799,7 +815,7 @@ class UI_Default {
* @param integer $maxfiles maximum number of files allowed to upload
* @param array $fields list of post fields
*/
function printUploadApplet($uploadurl, $attributes, $maxfiles=0, $fields=array()){ /* {{{ */
function __printUploadApplet($uploadurl, $attributes, $maxfiles=0, $fields=array()){ /* {{{ */
global $settings;
?>
<applet id="jumpLoaderApplet" name="jumpLoaderApplet"

View File

@ -20,7 +20,7 @@
class SeedDMS_Version {
public $_number = "5.0.0";
public $_number = "5.0.1";
private $_string = "SeedDMS";
function SeedDMS_Version() {

View File

@ -64,8 +64,7 @@ function openDBConnection($settings) { /* {{{ */
} /* }}} */
function printError($error) { /* {{{ */
print "<div class=\"install_error\">";
print "Error<br />";
print "<div class=\"alert alert-error\">\n";
print $error;
print "</div>";
} /* }}} */
@ -119,7 +118,7 @@ function fileExistsInIncludePath($file) { /* {{{ */
* Load default settings + set
*/
define("SEEDDMS_INSTALL", "on");
define("SEEDDMS_VERSION", "5.0.0");
define("SEEDDMS_VERSION", "5.0.1");
require_once('../inc/inc.ClassSettings.php');
@ -167,6 +166,11 @@ if(!$settings->_contentDir) {
$settings->_contentDir = $settings->_rootDir . 'data/';
$settings->_luceneDir = $settings->_rootDir . 'data/lucene/';
$settings->_stagingDir = $settings->_rootDir . 'data/staging/';
$settings->_cacheDir = $settings->_rootDir . 'data/cache/';
} else {
if(!$settings->_cacheDir) {
$settings->_cacheDir = $settings->_contentDir . 'cache/';
}
}
$settings->_httpRoot = $httpRoot;
@ -176,13 +180,15 @@ if(isset($settings->_extraPath))
/**
* Include GUI + Language
*/
$theme = "blue";
$theme = "bootstrap";
include("../inc/inc.Language.php");
include "../languages/en_GB/lang.inc";
include("../inc/inc.ClassUI.php");
UI::htmlStartPage("INSTALL");
UI::globalBanner();
UI::contentStart();
UI::contentHeading("SeedDMS Installation for version ".SEEDDMS_VERSION);
UI::contentContainerStart();
@ -194,6 +200,7 @@ if (isset($_GET['phpinfo'])) {
echo '<a href="install.php">' . getMLText("back") . '</a>';
phpinfo();
UI::contentContainerEnd();
UI::contentEnd();
UI::htmlEndPage();
exit();
}
@ -218,6 +225,7 @@ if (isset($_GET['disableinstall'])) { /* {{{ */
echo '<a href="install.php">' . getMLText("back") . '</a>';
}
UI::contentContainerEnd();
UI::contentEnd();
UI::htmlEndPage();
exit();
} /* }}} */
@ -258,6 +266,7 @@ if ($action=="setSettings") {
$settings->_contentDir = $_POST["contentDir"];
$settings->_luceneDir = $_POST["luceneDir"];
$settings->_stagingDir = $_POST["stagingDir"];
$settings->_cacheDir = $_POST["cacheDir"];
$settings->_extraPath = $_POST["extraPath"];
$settings->_dbDriver = $_POST["dbDriver"];
$settings->_dbHostname = $_POST["dbHostname"];
@ -398,54 +407,58 @@ if($showform) {
<tr ><td><b> <?php printMLText("settings_Server");?></b></td> </tr>
<tr title="<?php printMLText("settings_rootDir_desc");?>">
<td><?php printMLText("settings_rootDir");?>:</td>
<td><input name="rootDir" value="<?php echo $settings->_rootDir ?>" size="100" /></td>
<td><input type="text" name="rootDir" value="<?php echo $settings->_rootDir ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_httpRoot_desc");?>">
<td><?php printMLText("settings_httpRoot");?>:</td>
<td><input name="httpRoot" value="<?php echo $settings->_httpRoot ?>" size="100" /></td>
<td><input type="text" name="httpRoot" value="<?php echo $settings->_httpRoot ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_contentDir_desc");?>">
<td><?php printMLText("settings_contentDir");?>:</td>
<td><input name="contentDir" value="<?php echo $settings->_contentDir ?>" size="100" style="background:yellow" /></td>
<td><input type="text" name="contentDir" value="<?php echo $settings->_contentDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_luceneDir_desc");?>">
<td><?php printMLText("settings_luceneDir");?>:</td>
<td><input name="luceneDir" value="<?php echo $settings->_luceneDir ?>" size="100" style="background:yellow" /></td>
<td><input type="text" name="luceneDir" value="<?php echo $settings->_luceneDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_stagingDir_desc");?>">
<td><?php printMLText("settings_stagingDir");?>:</td>
<td><input name="stagingDir" value="<?php echo $settings->_stagingDir ?>" size="100" style="background:yellow" /></td>
<td><input type="text" name="stagingDir" value="<?php echo $settings->_stagingDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_cacheDir_desc");?>">
<td><?php printMLText("settings_cacheDir");?>:</td>
<td><input type="text" name="cacheDir" value="<?php echo $settings->_cacheDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_coreDir_desc");?>">
<td><?php printMLText("settings_coreDir");?>:</td>
<td><input name="coreDir" value="<?php echo $settings->_coreDir ?>" size="100" /></td>
<td><input type="text" name="coreDir" value="<?php echo $settings->_coreDir ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_luceneClassDir_desc");?>">
<td><?php printMLText("settings_luceneClassDir");?>:</td>
<td><input name="luceneClassDir" value="<?php echo $settings->_luceneClassDir ?>" size="100" /></td>
<td><input type="text" name="luceneClassDir" value="<?php echo $settings->_luceneClassDir ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_extraPath_desc");?>">
<td><?php printMLText("settings_extraPath");?>:</td>
<td><input name="extraPath" value="<?php echo $settings->_extraPath ?>" size="100" /></td>
<td><input type="text" name="extraPath" value="<?php echo $settings->_extraPath ?>" size="100" /></td>
</tr>
<!-- SETTINGS - SYSTEM - DATABASE -->
<tr ><td><b> <?php printMLText("settings_Database");?></b></td> </tr>
<tr title="<?php printMLText("settings_dbDriver_desc");?>">
<td><?php printMLText("settings_dbDriver");?>:</td>
<td><input name="dbDriver" value="<?php echo $settings->_dbDriver ?>" /></td>
<td><input type="text" name="dbDriver" value="<?php echo $settings->_dbDriver ?>" /></td>
</tr>
<tr title="<?php printMLText("settings_dbHostname_desc");?>">
<td><?php printMLText("settings_dbHostname");?>:</td>
<td><input name="dbHostname" value="<?php echo $settings->_dbHostname ?>" /></td>
<td><input type="text" name="dbHostname" value="<?php echo $settings->_dbHostname ?>" /></td>
</tr>
<tr title="<?php printMLText("settings_dbDatabase_desc");?>">
<td><?php printMLText("settings_dbDatabase");?>:</td>
<td><input name="dbDatabase" value="<?php echo $settings->_dbDatabase ?>" style="background:yellow" /></td>
<td><input type="text" name="dbDatabase" value="<?php echo $settings->_dbDatabase ?>" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_dbUser_desc");?>">
<td><?php printMLText("settings_dbUser");?>:</td>
<td><input name="dbUser" value="<?php echo $settings->_dbUser ?>" style="background:yellow" /></td>
<td><input type="text" name="dbUser" value="<?php echo $settings->_dbUser ?>" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_dbPass_desc");?>">
<td><?php printMLText("settings_dbPass");?>:</td>
@ -457,9 +470,12 @@ if($showform) {
<td><?php printMLText("settings_createdatabase");?>:</td>
<td><input name="createDatabase" type="checkbox" style="background:yellow"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" class="btn btn-primary" value="<?php printMLText("apply");?>" /></td>
</tr>
</table>
<input type="Submit" value="<?php printMLText("apply");?>" />
</form>
<?php
@ -474,5 +490,6 @@ $settings->_printDisclaimer = false;
$settings->_footNote = false;
// end of the page
UI::contentContainerEnd();
UI::contentEnd();
UI::htmlEndPage();
?>

View File

@ -36,7 +36,7 @@
strictFormCheck = "false"
viewOnlineFileTypes = ".txt;.text;.html;.htm;.xml;.pdf;.gif;.png;.jpg;.jpeg"
enableConverting = "true"
enableEmail = "true"
enableEmail = "true"
enableUsersView = "true"
enableFullSearch = "false"
enableFolderTree = "true"
@ -44,7 +44,7 @@
enableLanguageSelector = "true"
stopWordsFile = ""
sortUsersInList = ""
sortFoldersDefault="s"
sortFoldersDefault="s"
>
</edition>
<!-- enableCalendar: enable/disable calendar
@ -63,12 +63,12 @@
<!-- rootDir: Path to where SeedDMS is located
- httpRoot: The relative path in the URL, after the domain part. Do not include the
- http:// prefix or the web host name. e.g. If the full URL is
- http://www.example.com/seeddms/, set $_httpRoot = "/seeddms/".
- If the URL is http://www.example.com/, set $_httpRoot = "/".
- http://www.example.com/seeddms/, set $_httpRoot = "/seeddms/".
- If the URL is http://www.example.com/, set $_httpRoot = "/".
- contentDir: Where the uploaded files are stored (best to choose a directory that
- is not accessible through your web-server)
- stagingDir: Where partial file uploads are saved
- luceneDir: Where the lucene fulltext index iѕ saved
- stagingDir: Where partial file uploads are saved
- luceneDir: Where the lucene fulltext index iѕ saved
- logFileEnable: set false to disable log system
- logFileRotation: the log file rotation (h=hourly, d=daily, m=monthly)
-->
@ -82,20 +82,22 @@
logFileRotation = "d"
enableLargeFileUpload = "true"
partitionSize = "2000000"
dropFolderDir = ""
cacheDir = ""
>
</server>
<!-- enableGuestLogin: If you want anybody to login as guest, set the following line to true
- note: guest login should be used only in a trusted environment
- enablePasswordForgotten: Allow users to reset their password
- enablePasswordForgotten: Allow users to reset their password
- restricted: Restricted access: only allow users to log in if they have an entry in the local database (irrespective of successful authentication with LDAP).
- enableUserImage: enable users images
- disableSelfEdit: if true user cannot edit his own profile
- passwordStrength: minimum strength of password, set to 0 to disable
- passwordExpiration: number of days after password expires
- passwordHistory: number of remembered passwords
- passwordStrengthAlgorithm: algorithm used to calculate password strenght (simple or advanced)
- encryptionKey: arbitrary string used for creating identifiers
- passwordStrength: minimum strength of password, set to 0 to disable
- passwordExpiration: number of days after password expires
- passwordHistory: number of remembered passwords
- passwordStrengthAlgorithm: algorithm used to calculate password strenght (simple or advanced)
- encryptionKey: arbitrary string used for creating identifiers
-->
<authentication
enableGuestLogin = "false"
@ -103,12 +105,12 @@
restricted = "true"
enableUserImage = "false"
disableSelfEdit = "false"
passwordStrength="0"
passwordExpiration="0"
passwordHistory="0"
passwordStrengthAlgorithm="simple"
loginFailure="0"
encryptionKey=""
passwordStrength="0"
passwordExpiration="0"
passwordHistory="0"
passwordStrengthAlgorithm="simple"
loginFailure="0"
encryptionKey=""
>
<connectors>
<!-- ***** CONNECTOR LDAP *****
@ -118,6 +120,7 @@
- URIs are supported, e.g.: ldaps://ldap.host.com
- port: port of the authentification server
- baseDN: top level of the LDAP directory tree
- filter: Additional filters which are to be checked
-->
<connector
enable = "false"
@ -127,6 +130,7 @@
baseDN = ""
bindDN=""
bindPw=""
filter=""
>
</connector>
<!-- ***** CONNECTOR Microsoft Active Directory *****
@ -144,8 +148,8 @@
port = "389"
baseDN = ""
accountDomainName = "example.com"
bindDN=""
bindPw=""
bindDN=""
bindPw=""
>
</connector>
</connectors>
@ -215,8 +219,8 @@
enableDuplicateDocNames = "true"
>
</edition>
<!-- enableNotificationAppRev: true to send notifation if a user is added as a reviewer or approver
-->
<!-- enableNotificationAppRev: true to send notifation if a user is added as a reviewer or approver
-->
<notification
enableNotificationAppRev = "true"
>
@ -227,7 +231,7 @@
- directory structure has been devised that exists within the content
- directory ($_contentDir). This requires a base directory from which
- to begin. Usually leave this to the default setting, 1048576, but can
- be any number or string that does not already exist within $_contentDir.
- be any number or string that does not already exist within $_contentDir.
- maxDirID: Maximum number of sub-directories per parent directory. Default: 0, use 31998 (maximum number of dirs in ext3) for a multi level content directory.
- updateNotifyTime: users are notified about document-changes that took place within the last "updateNotifyTime" seconds
- extraPath: Path to addtional software. This is the directory containing additional software like the adodb directory, or the pear Log package. This path will be added to the php include path
@ -238,13 +242,14 @@
contentOffsetDir = "1048576"
maxDirID = "0"
updateNotifyTime = "86400"
extraPath = ""
extraPath = ""
cmdTimeout = "5"
>
</server>
<converters>
<converter mimeType="application/pdf">
pdftotext -enc UTF-8 -nopgbrk %s - | sed -e 's/ [a-zA-Z0-9.]\{1\} / /g' -e 's/[0-9.]//g'
</converter>
<converter mimeType="application/pdf">
pdftotext -enc UTF-8 -nopgbrk %s - | sed -e 's/ [a-zA-Z0-9.]\{1\} / /g' -e 's/[0-9.]//g'
</converter>
<converter mimeType="application/msword">
catdoc %s
</converter>

View File

@ -113,12 +113,14 @@ URL: [url]',
'assign_user_property_to' => 'تخصيص خصائص المستخدم الى',
'assumed_released' => 'يعتبر تم نشره',
'attrdef_exists' => 'تعريف السمة بالفعل موجود',
'attrdef_info' => '',
'attrdef_in_use' => 'تعريف السمة مشغول حاليا',
'attrdef_management' => 'ادارة تعريف السمات',
'attrdef_maxvalues' => 'اكبر عدد من القيم',
'attrdef_minvalues' => 'اقل عدد من القيم',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => 'السماح باكثر من قيمة',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => 'اسم',
'attrdef_noname' => '',
@ -936,6 +938,10 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => '',
'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '',
@ -964,8 +970,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => '',
'settings_enableFullSearch' => 'تفعيل البحث بالنص الكامل',
'settings_enableFullSearch_desc' => 'تفعيل البحث بالنص الكامل',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => '',
'settings_enableGuestLogin_desc' => '',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => '',
'settings_enableLanguageSelector_desc' => 'Show selector for user interface language after being logged in.',
'settings_enableLargeFileUpload' => 'Enable large file upload',

View File

@ -104,12 +104,14 @@ $text = array(
'assign_user_property_to' => 'Назначи свойства на потребителя',
'assumed_released' => 'Утверден',
'attrdef_exists' => 'Тази дефиниция на атрибути вече съществува',
'attrdef_info' => '',
'attrdef_in_use' => 'Тази дефиниция на атрибути все още се ползва',
'attrdef_management' => 'Управление дефинирането на атрибути',
'attrdef_maxvalues' => 'Max. брой стойности',
'attrdef_minvalues' => 'Min. брой стойности',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => 'ПОзволи няколко стойности',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => 'Име',
'attrdef_noname' => '',
@ -801,6 +803,10 @@ $text = array(
'settings_dbUser' => 'Логин',
'settings_dbUser_desc' => 'Логин, въведен в процеса на инсталацията. Не променяй без нужда, само например, ако БД е преместена.',
'settings_dbVersion' => 'Схема БД остаряла',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Изтрийте ENABLE_INSTALL_TOOL в папка конфигурация, за да започнете да използвате системата',
'settings_disableSelfEdit' => 'Изключи собствено редактиране',
'settings_disableSelfEdit_desc' => 'Ако е включено, потребителите няма да могат да редактират своята информация',
@ -829,8 +835,12 @@ $text = array(
'settings_enableFolderTree_desc' => 'Изключено - не показвй дървото с папките',
'settings_enableFullSearch' => 'Включи полнотекстово търсене',
'settings_enableFullSearch_desc' => 'Включване полнотекстово търсене',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Включи вход за гости',
'settings_enableGuestLogin_desc' => 'За да разрешим вход за гости, включете тази опция. Гостевия вход да се исползва само в доверена среда.',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Разреши избор на език',
'settings_enableLanguageSelector_desc' => 'Покажи селектор за език на интерфейса след влизане. Това не влияе на избора на език на първа страница.',
'settings_enableLargeFileUpload' => 'Включи джава-зараждане на файлове',

View File

@ -109,12 +109,14 @@ URL: [url]',
'assign_user_property_to' => 'Assignar propietats d\'usuari a',
'assumed_released' => 'Se suposa com a publicat',
'attrdef_exists' => '',
'attrdef_info' => '',
'attrdef_in_use' => '',
'attrdef_management' => '',
'attrdef_maxvalues' => '',
'attrdef_minvalues' => '',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => '',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => '',
'attrdef_noname' => '',
@ -806,6 +808,10 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => '',
'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '',
@ -834,8 +840,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'False to don\'t show the folder tree',
'settings_enableFullSearch' => 'Enable Full text search',
'settings_enableFullSearch_desc' => '',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Enable Guest Login',
'settings_enableGuestLogin_desc' => '',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => '',
'settings_enableLanguageSelector_desc' => '',
'settings_enableLargeFileUpload' => '',

View File

@ -120,12 +120,14 @@ URL: [url]',
'assign_user_property_to' => 'Přiřazení uživatelských vlastností',
'assumed_released' => 'Pokládá se za zveřejněné',
'attrdef_exists' => 'Definice atributů již existuje',
'attrdef_info' => '',
'attrdef_in_use' => 'Definice atributů je ještě užívána',
'attrdef_management' => 'Správa definic atributů',
'attrdef_maxvalues' => 'Max. počet hodnot',
'attrdef_minvalues' => 'Min. počet hodnot',
'attrdef_min_greater_max' => 'Minimální počet hodnot je větší, než maximální počet hodnot',
'attrdef_multiple' => 'Povolit více hodnot',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Atribut musí mít více než jednu hodnotu, přesto není zadáno více hodnot',
'attrdef_name' => 'Název',
'attrdef_noname' => 'Chybí jméno definice atributu',
@ -945,6 +947,10 @@ URL: [url]',
'settings_dbUser' => 'Username',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => '',
'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '',
@ -973,8 +979,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'False to don\'t show the folder tree',
'settings_enableFullSearch' => 'Enable Full text search',
'settings_enableFullSearch_desc' => 'Enable Full text search',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Enable Guest Login',
'settings_enableGuestLogin_desc' => 'If you want anybody to login as guest, check this option. Note: guest login should be used only in a trusted environment',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Povolit výběr jazyka',
'settings_enableLanguageSelector_desc' => 'Zobrazit výběr jazyka uživatelského rozhraní po přihlášení.',
'settings_enableLargeFileUpload' => 'Enable large file upload',

View File

@ -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 (2154), dgrutsch (21)
// Translators: Admin (2164), dgrutsch (21)
$text = array(
'accept' => 'Übernehmen',
@ -125,12 +125,14 @@ URL: [url]',
'assign_user_property_to' => 'Dokumente einem anderen Benutzer zuweisen',
'assumed_released' => 'Angenommen, freigegeben',
'attrdef_exists' => 'Attributdefinition existiert bereits',
'attrdef_info' => 'Information',
'attrdef_in_use' => 'Definition des Attributs noch in Gebrauch',
'attrdef_management' => 'Attributdefinitions-Management',
'attrdef_maxvalues' => 'Max. Anzahl Werte',
'attrdef_minvalues' => 'Min. Anzahl Werte',
'attrdef_min_greater_max' => 'Zahl der minimalen Werte ist größer als Zahl der maximalen Werte',
'attrdef_multiple' => 'Mehrfachwerte erlaubt',
'attrdef_multiple_needs_valueset' => 'Attributdefinition mit Mehrfachwerten erfordert eine Werteliste.',
'attrdef_must_be_multiple' => 'Attribut muss mehr als einen Wert haben, erlaubt aber keine Mehrfachwerte',
'attrdef_name' => 'Name',
'attrdef_noname' => 'Kein Name für die Attributedefinition eingegeben',
@ -982,6 +984,10 @@ URL: [url]',
'settings_dbUser' => 'Benutzer',
'settings_dbUser_desc' => 'Der Benutzername, um auf die Datenbank zugreifen zu können.',
'settings_dbVersion' => 'Datenbankschema zu alt',
'settings_defaultSearchMethod' => 'Voreinstellte Suchmethode',
'settings_defaultSearchMethod_desc' => 'Voreingestellte Suchmethode, wenn über das Suchfeld in der Menüleiste gesucht wird.',
'settings_defaultSearchMethod_valdatabase' => 'Datenbank',
'settings_defaultSearchMethod_valfulltext' => 'Volltext',
'settings_delete_install_folder' => 'Um SeedDMS nutzen zu können, müssen Sie die Datei ENABLE_INSTALL_TOOL aus dem Konfigurationsverzeichnis löschen.',
'settings_disableSelfEdit' => 'Kein Ändern des eigenen Profils',
'settings_disableSelfEdit_desc' => 'Anwählen, um das Ändern des eigenen Profiles zu verhindern.',
@ -1010,8 +1016,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Schaltet den Verzeichnisbaum auf der \'View Folder\' Seite ein oder aus',
'settings_enableFullSearch' => 'Volltextsuche einschalten',
'settings_enableFullSearch_desc' => 'Anwählen, um die Volltextsuche mittels Lucene einzuschalten.',
'settings_enableGuestAutoLogin' => 'Automatische Anmeldung als Gast',
'settings_enableGuestAutoLogin_desc' => 'Wenn das Gast-Login und automatisches Anmelden eingeschaltet ist, dann wird der Gast-Benutzer sofort angemeldet.',
'settings_enableGuestLogin' => 'Anmeldung als Gast',
'settings_enableGuestLogin_desc' => 'Wenn Sie Gast-Logins erlauben wollen, dann wählen Sie diese Option an. Anmerkung: Gast-Logins sollten nur in einer vertrauenswürdigen Umgebung erlaubt werden.',
'settings_enableHelp' => 'Hilfe einschalten',
'settings_enableHelp_desc' => 'Ein-/Ausschalten des Hilfe-Links im Hauptmenü.',
'settings_enableLanguageSelector' => 'Sprachauswahl einschalten',
'settings_enableLanguageSelector_desc' => 'Zeige Auswahl der verfügbaren Sprachen nachdem man sich angemeldet hat.',
'settings_enableLargeFileUpload' => 'Hochladen von sehr großen Dateien ermöglichen',

View File

@ -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 (1287), dgrutsch (7), netixw (14)
// Translators: Admin (1299), dgrutsch (7), netixw (14)
$text = array(
'accept' => 'Accept',
@ -125,12 +125,14 @@ URL: [url]',
'assign_user_property_to' => 'Assign user\'s properties to',
'assumed_released' => 'Assumed released',
'attrdef_exists' => 'Attribute definition already exists',
'attrdef_info' => 'Information',
'attrdef_in_use' => 'Attribute definition still in use',
'attrdef_management' => 'Attribute definition management',
'attrdef_maxvalues' => 'Max. number of values',
'attrdef_minvalues' => 'Min. number of values',
'attrdef_min_greater_max' => 'Minimum number of values is larger than maximum number of values',
'attrdef_multiple' => 'Allow multiple values',
'attrdef_multiple_needs_valueset' => 'Attribute definition with multiple values needs value set.',
'attrdef_must_be_multiple' => 'Attribute must have more than one value, but is not set multiple value',
'attrdef_name' => 'Name',
'attrdef_noname' => 'Missing name for attribute definition',
@ -689,7 +691,7 @@ URL: [url]',
'october' => 'October',
'old' => 'Old',
'only_jpg_user_images' => 'Only .jpg-images may be used as user-images',
'order_by_sequence_off' => 'Ordering by sequence is turned of in the settings. If you want this parameter to have effect, you will have to turn it back on.',
'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',
'owner' => 'Owner',
'ownership_changed_email' => 'Owner changed',
@ -982,6 +984,10 @@ URL: [url]',
'settings_dbUser' => 'Username',
'settings_dbUser_desc' => 'The username for access to your database entered during the installation process. Do not edit field unless absolutely necessary, for example transfer of the database to a new Host.',
'settings_dbVersion' => 'Database schema too old',
'settings_defaultSearchMethod' => 'Default search method',
'settings_defaultSearchMethod_desc' => 'Default search method, when a search is started by the search form in the main menu.',
'settings_defaultSearchMethod_valdatabase' => 'database',
'settings_defaultSearchMethod_valfulltext' => 'fulltext',
'settings_delete_install_folder' => 'In order to use SeedDMS, you must delete the file ENABLE_INSTALL_TOOL in the configuration directory',
'settings_disableSelfEdit' => 'Disable Self Edit',
'settings_disableSelfEdit_desc' => 'If checked user cannot edit his own profile',
@ -1010,8 +1016,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Enabel/Disable the folder tree on the \'View Folder\' page',
'settings_enableFullSearch' => 'Enable Full text search',
'settings_enableFullSearch_desc' => 'Enable Full text search',
'settings_enableGuestAutoLogin' => 'Enable auto login for guest',
'settings_enableGuestAutoLogin_desc' => 'If a guest login and auto login is enabled, the guest will be logged in automatically.',
'settings_enableGuestLogin' => 'Enable Guest Login',
'settings_enableGuestLogin_desc' => 'If you want anybody to login as guest, check this option. Note: guest login should be used only in a trusted environment',
'settings_enableHelp' => 'Enable Help',
'settings_enableHelp_desc' => 'Enable/disable the link to the help screens in the menu',
'settings_enableLanguageSelector' => 'Enable Language Selector',
'settings_enableLanguageSelector_desc' => 'Show selector for user interface language after being logged in.',
'settings_enableLargeFileUpload' => 'Enable large file upload',

View File

@ -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 (979), angel (123), francisco (2), jaimem (14)
// Translators: acabello (20), Admin (981), angel (123), francisco (2), jaimem (14)
$text = array(
'accept' => 'Aceptar',
@ -120,12 +120,14 @@ URL: [url]',
'assign_user_property_to' => 'Asignar propiedades de usuario a',
'assumed_released' => 'Supuestamente publicado',
'attrdef_exists' => 'Definición de atributos ya existe',
'attrdef_info' => '',
'attrdef_in_use' => 'Definición de atributo en uso',
'attrdef_management' => 'Gestión de definición de atributos',
'attrdef_maxvalues' => 'Núm. máximo de valores',
'attrdef_minvalues' => 'Núm. mínimo de valores',
'attrdef_min_greater_max' => 'El número mínimo de valores es mayor que el numero máximo de valores',
'attrdef_multiple' => 'Permitir múltiples valores',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'El atributo debe tener más de un valor, pero no está seteado para valores múltiples',
'attrdef_name' => 'Nombre',
'attrdef_noname' => 'Ingrese el nombre del atributo',
@ -951,6 +953,10 @@ URL: [url]',
'settings_dbUser' => 'Nombre de usuario',
'settings_dbUser_desc' => 'Nombre de usuario de acceso a su base de datos introducido durante el proceso de instalación. No edite este campo a menos que sea necesario, por ejemplo si la base de datos se transfiere a un nuevo servidor.',
'settings_dbVersion' => 'Esquema de base de datos demasiado antiguo',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Para utilizar SeedDMS, debe eliminar el archivo ENABLE_INSTALL_TOOL de la carpeta de configuración',
'settings_disableSelfEdit' => 'Deshabilitar autoedición',
'settings_disableSelfEdit_desc' => 'Si está seleccionado el usuario no podrá editar su propio perfil',
@ -979,8 +985,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Falso para no mostrar el árbol de carpetas',
'settings_enableFullSearch' => 'Habilitar búsqueda de texto completo',
'settings_enableFullSearch_desc' => 'Habilitar búsqueda de texto completo',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Habilitar acceso de invitado',
'settings_enableGuestLogin_desc' => 'Si quiere que cualquiera acceda como invitado, chequee esta opción. Nota: El acceso de invitado debería permitirse solo en entornos de confianza',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Habilitar selector de idioma',
'settings_enableLanguageSelector_desc' => 'Mostrar selector de lenguaje para usuario despues de identificarse.',
'settings_enableLargeFileUpload' => 'Habilitar la carga de ficheros grandes',

View File

@ -120,12 +120,14 @@ URL : [url]',
'assign_user_property_to' => 'Assigner les propriétés de l\'utilisateur à',
'assumed_released' => 'Supposé publié',
'attrdef_exists' => 'La définition d\'attribut existe déjà',
'attrdef_info' => '',
'attrdef_in_use' => 'La définition d\'attribut est en cours d\'utilisation',
'attrdef_management' => 'Gestion des définitions d\'attributs',
'attrdef_maxvalues' => 'Nombre maximum de valeurs',
'attrdef_minvalues' => 'Nombre minimum de valeurs',
'attrdef_min_greater_max' => 'Le nombre minimum de valeurs est supérieur au maximum',
'attrdef_multiple' => 'Permettre des valeurs multiples',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'L\'attribut a plusieurs valeurs mais n\'est pas définit comme possédant des valeurs multiples',
'attrdef_name' => 'Nom',
'attrdef_noname' => 'Le nom d\'attribut est manquant',
@ -927,6 +929,10 @@ URL: [url]',
'settings_dbUser' => 'Nom d\'utilisateur',
'settings_dbUser_desc' => 'Le nom d\'utilisateur pour l\'accès à votre base de données entré pendant le processus d\'installation. Ne pas modifier le champ sauf si vraiment nécessaire, par exemple pour le transfert de la base de données vers un nouvel hébergement.',
'settings_dbVersion' => 'Schéma de base de données trop ancien',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Pour utiliser SeedDMS, vous devez supprimer le fichier ENABLE_INSTALL_TOOL dans le répertoire de configuration',
'settings_disableSelfEdit' => 'Désactiver auto modification',
'settings_disableSelfEdit_desc' => 'Si coché, l\'utilisateur ne peut pas éditer son profil',
@ -955,8 +961,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'False pour ne pas montrer l\'arborescence des dossiers',
'settings_enableFullSearch' => 'Recherches dans le contenu',
'settings_enableFullSearch_desc' => 'Activer la recherche texte plein',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Activer la connexion Invité',
'settings_enableGuestLogin_desc' => 'Si vous voulez vous connecter en tant qu\'invité, cochez cette option. Remarque: l\'utilisateur invité ne doit être utilisé que dans un environnement de confiance',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Activer la sélection de langue',
'settings_enableLanguageSelector_desc' => 'Montrer le sélecteur de langue d\'interface après connexion de l\'utilisateur.',
'settings_enableLargeFileUpload' => 'Activer téléchargement des gros fichiers',

View File

@ -125,12 +125,14 @@ Internet poveznica: [url]',
'assign_user_property_to' => 'Dodijeli svojstva korisnika za',
'assumed_released' => 'Podrazumijevano obrađeno',
'attrdef_exists' => 'Definicija atributa već postoji',
'attrdef_info' => '',
'attrdef_in_use' => 'Definicija atributa se već koristi',
'attrdef_management' => 'Upravljanje definicijama atributa',
'attrdef_maxvalues' => 'Max. broj vrijednosti',
'attrdef_minvalues' => 'Min. broj vrijednosti',
'attrdef_min_greater_max' => 'Minimalni broj vrijednosti je veći od maksimalnog broja vrijednosti',
'attrdef_multiple' => 'Dozvoli više vrijednosti',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Atribut mora imati više od jedne vrijednosti, ali nije postavljeno više vrijednosti',
'attrdef_name' => 'Naziv',
'attrdef_noname' => 'Nedostaje naziv za definiciju atributa',
@ -972,6 +974,10 @@ Internet poveznica: [url]',
'settings_dbUser' => 'Korisničko ime',
'settings_dbUser_desc' => 'Korisničko ime za pristup vašoj bazi podataka unijeto tijekom postupka instalacije. Ne uređujte ovo polje bez prijeke potrebe, npr. prijenos baze podataka na novi Host.',
'settings_dbVersion' => 'Shema baze podataka je prestara',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Da bi koristili ProsperaDMS, morate izbrisati datoteku ENABLE_INSTALL_TOOL u mapi konfiguracije',
'settings_disableSelfEdit' => 'Onemogućite samostalno uređivanje',
'settings_disableSelfEdit_desc' => 'Ako je označeno, korisnik ne može uređivati svoj vlastiti profil',
@ -1000,8 +1006,12 @@ Internet poveznica: [url]',
'settings_enableFolderTree_desc' => 'Omogući/onemogući stablo mape na \'Vidi mapu\' stranici',
'settings_enableFullSearch' => 'Omogući pretraživanje cijelog teksta',
'settings_enableFullSearch_desc' => 'Omogući pretraživanje cijelog teksta',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Omogući Gost prijavu',
'settings_enableGuestLogin_desc' => 'Ako želite da se bilo tko koristi Gost prijavu, označite ovu opciju. Napomena: gost prijava smije se koristiti samo u pouzdanom okruženju.',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Omogući Izbornik jezika',
'settings_enableLanguageSelector_desc' => 'Prikaži izbornik za jezik korisničkog sučelja nakon prijave.',
'settings_enableLargeFileUpload' => 'Omogući učitavanje velikih datoteka',

View File

@ -120,12 +120,14 @@ URL: [url]',
'assign_user_property_to' => 'Felhasználói tulajdonságok hozzárendelése',
'assumed_released' => 'Feltételesen kiadott',
'attrdef_exists' => 'Jellemző meghatározás már létezik',
'attrdef_info' => '',
'attrdef_in_use' => 'Jellemző meghatározás még használatban van',
'attrdef_management' => 'Jellemző meghatározás kezelése',
'attrdef_maxvalues' => 'Legnagyobb érték',
'attrdef_minvalues' => 'Legkisebb érték',
'attrdef_min_greater_max' => 'A minimum érték magasabb mint a maximum érték',
'attrdef_multiple' => 'Több érték is megadható',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'A tulajdonságnak több értékkel kell rendelkeznie, de nincs több érték megadva',
'attrdef_name' => 'Név',
'attrdef_noname' => 'Hiányzó név a tulajdonság megadásánál',
@ -950,6 +952,10 @@ URL: [url]',
'settings_dbUser' => 'Felhasználónév',
'settings_dbUser_desc' => 'Az adatbázis eléréséhez tartozó felhasználónevet a telepítési eljárás során kell megadni. Ne szerkessze ezt a mezőt, csak ha nagyon szükséges, például, ha az adatbázist át kell helyezni egy másik gépre.',
'settings_dbVersion' => 'Adatbázis séma túl régi',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'A SeedDMS használatához törölnie kell a konfigurációs könyvtárban található ENABLE_INSTALL_TOOL állományt.',
'settings_disableSelfEdit' => 'Saját adatok szerkesztésének tiltása',
'settings_disableSelfEdit_desc' => 'Ha be van jelölve a felhasználó nem szerkesztheti saját profilját',
@ -978,8 +984,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Hamis hogy ne jelenjen meg a mappa fastruktúra',
'settings_enableFullSearch' => 'Teljes szöveg keresés engedélyezése',
'settings_enableFullSearch_desc' => 'Engedélyezi a teljes szöveg keresést',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Vendég belépésének engedélyezése',
'settings_enableGuestLogin_desc' => 'Ha azt szeretné, hogy bárki be tudjon jelentkezni vendégként, jelölje be ezt a lehetőséget. Megjegyzés: vendég bejelentkezés megbízható környezetben használható',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Engedélyezi a nyelv választót',
'settings_enableLanguageSelector_desc' => 'Megjelenít egy választást a felhasználói felületen a bejelentkezést követően.',
'settings_enableLargeFileUpload' => 'Nagy méretű állományok feltöltésének engedélyezése',

View File

@ -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 (1506), s.pnt (26)
// Translators: Admin (1507), s.pnt (26)
$text = array(
'accept' => 'Accetta',
@ -125,12 +125,14 @@ URL: [url]',
'assign_user_property_to' => 'Assegna le proprietà dell\'utente a',
'assumed_released' => 'Rilascio acquisito',
'attrdef_exists' => 'Definizione di Attributo già esistente',
'attrdef_info' => '',
'attrdef_in_use' => 'Definizione di Attributo ancora in uso',
'attrdef_management' => 'Gestione Attributi',
'attrdef_maxvalues' => 'Numero di valori Max.',
'attrdef_minvalues' => 'Numero di valori Min.',
'attrdef_min_greater_max' => 'Il numero minimo di valori è maggiore del massimo',
'attrdef_multiple' => 'Permetti valori multipli',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Gli Attributi devono avere più di un valore, ma non sono permessi valori multipli',
'attrdef_name' => 'Nome',
'attrdef_noname' => 'Nella definizione dell\'Attributo manca il nome',
@ -974,6 +976,10 @@ URL: [url]',
'settings_dbUser' => 'Utente',
'settings_dbUser_desc' => 'Utente per accedere al database da utilizzarsi durante il processo di installazione. Non modificare questo campo se non assolutamente necessario, per esempio nel caso di trasferimento del database su un nuovo Host.',
'settings_dbVersion' => 'Schema del database obsoleto',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Per poter usare SeedDMS, devi cancellare il file ENABLE_INSTALL_TOOL nella cartella di configurazione.',
'settings_disableSelfEdit' => 'Disabilita Auto-Modifica',
'settings_disableSelfEdit_desc' => 'Se selezionato l\'utente non può modificare il proprio profilo',
@ -1002,8 +1008,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Abilita/disabilita la visualizzaione della struttura ad albero nella pagina \'Vista cartella\'',
'settings_enableFullSearch' => 'Abilita ricerca fulltext',
'settings_enableFullSearch_desc' => 'Abilita/disabilita la ricerca fulltext',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Permetti login come ospite',
'settings_enableGuestLogin_desc' => 'Per impedire il login come ospite, selezionare questa opzione. Nota bene: il login come ospite dovrebbe essere permesso soltanto in un ambiente fidato.',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Selezione lingua',
'settings_enableLanguageSelector_desc' => 'Mostra/nasconde il selettore di lingua successivamente al login.',
'settings_enableLargeFileUpload' => 'Abilita caricamento grandi files',
@ -1278,7 +1288,7 @@ URL: [url]',
'thursday' => 'Giovedì',
'thursday_abbr' => 'Gio',
'timeline' => 'Linea del Tempo',
'timeline_add_file' => '',
'timeline_add_file' => 'Nuovo allegato',
'timeline_add_version' => '',
'timeline_full_add_file' => '',
'timeline_full_add_version' => '',

View File

@ -125,12 +125,14 @@ URL: [url]',
'assign_user_property_to' => '사용자 속성에 할당',
'assumed_released' => '가정한 출시',
'attrdef_exists' => '이미 존재하는 속성',
'attrdef_info' => '',
'attrdef_in_use' => '사용중인 속성 정의',
'attrdef_management' => '속성 관리',
'attrdef_maxvalues' => '최대수',
'attrdef_minvalues' => '최소수',
'attrdef_min_greater_max' => '최소값은 최대 값 보다 큽니다',
'attrdef_multiple' => '여러 값 허용',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '속성은 하나 이상의 값을 가져야하지만, 여러 값을 설정하지 않습니다.',
'attrdef_name' => '이름',
'attrdef_noname' => '속성 정의명이 없습',
@ -965,6 +967,10 @@ URL : [url]',
'settings_dbUser' => '사용자 이름',
'settings_dbUser_desc' => '설치 과정에서 입력 한 데이터베이스 액세스를 위한 사용자 이름. 새 호스트에 데이터베이스의 예 전송을 위해 절대적으로 필요한 경우가 아니면 필드를 ​​편집하지 마십시오.',
'settings_dbVersion' => '오래된 데이터베이스 스키마',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'SeedDMS을 사용하려면 구성 디렉토리의 파일 ENABLE_INSTALL_TOOL을 삭제해야합니다',
'settings_disableSelfEdit' => '자체 수정 불가',
'settings_disableSelfEdit_desc' => '확인시 사용자가 자신의 프로필을 편집 할 수 없음',
@ -993,8 +999,12 @@ URL : [url]',
'settings_enableFolderTree_desc' => '\'View Folder\'에 폴더 트리 표시 활성 / 비활성',
'settings_enableFullSearch' => '전체 텍스트 검색 사용',
'settings_enableFullSearch_desc' => '전체 텍스트 검색 사용',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => '게스트 로그인 활성화',
'settings_enableGuestLogin_desc' => '누군가를 게스트로 로그인하게 할경우 이 옵션을 선택하세요. 참고 : 게스트 로그인은 신뢰할 수 있는 환경에서 사용되어야 한다',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => '언어 선택기 허용',
'settings_enableLanguageSelector_desc' => '로그인 된 후 사용자 인터페이스 언어 선택기 보기 . 이것은 로그인 페이지에서 언어 선택에 영향을 주지 않습니다.',
'settings_enableLargeFileUpload' => '대용량 파일 업로드 사용',

View File

@ -118,12 +118,14 @@ URL: [url]',
'assign_user_property_to' => 'Wijs gebruikers machtigingen toe aan',
'assumed_released' => 'aangenomen status: Gepubliceerd',
'attrdef_exists' => 'Kenmerk definitie bestaat al',
'attrdef_info' => '',
'attrdef_in_use' => 'Kenmerk definitie nog in gebruikt',
'attrdef_management' => 'Kenmerk definitie beheer',
'attrdef_maxvalues' => 'Max. aantal waarden',
'attrdef_minvalues' => 'Min. aantal waarden',
'attrdef_min_greater_max' => 'Het minimum aantal is groter dan het maximum aantal',
'attrdef_multiple' => 'Meerdere waarden toegestaan',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Het attribuut moet meer dan 1 waarde hebben maar is niet ingesteld om meerdere waardes te bevatten',
'attrdef_name' => 'Naam',
'attrdef_noname' => 'Geen naam voor attribuut definitie',
@ -947,6 +949,10 @@ URL: [url]',
'settings_dbUser' => 'Gebruikersnaam',
'settings_dbUser_desc' => 'De gebruikersnaam voor toegang tot de datbase ingevoerd tijdens de installatie. Verander de waarde niet tenzij echt nodig, bijvoorbeeld bij verplaatsing van de database naar een ander systeem.',
'settings_dbVersion' => 'Database schema te oud',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Om SeedDMS te kunnen gebruiken moet het bestand ENABLE_INSTALL_TOOL uit de configuratiemap verwijderd worden.',
'settings_disableSelfEdit' => 'Uitschakelen Eigenprofiel wijzigen',
'settings_disableSelfEdit_desc' => 'Indien aangevinkt kan de gebruiker zijn eigen profiel niet wijzigen.',
@ -975,8 +981,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Uitschakelen om de mappenstructuur niet te tonen',
'settings_enableFullSearch' => 'Inschakelen volledigetekst zoekopdracht',
'settings_enableFullSearch_desc' => 'Inschakelen zoeken in volledigetekst',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Inschakelen Gast login',
'settings_enableGuestLogin_desc' => 'Als U iemand wilt laten inloggen als gast, schakel deze optie in. Opmerking: Gast login kan het beste alleen in een beveiligde omgeving ingeschakeld worden',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Activeer Taal instellen',
'settings_enableLanguageSelector_desc' => 'Laat selector zien voor taalinterface, nadat gebruikers inloggen.',
'settings_enableLargeFileUpload' => 'Inschakelen groot bestand upload',

View File

@ -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 (722), netixw (84), romi (93), uGn (112)
// Translators: Admin (726), netixw (84), romi (93), uGn (112)
$text = array(
'accept' => 'Akceptuj',
@ -113,12 +113,14 @@ URL: [url]',
'assign_user_property_to' => 'Przypisz właściwości użytkownika do',
'assumed_released' => 'Assumed released',
'attrdef_exists' => 'Definicja atrybutu już istnieje',
'attrdef_info' => '',
'attrdef_in_use' => 'Definicja atrybutu nadal jest w użyciu',
'attrdef_management' => 'Zarządzanie definicją atrybutu',
'attrdef_maxvalues' => 'Max. ilość wartości',
'attrdef_minvalues' => 'Min. ilość wartości',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => 'Pozwól na wiele wartości',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => 'Nazwa',
'attrdef_noname' => '',
@ -401,7 +403,7 @@ URL: [url]',
'files' => 'Pliki',
'files_deletion' => 'Usuwanie plików',
'files_deletion_warning' => 'Ta operacja pozwala usunąć wszystkie pliki z repozytorium. Informacje o wersjonowaniu pozostaną widoczne.',
'files_loading' => '',
'files_loading' => 'Proszę czekać do załadowania lista plików…',
'file_size' => 'Rozmiar pliku',
'filter_for_documents' => 'Dodatkowe filtrowanie dla dokumentów',
'filter_for_folders' => 'Dodatkowe filtrowanie dla folderów',
@ -536,7 +538,7 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => 'Pozostaw status dokumentu',
'keywords' => 'Słowa kluczowe',
'keywords_loading' => '',
'keywords_loading' => 'Proszę czekać do załadowania lista słów kluczowych…',
'keyword_exists' => 'Słowo kluczowe już istnieje',
'ko_KR' => 'Koreański',
'language' => 'Język',
@ -865,12 +867,12 @@ URL: [url]',
'select_grp_ind_approvers' => '',
'select_grp_ind_notification' => '',
'select_grp_ind_reviewers' => '',
'select_grp_notification' => '',
'select_grp_notification' => 'Kliknij, aby wybrać grupowe powiadomienia',
'select_grp_recipients' => '',
'select_grp_reviewers' => 'Kliknij by wybrać grupę recenzentów',
'select_grp_revisors' => '',
'select_ind_approvers' => 'Kliknij by wybrać zatwierdzającego',
'select_ind_notification' => '',
'select_ind_notification' => 'Kliknij, aby wybrać indywidualne powiadomienia',
'select_ind_recipients' => '',
'select_ind_reviewers' => 'Kliknij by wybrać recenzenta',
'select_ind_revisors' => '',
@ -930,6 +932,10 @@ URL: [url]',
'settings_dbUser' => 'Nazwa użytkownika',
'settings_dbUser_desc' => 'Nazwa użytkownika uprawnionego do dostępu do bazy danych podana w procesie instalacji. Nie zmieniaj tego pola dopóki nie jest to absolutnie konieczne, na przykład podczas przenoszenia bazy danych na nowego hosta.',
'settings_dbVersion' => 'Schemat bazy danych jest za stary',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Aby móc używać LetoDMS, musisz usunąć plik ENABLE_INSTALL_TOOL znajdujący się w katalogu konfiguracyjnym',
'settings_disableSelfEdit' => 'Wyłącz auto edycję',
'settings_disableSelfEdit_desc' => 'Jeśli zaznaczone, użytkownik nie może zmieniać własnych danych',
@ -958,8 +964,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Odznacz aby nie pokazywać drzewa katalogów',
'settings_enableFullSearch' => 'Włącz przeszukiwanie pełnotekstowe',
'settings_enableFullSearch_desc' => 'Włącz przeszukiwanie pełnotekstowe',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Pozwól na logowanie gościa',
'settings_enableGuestLogin_desc' => 'Jeśli chcesz dowolnej osobie zalogować się jako gość, zaznacz tę opcję. Uwaga: logowanie gościa powinno być używane wyłącznie w zaufanym środowisku.',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Włącz wybór języka',
'settings_enableLanguageSelector_desc' => 'Pokaż selektor języka dla interfejsu użytkownika po zalogowaniu To nie ma wpływu na wybór języka na stronie logowania.',
'settings_enableLargeFileUpload' => 'Zezwól na wczytywanie dużych plików',

View File

@ -120,12 +120,14 @@ URL: [url]',
'assign_user_property_to' => 'Assign user\'s properties to',
'assumed_released' => 'Assumed released',
'attrdef_exists' => 'Definição de atributo já existe',
'attrdef_info' => '',
'attrdef_in_use' => 'Definição de atributo ainda em uso',
'attrdef_management' => 'Gerência de definição de atributo',
'attrdef_maxvalues' => 'Max. número de valores',
'attrdef_minvalues' => 'Min. número de valores',
'attrdef_min_greater_max' => 'Número mínimo de valores é maior do que o número máximo de valores',
'attrdef_multiple' => 'Permitir múltiplos valores',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Atributo deve ter mais de um valor, mas não está definido valor múltiplo',
'attrdef_name' => 'Nome',
'attrdef_noname' => 'Está faltando o nome de definição de atributo',
@ -948,6 +950,10 @@ URL: [url]',
'settings_dbUser' => 'Nome do usuário',
'settings_dbUser_desc' => 'O nome de usuário para acesso ao banco de dados, informado durante o processo de instalação. Não edite campo a menos que seja absolutamente necessário, por exemplo, a transferência do banco de dados para um novo host.',
'settings_dbVersion' => 'Esquema de banco de dados muito antigo',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Para utilizar SeedDMS, você deve excluir o arquivo ENABLE_INSTALL_TOOL do diretório de configuração',
'settings_disableSelfEdit' => 'Desativar Auto Editar',
'settings_disableSelfEdit_desc' => 'Se selecionado o usuário não poderá editar seu próprio perfil',
@ -976,8 +982,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Falso para não mostrar a árvore de pastas',
'settings_enableFullSearch' => 'Ativar Pesquisa de texto completo',
'settings_enableFullSearch_desc' => 'Ativar Pesquisa de texto completo',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Ativar Login de Visitante',
'settings_enableGuestLogin_desc' => 'Se você quiser quiser permitir login como convidado, marque esta opção. Nota: login de convidado deve ser usado apenas em um ambiente de confiança',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Ativar Seletor de Idioma',
'settings_enableLanguageSelector_desc' => 'Mostrar seletor para idioma de interface de usuário após login.',
'settings_enableLargeFileUpload' => 'Ativar envio de grandes arquivos',

View File

@ -125,12 +125,14 @@ URL: [url]',
'assign_user_property_to' => 'Atribuire proprietati utilizator la',
'assumed_released' => 'Assumed released',
'attrdef_exists' => 'Definitie atribut exista deja',
'attrdef_info' => '',
'attrdef_in_use' => 'Definitie atribut inca in utilizare',
'attrdef_management' => 'Management definitii atribute',
'attrdef_maxvalues' => 'Numar maxim de valori',
'attrdef_minvalues' => 'Numar minim de valori',
'attrdef_min_greater_max' => 'Numărul minim de valori este mai mare decât numărul maxim de valori',
'attrdef_multiple' => 'Permiteți valori multiple',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Atributul trebuie să aibă mai mult de o valoare, dar nu este setat valoare multiplu',
'attrdef_name' => 'Nume',
'attrdef_noname' => 'Lipsește numele pentru definirea atributului',
@ -973,6 +975,10 @@ URL: [url]',
'settings_dbUser' => 'Username',
'settings_dbUser_desc' => 'Username-ul de acces la baza de date introdus în timpul procesului de instalare. Nu editați câmpul decât dacă este absolut necesar (de exemplu transferul bazei de date la un nou Host).',
'settings_dbVersion' => 'Schema bazei de date este prea veche',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Pentru a utiliza SeedDMS, trebuie să ștergeți fișierul ENABLE_INSTALL_TOOL din directorul de configurare',
'settings_disableSelfEdit' => 'Dezactivați Auto Editarea',
'settings_disableSelfEdit_desc' => 'Dacă este bifată, utilizatorul nu va putea să-și editeze profilul',
@ -1001,8 +1007,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Activare/dezactivare folder ierarhic în pagina \'Vizualizare Folder\'',
'settings_enableFullSearch' => 'Activare căutare in tot textul',
'settings_enableFullSearch_desc' => 'Activare căutare in tot textul',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Activare Login Oaspete',
'settings_enableGuestLogin_desc' => 'Bifați această opțiune, dacă doriți ca cineva să te poată autentifica ca oaspete. Notă: autentificare oaspete trebuie utilizată numai într-un mediu de încredere',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Activare Selector Limba',
'settings_enableLanguageSelector_desc' => 'Arată selectorul de limbă pentru interfața cu utilizatorul după ce a fost autentificat.',
'settings_enableLargeFileUpload' => 'Activare încărcare fișier mare',

View File

@ -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 (1281)
// Translators: Admin (1285)
$text = array(
'accept' => 'Принять',
@ -113,12 +113,14 @@ URL: [url]',
'assign_user_property_to' => 'Назначить свойства пользователя',
'assumed_released' => 'Утверждён',
'attrdef_exists' => 'Определение атрибута уже существует',
'attrdef_info' => '',
'attrdef_in_use' => 'Определение этого атрибута используется',
'attrdef_management' => 'Управление определениями атрибутов',
'attrdef_maxvalues' => 'Макс. количество значений',
'attrdef_minvalues' => 'Мин. количество значений',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => 'Несколько значений',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => 'Название',
'attrdef_noname' => '',
@ -856,15 +858,15 @@ URL: [url]',
'search_fulltext' => 'Полнотекстовый поиск',
'search_in' => 'Поиск',
'search_mode_and' => 'Все слова',
'search_mode_documents' => '',
'search_mode_folders' => '',
'search_mode_documents' => 'Только документы',
'search_mode_folders' => 'Только папки',
'search_mode_or' => 'Хотя бы одно слово',
'search_no_results' => 'Нет документов, соответствующих запросу',
'search_query' => 'Искать',
'search_report' => 'Найдено документов: [doccount] и каталогов: [foldercount]',
'search_report_fulltext' => 'Найдено документов: [doccount]',
'search_resultmode' => '',
'search_resultmode_both' => '',
'search_resultmode' => 'Результат поиска',
'search_resultmode_both' => 'Документы и папки',
'search_results' => 'Результаты поиска',
'search_results_access_filtered' => 'Результаты поиска могут содержать объекты к которым у вас нет доступа',
'search_time' => 'Прошло: [time] с',
@ -941,6 +943,10 @@ URL: [url]',
'settings_dbUser' => 'Логин',
'settings_dbUser_desc' => 'Логин, введённый при установке. Не изменяйте без необходимости, например если БД была перемещена.',
'settings_dbVersion' => 'Схема БД устарела',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Удалите ENABLE_INSTALL_TOOL в каталоге конфигурации, для того что бы начать использовать систему',
'settings_disableSelfEdit' => 'Отключить собственное редактирование',
'settings_disableSelfEdit_desc' => 'Если включено, пользователи не смогут изменять информацию о себе.',
@ -969,8 +975,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Если отключено, не будет показано дерево каталогов.',
'settings_enableFullSearch' => 'Включить полнотекстовый поиск',
'settings_enableFullSearch_desc' => 'Включить полнотекстовый поиск.',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Включить гостевой вход',
'settings_enableGuestLogin_desc' => 'Чтобы разрешить гостевой вход, включите эту опцию. Гостевой вход должен использоваться только в доверенной среде.',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Включить выбор языка',
'settings_enableLanguageSelector_desc' => 'Показывать меню выбора языка пользовательского интерфейса после входа в систему. Это не влияет на выбор языка на странице входа.',
'settings_enableLargeFileUpload' => 'Включить Java-загрузчик файлов',

View File

@ -104,12 +104,14 @@ $text = array(
'assign_user_property_to' => 'Assign user\'s properties to',
'assumed_released' => 'Pokladá sa za zverejnené',
'attrdef_exists' => '',
'attrdef_info' => '',
'attrdef_in_use' => '',
'attrdef_management' => '',
'attrdef_maxvalues' => '',
'attrdef_minvalues' => '',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => '',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => '',
'attrdef_noname' => '',
@ -801,6 +803,10 @@ $text = array(
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => '',
'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '',
@ -829,8 +835,12 @@ $text = array(
'settings_enableFolderTree_desc' => '',
'settings_enableFullSearch' => '',
'settings_enableFullSearch_desc' => '',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => '',
'settings_enableGuestLogin_desc' => '',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => '',
'settings_enableLanguageSelector_desc' => '',
'settings_enableLargeFileUpload' => '',

View File

@ -113,12 +113,14 @@ URL: [url]',
'assign_user_property_to' => 'Sätt användarens egenskaper till',
'assumed_released' => 'Antas klart för användning',
'attrdef_exists' => 'Attributdefinitionen finns redan',
'attrdef_info' => '',
'attrdef_in_use' => 'Attributdefinitionen används',
'attrdef_management' => 'Hantering av attributdefinitioner',
'attrdef_maxvalues' => 'Max tillåtna värde',
'attrdef_minvalues' => 'Min tillåtna värde',
'attrdef_min_greater_max' => 'Minimum antal värden är större än maximum antal värden',
'attrdef_multiple' => 'Tillåt flera värden',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Attribut måste ha mer än ett värde',
'attrdef_name' => 'Namn',
'attrdef_noname' => 'Saknar namn för attribut definition',
@ -936,6 +938,10 @@ URL: [url]',
'settings_dbUser' => 'Användarnamn',
'settings_dbUser_desc' => 'Användarnamnet för tillgång till databasen. Användarnamnet angavs under installationsprocessen.',
'settings_dbVersion' => 'Databasschemat för gammalt',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'För att kunna använda LetoDMS måste du ta bort filen ENABLE_INSTALL_TOOL som finns i konfigurationsmappen.',
'settings_disableSelfEdit' => 'Inaktivera själveditering',
'settings_disableSelfEdit_desc' => 'Om utvald, kan användare inte ändra sin egen profil.',
@ -964,8 +970,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Av för att inte visa katalogernas trädstruktur',
'settings_enableFullSearch' => 'Aktivera fulltext-sökning',
'settings_enableFullSearch_desc' => 'Aktivera fulltext-sökning',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Tillåt gäst-inloggning',
'settings_enableGuestLogin_desc' => 'Om du vill att alla ska kunna logga in som gäst, aktivera denna option. OBS! Gästinloggning bör endast användas i en säker omgivning',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Aktivera språkval',
'settings_enableLanguageSelector_desc' => 'Visa språkurval i användargränssnittet efter inloggning.',
'settings_enableLargeFileUpload' => 'Aktivera uppladdning av stora filer',

View File

@ -119,12 +119,14 @@ URL: [url]',
'assign_user_property_to' => 'Kullanıcının özelliklerini ata',
'assumed_released' => 'Yayınlandı kabul edilmekte',
'attrdef_exists' => 'Nitelik tanımı zaten mevcut',
'attrdef_info' => '',
'attrdef_in_use' => 'Nitelik tanımı halen kullanımda',
'attrdef_management' => 'Nitelik tanımı yönetimi',
'attrdef_maxvalues' => 'Maks. değer',
'attrdef_minvalues' => 'Min. değer',
'attrdef_min_greater_max' => 'Minimum değer maksimum değerden büyük',
'attrdef_multiple' => 'Birden fazla değere izin ver',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Nitelik birden fazla değere sahip olmalı, fakat birden fazla değer ayarlanmamış',
'attrdef_name' => 'İsim',
'attrdef_noname' => 'Nitelik tanımlamada isim eksik',
@ -952,6 +954,10 @@ URL: [url]',
'settings_dbUser' => 'Kullanıcı adı',
'settings_dbUser_desc' => 'Kurulum sırasında veritabanına erişim için girdiğiniz veritabanı kullanıcı adı. Gerekmedikçe değiştirmeyin.',
'settings_dbVersion' => 'Veritabanı yapısı çok eski',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'SeedDMS kullanabilmeniz için konfigürasyon (conf) dizini içindeki ENABLE_INSTALL_TOOL dosyasını silmelisiniz',
'settings_disableSelfEdit' => 'Kendi kendine Düzenlemeyi Kapat',
'settings_disableSelfEdit_desc' => 'Seçilirse kullanıcı kendi profil ayarlarını değiştiremez.',
@ -980,8 +986,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => '\'View Folder\' sayfasında klasör ağaç yapısını etkinleştir/devredışı bırak',
'settings_enableFullSearch' => 'Tam metin aramayı etkinleştir',
'settings_enableFullSearch_desc' => 'Tam metin aramayı etkinleştir',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Misafir Girişini Etkinleştir',
'settings_enableGuestLogin_desc' => 'Herhangi birinin misafir olarak giriş yapabilmesini isterseniz bu seçeneği etkinleştirebilirsiniz. Not: Misafir girişinin sadece güvenilir ortamlar için açmanız önerilir.',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Dil Seçimini Etkinleştir',
'settings_enableLanguageSelector_desc' => 'Kullanıcının giriş yaparken dil seçimi yapabilmesi için bu seçeneği etkinleştirin.',
'settings_enableLargeFileUpload' => 'Büyük dosya yüklemeyi etkinleştir',

View File

@ -125,12 +125,14 @@ URL: [url]',
'assign_user_property_to' => 'Призначити властивості користувача',
'assumed_released' => 'Затверджено',
'attrdef_exists' => 'Визначення атрибуту вже існує',
'attrdef_info' => '',
'attrdef_in_use' => 'Визначення цього атрибуту вже використовується',
'attrdef_management' => 'Керування визначенням атрибутів',
'attrdef_maxvalues' => 'Макс. кількість значень',
'attrdef_minvalues' => 'Мін. кількість значень',
'attrdef_min_greater_max' => 'Мінімальна кількість значень більша за максимальну кількість значень',
'attrdef_multiple' => 'Декілька значень',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => 'Атрибут повинен мати кілька значень, але кілька значень не встановлено',
'attrdef_name' => 'Назва',
'attrdef_noname' => 'Відсутня назва для визначення атрибуту',
@ -963,6 +965,10 @@ URL: [url]',
'settings_dbUser' => 'Логін',
'settings_dbUser_desc' => 'Логін, введений при встановленні. Не змінюйте без потреби, наприклад, якщо БД було переміщено.',
'settings_dbVersion' => 'Схема БД застаріла',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => 'Видаліть ENABLE_INSTALL_TOOL в каталозі конфігурації для того, щоби почати використовувати систему',
'settings_disableSelfEdit' => 'Відключити власне редагування',
'settings_disableSelfEdit_desc' => 'Якщо ввімкнено, користувачі не зможуть змінювати інформацію про себе.',
@ -991,8 +997,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => 'Якщо відключено, дерево каталогів не буде відображене',
'settings_enableFullSearch' => 'Увімкнути повнотекстовий пошук',
'settings_enableFullSearch_desc' => 'Увімкнути/вимкнути повнотекстовий пошук.',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => 'Увімкнути гостьовий вхід',
'settings_enableGuestLogin_desc' => 'Увімкніть цю опцію для дозволу гостьового входу. Гостьовий вхід повинен використовуватися лише у довіреному середовищі.',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => 'Увімкнути вибір мови',
'settings_enableLanguageSelector_desc' => 'Відображати меню вибору мови інтерфейсу користувача після входу в систему. Це не впливає на вибір мови на сторінці авторизації.',
'settings_enableLargeFileUpload' => 'Увімкнути Java-завантажувач файлів',

View File

@ -108,12 +108,14 @@ URL: [url]',
'assign_user_property_to' => '分配用户属性给',
'assumed_released' => '假定发布',
'attrdef_exists' => '',
'attrdef_info' => '',
'attrdef_in_use' => '属性定义仍在使用中',
'attrdef_management' => '属性定义管理',
'attrdef_maxvalues' => '最大值',
'attrdef_minvalues' => '最小值',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => '允许多个值',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => '名称',
'attrdef_noname' => '',
@ -807,6 +809,10 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => '',
'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '',
@ -835,8 +841,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => '',
'settings_enableFullSearch' => '允许全文搜索',
'settings_enableFullSearch_desc' => '允许全文搜索',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => '',
'settings_enableGuestLogin_desc' => '',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => '',
'settings_enableLanguageSelector_desc' => '',
'settings_enableLargeFileUpload' => '',

View File

@ -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 (2351)
// Translators: Admin (2355)
$text = array(
'accept' => '接受',
@ -108,12 +108,14 @@ URL: [url]',
'assign_user_property_to' => '分配使用者屬性給',
'assumed_released' => '假定發佈',
'attrdef_exists' => '',
'attrdef_info' => '',
'attrdef_in_use' => '',
'attrdef_management' => '屬性定義管理',
'attrdef_maxvalues' => '最大值',
'attrdef_minvalues' => '最小值',
'attrdef_min_greater_max' => '',
'attrdef_multiple' => '允許多個值',
'attrdef_multiple_needs_valueset' => '',
'attrdef_must_be_multiple' => '',
'attrdef_name' => '名稱',
'attrdef_noname' => '',
@ -471,7 +473,7 @@ URL: [url]',
'keep' => '',
'keep_doc_status' => '',
'keywords' => '關鍵字',
'keywords_loading' => '',
'keywords_loading' => '請稍後,關鍵字載入中',
'keyword_exists' => '關鍵字已存在',
'ko_KR' => '韓語',
'language' => '語言',
@ -520,7 +522,7 @@ URL: [url]',
'monthly' => '',
'month_view' => '月視圖',
'move' => '移動',
'move_clipboard' => '',
'move_clipboard' => '移動剪貼簿',
'move_document' => '移動文檔',
'move_folder' => '移動資料夾',
'my_account' => '我的帳戶',
@ -646,7 +648,7 @@ URL: [url]',
'removed_revispr' => '',
'removed_workflow_email_body' => '',
'removed_workflow_email_subject' => '',
'remove_marked_files' => '',
'remove_marked_files' => '刪除勾選的檔案',
'repaired' => '',
'repairing_objects' => '',
'request_workflow_action_email_body' => '',
@ -805,6 +807,10 @@ URL: [url]',
'settings_dbUser' => '',
'settings_dbUser_desc' => '',
'settings_dbVersion' => '',
'settings_defaultSearchMethod' => '',
'settings_defaultSearchMethod_desc' => '',
'settings_defaultSearchMethod_valdatabase' => '',
'settings_defaultSearchMethod_valfulltext' => '',
'settings_delete_install_folder' => '',
'settings_disableSelfEdit' => '',
'settings_disableSelfEdit_desc' => '',
@ -833,8 +839,12 @@ URL: [url]',
'settings_enableFolderTree_desc' => '',
'settings_enableFullSearch' => '',
'settings_enableFullSearch_desc' => '',
'settings_enableGuestAutoLogin' => '',
'settings_enableGuestAutoLogin_desc' => '',
'settings_enableGuestLogin' => '',
'settings_enableGuestLogin_desc' => '',
'settings_enableHelp' => '',
'settings_enableHelp_desc' => '',
'settings_enableLanguageSelector' => '',
'settings_enableLanguageSelector_desc' => '',
'settings_enableLargeFileUpload' => '',
@ -1197,7 +1207,7 @@ URL: [url]',
'version_deleted_email_body' => '',
'version_deleted_email_subject' => '',
'version_info' => '版本資訊',
'view' => '',
'view' => '檢視',
'view_online' => '線上流覽',
'warning' => '警告',
'wednesday' => 'Wednesday',

View File

@ -240,11 +240,19 @@ if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'tra
}
}
} elseif($settings->_workflowMode == 'advanced') {
if(!$workflow = $user->getMandatoryWorkflow()) {
if(!$workflows = $user->getMandatoryWorkflows()) {
if(isset($_POST["workflow"]))
$workflow = $dms->getWorkflow($_POST["workflow"]);
else
$workflow = null;
} else {
/* If there is excactly 1 mandatory workflow, then set no matter what has
* been posted in 'workflow', otherwise check if the posted workflow is in the
* list of mandatory workflows. If not, then take the first one.
*/
$workflow = array_shift($workflows);
foreach($workflows as $mw)
if($mw->getID() == $_POST['workflow']) {$workflow = $mw; break;}
}
}

View File

@ -65,6 +65,9 @@ if ($action == "addattrdef") {
if($minvalues > $maxvalues) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_min_greater_max"));
}
if($multiple && $valueset == '') {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
}
$newAttrdef = $dms->addAttributeDefinition($name, $objtype, $type, $multiple, $minvalues, $maxvalues, $valueset, $regex);
if (!$newAttrdef) {
@ -77,7 +80,7 @@ if ($action == "addattrdef") {
add_log_line("&action=addattrdef&name=".$name);
}
// delet attribute definition -----------------------------------------------
// delete attribute definition -----------------------------------------------
else if ($action == "removeattrdef") {
/* Check if the form data comes for a trusted request */
@ -139,6 +142,9 @@ else if ($action == "editattrdef") {
if($minvalues > $maxvalues) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_min_greater_max"));
}
if($multiple && $valueset == '') {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
}
if (!$attrdef->setName($name)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));

View File

@ -112,7 +112,7 @@ if (isset($settings->_ldapHost) && strlen($settings->_ldapHost)>0) {
// and http://stackoverflow.com/questions/6222641/how-to-php-ldap-search-to-get-user-ou-if-i-dont-know-the-ou-for-base-dn
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
}
}
}
// Ensure that the LDAP connection is set to use version 3 protocol.
// Required for most authentication methods, including SASL.
@ -129,15 +129,19 @@ if (isset($settings->_ldapHost) && strlen($settings->_ldapHost)>0) {
}
$dn = false;
/* If bind succeed, then get the dn of for the user */
if ($bind) {
$search = ldap_search($ds, $settings->_ldapBaseDN, $ldapSearchAttribut.$login);
if ($bind) {
if (isset($settings->_ldapFilter) && strlen($settings->_ldapFilter) > 0) {
$search = ldap_search($ds, $settings->_ldapBaseDN, "(&(".$ldapSearchAttribut.$login.")".$settings->_ldapFilter.")");
} else {
$search = ldap_search($ds, $settings->_ldapBaseDN, $ldapSearchAttribut.$login);
}
if (!is_bool($search)) {
$info = ldap_get_entries($ds, $search);
if (!is_bool($info) && $info["count"]>0) {
$dn = $info[0]['dn'];
}
}
}
}
/* If the previous bind failed, try it with the users creditionals
* by simply setting $dn to a default string
@ -155,7 +159,11 @@ if (isset($settings->_ldapHost) && strlen($settings->_ldapHost)>0) {
$user = $dms->getUserByLogin($login);
if (is_bool($user) && !$settings->_restricted) {
// Retrieve the user's LDAP information.
$search = ldap_search($ds, $settings->_ldapBaseDN, $ldapSearchAttribut . $login);
if (isset($settings->_ldapFilter) && strlen($settings->_ldapFilter) > 0) {
$search = ldap_search($ds, $settings->_ldapBaseDN, "(&(".$ldapSearchAttribut.$login.")".$settings->_ldapFilter.")");
} else {
$search = ldap_search($ds, $settings->_ldapBaseDN, $ldapSearchAttribut . $login);
}
}
$bind = @ldap_bind($ds, $dn, $pwd);
if ($bind) {
@ -227,14 +235,14 @@ if (is_bool($user)) {
_printMessage(getMLText("login_disabled_title"), getMLText("login_disabled_text"));
exit;
}
// control admin IP address if required
// TODO: extend control to LDAP autentication
if ($user->isAdmin() && ($_SERVER['REMOTE_ADDR'] != $settings->_adminIP ) && ( $settings->_adminIP != "") ){
_printMessage(getMLText("login_error_title"), getMLText("invalid_user_id"));
exit;
}
/* Clear login failures if login was successful */
$user->clearLoginFailures();
@ -311,7 +319,7 @@ if (isset($_COOKIE["mydms_session"])) {
setcookie("mydms_session", $id, $lifetime, $settings->_httpRoot, null, null, !$settings->_enableLargeFileUpload);
}
// TODO: by the PHP manual: The superglobals $_GET and $_REQUEST are already decoded.
// TODO: by the PHP manual: The superglobals $_GET and $_REQUEST are already decoded.
// Using urldecode() on an element in $_GET or $_REQUEST could have unexpected and dangerous results.
if (isset($_POST["referuri"]) && strlen($_POST["referuri"])>0) {

View File

@ -70,6 +70,7 @@ if ($action == "saveSettings")
$settings->_enableUsersView = getBoolValue("enableUsersView");
$settings->_enableFullSearch = getBoolValue("enableFullSearch");
$settings->_fullSearchEngine = $_POST["fullSearchEngine"];
$settings->_defaultSearchMethod = $_POST["defaultSearchMethod"];
$settings->_enableClipboard = getBoolValue("enableClipboard");
$settings->_enableMenuTasks = getBoolValue("enableMenuTasks");
$settings->_enableDropUpload = getBoolValue("enableDropUpload");
@ -77,6 +78,7 @@ if ($action == "saveSettings")
$settings->_enableRecursiveCount = getBoolValue("enableRecursiveCount");
$settings->_maxRecursiveCount = intval($_POST["maxRecursiveCount"]);
$settings->_enableLanguageSelector = getBoolValue("enableLanguageSelector");
$settings->_enableHelp = getBoolValue("enableHelp");
$settings->_enableThemeSelector = getBoolValue("enableThemeSelector");
$settings->_expandFolderTree = intval($_POST["expandFolderTree"]);
$settings->_stopWordsFile = $_POST["stopWordsFile"];
@ -108,6 +110,7 @@ if ($action == "saveSettings")
// SETTINGS - SYSTEM - AUTHENTICATION
$settings->_enableGuestLogin = getBoolValue("enableGuestLogin");
$settings->_enableGuestAutoLogin = getBoolValue("enableGuestAutoLogin");
$settings->_restricted = getBoolValue("restricted");
$settings->_enableUserImage = getBoolValue("enableUserImage");
$settings->_disableSelfEdit = getBoolValue("disableSelfEdit");

View File

@ -207,11 +207,19 @@ if ($_FILES['userfile']['error'] == 0) {
}
}
} elseif($settings->_workflowMode == 'advanced') {
if(!$workflow = $user->getMandatoryWorkflow()) {
if(!$workflows = $user->getMandatoryWorkflows()) {
if(isset($_POST["workflow"]))
$workflow = $dms->getWorkflow($_POST["workflow"]);
else
$workflow = null;
} else {
/* If there is excactly 1 mandatory workflow, then set no matter what has
* been posted in 'workflow', otherwise check if the posted workflow is in the
* list of mandatory workflows. If not, then take the first one.
*/
$workflow = array_shift($workflows);
foreach($workflows as $mw)
if($mw->getID() == $_POST['workflow']) {$workflow = $mw; break;}
}
}

View File

@ -106,10 +106,13 @@ if ($action == "adduser") {
}
else UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
if(isset($_POST["workflow"])) {
$workflow = $dms->getWorkflow($_POST["workflow"]);
if($workflow)
$newUser->setMandatoryWorkflow($workflow);
if(isset($_POST["workflows"]) && $_POST["workflows"]) {
$workflows = array();
foreach($_POST["workflows"] as $workflowid)
if($tmp = $dms->getWorkflow($workflowid))
$workflows[] = $tmp;
if($workflows)
$newUser->setMandatoryWorkflows($workflows);
}
if (isset($_POST["usrReviewers"])){
@ -263,13 +266,14 @@ else if ($action == "edituser") {
$editedUser->setHomeFolder($homefolder);
if ($editedUser->getQuota() != $quota)
$editedUser->setQuota($quota);
if(isset($_POST["workflow"]) && $_POST["workflow"]) {
$currworkflow = $editedUser->getMandatoryWorkflow();
if (!$currworkflow || ($currworkflow->getID() != $_POST["workflow"])) {
$workflow = $dms->getWorkflow($_POST["workflow"]);
if($workflow)
$editedUser->setMandatoryWorkflow($workflow);
if(isset($_POST["workflows"]) && $_POST["workflows"]) {
$workflows = array();
foreach($_POST["workflows"] as $workflowid) {
if($tmp = $dms->getWorkflow($workflowid))
$workflows[] = $tmp;
}
if($workflows)
$editedUser->setMandatoryWorkflows($workflows);
} else {
$editedUser->delMandatoryWorkflow();
}

View File

@ -27,17 +27,32 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
/**
* Include class to preview documents
*/
require_once("SeedDMS/Preview.php");
if (!$user->isAdmin()) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
$attrdefs = $dms->getAllAttributeDefinitions();
if(isset($_GET['attrdefid']) && $_GET['attrdefid']) {
$selattrdef = $dms->getAttributeDefinition($_GET['attrdefid']);
} else {
$selattrdef = null;
}
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'attrdefs'=>$attrdefs));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'attrdefs'=>$attrdefs, 'selattrdef'=>$selattrdef));
if($view) {
$view->show();
exit;
$view->setParam('showtree', showtree());
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('enableRecursiveCount', $settings->_enableRecursiveCount);
$view->setParam('maxRecursiveCount', $settings->_maxRecursiveCount);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view($_GET);
}
?>

View File

@ -40,7 +40,7 @@ $categories = $dms->getAllUserKeywordCategories($user->getID());
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'categories'=>$categories, 'selcategoryid'=>$selcategoryid));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -38,7 +38,7 @@ if (!$user->isAdmin() && ($settings->_disableSelfEdit)) {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'enableuserimage'=>$settings->_enableUserImage, 'enablelanguageselector'=>$settings->_enableLanguageSelector, 'enablethemeselector'=>$settings->_enableThemeSelector, 'passwordstrength'=>$settings->_passwordStrength, 'httproot'=>$settings->_httpRoot));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -36,7 +36,7 @@ if ($user->isGuest()) {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList, 'previewconverters'=>$settings->_converters['preview']));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -61,7 +61,7 @@ if (isset($_GET["navBar"])) {
*/
}
if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
if(isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSearch) {
// Search in Fulltext {{{
if (isset($_GET["query"]) && is_string($_GET["query"])) {
$query = $_GET["query"];
@ -442,8 +442,9 @@ if(count($entries) == 1) {
if($view) {
$view->setParam('totaldocs', $dcount /*resArr['totalDocs']*/);
$view->setParam('totalfolders', $fcount /*resArr['totalFolders']*/);
$view->setParam('fullsearch', (isset($_GET["fullsearch"]) && $_GET["fullsearch"]) ? true : false);
$view->setParam('fullsearch', (isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSearch) ? true : false);
$view->setParam('mode', isset($mode) ? $mode : '');
$view->setParam('defaultsearchmethod', $settings->_defaultSearchMethod);
$view->setParam('resultmode', isset($resultmode) ? $resultmode : '');
$view->setParam('searchin', isset($searchin) ? $searchin : array());
$view->setParam('startfolder', isset($startFolder) ? $startFolder : null);

View File

@ -35,7 +35,7 @@ if(!trim($settings->_encryptionKey))
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'settings'=>$settings, 'currenttab'=>(isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : '')));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -38,7 +38,7 @@ if($view) {
$view->setParam('dms', $dms);
$view->setParam('user', $user);
$view->setParam('allusers', $allUsers);
$view->show();
$view($_GET);
exit;
}

View File

@ -34,7 +34,7 @@ $allUsers = $dms->getAllUsers($settings->_sortUsersInList);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'allusers'=>$allUsers, 'httproot'=>$settings->_httpRoot, 'quota'=>$settings->_quota, 'pwdexpiration'=>$settings->_passwordExpiration));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -47,7 +47,7 @@ if(isset($_GET['userid']) && $_GET['userid']) {
}
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'seluser'=>$seluser, 'allusers'=>$users, 'allgroups'=>$groups, 'passwordstrength'=>$settings->_passwordStrength, 'passwordexpiration'=>$settings->_passwordExpiration, 'httproot'=>$settings->_httpRoot, 'enableuserimage'=>$settings->_enableUserImage, 'undeluserids'=>explode(',', $settings->_undelUserIds), 'workflowmode'=>$settings->_workflowMode, 'quota'=>$settings->_quota));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'seluser'=>$seluser, 'allusers'=>$users, 'allgroups'=>$groups, 'passwordstrength'=>$settings->_passwordStrength, 'passwordexpiration'=>$settings->_passwordExpiration, 'httproot'=>$settings->_httpRoot, 'enableuserimage'=>$settings->_enableUserImage, 'undeluserids'=>explode(',', $settings->_undelUserIds), 'workflowmode'=>$settings->_workflowMode, 'quota'=>$settings->_quota, 'strictformcheck'=>$settings->_strictFormCheck));
if($view) {
$view($_GET);
}

View File

@ -54,7 +54,7 @@ $(document).ready( function() {
* actually provided to update the input field, but here we use
* it to set the document location. */
updater: function (item) {
document.location = "../op/op.Search.php?query=" + encodeURIComponent(item.substring(1));
document.location = "../out/out.Search.php?query=" + encodeURIComponent(item.substring(1));
return item;
},
/* Set a matcher that allows any returned value */

View File

@ -3,7 +3,7 @@ include("../inc/inc.ClassSettings.php");
function usage() { /* {{{ */
echo "Usage:\n";
echo " seeddms-adddoc [--config <file>] [-c <comment>] [-k <keywords>] [-s <number>] [-n <name>] [-V <version>] [-s <sequence>] [-t <mimetype>] [-h] [-v] -F <folder id> -f <filename>\n";
echo " seeddms-adddoc [--config <file>] [-c <comment>] [-k <keywords>] [-s <number>] [-n <name>] [-V <version>] [-s <sequence>] [-t <mimetype>] [-a <attribute=value>] [-h] [-v] -F <folder id> -f <filename>\n";
echo "\n";
echo "Description:\n";
echo " This program uploads a file into a folder of SeedDMS.\n";
@ -25,10 +25,12 @@ function usage() { /* {{{ */
echo " -s <sequence>: set sequence of file\n";
echo " -t <mimetype> set mimetype of file manually. Do not do that unless you know\n";
echo " what you do. If not set, the mimetype will be determined automatically.\n";
echo " -a <attribute=value>: Set a document attribute; can occur multiple times.\n";
echo " -A <attribute=value>: Set a version attribute; can occur multiple times.\n";
} /* }}} */
$version = "0.0.1";
$shortoptions = "F:c:C:k:K:s:V:u:f:n:t:hv";
$shortoptions = "F:c:C:k:K:s:V:u:f:n:t:a:A:hv";
$longoptions = array('help', 'version', 'config:');
if(false === ($options = getopt($shortoptions, $longoptions))) {
usage();
@ -141,6 +143,59 @@ if(!$dms->checkVersion()) {
exit;
}
/* Parse document attributes. */
$document_attributes = array();
if (isset($options['a'])) {
$docattr = array();
if (is_array($options['a'])) {
$docattr = $options['a'];
} else {
$docattr = array($options['a']);
}
foreach ($docattr as $thisAttribute) {
$attrKey = strstr($thisAttribute, '=', true);
$attrVal = substr(strstr($thisAttribute, '='), 1);
if (empty($attrKey) || empty($attrVal)) {
echo "Document attribute $thisAttribute not understood\n";
exit(1);
}
$attrdef = $dms->getAttributeDefinitionByName($attrKey);
if (!$attrdef) {
echo "Document attribute $attrKey unknown\n";
exit(1);
}
$document_attributes[$attrdef->getID()] = $attrVal;
}
}
/* Parse version attributes. */
$version_attributes = array();
if (isset($options['A'])) {
$verattr = array();
if (is_array($options['A'])) {
$verattr = $options['A'];
} else {
$verattr = array($options['A']);
}
foreach ($verattr as $thisAttribute) {
$attrKey = strstr($thisAttribute, '=', true);
$attrVal = substr(strstr($thisAttribute, '='), 1);
if (empty($attrKey) || empty($attrVal)) {
echo "Version attribute $thisAttribute not understood\n";
exit(1);
}
$attrdef = $dms->getAttributeDefinitionByName($attrKey);
if (!$attrdef) {
echo "Version attribute $attrKey unknown\n";
exit(1);
}
$version_attributes[$attrdef->getID()] = $attrVal;
}
}
$dms->setRootFolderID($settings->_rootFolderID);
$dms->setMaxDirID($settings->_maxDirID);
$dms->setEnableConverting($settings->_enableConverting);
@ -201,7 +256,8 @@ $approvers = array();
$res = $folder->addDocument($name, $comment, $expires, $user, $keywords,
$categories, $filetmp, basename($filename),
$filetype, $mimetype, $sequence, $reviewers,
$approvers, $reqversion, $version_comment);
$approvers, $reqversion, $version_comment,
$document_attributes, $version_attributes);
if (is_bool($res) && !$res) {
echo "Could not add document to folder\n";

View File

@ -1,2 +1,8 @@
#!/bin/sh
/usr/bin/php -f /usr/share/seeddms/utils/adddoc.php -- $*
#!/usr/bin/env bash
if [ -z "${SEEDDMS_HOME}" ]; then
echo 'Please set $SEEDDMS_HOME before running this script'
exit 1
fi
exec php -f "${SEEDDMS_HOME}/utils/adddoc.php" -- "${@}"

View File

@ -1,2 +1,8 @@
#!/bin/sh
/usr/bin/php -f /usr/share/seeddms/utils/createfolder.php -- $*
#!/usr/bin/env bash
if [ -z "${SEEDDMS_HOME}" ]; then
echo 'Please set $SEEDDMS_HOME before running this script'
exit 1
fi
exec php -f "${SEEDDMS_HOME}/utils/createfolder.php" -- "${@}"

View File

@ -1,2 +1,8 @@
#!/bin/sh
/usr/bin/php -f /usr/share/seeddms/utils/indexer.php -- $*
#!/usr/bin/env bash
if [ -z "${SEEDDMS_HOME}" ]; then
echo 'Please set $SEEDDMS_HOME before running this script'
exit 1
fi
exec php -f "${SEEDDMS_HOME}/utils/indexer.php" -- "${@}"

View File

@ -1,2 +1,8 @@
#!/bin/sh
/usr/bin/php -f /usr/share/seeddms/utils/xmldump -- $*
#!/usr/bin/env bash
if [ -z "${SEEDDMS_HOME}" ]; then
echo 'Please set $SEEDDMS_HOME before running this script'
exit 1
fi
exec php -f "${SEEDDMS_HOME}/utils/xmldump" -- "${@}"

View File

@ -255,12 +255,25 @@ $(document).ready(function() {
</td>
<td>
<?php
$mandatoryworkflow = $user->getMandatoryWorkflow();
if($mandatoryworkflow) {
$mandatoryworkflows = $user->getMandatoryWorkflows();
if($mandatoryworkflows) {
if(count($mandatoryworkflows) == 1) {
?>
<?php echo $mandatoryworkflow->getName(); ?>
<input type="hidden" name="workflow" value="<?php echo $mandatoryworkflow->getID(); ?>">
<?php echo htmlspecialchars($mandatoryworkflows[0]->getName()); ?>
<input type="hidden" name="workflow" value="<?php echo $mandatoryworkflows[0]->getID(); ?>">
<?php
} else {
?>
<select class="_chzn-select-deselect span9" name="workflow" data-placeholder="<?php printMLText('select_workflow'); ?>">
<?php
foreach ($mandatoryworkflows as $workflow) {
print "<option value=\"".$workflow->getID()."\"";
print ">". htmlspecialchars($workflow->getName())."</option>";
}
?>
</select>
<?php
}
} else {
?>
<select class="_chzn-select-deselect span9" name="workflow" data-placeholder="<?php printMLText('select_workflow'); ?>">
@ -269,8 +282,6 @@ $(document).ready(function() {
print "<option value=\"\">"."</option>";
foreach ($workflows as $workflow) {
print "<option value=\"".$workflow->getID()."\"";
if($mandatoryworkflow && $mandatoryworkflow->getID() == $workflow->getID())
echo " selected=\"selected\"";
print ">". htmlspecialchars($workflow->getName())."</option>";
}
?>

View File

@ -31,29 +31,218 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_AttributeMgr extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
$selattrdef = $this->params['selattrdef'];
?>
$(document).ready( function() {
$('body').on('submit', '#form', function(ev){
// if(checkForm()) return;
// event.preventDefault();
});
$( "#selector" ).change(function() {
$('div.ajax').trigger('update', {attrdefid: $(this).val()});
});
});
<?php
} /* }}} */
function info() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$attrdefs = $this->params['attrdefs'];
$selattrdef = $this->params['selattrdef'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$enableRecursiveCount = $this->params['enableRecursiveCount'];
$maxRecursiveCount = $this->params['maxRecursiveCount'];
if($selattrdef) {
$this->contentHeading(getMLText("attrdef_info"));
$res = $selattrdef->getStatistics(30);
?>
<div class="accordion" id="accordion1">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion1" href="#collapseOne">
<?php printMLText('attribute_value'); ?>
</a>
</div>
<div id="collapseOne" class="accordion-body collapse" style="height: 0px;">
<div class="accordion-inner">
<?php
foreach(array('document', 'folder', 'content') as $type) {
if(isset($res['frequencies'][$type]) && $res['frequencies'][$type]) {
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th>".getMLText("attribute_value")."</th>\n";
print "<th>".getMLText("attribute_count")."</th>\n";
print "</tr></thead>\n<tbody>\n";
foreach($res['frequencies'][$type] as $entry) {
echo "<tr><td>".$entry['value']."</td><td>".$entry['c']."</td></tr>";
}
print "</tbody></table>";
}
}
?>
</div>
</div>
</div>
</div>
<?php
if($res['folders'] || $res['docs']) {
print "<table id=\"viewfolder-table\" class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
foreach($res['folders'] as $subFolder) {
echo $this->folderListRow($subFolder);
}
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
foreach($res['docs'] as $document) {
echo $this->documentListRow($document, $previewer);
}
echo "</tbody>\n</table>\n";
}
if($res['contents']) {
print "<table id=\"viewfolder-table\" class=\"table\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
foreach($res['contents'] as $content) {
$doc = $content->getDocument();
echo $this->documentListRow($doc, $previewer);
}
print "</tbody></table>";
}
}
} /* }}} */
function showAttributeForm($attrdef) { /* {{{ */
if($attrdef && !$attrdef->isUsed()) {
?>
<form style="display: inline-block;" method="post" action="../op/op.AttributeMgr.php" >
<?php echo createHiddenFieldWithKey('removeattrdef'); ?>
<input type="hidden" name="attrdefid" value="<?php echo $attrdef->getID()?>">
<input type="hidden" name="action" value="removeattrdef">
<button type="submit" class="btn"><i class="icon-remove"></i> <?php echo getMLText("rm_attrdef")?></button>
</form>
<?php
}
?>
<form action="../op/op.AttributeMgr.php" method="post">
<?php
if($attrdef) {
echo createHiddenFieldWithKey('editattrdef');
?>
<input type="hidden" name="action" value="editattrdef">
<input type="hidden" name="attrdefid" value="<?php echo $attrdef->getID()?>" />
<?php
} else {
echo createHiddenFieldWithKey('addattrdef');
?>
<input type="hidden" name="action" value="addattrdef">
<?php
}
?>
<table class="table-condensed">
<tr>
<td>
<?php printMLText("attrdef_name");?>:
</td>
<td>
<input type="text" name="name" value="<?php echo $attrdef ? htmlspecialchars($attrdef->getName()) : '' ?>">
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_objtype");?>:
</td>
<td>
<select name="objtype"><option value="<?php echo SeedDMS_Core_AttributeDefinition::objtype_all ?>">All</option><option value="<?php echo SeedDMS_Core_AttributeDefinition::objtype_folder ?>" <?php if($attrdef && $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_folder) echo "selected"; ?>>Folder</option><option value="<?php echo SeedDMS_Core_AttributeDefinition::objtype_document ?>" <?php if($attrdef && $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_document) echo "selected"; ?>>Document</option><option value="<?php echo SeedDMS_Core_AttributeDefinition::objtype_documentcontent ?>" <?php if($attrdef && $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_documentcontent) echo "selected"; ?>>Document content</option></select>
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_type");?>:
</td>
<td>
<select name="type"><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_int ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_int) echo "selected"; ?>><?php printMLText('attrdef_type_int'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_float ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_float) echo "selected"; ?>><?php printMLText('attrdef_type_float'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_string ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_string) echo "selected"; ?>><?php printMLText('attrdef_type_string'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_boolean ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_boolean) echo "selected"; ?>><?php printMLText('attrdef_type_boolean'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_date ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_date) echo "selected"; ?>><?php printMLText('attrdef_type_date'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_email ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_email) echo "selected"; ?>><?php printMLText('attrdef_type_email'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_url ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_url) echo "selected"; ?>><?php printMLText('attrdef_type_url'); ?></option></select>
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_multiple");?>:
</td>
<td>
<input type="checkbox" value="1" name="multiple" <?php echo ($attrdef && $attrdef->getMultipleValues()) ? "checked" : "" ?>/>
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_minvalues");?>:
</td>
<td>
<input type="text" value="<?php echo $attrdef ? $attrdef->getMinValues() : '' ?>" name="minvalues" />
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_maxvalues");?>:
</td>
<td>
<input type="text" value="<?php echo $attrdef ? $attrdef->getMaxValues() : '' ?>" name="maxvalues" />
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_valueset");?>:
</td>
<td>
<input type="text" value="<?php echo $attrdef ? $attrdef->getValueSet() : '' ?>" name="valueset" />
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_regex");?>:
</td>
<td>
<input type="text" value="<?php echo $attrdef ? $attrdef->getRegex() : '' ?>" name="regex" />
</td>
</tr>
<tr>
<td></td>
<td>
<button type="submit" class="btn"><i class="icon-save"></i> <?php printMLText("save");?></button>
</td>
</tr>
</table>
</form>
<?php
} /* }}} */
function form() { /* {{{ */
$selattrdef = $this->params['selattrdef'];
$this->showAttributeForm($selattrdef);
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$attrdefs = $this->params['attrdefs'];
$selattrdef = $this->params['selattrdef'];
$this->htmlStartPage(getMLText("admin_tools"));
?>
<script language="JavaScript">
obj = -1;
function showAttributeDefinitions(selectObj) {
if (obj != -1)
obj.style.display = "none";
id = selectObj.options[selectObj.selectedIndex].value;
if (id == -1)
return;
obj = document.getElementById("attrdefs" + id);
obj.style.display = "";
}
</script>
<?php
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
@ -61,19 +250,15 @@ function showAttributeDefinitions(selectObj) {
?>
<div class="row-fluid">
<div class="span4">
<div class="span6">
<div class="well">
<?php echo getMLText("selection")?>:
<select onchange="showAttributeDefinitions(this)" id="selector" class="span9">
<select class="chzn-select" id="selector" class="span9">
<option value="-1"><?php echo getMLText("choose_attrdef")?>
<option value="0"><?php echo getMLText("new_attrdef")?>
<?php
$selected=0;
$count=2;
if($attrdefs) {
foreach ($attrdefs as $attrdef) {
if (isset($_GET["attrdefid"]) && $attrdef->getID()==$_GET["attrdefid"]) $selected=$count;
switch($attrdef->getObjType()) {
case SeedDMS_Core_AttributeDefinition::objtype_all:
$ot = getMLText("all");
@ -88,297 +273,20 @@ function showAttributeDefinitions(selectObj) {
$ot = getMLText("version");
break;
}
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_int:
$vt = getMLText('attrdef_type_int');
break;
case SeedDMS_Core_AttributeDefinition::type_float:
$vt = getMLText('attrdef_type_float');
break;
case SeedDMS_Core_AttributeDefinition::type_string:
$vt = getMLText('attrdef_type_string');
break;
case SeedDMS_Core_AttributeDefinition::type_boolean:
$vt = getMLText('attrdef_type_boolean');
break;
case SeedDMS_Core_AttributeDefinition::type_url:
$vt = getMLText('attrdef_type_url');
break;
case SeedDMS_Core_AttributeDefinition::type_email:
$vt = getMLText('attrdef_type_email');
break;
case SeedDMS_Core_AttributeDefinition::type_date:
$vt = getMLText('attrdef_type_date');
break;
}
print "<option value=\"".$attrdef->getID()."\">" . htmlspecialchars($attrdef->getName() ." (".$ot.", ".$vt.")");
$count++;
print "<option value=\"".$attrdef->getID()."\" ".($selattrdef && $attrdef->getID()==$selattrdef->getID() ? 'selected' : '').">" . htmlspecialchars($attrdef->getName() ." (".$ot.")");
}
}
?>
</select>
</div>
<div class="ajax" data-view="AttributeMgr" data-action="info" <?php echo ($selattrdef ? "data-query=\"attrdefid=".$selattrdef->getID()."\"" : "") ?>></div>
</div>
<div class="span8">
<div class="well" id="attrdefs0" style="display : none;">
<form action="../op/op.AttributeMgr.php" method="post">
<?php echo createHiddenFieldWithKey('addattrdef'); ?>
<input type="hidden" name="action" value="addattrdef">
<table class="table-condensed">
<tr>
<td><?php printMLText("attrdef_name");?>:</td><td><input type="text" name="name"></td>
</tr>
<tr>
<td><?php printMLText("attrdef_objtype");?>:</td><td><select name="objtype"><option value="<?php echo SeedDMS_Core_AttributeDefinition::objtype_all ?>">All</option><option value="<?php echo SeedDMS_Core_AttributeDefinition::objtype_folder ?>">Folder</option><option value="<?php echo SeedDMS_Core_AttributeDefinition::objtype_document ?>"><?php printMLText("document"); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::objtype_documentcontent ?>"><?php printMLText("version"); ?></option></select>
</tr>
<tr>
<td><?php printMLText("attrdef_type");?>:</td><td><select name="type"><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_int ?>"><?php printMLText('attrdef_type_int'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_float ?>"><?php printMLText('attrdef_type_float'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_string ?>"><?php printMLText('attrdef_type_string'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_boolean ?>"><?php printMLText('attrdef_type_boolean'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_url ?>"><?php printMLText('attrdef_type_url'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_email ?>"><?php printMLText('attrdef_type_email'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_date ?>"><?php printMLText('attrdef_type_date'); ?></option></select></td>
</tr>
<tr>
<td><?php printMLText("attrdef_multiple");?>:</td><td><input type="checkbox" value="1" name="multiple" /></td>
</tr>
<tr>
<td><?php printMLText("attrdef_minvalues");?>:</td><td><input type="text" value="" name="minvalues" /></td>
</tr>
<tr>
<td><?php printMLText("attrdef_maxvalues");?>:</td><td><input type="text" value="" name="maxvalues" /></td>
</tr>
<tr>
<td><?php printMLText("attrdef_valueset");?>:</td><td><input type="text" value="" name="valueset" /></td>
</tr>
<tr>
<td><?php printMLText("attrdef_regex");?>:</td><td><input type="text" value="" name="regex" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" class="btn" value="<?php printMLText("new_attrdef"); ?>"></td>
</tr>
</table>
</form>
</div>
<?php
if($attrdefs) {
foreach ($attrdefs as $attrdef) {
print "<div id=\"attrdefs".$attrdef->getID()."\" style=\"display : none;\">";
if($attrdef->isUsed())
echo '<div class="alert alert-warning">'.getMLText('attrdef_in_use').'</div>';
?>
<div class="well">
<?php
if($attrdef->isUsed()) {
$res = $attrdef->getStatistics(3);
if(isset($res['frequencies']) && $res['frequencies']) {
print "<table class=\"table-condensed\">";
print "<thead>\n<tr>\n";
print "<th>".getMLText("attribute_count")."</th>\n";
print "<th>".getMLText("attribute_value")."</th>\n";
print "</tr></thead>\n<tbody>\n";
foreach($res['frequencies'] as $entry) {
echo "<tr><td>".$entry['c']."</td><td>".$entry['value']."</td></tr>";
}
print "</tbody></table>";
}
if($res['docs']) {
print "<table class=\"table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("owner")."</th>\n";
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("attribute_value")."</th>\n";
print "<th>".getMLText("actions")."</th>\n";
print "</tr></thead>\n<tbody>\n";
foreach($res['docs'] as $doc) {
$owner = $doc->getOwner();
$latest = $doc->getLatestContent();
$status = $latest->getStatus();
print "<tr>\n";
print "<td><i class=\"icon-file\"></i></td>";
print "<td><a href=\"../out/out.ViewDocument.php?documentid=".$doc->getID()."\">" . htmlspecialchars($doc->getName()) . "</a></td>\n";
print "<td>".htmlspecialchars($owner->getFullName())."</td>";
print "<td>".getOverallStatusText($status["status"])."</td>";
$value = $doc->getAttributeValue($attrdef);
if(is_array($value))
print "<td>".implode('; ', $value)."</td>";
else
print "<td>".$value."</td>";
print "<td>";
print "<a href='../out/out.EditDocument.php?documentid=".$doc->getID()."' class=\"btn btn-mini\"><i class=\"icon-edit\"></i> ".getMLText("edit")."</a>";
print "</td></tr>\n";
}
print "</tbody></table>";
}
if($res['folders']) {
print "<table class=\"table-condensed\">";
print "<thead><tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("owner")."</th>\n";
print "<th>".getMLText("attribute_value")."</th>\n";
print "<th>".getMLText("actions")."</th>\n";
print "</tr></thead>\n<tbody>\n";
foreach($res['folders'] as $folder) {
$owner = $folder->getOwner();
print "<tr class=\"folder\">";
print "<td><i class=\"icon-folder-close-alt\"></i></td>";
print "<td><a href=\"../out/out.ViewFolder.php?folderid=".$folder->getID()."\">" . htmlspecialchars($folder->getName()) . "</a></td>\n";
print "<td>".htmlspecialchars($owner->getFullName())."</td>";
$value = $folder->getAttributeValue($attrdef);
if(is_array($value))
print "<td>".implode('; ', $value)."</td>";
else
print "<td>".$value."</td>";
print "<td>";
print "<a href='../out/out.EditFolder.php?folderid=".$folder->getID()."' class=\"btn btn-mini\"><i class=\"icon-edit\"></i> ".getMLText("edit")."</a>";
print "</td></tr>";
}
print "</tbody></table>";
}
if($res['contents']) {
print "<table class=\"table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("owner")."</th>\n";
print "<th>".getMLText("mimetype")."</th>\n";
print "<th>".getMLText("version")."</th>\n";
print "<th>".getMLText("attribute_value")."</th>\n";
print "<th>".getMLText("actions")."</th>\n";
print "</tr></thead>\n<tbody>\n";
foreach($res['contents'] as $content) {
$doc = $content->getDocument();
$owner = $doc->getOwner();
print "<tr>\n";
print "<td><i class=\"icon-file\"></i></td>";
print "<td><a href=\"../out/out.ViewDocument.php?documentid=".$doc->getID()."\">" . htmlspecialchars($doc->getName()) . "</a></td>\n";
print "<td>".htmlspecialchars($owner->getFullName())."</td>";
print "<td>".$content->getMimeType()."</td>";
print "<td>".$content->getVersion()."</td>";
$value = $content->getAttributeValue($attrdef);
if(is_array($value))
print "<td>".implode('; ', $value)."</td>";
else
print "<td>".$value."</td>";
print "<td>";
print "<a href='../out/out.EditDocument.php?documentid=".$doc->getID()."' class=\"btn btn-mini\"><i class=\"icon-edit\"></i> ".getMLText("edit")."</a>";
print "</td></tr>\n";
}
print "</tbody></table>";
}
} else {
?>
<form style="display: inline-block;" method="post" action="../op/op.AttributeMgr.php" >
<?php echo createHiddenFieldWithKey('removeattrdef'); ?>
<input type="hidden" name="attrdefid" value="<?php echo $attrdef->getID()?>">
<input type="hidden" name="action" value="removeattrdef">
<button type="submit" class="btn"><i class="icon-remove"></i> <?php echo getMLText("rm_attrdef")?></button>
</form>
<?php
}
?>
</div>
<div class="well">
<table class="table-condensed">
<form action="../op/op.AttributeMgr.php" method="post">
<tr>
<td>
<?php echo createHiddenFieldWithKey('editattrdef'); ?>
<input type="Hidden" name="action" value="editattrdef">
<input type="Hidden" name="attrdefid" value="<?php echo $attrdef->getID()?>" />
<?php printMLText("attrdef_name");?>:
</td>
<td>
<input type="text" name="name" value="<?php echo htmlspecialchars($attrdef->getName()) ?>">
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_objtype");?>:
</td>
<td>
<select name="type"><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_int ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_int) echo "selected"; ?>><?php printMLText('attrdef_type_int'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_float ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_float) echo "selected"; ?>><?php printMLText('attrdef_type_float'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_string ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_string) echo "selected"; ?>><?php printMLText('attrdef_type_string'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_boolean ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_boolean) echo "selected"; ?>><?php printMLText('attrdef_type_boolean'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_url ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_url) echo "selected"; ?>><?php printMLText('attrdef_type_url'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_email ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_email) echo "selected"; ?>><?php printMLText('attrdef_type_email'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_date ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_date) echo "selected"; ?>><?php printMLText('attrdef_type_date'); ?></option></select>
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_type");?>:
</td>
<td>
<select name="type"><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_int ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_int) echo "selected"; ?>><?php printMLText('attrdef_type_int'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_float ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_float) echo "selected"; ?>><?php printMLText('attrdef_type_float'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_string ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_string) echo "selected"; ?>><?php printMLText('attrdef_type_string'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_boolean ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_boolean) echo "selected"; ?>><?php printMLText('attrdef_type_boolean'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_url ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_url) echo "selected"; ?>><?php printMLText('attrdef_type_url'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_email ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_email) echo "selected"; ?>><?php printMLText('attrdef_type_email'); ?></option><option value="<?php echo SeedDMS_Core_AttributeDefinition::type_date ?>" <?php if($attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_date) echo "selected"; ?>><?php printMLText('attrdef_type_date'); ?></option></select>
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_multiple");?>:
</td>
<td>
<input type="checkbox" value="1" name="multiple" <?php echo $attrdef->getMultipleValues() ? "checked" : "" ?>/>
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_minvalues");?>:
</td>
<td>
<input type="text" value="<?php echo $attrdef->getMinValues() ?>" name="minvalues" />
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_maxvalues");?>:
</td>
<td>
<input type="text" value="<?php echo $attrdef->getMaxValues() ?>" name="maxvalues" />
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_valueset");?>:
</td>
<td>
<input type="text" value="<?php echo $attrdef->getValueSet() ?>" name="valueset" />
</td>
</tr>
<tr>
<td>
<?php printMLText("attrdef_regex");?>:
</td>
<td>
<input type="text" value="<?php echo $attrdef->getRegex() ?>" name="regex" />
</td>
</tr>
<tr>
<td></td>
<td>
<button type="submit" class="btn"><i class="icon-save"></i> <?php printMLText("save");?></button>
</td>
</tr>
</form>
</table>
</div>
</div>
<?php
}
}
?>
<div class="span6">
<div class="well">
<div class="ajax" data-view="AttributeMgr" data-action="form" <?php echo ($selattrdef ? "data-query=\"attrdefid=".$selattrdef->getID()."\"" : "") ?>></div>
</div>
</div>
</div>
</div>
<script language="JavaScript">
sel = document.getElementById("selector");
sel.selectedIndex=<?php print $selected ?>;
showAttributeDefinitions(sel);
</script>
<?php
$this->htmlEndPage();

View File

@ -32,7 +32,7 @@ require_once("class.Bootstrap.php");
class SeedDMS_View_BackupTools extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
header('Content-Type: application/json');
header('Content-Type: application/javascript');
$this->printFolderChooserJs("form1");
$this->printFolderChooserJs("form2");

View File

@ -393,8 +393,10 @@ $(document).ready(function () {
// echo " <li><a href=\"../out/out.SearchForm.php?folderid=".$this->params['rootfolderid']."\">".getMLText("search")."</a></li>\n";
if ($this->params['enablecalendar']) echo " <li><a href=\"../out/out.Calendar.php?mode=".$this->params['calendardefaultview']."\">".getMLText("calendar")."</a></li>\n";
if ($this->params['user']->isAdmin()) echo " <li><a href=\"../out/out.AdminTools.php\">".getMLText("admin_tools")."</a></li>\n";
if($this->params['enablehelp']) {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
echo " <li><a href=\"../out/out.Help.php?context=".$tmp[1]."\">".getMLText("help")."</a></li>\n";
}
echo " </ul>\n";
echo " <form action=\"../out/out.Search.php\" class=\"form-inline navbar-search pull-left\" autocomplete=\"off\">";
if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), $dms->getClassname('folder'))) {
@ -406,9 +408,11 @@ $(document).ready(function () {
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['enablefullsearch']) {
echo " <label class=\"checkbox\" style=\"color: #999999;\"><input type=\"checkbox\" name=\"fullsearch\" value=\"1\" title=\"".getMLText('fullsearch_hint')."\"/> ".getMLText('fullsearch')."</label>";
}
if($this->params['defaultsearchmethod'] == 'fulltext')
echo " <input type=\"hidden\" name=\"fullsearch\" value=\"1\" />";
// if($this->params['enablefullsearch']) {
// echo " <label class=\"checkbox\" style=\"color: #999999;\"><input type=\"checkbox\" name=\"fullsearch\" value=\"1\" title=\"".getMLText('fullsearch_hint')."\"/> ".getMLText('fullsearch')."</label>";
// }
// echo " <input type=\"submit\" value=\"".getMLText("search")."\" id=\"searchButton\" class=\"btn\"/>";
echo "</form>\n";
echo " </div>\n";
@ -1498,7 +1502,9 @@ $(function() {
else
$li.find('.jqtree-title').before('<i class="icon-file"></i> ');
}
});
});
// Unfold tree if folder is opened
$('#jqtree<?php echo $formid ?>').tree('openNode', $('#jqtree<?PHP echo $formid ?>').tree('getNodeById', <?php echo $folderid ?>), false);
$('#jqtree<?= $formid ?>').bind(
'tree.click',
function(event) {
@ -1915,7 +1921,7 @@ $(function() {
function folderListRow($subFolder) { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
// $folder = $this->params['folder'];
$showtree = $this->params['showtree'];
$enableRecursiveCount = $this->params['enableRecursiveCount'];
$maxRecursiveCount = $this->params['maxRecursiveCount'];

View File

@ -35,7 +35,7 @@ class SeedDMS_View_Charts extends SeedDMS_Bootstrap_Style {
$data = $this->params['data'];
$type = $this->params['type'];
header('Content-Type: application/json');
header('Content-Type: application/javascript');
?>
$("<div id='tooltip'></div>").css({

View File

@ -31,6 +31,187 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_DefaultKeywords extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
?>
function checkForm()
{
msg = new Array();
if($("#form .name").val() == "") msg.push("<?php printMLText("js_no_name");?>");
if (msg != "")
{
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
else
return true;
}
function checkFormName()
{
msg = new Array();
if($(".formn .name").val() == "") msg.push("<?php printMLText("js_no_name");?>");
if (msg != "")
{
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
else
return true;
}
function checkKeywordForm()
{
msg = new Array();
if($(".formk .keywords").val() == "") msg.push("<?php printMLText("js_no_name");?>");
if (msg != "")
{
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
else
return true;
}
$(document).ready( function() {
$('body').on('submit', '#form', function(ev){
if(checkForm()) return;
event.preventDefault();
});
$('body').on('submit', '.formk', function(ev){
if(checkKeywordForm()) return;
event.preventDefault();
});
$('body').on('submit', '.formn', function(ev){
if(checkFormName()) return;
event.preventDefault();
});
$( "#selector" ).change(function() {
$('div.ajax').trigger('update', {categoryid: $(this).val()});
});
});
<?php
} /* }}} */
function form() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$category = $dms->getKeywordCategory($this->params['selcategoryid']);
$this->showKeywordForm($category, $user);
} /* }}} */
function showKeywordForm($category, $user) { /* {{{ */
if(!$category) {
?>
<form class="form-inline" action="../op/op.DefaultKeywords.php" method="post" id="form">
<?php echo createHiddenFieldWithKey('addcategory'); ?>
<input type="hidden" name="action" value="addcategory">
<?php printMLText("name");?>: <input type="text" class="name" name="name">
<input type="submit" class="btn" value="<?php printMLText("new_default_keyword_category"); ?>">
</form>
<?php
} else {
$owner = $category->getOwner();
if ((!$user->isAdmin()) && ($owner->getID() != $user->getID())) return;
?>
<table class="table-condensed">
<tr>
<td></td>
<td>
<form action="../op/op.DefaultKeywords.php" method="post">
<?php echo createHiddenFieldWithKey('removecategory'); ?>
<input type="Hidden" name="action" value="removecategory">
<input type="Hidden" name="categoryid" value="<?php echo $category->getID()?>">
<button type="submit" class="btn" title="<?php echo getMLText("delete")?>"><i class="icon-remove"></i> <?php printMLText("rm_default_keyword_category");?></button>
</form>
</td>
</tr>
<tr>
<td><?php echo getMLText("name")?>:</td>
<td>
<form class="form-inline formn" action="../op/op.DefaultKeywords.php" method="post">
<?php echo createHiddenFieldWithKey('editcategory'); ?>
<input type="hidden" name="action" value="editcategory">
<input type="hidden" name="categoryid" value="<?php echo $category->getID()?>">
<input name="name" class="name" type="text" value="<?php echo htmlspecialchars($category->getName()) ?>">
<button type="submit" class="btn"><i class="icon-save"></i> <?php printMLText("save");?></button>
</form>
</td>
</tr>
<tr>
<td><?php echo getMLText("default_keywords")?>:</td>
<td>
<?php
$lists = $category->getKeywordLists();
if (count($lists) == 0)
print getMLText("no_default_keywords");
else
foreach ($lists as $list) {
?>
<form class="form-inline formk" style="display: inline-block;" method="post" action="../op/op.DefaultKeywords.php">
<?php echo createHiddenFieldWithKey('editkeywords'); ?>
<input type="Hidden" name="categoryid" value="<?php echo $category->getID()?>">
<input type="Hidden" name="keywordsid" value="<?php echo $list["id"]?>">
<input type="Hidden" name="action" value="editkeywords">
<input name="keywords" class="keywords" type="text" value="<?php echo htmlspecialchars($list["keywords"]) ?>">
<button class="btn" title="<?php echo getMLText("save")?>"><i class="icon-save"></i> <?php echo getMLText("save")?></button>
<!-- <input name="action" value="removekeywords" type="Image" src="images/del.gif" title="<?php echo getMLText("delete")?>" border="0"> &nbsp; -->
</form>
<form style="display: inline-block;" method="post" action="../op/op.DefaultKeywords.php" >
<?php echo createHiddenFieldWithKey('removekeywords'); ?>
<input type="hidden" name="categoryid" value="<?php echo $category->getID()?>">
<input type="hidden" name="keywordsid" value="<?php echo $list["id"]?>">
<input type="hidden" name="action" value="removekeywords">
<button class="btn" title="<?php echo getMLText("delete")?>"><i class="icon-remove"></i> <?php echo getMLText("delete")?></button>
</form>
<br>
<?php } ?>
</td>
</tr>
<tr>
<td></td>
<td>
<form class="form-inline formk" action="../op/op.DefaultKeywords.php" method="post">
<?php echo createHiddenFieldWithKey('newkeywords'); ?>
<input type="Hidden" name="action" value="newkeywords">
<input type="Hidden" name="categoryid" value="<?php echo $category->getID()?>">
<input type="text" class="keywords" name="keywords">
<input type="submit" class="btn" value="<?php printMLText("new_default_keywords");?>">
</form>
</td>
</tr>
</table>
<?php
}
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -42,75 +223,13 @@ class SeedDMS_View_DefaultKeywords extends SeedDMS_Bootstrap_Style {
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
?>
<script language="JavaScript">
function checkForm(num)
{
msg = new Array();
eval("var formObj = document.form" + num + ";");
if (formObj.name.value == "") msg.push("<?php printMLText("js_no_name");?>");
if (msg != "")
{
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
else
return true;
}
function checkKeywordForm(num)
{
msg = new Array();
eval("var formObj = document.formk" + num + ";");
if (formObj.keywords.value == "") msg.push("<?php printMLText("js_no_name");?>");
if (msg != "")
{
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
else
return true;
}
obj = -1;
function showKeywords(selectObj) {
if (obj != -1)
obj.style.display = "none";
id = selectObj.options[selectObj.selectedIndex].value;
if (id == -1)
return;
obj = document.getElementById("keywords" + id);
obj.style.display = "";
}
</script>
<?php
$this->contentHeading(getMLText("global_default_keywords"));
?>
<div class="row-fluid">
<div class="span4">
<div class="well">
<?php echo getMLText("selection")?>:
<select onchange="showKeywords(this)" id="selector" class="span9">
<select id="selector" class="span9">
<option value="-1"><?php echo getMLText("choose_category")?>
<option value="0"><?php echo getMLText("new_default_keyword_category")?>
<?php
@ -132,108 +251,11 @@ function showKeywords(selectObj) {
</div>
<div class="span8">
<div class="well">
<table class="table-condensed"><tr>
<td id="keywords0" style="display : none;">
<form class="form-inline" action="../op/op.DefaultKeywords.php" method="post" name="form0" onsubmit="return checkForm('0');">
<?php echo createHiddenFieldWithKey('addcategory'); ?>
<input type="hidden" name="action" value="addcategory">
<?php printMLText("name");?>: <input type="text" name="name">
<input type="submit" class="btn" value="<?php printMLText("new_default_keyword_category"); ?>">
</form>
</td>
<?php
foreach ($categories as $category) {
$owner = $category->getOwner();
if ((!$user->isAdmin()) && ($owner->getID() != $user->getID())) continue;
print "<td id=\"keywords".$category->getID()."\" style=\"display : none;\">";
?>
<table class="table-condensed">
<tr>
<td></td>
<td>
<form action="../op/op.DefaultKeywords.php" method="post">
<?php echo createHiddenFieldWithKey('removecategory'); ?>
<input type="Hidden" name="action" value="removecategory">
<input type="Hidden" name="categoryid" value="<?php echo $category->getID()?>">
<button type="submit" class="btn" title="<?php echo getMLText("delete")?>"><i class="icon-remove"></i> <?php printMLText("rm_default_keyword_category");?></button>
</form>
</td>
</tr>
<tr>
<td><?php echo getMLText("name")?>:</td>
<td>
<form class="form-inline" action="../op/op.DefaultKeywords.php" method="post" name="form<?php echo $category->getID()?>" onsubmit="return checkForm('<?php echo $category->getID()?>');">
<?php echo createHiddenFieldWithKey('editcategory'); ?>
<input type="hidden" name="action" value="editcategory">
<input type="hidden" name="categoryid" value="<?php echo $category->getID()?>">
<input name="name" type="text" value="<?php echo htmlspecialchars($category->getName()) ?>">
<button type="submit" class="btn"><i class="icon-save"></i> <?php printMLText("save");?></button>
</form>
</td>
</tr>
<tr>
<td><?php echo getMLText("default_keywords")?>:</td>
<td>
<?php
$lists = $category->getKeywordLists();
if (count($lists) == 0)
print getMLText("no_default_keywords");
else
foreach ($lists as $list) {
?>
<form class="form-inline" style="display: inline-block;" method="post" action="../op/op.DefaultKeywords.php" name="formk<?php echo $list['id']?>" onsubmit="return checkKeywordForm('<?php echo $list['id']?>');">
<?php echo createHiddenFieldWithKey('editkeywords'); ?>
<input type="Hidden" name="categoryid" value="<?php echo $category->getID()?>">
<input type="Hidden" name="keywordsid" value="<?php echo $list["id"]?>">
<input type="Hidden" name="action" value="editkeywords">
<input name="keywords" type="text" value="<?php echo htmlspecialchars($list["keywords"]) ?>">
<button class="btn" title="<?php echo getMLText("save")?>"><i class="icon-save"></i> <?php echo getMLText("save")?></button>
<!-- <input name="action" value="removekeywords" type="Image" src="images/del.gif" title="<?php echo getMLText("delete")?>" border="0"> &nbsp; -->
</form>
<form style="display: inline-block;" method="post" action="../op/op.DefaultKeywords.php" >
<?php echo createHiddenFieldWithKey('removekeywords'); ?>
<input type="hidden" name="categoryid" value="<?php echo $category->getID()?>">
<input type="hidden" name="keywordsid" value="<?php echo $list["id"]?>">
<input type="hidden" name="action" value="removekeywords">
<button class="btn" title="<?php echo getMLText("delete")?>"><i class="icon-remove"></i> <?php echo getMLText("delete")?></button>
</form>
<br>
<?php } ?>
</td>
</tr>
<tr>
<td></td>
<td>
<form class="form-inline" action="../op/op.DefaultKeywords.php" method="post">
<?php echo createHiddenFieldWithKey('newkeywords'); ?>
<input type="Hidden" name="action" value="newkeywords">
<input type="Hidden" name="categoryid" value="<?php echo $category->getID()?>">
<input type="text" name="keywords">
<input type="submit" class="btn" value="<?php printMLText("new_default_keywords");?>">
</form>
</td>
</tr>
</table>
</td>
<?php } ?>
</tr></table>
<div class="well">
<div class="ajax" data-view="DefaultKeywords" data-action="form" <?php echo ($selcategoryid ? "data-query=\"categoryid=".$selcategoryid."\"" : "") ?>></div>
</div>
</div>
</div>
</div>
</div>
<script language="JavaScript">
sel = document.getElementById("selector");
sel.selectedIndex=<?php print $selected ?>;
showKeywords(sel);
</script>
<?php
$this->htmlEndPage();

View File

@ -41,7 +41,7 @@ class SeedDMS_View_DocumentAccess extends SeedDMS_Bootstrap_Style {
} /* }}} */
function js() { /* {{{ */
header('Content-Type: application/json');
header('Content-Type: application/javascript');
?>
function checkForm()
{

View File

@ -36,7 +36,7 @@ class SeedDMS_View_DocumentChooser extends SeedDMS_Bootstrap_Style {
$form = $this->params['form'];
$partialtree = $this->params['partialtree'];
header('Content-Type: application/json');
header('Content-Type: application/javascript');
$this->printNewTreeNavigationJs($folder->getID(), M_READ, 1, $form, 0, '', $partialtree);
} /* }}} */

View File

@ -32,7 +32,7 @@ require_once("class.Bootstrap.php");
class SeedDMS_View_DocumentNotify extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
header('Content-Type: application/json');
header('Content-Type: application/javascript');
?>
function checkForm()
{

View File

@ -31,30 +31,14 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_EditUserData extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$enableuserimage = $this->params['enableuserimage'];
$enablelanguageselector = $this->params['enablelanguageselector'];
$enablethemeselector = $this->params['enablethemeselector'];
$passwordstrength = $this->params['passwordstrength'];
$httproot = $this->params['httproot'];
$this->htmlStartPage(getMLText("edit_user_details"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("my_account"), "my_account");
function js() { /* {{{ */
?>
<script language="JavaScript">
function checkForm()
{
msg = new Array();
if (document.form1.pwd.value != document.form1.pwdconf.value) msg.push("<?php printMLText("js_pwd_not_conf");?>");
if (document.form1.fullname.value == "") msg.push("<?php printMLText("js_no_name");?>");
if (document.form1.email.value == "") msg.push("<?php printMLText("js_no_email");?>");
if ($("#pwd").val() != $("#pwdconf").val()) msg.push("<?php printMLText("js_pwd_not_conf");?>");
if ($("#fullname").val() == "") msg.push("<?php printMLText("js_no_name");?>");
if ($("#email").val() == "") msg.push("<?php printMLText("js_no_email");?>");
// if (document.form1.comment.value == "") msg.push("<?php printMLText("js_no_comment");?>");
if (msg != "") {
noty({
@ -70,13 +54,34 @@ function checkForm()
else
return true;
}
</script>
$(document).ready( function() {
$('body').on('submit', '#form', function(ev){
if(checkForm()) return;
event.preventDefault();
});
});
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$enableuserimage = $this->params['enableuserimage'];
$enablelanguageselector = $this->params['enablelanguageselector'];
$enablethemeselector = $this->params['enablethemeselector'];
$passwordstrength = $this->params['passwordstrength'];
$httproot = $this->params['httproot'];
$this->htmlStartPage(getMLText("edit_user_details"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("my_account"), "my_account");
$this->contentHeading(getMLText("edit_user_details"));
$this->contentContainerStart();
?>
<form action="../op/op.EditUserData.php" enctype="multipart/form-data" method="post" name="form1" onsubmit="return checkForm();">
<form action="../op/op.EditUserData.php" enctype="multipart/form-data" method="post" id="form">
<table class="table-condensed">
<tr>
<td><?php printMLText("current_password");?>:</td>
@ -84,7 +89,7 @@ function checkForm()
</tr>
<tr>
<td><?php printMLText("new_password");?>:</td>
<td><input class="pwd" type="password" rel="strengthbar" name="pwd" size="30"></td>
<td><input class="pwd" type="password" rel="strengthbar" id="pwd" name="pwd" size="30"></td>
</tr>
<?php
if($passwordstrength) {
@ -100,15 +105,15 @@ function checkForm()
?>
<tr>
<td><?php printMLText("confirm_pwd");?>:</td>
<td><input id="pwdconf" type="Password" name="pwdconf" size="30"></td>
<td><input id="pwdconf" type="Password" id="pwdconf" name="pwdconf" size="30"></td>
</tr>
<tr>
<td><?php printMLText("name");?>:</td>
<td><input type="text" name="fullname" value="<?php print htmlspecialchars($user->getFullName());?>" size="30"></td>
<td><input type="text" id="fullname" name="fullname" value="<?php print htmlspecialchars($user->getFullName());?>" size="30"></td>
</tr>
<tr>
<td><?php printMLText("email");?>:</td>
<td><input type="text" name="email" value="<?php print htmlspecialchars($user->getEmail());?>" size="30"></td>
<td><input type="text" id="email" name="email" value="<?php print htmlspecialchars($user->getEmail());?>" size="30"></td>
</tr>
<tr>
<td><?php printMLText("comment");?>:</td>

View File

@ -36,7 +36,7 @@ class SeedDMS_View_FolderChooser extends SeedDMS_Bootstrap_Style {
$form = $this->params['form'];
$mode = $this->params['mode'];
header('Content-Type: application/json');
header('Content-Type: application/javascript');
$this->printNewTreeNavigationJs($rootfolderid, $mode, 0, $form);
} /* }}} */

View File

@ -33,7 +33,7 @@ class SeedDMS_View_KeywordChooser extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
$form = $this->params['form'];
header('Content-Type: application/json');
header('Content-Type: application/javascript');
?>
var targetObj = document.<?php echo $form ?>.keywords;
var myTA;

View File

@ -70,7 +70,7 @@ class SeedDMS_View_LogManagement extends SeedDMS_Bootstrap_Style {
} /* }}} */
function js() { /* {{{ */
header('Content-Type: application/json');
header('Content-Type: application/javascript');
?>
$(document).ready( function() {
$('i.icon-arrow-up').on('click', function(e) {

View File

@ -149,6 +149,13 @@ class SeedDMS_View_ManageNotify extends SeedDMS_Bootstrap_Style {
}
} /* }}} */
function js() { /* {{{ */
header('Content-Type: application/javascript');
$this->printFolderChooserJs("form1");
$this->printDocumentChooserJs("form2");
} /* }}} */
function show() { /* {{{ */
$this->dms = $this->params['dms'];
$this->user = $this->params['user'];
@ -169,7 +176,7 @@ class SeedDMS_View_ManageNotify extends SeedDMS_Bootstrap_Style {
print "<form method=\"post\" action=\"../op/op.ManageNotify.php?type=folder&action=add\" name=\"form1\">";
$this->contentSubHeading(getMLText("choose_target_folder"));
$this->printFolderChooser("form1",M_READ);
$this->printFolderChooserHtml("form1",M_READ);
print "<label class=\"checkbox\">";
print "<input type=\"checkbox\" name=\"recursefolder\" value=\"1\">";
print getMLText("include_subdirectories");
@ -190,7 +197,7 @@ class SeedDMS_View_ManageNotify extends SeedDMS_Bootstrap_Style {
$this->contentSubHeading(getMLText("choose_target_document"));
/* 'form1' must be passed to printDocumentChooser() because the typeahead
* function is currently hardcoded on this value */
$this->printDocumentChooser("form2");
$this->printDocumentChooserHtml("form2");
print "<br /><button type='submit' class='btn'><i class=\"icon-plus\"></i> ".getMLText("add")."</button>";
print "</form>";

View File

@ -32,7 +32,7 @@ require_once("class.Bootstrap.php");
class SeedDMS_View_MoveDocument extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
header('Content-Type: application/json');
header('Content-Type: application/javascript');
$this->printFolderChooserJs("form1");
} /* }}} */

View File

@ -326,6 +326,238 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style {
}
else printMLText("no_docs_to_look_at");
$this->contentContainerEnd();
} elseif($workflowmode == 'advanced') {
// Get document list for the current user.
$workflowStatus = $user->getWorkflowStatus();
// Create a comma separated list of all the documentIDs whose information is
// required.
$dList = array();
foreach ($workflowStatus["u"] as $st) {
if (!in_array($st["document"], $dList)) {
$dList[] = $st["document"];
}
}
foreach ($workflowStatus["g"] as $st) {
if (!in_array($st["document"], $dList)) {
$dList[] = $st["document"];
}
}
$docCSV = "";
foreach ($dList as $d) {
$docCSV .= (strlen($docCSV)==0 ? "" : ", ")."'".$d."'";
}
if (strlen($docCSV)>0) {
// Get the document information.
$queryStr = "SELECT `tblDocuments`.*, `tblDocumentLocks`.`userID` as `lockUser`, ".
"`tblDocumentContent`.`version`, `tblDocumentStatus`.*, `tblDocumentStatusLog`.`status`, ".
"`tblDocumentStatusLog`.`comment` AS `statusComment`, `tblDocumentStatusLog`.`date` as `statusDate`, ".
"`tblDocumentStatusLog`.`userID`, `oTbl`.`fullName` AS `ownerName`, `sTbl`.`fullName` AS `statusName` ".
"FROM `tblDocumentContent` ".
"LEFT JOIN `tblDocuments` ON `tblDocuments`.`id` = `tblDocumentContent`.`document` ".
"LEFT JOIN `tblDocumentStatus` ON `tblDocumentStatus`.`documentID` = `tblDocumentContent`.`document` ".
"LEFT JOIN `tblDocumentStatusLog` ON `tblDocumentStatusLog`.`statusID` = `tblDocumentStatus`.`statusID` ".
"LEFT JOIN `ttstatid` ON `ttstatid`.`maxLogID` = `tblDocumentStatusLog`.`statusLogID` ".
"LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentStatus`.`version` AND `ttcontentid`.`document` = `tblDocumentStatus`.`documentID` ".
"LEFT JOIN `tblDocumentLocks` ON `tblDocuments`.`id`=`tblDocumentLocks`.`document` ".
"LEFT JOIN `tblUsers` AS `oTbl` on `oTbl`.`id` = `tblDocuments`.`owner` ".
"LEFT JOIN `tblUsers` AS `sTbl` on `sTbl`.`id` = `tblDocumentStatusLog`.`userID` ".
"WHERE `ttstatid`.`maxLogID`=`tblDocumentStatusLog`.`statusLogID` ".
"AND `ttcontentid`.`maxVersion` = `tblDocumentContent`.`version` ".
"AND `tblDocumentStatusLog`.`status` IN (".S_IN_WORKFLOW.", ".S_EXPIRED.") ".
"AND `tblDocuments`.`id` IN (" . $docCSV . ") ".
"ORDER BY `statusDate` DESC";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr) {
$this->contentHeading(getMLText("warning"));
$this->contentContainer(getMLText("internal_error_exit"));
$this->htmlEndPage();
exit;
}
// Create an array to hold all of these results, and index the array by
// document id. This makes it easier to retrieve document ID information
// later on and saves us having to repeatedly poll the database every time
// new document information is required.
$docIdx = array();
foreach ($resArr as $res) {
// verify expiry
if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){
if ( $res["status"]==S_IN_WORKFLOW ){
$res["status"]=S_EXPIRED;
}
}
$docIdx[$res["id"]][$res["version"]] = $res;
}
// List the documents where a review has been requested.
$this->contentHeading(getMLText("documents_to_check"));
$this->contentContainerStart();
$printheader=true;
$iRev = array();
$dList = array();
foreach ($workflowStatus["u"] as $st) {
if ( isset($docIdx[$st["document"]][$st["version"]]) && !in_array($st["document"], $dList) ) {
$dList[] = $st["document"];
$document = $dms->getDocument($st["document"]);
if ($printheader){
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("owner")."</th>\n";
print "<th>".getMLText("version")."</th>\n";
print "<th>".getMLText("last_update")."</th>\n";
print "<th>".getMLText("expires")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
$printheader=false;
}
print "<tr>\n";
$latestContent = $document->getLatestContent();
$previewer->createPreview($latestContent);
print "<td><a href=\"../op/op.Download.php?documentid=".$st["document"]."&version=".$st["version"]."\">";
if($previewer->hasPreview($latestContent)) {
print "<img class=\"mimeicon\" width=\"".$previewwidth."\"src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} else {
print "<img class=\"mimeicon\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
}
print "</a></td>";
print "<td><a href=\"out.ViewDocument.php?documentid=".$st["document"]."&currenttab=workflow\">".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"])."</a></td>";
print "<td>".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"])."</td>";
print "<td>".$st["version"]."</td>";
print "<td>".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"]) ."</td>";
print "<td".($docIdx[$st["document"]][$st["version"]]['status']!=S_EXPIRED?"":" class=\"warning\"").">".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"]))."</td>";
print "</tr>\n";
}
}
foreach ($workflowStatus["g"] as $st) {
if (!in_array($st["document"], $iRev) && isset($docIdx[$st["document"]][$st["version"]]) && !in_array($st["document"], $dList) /* && $docIdx[$st["documentID"]][$st["version"]]['owner'] != $user->getId() */) {
$dList[] = $st["document"];
$document = $dms->getDocument($st["document"]);
if ($printheader){
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("owner")."</th>\n";
print "<th>".getMLText("version")."</th>\n";
print "<th>".getMLText("last_update")."</th>\n";
print "<th>".getMLText("expires")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
$printheader=false;
}
print "<tr>\n";
$latestContent = $document->getLatestContent();
$previewer->createPreview($latestContent);
print "<td><a href=\"../op/op.Download.php?documentid=".$st["document"]."&version=".$st["version"]."\">";
if($previewer->hasPreview($latestContent)) {
print "<img class=\"mimeicon\" width=\"".$previewwidth."\"src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} else {
print "<img class=\"mimeicon\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
}
print "</a></td>";
print "<td><a href=\"out.ViewDocument.php?documentid=".$st["document"]."&currenttab=workflow\">".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"])."</a></td>";
print "<td>".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"])."</td>";
print "<td>".$st["version"]."</td>";
print "<td>".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"])."</td>";
print "<td".($docIdx[$st["document"]][$st["version"]]['status']!=S_EXPIRED?"":" class=\"warning\"").">".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"]))."</td>";
print "</tr>\n";
}
}
if (!$printheader){
echo "</tbody>\n</table>";
}else{
printMLText("no_docs_to_check");
}
$this->contentContainerEnd();
}
// Get list of documents owned by current user that are pending review or
// pending approval.
$queryStr = "SELECT `tblDocuments`.*, `tblDocumentLocks`.`userID` as `lockUser`, ".
"`tblDocumentContent`.`version`, `tblDocumentStatus`.*, `tblDocumentStatusLog`.`status`, ".
"`tblDocumentStatusLog`.`comment` AS `statusComment`, `tblDocumentStatusLog`.`date` as `statusDate`, ".
"`tblDocumentStatusLog`.`userID`, `oTbl`.`fullName` AS `ownerName`, `sTbl`.`fullName` AS `statusName` ".
"FROM `tblDocumentContent` ".
"LEFT JOIN `tblDocuments` ON `tblDocuments`.`id` = `tblDocumentContent`.`document` ".
"LEFT JOIN `tblDocumentStatus` ON `tblDocumentStatus`.`documentID` = `tblDocumentContent`.`document` ".
"LEFT JOIN `tblDocumentStatusLog` ON `tblDocumentStatusLog`.`statusID` = `tblDocumentStatus`.`statusID` ".
"LEFT JOIN `ttstatid` ON `ttstatid`.`maxLogID` = `tblDocumentStatusLog`.`statusLogID` ".
"LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentStatus`.`version` AND `ttcontentid`.`document` = `tblDocumentStatus`.`documentID` ".
"LEFT JOIN `tblDocumentLocks` ON `tblDocuments`.`id`=`tblDocumentLocks`.`document` ".
"LEFT JOIN `tblUsers` AS `oTbl` on `oTbl`.`id` = `tblDocuments`.`owner` ".
"LEFT JOIN `tblUsers` AS `sTbl` on `sTbl`.`id` = `tblDocumentStatusLog`.`userID` ".
"WHERE `ttstatid`.`maxLogID`=`tblDocumentStatusLog`.`statusLogID` ".
"AND `ttcontentid`.`maxVersion` = `tblDocumentContent`.`version` ".
"AND `tblDocuments`.`owner` = '".$user->getID()."' ".
"AND `tblDocumentStatusLog`.`status` IN (".S_IN_WORKFLOW.") ".
"ORDER BY `statusDate` DESC";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr) {
$this->contentHeading(getMLText("warning"));
$this->contentContainer("Internal error. Unable to complete request. Exiting.");
$this->htmlEndPage();
exit;
}
$this->contentHeading(getMLText("documents_user_requiring_attention"));
$this->contentContainerStart();
if (count($resArr)>0) {
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("version")."</th>\n";
print "<th>".getMLText("last_update")."</th>\n";
print "<th>".getMLText("expires")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
foreach ($resArr as $res) {
$document = $dms->getDocument($res["documentID"]);
// verify expiry
if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){
if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){
$res["status"]=S_EXPIRED;
}
}
print "<tr>\n";
$latestContent = $document->getLatestContent();
$previewer->createPreview($latestContent);
print "<td><a href=\"../op/op.Download.php?documentid=".$res["documentID"]."&version=".$res["version"]."\">";
if($previewer->hasPreview($latestContent)) {
print "<img class=\"mimeicon\" width=\"".$previewwidth."\"src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} else {
print "<img class=\"mimeicon\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
}
print "</a></td>";
print "<td><a href=\"out.ViewDocument.php?documentid=".$res["documentID"]."&currenttab=revapp\">" . htmlspecialchars($res["name"]) . "</a></td>\n";
print "<td>".getOverallStatusText($res["status"])."</td>";
print "<td>".$res["version"]."</td>";
print "<td>".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."</td>";
print "<td>".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."</td>";
print "</tr>\n";
}
print "</tbody></table>";
}
else printMLText("no_docs_to_look_at");
$this->contentContainerEnd();
}

View File

@ -48,7 +48,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
} /* }}} */
function js() { /* {{{ */
header('Content-Type: application/json');
header('Content-Type: application/javascript');
$this->printFolderChooserJs("form1");
$this->printDeleteFolderButtonJs();

View File

@ -49,6 +49,16 @@ class SeedDMS_View_Settings extends SeedDMS_Bootstrap_Style {
}
} /* }}} */
function js() { /* {{{ */
?>
$(document).ready( function() {
$('#settingstab li a').click(function(event) {
$('#currenttab').val($(event.currentTarget).data('target').substring(1));
});
});
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -62,15 +72,6 @@ class SeedDMS_View_Settings extends SeedDMS_Bootstrap_Style {
$this->contentHeading(getMLText("settings"));
?>
<script language="JavaScript">
$(document).ready( function() {
$('#settingstab li a').click(function(event) {
$('#currenttab').val($(event.currentTarget).data('target').substring(1));
});
});
</script>
<form action="../op/op.Settings.php" method="post" enctype="multipart/form-data" name="form0" >
<input type="hidden" name="action" value="saveSettings" />
<input type="hidden" id="currenttab" name="currenttab" value="<?php echo $currenttab ? $currenttab : 'site'; ?>" />
@ -189,6 +190,15 @@ if(!is_writeable($settings->_configFilePath)) {
</select>
</td>
</tr>
<tr title="<?php printMLText("settings_defaultSearchMethod_desc");?>">
<td><?php printMLText("settings_defaultSearchMethod");?>:</td>
<td>
<select name="defaultSearchMethod">
<option value="database" <?php if ($settings->_defaultSearchMethod=='database') echo "selected" ?>><?php printMLText("settings_defaultSearchMethod_valdatabase");?></option>
<option value="fulltext" <?php if ($settings->_defaultSearchMethod=='fulltext') echo "selected" ?>><?php printMLText("settings_defaultSearchMethod_valfulltext");?></option>
</select>
</td>
</tr>
<tr title="<?php printMLText("settings_stopWordsFile_desc");?>">
<td><?php printMLText("settings_stopWordsFile");?>:</td>
<td><?php $this->showTextField("stopWordsFile", $settings->_stopWordsFile); ?></td>
@ -230,6 +240,10 @@ if(!is_writeable($settings->_configFilePath)) {
<td><?php printMLText("settings_enableLanguageSelector");?>:</td>
<td><input name="enableLanguageSelector" type="checkbox" <?php if ($settings->_enableLanguageSelector) echo "checked" ?> /></td>
</tr>
<tr title="<?php printMLText("settings_enableHelp_desc");?>">
<td><?php printMLText("settings_enableHelp");?>:</td>
<td><input name="enableHelp" type="checkbox" <?php if ($settings->_enableHelp) echo "checked" ?> /></td>
</tr>
<tr title="<?php printMLText("settings_enableThemeSelector_desc");?>">
<td><?php printMLText("settings_enableThemeSelector");?>:</td>
<td><input name="enableThemeSelector" type="checkbox" <?php if ($settings->_enableThemeSelector) echo "checked" ?> /></td>
@ -366,6 +380,10 @@ if(!is_writeable($settings->_configFilePath)) {
<td><?php printMLText("settings_enableGuestLogin");?>:</td>
<td><input name="enableGuestLogin" type="checkbox" <?php if ($settings->_enableGuestLogin) echo "checked" ?> /></td>
</tr>
<tr title="<?php printMLText("settings_enableGuestAutoLogin_desc");?>">
<td><?php printMLText("settings_enableGuestAutoLogin");?>:</td>
<td><input name="enableGuestAutoLogin" type="checkbox" <?php if ($settings->_enableGuestAutoLogin) echo "checked" ?> /></td>
</tr>
<tr title="<?php printMLText("settings_restricted_desc");?>">
<td><?php printMLText("settings_restricted");?>:</td>
<td><input name="restricted" type="checkbox" <?php if ($settings->_restricted) echo "checked" ?> /></td>

View File

@ -31,6 +31,9 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -50,17 +53,17 @@ class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style {
foreach ($allUsers as $currUser) {
echo "<tr>";
echo "<td>";
echo $currUser->getFullName()." (".$currUser->getLogin().")<br />";
echo "<small>".$currUser->getComment()."</small>";
echo htmlspecialchars($currUser->getFullName())." (".htmlspecialchars($currUser->getLogin()).")<br />";
echo "<small>".htmlspecialchars($currUser->getComment())."</small>";
echo "</td>";
echo "<td>";
echo "<a href=\"mailto:".$currUser->getEmail()."\">".$currUser->getEmail()."</a><br />";
echo "<a href=\"mailto:".htmlspecialchars($currUser->getEmail())."\">".htmlspecialchars($currUser->getEmail())."</a><br />";
echo "</td>";
echo "<td>";
$groups = $currUser->getGroups();
if (count($groups) != 0) {
for ($j = 0; $j < count($groups); $j++) {
print $groups[$j]->getName();
print htmlspecialchars($groups[$j]->getName());
if ($j +1 < count($groups))
print ", ";
}
@ -68,7 +71,7 @@ class SeedDMS_View_SubstituteUser extends SeedDMS_Bootstrap_Style {
echo "</td>";
echo "<td>";
if($currUser->getID() != $user->getID()) {
echo "<a class=\"btn\" href=\"../op/op.SubstituteUser.php?userid=".$currUser->getID()."&formtoken=".createFormKey('substituteuser')."\"><i class=\"icon-exchange\"></i> ".getMLText('substitute_user')."</a> ";
echo "<a class=\"btn\" href=\"../op/op.SubstituteUser.php?userid=".((int) $currUser->getID())."&formtoken=".createFormKey('substituteuser')."\"><i class=\"icon-exchange\"></i> ".getMLText('substitute_user')."</a> ";
}
echo "</td>";
echo "</tr>";

View File

@ -121,12 +121,12 @@ class SeedDMS_View_Timeline extends SeedDMS_Bootstrap_Style {
);
}
}
header('Content-Type: application/json');
header('Content-Type: application/json'),
echo json_encode($jsondata);
} /* }}} */
function js() { /* {{{ */
header('Content-Type: application/json');
header('Content-Type: application/javascript');
?>
$(document).ready(function () {
$('#update').click(function(ev){

View File

@ -569,12 +569,28 @@ $(document).ready( function() {
</td>
<td>
<?php
$mandatoryworkflow = $user->getMandatoryWorkflow();
if($mandatoryworkflow) {
$mandatoryworkflows = $user->getMandatoryWorkflows();
if($mandatoryworkflows) {
if(count($mandatoryworkflows) == 1) {
?>
<?php echo $mandatoryworkflow->getName(); ?>
<input type="hidden" name="workflow" value="<?php echo $mandatoryworkflow->getID(); ?>">
<?php echo htmlspecialchars($mandatoryworkflows[0]->getName()); ?>
<input type="hidden" name="workflow" value="<?php echo $mandatoryworkflows[0]->getID(); ?>">
<?php
} else {
?>
<select class="_chzn-select-deselect span9" name="workflow" data-placeholder="<?php printMLText('select_workflow'); ?>">
<?php
$curworkflow = $latestContent->getWorkflow();
foreach ($mandatoryworkflows as $workflow) {
print "<option value=\"".$workflow->getID()."\"";
if($curworkflow && $curworkflow->getID() == $workflow->getID())
echo " selected=\"selected\"";
print ">". htmlspecialchars($workflow->getName())."</option>";
}
?>
</select>
<?php
}
} else {
?>
<select class="_chzn-select-deselect span9" name="workflow" data-placeholder="<?php printMLText('select_workflow'); ?>">
@ -583,8 +599,6 @@ $(document).ready( function() {
print "<option value=\"\">"."</option>";
foreach ($workflows as $workflow) {
print "<option value=\"".$workflow->getID()."\"";
if($mandatoryworkflow && $mandatoryworkflow->getID() == $workflow->getID())
echo " selected=\"selected\"";
print ">". htmlspecialchars($workflow->getName())."</option>";
}
?>

View File

@ -59,15 +59,15 @@ class SeedDMS_View_UserList extends SeedDMS_Bootstrap_Style {
print "<img width=\"50\" src=\"".$httproot . "out/out.UserImage.php?userid=".$currUser->getId()."\">";
echo "</td>";
echo "<td>";
echo $currUser->getFullName()." (".$currUser->getLogin().")<br />";
echo "<a href=\"mailto:".$currUser->getEmail()."\">".$currUser->getEmail()."</a><br />";
echo "<small>".$currUser->getComment()."</small>";
echo htmlspecialchars($currUser->getFullName())." (".htmlspecialchars($currUser->getLogin()).")<br />";
echo "<a href=\"mailto:".$currUser->getEmail()."\">".htmlspecialchars($currUser->getEmail())."</a><br />";
echo "<small>".htmlspecialchars($currUser->getComment())."</small>";
echo "</td>";
echo "<td>";
$groups = $currUser->getGroups();
if (count($groups) != 0) {
for ($j = 0; $j < count($groups); $j++) {
print $groups[$j]->getName();
print htmlspecialchars($groups[$j]->getName());
if ($j +1 < count($groups))
print ", ";
}

View File

@ -33,6 +33,7 @@ class SeedDMS_View_UsrMgr extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
$seluser = $this->params['seluser'];
$strictformcheck = $this->params['strictformcheck'];
?>
function checkForm()
{
@ -406,12 +407,15 @@ $(document).ready( function() {
<div class="cbSelectTitle"><?php printMLText("workflow");?>:</div>
</td>
<td>
<select name="workflow" data-placeholder="<?php printMLText('select_workflow'); ?>">
<select class="chzn-select" name="workflows[]" multiple="multiple" data-placeholder="<?php printMLText('select_workflow'); ?>">
<?php
print "<option value=\"\">"."</option>";
$mandatoryworkflows = $currUser ? $currUser->getMandatoryWorkflows() : array();
foreach ($workflows as $workflow) {
print "<option value=\"".$workflow->getID()."\"";
if($currUser && $currUser->getMandatoryWorkflow() && $currUser->getMandatoryWorkflow()->getID() == $workflow->getID())
$checked = false;
if($mandatoryworkflows) foreach($mandatoryworkflows as $mw) if($mw->getID() == $workflow->getID()) $checked = true;
if($checked)
echo " selected=\"selected\"";
print ">". htmlspecialchars($workflow->getName())."</option>";
}

View File

@ -151,7 +151,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
$document = $this->params['document'];
header('Content-Type: application/json');
header('Content-Type: application/javascript');
$this->printTimelineJs('out.ViewDocument.php?action=timelinedata&documentid='.$document->getID(), 300, '', date('Y-m-d'));
$this->printDocumentChooserJs("form1");
} /* }}} */
@ -876,6 +876,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
echo implode(", ", $names);
echo ") - ";
echo $wkflog->getDate();
echo "<br />";
}
echo "</td>";
}

View File

@ -78,7 +78,7 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
$expandFolderTree = $this->params['expandFolderTree'];
$enableDropUpload = $this->params['enableDropUpload'];
header('Content-Type: application/json');
header('Content-Type: application/javascript');
?>
function folderSelected(id, name) {
window.location = '../out/out.ViewFolder.php?folderid=' + id;
@ -86,7 +86,7 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
<?php
$this->printNewTreeNavigationJs($folder->getID(), M_READ, 0, '', $expandFolderTree == 2, $orderby);
if (0 && $enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) {
if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) {
echo "SeedDMSUpload.setUrl('../op/op.Ajax.php');";
echo "SeedDMSUpload.setAbortBtnLabel('".getMLText("cancel")."');";
echo "SeedDMSUpload.setEditBtnLabel('".getMLText("edit_document_props")."');";

View File

@ -130,6 +130,7 @@ class SeedDMS_View_WorkflowSummary extends SeedDMS_Bootstrap_Style {
print "<th>".getMLText("version")."</th>\n";
print "<th>".getMLText("owner")."</th>\n";
print "<th>".getMLText("workflow")."</th>\n";
print "<th>".getMLText("workflow_state")."</th>\n";
print "<th>".getMLText("last_update")."</th>\n";
print "<th>".getMLText("expires")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";

View File

@ -326,6 +326,7 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
$info["props"][] = $this->mkprop("getcontentlength", filesize($this->dms->contentDir.'/'.$fspath));
if($keywords = $obj->getKeywords())
$info["props"][] = $this->mkprop("SeedDMS:", "keywords", $keywords);
$info["props"][] = $this->mkprop("SeedDMS:", "id", $obj->getID());
$info["props"][] = $this->mkprop("SeedDMS:", "version", $content->getVersion());
$status = $content->getStatus();
$info["props"][] = $this->mkprop("SeedDMS:", "status", $status['status']);
@ -338,17 +339,20 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
$info["props"][] = $this->mkprop("SeedDMS:", "comment", $comment);
$info["props"][] = $this->mkprop("SeedDMS:", "owner", $obj->getOwner()->getLogin());
// get additional properties from database
/*
$query = "SELECT ns, name, value
FROM {$this->db_prefix}properties
WHERE path = '$path'";
$res = mysql_query($query);
while ($row = mysql_fetch_assoc($res)) {
$info["props"][] = $this->mkprop($row["ns"], $row["name"], $row["value"]);
$attributes = $obj->getAttributes();
if($attributes) {
foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition();
$valueset = $attrdef->getValueSetAsArray();
if($valueset && $attrdef->getMultipleValues()) {
$valuesetstr = $attrdef->getValueSet();
$delimiter = substr($valuesetstr, 0, 1);
$info["props"][] = $this->mkprop("SeedDMS:", str_replace(' ', '', $attrdef->getName()), $delimiter.implode($delimiter, $attribute->getValueAsArray()));
} else
$info["props"][] = $this->mkprop("SeedDMS:", str_replace(' ', '', $attrdef->getName()), $attribute->getValue());
}
}
mysql_free_result($res);
*/
return $info;
} /* }}} */
@ -898,16 +902,38 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
if ($prop["ns"] == "DAV:") {
$options["props"][$key]['status'] = "403 Forbidden";
} else {
$this->logger->log('PROPPATCH: set '.$prop["ns"].''.$prop["val"].' to '.$prop["val"], PEAR_LOG_INFO);
$this->logger->log('PROPPATCH: set '.$prop["ns"].''.$prop["val"].' to '.$prop["val"], PEAR_LOG_INFO);
if($prop["ns"] == "SeedDMS:") {
if (isset($prop["val"]))
$val = $prop["val"];
else
$val = '';
switch($prop["name"]) {
if(in_array($prop['name'], array('id', 'version', 'status', 'status-comment', 'status-date'))) {
$options["props"][$key]['status'] = "403 Forbidden";
} else {
if (isset($prop["val"]))
$val = $prop["val"];
else
$val = '';
switch($prop["name"]) {
case "comment":
$obj->setComment($val);
break;
default:
if($attrdef = $this->dms->getAttributeDefinitionByName($prop["name"])) {
$valueset = $attrdef->getValueSetAsArray();
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_string:
$obj->setAttributeValue($attrdef, $val);
break;
case SeedDMS_Core_AttributeDefinition::type_int:
$obj->setAttributeValue($attrdef, (int) $val);
break;
case SeedDMS_Core_AttributeDefinition::type_float:
$obj->setAttributeValue($attrdef, (float) $val);
break;
case SeedDMS_Core_AttributeDefinition::type_boolean:
$obj->setAttributeValue($attrdef, $val == 1 ? true : false);
break;
}
}
}
}
}
}