Merge branch 'seeddms-4.3.13' into develop

Conflicts:
	Makefile
This commit is contained in:
Uwe Steinmann 2014-11-24 13:13:38 +01:00
commit 406b4a5a00
23 changed files with 114 additions and 21 deletions

View File

@ -1,3 +1,11 @@
--------------------------------------------------------------------------------
Changes in version 4.3.12
--------------------------------------------------------------------------------
- more error fixes when searching for attributes
- fix saving multi value attributes without a maximum number of values
- webdav sets propper modification time
- add button to select all log files for removal
--------------------------------------------------------------------------------
Changes in version 4.3.12
--------------------------------------------------------------------------------

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.11';
$this->version = '4.3.13';
} /* }}} */
/**
@ -642,7 +642,7 @@ class SeedDMS_Core_DMS {
if($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_folder || $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_all) {
if($valueset = $attrdef->getValueSet()) {
if($attrdef->getMultipleValues()) {
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblFolderAttributes` WHERE `tblFolderAttributes`.`attrdef`=".$attrdefid." AND (`tblFolderAttributes`.`value` like '".$valueset[0].implode("%' OR `tblFolderAttributes`.`value` like '".$valueset[0], $attribute)."%' AND `tblFolderAttributes`.`folder`=`tblFolders`.`id`)";
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblFolderAttributes` WHERE `tblFolderAttributes`.`attrdef`=".$attrdefid." AND (`tblFolderAttributes`.`value` like '%".$valueset[0].implode("%' OR `tblFolderAttributes`.`value` like '%".$valueset[0], $attribute)."%') AND `tblFolderAttributes`.`folder`=`tblFolders`.`id`)";
} else
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblFolderAttributes` WHERE `tblFolderAttributes`.`attrdef`=".$attrdefid." AND `tblFolderAttributes`.`value`='".$attribute."' AND `tblFolderAttributes`.`folder`=`tblFolders`.`id`)";
} else
@ -805,16 +805,20 @@ class SeedDMS_Core_DMS {
if($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_document || $attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_all) {
if($valueset = $attrdef->getValueSet()) {
if($attrdef->getMultipleValues()) {
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND (`tblDocumentAttributes`.`value` like '".$valueset[0].implode("%' OR `tblDocumentAttributes`.`value` like '".$valueset[0], $attribute)."%') AND `tblDocumentAttributes`.document = `tblDocuments`.id)";
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND (`tblDocumentAttributes`.`value` like '%".$valueset[0].implode("%' OR `tblDocumentAttributes`.`value` like '%".$valueset[0], $attribute)."%') AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`)";
} else
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value`='".$attribute."' AND `tblDocumentAttributes`.document = `tblDocuments`.id)";
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value`='".$attribute."' AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`)";
} else
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value` like '%".$attribute."%') AND `tblDocumentAttributes`.document = `tblDocuments`.id";
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentAttributes`.`value` like '%".$attribute."%') AND `tblDocumentAttributes`.`document` = `tblDocuments`.`id`";
} elseif($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_documentcontent) {
if($attrdef->getValueSet())
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value`='".$attribute."' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id";
else
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value` like '%".$attribute."%' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id";
if($attrdef->getValueSet()) {
if($attrdef->getMultipleValues()) {
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND (`tblDocumentContentAttributes`.`value` like '%".$valueset[0].implode("%' OR `tblDocumentContentAttributes`.`value` like '%".$valueset[0], $attribute)."%') AND `tblDocumentContentAttributes`.`document` = `tblDocumentContent`.`id`)";
} else {
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value`='".$attribute."' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id";
}
} else
$searchAttributes[] = "EXISTS (SELECT NULL FROM `tblDocumentContentAttributes` WHERE `tblDocumentContentAttributes`.`attrdef`=".$attrdefid." AND `tblDocumentContentAttributes`.`value` like '%".$attribute."%' AND `tblDocumentContentAttributes`.content = `tblDocumentContent`.id";
}
}
}

View File

@ -12,11 +12,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2014-11-17</date>
<time>09:09:35</time>
<date>2014-11-21</date>
<time>11:56:35</time>
<version>
<release>4.3.12</release>
<api>4.3.12</api>
<release>4.3.13</release>
<api>4.3.13</api>
</version>
<stability>
<release>stable</release>
@ -24,7 +24,8 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- fix searching folders with multivalue attributes
- fix searching for attributes
- add some more documentation
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -733,5 +734,21 @@ new release
- add method SeedDMS_Core_Attribute::getValueAsArray()
</notes>
</release>
<release>
<date>2014-11-17</date>
<time>09:09:35</time>
<version>
<release>4.3.12</release>
<api>4.3.12</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- fix searching folders with multivalue attributes
</notes>
</release>
</changelog>
</package>

View File

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

View File

@ -124,10 +124,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - تم تغيير سمة',
'attribute_count' => 'ﻉﺩﺩ ﻡﺭﺎﺗ ﺍﻸﺴﺘﺧﺩﺎﻣ',
'attribute_value' => 'ﻖﻴﻣﺓ ﺎﻠﺴﻣﺓ',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => '',
'at_least_n_users_of_group' => '',
'august' => 'أغسطس',
'authentication' => '',
'author' => '',
'automatic_status_update' => 'تغير الحالة تلقائيا',
'back' => 'العودة للخلف',
'backup_list' => 'قائمة نسخ احتياطي حالية',

View File

@ -109,10 +109,13 @@ $text = array(
'attribute_changed_email_subject' => '',
'attribute_count' => '',
'attribute_value' => '',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => '',
'at_least_n_users_of_group' => '',
'august' => 'Agost',
'authentication' => '',
'author' => '',
'automatic_status_update' => 'Canvi automátic d\'estat',
'back' => 'Endarrere',
'backup_list' => 'Llista de còpies de seguretat existents',

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 (616), kreml (442)
// Translators: Admin (616), kreml (445)
$text = array(
'accept' => 'Přijmout',
@ -131,10 +131,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Atributy změněny',
'attribute_count' => 'Počet použití',
'attribute_value' => 'Hodnota atributu',
'attr_max_values' => 'Maximální počet pažadovaných hodnot pro atribut [attrname] je překročen.',
'attr_min_values' => 'Není dosaženo minimálního počtu požadovaných hodnot pro atribut [attrname].',
'attr_no_regex_match' => 'Hodnota atributu nesouhlasí s regulárním výrazem',
'at_least_n_users_of_group' => 'Alespoň [number_of_users] uživatelů z [group]',
'august' => 'Srpen',
'authentication' => 'Autentizace',
'author' => 'Autor',
'automatic_status_update' => 'Automatická změna stavu',
'back' => 'Přejít zpět',
'backup_list' => 'Existující záložní seznam',

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 (1911)
// Translators: Admin (1914)
$text = array(
'accept' => 'Übernehmen',
@ -131,10 +131,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Attribut geändert',
'attribute_count' => 'Anzahl Verwendungen',
'attribute_value' => 'Attributwert',
'attr_max_values' => 'Die maximale Anzahl der erlaubten Werte für das Attribut [attrname] ist überschritten.',
'attr_min_values' => 'Die minimal Anzahl von Werte für das Attribut [attrname] ist nicht erreicht.',
'attr_no_regex_match' => 'The attribute value does not match the regular expression',
'at_least_n_users_of_group' => 'Mindestens [number_of_users] Benutzer der Gruppe [group]',
'august' => 'August',
'authentication' => 'Authentifizierung',
'author' => 'Autor',
'automatic_status_update' => 'Automatischer Statuswechsel',
'back' => 'Zurück',
'backup_list' => 'Liste vorhandener Backups',

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 (1049), netixw (14)
// Translators: Admin (1052), netixw (14)
$text = array(
'accept' => 'Accept',
@ -131,10 +131,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Attribute changed',
'attribute_count' => 'Number of uses',
'attribute_value' => 'Value of attribute',
'attr_max_values' => 'The maximum number of required values for attributes [attrname] is exceeded.',
'attr_min_values' => 'The minimum number of required values for attributes [attrname] is not reached.',
'attr_no_regex_match' => 'The attribute value does not match the regular expression',
'at_least_n_users_of_group' => 'At least [number_of_users] users of [group]',
'august' => 'August',
'authentication' => 'Authentication',
'author' => 'Author',
'automatic_status_update' => 'Automatic status change',
'back' => 'Go back',
'backup_list' => 'Existings backup list',

View File

@ -131,10 +131,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Atributo modificado',
'attribute_count' => 'Cantidad de usos',
'attribute_value' => 'Valor del atributo',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => 'El valor del atributo no concuerda con la expresión regular',
'at_least_n_users_of_group' => 'Al menos [number_of_users] usuarios de [group]',
'august' => 'Agosto',
'authentication' => 'Autenticación',
'author' => '',
'automatic_status_update' => 'Cambio automático de estado',
'back' => 'Atrás',
'backup_list' => 'Lista de copias de seguridad existentes',

View File

@ -124,10 +124,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Attribut changé',
'attribute_count' => 'Nombre d\'utilisations',
'attribute_value' => 'Valeur de l\'attribut',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => 'La valeur de l\'attribut ne correspond pas à l\'expression régulière.',
'at_least_n_users_of_group' => '',
'august' => 'Août',
'authentication' => 'Authentification',
'author' => '',
'automatic_status_update' => 'Changement de statut automatique',
'back' => 'Retour',
'backup_list' => 'Liste de sauvegardes existantes',

View File

@ -131,10 +131,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Jellemző módosult',
'attribute_count' => 'Felhasználók száma',
'attribute_value' => 'Tulajdonság értéke',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => 'A jellemző értéke nem felel meg a szabályos kifejezésnek',
'at_least_n_users_of_group' => 'Legalább [number_of_users] felhasználó a [group] csoportban',
'august' => 'Augusztus',
'authentication' => 'Hitelesítés',
'author' => '',
'automatic_status_update' => 'Automatikus állapot változás',
'back' => 'Vissza',
'backup_list' => 'Meglévő mentések listája',

View File

@ -109,10 +109,13 @@ $text = array(
'attribute_changed_email_subject' => '',
'attribute_count' => 'Numero di utenti',
'attribute_value' => 'Valore dell\'attributo',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => '',
'at_least_n_users_of_group' => '',
'august' => 'Agosto',
'authentication' => '',
'author' => '',
'automatic_status_update' => 'Modifica automatica dello stato',
'back' => 'Ritorna',
'backup_list' => 'Lista dei backup presenti',

View File

@ -124,10 +124,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Attribuut gewijzigd',
'attribute_count' => 'Aantal maal gebruikt',
'attribute_value' => 'Waarde van het attribuut',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => 'De waarde van het attribuut komt niet overeen met de veelgebruikte uitdrukking (regular expression)',
'at_least_n_users_of_group' => 'Minimaal [number_of_users] gebruikers van [group]',
'august' => 'augustus',
'authentication' => '',
'author' => '',
'automatic_status_update' => 'Automatische Status wijziging',
'back' => 'Terug',
'backup_list' => 'Bestaande backup lijst',

View File

@ -124,10 +124,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Zmiana atrybutu',
'attribute_count' => 'liczba użyć',
'attribute_value' => 'wartość atrybutu',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => 'Wartość atrybutu nie pasuje do wyrażenia regularnego',
'at_least_n_users_of_group' => 'Przynajmniej [number_of_users] użytkowników grupy [group]',
'august' => 'Sierpień',
'authentication' => '',
'author' => '',
'automatic_status_update' => 'Automatyczna zmiana statusu',
'back' => 'Powrót',
'backup_list' => 'Lista istniejących kopii zapasowych',

View File

@ -131,10 +131,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Atributo modificado',
'attribute_count' => 'Número de utilizações',
'attribute_value' => 'Valor do atributo',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => 'O valor do atributo não corresponde à expressão regular',
'at_least_n_users_of_group' => 'Pelo menos [nuber_of_users] usuários de [group]',
'august' => 'August',
'authentication' => 'Autenticação',
'author' => '',
'automatic_status_update' => 'Mudança de status automático',
'back' => 'Voltar',
'backup_list' => 'Existings backup list',

View File

@ -124,10 +124,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: изменён атрибут «[name]»',
'attribute_count' => 'Использован раз',
'attribute_value' => 'Значение атрибута',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => 'Значение атрибута не соответствует регулярному выражению',
'at_least_n_users_of_group' => '[number_of_users] польз. группы [group]',
'august' => 'Август',
'authentication' => '',
'author' => '',
'automatic_status_update' => 'Автоматическое изменение статуса',
'back' => 'Назад',
'backup_list' => 'Список резервных копий',

View File

@ -109,10 +109,13 @@ $text = array(
'attribute_changed_email_subject' => '',
'attribute_count' => '',
'attribute_value' => '',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => '',
'at_least_n_users_of_group' => '',
'august' => 'August',
'authentication' => '',
'author' => '',
'automatic_status_update' => 'Automaticka zmena stavu',
'back' => 'Prejsť späť',
'backup_list' => 'Zoznam záloh',

View File

@ -124,10 +124,13 @@ URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - Ändrad attribut',
'attribute_count' => 'Antal användningar',
'attribute_value' => 'Attributvärde',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => 'Värdet av attributet stämmer inte överens med regulära uttrycket',
'at_least_n_users_of_group' => 'Åtminstone [number_of_users] användare av [group]',
'august' => 'augusti',
'authentication' => '',
'author' => '',
'automatic_status_update' => 'Automatisk ändring av status',
'back' => 'Tillbaka',
'backup_list' => 'Befintliga backup-filer',

View File

@ -113,10 +113,13 @@ URL: [url]',
'attribute_changed_email_subject' => '',
'attribute_count' => '使用次数',
'attribute_value' => '属性值',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => '',
'at_least_n_users_of_group' => '',
'august' => '八 月',
'authentication' => '',
'author' => '',
'automatic_status_update' => '自动状态变化',
'back' => '返回',
'backup_list' => '备份列表',

View File

@ -113,10 +113,13 @@ URL: [url]',
'attribute_changed_email_subject' => '',
'attribute_count' => '使用次數',
'attribute_value' => '屬性值',
'attr_max_values' => '',
'attr_min_values' => '',
'attr_no_regex_match' => '',
'at_least_n_users_of_group' => '',
'august' => '八 月',
'authentication' => '',
'author' => '',
'automatic_status_update' => '自動狀態變化',
'back' => '返回',
'backup_list' => '備份列表',

View File

@ -67,6 +67,18 @@ class SeedDMS_View_LogManagement extends SeedDMS_Bootstrap_Style {
if ($print_header) printMLText("empty_notify_list");
else print "<tr><td><i class=\"icon-arrow-up\"></i></td><td colspan=\"2\"><button type=\"submit\" class=\"btn\"><i class=\"icon-remove\"></i> ".getMLText('remove_marked_files')."</button></td></tr></table></form>\n";
echo "<script>\n";
?>
$(document).ready( function() {
$('i.icon-arrow-up').on('click', function(e) {
//var checkBoxes = $("input[type=checkbox]");
//checkBoxes.prop("checked", !checkBoxes.prop("checked"));
$('input[type=checkbox]').prop('checked', true);
});
});
<?php
echo "</script>\n";
} /* }}} */
function show() { /* {{{ */

View File

@ -276,12 +276,11 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
$info = array();
$info["props"] = array();
// modification time
$info["props"][] = $this->mkprop("getlastmodified", time());
// type and size (caller already made sure that path exists)
if (get_class($obj) == 'SeedDMS_Core_Folder') {
// modification time
/* folders do not have a modification time */
$info["props"][] = $this->mkprop("getlastmodified", time());
$info["props"][] = $this->mkprop("creationdate", time());
// directory (WebDAV collection)
@ -301,6 +300,8 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
$info["props"][] = $this->mkprop("resourcetype", "collection");
$info["props"][] = $this->mkprop("getcontenttype", "httpd/unix-directory");
} else {
// modification time
$info["props"][] = $this->mkprop("getlastmodified",$obj->getLatestContent()->getDate());
$info["props"][] = $this->mkprop("creationdate", $obj->getDate());
// plain file (WebDAV resource)