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

This commit is contained in:
Uwe Steinmann 2015-12-11 20:35:20 +01:00
commit 85e9dc25bb
38 changed files with 1212 additions and 319 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

@ -34,7 +34,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));
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

@ -68,7 +68,7 @@ if($view) {
$view->setParam('enableRecursiveCount', $settings->_enableRecursiveCount);
$view->setParam('maxRecursiveCount', $settings->_maxRecursiveCount);
$view->setParam('previewWidthList', $settings->_previewWidthList);
$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,4 +682,17 @@ $(document).ready(function() {
e.preventDefault();
});
$('div.splash').each(function(index) {
var element = $(this);
var msgtype = element.data('type');
var msg = element.text();
noty({
text: msg,
type: msgtype,
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 1500,
});
});
});

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

@ -50,6 +50,12 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
} /* }}} */
function htmlStartPage($title="", $bodyClass="", $base="") { /* {{{ */
if(method_exists($this, 'js')) {
$csp_rules = "script-src 'self';"; // 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 +100,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 +108,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 +133,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";
} /* }}} */
@ -912,8 +910,8 @@ $(document).ready(function () {
}
print "</select>";
} /* }}} */
function printDocumentChooser($formName) { /* {{{ */
function printDocumentChooserHtml($formName) { /* {{{ */
print "<input type=\"hidden\" id=\"docid".$formName."\" name=\"docid\" value=\"\">";
print "<div class=\"input-append\">\n";
print "<input type=\"text\" id=\"choosedocsearch\" data-target=\"docid".$formName."\" data-provide=\"typeahead\" name=\"docname".$formName."\" placeholder=\"".getMLText('type_to_search')."\" autocomplete=\"off\" />";
@ -932,7 +930,11 @@ $(document).ready(function () {
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
</div>
</div>
<script language="JavaScript">
<?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);
@ -941,6 +943,16 @@ function documentSelected<?php echo $formName ?>(id, name) {
}
function folderSelected<?php echo $formName ?>(id, name) {
}
<?php
} /* }}} */
function printDocumentChooser($formName) { /* {{{ */
$this->printDocumentChooserHtml($formName);
?>
<script language="JavaScript">
<?php
$this->printDocumentChooserJs($formName);
?>
</script>
<?php
} /* }}} */
@ -1198,6 +1210,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.
*
@ -1210,7 +1237,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='') { /* {{{ */
function printNewTreeNavigationJs($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='') { /* {{{ */
function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0, $orderby='') {
if($path || $expandtree) {
if($path)
@ -1279,9 +1306,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({
@ -1319,7 +1344,6 @@ $(function() {
}
);
});
</script>
<?php
} /* }}} */
@ -1456,14 +1480,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
@ -1471,6 +1488,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
*
@ -1485,14 +1552,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
@ -1500,6 +1560,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()) {
@ -2128,11 +2238,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;
@ -2181,10 +2290,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

@ -31,6 +31,12 @@ require_once("class.Bootstrap.php");
*/
class SeedDMS_View_DocumentChooser extends SeedDMS_Bootstrap_Style {
function js() { /* {{{ */
$folder = $this->params['folder'];
$form = $this->params['form'];
$this->printNewTreeNavigationJs($folder->getID(), M_READ, 1, $form);
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -39,9 +45,10 @@ class SeedDMS_View_DocumentChooser extends SeedDMS_Bootstrap_Style {
$this->htmlStartPage(getMLText("choose_target_document"));
$this->contentContainerStart();
$this->printNewTreeNavigation($folder->getID(), M_READ, 1, $form);
$this->printNewTreeNavigationHtml($folder->getID(), M_READ, 1, $form);
$this->contentContainerEnd();
echo "</body>\n</html>\n";
$this->htmlEndPage(true);
// echo "</body>\n</html>\n";
} /* }}} */
}
?>

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,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'];
@ -76,17 +122,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
}
@ -97,18 +144,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) {
@ -124,7 +171,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) {
@ -138,15 +185,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>
@ -376,59 +423,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>
@ -442,15 +448,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'];
@ -1153,7 +1161,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) {
@ -1241,7 +1249,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'];
@ -89,8 +116,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);
@ -122,18 +150,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);
@ -230,11 +251,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