diff --git a/CHANGELOG b/CHANGELOG index b2f76d8e0..9c72adc43 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -93,6 +93,20 @@ Changes in version 4.3.32 -------------------------------------------------------------------------------- - fix saving new mimetype for fulltext search, available languages +- put access rights of folder into popup box if more than 3 exists +- define apache_request_headers() if it does not exists, makes webdav + work in fast cgi mode or on webservers other than apache +- clean up of distribution created by makefile +- order groups in select boxes by name +- javascript added by addToFooterJS() will be written to a temp. file + which can then be read without violating the CSP +- clearing cache can just remove temp. js files or preview images +- new mimetype of preview command may contain a '.' now +- fix incorrect calls of $app->response()->header() in restapi.php +- set filetype propperly after uploadind a new document with the restapi +- add new method getDocumentPreview() to restapi +- replace lots of tables in forms by bootstraps control-group +- add remove button to folder selector -------------------------------------------------------------------------------- Changes in version 4.3.31 diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index b7fd88c0d..936c2e4b9 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -2517,16 +2517,16 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ if ($defAccess < M_READ) { if (strlen($groupIDs)>0) { $queryStr = "SELECT `tblGroups`.* FROM `tblGroups` ". - "WHERE `tblGroups`.`id` IN (". $groupIDs .")"; + "WHERE `tblGroups`.`id` IN (". $groupIDs .") ORDER BY `name`"; } } else { if (strlen($groupIDs)>0) { $queryStr = "SELECT `tblGroups`.* FROM `tblGroups` ". - "WHERE `tblGroups`.`id` NOT IN (". $groupIDs .")"; + "WHERE `tblGroups`.`id` NOT IN (". $groupIDs .") ORDER BY `name`"; } else { - $queryStr = "SELECT `tblGroups`.* FROM `tblGroups`"; + $queryStr = "SELECT `tblGroups`.* FROM `tblGroups` ORDER BY `name`"; } } if (strlen($queryStr)>0) { diff --git a/SeedDMS_Core/Core/inc.ClassFolder.php b/SeedDMS_Core/Core/inc.ClassFolder.php index a60293017..f032858e5 100644 --- a/SeedDMS_Core/Core/inc.ClassFolder.php +++ b/SeedDMS_Core/Core/inc.ClassFolder.php @@ -1596,16 +1596,16 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { if ($defAccess < M_READ) { if (strlen($groupIDs)>0) { $queryStr = "SELECT `tblGroups`.* FROM `tblGroups` ". - "WHERE `tblGroups`.`id` IN (". $groupIDs .")"; + "WHERE `tblGroups`.`id` IN (". $groupIDs .") ORDER BY `name`"; } } else { if (strlen($groupIDs)>0) { $queryStr = "SELECT `tblGroups`.* FROM `tblGroups` ". - "WHERE `tblGroups`.`id` NOT IN (". $groupIDs .")"; + "WHERE `tblGroups`.`id` NOT IN (". $groupIDs .") ORDER BY `name`"; } else { - $queryStr = "SELECT `tblGroups`.* FROM `tblGroups`"; + $queryStr = "SELECT `tblGroups`.* FROM `tblGroups` ORDER BY `name`"; } } if (strlen($queryStr)>0) { diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 3a161d7d3..95a143ef1 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,7 +24,7 @@ GPL License -- all changes from 5.0.7 merged +- all changes from 5.0.8 merged @@ -1132,6 +1132,21 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated - add check for cycles in workflow SeedDMS_Core_Workflow::checkForCycles() + + 2017-01-12 + + + 4.3.32 + 4.3.32 + + + stable + stable + + GPL License + + + 2016-01-22 @@ -1276,23 +1291,6 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated GPL License - all changes from 4.3.30 merged -- better attribute value checking - - - - 2016-10-07 - - - 5.0.7 - 5.0.7 - - - stable - stable - - GPL License - -- all changes from 4.3.30 merged - better attribute value checking @@ -1344,6 +1342,9 @@ SeedDMS_Core_DMS::getNotificationsByUser() are deprecated GPL License - all changes till 5.0.6 merged +======= + - order groups by name returned by getReadAccessList() +>>>>>>> seeddms-5.0.x diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 4497e8a63..92aebeac8 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -295,6 +295,7 @@ URL: [url]', 'disclaimer' => 'هذه المنطقة محظورة. الدخول فقط مسموح للموظفين المعتمدين. اي اختراق سيتم التعامل معه وفقا للقوانين المحلية والدولية.', 'discspace' => '', 'document' => 'المستند', +'documentcontent' => '', 'documents' => 'المستندات', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'مستندات رهن المعالجة', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index eb8e24bfe..d0acad6fd 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -280,6 +280,7 @@ $text = array( 'disclaimer' => 'Работим аккуратно и задълбочено. От това зависи бъдeщето на нашата страна и благополучието на народа.nПетилетката за три години!nДа не оставим неодрусана слива в наше село!', 'discspace' => '', 'document' => 'Документ', +'documentcontent' => '', 'documents' => 'Документи', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Документи в процес на работа', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 7ddf9848d..3007016c3 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -285,6 +285,7 @@ URL: [url]', 'disclaimer' => 'Aquesta és una àrea restringida. Només es permet l\'accés a usuaris autoritzats. Qualsevol intrusió es perseguirà d\'acord amb les lleis internacionals.', 'discspace' => '', 'document' => 'Document', +'documentcontent' => '', 'documents' => 'Documents', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Documents en procés', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 6abdf0f06..bc5be4f32 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -302,6 +302,7 @@ URL: [url]', 'disclaimer' => 'Toto je neveřejná oblast. Přístup povolen pouze oprávněným uživatelům. Jakékoliv narušení bude stíháno podle platných právních norem.', 'discspace' => 'Místo na disku', 'document' => 'Dokument', +'documentcontent' => '', 'documents' => 'Dokumenty', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Zpracovávané dokumenty', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index b902c7f4f..c1bb25218 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -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 (2349), dgrutsch (22) +// Translators: Admin (2350), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -307,6 +307,7 @@ URL: [url]', 'disclaimer' => 'Dies ist ein geschützter Bereich. Nur authorisiertes Personal hat Zugriff. Jegliche Verstöße werden nach geltendem Recht (Englisch und International) verfolgt.', 'discspace' => 'Plattenplatz', 'document' => 'Dokument', +'documentcontent' => 'Dokumentenversion', 'documents' => 'Dokumente', 'documents_checked_out_by_you' => 'Von mir ausgecheckte Dokumente', 'documents_in_process' => 'Dokumente in Bearbeitung', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 99ed3c90a..27e09e4ca 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -280,6 +280,7 @@ $text = array( 'disclaimer' => '', 'discspace' => '', 'document' => 'Έγγραφο', +'documentcontent' => '', 'documents' => 'Έγγραφα', 'documents_checked_out_by_you' => '', 'documents_in_process' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index f591e4381..ed7d35efd 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -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 (1479), dgrutsch (9), netixw (14) +// Translators: Admin (1480), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -307,6 +307,7 @@ URL: [url]', 'disclaimer' => 'This is a classified area. Access is permitted only to authorized personnel. Any violation will be prosecuted according to the national and international laws.', 'discspace' => 'Disc space', 'document' => 'Document', +'documentcontent' => 'Document content', 'documents' => 'Documents', 'documents_checked_out_by_you' => 'Documents checked out by you', 'documents_in_process' => 'Documents In Process', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 4f658adec..e1fd66675 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -302,6 +302,7 @@ URL: [url]', 'disclaimer' => 'Esta es un área restringida. Se permite el acceso únicamente a personal autorizado. Cualquier intrusión se perseguirá conforme a las leyes internacionales.', 'discspace' => 'Espacio en disco', 'document' => 'Documento', +'documentcontent' => '', 'documents' => 'Documentos', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Documentos en proceso', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index e6e3ae667..b2a898510 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -307,6 +307,7 @@ URL: [url]', 'disclaimer' => 'Cet espace est protégé. Son accès est strictement réservé aux utilisateurs autorisés.
Tout accès non autorisé est punissable par les lois internationales.', 'discspace' => 'Espace disque', 'document' => 'Document', +'documentcontent' => '', 'documents' => 'Documents', 'documents_checked_out_by_you' => 'Documents bloqués par vous', 'documents_in_process' => 'Documents en cours', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 430dbb941..6cd2565a7 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -307,6 +307,7 @@ Internet poveznica: [url]', 'disclaimer' => 'Ovo je klasificirano područje. Pristup je omogućen samo ovlaštenim osobama. Sa svakim kršenjem bit će postupano sukladno nacionalnim i međunarodnim zakonima.', 'discspace' => 'Prostor na disku', 'document' => 'Dokument', +'documentcontent' => '', 'documents' => 'Dokumenti', 'documents_checked_out_by_you' => 'Dokumenti koje ste Vi odjavili', 'documents_in_process' => 'Dokumenti u postupku', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 711fb0902..680279a1d 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -302,6 +302,7 @@ URL: [url]', 'disclaimer' => 'Ez egy bizalmas terület. Hozzáférés kizárólag a meghatalmazott személyek részére engedélyezett. Bárminemű megsértését a nemzeti, illetve a nemzetközi jog szerint fogják büntetni.', 'discspace' => 'Lemezterület', 'document' => 'Dokumentum', +'documentcontent' => '', 'documents' => 'Dokumentumok', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Feldolgozás alatt lévő dokumentumok', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index d61687f67..dafa15fd1 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -308,6 +308,7 @@ URL: [url]', 'disclaimer' => 'Questa è un\'area riservata. L\'accesso è consentito solo agli utenti autorizzati. Qualunque violazione sarà perseguita a norma delle leggi italiane ed internazionali.', 'discspace' => 'Spazio su disco', 'document' => 'Documento', +'documentcontent' => '', 'documents' => 'Documenti', 'documents_checked_out_by_you' => 'Documenti approvati da te', 'documents_in_process' => 'Documenti in lavorazione', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index 26ad3d22c..3651fefa2 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -309,6 +309,7 @@ URL: [url]', 'disclaimer' => '본 사이트는 접근이 허가된 자에게만 사용이 허용된 곳 입니다. 허가받지 않은 접근이나 불법행위는 국내 및 국제법에 따라 기소 될 것입니다.', 'discspace' => '디스크 공간', 'document' => '문서', +'documentcontent' => '', 'documents' => '문서', 'documents_checked_out_by_you' => '당신으로 부터 문서가 체크아웃 되었습니다.', 'documents_in_process' => '진행중인 문서', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index d46f13ee6..3b9de41a9 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -300,6 +300,7 @@ URL: [url]', 'disclaimer' => 'Dit is een beveiligde omgeving. Gebruik is alleen toegestaan voor geautoriseerde leden. Ongeautoriseerde toegang kan worden bestraft overeenkomstig (inter)nationale wetgeving.', 'discspace' => 'Schijfruimte', 'document' => 'Document', +'documentcontent' => '', 'documents' => 'Documenten', 'documents_checked_out_by_you' => 'Door u in behandeling genomen documenten', 'documents_in_process' => 'Documenten in behandeling', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 78f1964e6..268769156 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -295,6 +295,7 @@ URL: [url]', 'disclaimer' => 'To jest zastrzeżona strefa. Dostęp do niej ma wyłącznie wyznaczony personel. Wszelkie naruszenia będą ścigane zgodnie z prawem krajowym i międzynarodowym.', 'discspace' => 'Miejsce na dysku', 'document' => 'Dokument', +'documentcontent' => '', 'documents' => 'Dokumenty', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Dokumenty procesowane', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 64b7c90c8..41347177d 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -302,6 +302,7 @@ URL: [url]', 'disclaimer' => 'Esta é uma área restrita, o acesso é permitido apenas ao pessoal autorizado. Qualquer violação será tratado de acordo com as normas internas e leis vigentes.', 'discspace' => 'Espaço em Disco', 'document' => 'Documento', +'documentcontent' => '', 'documents' => 'Documentos', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Documentos em Processo', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index ad27cb372..100391478 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -307,6 +307,7 @@ URL: [url]', 'disclaimer' => 'Aceasta este o zonă clasificată. Accesul este permis numai personalului autorizat. Orice încălcare va fi urmărită penal în conformitate cu legile naționale și internaționale.', 'discspace' => 'Spațiu pe disc', 'document' => 'Document', +'documentcontent' => '', 'documents' => 'Documente', 'documents_checked_out_by_you' => 'Documente verificate de tine', 'documents_in_process' => 'Documente în procesare', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index d3d8523c1..f60f38500 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -307,6 +307,7 @@ URL: [url]', 'disclaimer' => 'Работник, помни! От тебя зависит успех фирмы и всей страны!', 'discspace' => 'Дисковое пространство', 'document' => 'Документ', +'documentcontent' => '', 'documents' => 'док.', 'documents_checked_out_by_you' => 'Документ проверен вами', 'documents_in_process' => 'Документы в работе', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 8c2cef003..a109c73a0 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -284,6 +284,7 @@ URL: [url]', 'disclaimer' => 'Toto je zabezpečená zóna. Prístup je povolený len autorizovaným osobám.', 'discspace' => '', 'document' => 'Dokument', +'documentcontent' => '', 'documents' => 'Dokumenty', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Dokumenty v spracovaní', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 4657922cf..9f0a1c31e 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -295,6 +295,7 @@ URL: [url]', 'disclaimer' => 'Detta är ett sekretessbelagt område. Bara auktoriserade personer äger tillträde. Vid överträdelse kommer åtal att väckas i enlighet med nationella och internationella lagar.', 'discspace' => '', 'document' => 'Dokument', +'documentcontent' => '', 'documents' => 'Dokument', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'Dokument i bearbetning', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index ff2529e14..eb30954c4 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -301,6 +301,7 @@ URL: [url]', 'disclaimer' => 'Bu sisteme sadece yetkilendirilmiş personel yetki seviyesine göre erişebilir. Herhangi bir ihlalde veya ihlal girişiminde, ulusal ve uluslararası yasalara göre takibat yapılacaktır.', 'discspace' => 'Disk alanı', 'document' => 'Doküman', +'documentcontent' => '', 'documents' => 'Dokümanlar', 'documents_checked_out_by_you' => '', 'documents_in_process' => 'İşlemdeki Dokümanlar', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 7ef183f9c..b16e496d5 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -307,6 +307,7 @@ URL: [url]', 'disclaimer' => 'Авторизована зона. Несанкціонований доступ переслідується згідно національного законодавства.', 'discspace' => 'Дисковий простір', 'document' => 'Документ', +'documentcontent' => '', 'documents' => 'док.', 'documents_checked_out_by_you' => 'Документи на Опрацюванні у вас', 'documents_in_process' => 'Документи в роботі', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 1f6507317..dc080c4f0 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -286,6 +286,7 @@ URL: [url]', 'disclaimer' => '警告:这是机密区.只有授权用户才被允许访问.任何违反行为将受到法律制裁', 'discspace' => '磁盘空间', 'document' => '文档', +'documentcontent' => '', 'documents' => '文档', 'documents_checked_out_by_you' => '', 'documents_in_process' => '待处理文档', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 1250c7820..fe1bc1c81 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -284,6 +284,7 @@ URL: [url]', 'disclaimer' => '警告:這是機密區.只有授權使用者才被允許訪問.任何違反行為將受到法律制裁', 'discspace' => '', 'document' => '文檔', +'documentcontent' => '', 'documents' => '文檔', 'documents_checked_out_by_you' => '', 'documents_in_process' => '待處理文檔', diff --git a/styles/bootstrap/application.css b/styles/bootstrap/application.css index c98124f9e..8a8df32ae 100644 --- a/styles/bootstrap/application.css +++ b/styles/bootstrap/application.css @@ -250,6 +250,20 @@ i.rejected {color: #b00000;} i.in-workflow {color: #11479e;} i.workflow-action {color: #91479e;} +span.openpopupbox { + cursor: pointer; +} + +div.popupbox { + background-color: #fff; + border-radius: 4px; + border: 1px solid #ccc; + padding: 15px; + display: none; + position: absolute; + width: 200px; +} + @media (max-width: 480px) { .nav-tabs > li { float:none; diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 1c093c2ac..20f8841aa 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -989,6 +989,12 @@ $(document).ready(function() { /* {{{ */ timeout: (typeof timeout == 'undefined' ? 1500 : timeout), }); }); + + $('span.openpopupbox').on('click', function(e) { + $('div.popupbox').toggle(); + console.log('Hallo'); + }); + }); /* }}} */ var approval_count, review_count, receipt_count, revision_count; diff --git a/views/bootstrap/class.AttributeMgr.php b/views/bootstrap/class.AttributeMgr.php index 57bffb83c..be7e2c1c7 100644 --- a/views/bootstrap/class.AttributeMgr.php +++ b/views/bootstrap/class.AttributeMgr.php @@ -70,50 +70,41 @@ $(document).ready( function() { $this->contentHeading(getMLText("attrdef_info")); $res = $selattrdef->getStatistics(30); if(!empty($res['frequencies']['document']) ||!empty($res['frequencies']['folder']) ||!empty($res['frequencies']['content'])) { - - -?> -
-
-
- - - -
-
-
-"; - print "\n\n"; - print "".getMLText("attribute_value")."\n"; - print "".getMLText("attribute_count")."\n"; - print "\n"; - print "\n\n"; - foreach($res['frequencies'][$type] as $entry) { - $value = $selattrdef->parseValue($entry['value']); - echo ""; - echo "".implode(';', $value)."".$entry['c'].""; - /* various checks, if the value is valid */ - echo ""; - /* Check if value is in value set */ - if(!$selattrdef->validate($entry['value'])) { - echo getAttributeValidationText($selattrdef->getValidationError(), $selattrdef->getName(), $entry['value']); + foreach(array('document', 'folder', 'content') as $type) { + $content = ''; + if(isset($res['frequencies'][$type]) && $res['frequencies'][$type]) { + $content .= ""; + $content .= "\n\n"; + $content .= "\n"; + $content .= "\n"; + $content .= "\n"; + $content .= "\n\n"; + foreach($res['frequencies'][$type] as $entry) { + $value = $selattrdef->parseValue($entry['value']); + $content .= ""; + $content .= ""; + /* various checks, if the value is valid */ + if(!$selattrdef->validate($entry['value'])) { + $content .= getAttributeValidationText($selattrdef->getValidationError(), $selattrdef->getName(), $entry['value']); + } + $content .= ""; + $content .= ""; } - echo ""; - echo ""; + $content .= "
".getMLText("attribute_value")."".getMLText("attribute_count")."
".implode(';', $value)."".$entry['c'].""; + /* Check if value is in value set */ + if($selattrdef->getValueSet()) { + foreach($values as $v) { + if(!in_array($value, $selattrdef->getValueSetAsArray())) + $content .= getMLText("attribute_value_not_in_valueset"); + } + } + $content .= "
"; } - print ""; + if($content) + $this->printAccordion(getMLText('attribute_value')." (".getMLText($type).")", $content); } } -?> -
-
-
-
-"; print "\n\n"; @@ -194,7 +185,7 @@ $(document).ready( function() { :
- +
@@ -311,7 +302,7 @@ $(document).ready( function() { $ot = getMLText("document"); break; case SeedDMS_Core_AttributeDefinition::objtype_documentcontent: - $ot = getMLText("version"); + $ot = getMLText("documentcontent"); break; } switch($attrdef->getType()) { diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 2c3d38d4b..52363192d 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -2762,5 +2762,36 @@ mayscript> echo ""; $this->printTimelineHtml($height); } /* }}} */ + + protected function printPopupBox($title, $content) { /* {{{ */ +?> + + + +
+
+
+ + + +
+
+
+ +
+
+
+
+ diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index 19d9784df..3eec8d4e2 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -58,21 +58,28 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style { if (count($accessList["users"]) == 0 && count($accessList["groups"]) == 0) return; + $content = ''; for ($i = 0; $i < count($accessList["groups"]); $i++) { $group = $accessList["groups"][$i]->getGroup(); $accesstext = $this->getAccessModeText($accessList["groups"][$i]->getMode()); - print $accesstext.": ".htmlspecialchars($group->getName()); + $content .= $accesstext.": ".htmlspecialchars($group->getName()); if ($i+1 < count($accessList["groups"]) || count($accessList["users"]) > 0) - print "
"; + $content .= "
"; } for ($i = 0; $i < count($accessList["users"]); $i++) { $user = $accessList["users"][$i]->getUser(); $accesstext = $this->getAccessModeText($accessList["users"][$i]->getMode()); - print $accesstext.": ".htmlspecialchars($user->getFullName()); + $content .= $accesstext.": ".htmlspecialchars($user->getFullName()); if ($i+1 < count($accessList["users"])) - print "
"; + $content .= "
"; + } + + if(count($accessList["groups"]) + count($accessList["users"]) > 3) { + $this->printPopupBox(getMLText('list_access_rights'), $content); + } else { + echo $content; } } /* }}} */ diff --git a/webdav/webdav.php b/webdav/webdav.php index 8c56b1d72..12e31d282 100644 --- a/webdav/webdav.php +++ b/webdav/webdav.php @@ -6,6 +6,31 @@ if(!empty($settings->_coreDir)) else require_once('SeedDMS/Core.php'); +/* Set apache_request_headers() in case it doesn't exists, like + * when using fastcgi (patch by christopher täufert) + */ +if( !function_exists('apache_request_headers') ) { + function apache_request_headers() { + $arh = array(); + $rx_http = '/\AHTTP_/'; + foreach($_SERVER as $key => $val) { + if( preg_match($rx_http, $key) ) { + $arh_key = preg_replace($rx_http, '', $key); + $rx_matches = array(); + // do some nasty string manipulations to restore the original letter case + // this should work in most cases + $rx_matches = explode('_', $arh_key); + if( count($rx_matches) > 0 and strlen($arh_key) > 2 ) { + foreach($rx_matches as $ak_key => $ak_val) $rx_matches[$ak_key] = ucfirst($ak_val); + $arh_key = implode('-', $rx_matches); + } + $arh[$arh_key] = $val; + } + } + return( $arh ); + } +} + /** * SeedDMS access using WebDAV *