mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-31 05:11:27 +00:00 
			
		
		
		
	Merge branch 'seeddms-5.0.x' into develop
This commit is contained in:
		
						commit
						5863d962ac
					
				|  | @ -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 | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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.', | ||||
|  |  | |||
|  | @ -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.', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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.', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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.', | ||||
|  |  | |||
|  | @ -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' => '감사는 문서의 개정을 과정에서 삭제했거나 이미 개정을 완료 했습니다.', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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.', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => 'Ревізора вже видалено', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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' => '', | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -36,7 +36,7 @@ if($view) { | |||
| 		$view->setParam('backupdir', $settings->_backupDir); | ||||
| 	else | ||||
| 		$view->setParam('backupdir', $settings->_contentDir); | ||||
| 	$view->show(); | ||||
| 	$view($_GET); | ||||
| 	exit; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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); | ||||
| } | ||||
| 
 | ||||
| ?>
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| 	} | ||||
| } | ||||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -162,6 +162,10 @@ div.timeline-event-selected { | |||
| 	z-index: 999; | ||||
| } | ||||
| 
 | ||||
| div.splash { | ||||
| 	display: none; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 480px) {  | ||||
|     .nav-tabs > li { | ||||
|         float:none; | ||||
|  |  | |||
|  | @ -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
									
								
							
							
						
						
									
										551
									
								
								styles/bootstrap/bootbox/bootbox.js
									
									
									
									
										vendored
									
									
										Normal 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'>×</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
									
								
							
							
						
						
									
										16
									
								
								styles/bootstrap/bootbox/bootbox.min.js
									
									
									
									
										vendored
									
									
										Normal 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'>×</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; | ||||
|  | @ -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> | ||||
|  |  | |||
|  | @ -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"; | ||||
| 
 | ||||
|  |  | |||
|  | @ -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='$("#delete-document-btn-".$docid."").popover("hide");'>".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='$("#delete-folder-btn-".$folderid."").popover("hide");'>".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); | ||||
| 	} /* }}} */ | ||||
| } | ||||
| ?>
 | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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"> | ||||
|  |  | |||
|  | @ -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);
 | ||||
| 	} /* }}} */ | ||||
| } | ||||
| ?>
 | ||||
|  |  | |||
|  | @ -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"> | ||||
|  |  | |||
|  | @ -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"; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
|  |  | |||
|  | @ -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> | ||||
|  |  | |||
|  | @ -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);
 | ||||
| 	} /* }}} */ | ||||
| } | ||||
| ?>
 | ||||
|  |  | |||
|  | @ -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()."¤ttab=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(); | ||||
|  |  | |||
|  | @ -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";
 | ||||
| 	} /* }}} */ | ||||
|  |  | |||
|  | @ -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() { /* {{{ */ | ||||
|  |  | |||
|  | @ -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> | ||||
|  |  | |||
|  | @ -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) { | ||||
|  |  | |||
|  | @ -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")); | ||||
|  |  | |||
|  | @ -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(); | ||||
| 	} /* }}} */ | ||||
| } | ||||
| ?>
 | ||||
|  |  | |||
|  | @ -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> | ||||
|  |  | |||
|  | @ -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(); | ||||
| 	} /* }}} */ | ||||
|  |  | |||
|  | @ -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); | ||||
| 			} | ||||
| 		} | ||||
| ?>
 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Uwe Steinmann
						Uwe Steinmann