Merge branch 'seeddms-4.3.x' into seeddms-5.0.x

This commit is contained in:
Uwe Steinmann 2016-02-04 19:13:06 +01:00
commit b04571da11
31 changed files with 394 additions and 360 deletions

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

@ -103,6 +103,7 @@ class UI extends UI_Default {
$view->setParam('workflowmode', $settings->_workflowMode);
$view->setParam('partitionsize', $settings->_partitionSize);
$view->setParam('showmissingtranslations', $settings->_showMissingTranslations);
$view->setParam('defaultsearchmethod', $settings->_defaultSearchMethod);
return $view;
}
return null;

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' => '',

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' => '',

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' => '',

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',

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 (2162), 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',

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 (1297), 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',

View File

@ -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',

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',

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',

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',

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',
@ -1286,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' => '속성 정의명이 없습',

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',

View File

@ -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' => '',

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',

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',

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' => '',

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' => '',

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',

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',

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' => 'Відсутня назва для визначення атрибуту',

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' => '',

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' => '',

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) {
@ -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

@ -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

@ -61,7 +61,7 @@ if (isset($_GET["navBar"])) {
*/
}
if((isset($_GET["fullsearch"]) && $_GET["fullsearch"] || $settings->_defaultSearchMethod == 'fulltext') && $settings->_enableFullSearch) {
if(isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSearch) {
// Search in Fulltext {{{
if (isset($_GET["query"]) && is_string($_GET["query"])) {
$query = $_GET["query"];
@ -409,8 +409,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"] || $settings->_defaultSearchMethod == 'fulltext') && $settings->_enableFullSearch) ? 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

@ -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

@ -319,6 +319,8 @@ $(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['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>";
// }
@ -1797,7 +1799,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

@ -904,48 +904,34 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
} else {
$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"]) {
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:
if($valueset) {
if(in_array($val, $valueset)) {
$obj->setAttributeValue($attrdef, $val);
}
} else {
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:
if($valueset) {
if(in_array($val, $valueset)) {
$obj->setAttributeValue($attrdef, (int) $val);
}
} else {
break;
case SeedDMS_Core_AttributeDefinition::type_int:
$obj->setAttributeValue($attrdef, (int) $val);
}
break;
case SeedDMS_Core_AttributeDefinition::type_float:
if($valueset) {
if(in_array($val, $valueset)) {
$obj->setAttributeValue($attrdef, (float) $val);
}
} else {
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;
}
break;
case SeedDMS_Core_AttributeDefinition::type_boolean:
$obj->setAttributeValue($attrdef, $val == 1 ? true : false);
break;
}
}
}