Merge branch 'seeddms-4.3.11'

This commit is contained in:
Uwe Steinmann 2014-11-13 09:24:17 +01:00
commit 572e742e07
40 changed files with 734 additions and 603 deletions

View File

@ -1,3 +1,14 @@
--------------------------------------------------------------------------------
Changes in version 4.3.11
--------------------------------------------------------------------------------
- translation updates
- password expiration can be set to 'never'
- fixed saving multi value attributes
- do not close browser window anymore when keywords are chosen (Bug #141)
- fix almost unrestricted fast upload (Bug #175)
- no more php warning on Workflow summary page (Bug #177)
- various bug fixes in saving and searching for multi value attributes
--------------------------------------------------------------------------------
Changes in version 4.3.10
--------------------------------------------------------------------------------

View File

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

View File

@ -91,8 +91,33 @@ class SeedDMS_Core_Attribute { /* {{{ */
function getID() { return $this->_id; }
/**
* Return attribute value as stored in database
*
* This function will return the value of multi value attributes
* including the separator char.
*
* @return string the attribute value as it is stored in the database.
*/
function getValue() { return $this->_value; }
/**
* Return attribute values as an array
*
* This function returns the attribute value as an array. Such an array
* has one element for non multi value attributes and n elements for
* multi value attributes.
*
* @return array the attribute values
*/
function getValueAsArray() { /* {{{ */
if($this->_attrdef->getMultipleValues()) {
return explode($this->_value[0], substr($this->_value, 1));
} else {
return array($this->_value);
}
} /* }}} */
/**
* Set a value of an attribute
* The attribute is deleted completely if the value is the empty string

View File

@ -243,7 +243,7 @@ class SeedDMS_Core_DMS {
$this->convertFileTypes = array();
$this->version = '@package_version@';
if($this->version[0] == '@')
$this->version = '4.3.10';
$this->version = '4.3.11';
} /* }}} */
function getDB() { /* {{{ */
@ -550,7 +550,9 @@ class SeedDMS_Core_DMS {
* @param modificationstartdate array search for documents modified after this date
* @param modificationenddate array search for documents modified before this date
* @param categories array list of categories the documents must have assigned
* @param attributes array list of attributes
* @param attributes array list of attributes. The key of this array is the
* attribute definition id. The value of the array is the value of the
* attribute. If the attribute may have multiple values it must be an array.
* @param mode int decide whether to search for documents/folders
* 0x1 = documents only
* 0x2 = folders only
@ -623,10 +625,13 @@ class SeedDMS_Core_DMS {
foreach($attributes as $attrdefid=>$attribute) {
if($attribute) {
$attrdef = $this->getAttributeDefinition($attrdefid);
if($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_folder) {
if($attrdef->getValueSet())
$searchAttributes[] = "`tblFolderAttributes`.`attrdef`=".$attrdefid." AND `tblFolderAttributes`.`value`='".$attribute."'";
else
if($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_folder || $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_all) {
if($valueset = $attrdef->getValueSet()) {
if($attrdef->getMultipleValues()) {
$searchAttributes[] = "`tblFolderAttributes`.`attrdef`=".$attrdefid." AND (`tblFolderAttributes`.`value` like '".$valueset[0].implode("%' OR `tblFolderAttributes`.`value` like '".$valueset[0], $attribute)."%')";
} else
$searchAttributes[] = "`tblFolderAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value`='".$attribute."'";
} else
$searchAttributes[] = "`tblFolderAttributes`.`attrdef`=".$attrdefid." AND `tblFolderAttributes`.`value` like '%".$attribute."%'";
}
}
@ -783,10 +788,13 @@ class SeedDMS_Core_DMS {
foreach($attributes as $attrdefid=>$attribute) {
if($attribute) {
$attrdef = $this->getAttributeDefinition($attrdefid);
if($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_document) {
if($attrdef->getValueSet())
$searchAttributes[] = "`tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value`='".$attribute."'";
else
if($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_document || $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_all) {
if($valueset = $attrdef->getValueSet()) {
if($attrdef->getMultipleValues()) {
$searchAttributes[] = "`tblDocumentAttributes`.`attrdef`=".$attrdefid." AND (`tblDocumentAttributes`.`value` like '".$valueset[0].implode("%' OR `tblDocumentAttributes`.`value` like '".$valueset[0], $attribute)."%')";
} else
$searchAttributes[] = "`tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value`='".$attribute."'";
} else
$searchAttributes[] = "`tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value` like '%".$attribute."%'";
} elseif($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_documentcontent) {
if($attrdef->getValueSet())

View File

@ -451,7 +451,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
if(trim($attribute))
if($attribute)
if(!$newFolder->setAttributeValue($this->_dms->getAttributeDefinition($attrdefid), $attribute)) {
$db->rollbackTransaction();
return false;
@ -750,7 +750,8 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
if($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
if(trim($attribute))
/* $attribute can be a string or an array */
if($attribute)
if(!$document->setAttributeValue($this->_dms->getAttributeDefinition($attrdefid), $attribute)) {
$document->remove();
$db->rollbackTransaction();

View File

@ -12,11 +12,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2014-10-22</date>
<time>14:13:32</time>
<date>2014-11-13</date>
<time>09:09:35</time>
<version>
<release>4.3.10</release>
<api>4.3.10</api>
<release>4.3.11</release>
<api>4.3.11</api>
</version>
<stability>
<release>stable</release>
@ -24,7 +24,8 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
new release
- fixed saving multivalue attributes
- add method SeedDMS_Core_Attribute::getValueAsArray()
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -700,5 +701,21 @@ no changes
- SeedDMS_Core_DMS::addUser() doesn't throw an error if sql_mode is set to STRICT_TRANS_TABLES and pwdexpiration is not set to a valid date.
</notes>
</release>
<release>
<date>2014-10-22</date>
<time>14:13:32</time>
<version>
<release>4.3.10</release>
<api>4.3.10</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
new release
</notes>
</release>
</changelog>
</package>

View File

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

View File

@ -116,7 +116,7 @@ function fileExistsInIncludePath($file) { /* {{{ */
* Load default settings + set
*/
define("SEEDDMS_INSTALL", "on");
define("SEEDDMS_VERSION", "4.3.10");
define("SEEDDMS_VERSION", "4.3.11");
require_once('../inc/inc.ClassSettings.php');

View File

@ -526,6 +526,7 @@ URL: [url]',
'my_documents' => 'مستنداتي',
'name' => 'اسم',
'needs_workflow_action' => 'هذا المستند يتطلب انتباهك . من فضلك تفقد زر مسار العمل',
'never' => '',
'new' => 'جديد',
'new_attrdef' => 'اضافة تعريف سمة',
'new_default_keywords' => 'اضافة كلمات بحث',

View File

@ -457,6 +457,7 @@ $text = array(
'my_documents' => 'Els meus documents',
'name' => 'Nom',
'needs_workflow_action' => '',
'never' => '',
'new' => 'Nou',
'new_attrdef' => '',
'new_default_keywords' => 'Afegir mots clau',

View File

@ -533,6 +533,7 @@ URL: [url]',
'my_documents' => 'Moje dokumenty',
'name' => 'Název',
'needs_workflow_action' => 'Tento dokument vyžaduje Vaši pozornost. Prosím zkontrolujte záložku pracovního postupu.',
'never' => '',
'new' => 'Nový',
'new_attrdef' => 'Přidat definici atributu',
'new_default_keywords' => 'Přidat klíčová slova',

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 (1910)
// Translators: Admin (1911)
$text = array(
'accept' => 'Übernehmen',
@ -533,6 +533,7 @@ URL: [url]',
'my_documents' => 'Meine Dokumente',
'name' => 'Name',
'needs_workflow_action' => 'Diese Dokument erfordert eine Aktion. Bitte schauen Sie auf den Workflow-Reiter.',
'never' => 'nie',
'new' => 'Neu',
'new_attrdef' => 'Neue Attributdefinition',
'new_default_keywords' => 'Neue Vorlage',

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 (1048), netixw (14)
// Translators: Admin (1049), netixw (14)
$text = array(
'accept' => 'Accept',
@ -533,6 +533,7 @@ URL: [url]',
'my_documents' => 'My Documents',
'name' => 'Name',
'needs_workflow_action' => 'This document requires your attention. Please check the workflow tab.',
'never' => 'never',
'new' => 'New',
'new_attrdef' => 'Add attribute defintion',
'new_default_keywords' => 'Add keywords',

View File

@ -533,6 +533,7 @@ URL: [url]',
'my_documents' => 'Mis documentos',
'name' => 'Nombre',
'needs_workflow_action' => 'Este documento requiere su atención. Por favor chequee la pestaña de flujo de trabajo.',
'never' => '',
'new' => 'Nuevo',
'new_attrdef' => 'Nueva definición de atributo',
'new_default_keywords' => 'Agregar palabras claves',

View File

@ -526,6 +526,7 @@ URL: [url]',
'my_documents' => 'Mes documents',
'name' => 'Nom',
'needs_workflow_action' => 'Ce document requiert votre attention. Consultez l\'onglet workflow.',
'never' => '',
'new' => 'Nouveau',
'new_attrdef' => 'Ajouter une définition d\'attribut',
'new_default_keywords' => 'Ajouter des mots-clés',

View File

@ -533,6 +533,7 @@ URL: [url]',
'my_documents' => 'Saját dokumentumok',
'name' => 'Név',
'needs_workflow_action' => 'Ez a dokumentum az Ön beavatkozására vár. Ellenőrizze a munkafolyamat fület.',
'never' => '',
'new' => 'Új',
'new_attrdef' => 'Jellemző meghatározás hozzáadása',
'new_default_keywords' => 'Kulcsszó hozzáadása',

View File

@ -457,6 +457,7 @@ $text = array(
'my_documents' => 'Documenti personali',
'name' => 'Nome',
'needs_workflow_action' => '',
'never' => '',
'new' => 'Nuovo',
'new_attrdef' => 'Nuovo attributo',
'new_default_keywords' => 'Aggiungi parole chiave',

View File

@ -526,6 +526,7 @@ URL: [url]',
'my_documents' => 'Mijn Documenten',
'name' => 'Naam',
'needs_workflow_action' => 'Dit document vereist uw aandacht. Bekijk deze onder het tabblad workflows.',
'never' => '',
'new' => 'Nieuw',
'new_attrdef' => 'Voeg kenmerk definitie toe',
'new_default_keywords' => 'Sleutelwoorden toevoegen',

View File

@ -526,6 +526,7 @@ URL: [url]',
'my_documents' => 'Moje dokumenty',
'name' => 'Nazwa',
'needs_workflow_action' => 'Dokument wymaga uwagi. Proszę sprawdzić kartę workflow.',
'never' => '',
'new' => 'Nowy',
'new_attrdef' => 'Dodaj definicję atrybutu',
'new_default_keywords' => 'Dodaj słowa kluczowe',

View File

@ -532,6 +532,7 @@ URL: [url]',
'my_documents' => 'Meus Documentos',
'name' => 'Nome',
'needs_workflow_action' => 'Este documento requer sua atenção. Por favor, verifique a guia de fluxo de trabalho.',
'never' => '',
'new' => 'Novo',
'new_attrdef' => 'Adicionar definição de atributo',
'new_default_keywords' => 'Adicionar palavras-chave',

View File

@ -526,6 +526,7 @@ URL: [url]',
'my_documents' => 'Мои документы',
'name' => 'Имя',
'needs_workflow_action' => 'Этот документ требует вашего внимания. См. вкладку «Процесс».',
'never' => '',
'new' => 'Новый',
'new_attrdef' => 'Добавить определение атрибута',
'new_default_keywords' => 'Добавить метки',

View File

@ -457,6 +457,7 @@ $text = array(
'my_documents' => 'Moje dokumenty',
'name' => 'Meno',
'needs_workflow_action' => '',
'never' => '',
'new' => 'Nove',
'new_attrdef' => '',
'new_default_keywords' => 'Pridať kľúčové slová',

View File

@ -526,6 +526,7 @@ URL: [url]',
'my_documents' => 'Mina dokument',
'name' => 'Namn',
'needs_workflow_action' => 'Detta dokument behöver din uppmärksamhet. Kolla arbetsflödet.',
'never' => '',
'new' => 'Ny',
'new_attrdef' => 'Lägg till attributdefinition',
'new_default_keywords' => 'Lägg till nyckelord',

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 (541), fengjohn (5)
// Translators: Admin (542), fengjohn (5)
$text = array(
'accept' => '接受',
@ -124,7 +124,7 @@ URL: [url]',
'backup_remove' => '删除备份',
'backup_tools' => '备份工具',
'between' => '时间段',
'browse' => '',
'browse' => '浏览',
'calendar' => '日历',
'calendar_week' => '',
'cancel' => '取消',
@ -461,6 +461,7 @@ URL: [url]',
'my_documents' => '我的文档',
'name' => '名称',
'needs_workflow_action' => '',
'never' => '',
'new' => 'New',
'new_attrdef' => '添加属性',
'new_default_keywords' => '添加关键字',

File diff suppressed because it is too large Load Diff

View File

@ -443,6 +443,20 @@ switch($command) {
echo json_encode(array('success'=>false, 'message'=>getMLText("invalid_folder_id")));
exit;
}
if ($folder->getAccessMode($user) < M_READWRITE) {
echo json_encode(array('success'=>false, 'message'=>getMLText("access_denied")));
exit;
}
if($settings->_quota > 0) {
$remain = checkQuota($user);
if ($remain < 0) {
echo json_encode(array('success'=>false, 'message'=>getMLText("quota_exceeded", array('bytes'=>SeedDMS_Core_File::format_filesize(abs($remain))))));
exit;
}
}
if (!is_uploaded_file($_FILES["userfile"]["tmp_name"]) || $_FILES['userfile']['error']!=0){
header('Content-Type', 'application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("uploading_failed")));

View File

@ -436,7 +436,7 @@ if(count($entries) == 1 && ($resArr['totalDocs'] + $resArr['totalFolders']) == 1
$view->setParam('status', isset($status) ? $status : array());
$view->setParam('categories', isset($categories) ? $categories : '');
$view->setParam('attributes', isset($attributes) ? $attributes : '');
$attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_document, SeedDMS_Core_AttributeDefinition::objtype_documentcontent, SeedDMS_Core_AttributeDefinition::objtype_folder/*, SeedDMS_Core_AttributeDefinition::objtype_all*/));
$attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_document, SeedDMS_Core_AttributeDefinition::objtype_documentcontent, SeedDMS_Core_AttributeDefinition::objtype_folder, SeedDMS_Core_AttributeDefinition::objtype_all));
$view->setParam('attrdefs', $attrdefs);
$allCats = $dms->getDocumentCategories();
$view->setParam('allcategories', $allCats);

View File

@ -23,6 +23,7 @@ include("../inc/inc.Utils.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
if (!$user->isAdmin()) {
@ -56,9 +57,13 @@ if (!is_object($workflow)) {
$folder = $document->getFolder();
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($document, $user, $settings);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
exit;
}

View File

@ -23,6 +23,7 @@ include("../inc/inc.Utils.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) {
@ -61,9 +62,13 @@ if (!is_object($subworkflow)) {
$folder = $document->getFolder();
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($document, $user, $settings);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version, 'subworkflow'=>$subworkflow));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
exit;
}

View File

@ -23,6 +23,7 @@ include("../inc/inc.Utils.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) {
@ -57,9 +58,13 @@ if (!is_object($transition)) {
$folder = $document->getFolder();
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($document, $user, $settings);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version, 'transition'=>$transition));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
exit;
}

View File

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

View File

@ -76,7 +76,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
</style>
<?php
}
echo "<title>".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS").(strlen($title)>0 ? ": " : "").htmlspecialchars($title)."</title>\n";
$sitename = trim(strip_tags($this->params['sitename']));
echo "<title>".(strlen($sitename)>0 ? $sitename : "SeedDMS").(strlen($title)>0 ? ": " : "").htmlspecialchars($title)."</title>\n";
echo "</head>\n";
echo "<body".(strlen($bodyClass)>0 ? " class=\"".$bodyClass."\"" : "").">\n";
if($this->params['session'] && $flashmsg = $this->params['session']->getSplashMsg()) {

View File

@ -120,7 +120,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style {
?>
<tr>
<td><?php echo htmlspecialchars($attrdef->getName()); ?>:</td>
<td><?php echo htmlspecialchars($attribute->getValue()); ?></td>
<td><?php echo htmlspecialchars(implode(', ', $attribute->getValueAsArray())); ?></td>
</tr>
<?php
}

View File

@ -36,7 +36,7 @@ class SeedDMS_View_ForcePasswordChange extends SeedDMS_Bootstrap_Style {
$user = $this->params['user'];
$passwordstrength = $this->params['passwordstrength'];
$this->htmlStartPage(getMLText("sign_in"), "login");
$this->htmlStartPage(getMLText("sign_in"), "forcepasswordchange");
$this->globalBanner();
$this->contentStart();
echo "<h3>".getMLText('password_expiration')."</h3>";

View File

@ -63,13 +63,13 @@ function insertKeywords(keywords) {
}
function cancel() {
window.close();
// window.close();
return true;
}
function acceptKeywords() {
targetObj.value = myTA.value;
window.close();
// window.close();
return true;
}

View File

@ -34,7 +34,7 @@ class SeedDMS_View_PasswordForgotten extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$referrer = $this->params['referrer'];
$this->htmlStartPage(getMLText("password_forgotten"), "login");
$this->htmlStartPage(getMLText("password_forgotten"), "passwordforgotten");
$this->globalBanner();
$this->contentStart();
$this->pageNavigation(getMLText("password_forgotten"));

View File

@ -161,6 +161,24 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
</span>
</td>
</tr>
<?php
if($attrdefs) {
foreach($attrdefs as $attrdef) {
$attricon = '';
if($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_all) {
?>
<tr>
<td><?php echo htmlspecialchars($attrdef->getName()); ?>:</td>
<td><?php $this->printAttributeEditField($attrdef, isset($attributes[$attrdef->getID()]) ? $attributes[$attrdef->getID()] : '') ?></td>
</tr>
<?php
}
}
}
?>
<tr>
<td></td><td><button type="submit" class="btn"><i class="icon-search"></i> <?php printMLText("search"); ?></button></td>
</tr>
@ -457,7 +475,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
if($lcattributes) {
foreach($lcattributes as $lcattribute) {
$attrdef = $lcattribute->getAttributeDefinition();
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars($lcattribute->getValue())."</li>\n";
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars(implode(', ', $lcattribute->getValueAsArray()))."</li>\n";
}
}
print "</ul>\n";
@ -466,7 +484,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
if($docttributes) {
foreach($docttributes as $docttribute) {
$attrdef = $docttribute->getAttributeDefinition();
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars($docttribute->getValue())."</li>\n";
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars(implode(', ', $docttribute->getValueAsArray()))."</li>\n";
}
}
print "</ul>\n";
@ -531,7 +549,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
if($folderattributes) {
foreach($folderattributes as $folderattribute) {
$attrdef = $folderattribute->getAttributeDefinition();
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars($folderattribute->getValue())."</li>\n";
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars(implode(', ', $folderattribute->getValueAsArray()))."</li>\n";
}
}
print "</td>";

View File

@ -157,7 +157,7 @@ function showUser(selectObj) {
?>
<tr>
<td><?php printMLText("password_expiration");?>:</td>
<td><select name="pwdexpiration"><option value="<?php echo date('Y-m-d H:i:s'); ?>"><?php printMLText("now");?></option><option value="<?php echo date('Y-m-d H:i:s', time()+$passwordexpiration*86400); ?>"><?php printMLText("according_settings");?></option></select></td>
<td><select name="pwdexpiration"><option value="<?php echo date('Y-m-d H:i:s'); ?>"><?php printMLText("now");?></option><option value="<?php echo date('Y-m-d H:i:s', time()+$passwordexpiration*86400); ?>"><?php printMLText("according_settings");?></option><option value="0000-00-00"><?php printMLText("never");?></option></select></td>
</tr>
<?php
}
@ -378,7 +378,7 @@ function showUser(selectObj) {
?>
<tr>
<td><?php printMLText("password_expiration");?>:</td>
<td><select name="pwdexpiration"><option value=""><?php printMLText("keep");?></option><option value="<?php echo date('Y-m-d H:i:s'); ?>"><?php printMLText("now");?></option><option value="<?php echo date('Y-m-d H:i:s', time()+$passwordexpiration*86400); ?>"><?php printMLText("according_settings");?></option></select> <?php echo $currUser->getPwdExpiration(); ?></td>
<td><select name="pwdexpiration"><option value=""><?php printMLText("keep");?></option><option value="<?php echo date('Y-m-d H:i:s'); ?>"><?php printMLText("now");?></option><option value="<?php echo date('Y-m-d H:i:s', time()+$passwordexpiration*86400); ?>"><?php printMLText("according_settings");?></option><option value="0000-00-00"><?php printMLText("never");?></option></select> <?php echo $currUser->getPwdExpiration(); ?></td>
</tr>
<?php
}

View File

@ -241,7 +241,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
?>
<tr>
<td><?php echo htmlspecialchars($attrdef->getName()); ?>:</td>
<td><?php echo htmlspecialchars($attribute->getValue()); ?></td>
<td><?php echo htmlspecialchars(implode(', ', $attribute->getValueAsArray())); ?></td>
</tr>
<?php
}
@ -345,7 +345,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
if($attributes) {
foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition();
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars($attribute->getValue())."</li>\n";
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars(implode(', ', $attribute->getValueAsArray()))."</li>\n";
}
}
print "</ul>\n";
@ -709,7 +709,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
if(SeedDMS_Core_DMS::checkIfEqual($workflow->getInitState(), $latestContent->getWorkflowState())) {
print "<form action=\"../out/out.RemoveWorkflowFromDocument.php\" method=\"post\">".createHiddenFieldWithKey('removeworkflowfromdocument')."<input type=\"hidden\" name=\"documentid\" value=\"".$documentid."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn\"><i class=\"icon-remove\"></i> ".getMLText('rm_workflow')."</button></form>";
} else {
print "<form action=\"../out/out.RewindWorkflow.php\" method=\"post\">".createHiddenFieldWithKey('rewindworkflow')."<input type=\"hidden\" name=\"documentid\" value=\"".$documentid."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn\"><i class=\"icon-refresh\"></i>".getMLText('rewind_workflow')."</button></form>";
print "<form action=\"../out/out.RewindWorkflow.php\" method=\"post\">".createHiddenFieldWithKey('rewindworkflow')."<input type=\"hidden\" name=\"documentid\" value=\"".$documentid."\" /><input type=\"hidden\" name=\"version\" value=\"".$latestContent->getVersion()."\" /><button type=\"submit\" class=\"btn\"><i class=\"icon-refresh\"></i> ".getMLText('rewind_workflow')."</button></form>";
}
}
@ -933,7 +933,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
if($attributes) {
foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition();
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars($attribute->getValue())."</li>\n";
print "<li>".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars(implode(', ', $attribute->getValueAsArray()))."</li>\n";
}
}
print "</ul>\n";

View File

@ -131,7 +131,7 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
echo "<div class=\"span".$RightColumnSpan."\">\n";
if ($enableDropUpload) {
if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) {
echo "<div class=\"row-fluid\">";
echo "<div class=\"span8\">";
}
@ -183,14 +183,14 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
?>
<tr>
<td><?php echo htmlspecialchars($attrdef->getName()); ?>:</td>
<td><?php echo htmlspecialchars($attribute->getValue()); ?></td>
<td><?php echo htmlspecialchars(implode(', ', $attribute->getValueAsArray())); ?></td>
</tr>
<?php
}
}
echo "</table>\n";
$this->contentContainerEnd();
if ($enableDropUpload) {
if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) {
echo "</div>";
echo "<div class=\"span4\">";
$this->contentHeading(getMLText("dropupload"), true);