Merge branch 'seeddms-5.0.x' into develop

This commit is contained in:
Uwe Steinmann 2015-12-16 09:30:16 +01:00
commit 5863d962ac
67 changed files with 1667 additions and 629 deletions

View File

@ -6,6 +6,8 @@
- disallow read access for group didn't prevent the users from being selected
as a reviewer/approver
- move the last bits of plain sql code from op/*.php into the core
- group manager uses ajax like user manager
- start to enforce content security policy
--------------------------------------------------------------------------------
Changes in version 4.3.22

View File

@ -81,6 +81,7 @@ class UI extends UI_Default {
$view = new $classname($params, $theme);
/* Set some configuration parameters */
$view->setParam('refferer', $_SERVER['REQUEST_URI']);
$view->setParam('class', $class);
$view->setParam('session', $session);
$view->setParam('settings', $settings);
$view->setParam('sitename', $settings->_siteName);

View File

@ -460,6 +460,7 @@ URL: [url]',
'groups' => 'المجموعات',
'group_approval_summary' => 'ملخص موافقة المجموعة',
'group_exists' => 'المجموعة موجودة بالفعل.',
'group_info' => '',
'group_management' => 'إدارة المجموعات',
'group_members' => 'أعضاء المجموعة',
'group_receipt_summary' => '',
@ -707,6 +708,8 @@ URL: [url]',
'password_strength' => 'قوة كلمة السر',
'password_strength_insuffient' => 'قوة كلمة السر غير كافية',
'password_wrong' => 'كلمة سر خاطئة',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'قوائم الكلمات البحثية الشخصية',
'pl_PL' => 'ﺎﻠﺑﻮﻠﻧﺪﻳﺓ',
'possible_substitutes' => '',
@ -722,6 +725,8 @@ URL: [url]',
'quota_is_disabled' => '',
'quota_warning' => 'اقصى مساحة للقرص الصلب تم تعديها بمقدار [bytes]. من فضلك قم بمسح بعض المستندات او اصدارات سابقة منها',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'اعادة تحميل',
@ -792,6 +797,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -391,6 +391,7 @@ $text = array(
'groups' => 'Групи',
'group_approval_summary' => 'Сводка по утвърждаването на група',
'group_exists' => 'Групата вече съществува',
'group_info' => '',
'group_management' => 'Управление на групи',
'group_members' => 'Членове на групата',
'group_receipt_summary' => '',
@ -608,6 +609,8 @@ $text = array(
'password_strength' => 'Устойчивост на паролата',
'password_strength_insuffient' => 'Недостатъчна устойчивост на паролата',
'password_wrong' => 'Грешна парола',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Личен списък с ключови думи',
'pl_PL' => '',
'possible_substitutes' => '',
@ -623,6 +626,8 @@ $text = array(
'quota_is_disabled' => '',
'quota_warning' => 'Вашето max. използуване на диска е превишена с [bytes]. Please remove documents or previous versions.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Обнови',
@ -670,6 +675,8 @@ $text = array(
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -396,6 +396,7 @@ URL: [url]',
'groups' => 'Grups',
'group_approval_summary' => 'Resum del grup aprovador',
'group_exists' => 'El grup ja existeix',
'group_info' => '',
'group_management' => 'Grups',
'group_members' => 'Membres del grup',
'group_receipt_summary' => '',
@ -613,6 +614,8 @@ URL: [url]',
'password_strength' => '',
'password_strength_insuffient' => '',
'password_wrong' => '',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Mots clau personals',
'pl_PL' => '',
'possible_substitutes' => '',
@ -628,6 +631,8 @@ URL: [url]',
'quota_is_disabled' => '',
'quota_warning' => '',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Refresh',
@ -675,6 +680,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -467,6 +467,7 @@ URL: [url]',
'groups' => 'Skupiny',
'group_approval_summary' => 'Souhrn schválení skupiny',
'group_exists' => 'Skupina již existuje.',
'group_info' => '',
'group_management' => 'Skupiny',
'group_members' => 'Členové skupiny',
'group_receipt_summary' => '',
@ -718,6 +719,8 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm
'password_strength' => 'Síla hesla',
'password_strength_insuffient' => 'Nedostatečná síla hesla',
'password_wrong' => 'Špatné heslo',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Osobní klíčová slova',
'pl_PL' => 'Polština',
'possible_substitutes' => '',
@ -733,6 +736,8 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm
'quota_is_disabled' => 'Podpora kvót je v současné době zakázána v nastavení. Nastavení uživatelských kvót nebude mít žádný vliv, dokud se znovu neaktivuje.',
'quota_warning' => 'Vaše maximální využití disku je překročeno o [bajtů]. Prosím, odstraňte dokumenty nebo předchozí verze.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Obnovit',
@ -801,6 +806,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

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 (2145), dgrutsch (18)
// Translators: Admin (2154), dgrutsch (18)
$text = array(
'accept' => 'Übernehmen',
@ -472,6 +472,7 @@ URL: [url]',
'groups' => 'Gruppen',
'group_approval_summary' => 'Freigabe-Gruppen',
'group_exists' => 'Gruppe existiert bereits',
'group_info' => 'Gruppeninformation',
'group_management' => 'Gruppenverwaltung',
'group_members' => 'Gruppenmitglieder',
'group_receipt_summary' => 'Übersicht Gruppenbestätigungen',
@ -726,6 +727,8 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren
'password_strength' => 'Passwortstärke',
'password_strength_insuffient' => 'Ungenügend starkes Passwort',
'password_wrong' => 'Falsches Passwort',
'pending_approvals' => 'Ausstehende Freigaben',
'pending_reviews' => 'Ausstehende Prüfungen',
'personal_default_keywords' => 'Persönliche Stichwortlisten',
'pl_PL' => 'Polnisch',
'possible_substitutes' => 'Vertreter',
@ -741,6 +744,13 @@ Sollen Sie danach immer noch Problem bei der Anmeldung haben, dann kontaktieren
'quota_is_disabled' => 'Quota-Unterstützung ist zur Zeit ausgeschaltet. Benutzer-Quota werden ignoriert bis Quota-Unterstützung in den Einstellungen eingeschaltet wird.',
'quota_warning' => 'Ihr maximal verfügbarer Plattenplatz wurde um [bytes] überschritten. Bitte löschen Sie Dokumente oder ältere Versionen.',
'receipt_log' => 'Protokoll der Empfangsbestätigungen',
'receipt_request_email_body' => 'Aufforderung zur Empfangsbestätigung
Dokument: [name]
Version: [version]
Elternordner: [folder_path]
Benutzer: [username]
URL: [url]',
'receipt_request_email_subject' => '[sitename]: [name] - Aufforderung zur Empfangsbestätigung',
'receipt_summary' => 'Übersicht Bestätigungen',
'recipients' => 'Empfänger',
'refresh' => 'Aktualisieren',
@ -821,6 +831,13 @@ URL: [url]',
'revise_document_on' => 'Nächste Überprüfung des Dokuments am [date]',
'revision_date' => 'Datum der Wiederholungsprüfung',
'revision_log' => 'Protokoll der erneuten Prüfung',
'revision_request_email_body' => 'Aufforderung zur Wiederholungsprüfung
Dokument: [name]
Version: [version]
Elternordner: [folder_path]
Benutzer: [username]
URL: [url]',
'revision_request_email_subject' => '[sitename]: [name] - Aufforderung zur Wiederholungsprüfung',
'revisors' => 'Überprüfer',
'revisor_already_assigned' => 'Benutzer bereits als Wiederholungsprüfer eingetragen.',
'revisor_already_removed' => 'Wiederholungsprüfer wurde bereits vom Prozess ausgeschlossen oder hat das Dokument bereits geprüft.',

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 (1280), dgrutsch (3), netixw (14)
// Translators: Admin (1287), dgrutsch (3), netixw (14)
$text = array(
'accept' => 'Accept',
@ -472,6 +472,7 @@ URL: [url]',
'groups' => 'Groups',
'group_approval_summary' => 'Group approval summary',
'group_exists' => 'Group already exists.',
'group_info' => 'Group information',
'group_management' => 'Groups management',
'group_members' => 'Group members',
'group_receipt_summary' => '',
@ -726,6 +727,8 @@ If you have still problems to login, then please contact your administrator.',
'password_strength' => 'Password strength',
'password_strength_insuffient' => 'Insuffient password strength',
'password_wrong' => 'Wrong password',
'pending_approvals' => 'Pending approvals',
'pending_reviews' => 'Pending reviews',
'personal_default_keywords' => 'Personal keywordlists',
'pl_PL' => 'Polish',
'possible_substitutes' => 'Substitutes',
@ -741,6 +744,13 @@ If you have still problems to login, then please contact your administrator.',
'quota_is_disabled' => 'Quota support is currently disabled in the settings. Setting a user quota will have no effect until it is enabled again.',
'quota_warning' => 'Your maximum disc usage is exceeded by [bytes]. Please remove documents or previous versions.',
'receipt_log' => 'Reception Log',
'receipt_request_email_body' => 'Reception request
Document: [name]
Version: [version]
Parent folder: [folder_path]
User: [username]
URL: [url]',
'receipt_request_email_subject' => '[sitename]: [name] - Reception request',
'receipt_summary' => 'Receipt summary',
'recipients' => 'Recipients',
'refresh' => 'Refresh',
@ -828,6 +838,13 @@ URL: [url]',
'revise_document_on' => 'Next revision of document version on [date]',
'revision_date' => 'Date of revision',
'revision_log' => 'Revision log',
'revision_request_email_body' => 'Revision request
Document: [name]
Version: [version]
Parent folder: [folder_path]
User: [username]
URL: [url]',
'revision_request_email_subject' => '[sitename]: [name] - Revision request',
'revisors' => 'Revisors',
'revisor_already_assigned' => 'User is already assigned as an revisor.',
'revisor_already_removed' => 'Revisor has already been removed from revision process or has already revised the document.',

View File

@ -467,6 +467,7 @@ URL: [url]',
'groups' => 'Grupos',
'group_approval_summary' => 'Resumen del grupo aprobador',
'group_exists' => 'El grupo ya existe.',
'group_info' => '',
'group_management' => 'Gestion de Grupos',
'group_members' => 'Miembros de grupo',
'group_receipt_summary' => '',
@ -722,6 +723,8 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado
'password_strength' => 'Fortaleza de la contraseña',
'password_strength_insuffient' => 'Insuficiente Seguridad de la contraseña',
'password_wrong' => 'Contraseña incorrecta',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Listas de palabras clave personales',
'pl_PL' => 'Polaco',
'possible_substitutes' => '',
@ -737,6 +740,8 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado
'quota_is_disabled' => 'La cuota está actualmente deshabilitada en las opciones. Establecer una cuota de usuario no tendrá efecto hasta que sea habilitada de nuevo.',
'quota_warning' => 'El máximo de uso de disco se ha excedido en [bytes]. Por favor eliminar documentos o versiones anteriores.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Actualizar',
@ -807,6 +812,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -467,6 +467,7 @@ URL: [url]',
'groups' => 'Groupes',
'group_approval_summary' => 'Résumé groupe d\'approbation',
'group_exists' => 'Ce groupe existe déjà.',
'group_info' => '',
'group_management' => 'Groupes',
'group_members' => 'Membres de groupes',
'group_receipt_summary' => '',
@ -719,6 +720,8 @@ En cas de problème persistant, veuillez contacter votre administrateur.',
'password_strength' => 'Fiabilité du mot de passe',
'password_strength_insuffient' => 'Mot de passe trop faible',
'password_wrong' => 'Mauvais mot de passe',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Mots-clés personnels',
'pl_PL' => 'Polonais',
'possible_substitutes' => '',
@ -734,6 +737,8 @@ En cas de problème persistant, veuillez contacter votre administrateur.',
'quota_is_disabled' => 'Le support des quota est actuellement désactivé dans les réglages. Affecter un quota utilisateur n\'aura pas d\'effet jusqu\'à ce qu\'il soit de nouveau activé.',
'quota_warning' => 'Votre taille maximale de disque est dépassée de [bytes]. SVP supprimer des documents ou d\'anciennes versions.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Actualiser',
@ -796,6 +801,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -472,6 +472,7 @@ Internet poveznica: [url]',
'groups' => 'Grupe',
'group_approval_summary' => 'Pregled odobrenja grupe',
'group_exists' => 'Grupa već postoji.',
'group_info' => '',
'group_management' => 'Upravljanje grupama',
'group_members' => 'Članovi grupe',
'group_receipt_summary' => 'Sažetak prijema za grupu',
@ -726,6 +727,8 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator
'password_strength' => 'Jačina lozinke',
'password_strength_insuffient' => 'Nedovoljna jačina lozinke',
'password_wrong' => 'Pogrešna lozinka',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Osobni popis ključnih riječi',
'pl_PL' => 'Poljski',
'possible_substitutes' => 'Zamjene',
@ -741,6 +744,8 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator
'quota_is_disabled' => 'Podrška kvoti je trenutno onemogućena u postavkama. Postavka korisničke kvote neće imati utjecaja dok se ponovno ne omogući.',
'quota_warning' => 'Vaš maksimalni prostor na disku je premašen za [bytes]. Molimo uklonite dokumente ili prethodne verzije.',
'receipt_log' => 'Zapisi prijema',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => 'Sažetak prijema',
'recipients' => 'Primatelji',
'refresh' => 'Osvježi',
@ -828,6 +833,8 @@ Internet poveznica: [url]',
'revise_document_on' => 'Slijedeća revizija verzije dokumenta na dan [date]',
'revision_date' => 'Datum revizije',
'revision_log' => 'Zapisi revizije',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => 'Revizori',
'revisor_already_assigned' => 'Korisnik je već dodijeljen kao revizor',
'revisor_already_removed' => 'Revizor je uklonjen iz procesa revizije ili je već revidirao dokument.',

View File

@ -467,6 +467,7 @@ URL: [url]',
'groups' => 'Csoportok',
'group_approval_summary' => 'Csoport jóváhagyás összefoglaló',
'group_exists' => 'Csoport már létezik.',
'group_info' => '',
'group_management' => 'Csoportok',
'group_members' => 'Csoporttagok',
'group_receipt_summary' => '',
@ -722,6 +723,8 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a
'password_strength' => 'Jelszó erősség',
'password_strength_insuffient' => 'Jelszó erőssége elégtelen',
'password_wrong' => 'Hibás jelszó',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Személyes kulcsszó lista',
'pl_PL' => 'Lengyel',
'possible_substitutes' => '',
@ -737,6 +740,8 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a
'quota_is_disabled' => 'Kvóta támogatás jelenleg le van tiltva a beállításoknál. Felhasználói korlát beállítások nem kerülnek érvényesítésre amíg nincs újra engedélyezve.',
'quota_warning' => 'Túllépte lemez korlátot [bytes] bájttal. Kérjük távolítson el dokumentumokat vagy korábbi változatokat.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Frissítés',
@ -807,6 +812,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -473,6 +473,7 @@ URL: [url]',
'groups' => 'Gruppi',
'group_approval_summary' => 'Dettaglio approvazioni di gruppo',
'group_exists' => 'Il gruppo è già esistente',
'group_info' => '',
'group_management' => 'Amministrazione gruppi',
'group_members' => 'Membri del gruppo',
'group_receipt_summary' => '',
@ -728,6 +729,8 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di
'password_strength' => 'Sicurezza password',
'password_strength_insuffient' => 'Efficacia della password insufficiente',
'password_wrong' => 'Password errata',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Parole-chiave personali',
'pl_PL' => 'Polacco',
'possible_substitutes' => 'Sostituti',
@ -743,6 +746,8 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di
'quota_is_disabled' => 'Il supporto per le quote è attualmente disattivato nelle impostazioni. L\'impostazione di una quota-utente non avrà alcun effetto finché tale funzionalità non verrà nuovamente attivata.',
'quota_warning' => 'Il vostro utilizzo massimo di spazio è stato superato di [bytes]. Si prega di rimuovere documenti o versioni obsolete.',
'receipt_log' => 'Ricezione Log',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => 'Sommario ricezione',
'recipients' => 'Cartelle',
'refresh' => 'Ricarica',
@ -830,6 +835,8 @@ URL: [url]',
'revise_document_on' => 'Prossima revisione del documento il [date]',
'revision_date' => 'data revisione',
'revision_log' => 'Log revisione',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => 'Revisori',
'revisor_already_assigned' => 'Utente già assegnato al ruolo di revisore',
'revisor_already_removed' => 'Revisore già rimosso dal processo di revisione o ha già revisionato documento.',

View File

@ -472,6 +472,7 @@ URL: [url]',
'groups' => '그룹',
'group_approval_summary' => '그룹의 승인 요약',
'group_exists' => '그룹이 이미 존재합니다.',
'group_info' => '',
'group_management' => '그룹 관리',
'group_members' => '카페 회원',
'group_receipt_summary' => '',
@ -719,6 +720,8 @@ URL : [url]',
'password_strength' => '강력한 비밀번호',
'password_strength_insuffient' => '부족한 비밀번호 강도',
'password_wrong' => '잘못된 비밀번호',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => '개인 키워드 목록',
'pl_PL' => '폴란드어',
'possible_substitutes' => '대체',
@ -734,6 +737,8 @@ URL : [url]',
'quota_is_disabled' => '할당량 지원이 설정에서 비활성화되어 있습니다. 다시 활성화 될 때까지 사용자의 할당량 설정은 적용되지 않습니다.',
'quota_warning' => '당신의 최대 디스크 사용량 [bytes] 초과됩니다. 문서 또는 이전 버전을 제거하십시오.',
'receipt_log' => '로그 수신',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '접수증 요약',
'recipients' => '받는 사람',
'refresh' => '새로 고침',
@ -821,6 +826,8 @@ URL: [url]',
'revise_document_on' => '문서 버전의 다음 개정 [날짜]',
'revision_date' => '개정 일자',
'revision_log' => '개정 로그',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '감사',
'revisor_already_assigned' => '이미 감사가 선임이 된 사용자.',
'revisor_already_removed' => '감사는 문서의 개정을 과정에서 삭제했거나 이미 개정을 완료 했습니다.',

View File

@ -465,6 +465,7 @@ URL: [url]',
'groups' => 'Groepen',
'group_approval_summary' => 'Groep [Goedkeuring] samenvatting',
'group_exists' => 'Groep bestaat reeds.',
'group_info' => '',
'group_management' => 'Groepen beheer',
'group_members' => 'Groepsleden',
'group_receipt_summary' => '',
@ -720,6 +721,8 @@ Mocht u de komende minuten geen email ontvangen, probeer het dan nogmaals en con
'password_strength' => 'Sterkte wachtwoord',
'password_strength_insuffient' => 'Onvoldoende wachtwoord sterkte',
'password_wrong' => 'Verkeerde wachtwoord',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Persoonlijke sleutelwoorden',
'pl_PL' => 'Polen',
'possible_substitutes' => '',
@ -735,6 +738,8 @@ Mocht u de komende minuten geen email ontvangen, probeer het dan nogmaals en con
'quota_is_disabled' => 'Quota support is momenteel niet aktief in de eigenschappen. Een user quota zetten zal geen effect hebben tot quotas actief zijn.',
'quota_warning' => 'Uw maximale data gebruik is overschreden met [bytes]. Gelieve documenten of eerdere versies te verwijderen.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Verversen',
@ -803,6 +808,8 @@ URL: [url',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -460,6 +460,7 @@ URL: [url]',
'groups' => 'Grupy',
'group_approval_summary' => 'Podsumowanie akceptacji dla grupy',
'group_exists' => 'Grupa już istnieje.',
'group_info' => '',
'group_management' => 'Zarządzanie grupami',
'group_members' => 'Członkowie grupy',
'group_receipt_summary' => '',
@ -715,6 +716,8 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem
'password_strength' => 'Siła hasła',
'password_strength_insuffient' => 'Niewystarczająca siła hasła',
'password_wrong' => 'Złe hasło',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Osobiste sława kluczowe',
'pl_PL' => 'Polski',
'possible_substitutes' => '',
@ -730,6 +733,8 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem
'quota_is_disabled' => 'Wsparcie limitów dyskowych jest obecnie wyłączone w ustawieniach. Ustawiony limit dyskowy użytkownika nie będzie działał dopóki wparcie nie zostanie ponownie włączone.',
'quota_warning' => 'Przekroczono użycie dysku o [bytes]. Usuń dokumenty lub poprzednie wersje.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Odśwież',
@ -786,6 +791,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -466,6 +466,7 @@ URL: [url]',
'groups' => 'Grupos',
'group_approval_summary' => 'Resumo aprovação de grupo',
'group_exists' => 'Group already exists.',
'group_info' => '',
'group_management' => 'Grupos',
'group_members' => 'Grupo membros',
'group_receipt_summary' => '',
@ -720,6 +721,8 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ
'password_strength' => 'Força da senha',
'password_strength_insuffient' => 'A força da senha é insuficiente',
'password_wrong' => 'Senha errada',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'palavras-chave pessoais',
'pl_PL' => 'Polonês',
'possible_substitutes' => '',
@ -735,6 +738,8 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ
'quota_is_disabled' => 'Suporte a cota está desativado nas configurações. A definição de cota do usuário não terá efeito até que seja habilitada novamente.',
'quota_warning' => 'Seu uso máximo do disco foi ultrapassado em [bytes]. Por favor, remova documentos ou versões anteriores.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Atualizar',
@ -804,6 +809,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -472,6 +472,7 @@ URL: [url]',
'groups' => 'Grupe',
'group_approval_summary' => 'Sumar aprobare grup',
'group_exists' => 'Grupul există deja.',
'group_info' => '',
'group_management' => 'Management grupuri',
'group_members' => 'Membrii grupului',
'group_receipt_summary' => '',
@ -727,6 +728,8 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț
'password_strength' => 'Siguranța parolei',
'password_strength_insuffient' => 'Siguranța parolei este insuficientă',
'password_wrong' => 'Parolă greșită',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Liste de cuvinte cheie personale',
'pl_PL' => 'Poloneză',
'possible_substitutes' => '',
@ -742,6 +745,8 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț
'quota_is_disabled' => 'Spatiu alocat este dezactivată în setări. Stabilirea unui spatiu alocat pentru utilizator nu va avea nici un efect până când setarea este reactivată din nou.',
'quota_warning' => 'Dimensiunea dumneavoastră maximă este depasită cu [bytes]. Vă rugăm să eliminați documente sau versiuni anterioare.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => 'Destinatari',
'refresh' => 'Refresh',
@ -829,6 +834,8 @@ URL: [url]',
'revise_document_on' => 'Urmatoarea revizuire a versiunii document pe [data]',
'revision_date' => '',
'revision_log' => 'Log revizuire',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => 'Revizuitori',
'revisor_already_assigned' => 'Utilizatorul este deja asignat ca retrimitor.',
'revisor_already_removed' => 'Retrimitorul a fost deja eliminat din procesul de revizuire sau a revizuit deja documentul.',

View File

@ -460,6 +460,7 @@ URL: [url]',
'groups' => 'Группы',
'group_approval_summary' => 'Сводка по утверждению группы',
'group_exists' => 'Группа уже существует',
'group_info' => '',
'group_management' => 'Управление группами',
'group_members' => 'Члены группы',
'group_receipt_summary' => '',
@ -712,6 +713,8 @@ URL: [url]',
'password_strength' => 'Надёжность пароля',
'password_strength_insuffient' => 'Недостаточная надёжность пароля',
'password_wrong' => 'Неверный пароль',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Личный список меток',
'pl_PL' => 'Polish',
'possible_substitutes' => '',
@ -727,6 +730,8 @@ URL: [url]',
'quota_is_disabled' => '',
'quota_warning' => 'Ваша дисковая квота превышена на [bytes]. Удалите ненужные документы или их предыдущие версии.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Обновить',
@ -797,6 +802,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -391,6 +391,7 @@ $text = array(
'groups' => 'Skupiny',
'group_approval_summary' => 'Zhrnutie skupinového schválenia',
'group_exists' => 'Skupina už existuje.',
'group_info' => '',
'group_management' => 'Skupiny',
'group_members' => 'Členovia skupiny',
'group_receipt_summary' => '',
@ -608,6 +609,8 @@ $text = array(
'password_strength' => '',
'password_strength_insuffient' => '',
'password_wrong' => '',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Osobné kľúčové slová',
'pl_PL' => 'Polština',
'possible_substitutes' => '',
@ -623,6 +626,8 @@ $text = array(
'quota_is_disabled' => '',
'quota_warning' => '',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => '',
@ -670,6 +675,8 @@ $text = array(
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -460,6 +460,7 @@ URL: [url]',
'groups' => 'Grupper',
'group_approval_summary' => 'Sammanfattning av gruppgodkännande',
'group_exists' => 'Grupp finns redan.',
'group_info' => '',
'group_management' => 'Grupphantering',
'group_members' => 'Gruppmedlemmar',
'group_receipt_summary' => '',
@ -707,6 +708,8 @@ URL: [url]',
'password_strength' => 'Lösenordskvalitet',
'password_strength_insuffient' => 'För låg kvalitet på lösenordet',
'password_wrong' => 'Fel lösenord',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Personlig nyckelordslista',
'pl_PL' => 'polska',
'possible_substitutes' => '',
@ -722,6 +725,8 @@ URL: [url]',
'quota_is_disabled' => 'Kvot stöd är för närvarande inaktiverad i inställningarna. Ställa in en användarkvot kommer att ha någon effekt förrän den är aktiverad igen.',
'quota_warning' => 'Din maximala minneskvot har överskridits med [bytes]. Ta bort dokument eller tidigare versioner.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Uppdatera',
@ -792,6 +797,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -466,6 +466,7 @@ URL: [url]',
'groups' => 'Gruplar',
'group_approval_summary' => 'Grup onay özeti',
'group_exists' => 'Grup zaten mevcut.',
'group_info' => '',
'group_management' => 'Grup yönetimi',
'group_members' => 'Grup üyeleri',
'group_receipt_summary' => '',
@ -723,6 +724,8 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü
'password_strength' => 'Parola güvenlik düzeyi',
'password_strength_insuffient' => 'Parola güvenlik düzeyi yetersiz',
'password_wrong' => 'Yanlış parola',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Kişisel anahtar kelimeler',
'pl_PL' => 'Polonyaca',
'possible_substitutes' => '',
@ -738,6 +741,8 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü
'quota_is_disabled' => 'Kota desteği ayarlardan kapatılmış durumda. Açılana kadar kullanıcıya kota tanımlamanın bir etkisi olmaz.',
'quota_warning' => 'Size ayrılan disk kotası [bytes] aşıldı. Lütfen gereksiz olduğunu düşündüğünüz dokümanları veya eski versiyonları silin.',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => 'Yenile',
@ -808,6 +813,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -472,6 +472,7 @@ URL: [url]',
'groups' => 'Групи',
'group_approval_summary' => 'Підсумки затвердження групи',
'group_exists' => 'Група вже існує',
'group_info' => '',
'group_management' => 'Керування групами',
'group_members' => 'Члени групи',
'group_receipt_summary' => 'Підсумки отримання групи',
@ -724,6 +725,8 @@ URL: [url]',
'password_strength' => 'Надійність пароля',
'password_strength_insuffient' => 'Недостатня надійність пароля',
'password_wrong' => 'Невірний пароль',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => 'Особистий список ключових слів',
'pl_PL' => 'Polish',
'possible_substitutes' => 'Підстановки',
@ -739,6 +742,8 @@ URL: [url]',
'quota_is_disabled' => 'Квотування відключено',
'quota_warning' => 'Ваша дискова квота перевищена на [bytes]. Видаліть непотрібні документи або їх попередні версії.',
'receipt_log' => 'Лог отримання',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => 'Підсумки отримання',
'recipients' => 'Отримувачі',
'refresh' => 'Оновити',
@ -819,6 +824,8 @@ URL: [url]',
'revise_document_on' => 'Наступна ревізія документу [date]',
'revision_date' => 'Дата ревізії',
'revision_log' => 'Лог ревізії',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => 'Ревізори',
'revisor_already_assigned' => 'Ревізор вже призначений',
'revisor_already_removed' => 'Ревізора вже видалено',

View File

@ -397,6 +397,7 @@ URL: [url]',
'groups' => '组别',
'group_approval_summary' => '审核组汇总',
'group_exists' => '组已存在',
'group_info' => '',
'group_management' => '组管理',
'group_members' => '组成员',
'group_receipt_summary' => '',
@ -614,6 +615,8 @@ URL: [url]',
'password_strength' => '密码强度',
'password_strength_insuffient' => '',
'password_wrong' => '',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => '用户关键字',
'pl_PL' => '波兰语',
'possible_substitutes' => '',
@ -629,6 +632,8 @@ URL: [url]',
'quota_is_disabled' => '配额的支持',
'quota_warning' => '',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => '',
@ -676,6 +681,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -395,6 +395,7 @@ URL: [url]',
'groups' => '組別',
'group_approval_summary' => '審核組匯總',
'group_exists' => '組已存在',
'group_info' => '',
'group_management' => '組管理',
'group_members' => '組成員',
'group_receipt_summary' => '',
@ -612,6 +613,8 @@ URL: [url]',
'password_strength' => '密碼強度',
'password_strength_insuffient' => '',
'password_wrong' => '',
'pending_approvals' => '',
'pending_reviews' => '',
'personal_default_keywords' => '用戶關鍵字',
'pl_PL' => '波蘭語',
'possible_substitutes' => '',
@ -627,6 +630,8 @@ URL: [url]',
'quota_is_disabled' => '',
'quota_warning' => '',
'receipt_log' => '',
'receipt_request_email_body' => '',
'receipt_request_email_subject' => '',
'receipt_summary' => '',
'recipients' => '',
'refresh' => '',
@ -674,6 +679,8 @@ URL: [url]',
'revise_document_on' => '',
'revision_date' => '',
'revision_log' => '',
'revision_request_email_body' => '',
'revision_request_email_subject' => '',
'revisors' => '',
'revisor_already_assigned' => '',
'revisor_already_removed' => '',

View File

@ -51,7 +51,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'strictformcheck'=>$settings->_strictFormCheck, 'enablelargefileupload'=>$settings->_enableLargeFileUpload));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
$view($_GET);
exit;
}

View File

@ -36,7 +36,7 @@ if($view) {
$view->setParam('backupdir', $settings->_backupDir);
else
$view->setParam('backupdir', $settings->_contentDir);
$view->show();
$view($_GET);
exit;
}

View File

@ -46,7 +46,7 @@ switch($type) {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'rootfolder'=>$rootfolder, 'type'=>$type, 'data'=>$data));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -53,7 +53,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'allusers'=>$allUsers, 'allgroups'=>$allGroups));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
$view($_GET);
exit;
}

View File

@ -39,7 +39,7 @@ $folder = $dms->getFolder($folderid);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'form'=>$form, 'partialtree'=>$partialtree));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -51,7 +51,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'sortusersinlist'=>$settings->_sortUsersInList));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
$view($_GET);
exit;
}

View File

@ -43,7 +43,7 @@ $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'dropfold
if($view) {
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->show();
$view($_GET);
exit;
}

View File

@ -57,7 +57,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'attrdefs'=>$attrdefs, 'strictformcheck'=>$settings->_strictFormCheck, 'orderby'=>$settings->_sortFoldersDefault));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
$view($_GET);
exit;
}

View File

@ -32,7 +32,7 @@ $exclude = intval($_GET["exclude"]);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'rootfolderid'=>$settings->_rootFolderID, 'form'=>$form, 'mode'=>$mode, 'exclude'=>$exclude));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -27,6 +27,11 @@ 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"));
}
@ -48,10 +53,9 @@ if(isset($_GET['groupid']) && $_GET['groupid']) {
}
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'selgroup'=>$selgroup, 'allgroups'=>$allGroups, 'allusers'=>$allUsers, 'strictformcheck'=>$settings->_strictFormCheck));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'selgroup'=>$selgroup, 'allgroups'=>$allGroups, 'allusers'=>$allUsers, 'strictformcheck'=>$settings->_strictFormCheck, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList));
if($view) {
$view->show();
exit;
$view($_GET);
}
?>

View File

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

View File

@ -38,7 +38,7 @@ else $mode='web';
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'logname'=>$logname, 'mode'=>$mode, 'contentdir'=>$settings->_contentDir));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -70,7 +70,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'target'=>$target));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
$view($_GET);
exit;
}

View File

@ -357,7 +357,7 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
$pageNumber = (int) $_GET["pg"];
}
elseif (!strcasecmp($_GET["pg"], "all")) {
$limit = 0;
// $limit = 0;
}
}
@ -420,7 +420,7 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
$totalPages = (int) (count($entries)/$limit);
if(count($entries)%$limit)
$totalPages++;
if($limit > 0)
if (!isset($_GET["pg"]) || strcasecmp($_GET["pg"], "all"))
$entries = array_slice($entries, ($pageNumber-1)*$limit, $limit);
// }}}
}
@ -467,7 +467,7 @@ if(count($entries) == 1) {
$view->setParam('enablefullsearch', $settings->_enableFullSearch);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewconverters', $settings->_converters['preview']);
$view->show();
$view($_GET);
exit;
}
}

View File

@ -33,7 +33,7 @@ $rootfolder = $dms->getFolder($settings->_rootFolderID);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'rootfolder'=>$rootfolder));
if($view) {
$view->show();
$view($_GET);
exit;
}

View File

@ -64,7 +64,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'strictformcheck'=>$settings->_strictFormCheck, 'enablelargefileupload'=>$settings->_enableLargeFileUpload, 'enableadminrevapp'=>$settings->_enableAdminRevApp, 'enableownerrevapp'=>$settings->_enableOwnerRevApp, 'enableselfrevapp'=>$settings->_enableSelfRevApp, 'dropfolderdir'=>$settings->_dropFolderDir, 'workflowmode'=>$settings->_workflowMode, 'presetexpiration'=>$settings->_presetExpirationDate));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
$view($_GET);
exit;
}

View File

@ -69,7 +69,7 @@ if($view) {
$view->setParam('maxRecursiveCount', $settings->_maxRecursiveCount);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewconverters', $settings->_converters['preview']);
$view->show();
$view($_GET);
exit;
}

View File

@ -162,6 +162,10 @@ div.timeline-event-selected {
z-index: 999;
}
div.splash {
display: none;
}
@media (max-width: 480px) {
.nav-tabs > li {
float:none;

View File

@ -128,76 +128,6 @@ $(document).ready( function() {
}
});
$('body').on('click', 'button.removedocument', function(ev){
ev.preventDefault();
attr_rel = $(ev.currentTarget).attr('rel');
attr_msg = $(ev.currentTarget).attr('msg');
attr_formtoken = $(ev.currentTarget).attr('formtoken');
id = attr_rel;
$.get('../op/op.Ajax.php',
{ command: 'deletedocument', id: id, formtoken: attr_formtoken },
function(data) {
// console.log(data);
if(data.success) {
$('#table-row-document-'+id).hide('slow');
noty({
text: attr_msg,
type: 'success',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 1500,
});
} else {
noty({
text: data.message,
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 3500,
});
}
},
'json'
);
});
$('body').on('click', 'button.removefolder', function(ev){
ev.preventDefault();
attr_rel = $(ev.currentTarget).attr('rel');
attr_msg = $(ev.currentTarget).attr('msg');
attr_formtoken = $(ev.currentTarget).attr('formtoken');
id = attr_rel;
$.get('../op/op.Ajax.php',
{ command: 'deletefolder', id: id, formtoken: attr_formtoken },
function(data) {
// console.log(data);
if(data.success) {
$('#table-row-folder-'+id).hide('slow');
noty({
text: attr_msg,
type: 'success',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 1500,
});
} else {
noty({
text: data.message,
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 3500,
});
}
},
'json'
);
});
$('body').on('click', 'a.addtoclipboard', function(ev){
ev.preventDefault();
attr_rel = $(ev.currentTarget).attr('rel');
@ -752,6 +682,20 @@ $(document).ready(function() {
e.preventDefault();
});
$('div.splash').each(function(index) {
var element = $(this);
var msgtype = element.data('type');
var timeout = element.data('timeout');
var msg = element.text();
noty({
text: msg,
type: msgtype,
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: (timeout == 'undefined' ? 1500 : timeout),
});
});
});
var approval_count, review_count, receipt_count, revision_count;
@ -776,5 +720,9 @@ $(document).ready(function() {
});
timeOutId = setTimeout(checkTasks, 10000);
}
$(document).ready(function() {
$("#menu-tasks > ul > li").checkTasks();
});
//checkTasks();

551
styles/bootstrap/bootbox/bootbox.js vendored Normal file
View File

@ -0,0 +1,551 @@
/**
* bootbox.js v2.5.1
*
* http://bootboxjs.com/license.txt
*/
var bootbox = window.bootbox || (function($) {
var _locale = 'en',
_defaultLocale = 'en',
_animate = true,
_backdrop = 'static',
_defaultHref = 'javascript:;',
_classes = '',
_icons = {},
/* last var should always be the public object we'll return */
that = {};
/**
* standard locales. Please add more according to ISO 639-1 standard. Multiple language variants are
* unlikely to be required. If this gets too large it can be split out into separate JS files.
*/
var _locales = {
'en' : {
OK : 'OK',
CANCEL : 'Cancel',
CONFIRM : 'OK'
},
'fr' : {
OK : 'OK',
CANCEL : 'Annuler',
CONFIRM : 'D\'accord'
},
'de' : {
OK : 'OK',
CANCEL : 'Abbrechen',
CONFIRM : 'Akzeptieren'
},
'es' : {
OK : 'OK',
CANCEL : 'Cancelar',
CONFIRM : 'Aceptar'
},
'br' : {
OK : 'OK',
CANCEL : 'Cancelar',
CONFIRM : 'Sim'
},
'nl' : {
OK : 'OK',
CANCEL : 'Annuleren',
CONFIRM : 'Accepteren'
},
'ru' : {
OK : 'OK',
CANCEL : 'Отмена',
CONFIRM : 'Применить'
},
'it' : {
OK : 'OK',
CANCEL : 'Annulla',
CONFIRM : 'Conferma'
}
};
/**
* private methods
*/
function _translate(str, locale) {
// we assume if no target locale is probided then we should take it from current setting
if (locale == null) {
locale = _locale;
}
if (typeof _locales[locale][str] == 'string') {
return _locales[locale][str];
}
// if we couldn't find a lookup then try and fallback to a default translation
if (locale != _defaultLocale) {
return _translate(str, _defaultLocale);
}
// if we can't do anything then bail out with whatever string was passed in - last resort
return str;
}
/**
* public API
*/
that.setLocale = function(locale) {
for (var i in _locales) {
if (i == locale) {
_locale = locale;
return;
}
}
throw new Error('Invalid locale: '+locale);
};
that.addLocale = function(locale, translations) {
if (typeof _locales[locale] == 'undefined') {
_locales[locale] = {};
}
for (var str in translations) {
_locales[locale][str] = translations[str];
}
};
that.setIcons = function(icons) {
_icons = icons;
if (typeof _icons !== 'object' || _icons == null) {
_icons = {};
}
};
that.alert = function(/*str, label, cb*/) {
var str = "",
label = _translate('OK'),
cb = null;
switch (arguments.length) {
case 1:
// no callback, default button label
str = arguments[0];
break;
case 2:
// callback *or* custom button label dependent on type
str = arguments[0];
if (typeof arguments[1] == 'function') {
cb = arguments[1];
} else {
label = arguments[1];
}
break;
case 3:
// callback and custom button label
str = arguments[0];
label = arguments[1];
cb = arguments[2];
break;
default:
throw new Error("Incorrect number of arguments: expected 1-3");
break;
}
return that.dialog(str, {
"label": label,
"icon" : _icons.OK,
"callback": cb
}, {
"onEscape": cb
});
};
that.confirm = function(/*str, labelCancel, labelOk, cb*/) {
var str = "",
labelCancel = _translate('CANCEL'),
labelOk = _translate('CONFIRM'),
cb = null;
switch (arguments.length) {
case 1:
str = arguments[0];
break;
case 2:
str = arguments[0];
if (typeof arguments[1] == 'function') {
cb = arguments[1];
} else {
labelCancel = arguments[1];
}
break;
case 3:
str = arguments[0];
labelCancel = arguments[1];
if (typeof arguments[2] == 'function') {
cb = arguments[2];
} else {
labelOk = arguments[2];
}
break;
case 4:
str = arguments[0];
labelCancel = arguments[1];
labelOk = arguments[2];
cb = arguments[3];
break;
default:
throw new Error("Incorrect number of arguments: expected 1-4");
break;
}
return that.dialog(str, [{
"label": labelCancel,
"icon" : _icons.CANCEL,
"callback": function() {
if (typeof cb == 'function') {
cb(false);
}
}
}, {
"label": labelOk,
"icon" : _icons.CONFIRM,
"callback": function() {
if (typeof cb == 'function') {
cb(true);
}
}
}]);
};
that.prompt = function(/*str, labelCancel, labelOk, cb, defaultVal*/) {
var str = "",
labelCancel = _translate('CANCEL'),
labelOk = _translate('CONFIRM'),
cb = null,
defaultVal = "";
switch (arguments.length) {
case 1:
str = arguments[0];
break;
case 2:
str = arguments[0];
if (typeof arguments[1] == 'function') {
cb = arguments[1];
} else {
labelCancel = arguments[1];
}
break;
case 3:
str = arguments[0];
labelCancel = arguments[1];
if (typeof arguments[2] == 'function') {
cb = arguments[2];
} else {
labelOk = arguments[2];
}
break;
case 4:
str = arguments[0];
labelCancel = arguments[1];
labelOk = arguments[2];
cb = arguments[3];
break;
case 5:
str = arguments[0];
labelCancel = arguments[1];
labelOk = arguments[2];
cb = arguments[3];
defaultVal = arguments[4];
break;
default:
throw new Error("Incorrect number of arguments: expected 1-5");
break;
}
var header = str;
// let's keep a reference to the form object for later
var form = $("<form></form>");
form.append("<input autocomplete=off type=text value='" + defaultVal + "' />");
var div = that.dialog(form, [{
"label": labelCancel,
"icon" : _icons.CANCEL,
"callback": function() {
if (typeof cb == 'function') {
cb(null);
}
}
}, {
"label": labelOk,
"icon" : _icons.CONFIRM,
"callback": function() {
if (typeof cb == 'function') {
cb(
form.find("input[type=text]").val()
);
}
}
}], {
"header": header
});
div.on("shown", function() {
form.find("input[type=text]").focus();
// ensure that submitting the form (e.g. with the enter key)
// replicates the behaviour of a normal prompt()
form.on("submit", function(e) {
e.preventDefault();
div.find(".btn-primary").click();
});
});
return div;
};
that.modal = function(/*str, label, options*/) {
var str;
var label;
var options;
var defaultOptions = {
"onEscape": null,
"keyboard": true,
"backdrop": _backdrop
};
switch (arguments.length) {
case 1:
str = arguments[0];
break;
case 2:
str = arguments[0];
if (typeof arguments[1] == 'object') {
options = arguments[1];
} else {
label = arguments[1];
}
break;
case 3:
str = arguments[0];
label = arguments[1];
options = arguments[2];
break;
default:
throw new Error("Incorrect number of arguments: expected 1-3");
break;
}
defaultOptions['header'] = label;
if (typeof options == 'object') {
options = $.extend(defaultOptions, options);
} else {
options = defaultOptions;
}
return that.dialog(str, [], options);
};
that.dialog = function(str, handlers, options) {
var hideSource = null,
buttons = "",
callbacks = [],
options = options || {};
// check for single object and convert to array if necessary
if (handlers == null) {
handlers = [];
} else if (typeof handlers.length == 'undefined') {
handlers = [handlers];
}
var i = handlers.length;
while (i--) {
var label = null,
href = null,
_class = null,
icon = '',
callback = null;
if (typeof handlers[i]['label'] == 'undefined' &&
typeof handlers[i]['class'] == 'undefined' &&
typeof handlers[i]['callback'] == 'undefined') {
// if we've got nothing we expect, check for condensed format
var propCount = 0, // condensed will only match if this == 1
property = null; // save the last property we found
// be nicer to count the properties without this, but don't think it's possible...
for (var j in handlers[i]) {
property = j;
if (++propCount > 1) {
// forget it, too many properties
break;
}
}
if (propCount == 1 && typeof handlers[i][j] == 'function') {
// matches condensed format of label -> function
handlers[i]['label'] = property;
handlers[i]['callback'] = handlers[i][j];
}
}
if (typeof handlers[i]['callback']== 'function') {
callback = handlers[i]['callback'];
}
if (handlers[i]['class']) {
_class = handlers[i]['class'];
} else if (i == handlers.length -1 && handlers.length <= 2) {
// always add a primary to the main option in a two-button dialog
_class = 'btn-primary';
}
if (handlers[i]['label']) {
label = handlers[i]['label'];
} else {
label = "Option "+(i+1);
}
if (handlers[i]['icon']) {
icon = "<i class='"+handlers[i]['icon']+"'></i> ";
}
if (handlers[i]['href']) {
href = handlers[i]['href'];
}
else {
href = _defaultHref;
}
buttons += "<a data-handler='"+i+"' class='btn "+_class+"' href='" + href + "'>"+icon+""+label+"</a>";
callbacks[i] = callback;
}
// @see https://github.com/makeusabrew/bootbox/issues/46#issuecomment-8235302
// and https://github.com/twitter/bootstrap/issues/4474
// for an explanation of the inline overflow: hidden
var parts = ["<div class='bootbox modal' style='overflow:hidden;'>"];
if (options['header']) {
var closeButton = '';
if (typeof options['headerCloseButton'] == 'undefined' || options['headerCloseButton']) {
closeButton = "<a href='"+_defaultHref+"' class='close'>&times;</a>";
}
parts.push("<div class='modal-header'>"+closeButton+"<h3>"+options['header']+"</h3></div>");
}
// push an empty body into which we'll inject the proper content later
parts.push("<div class='modal-body'></div>");
if (buttons) {
parts.push("<div class='modal-footer'>"+buttons+"</div>");
}
parts.push("</div>");
var div = $(parts.join("\n"));
// check whether we should fade in/out
var shouldFade = (typeof options.animate === 'undefined') ? _animate : options.animate;
if (shouldFade) {
div.addClass("fade");
}
var optionalClasses = (typeof options.classes === 'undefined') ? _classes : options.classes;
if( optionalClasses ) {
div.addClass( optionalClasses );
}
// now we've built up the div properly we can inject the content whether it was a string or a jQuery object
$(".modal-body", div).html(str);
div.bind('hidden', function() {
div.remove();
});
div.bind('hide', function() {
if (hideSource == 'escape' &&
typeof options.onEscape == 'function') {
options.onEscape();
}
});
// hook into the modal's keyup trigger to check for the escape key
$(document).bind('keyup.modal', function ( e ) {
if (e.which == 27) {
hideSource = 'escape';
}
});
// well, *if* we have a primary - give the last dom element (first displayed) focus
div.bind('shown', function() {
$("a.btn-primary:last", div).focus();
});
// wire up button handlers
div.on('click', '.modal-footer a, a.close', function(e) {
var handler = $(this).data("handler"),
cb = callbacks[handler],
hideModal = null;
// sort of @see https://github.com/makeusabrew/bootbox/pull/68 - heavily adapted
// if we've got a custom href attribute, all bets are off
if (typeof handler !== 'undefined' &&
typeof handlers[handler]['href'] !== 'undefined') {
return;
}
e.preventDefault();
if (typeof cb == 'function') {
hideModal = cb();
}
// the only way hideModal *will* be false is if a callback exists and
// returns it as a value. in those situations, don't hide the dialog
// @see https://github.com/makeusabrew/bootbox/pull/25
if (hideModal !== false) {
hideSource = 'button';
div.modal("hide");
}
});
if (options.keyboard == null) {
options.keyboard = (typeof options.onEscape == 'function');
}
$("body").append(div);
div.modal({
"backdrop" : (typeof options.backdrop === 'undefined') ? _backdrop : options.backdrop,
"keyboard" : options.keyboard
});
return div;
};
that.hideAll = function() {
$(".bootbox").modal("hide");
};
that.animate = function(animate) {
_animate = animate;
};
that.backdrop = function(backdrop) {
_backdrop = backdrop;
};
that.classes = function(classes) {
_classes = classes;
};
return that;
})( window.jQuery );
// @see https://github.com/makeusabrew/bootbox/issues/71
window.bootbox = bootbox;

16
styles/bootstrap/bootbox/bootbox.min.js vendored Normal file
View File

@ -0,0 +1,16 @@
/**
* bootbox.js v2.5.1
*
* http://bootboxjs.com/license.txt
*/
var bootbox=window.bootbox||function(k){function h(b,a){null==a&&(a=m);return"string"==typeof i[a][b]?i[a][b]:a!=n?h(b,n):b}var m="en",n="en",s=!0,r="static",t="",j={},e={},i={en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},ru:{OK:"OK",CANCEL:"\u041e\u0442\u043c\u0435\u043d\u0430",
CONFIRM:"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"}};e.setLocale=function(b){for(var a in i)if(a==b){m=b;return}throw Error("Invalid locale: "+b);};e.addLocale=function(b,a){"undefined"==typeof i[b]&&(i[b]={});for(var c in a)i[b][c]=a[c]};e.setIcons=function(b){j=b;if("object"!==typeof j||null==j)j={}};e.alert=function(){var b="",a=h("OK"),c=null;switch(arguments.length){case 1:b=arguments[0];break;case 2:b=arguments[0];"function"==typeof arguments[1]?
c=arguments[1]:a=arguments[1];break;case 3:b=arguments[0];a=arguments[1];c=arguments[2];break;default:throw Error("Incorrect number of arguments: expected 1-3");}return e.dialog(b,{label:a,icon:j.OK,callback:c},{onEscape:c})};e.confirm=function(){var b="",a=h("CANCEL"),c=h("CONFIRM"),f=null;switch(arguments.length){case 1:b=arguments[0];break;case 2:b=arguments[0];"function"==typeof arguments[1]?f=arguments[1]:a=arguments[1];break;case 3:b=arguments[0];a=arguments[1];"function"==typeof arguments[2]?
f=arguments[2]:c=arguments[2];break;case 4:b=arguments[0];a=arguments[1];c=arguments[2];f=arguments[3];break;default:throw Error("Incorrect number of arguments: expected 1-4");}return e.dialog(b,[{label:a,icon:j.CANCEL,callback:function(){"function"==typeof f&&f(!1)}},{label:c,icon:j.CONFIRM,callback:function(){"function"==typeof f&&f(!0)}}])};e.prompt=function(){var b="",a=h("CANCEL"),c=h("CONFIRM"),f=null,u="";switch(arguments.length){case 1:b=arguments[0];break;case 2:b=arguments[0];"function"==
typeof arguments[1]?f=arguments[1]:a=arguments[1];break;case 3:b=arguments[0];a=arguments[1];"function"==typeof arguments[2]?f=arguments[2]:c=arguments[2];break;case 4:b=arguments[0];a=arguments[1];c=arguments[2];f=arguments[3];break;case 5:b=arguments[0];a=arguments[1];c=arguments[2];f=arguments[3];u=arguments[4];break;default:throw Error("Incorrect number of arguments: expected 1-5");}var p=k("<form></form>");p.append("<input autocomplete=off type=text value='"+u+"' />");var d=e.dialog(p,[{label:a,
icon:j.CANCEL,callback:function(){"function"==typeof f&&f(null)}},{label:c,icon:j.CONFIRM,callback:function(){"function"==typeof f&&f(p.find("input[type=text]").val())}}],{header:b});d.on("shown",function(){p.find("input[type=text]").focus();p.on("submit",function(a){a.preventDefault();d.find(".btn-primary").click()})});return d};e.modal=function(){var b,a,c,f={onEscape:null,keyboard:!0,backdrop:r};switch(arguments.length){case 1:b=arguments[0];break;case 2:b=arguments[0];"object"==typeof arguments[1]?
c=arguments[1]:a=arguments[1];break;case 3:b=arguments[0];a=arguments[1];c=arguments[2];break;default:throw Error("Incorrect number of arguments: expected 1-3");}f.header=a;c="object"==typeof c?k.extend(f,c):f;return e.dialog(b,[],c)};e.dialog=function(b,a,c){var f=null,e="",j=[],c=c||{};null==a?a=[]:"undefined"==typeof a.length&&(a=[a]);for(var d=a.length;d--;){var h=null,i=null,l=null,m="",n=null;if("undefined"==typeof a[d].label&&"undefined"==typeof a[d]["class"]&&"undefined"==typeof a[d].callback){var h=
0,i=null,q;for(q in a[d])if(i=q,1<++h)break;1==h&&"function"==typeof a[d][q]&&(a[d].label=i,a[d].callback=a[d][q])}"function"==typeof a[d].callback&&(n=a[d].callback);a[d]["class"]?l=a[d]["class"]:d==a.length-1&&2>=a.length&&(l="btn-primary");h=a[d].label?a[d].label:"Option "+(d+1);a[d].icon&&(m="<i class='"+a[d].icon+"'></i> ");i=a[d].href?a[d].href:"javascript:;";e+="<a data-handler='"+d+"' class='btn "+l+"' href='"+i+"'>"+m+""+h+"</a>";j[d]=n}d=["<div class='bootbox modal' style='overflow:hidden;'>"];
if(c.header){l="";if("undefined"==typeof c.headerCloseButton||c.headerCloseButton)l="<a href='javascript:;' class='close'>&times;</a>";d.push("<div class='modal-header'>"+l+"<h3>"+c.header+"</h3></div>")}d.push("<div class='modal-body'></div>");e&&d.push("<div class='modal-footer'>"+e+"</div>");d.push("</div>");var g=k(d.join("\n"));("undefined"===typeof c.animate?s:c.animate)&&g.addClass("fade");(e="undefined"===typeof c.classes?t:c.classes)&&g.addClass(e);k(".modal-body",g).html(b);g.bind("hidden",
function(){g.remove()});g.bind("hide",function(){if("escape"==f&&"function"==typeof c.onEscape)c.onEscape()});k(document).bind("keyup.modal",function(a){27==a.which&&(f="escape")});g.bind("shown",function(){k("a.btn-primary:last",g).focus()});g.on("click",".modal-footer a, a.close",function(b){var c=k(this).data("handler"),d=j[c],e=null;"undefined"!==typeof c&&"undefined"!==typeof a[c].href||(b.preventDefault(),"function"==typeof d&&(e=d()),!1!==e&&(f="button",g.modal("hide")))});null==c.keyboard&&
(c.keyboard="function"==typeof c.onEscape);k("body").append(g);g.modal({backdrop:"undefined"===typeof c.backdrop?r:c.backdrop,keyboard:c.keyboard});return g};e.hideAll=function(){k(".bootbox").modal("hide")};e.animate=function(b){s=b};e.backdrop=function(b){r=b};e.classes=function(b){t=b};return e}(window.jQuery);window.bootbox=bootbox;

View File

@ -31,30 +31,17 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_AddFile extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$document = $this->params['document'];
$strictformcheck = $this->params['strictformcheck'];
$enablelargefileupload = $this->params['enablelargefileupload'];
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
function js() { /* {{{ */
?>
<script language="JavaScript">
function checkForm()
{
msg = new Array();
if (document.form1.userfile.value == "") msg.push("<?php printMLText("js_no_file");?>");
if (document.form1.name.value == "") msg.push("<?php printMLText("js_no_name");?>");
if ($("#userfile").val() == "") msg.push("<?php printMLText("js_no_file");?>");
if ($("#name").val() == "") msg.push("<?php printMLText("js_no_name");?>");
<?php
if (isset($settings->_strictFormCheck) && $settings->_strictFormCheck) {
?>
if (document.form1.comment.value == "") msg.push("<?php printMLText("js_no_comment");?>");
if ($("#comment").val() == "") msg.push("<?php printMLText("js_no_comment");?>");
<?php
}
?>
@ -73,8 +60,29 @@ function checkForm()
else
return true;
}
</script>
$(document).ready( function() {
$('body').on('submit', '#fileupload', function(ev){
if(checkForm()) return;
event.preventDefault();
});
});
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$document = $this->params['document'];
$strictformcheck = $this->params['strictformcheck'];
$enablelargefileupload = $this->params['enablelargefileupload'];
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
$this->contentHeading(getMLText("linked_files"));
?>
<div class="alert alert-warning">
@ -89,7 +97,7 @@ function checkForm()
$this->contentContainerStart();
?>
<form action="../op/op.AddFile.php" enctype="multipart/form-data" method="post" name="form1" id="fileupload" onsubmit="return checkForm();">
<form action="../op/op.AddFile.php" enctype="multipart/form-data" method="post" name="form1" id="fileupload">
<input type="hidden" name="documentid" value="<?php print $document->getId(); ?>">
<table class="table-condensed">
<tr>
@ -102,11 +110,11 @@ function checkForm()
</tr>
<tr>
<td><?php printMLText("name");?>:</td>
<td><input type="text" name="name" size="60"></td>
<td><input type="text" name="name" id="name" size="60"></td>
</tr>
<tr>
<td><?php printMLText("comment");?>:</td>
<td><textarea name="comment" rows="4" cols="80"></textarea></td>
<td><textarea name="comment" id="comment" rows="4" cols="80"></textarea></td>
</tr>
<tr>
<td></td>

View File

@ -31,6 +31,14 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_BackupTools extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
header('Content-Type: application/json');
$this->printFolderChooserJs("form1");
$this->printFolderChooserJs("form2");
$this->printFolderChooserJs("form3");
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -53,7 +61,7 @@ class SeedDMS_View_BackupTools extends SeedDMS_Bootstrap_Style {
print "<p>".getMLText("versioning_file_creation_warning")."</p>\n";
print "<form class=\"form-inline\" action=\"../op/op.CreateVersioningFiles.php\" name=\"form1\">";
$this->printFolderChooser("form1",M_READWRITE);
$this->printFolderChooserHtml("form1",M_READWRITE);
print "<input type='submit' class='btn' name='' value='".getMLText("versioning_file_creation")."'/>";
print "</form>\n";
@ -66,7 +74,7 @@ class SeedDMS_View_BackupTools extends SeedDMS_Bootstrap_Style {
print "<p>".getMLText("archive_creation_warning")."</p>\n";
print "<form action=\"../op/op.CreateFolderArchive.php\" name=\"form2\">";
$this->printFolderChooser("form2",M_READWRITE);
$this->printFolderChooserHtml("form2",M_READWRITE);
print "<label class=\"checkbox\"><input type=\"checkbox\" name=\"human_readable\" value=\"1\">".getMLText("human_readable")."</label>";
print "<input type='submit' class='btn' name='' value='".getMLText("archive_creation")."'/>";
print "</form>\n";
@ -184,7 +192,7 @@ class SeedDMS_View_BackupTools extends SeedDMS_Bootstrap_Style {
print "<p>".getMLText("files_deletion_warning")."</p>\n";
print "<form class=\"form-inline\" action=\"../out/out.RemoveFolderFiles.php\" name=\"form3\">";
$this->printFolderChooser("form3",M_READWRITE);
$this->printFolderChooserHtml("form3",M_READWRITE);
print "<input type='submit' class='btn' name='' value='".getMLText("files_deletion")."'/>";
print "</form>\n";

View File

@ -50,6 +50,20 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
} /* }}} */
function htmlStartPage($title="", $bodyClass="", $base="") { /* {{{ */
if(method_exists($this, 'js')) {
/* We still need unsafe-eval, because printDocumentChooserHtml and
* printFolderChooserHtml will include a javascript file with ajax
* which is evaled by jquery
* X-WebKit-CSP is deprecated, Chrome understands Content-Security-Policy
* since version 25+
* X-Content-Security-Policy is deprecated, Firefox understands
* Content-Security-Policy since version 23+
*/
$csp_rules = "script-src 'self' 'unsafe-eval';"; // style-src 'self';";
foreach (array("X-WebKit-CSP", "X-Content-Security-Policy", "Content-Security-Policy") as $csp) {
header($csp . ": " . $csp_rules);
}
}
echo "<!DOCTYPE html>\n";
echo "<html lang=\"en\">\n<head>\n";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n";
@ -94,19 +108,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
echo "<body".(strlen($bodyClass)>0 ? " class=\"".$bodyClass."\"" : "").">\n";
if($this->params['session'] && $flashmsg = $this->params['session']->getSplashMsg()) {
$this->params['session']->clearSplashMsg();
?>
<script>
noty({
text: '<?php echo $flashmsg['msg'] ?>',
type: '<?php echo $flashmsg['type'] ?>',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: <?php echo isset($flashmsg['duration']) && is_numeric($flashmsg['duration']) ? $flashmsg['duration'] : ($flashmsg['type'] == "error" ? "3000" : "1500"); ?>,
_template: '<div class="noty_message alert alert-block alert-error"><span class="noty_text"></span><div class="noty_close"></div></div>'
});
</script>
<?php
echo "<div class=\"splash\" data-type=\"".$flashmsg['type']."\">".$flashmsg['msg']."</div>\n";
}
} /* }}} */
@ -114,10 +116,12 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$this->extraheader[$type] .= $head;
} /* }}} */
function htmlEndPage() { /* {{{ */
$this->footNote();
if($this->params['showmissingtranslations']) {
$this->missingḺanguageKeys();
function htmlEndPage($nofooter=false) { /* {{{ */
if(!$nofooter) {
$this->footNote();
if($this->params['showmissingtranslations']) {
$this->missingḺanguageKeys();
}
}
echo '<script src="../styles/'.$this->theme.'/bootstrap/js/bootstrap.min.js"></script>'."\n";
echo '<script src="../styles/'.$this->theme.'/datepicker/js/bootstrap-datepicker.js"></script>'."\n";
@ -137,6 +141,8 @@ $(document).ready(function () {
//]]>
</script>";
}
if(method_exists($this, 'js'))
echo '<script src="../out/out.'.$this->params['class'].'.php?action=js&'.$_SERVER['QUERY_STRING'].'"></script>'."\n";
echo "</body>\n</html>\n";
} /* }}} */
@ -152,18 +158,7 @@ $(document).ready(function () {
echo "<tr><td>".$key."</td><td>".$LANG['en_GB'][$key]."</td><td><div class=\"input-append send-missing-translation\"><input name=\"missing-lang-key\" type=\"hidden\" value=\"".$key."\" /><input name=\"missing-lang-lang\" type=\"hidden\" value=\"".$lang."\" /><input type=\"text\" class=\"input-xxlarge\" name=\"missing-lang-translation\" placeholder=\"Your translation in '".$lang."'\"/><a class=\"btn\">Submit</a></div></td></tr>";
}
echo "</table>";
?>
<script>
noty({
text: '<b>There are missing translations on this page!</b><br />Please check the bottom of the page.',
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 5500,
});
</script>
<?php
echo "<div class=\"splash\" data-type=\"error\" data-timeout=\"5500\"><b>There are missing translations on this page!</b><br />Please check the bottom of the page.</div>\n";
}
} /* }}} */
@ -401,7 +396,7 @@ $(document).ready(function () {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
echo " <li><a href=\"../out/out.Help.php?context=".$tmp[1]."\">".getMLText("help")."</a></li>\n";
echo " </ul>\n";
echo " <form action=\"../op/op.Search.php\" class=\"form-inline navbar-search pull-left\" autocomplete=\"off\">";
echo " <form action=\"../out/out.Search.php\" class=\"form-inline navbar-search pull-left\" autocomplete=\"off\">";
if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), $dms->getClassname('folder'))) {
echo " <input type=\"hidden\" name=\"folderid\" value=\"".$folder->getID()."\" />";
}
@ -1018,7 +1013,7 @@ $(document).ready(function () {
print "</select>";
} /* }}} */
function printDocumentChooser($form, $accessMode=M_READ, $exclude = -1, $default = false, $formname = '', $folder='', $partialtree=0) { /* {{{ */
function printDocumentChooserHtml($form, $accessMode=M_READ, $exclude = -1, $default = false, $formname = '', $folder='', $partialtree=0) { /* {{{ */
$formid = "docid".$form;
if(!$formname)
$formname = "docid";
@ -1044,20 +1039,34 @@ $(document).ready(function () {
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
</div>
</div>
<script language="JavaScript">
modalDocChooser<?php echo $form ?> = $('#docChooser<?php echo $form ?>');
function documentSelected<?php echo $form ?>(id, name) {
$('#docid<?php echo $form ?>').val(id);
<?php
} /* }}} */
function printDocumentChooserJs($formName) { /* {{{ */
?>
modalDocChooser<?php echo $formName ?> = $('#docChooser<?php echo $formName ?>');
function documentSelected<?php echo $formName ?>(id, name) {
$('#docid<?php echo $formName ?>').val(id);
$('#choosedocsearch').val(name);
modalDocChooser<?php echo $form ?>.modal('hide');
}
function folderSelected<?php echo $form ?>(id, name) {
}
<?php
} /* }}} */
function printDocumentChooser($formName) { /* {{{ */
$this->printDocumentChooserHtml($formName);
?>
<script language="JavaScript">
<?php
$this->printDocumentChooserJs($formName);
?>
</script>
<?php
} /* }}} */
function printFolderChooser($form, $accessMode, $exclude = -1, $default = false, $formname = '') { /* {{{ */
function printFolderChooserHtml($form, $accessMode, $exclude = -1, $default = false, $formname = '') { /* {{{ */
$formid = "targetid".$form;
if(!$formname)
$formname = "targetid";
@ -1079,15 +1088,28 @@ function folderSelected<?php echo $form ?>(id, name) {
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
</div>
</div>
<script language="JavaScript">
/* Set up a callback which is called when a folder in the tree is selected */
modalFolderChooser<?php echo $form ?> = $('#folderChooser<?php echo $form ?>');
function folderSelected<?php echo $form ?>(id, name) {
$('#<?php echo $formid ?>').val(id);
$('#choosefoldersearch<?php echo $form ?>').val(name);
modalFolderChooser<?php echo $form ?>.modal('hide');
<?php
} /* }}} */
function printFolderChooserJs($formName) { /* {{{ */
?>
modalFolderChooser<?php echo $formName ?> = $('#folderChooser<?php echo $formName ?>');
function folderSelected<?php echo $formName ?>(id, name) {
$('#targetid<?php echo $formName ?>').val(id);
$('#choosefoldersearch<?php echo $formName ?>').val(name);
modalFolderChooser<?php echo $formName ?>.modal('hide');
}
</script>
<?php
} /* }}} */
function printFolderChooser($formName, $accessMode, $exclude = -1, $default = false) { /* {{{ */
$this->printFolderChooserHtml($formName, $accessMode, $exclude, $default);
?>
<script language="JavaScript">
<?php
$this->printFolderChooserJs($formName);
?>
</script>
<?php
} /* }}} */
@ -1142,7 +1164,7 @@ function folderSelected<?php echo $form ?>(id, name) {
<?php
} /* }}} */
function printKeywordChooser($formName, $keywords='', $fieldname='keywords') { /* {{{ */
function printKeywordChooserHtml($formName, $keywords='', $fieldname='keywords') { /* {{{ */
?>
<div class="input-append">
<input type="text" name="<?php echo $fieldname; ?>" value="<?php print htmlspecialchars($keywords);?>" />
@ -1158,12 +1180,31 @@ function folderSelected<?php echo $form ?>(id, name) {
</div>
<div class="modal-footer">
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
<button class="btn" data-dismiss="modal" aria-hidden="true" onClick="acceptKeywords();"><i class="icon-save"></i> <?php printMLText("save") ?></button>
<button class="btn" data-dismiss="modal" aria-hidden="true" id="acceptkeywords"><i class="icon-save"></i> <?php printMLText("save") ?></button>
</div>
</div>
<?php
} /* }}} */
function printKeywordChooserJs($formName) { /* {{{ */
?>
$('#acceptkeywords').click(function(ev) {
acceptKeywords();
});
<?php
} /* }}} */
function printKeywordChooser($formName, $keywords='', $fieldname='keywords') { /* {{{ */
$this->printKeywordChooserHtml($formName, $keywords, $fieldname);
?>
<script language="JavaScript">
<?php
$this->printKeywordChooserJs($formName);
?>
</script>
<?php
} /* }}} */
function printAttributeEditField($attrdef, $attribute, $fieldname='attributes') { /* {{{ */
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_boolean:
@ -1214,10 +1255,10 @@ function folderSelected<?php echo $form ?>(id, name) {
}
} /* }}} */
function printDropFolderChooser($formName, $dropfolderfile="") { /* {{{ */
function printDropFolderChooserHtml($formName, $dropfolderfile="") { /* {{{ */
print "<div class=\"input-append\">\n";
print "<input readonly type=\"text\" id=\"dropfolderfile".$formName."\" name=\"dropfolderfile".$formName."\" value=\"".$dropfolderfile."\">";
print "<button type=\"button\" class=\"btn\" onclick=\"javascript:clearFilename".$formName."();\"><i class=\"icon-remove\"></i></button>";
print "<button type=\"button\" class=\"btn\" id=\"clearFilename".$formName."\"><i class=\"icon-remove\"></i></button>";
print "<a data-target=\"#dropfolderChooser\" href=\"out.DropFolderChooser.php?form=form1&dropfolderfile=".$dropfolderfile."\" role=\"button\" class=\"btn\" data-toggle=\"modal\">".getMLText("choose_target_file")."…</a>\n";
print "</div>\n";
?>
@ -1234,7 +1275,11 @@ function folderSelected<?php echo $form ?>(id, name) {
<!-- <button class="btn" data-dismiss="modal" aria-hidden="true" onClick="acceptCategories();"><i class="icon-save"></i> <?php printMLText("save") ?></button> -->
</div>
</div>
<script language="JavaScript">
<?php
} /* }}} */
function printDropFolderChooserJs($formName) { /* {{{ */
?>
/* Set up a callback which is called when a folder in the tree is selected */
modalDropfolderChooser = $('#dropfolderChooser');
function fileSelected(name) {
@ -1244,7 +1289,20 @@ function fileSelected(name) {
function clearFilename<?php print $formName ?>() {
$('#dropfolderfile<?php echo $formName ?>').val('');
}
</script>
$('#clearfilename<?php print $formName ?>').click(function(ev) {
$('#dropfolderfile<?php echo $formName ?>').val('');
});
<?php
} /* }}} */
function printDropFolderChooser($formName, $dropfolderfile="") { /* {{{ */
$this->printDropFolderChooserHtml($formName, $dropfolderfile);
?>
<script language="JavaScript">
<?php
$this->printDropFolderChooserJs($formName);
?>
</script>
<?php
} /* }}} */
@ -1310,6 +1368,21 @@ function clearFilename<?php print $formName ?>() {
exit;
} /* }}} */
function printNewTreeNavigation($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='') { /* {{{ */
$this->printNewTreeNavigationHtml($folderid, $accessmode, $showdocs, $formid, $expandtree, $orderby);
?>
<script language="JavaScript">
<?php
$this->printNewTreeNavigationJs($folderid, $accessmode, $showdocs, $formid, $expandtree, $orderby);
?>
</script>
<?php
} /* }}} */
function printNewTreeNavigationHtml($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='') { /* {{{ */
echo "<div id=\"jqtree".$formid."\" style=\"margin-left: 10px;\" data-url=\"../op/op.Ajax.php?command=subtree&showdocs=".$showdocs."&orderby=".$orderby."\"></div>\n";
} /* }}} */
/**
* Create a tree of folders using jqtree.
*
@ -1322,7 +1395,7 @@ function clearFilename<?php print $formName ?>() {
* @param boolean $showdocs set to true if tree shall contain documents
* as well.
*/
function printNewTreeNavigation($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='', $partialtree=false) { /* {{{ */
function printNewTreeNavigationJs($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='', $partialtree=false) { /* {{{ */
function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0, $orderby='') {
if($path || $expandtree) {
if($path)
@ -1401,9 +1474,7 @@ function clearFilename<?php print $formName ?>() {
$tree = array(array('label'=>$root->getName(), 'id'=>$root->getID(), 'load_on_demand'=>true, 'is_folder'=>true));
}
echo "<div id=\"jqtree".$formid."\" style=\"margin-left: 10px;\" data-url=\"../op/op.Ajax.php?command=subtree&showdocs=".$showdocs."&orderby=".$orderby."\"></div>\n";
?>
<script language="JavaScript">
var data = <?php echo json_encode($tree); ?>;
$(function() {
$('#jqtree<?php echo $formid ?>').tree({
@ -1441,7 +1512,6 @@ $(function() {
}
);
});
</script>
<?php
} /* }}} */
@ -1578,14 +1648,7 @@ $(function() {
function printDeleteDocumentButton($document, $msg, $return=false){ /* {{{ */
$docid = $document->getID();
$content = '';
$content .= '<a id="delete-document-btn-'.$docid.'" rel="'.$docid.'" msg="'.getMLText($msg).'"><i class="icon-remove"></i></a>';
$this->addFooterJS("
$('#delete-document-btn-".$docid."').popover({
title: '".getMLText("rm_document")."',
placement: 'left',
html: true,
content: \"<div>".htmlspecialchars(getMLText("confirm_rm_document", array ("documentname" => $document->getName())), ENT_QUOTES)."</div><div><button class='btn btn-danger removedocument' style='float: right; margin:10px 0px;' rel='".$docid."' msg='".getMLText($msg)."' formtoken='".createFormKey('removedocument')."' id='confirm-delete-document-btn-".$docid."'><i class='icon-remove'></i> ".getMLText("rm_document")."</button> <button type='button' class='btn' style='float: right; margin:10px 10px;' onclick='$(&quot;#delete-document-btn-".$docid."&quot;).popover(&quot;hide&quot;);'>".getMLText('cancel')."</button></div>\"});
");
$content .= '<a class="delete-document-btn" rel="'.$docid.'" msg="'.getMLText($msg).'"confirmmsg="'.htmlspecialchars(getMLText("confirm_rm_document", array ("documentname" => $document->getName())), ENT_QUOTES).'"><i class="icon-remove"></i></a>';
if($return)
return $content;
else
@ -1593,6 +1656,56 @@ $('#delete-document-btn-".$docid."').popover({
return '';
} /* }}} */
function printDeleteDocumentButtonJs(){ /* {{{ */
echo "
$(document).ready(function () {
$('.delete-document-btn').click(function(ev) {
id = $(ev.currentTarget).attr('rel');
confirmmsg = $(ev.currentTarget).attr('confirmmsg');
msg = $(ev.currentTarget).attr('msg');
formtoken = '".createFormKey('removedocument')."';
bootbox.dialog(confirmmsg, [{
\"label\" : \"<i class='icon-remove'></i> ".getMLText("rm_document")."\",
\"class\" : \"btn-danger\",
\"callback\": function() {
$.get('../op/op.Ajax.php',
{ command: 'deletedocument', id: id, formtoken: formtoken },
function(data) {
if(data.success) {
$('#table-row-document-'+id).hide('slow');
noty({
text: msg,
type: 'success',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 1500,
});
} else {
noty({
text: data.message,
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 3500,
});
}
},
'json'
);
}
}, {
\"label\" : \"".getMLText("cancel")."\",
\"class\" : \"btn-cancel\",
\"callback\": function() {
}
}]);
});
});
";
} /* }}} */
/**
* Print button with link for deleting a folder
*
@ -1607,14 +1720,7 @@ $('#delete-document-btn-".$docid."').popover({
function printDeleteFolderButton($folder, $msg, $return=false){ /* {{{ */
$folderid = $folder->getID();
$content = '';
$content .= '<a id="delete-folder-btn-'.$folderid.'" rel="'.$folderid.'" msg="'.getMLText($msg).'"><i class="icon-remove"></i></a>';
$this->addFooterJS("
$('#delete-folder-btn-".$folderid."').popover({
title: '".getMLText("rm_folder")."',
placement: 'left',
html: true,
content: \"<div>".htmlspecialchars(getMLText("confirm_rm_folder", array ("foldername" => $folder->getName())), ENT_QUOTES)."</div><div><button class='btn btn-danger removefolder' style='float: right; margin:10px 0px;' rel='".$folderid."' msg='".getMLText($msg)."' formtoken='".createFormKey('removefolder')."' id='confirm-delete-folder-btn-".$folderid."'><i class='icon-remove'></i> ".getMLText("rm_folder")."</button> <button type='button' class='btn' style='float: right; margin:10px 10px;' onclick='$(&quot;#delete-folder-btn-".$folderid."&quot;).popover(&quot;hide&quot;);'>".getMLText('cancel')."</button></div>\"});
");
$content .= '<a class="delete-folder-btn" rel="'.$folderid.'" msg="'.getMLText($msg).'" confirmmsg="'.htmlspecialchars(getMLText("confirm_rm_folder", array ("foldername" => $folder->getName())), ENT_QUOTES).'"><i class="icon-remove"></i></a>';
if($return)
return $content;
else
@ -1622,6 +1728,56 @@ $('#delete-folder-btn-".$folderid."').popover({
return '';
} /* }}} */
function printDeleteFolderButtonJs(){ /* {{{ */
echo "
$(document).ready(function () {
$('.delete-folder-btn').click(function(ev) {
id = $(ev.currentTarget).attr('rel');
confirmmsg = $(ev.currentTarget).attr('confirmmsg');
msg = $(ev.currentTarget).attr('msg');
formtoken = '".createFormKey('removefolder')."';
bootbox.dialog(confirmmsg, [{
\"label\" : \"<i class='icon-remove'></i> ".getMLText("rm_folder")."\",
\"class\" : \"btn-danger\",
\"callback\": function() {
$.get('../op/op.Ajax.php',
{ command: 'deletefolder', id: id, formtoken: formtoken },
function(data) {
if(data.success) {
$('#table-row-folder-'+id).hide('slow');
noty({
text: msg,
type: 'success',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 1500,
});
} else {
noty({
text: data.message,
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 3500,
});
}
},
'json'
);
}
}, {
\"label\" : \"".getMLText("cancel")."\",
\"class\" : \"btn-cancel\",
\"callback\": function() {
}
}]);
});
});
";
} /* }}} */
function printLockButton($document, $msglock, $msgunlock, $return=false) { /* {{{ */
$docid = $document->getID();
if($document->isLocked()) {
@ -2262,11 +2418,10 @@ mayscript>
*
* @param object $document document
*/
protected function printTimeline($timelineurl, $height=300, $start='', $end='', $skip=array()) { /* {{{ */
protected function printTimelineJs($timelineurl, $height=300, $start='', $end='', $skip=array()) { /* {{{ */
if(!$timelineurl)
return;
?>
<script type="text/javascript">
var timeline;
var data;
@ -2315,10 +2470,20 @@ mayscript>
}
);
});
<?php
} /* }}} */
</script>
protected function printTimelineHtml($height) { /* {{{ */
?>
<div id="timeline" style="height: <?= $height ?>px;"></div>
<?php
} /* }}} */
protected function printTimeline($timelineurl, $height=300, $start='', $end='', $skip=array()) { /* {{{ */
echo "<script type=\"text/javascript\">\n";
$this->printTimelineJs($timelineurl, $height, $start, $end, $skip);
echo "</script>";
$this->printTimelineHtml($height);
} /* }}} */
}
?>

View File

@ -30,68 +30,14 @@ require_once("class.Bootstrap.php");
* @version Release: @package_version@
*/
class SeedDMS_View_Charts extends SeedDMS_Bootstrap_Style {
var $dms;
var $folder_count;
var $document_count;
var $file_count;
var $storage_size;
function show() { /* {{{ */
$this->dms = $this->params['dms'];
$user = $this->params['user'];
$rootfolder = $this->params['rootfolder'];
function js() { /* {{{ */
$data = $this->params['data'];
$type = $this->params['type'];
$this->htmlAddHeader(
'<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.min.js"></script>'."\n".
'<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.pie.min.js"></script>'."\n".
'<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.categories.min.js"></script>'."\n".
'<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.time.min.js"></script>'."\n");
$this->htmlStartPage(getMLText("folders_and_documents_statistic"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
header('Content-Type: application/json');
?>
<?php
echo "<div class=\"row-fluid\">\n";
echo "<div class=\"span3\">\n";
$this->contentHeading(getMLText("chart_selection"));
echo "<div class=\"well\">\n";
foreach(array('docsperuser', 'sizeperuser', 'docspermimetype', 'docspercategory', 'docsperstatus', 'docspermonth', 'docsaccumulated') as $atype) {
echo "<div><a href=\"?type=".$atype."\">".getMLText('chart_'.$atype.'_title')."</a></div>\n";
}
echo "</div>\n";
echo "</div>\n";
if(in_array($type, array('docspermonth', 'docsaccumulated'))) {
echo "<div class=\"span9\">\n";
} else {
echo "<div class=\"span6\">\n";
}
$this->contentHeading(getMLText('chart_'.$type.'_title'));
echo "<div class=\"well\">\n";
?>
<div id="chart" style="height: 400px;" class="chart"></div>
<?php
echo "</div>\n";
echo "</div>\n";
if(!in_array($type, array('docspermonth', 'docsaccumulated'))) {
echo "<div class=\"span3\">\n";
$this->contentHeading(getMLText('legend'));
echo "<div class=\"well\" id=\"legend\">\n";
echo "</div>\n";
echo "</div>\n";
}
echo "</div>\n";
?>
<script type="text/javascript">
$("<div id='tooltip'></div>").css({
position: "absolute",
display: "none",
@ -235,9 +181,62 @@ $(document).ready( function() {
});
<?php
}
} /* }}} */
function show() { /* {{{ */
$this->dms = $this->params['dms'];
$user = $this->params['user'];
$rootfolder = $this->params['rootfolder'];
$data = $this->params['data'];
$type = $this->params['type'];
$this->htmlAddHeader(
'<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.min.js"></script>'."\n".
'<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.pie.min.js"></script>'."\n".
'<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.categories.min.js"></script>'."\n".
'<script type="text/javascript" src="../styles/bootstrap/flot/jquery.flot.time.min.js"></script>'."\n");
$this->htmlStartPage(getMLText("folders_and_documents_statistic"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
?>
</script>
<?php
echo "<div class=\"row-fluid\">\n";
echo "<div class=\"span3\">\n";
$this->contentHeading(getMLText("chart_selection"));
echo "<div class=\"well\">\n";
foreach(array('docsperuser', 'sizeperuser', 'docspermimetype', 'docspercategory', 'docsperstatus', 'docspermonth', 'docsaccumulated') as $atype) {
echo "<div><a href=\"?type=".$atype."\">".getMLText('chart_'.$atype.'_title')."</a></div>\n";
}
echo "</div>\n";
echo "</div>\n";
if(in_array($type, array('docspermonth', 'docsaccumulated'))) {
echo "<div class=\"span9\">\n";
} else {
echo "<div class=\"span6\">\n";
}
$this->contentHeading(getMLText('chart_'.$type.'_title'));
echo "<div class=\"well\">\n";
?>
<div id="chart" style="height: 400px;" class="chart"></div>
<?php
echo "</div>\n";
echo "</div>\n";
if(!in_array($type, array('docspermonth', 'docsaccumulated'))) {
echo "<div class=\"span3\">\n";
$this->contentHeading(getMLText('legend'));
echo "<div class=\"well\" id=\"legend\">\n";
echo "</div>\n";
echo "</div>\n";
}
echo "</div>\n";
$this->contentContainerEnd();
$this->htmlEndPage();

View File

@ -40,23 +40,9 @@ class SeedDMS_View_DocumentAccess extends SeedDMS_Bootstrap_Style {
print "</select>\n";
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$document = $this->params['document'];
$folder = $this->params['folder'];
$allUsers = $this->params['allusers'];
$allGroups = $this->params['allgroups'];
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
function js() { /* {{{ */
header('Content-Type: application/json');
?>
<script language="JavaScript">
function checkForm()
{
msg = new Array();
@ -78,9 +64,29 @@ function checkForm()
else
return true;
}
</script>
$(document).ready( function() {
$('body').on('submit', '#form1', function(ev){
if(checkForm()) return;
event.preventDefault();
});
});
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$document = $this->params['document'];
$folder = $this->params['folder'];
$allUsers = $this->params['allusers'];
$allGroups = $this->params['allgroups'];
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
$this->contentHeading(getMLText("edit_document_access"));
$this->contentContainerStart();
@ -233,7 +239,7 @@ function checkForm()
print "</table><br>";
}
?>
<form action="../op/op.DocumentAccess.php" name="form1" onsubmit="return checkForm();">
<form action="../op/op.DocumentAccess.php" name="form1" id="form1">
<?php echo createHiddenFieldWithKey('documentaccess'); ?>
<input type="Hidden" name="documentid" value="<?php print $document->getId()?>">
<input type="Hidden" name="action" value="addaccess">

View File

@ -31,6 +31,15 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_DocumentChooser extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
$folder = $this->params['folder'];
$form = $this->params['form'];
$partialtree = $this->params['partialtree'];
header('Content-Type: application/json');
$this->printNewTreeNavigationJs($folder->getID(), M_READ, 1, $form, 0, '', $partialtree);
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -38,11 +47,13 @@ class SeedDMS_View_DocumentChooser extends SeedDMS_Bootstrap_Style {
$form = $this->params['form'];
$partialtree = $this->params['partialtree'];
$this->htmlStartPage(getMLText("choose_target_document"));
$this->contentContainerStart();
$this->printNewTreeNavigation($folder->getID(), M_READ, 1, $form, 0, '', $partialtree);
$this->contentContainerEnd();
echo "</body>\n</html>\n";
// $this->htmlStartPage(getMLText("choose_target_document"));
// $this->contentContainerStart();
// $this->printNewTreeNavigationHtml($folder->getID(), M_READ, 1, $form);
$this->printNewTreeNavigationHtml($folder->getID(), M_READ, 1, $form, 0, '', $partialtree);
echo '<script src="../out/out.DocumentChooser.php?action=js&'.$_SERVER['QUERY_STRING'].'"></script>'."\n";
// $this->contentContainerEnd();
// $this->htmlEndPage(true);
} /* }}} */
}
?>

View File

@ -31,22 +31,9 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_DocumentNotify extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$document = $this->params['document'];
$sortusersinlist = $this->params['sortusersinlist'];
$notifyList = $document->getNotifyList();
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
function js() { /* {{{ */
header('Content-Type: application/json');
?>
<script language="JavaScript">
function checkForm()
{
msg = new Array();
@ -67,9 +54,30 @@ function checkForm()
else
return true;
}
</script>
$(document).ready( function() {
$('body').on('submit', '#form1', function(ev){
if(checkForm()) return;
event.preventDefault();
});
});
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$document = $this->params['document'];
$sortusersinlist = $this->params['sortusersinlist'];
$notifyList = $document->getNotifyList();
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
$this->contentHeading(getMLText("edit_existing_notify"));
$this->contentContainerStart();
@ -107,7 +115,7 @@ function checkForm()
?>
<br>
<form action="../op/op.DocumentNotify.php" name="form1" onsubmit="return checkForm();">
<form action="../op/op.DocumentNotify.php" name="form1" id="form1">
<input type="hidden" name="documentid" value="<?php print $document->getID()?>">
<input type="hidden" name="action" value="addnotify">
<table class="table-condensed">

View File

@ -31,6 +31,15 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_DropFolderChooser extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
?>
$('#fileselect').click(function(ev) {
attr_filename = $(ev.currentTarget).attr('filename');
fileSelected(attr_filename);
});
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -75,12 +84,13 @@ var targetName = document.<?php echo $form?>.dropfolderfile<?php print $form ?>;
if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) {
echo "<img class=\"mimeicon\" width=\"".$previewwidth."\"src=\"../op/op.DropFolderPreview.php?filename=".$entry."&width=".$previewwidth."\" title=\"".htmlspecialchars($mimetype)."\">";
}
echo "</td><td><span style=\"cursor: pointer;\" onClick=\"fileSelected('".$entry."');\">".$entry."</span></td><td align=\"right\">".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry))."</td><td>".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."</td></tr>\n";
echo "</td><td><span style=\"cursor: pointer;\" id=\"fileselect\" filename=\"".$entry."\" _onClick=\"fileSelected('".$entry."');\">".$entry."</span></td><td align=\"right\">".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry))."</td><td>".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."</td></tr>\n";
}
}
}
echo "</tbody>\n";
echo "</table>\n";
echo '<script src="../out/out.DropFolderChooser.php?action=js&'.$_SERVER['QUERY_STRING'].'"></script>'."\n";
}
}

View File

@ -31,31 +31,19 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_EditDocument extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$document = $this->params['document'];
$attrdefs = $this->params['attrdefs'];
function js() { /* {{{ */
$strictformcheck = $this->params['strictformcheck'];
$orderby = $this->params['orderby'];
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
$this->printKeywordChooserJs();
?>
<script language="JavaScript">
function checkForm()
{
msg = new Array();
if (document.form1.name.value == "") msg.push("<?php printMLText("js_no_name");?>");
if ($("#name").val() == "") msg.push("<?php printMLText("js_no_name");?>");
<?php
if ($strictformcheck) {
?>
if (document.form1.comment.value == "") msg.push("<?php printMLText("js_no_comment");?>");
if (document.form1.keywords.value == "") msg.push("<?php printMLText("js_no_keywords");?>");
if ($("#comment").val() == "") msg.push("<?php printMLText("js_no_comment");?>");
if ($("#keywords").val() == "") msg.push("<?php printMLText("js_no_keywords");?>");
<?php
}
?>
@ -74,9 +62,30 @@ function checkForm()
else
return true;
}
</script>
$(document).ready( function() {
$('body').on('submit', '#form1', function(ev){
if(checkForm()) return;
event.preventDefault();
});
});
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$folder = $this->params['folder'];
$document = $this->params['document'];
$attrdefs = $this->params['attrdefs'];
$strictformcheck = $this->params['strictformcheck'];
$orderby = $this->params['orderby'];
$this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))));
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
$this->contentHeading(getMLText("edit_document_props"));
$this->contentContainerStart();
@ -85,22 +94,22 @@ function checkForm()
else
$expdate = '';
?>
<form action="../op/op.EditDocument.php" name="form1" onsubmit="return checkForm();" method="post">
<form action="../op/op.EditDocument.php" name="form1" id="form1" method="post">
<input type="hidden" name="documentid" value="<?php echo $document->getID() ?>">
<table cellpadding="3">
<tr>
<td class="inputDescription"><?php printMLText("name");?>:</td>
<td><input type="text" name="name" value="<?php print htmlspecialchars($document->getName());?>" size="60"></td>
<td><input type="text" name="name" id="name" value="<?php print htmlspecialchars($document->getName());?>" size="60"></td>
</tr>
<tr>
<td valign="top" class="inputDescription"><?php printMLText("comment");?>:</td>
<td><textarea name="comment" rows="4" cols="80"><?php print htmlspecialchars($document->getComment());?></textarea></td>
<td><textarea name="comment" id="comment" rows="4" cols="80"><?php print htmlspecialchars($document->getComment());?></textarea></td>
</tr>
<tr>
<td valign="top" class="inputDescription"><?php printMLText("keywords");?>:</td>
<td class="standardText">
<?php
$this->printKeywordChooser('form1', $document->getKeywords());
$this->printKeywordChooserHtml('form1', $document->getKeywords());
?>
</td>
</tr>

View File

@ -31,6 +31,15 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_FolderChooser extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
$rootfolderid = $this->params['rootfolderid'];
$form = $this->params['form'];
$mode = $this->params['mode'];
header('Content-Type: application/json');
$this->printNewTreeNavigationJs($rootfolderid, $mode, 0, $form);
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -39,11 +48,16 @@ class SeedDMS_View_FolderChooser extends SeedDMS_Bootstrap_Style {
$form = $this->params['form'];
$rootfolderid = $this->params['rootfolderid'];
$this->htmlStartPage(getMLText("choose_target_folder"));
$this->contentContainerStart();
$this->printNewTreeNavigation($rootfolderid, $mode, 0, $form);
$this->contentContainerEnd();
echo "</body>\n</html>\n";
// $this->htmlStartPage(getMLText("choose_target_folder"));
// $this->contentContainerStart();
if(1) {
$this->printNewTreeNavigationHtml($rootfolderid, $mode, 0, $form);
echo '<script src="../out/out.FolderChooser.php?action=js&'.$_SERVER['QUERY_STRING'].'"></script>'."\n";
} else {
$this->printNewTreeNavigation($rootfolderid, $mode, 0, $form);
}
// $this->contentContainerEnd();
// $this->htmlEndPage(true);
} /* }}} */
}
?>

View File

@ -31,36 +31,24 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_GroupMgr extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
function js() { /* {{{ */
$selgroup = $this->params['selgroup'];
$allUsers = $this->params['allusers'];
$allGroups = $this->params['allgroups'];
$strictformcheck = $this->params['strictformcheck'];
$this->htmlStartPage(getMLText("admin_tools"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
header("Content-type: text/javascript");
?>
<script language="JavaScript">
function checkForm1(num) {
function checkForm1() {
msg = new Array();
eval("var formObj = document.form" + num + "_1;");
if (formObj.name.value == "") msg.push("<?php printMLText("js_no_name");?>");
if($("#name").val() == "") msg.push("<?php printMLText("js_no_name");?>");
<?php
if ($strictformcheck) {
?>
if (formObj.comment.value == "") msg.push("<?php printMLText("js_no_comment");?>");
if($("#comment").val() == "") msg.push("<?php printMLText("js_no_comment");?>");
<?php
}
?>
if (msg != "")
{
if (msg != "") {
noty({
text: msg.join('<br />'),
type: 'error',
@ -70,117 +58,133 @@ function checkForm1(num) {
_timeout: 1500,
});
return false;
}
else
} else
return true;
}
function checkForm2(num) {
function checkForm2() {
msg = "";
eval("var formObj = document.form" + num + "_2;");
if (formObj.userid.options[formObj.userid.selectedIndex].value == -1) msg += "<?php printMLText("js_select_user");?>\n";
if($("#userid").val() == -1) msg += "<?php printMLText("js_select_user");?>\n";
if (msg != "")
{
noty({
text: msg,
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
if (msg != "") {
noty({
text: msg,
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
} else
return true;
}
else
return true;
}
obj = -1;
function showUser(selectObj) {
if (obj != -1)
obj.style.display = "none";
id = selectObj.options[selectObj.selectedIndex].value;
if (id == -1)
return;
obj = document.getElementById("keywords" + id);
obj.style.display = "";
}
</script>
$(document).ready( function() {
$('body').on('submit', '#form_1', function(ev){
if(checkForm1())
return;
event.preventDefault();
});
$('body').on('submit', '#form_2', function(ev){
if(checkForm2())
return;
event.preventDefault();
});
$( "#selector" ).change(function() {
$('div.ajax').trigger('update', {groupid: $(this).val()});
});
});
<?php
$this->contentHeading(getMLText("group_management"));
} /* }}} */
function info() { /* {{{ */
$dms = $this->params['dms'];
$selgroup = $this->params['selgroup'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
if($selgroup) {
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
$this->contentHeading(getMLText("group_info"));
echo "<table class=\"table table-condensed\">\n";
$reviewstatus = $selgroup->getReviewStatus();
$i = 0;
foreach($reviewstatus as $rv) {
if($rv['status'] == 0) {
$i++;
/*
$document = $dms->getDocument($rv['documentID']);
$latestContent = $document->getLatestContent();
$previewer->createPreview($latestContent);
echo "<tr>";
print "<td><a href=\"../op/op.Download.php?documentid=".$res["documentID"]."&version=".$res["version"]."\">";
if($previewer->hasPreview($latestContent)) {
print "<img class=\"mimeicon\" width=\"".$previewwidth."\"src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
} else {
print "<img class=\"mimeicon\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
}
print "</a></td>";
print "<td><a href=\"out.ViewDocument.php?documentid=".$document->getID()."&currenttab=revapp\">".htmlspecialchars($document->getName())."</a></td>";
echo "</tr>";
*/
}
}
echo "<tr><td>".getMLText('pending_reviews')."</td><td>".$i."</td></tr>";
$approvalstatus = $selgroup->getApprovalStatus();
$i = 0;
foreach($approvalstatus as $rv) {
if($rv['status'] == 0) {
$i++;
}
}
echo "<tr><td>".getMLText('pending_approvals')."</td><td>".$i."</td></tr>";
echo "</table>";
}
} /* }}} */
function showGroupForm($group) { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$allUsers = $this->params['allusers'];
$groups = $this->params['allgroups'];
?>
<div class="row-fluid">
<div class="span4">
<div class="well">
<?php echo getMLText("selection")?>:
<select onchange="showUser(this)" id="selector" class="span9">
<option value="-1"><?php echo getMLText("choose_group")?>
<option value="0"><?php echo getMLText("add_group")?>
<form action="../op/op.GroupMgr.php" name="form_1" id="form_1" method="post">
<?php
if($group) {
echo createHiddenFieldWithKey('editgroup');
?>
<input type="hidden" name="groupid" value="<?php print $group->getID();?>">
<input type="hidden" name="action" value="editgroup">
<?php
} else {
echo createHiddenFieldWithKey('addgroup');
?>
<input type="hidden" name="action" value="addgroup">
<?php
$selected=0;
$count=2;
foreach ($allGroups as $group) {
if ($selgroup && $group->getID()==$selgroup->getID()) $selected=$count;
print "<option value=\"".$group->getID()."\">" . htmlspecialchars($group->getName());
$count++;
}
?>
</select>
</div>
</div>
<div class="span8">
<div class="well">
<table class="table-condensed">
<tr>
<td id="keywords0" style="display : none;">
<form action="../op/op.GroupMgr.php" name="form0_1" method="post" onsubmit="return checkForm1('0');">
<?php echo createHiddenFieldWithKey('addgroup'); ?>
<input type="Hidden" name="action" value="addgroup">
<table>
<tr>
<td><?php printMLText("name");?>:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td><?php printMLText("comment");?>:</td>
<td><textarea name="comment" rows="4" cols="50"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" class="btn" value="<?php printMLText("add_group");?>"></td>
</tr>
</table>
</form>
</td>
<?php
foreach ($allGroups as $group) {
print "<td id=\"keywords".$group->getID()."\" style=\"display : none;\">";
<table class="table-condensed">
<?php
if($group) {
?>
<form action="../op/op.GroupMgr.php" name="form<?php print $group->getID();?>_1" method="post" onsubmit="return checkForm1('<?php print $group->getID();?>');">
<?php echo createHiddenFieldWithKey('editgroup'); ?>
<input type="Hidden" name="groupid" value="<?php print $group->getID();?>">
<input type="Hidden" name="action" value="editgroup">
<table>
<tr>
<td></td>
<td><a href="../out/out.RemoveGroup.php?groupid=<?php print $group->getID();?>" class="btn"><i class="icon-remove"></i> <?php printMLText("rm_group");?></a></td>
</tr>
<?php
}
?>
<tr>
<td><?php printMLText("name");?>:</td>
<td><input type="text" name="name" value="<?php print htmlspecialchars($group->getName());?>"></td>
<td><input type="text" name="name" id="name" value="<?php print $group ? htmlspecialchars($group->getName()) : '';?>"></td>
</tr>
<tr>
<td><?php printMLText("comment");?>:</td>
<td><textarea name="comment" rows="4" cols="50"><?php print htmlspecialchars($group->getComment());?></textarea></td>
<td><textarea name="comment" id="comment" rows="4" cols="50"><?php print $group ? htmlspecialchars($group->getComment()) : '';?></textarea></td>
</tr>
<tr>
<td></td>
@ -189,6 +193,7 @@ function showUser(selectObj) {
</table>
</form>
<?php
if($group) {
$this->contentSubHeading(getMLText("group_members"));
?>
<table class="table-condensed">
@ -218,14 +223,14 @@ function showUser(selectObj) {
$this->contentSubHeading(getMLText("add_member"));
?>
<form class="form-inline" action="../op/op.GroupMgr.php" method="POST" name="form<?php print $group->getID();?>_2" onsubmit="return checkForm2('<?php print $group->getID();?>');">
<form class="form-inline" action="../op/op.GroupMgr.php" method="POST" name="form_2" id="form_2" _onsubmit="return checkForm2('<?php print $group->getID();?>');">
<?php echo createHiddenFieldWithKey('addmember'); ?>
<input type="Hidden" name="action" value="addmember">
<input type="Hidden" name="groupid" value="<?php print $group->getID();?>">
<table class="table-condensed">
<tr>
<td>
<select name="userid">
<select name="userid" id="userid">
<option value="-1"><?php printMLText("select_one");?>
<?php
foreach ($allUsers as $currUser)
@ -243,23 +248,56 @@ function showUser(selectObj) {
</tr>
</table>
</form>
</td>
<?php } ?>
<?php
}
} /* }}} */
</tr>
</table>
function form() { /* {{{ */
$selgroup = $this->params['selgroup'];
$this->showGroupForm($selgroup);
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$selgroup = $this->params['selgroup'];
$allUsers = $this->params['allusers'];
$allGroups = $this->params['allgroups'];
$strictformcheck = $this->params['strictformcheck'];
$this->htmlStartPage(getMLText("admin_tools"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
$this->contentHeading(getMLText("group_management"));
?>
<div class="row-fluid">
<div class="span4">
<div class="well">
<?php echo getMLText("selection")?>:
<select class="chzn-select" id="selector" class="span9">
<option value="-1"><?php echo getMLText("choose_group")?>
<option value="0"><?php echo getMLText("add_group")?>
<?php
foreach ($allGroups as $group) {
print "<option value=\"".$group->getID()."\" ".($selgroup && $group->getID()==$selgroup->getID() ? 'selected' : '').">" . htmlspecialchars($group->getName());
}
?>
</select>
</div>
<div class="ajax" data-view="GroupMgr" data-action="info" <?php echo ($selgroup ? "data-query=\"groupid=".$selgroup->getID()."\"" : "") ?>></div>
</div>
<div class="span8">
<div class="well">
<div class="ajax" data-view="GroupMgr" data-action="form" <?php echo ($selgroup ? "data-query=\"groupid=".$selgroup->getID()."\"" : "") ?>></div>
</div>
</div>
</div>
<script language="JavaScript">
sel = document.getElementById("selector");
sel.selectedIndex=<?php print $selected ?>;
showUser(sel);
</script>
<?php
$this->contentContainerEnd();
$this->htmlEndPage();

View File

@ -31,15 +31,10 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_KeywordChooser extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$categories = $this->params['categories'];
function js() { /* {{{ */
$form = $this->params['form'];
// $this->htmlStartPage(getMLText("use_default_keywords"));
header('Content-Type: application/json');
?>
<script language="JavaScript">
var targetObj = document.<?php echo $form ?>.keywords;
var myTA;
@ -89,7 +84,34 @@ function showKeywords(which) {
obj[which] = document.getElementById("keywords" + id);
obj[which].style.display = "";
}
</script>
$('#categories0').change(function(ev) {
showKeywords(0);
});
$('#categories1').change(function(ev) {
showKeywords(1);
});
$('.insertkeyword').click(function(ev) {
attr_keyword = $(ev.currentTarget).attr('keyword');
insertKeywords(attr_keyword);
});
myTA = document.getElementById("keywordta");
myTA.value = targetObj.value;
myTA.focus();
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$categories = $this->params['categories'];
$form = $this->params['form'];
// $this->htmlStartPage(getMLText("use_default_keywords"));
?>
<div>
<?php
@ -106,7 +128,7 @@ function showKeywords(which) {
<tr>
<td class="inputDescription"><?php echo getMLText("global_default_keywords")?>:</td>
<td>
<select onchange="showKeywords(0)" id="categories0">
<select _onchange="showKeywords(0)" id="categories0">
<option value="-1"><?php echo getMLText("choose_category")?>
<?php
foreach ($categories as $category) {
@ -136,7 +158,7 @@ function showKeywords(which) {
else {
print "<ul>";
foreach ($lists as $list) {
print "<li><a href='javascript:insertKeywords(\"".htmlspecialchars($list["keywords"])."\");'>".htmlspecialchars($list["keywords"])."</a></li>";
print "<li><a class=\"insertkeyword\" keyword=\"".htmlspecialchars($list["keywords"])."\">".htmlspecialchars($list["keywords"])."</a></li>";
}
print "</ul>";
}
@ -147,7 +169,7 @@ function showKeywords(which) {
<tr>
<td class="inputDescription"><?php echo getMLText("personal_default_keywords")?>:</td>
<td>
<select onchange="showKeywords(1)" id="categories1">
<select _onchange="showKeywords(1)" id="categories1">
<option value="-1"><?php echo getMLText("choose_category")?>
<?php
foreach ($categories as $category) {
@ -188,13 +210,7 @@ function showKeywords(which) {
<?php
$this->contentContainerEnd();
?>
<script language="JavaScript">
myTA = document.getElementById("keywordta");
myTA.value = targetObj.value;
myTA.focus();
</script>
<?php
echo '<script src="../out/out.KeywordChooser.php?action=js&'.$_SERVER['QUERY_STRING'].'"></script>'."\n";
// $this->htmlEndPage();
// echo "</body>\n</html>\n";
} /* }}} */

View File

@ -67,7 +67,10 @@ 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";
} /* }}} */
function js() { /* {{{ */
header('Content-Type: application/json');
?>
$(document).ready( function() {
$('i.icon-arrow-up').on('click', function(e) {
@ -78,7 +81,6 @@ $(document).ready( function() {
});
<?php
echo "</script>\n";
} /* }}} */
function show() { /* {{{ */

View File

@ -31,6 +31,12 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_MoveDocument extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
header('Content-Type: application/json');
$this->printFolderChooserJs("form1");
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -50,7 +56,7 @@ class SeedDMS_View_MoveDocument extends SeedDMS_Bootstrap_Style {
<table>
<tr>
<td><?php printMLText("choose_target_folder");?>:</td>
<td><?php $this->printFolderChooser("form1", M_READWRITE, -1, $target);?></td>
<td><?php $this->printFolderChooserHtml("form1", M_READWRITE, -1, $target);?></td>
</tr>
<tr>
<td colspan="2"><input type="submit" class="btn" value="<?php printMLText("move");?>"></td>

View File

@ -47,6 +47,14 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
return $str;
} /* }}} */
function js() { /* {{{ */
header('Content-Type: application/json');
$this->printFolderChooserJs("form1");
$this->printDeleteFolderButtonJs();
$this->printDeleteDocumentButtonJs();
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -83,6 +91,8 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
$previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/bootbox/bootbox.min.js"></script>'."\n", 'js');
$this->htmlStartPage(getMLText("search_results"));
$this->globalNavigation();
$this->contentStart();
@ -104,7 +114,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
</ul>
<div class="tab-content">
<div class="tab-pane <?php echo ($fullsearch == false) ? 'active' : ''; ?>" id="database">
<form action="../op/op.Search.php" name="form1" onsubmit="return checkForm();">
<form action="../out/out.Search.php" name="form1">
<?php
// Database search Form {{{
$this->contentContainerStart();
@ -156,7 +166,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
</tr>
<tr>
<td><?php printMLText("under_folder")?>:</td>
<td><?php $this->printFolderChooser("form1", M_READ, -1, $startfolder);?></td>
<td><?php $this->printFolderChooserHtml("form1", M_READ, -1, $startfolder);?></td>
</tr>
<tr>
<td><?php printMLText("creation_date");?>:</td>
@ -390,7 +400,7 @@ $(document).ready( function() {
echo "<div class=\"tab-pane ".(($fullsearch == true) ? 'active' : '')."\" id=\"fulltext\">\n";
$this->contentContainerStart();
?>
<form action="../op/op.Search.php" name="form2" onsubmit="return checkForm();" style="min-height: 330px;">
<form action="../out/out.Search.php" name="form2" style="min-height: 330px;">
<input type="hidden" name="fullsearch" value="1" />
<table class="table-condensed">
<tr>
@ -466,7 +476,7 @@ $(document).ready( function() {
}
*/
print "<div class=\"alert\">".getMLText("search_report", array("doccount" => $totaldocs, "foldercount" => $totalfolders, 'searchtime'=>$searchTime))."</div>";
$this->pageList($pageNumber, $totalpages, "../op/op.Search.php", $urlparams);
$this->pageList($pageNumber, $totalpages, "../out/out.Search.php", $urlparams);
// $this->contentContainerStart();
print "<table class=\"table\">";
@ -642,7 +652,7 @@ $(document).ready( function() {
}
print "</tbody></table>\n";
// $this->contentContainerEnd();
$this->pageList($pageNumber, $totalpages, "../op/op.Search.php", $_GET);
$this->pageList($pageNumber, $totalpages, "../out/out.Search.php", $_GET);
} else {
$numResults = $totaldocs + $totalfolders;
if ($numResults == 0) {

View File

@ -175,20 +175,6 @@ class SeedDMS_View_Statistic extends SeedDMS_Bootstrap_Style {
}
</style>
<script language="JavaScript">
function showDocument(id) {
url = "out.DetailedStatistic.php?documentid=" + id;
alert(url);
}
function showFolder(id) {
url = "out.DetailedStatistic.php?folderid=" + id;
alert(url);
}
</script>
<?php
$this->contentHeading(getMLText("folders_and_documents_statistic"));

View File

@ -30,11 +30,6 @@ require_once("class.Bootstrap.php");
* @version Release: @package_version@
*/
class SeedDMS_View_Timeline extends SeedDMS_Bootstrap_Style {
var $dms;
var $folder_count;
var $document_count;
var $file_count;
var $storage_size;
function iteminfo() { /* {{{ */
$dms = $this->params['dms'];
@ -130,6 +125,30 @@ class SeedDMS_View_Timeline extends SeedDMS_Bootstrap_Style {
echo json_encode($jsondata);
} /* }}} */
function js() { /* {{{ */
header('Content-Type: application/json');
?>
$(document).ready(function () {
$('#update').click(function(ev){
ev.preventDefault();
$.getJSON(
'out.Timeline.php?action=data&' + $('#form1').serialize(),
function(data) {
$.each( data, function( key, val ) {
val.start = new Date(val.start);
});
timeline.setData(data);
timeline.redraw();
// timeline.setVisibleChartRange(0,0);
}
);
});
});
<?php
$timelineurl = 'out.Timeline.php?action=data&fromdate='.date('Y-m-d', $from).'&todate='.date('Y-m-d', $to).'&skip='.urldecode(http_build_query(array('skip'=>$skip)));
$this->printTimelineJs($timelineurl, 550, ''/*date('Y-m-d', $from)*/, ''/*date('Y-m-d', $to+1)*/, $skip);
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -160,11 +179,11 @@ class SeedDMS_View_Timeline extends SeedDMS_Bootstrap_Style {
?>
<?php
echo "<div class=\"row-fluid\">\n";
echo "<div class=\"row-fluid\">\n";
echo "<div class=\"span3\">\n";
$this->contentHeading(getMLText("timeline"));
echo "<div class=\"well\">\n";
echo "<div class=\"span3\">\n";
$this->contentHeading(getMLText("timeline"));
echo "<div class=\"well\">\n";
?>
<form action="../out/out.Timeline.php" class="form form-inline" name="form1" id="form1">
<div class="control-group">
@ -200,39 +219,18 @@ echo "<div class=\"well\">\n";
</div>
</form>
<?php
$timelineurl = 'out.Timeline.php?action=data&fromdate='.date('Y-m-d', $from).'&todate='.date('Y-m-d', $to).'&skip='.urldecode(http_build_query(array('skip'=>$skip)));
?>
<script type="text/javascript">
$(document).ready(function () {
$('#update').click(function(ev){
ev.preventDefault();
$.getJSON(
'out.Timeline.php?action=data&' + $('#form1').serialize(),
function(data) {
$.each( data, function( key, val ) {
val.start = new Date(val.start);
});
timeline.setData(data);
timeline.redraw();
// timeline.setVisibleChartRange(0,0);
}
);
});
});
</script>
<?php
echo "</div>\n";
echo "<div class=\"ajax\" data-view=\"Timeline\" data-action=\"iteminfo\" ></div>";
echo "</div>\n";
echo "</div>\n";
echo "<div class=\"ajax\" data-view=\"Timeline\" data-action=\"iteminfo\" ></div>";
echo "</div>\n";
echo "<div class=\"span9\">\n";
$this->contentHeading(getMLText("timeline"));
$this->printTimeline($timelineurl, 550, ''/*date('Y-m-d', $from)*/, ''/*date('Y-m-d', $to+1)*/, $skip);
echo "</div>\n";
echo "</div>\n";
echo "<div class=\"span9\">\n";
$this->contentHeading(getMLText("timeline"));
$this->printTimelineHtml(550);
echo "</div>\n";
echo "</div>\n";
$this->contentContainerEnd();
$this->htmlEndPage();
$this->contentContainerEnd();
$this->htmlEndPage();
} /* }}} */
}
?>

View File

@ -50,6 +50,51 @@ $(document).ready( function() {
<?php
} /* }}} */
function js() { /* {{{ */
$strictformcheck = $this->params['strictformcheck'];
$dropfolderdir = $this->params['dropfolderdir'];
$this->printDropFolderChooserJs("form1");
?>
function checkForm()
{
msg = new Array();
<?php if($dropfolderdir) { ?>
if ($("#userfile").val() == "" && $("#dropfolderfileform1").val() == "") msg.push("<?php printMLText("js_no_file");?>");
<?php } else { ?>
if ($("#userfile").val() == "") msg.push("<?php printMLText("js_no_file");?>");
<?php } ?>
<?php
if ($strictformcheck) {
?>
if ($("#comment").val() == "") msg.push("<?php printMLText("js_no_comment");?>");
<?php
}
?>
if (msg != "")
{
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
else
return true;
}
$(document).ready( function() {
$('body').on('submit', '#form1', function(ev){
if(checkForm()) return;
event.preventDefault();
});
});
<?php
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -70,42 +115,7 @@ $(document).ready( function() {
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
$this->contentHeading(getMLText("update_document"));
?>
<script language="JavaScript">
function checkForm()
{
msg = new Array();
<?php if($dropfolderdir) { ?>
if (document.form1.userfile.value == "" && document.form1.dropfolderfileform1.value == "") msg.push("<?php printMLText("js_no_file");?>");
<?php } else { ?>
if (document.form1.userfile.value == "") msg.push("<?php printMLText("js_no_file");?>");
<?php } ?>
<?php
if ($strictformcheck) {
?>
if (document.form1.comment.value == "") msg.push("<?php printMLText("js_no_comment");?>");
<?php
}
?>
if (msg != "")
{
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
else
return true;
}
</script>
<?php
if ($document->isLocked()) {
$lockingUser = $document->getLockingUser();
@ -154,7 +164,7 @@ function checkForm()
$this->contentContainerStart();
?>
<form action="../op/op.UpdateDocument.php" enctype="multipart/form-data" method="post" name="form1" onsubmit="return checkForm();">
<form action="../op/op.UpdateDocument.php" enctype="multipart/form-data" method="post" name="form1" id="form1">
<input type="hidden" name="documentid" value="<?php print $document->getID(); ?>">
<table class="table-condensed">
@ -169,7 +179,7 @@ function checkForm()
<?php if($dropfolderdir) { ?>
<tr>
<td><?php printMLText("dropfolder_file");?>:</td>
<td><?php $this->printDropFolderChooser("form1");?></td>
<td><?php $this->printDropFolderChooserHtml("form1");?></td>
</tr>
<?php } ?>
<tr>

View File

@ -31,6 +31,52 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_UsrMgr extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
$seluser = $this->params['seluser'];
?>
function checkForm()
{
msg = new Array();
if($("#login").val() == "") msg.push("<?php printMLText("js_no_login");?>");
if(($("#userid").val() == "0") && ($("#pwd").val() == "")) msg.push("<?php printMLText("js_no_pwd");?>");
if(($("#pwd").val() != $("#pwdconf").val())&&($("#pwd").val() != "")&&($("#pwd").val() != "")) msg.push("<?php printMLText("js_pwd_not_conf");?>");
if($("#name").val() == "") msg.push("<?php printMLText("js_no_name");?>");
if($("#email").val() == "") msg.push("<?php printMLText("js_no_email");?>");
<?php
if ($strictformcheck) {
?>
if($("#comment").val() == "") msg.push("<?php printMLText("js_no_comment");?>");
<?php
}
?>
if (msg != "") {
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
else
return true;
}
$(document).ready( function() {
$('body').on('submit', '#form', function(ev){
if(checkForm()) return;
event.preventDefault();
});
$( "#selector" ).change(function() {
$('div.ajax').trigger('update', {userid: $(this).val()});
});
});
<?php
} /* }}} */
function info() { /* {{{ */
$dms = $this->params['dms'];
$seluser = $this->params['seluser'];
@ -78,17 +124,18 @@ class SeedDMS_View_UsrMgr extends SeedDMS_Bootstrap_Style {
$workflowmode = $this->params['workflowmode'];
$quota = $this->params['quota'];
?>
<form action="../op/op.UsrMgr.php" method="post" enctype="multipart/form-data" name="form<?php print $currUser ? $currUser->getID() : '0';?>" onsubmit="return checkForm('<?php print $currUser ? $currUser->getID() : '0';?>');">
<form action="../op/op.UsrMgr.php" method="post" enctype="multipart/form-data" name="form" id="form">
<?php
if($currUser) {
echo createHiddenFieldWithKey('edituser');
?>
<input type="hidden" name="userid" value="<?php print $currUser->getID();?>">
<input type="hidden" name="userid" id="userid" value="<?php print $currUser->getID();?>">
<input type="hidden" name="action" value="edituser">
<?php
} else {
echo createHiddenFieldWithKey('adduser');
?>
<input type="hidden" id="userid" value="0">
<input type="hidden" name="action" value="adduser">
<?php
}
@ -99,18 +146,18 @@ class SeedDMS_View_UsrMgr extends SeedDMS_Bootstrap_Style {
?>
<tr>
<td></td>
<td><a class="standardText btn" href="../out/out.RemoveUser.php?userid=<?php print $currUser->getID();?>"><i class="icon-remove"></i> <?php printMLText("rm_user");?></a></td>
<td><a class="btn" href="../out/out.RemoveUser.php?userid=<?php print $currUser->getID();?>"><i class="icon-remove"></i> <?php printMLText("rm_user");?></a></td>
</tr>
<?php
}
?>
<tr>
<td><?php printMLText("user_login");?>:</td>
<td><input type="text" name="login" value="<?php print $currUser ? htmlspecialchars($currUser->getLogin()) : "";?>"></td>
<td><input type="text" name="login" id="login" value="<?php print $currUser ? htmlspecialchars($currUser->getLogin()) : "";?>"></td>
</tr>
<tr>
<td><?php printMLText("password");?>:</td>
<td><input type="password" class="pwd" rel="strengthbar<?php echo $currUser ? $currUser->getID() : "0"; ?>" name="pwd"></td>
<td><input type="password" class="pwd" rel="strengthbar<?php echo $currUser ? $currUser->getID() : "0"; ?>" name="pwd" id="pwd"></td>
</tr>
<?php
if($passwordstrength > 0) {
@ -126,7 +173,7 @@ class SeedDMS_View_UsrMgr extends SeedDMS_Bootstrap_Style {
?>
<tr>
<td><?php printMLText("confirm_pwd");?>:</td>
<td><input type="Password" name="pwdconf"></td>
<td><input type="Password" name="pwdconf" id="pwdconf"></td>
</tr>
<?php
if($passwordexpiration > 0) {
@ -140,15 +187,15 @@ class SeedDMS_View_UsrMgr extends SeedDMS_Bootstrap_Style {
?>
<tr>
<td><?php printMLText("user_name");?>:</td>
<td><input type="text" name="name" value="<?php print $currUser ? htmlspecialchars($currUser->getFullName()) : "";?>"></td>
<td><input type="text" name="name" id="name" value="<?php print $currUser ? htmlspecialchars($currUser->getFullName()) : "";?>"></td>
</tr>
<tr>
<td><?php printMLText("email");?>:</td>
<td><input type="text" name="email" value="<?php print $currUser ? htmlspecialchars($currUser->getEmail()) : "";?>"></td>
<td><input type="text" name="email" id="email" value="<?php print $currUser ? htmlspecialchars($currUser->getEmail()) : "";?>"></td>
</tr>
<tr>
<td><?php printMLText("comment");?>:</td>
<td><textarea name="comment" rows="4" cols="50"><?php print $currUser ? htmlspecialchars($currUser->getComment()) : "";?></textarea></td>
<td><textarea name="comment" id="comment" rows="4" cols="50"><?php print $currUser ? htmlspecialchars($currUser->getComment()) : "";?></textarea></td>
</tr>
<tr>
<td><?php printMLText("role");?>:</td>
@ -404,59 +451,18 @@ class SeedDMS_View_UsrMgr extends SeedDMS_Bootstrap_Style {
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
?>
<script language="JavaScript">
function checkForm(num)
{
msg = new Array();
eval("var formObj = document.form" + num + ";");
if (formObj.login.value == "") msg.push("<?php printMLText("js_no_login");?>");
if ((num == '0') && (formObj.pwd.value == "")) msg.push("<?php printMLText("js_no_pwd");?>");
if ((formObj.pwd.value != formObj.pwdconf.value)&&(formObj.pwd.value != "" )&&(formObj.pwd.value != "" )) msg.push("<?php printMLText("js_pwd_not_conf");?>");
if (formObj.name.value == "") msg.push("<?php printMLText("js_no_name");?>");
if (formObj.email.value == "") msg.push("<?php printMLText("js_no_email");?>");
//if (formObj.comment.value == "") msg.push("<?php printMLText("js_no_comment");?>");
if (msg != "")
{
noty({
text: msg.join('<br />'),
type: 'error',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
_timeout: 1500,
});
return false;
}
else
return true;
}
function showUser(selectObj) {
id = selectObj.options[selectObj.selectedIndex].value;
$('div.ajax').trigger('update', {userid: id});
}
</script>
<?php
$this->contentHeading(getMLText("user_management"));
?>
<div class="row-fluid">
<div class="span4">
<div class="well">
<?php echo getMLText("selection")?>:
<select class="chzn-select" onchange="showUser(this)" id="selector" class="span9">
<select class="chzn-select" id="selector" class="span9">
<option value="-1"><?php echo getMLText("choose_user")?>
<option value="0"><?php echo getMLText("add_user")?>
<?php
$selected=0;
$count=2;
foreach ($users as $currUser) {
if ($seluser && $currUser->getID()==$seluser->getID()) $selected=$count;
print "<option value=\"".$currUser->getID()."\">" . htmlspecialchars($currUser->getLogin() . " - ". $currUser->getFullName());
$count++;
print "<option value=\"".$currUser->getID()."\" ".($seluser && $currUser->getID()==$seluser->getID() ? 'selected' : '').">" . htmlspecialchars($currUser->getLogin() . " - ". $currUser->getFullName());
}
?>
</select>
@ -470,15 +476,6 @@ function showUser(selectObj) {
</div>
</div>
<script language="JavaScript">
sel = document.getElementById("selector");
sel.selectedIndex=<?php print $selected ?>;
showUser(sel);
</script>
<?php
$this->htmlEndPage();
} /* }}} */

View File

@ -148,6 +148,14 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
echo json_encode($jsondata);
} /* }}} */
function js() { /* {{{ */
$document = $this->params['document'];
header('Content-Type: application/json');
$this->printTimelineJs('out.ViewDocument.php?action=timelinedata&documentid='.$document->getID(), 300, '', date('Y-m-d'));
$this->printDocumentChooserJs("form1");
} /* }}} */
function show() { /* {{{ */
parent::show();
$dms = $this->params['dms'];
@ -1380,7 +1388,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
<table class="table-condensed">
<tr>
<td><?php printMLText("add_document_link");?>:</td>
<td><?php $this->printDocumentChooser("form1");?></td>
<td><?php $this->printDocumentChooserHtml("form1");?></td>
</tr>
<?php
if ($document->getAccessMode($user) >= M_READWRITE) {
@ -1468,7 +1476,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
}
$item['msg'] = $msg;
}
$this->printTimeline('out.ViewDocument.php?action=timelinedata&documentid='.$document->getID(), 300, '', date('Y-m-d'));
// $this->printTimeline('out.ViewDocument.php?action=timelinedata&documentid='.$document->getID(), 300, '', date('Y-m-d'));
$this->printTimelineHtml(300);
}
}
?>

View File

@ -71,6 +71,33 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
}
} /* }}} */
function js() { /* {{{ */
$user = $this->params['user'];
$folder = $this->params['folder'];
$orderby = $this->params['orderby'];
$expandFolderTree = $this->params['expandFolderTree'];
$enableDropUpload = $this->params['enableDropUpload'];
header('Content-Type: application/json');
?>
function folderSelected(id, name) {
window.location = '../out/out.ViewFolder.php?folderid=' + id;
}
<?php
$this->printNewTreeNavigationJs($folder->getID(), M_READ, 0, '', $expandFolderTree == 2, $orderby);
if (0 && $enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) {
echo "SeedDMSUpload.setUrl('../op/op.Ajax.php');";
echo "SeedDMSUpload.setAbortBtnLabel('".getMLText("cancel")."');";
echo "SeedDMSUpload.setEditBtnLabel('".getMLText("edit_document_props")."');";
echo "SeedDMSUpload.setMaxFileSize(".SeedDMS_Core_File::parse_filesize(ini_get("upload_max_filesize")).");";
echo "SeedDMSUpload.setMaxFileSizeMsg('".getMLText("uploading_maxsize")."');";
}
$this->printDeleteFolderButtonJs();
$this->printDeleteDocumentButtonJs();
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -90,8 +117,9 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
$folderid = $folder->getId();
echo $this->callHook('startPage');
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/bootbox/bootbox.min.js"></script>'."\n", 'js');
echo $this->callHook('startPage');
$this->htmlStartPage(getMLText("folder_title", array("foldername" => htmlspecialchars($folder->getName()))));
$this->globalNavigation($folder);
@ -124,18 +152,11 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
if ($showtree==1){
$this->contentHeading("<a href=\"../out/out.ViewFolder.php?folderid=". $folderid."&showtree=0\"><i class=\"icon-minus-sign\"></i></a>", true);
$this->contentContainerStart();
?>
<script language="JavaScript">
function folderSelected(id, name) {
window.location = '../out/out.ViewFolder.php?folderid=' + id;
}
</script>
<?php
/*
* access expandFolderTree with $this->params because it can
* be changed by preContent hook.
*/
$this->printNewTreeNavigation($folderid, M_READ, 0, '', $this->params['expandFolderTree'] == 2, $orderby);
$this->printNewTreeNavigationHtml($folderid, M_READ, 0, '', $this->params['expandFolderTree'] == 2, $orderby);
$this->contentContainerEnd();
} else {
$this->contentHeading("<a href=\"../out/out.ViewFolder.php?folderid=". $folderid."&showtree=1\"><i class=\"icon-plus-sign\"></i></a>", true);
@ -232,11 +253,11 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
echo "</div>";
echo "<div class=\"span4\">";
$this->contentHeading(getMLText("dropupload"), true);
$this->addFooterJS("SeedDMSUpload.setUrl('../op/op.Ajax.php');");
$this->addFooterJS("SeedDMSUpload.setAbortBtnLabel('".getMLText("cancel")."');");
$this->addFooterJS("SeedDMSUpload.setEditBtnLabel('".getMLText("edit_document_props")."');");
$this->addFooterJS("SeedDMSUpload.setMaxFileSize(".SeedDMS_Core_File::parse_filesize(ini_get("upload_max_filesize")).");");
$this->addFooterJS("SeedDMSUpload.setMaxFileSizeMsg('".getMLText("uploading_maxsize")."');");
// $this->addFooterJS("SeedDMSUpload.setUrl('../op/op.Ajax.php');");
// $this->addFooterJS("SeedDMSUpload.setAbortBtnLabel('".getMLText("cancel")."');");
// $this->addFooterJS("SeedDMSUpload.setEditBtnLabel('".getMLText("edit_document_props")."');");
// $this->addFooterJS("SeedDMSUpload.setMaxFileSize(".SeedDMS_Core_File::parse_filesize(ini_get("upload_max_filesize")).");");
// $this->addFooterJS("SeedDMSUpload.setMaxFileSizeMsg('".getMLText("uploading_maxsize")."');");
?>
<div id="dragandrophandler" class="well alert" data-target="<?php echo $folder->getID(); ?>" data-formtoken="<?php echo createFormKey('adddocument'); ?>"><?php printMLText('drop_files_here'); ?></div>
<?php