Before you start to install SeedDMS make sure you have created a file \'ENABLE_INSTALL_TOOL\' in your configuration directory, otherwise the installation will not work. On Unix-System this can easily be done with \'touch conf/ENABLE_INSTALL_TOOL\'. After you have finished the installation delete the file.
SeedDMS has very minimal requirements. You will need a mysql database or sqlite support and a php enabled web server. The pear package Log has to be installed too. For the lucene full text search, you will also need the Zend framework installed on disc where it can be found by php. For the WebDAV server you will also need the HTTP_WebDAV_Server. The path to it can later be set during installation.
If you like to create the database before you start installation, then just create it manually with your favorite tool, optionally create a database user with access on the database and import one of the database dumps in the configuration directory. The installation script can do that for you as well, but it will need database access with sufficient rights to create databases.
', 'settings_install_welcome_title' => 'Vitajte v inštalácii SeedDMS', -'settings_install_zendframework' => '', +'settings_install_zendframework' => 'Install Zend Framework, if you intend to use the zend based full text search engine. Otherwise, ignore this message and continue the installation.', 'settings_language' => 'Predvolený jazyk', -'settings_language_desc' => '', -'settings_libraryFolder' => '', -'settings_libraryFolder_desc' => '', +'settings_language_desc' => 'Default language (name of a subfolder in folder "languages")', +'settings_libraryFolder' => 'Library folder', +'settings_libraryFolder_desc' => 'Folder where documents can be copied to create new documents.', 'settings_logFileEnable' => 'Povoliť Log súbor', 'settings_logFileEnable_desc' => 'Povoliť/zakázať log súbor', -'settings_logFileRotation' => '', -'settings_logFileRotation_desc' => '', +'settings_logFileRotation' => 'Log File Rotation', +'settings_logFileRotation_desc' => 'The log file rotation', 'settings_loginFailure' => 'Prihlásenie zlyhalo', -'settings_loginFailure_desc' => '', +'settings_loginFailure_desc' => 'Disable account after n login failures.', 'settings_luceneClassDir' => 'Lucene SeedDMS zložka', -'settings_luceneClassDir_desc' => '', -'settings_luceneDir' => '', +'settings_luceneClassDir_desc' => 'Path to SeedDMS_Lucene (optional). Leave this empty if you have installed SeedDMS_Lucene at a place where it can be found by PHP, e.g. Extra PHP Include-Path', +'settings_luceneDir' => 'Directory for full text index', 'settings_luceneDir_desc' => 'Cesta do Lucene indexu', 'settings_maxDirID' => 'Max Zložka ID', -'settings_maxDirID_desc' => '', -'settings_maxExecutionTime' => '', -'settings_maxExecutionTime_desc' => '', -'settings_maxItemsPerPage' => '', -'settings_maxItemsPerPage_desc' => '', -'settings_maxRecursiveCount' => '', -'settings_maxRecursiveCount_desc' => '', -'settings_maxSizeForFullText' => '', -'settings_maxSizeForFullText_desc' => '', +'settings_maxDirID_desc' => 'Maximum number of sub-directories per parent directory. Do not change this value unless you know what you do! Default: 0.', +'settings_maxExecutionTime' => 'Max Execution Time (s)', +'settings_maxExecutionTime_desc' => 'This sets the maximum time in seconds a script is allowed to run before it is terminated by the parse', +'settings_maxItemsPerPage' => 'Max. number of entries on a page', +'settings_maxItemsPerPage_desc' => 'Restricts the number of folders and documents shown on the view folder page. Further objects will be loaded when scrolling to the end of the page. Set to 0 to always show all objects.', +'settings_maxRecursiveCount' => 'Max. number of recursive document/folder count', +'settings_maxRecursiveCount_desc' => 'This is the maximum number of documents or folders that will be checked for access rights, when recursively counting objects. If this number is exceeded, the number of documents and folders in the folder view will be estimated.', +'settings_maxSizeForFullText' => 'Maximum filesize for instant indexing', +'settings_maxSizeForFullText_desc' => 'All new document version smaller than the configured size will be fully indexed right after uploading. In all other cases only the metadata will be indexed.', 'settings_maxUploadSize' => 'Maximálna veľkosť pre nahrávané súbory', -'settings_maxUploadSize_desc' => '', -'settings_more_settings' => '', +'settings_maxUploadSize_desc' => 'This is the maximum size for uploaded files. It will take affect for document versions and attachments.', +'settings_more_settings' => 'Configure more settings. Default login: admin/admin', 'settings_notfound' => 'Nenájdené', -'settings_Notification' => 'Nastavenia upozornení', -'settings_notwritable' => '', -'settings_no_content_dir' => '', -'settings_overrideMimeType' => '', -'settings_overrideMimeType_desc' => '', +'settings_Notification' => 'Nastavenia notifikácií', +'settings_notwritable' => 'The configuration cannot be saved because the configuration file is not writable.', +'settings_no_content_dir' => 'Content directory', +'settings_overrideMimeType' => 'Override MimeType', +'settings_overrideMimeType_desc' => 'Override the MimeType delivered by the browser, if a file is uploaded. The new MimeType is determined by SeedDMS itself.', 'settings_partitionSize' => 'Čiastočná veľkosť súboru', -'settings_partitionSize_desc' => '', +'settings_partitionSize_desc' => 'Size of partial files in bytes, uploaded by jumploader. Do not set a value larger than the maximum upload size set by the server.', 'settings_passwordExpiration' => 'Vypršanie hesla', -'settings_passwordExpiration_desc' => '', +'settings_passwordExpiration_desc' => 'The number of days after which a password expireѕ and must be reset. 0 turns password expiration off.', 'settings_passwordHistory' => 'História hesla', -'settings_passwordHistory_desc' => '', +'settings_passwordHistory_desc' => 'The number of passwords a user must have been used before a password can be reused. 0 turns the password history off.', 'settings_passwordStrength' => 'Min. sila hesla', 'settings_passwordStrengthAlgorithm' => 'Algoritmus pre silu hesla', -'settings_passwordStrengthAlgorithm_desc' => '', +'settings_passwordStrengthAlgorithm_desc' => 'The algorithm used for calculating the password strength. The \'simple\' algorithm just checks for at least eight chars total, a lower case letter, an upper case letter, a number and a special char. If those conditions are met the returned score is 100 otherwise 0.', 'settings_passwordStrengthAlgorithm_valadvanced' => 'pokročilý', 'settings_passwordStrengthAlgorithm_valsimple' => 'jednoduchý', -'settings_passwordStrength_desc' => '', +'settings_passwordStrength_desc' => 'The minimum password strength is an integer value from 0 to 100. Setting it to 0 will turn off checking for the minimum password strength.', 'settings_pear_log' => 'Pear balíček : Log', 'settings_pear_webdav' => 'Pear balíček : HTTP_WebDAV_Server', 'settings_perms' => 'Oprávnenie', @@ -1248,8 +1469,8 @@ URL: [url]', 'settings_php_gd2' => 'PHP rozšírenie : php_gd2', 'settings_php_mbstring' => 'PHP rozšírenie : php_mbstring', 'settings_php_version' => 'PHP verzia', -'settings_presetExpirationDate' => '', -'settings_presetExpirationDate_desc' => '', +'settings_presetExpirationDate' => 'Preset expiration date', +'settings_presetExpirationDate_desc' => 'All new uploaded documents will have an expiration date set to this value. The date entered can be specified as understood by PHP\'s strtotime() function, e.g. +5 weeks.', 'settings_previewWidthDetail' => 'Šírka náhľadu obrázkov (detail)', 'settings_previewWidthDetail_desc' => 'Šírka náhľadu obrázku zobrazená na stránke podrobností', 'settings_previewWidthDropFolderList' => 'Šírka náhľadu obrázku (zoznam drop zložka)', @@ -1258,31 +1479,31 @@ URL: [url]', 'settings_previewWidthList_desc' => 'Šírka pre náhľad obrázkov je uvedené v zoznamoch', 'settings_previewWidthMenuList' => 'Šírka náhľadu obrázku (zoznam ponúk)', 'settings_previewWidthMenuList_desc' => 'Šírka náhľadu obrázkov zobrazených ako položky v ponuke drop zložky.', -'settings_printDisclaimer' => '', -'settings_printDisclaimer_desc' => '', +'settings_printDisclaimer' => 'Print Disclaimer', +'settings_printDisclaimer_desc' => 'If enabled, the disclaimer message will be printed on the bottom of every page', 'settings_quota' => 'Kvóta používateľa', -'settings_quota_desc' => '', -'settings_removeFromDropFolder' => '', -'settings_removeFromDropFolder_desc' => '', -'settings_repositoryUrl' => '', -'settings_repositoryUrl_desc' => '', -'settings_restricted' => '', -'settings_restricted_desc' => '', +'settings_quota_desc' => 'The maximum number of bytes a user may use on disk. Set this to 0 for unlimited disk space. This value can be overridden for each user in his profile.', +'settings_removeFromDropFolder' => 'Remove file from drop folder after successful upload', +'settings_removeFromDropFolder_desc' => 'Enable this, if a file taken from the drop folder shall be deleted after successful upload.', +'settings_repositoryUrl' => 'URL of repository', +'settings_repositoryUrl_desc' => 'URL of repository for extensions', +'settings_restricted' => 'Restricted access', +'settings_restricted_desc' => 'Only allow users to log in if they have an entry in the local database (irrespective of successful authentication with LDAP)', 'settings_rootDir' => 'Koreňový adresár', 'settings_rootDir_desc' => 'Cesta k miestu, kde sa nachádza SeedDMS', -'settings_rootFolderID' => 'Koreňová zložka ID', -'settings_rootFolderID_desc' => '', -'settings_SaveError' => '', +'settings_rootFolderID' => 'ID koreňovej zložky', +'settings_rootFolderID_desc' => 'ID of root-folder (mostly no need to change)', +'settings_SaveError' => 'Configuration file save error', 'settings_Server' => 'Nastavenie servera', 'settings_showFullPreview' => 'Zobraziť kompletný dokument', -'settings_showFullPreview_desc' => '', +'settings_showFullPreview_desc' => 'Enable/disable a full preview of the document on the details page, if the browser is capable to do so.', 'settings_showMissingTranslations' => 'Ukázať chýbajúce preklady', -'settings_showMissingTranslations_desc' => '', -'settings_showSingleSearchHit' => '', -'settings_showSingleSearchHit_desc' => '', +'settings_showMissingTranslations_desc' => 'List all missing translations on the page at the bottom of the page. The logged in user will be able to submit a proposal for a missing translation which will be saved in a csv file. Do not turn this function on if in a production environment!', +'settings_showSingleSearchHit' => 'Jump straight to a single search hit', +'settings_showSingleSearchHit_desc' => 'If the search results into just one hit, then it will be displayed right away instead of the result list.', 'settings_Site' => 'Stránka', -'settings_siteDefaultPage' => '', -'settings_siteDefaultPage_desc' => '', +'settings_siteDefaultPage' => 'Site Default Page', +'settings_siteDefaultPage_desc' => 'Default page on login. If empty defaults to out/out.ViewFolder.php', 'settings_siteName' => 'Názov stránky', 'settings_siteName_desc' => 'Názov stránky používaný v nadpisoch. Predvolený: SeedDMS', 'settings_SMTP' => 'SMTP Server nastavenia', @@ -1292,67 +1513,67 @@ URL: [url]', 'settings_smtpPort_desc' => 'SMTP Server port, štandardne 25', 'settings_smtpSendFrom' => 'Odoslané z', 'settings_smtpSendFrom_desc' => 'Odoslané z', -'settings_smtpSendTestMail' => '', -'settings_smtpSendTestMail_desc' => '', +'settings_smtpSendTestMail' => 'Send test mail', +'settings_smtpSendTestMail_desc' => 'Sends a test mail, for checking the current email configuration.', 'settings_smtpServer' => 'SMTP Server názov hostiteľa', 'settings_smtpServer_desc' => 'SMTP Server názov hostiteľa', 'settings_smtpUser' => 'SMTP Server používateľ', 'settings_smtpUser_desc' => 'SMTP Server používateľ', 'settings_sortFoldersDefault' => 'Predvolená metóda triedenia', -'settings_sortFoldersDefault_desc' => 'Toto nastavenie triedi metódy pre zložky a dokumenty v zobrazení priečinkov.', +'settings_sortFoldersDefault_desc' => 'Toto nastavenie triedi metódy pre zložky a dokumenty v zobrazení zložiek.', 'settings_sortFoldersDefault_val_name' => 'podľa mena', 'settings_sortFoldersDefault_val_sequence' => 'podľa sekvencií', 'settings_sortFoldersDefault_val_unsorted' => 'neutriedený', 'settings_sortUsersInList' => 'Triediť užívateľov v zozname', -'settings_sortUsersInList_desc' => '', +'settings_sortUsersInList_desc' => 'Sets if users in selection menus are ordered by login or by its full name', 'settings_sortUsersInList_val_fullname' => 'Triediť podľa celého mena', 'settings_sortUsersInList_val_login' => 'Triediť podľa prihlásenie', -'settings_stagingDir' => '', -'settings_stagingDir_desc' => '', +'settings_stagingDir' => 'Directory for partial uploads', +'settings_stagingDir_desc' => 'The directory where jumploader places the parts of a file upload before it is put back together.', 'settings_start_install' => 'Začať inštaláciu', -'settings_stopWordsFile' => '', -'settings_stopWordsFile_desc' => '', -'settings_strictFormCheck' => '', -'settings_strictFormCheck_desc' => '', -'settings_suggestionvalue' => '', +'settings_stopWordsFile' => 'Path to stop words file', +'settings_stopWordsFile_desc' => 'If fulltext search is enabled, this file will contain stop words not being indexed', +'settings_strictFormCheck' => 'Strict Form Check', +'settings_strictFormCheck_desc' => 'Strict form checking. If set to true, then all fields in the form will be checked for a value. If set to false, then (most) comments and keyword fields become optional. Comments are always required when submitting a review or overriding document status', +'settings_suggestionvalue' => 'Suggestion value', 'settings_System' => 'Systém', -'settings_tasksInMenu' => '', -'settings_tasksInMenu_approval' => '', -'settings_tasksInMenu_desc' => '', -'settings_tasksInMenu_needscorrection' => '', -'settings_tasksInMenu_receipt' => '', -'settings_tasksInMenu_review' => '', -'settings_tasksInMenu_revision' => '', -'settings_tasksInMenu_workflow' => '', +'settings_tasksInMenu' => 'Selected tasks', +'settings_tasksInMenu_approval' => 'Approvals', +'settings_tasksInMenu_desc' => 'Select those tasks which are to be counted. If none is selected, then all tasks will be counted.', +'settings_tasksInMenu_needscorrection' => 'Correction needed', +'settings_tasksInMenu_receipt' => 'Reviews', +'settings_tasksInMenu_review' => 'Receipts', +'settings_tasksInMenu_revision' => 'Revisions', +'settings_tasksInMenu_workflow' => 'Workflow', 'settings_theme' => 'Prednastavená téma', -'settings_theme_desc' => '', -'settings_titleDisplayHack' => '', -'settings_titleDisplayHack_desc' => '', -'settings_undelUserIds' => '', -'settings_undelUserIds_desc' => '', -'settings_updateDatabase' => '', -'settings_updateNotifyTime' => 'Aktualizovať čas upozornenia', -'settings_updateNotifyTime_desc' => '', -'settings_upgrade_php' => '', -'settings_versioningFileName' => '', -'settings_versioningFileName_desc' => '', +'settings_theme_desc' => 'Default style (name of a subfolder in folder "styles")', +'settings_titleDisplayHack' => 'Title Display Hack', +'settings_titleDisplayHack_desc' => 'Workaround for page titles that go over more than 2 lines.', +'settings_undelUserIds' => 'Undeletable User IDs', +'settings_undelUserIds_desc' => 'Comma separated list of user ids, that cannot be deleted.', +'settings_updateDatabase' => 'Run schema update scripts on database', +'settings_updateNotifyTime' => 'Aktualizovať čas notifikácie', +'settings_updateNotifyTime_desc' => 'Users are notified about document-changes that took place within the last \'Update Notify Time\' seconds', +'settings_upgrade_php' => 'Upgrade PHP to at least version 5.2.0', +'settings_versioningFileName' => 'Versioning FileName', +'settings_versioningFileName_desc' => 'The name of the versioning info file created by the backup tool', 'settings_versiontolow' => 'Verzia je nízka', 'settings_viewOnlineFileTypes' => 'Zobraziť online typy súborov', -'settings_viewOnlineFileTypes_desc' => '', -'settings_webdav' => '', -'settings_workflowMode' => '', -'settings_workflowMode_desc' => '', +'settings_viewOnlineFileTypes_desc' => 'Files with one of the following endings can be viewed online (USE ONLY LOWER CASE CHARACTERS)', +'settings_webdav' => 'WebDAV', +'settings_workflowMode' => 'Workflow mode', +'settings_workflowMode_desc' => 'The advanced workflow allows to specify your own release workflow for document versions.', 'settings_workflowMode_valadvanced' => 'pokročilý', -'settings_workflowMode_valtraditional' => '', -'settings_workflowMode_valtraditional_only_approval' => '', +'settings_workflowMode_valtraditional' => 'traditional', +'settings_workflowMode_valtraditional_only_approval' => 'traditional (without review)', 'settings_zendframework' => 'Zend Framework', 'set_expiry' => 'Nastaviť vypršanie', 'set_owner' => 'Nastaviť vlastníka', -'set_owner_error' => '', +'set_owner_error' => 'Chyba pri nastavovaní vlastníka', 'set_password' => 'Nastaviť heslo', -'set_workflow' => '', -'show_extension_changelog' => '', -'show_extension_version_list' => '', +'set_workflow' => 'Set Workflow', +'show_extension_changelog' => 'Show Changelog', +'show_extension_version_list' => 'Show list of versions', 'signed_in_as' => 'Prihlásený ako', 'sign_in' => 'Prihlásiť sa', 'sign_out' => 'odhlásiť', @@ -1360,129 +1581,134 @@ URL: [url]', 'sk_SK' => 'Slovenčina', 'space_used_on_data_folder' => 'Space used on data folder', 'splash_added_to_clipboard' => 'Pridané do schránky', -'splash_add_access' => '', +'splash_add_access' => 'Prístupové právo pridané', 'splash_add_attribute' => 'Bol pridaný nový atribút', 'splash_add_group' => 'Bola pridaná nová skupina', -'splash_add_group_member' => '', +'splash_add_group_member' => 'New group member added', 'splash_add_role' => 'Nová rola bola pridaná', -'splash_add_to_transmittal' => '', -'splash_add_transmittal' => '', +'splash_add_to_transmittal' => 'Add to transmittal', +'splash_add_transmittal' => 'Added transmittal', 'splash_add_user' => 'Pridaný nový používateľ', 'splash_cleared_cache' => 'Vymazanie vyrovnávacej pamäte', 'splash_cleared_clipboard' => 'Schránka bola vymazaná', -'splash_delete_access' => '', +'splash_delete_access' => 'Access right deleted', 'splash_document_added' => 'Dokument bol pridaný', -'splash_document_checkedout' => '', +'splash_document_checkedout' => 'Document checked out', 'splash_document_edited' => 'Dokument bol uložený', 'splash_document_indexed' => 'Dokument \'[name]\' bol indexovaný.', 'splash_document_locked' => 'Dokument uzamknutý', 'splash_document_unlocked' => 'Dokument odomknutý', -'splash_edit_access' => '', +'splash_edit_access' => 'Access right changed', 'splash_edit_attribute' => 'Atribút bol uložený', 'splash_edit_event' => 'Udalosť bola uložená', 'splash_edit_group' => 'Skupina bola uložená', 'splash_edit_role' => 'Rola bola uložená', +'splash_edit_task' => '', 'splash_edit_user' => 'Používateľ bol uložený', -'splash_error_add_to_transmittal' => '', -'splash_error_rm_download_link' => '', -'splash_error_send_download_link' => '', -'splash_extension_getlist' => '', -'splash_extension_import' => '', -'splash_extension_refresh' => '', -'splash_extension_upload' => '', +'splash_error_add_to_transmittal' => 'Error while adding document to transmittal', +'splash_error_rm_download_link' => 'Error when removing download link', +'splash_error_send_download_link' => 'Error while sending download link', +'splash_extension_getlist' => 'Updated list of extensions from repository', +'splash_extension_import' => 'Extensition installed', +'splash_extension_refresh' => 'Refreshed list of extensions', +'splash_extension_upload' => 'Extension installed', 'splash_folder_edited' => 'Uložiť zmeny zložky', 'splash_importfs' => 'Importované dokumenty [docs] a zložky [folders]', -'splash_inherit_access' => '', +'splash_inherit_access' => 'Access right will be inherited', 'splash_invalid_folder_id' => 'Neplatné ID zložky', -'splash_invalid_searchterm' => '', +'splash_invalid_searchterm' => 'Invalid search term', 'splash_moved_clipboard' => 'Schránka sa presunula do aktuálnej zložky', 'splash_move_document' => 'Dokument bol presunutý', 'splash_move_folder' => 'Zložka bola presunutá', -'splash_notinherit_access' => '', -'splash_receipt_update_success' => '', +'splash_notinherit_access' => 'Prístupové práva sa už nededia', +'splash_receipt_update_success' => 'Reception added successfully', 'splash_removed_from_clipboard' => 'Odstránené zo schránky', 'splash_rm_attribute' => 'Atribút bol odstránený', -'splash_rm_attr_value' => '', +'splash_rm_attr_value' => 'Attribute value removed', 'splash_rm_document' => 'Dokument odstránený', 'splash_rm_download_link' => 'Odkaz na prevzatie bol odstránený', 'splash_rm_folder' => 'Zložka zmazaná', 'splash_rm_group' => 'Skupina bola odstránená', -'splash_rm_group_member' => '', +'splash_rm_group_member' => 'Člen skupiny odstránený', 'splash_rm_role' => 'Rola bola odstránená', -'splash_rm_transmittal' => '', +'splash_rm_transmittal' => 'Transmittal deleted', 'splash_rm_user' => 'Používateľ bol odstránený', 'splash_rm_user_processes' => 'Používateľ bol odstránený zo všetkých procesov', +'splash_rm_workflow' => '', +'splash_rm_workflow_action' => '', +'splash_rm_workflow_state' => '', 'splash_saved_file' => 'Verzia bola uložená', 'splash_save_user_data' => 'Používateľské údaje boli uložené', -'splash_send_download_link' => '', -'splash_send_login_data' => '', -'splash_setowner' => '', +'splash_send_download_link' => 'Download link sent by email.', +'splash_send_login_data' => 'Login data sent', +'splash_setowner' => 'Nastaviť nového vlastníka', 'splash_settings_saved' => 'Nastavenia boli uložené', -'splash_set_default_access' => '', -'splash_substituted_user' => '', -'splash_switched_back_user' => '', -'splash_toogle_group_manager' => '', -'splash_transfer_document' => '', -'splash_transfer_objects' => '', -'state_and_next_state' => '', +'splash_set_default_access' => 'Default access right set', +'splash_substituted_user' => 'Substituted user', +'splash_switched_back_user' => 'Switched back to original user', +'splash_toogle_group_manager' => 'Group manager toogled', +'splash_transfer_document' => 'Document transfered', +'splash_transfer_objects' => 'Objects transfered', +'splash_trigger_workflow' => '', +'state_and_next_state' => 'State/Next state', 'statistic' => 'Štatistika', 'status' => 'Stav', 'status_approval_rejected' => 'Návrh zamietnutý', 'status_approved' => 'Schválený', 'status_approver_removed' => 'Schvaľovateľ odstránený z procesu', -'status_needs_correction' => '', +'status_needs_correction' => 'Vyžaduje opravu', 'status_not_approved' => 'Neschválený', -'status_not_receipted' => '', -'status_not_reviewed' => 'Neskontrolovaný', -'status_not_revised' => '', -'status_receipted' => '', -'status_receipt_rejected' => '', -'status_recipient_removed' => '', -'status_reviewed' => 'Skontrolovaný', +'status_not_receipted' => 'Zatiaľ neprijatý', +'status_not_reviewed' => 'Nerecenzovaný', +'status_not_revised' => 'nezrevidovaný', +'status_receipted' => 'Receipted', +'status_receipt_rejected' => 'Odmietnuté', +'status_recipient_removed' => 'Recipient odstránený zo zoznamu', +'status_reviewed' => 'Recenzovaný', 'status_reviewer_rejected' => 'Návrh zamietnutý', -'status_reviewer_removed' => 'Kontrolór odstránený z procesu', -'status_revised' => '', -'status_revision_rejected' => '', -'status_revision_sleeping' => '', -'status_revisor_removed' => '', +'status_reviewer_removed' => 'Recenzent odstránený z procesu', +'status_revised' => 'revised', +'status_revision_rejected' => 'Rejected', +'status_revision_sleeping' => 'pending', +'status_revisor_removed' => 'Revisor removed from list', 'status_unknown' => 'Neznámy', 'storage_size' => 'Objem dát', -'submit_2_fact_auth' => '', +'submit_2_fact_auth' => 'Save secret', 'submit_approval' => 'Poslať schválenie', 'submit_login' => 'Prihlásiť sa', 'submit_password' => 'Nastaviť nové heslo', 'submit_password_forgotten' => 'Spustiť proces', -'submit_receipt' => '', -'submit_review' => 'Poslať kontrolu', -'submit_revision' => '', -'submit_userinfo' => '', -'subsribe_timelinefeed' => '', +'submit_receipt' => 'Submit receipt', +'submit_review' => 'Poslať recenziu', +'submit_revision' => 'Add Revision', +'submit_userinfo' => 'Submit info', +'subsribe_timelinefeed' => 'Subscribe to time line feed', 'substitute_to_user' => 'Prepnúť do \'[username]\'', 'substitute_user' => 'Nahradiť používateľa', -'success_add_aro' => '', -'success_add_permission' => '', +'success_add_aro' => 'Access request object added', +'success_add_permission' => 'Oprávnenie pridané', 'success_remove_permission' => 'Oprávnenie bolo odstránené', -'success_toogle_permission' => '', +'success_toogle_permission' => 'Oprávnenie zmenené', 'sunday' => 'Nedeľa', 'sunday_abbr' => 'Ne', 'sv_SE' => 'Švédština', 'switched_to' => 'Prepnúť na', -'takeOverAttributeValue' => '', -'takeOverGrpApprover' => '', -'takeOverGrpReviewer' => '', -'takeOverIndApprover' => '', -'takeOverIndReviewer' => '', +'takeOverAttributeValue' => 'Take over attribute value from last version', +'takeOverGrpApprover' => 'Take over group of approvers from last version.', +'takeOverGrpReviewer' => 'Take over group of reviewers from last version.', +'takeOverIndApprover' => 'Take over individual approver from last version.', +'takeOverIndReviewer' => 'Take over individual reviewer from last version.', 'tasks' => 'Úlohy', -'task_description' => '', -'task_disabled' => '', -'task_frequency' => '', -'task_last_run' => '', -'task_name' => '', -'task_next_run' => '', +'task_description' => 'Description', +'task_disabled' => 'Disabled', +'task_frequency' => 'Frequency', +'task_last_run' => 'Last run', +'task_name' => 'Name', +'task_next_run' => 'Next run', 'temp_jscode' => 'Dočasný javascript kód', -'testmail_body' => '', +'testmail_body' => 'This mail is just for testing the mail configuration of SeedDMS', 'testmail_subject' => 'Testovací E-mail', -'theme' => 'Vzhľad', +'theme' => 'Šablóna', 'thursday' => 'Štvrtok', 'thursday_abbr' => 'Št', 'timeline' => 'Časová os', @@ -1490,47 +1716,56 @@ URL: [url]', 'timeline_add_version' => 'Nová verzia [version]', 'timeline_full_add_file' => '[document]=0&&h[v]<=1&&f.push(h[v]);f.push(1),f.push(0);for(var g,y,m,b,x=-1,w=0;w a[u]+f&&(a[h]=a[u]+f,o.nodes.indexOf(h)<0?o.push(h):o.updateItem(h),i[h]=0,r[h]=[]),a[h]==a[u]+f&&(i[h]=i[h]+i[u],r[h].push(u))}else for(var g=0;g");
- };
- createLi = function(node) {
- var $li;
-
- if (node.isFolder()) {
- $li = createFolderLi(node);
- } else {
- $li = createNodeLi(node);
- }
- if (_this.options.onCreateLi) {
- _this.options.onCreateLi(node, $li);
- }
- return $li;
- };
- createNodeLi = function(node) {
- var class_string, escaped_name, li_classes;
-
- li_classes = ['jqtree_common'];
- if (_this.select_node_handler.isNodeSelected(node)) {
- li_classes.push('jqtree-selected');
- }
- class_string = li_classes.join(' ');
- escaped_name = escapeIfNecessary(node.name);
- return $("
".getMLText("status")." \n";
print "".getMLText("action")." \n";
print "\n\n\n";
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
foreach($res['contents'] as $content) {
$doc = $content->getDocument();
echo $this->documentListRow($doc, $previewer);
diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php
index d86e105ab..1eb4bb615 100644
--- a/views/bootstrap/class.Bootstrap.php
+++ b/views/bootstrap/class.Bootstrap.php
@@ -50,12 +50,14 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
/* We still need unsafe-eval, because printDocumentChooserHtml and
* printFolderChooserHtml will include a javascript file with ajax
* which is evaluated by jquery
+ * worker-src blob: is needed for cytoscape
* 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+
+ * 'worker-src blob:' is needed for cytoscape
*/
- $csp_rules = "script-src 'self' 'unsafe-eval';"; // style-src 'self';";
+ $csp_rules = "script-src 'self' 'unsafe-eval'; worker-src blob:;"; // style-src 'self';";
foreach (array("X-WebKit-CSP", "X-Content-Security-Policy", "Content-Security-Policy") as $csp) {
header($csp . ": " . $csp_rules);
}
@@ -594,7 +596,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if ($this->params['enableusersview']){
$menuitems['users'] = array('link'=>"../out/out.UsrView.php", 'label'=>'users');
- $menuitems['users'] = array('link'=>"../out/out.GroupView.php", 'label'=>'groups');
+ $menuitems['groups'] = array('link'=>"../out/out.GroupView.php", 'label'=>'groups');
}
/* Check if hook exists because otherwise callHook() will override $menuitems */
@@ -1374,7 +1376,7 @@ $(document).ready(function() {
} else {
$content .= "\"";
}
- $content .= "".((!$norequire && $attrdef->getMinValues() > 0) ? ' required' : '')." class=\"chzn-select-deselect\" data-placeholder=\"".getMLText("select_value")."\">";
+ $content .= "".((!$norequire && $attrdef->getMinValues() > 0) ? ' required' : '')." class=\"chzn-select\" data-placeholder=\"".getMLText("select_value")."\">";
if(!$attrdef->getMultipleValues()) {
$content .= "";
}
@@ -1465,9 +1467,9 @@ $(document).ready(function() {
function getImgPath($img) { /* {{{ */
- if ( is_file($this->imgpath.$img) ) {
+// if ( is_file($this->imgpath.$img) ) {
return $this->imgpath.$img;
- }
+// }
return "";
} /* }}} */
@@ -1571,27 +1573,28 @@ $(document).ready(function() {
* and documents shown in the tree
* @param boolean $showdocs set to true if tree shall contain documents
* as well.
+ * @param integer $expandtree level to which the tree shall be opened
*/
function printNewTreeNavigationJs($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='') { /* {{{ */
- function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0, $orderby='') {
- if($path || $expandtree) {
+ function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0, $orderby='', $level=0) {
+ if($path || $expandtree>=$level) {
if($path)
$pathfolder = array_shift($path);
$subfolders = $folder->getSubFolders($orderby);
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, $accessmode);
$children = array();
foreach($subfolders as $subfolder) {
- $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs)) ? true : false, 'is_folder'=>true);
- if($expandtree || $pathfolder->getID() == $subfolder->getID()) {
+ $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs)) ? false : false, 'is_folder'=>true);
+ if($expandtree>=$level || $pathfolder->getID() == $subfolder->getID()) {
+ $node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree, $orderby, $level+1);
if($showdocs) {
- $documents = $folder->getDocuments($orderby);
+ $documents = $subfolder->getDocuments($orderby);
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, $accessmode);
foreach($documents as $document) {
$node2 = array('label'=>$document->getName(), 'id'=>$document->getID(), 'load_on_demand'=>false, 'is_folder'=>false);
- $children[] = $node2;
+ $node['children'][] = $node2;
}
}
- $node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree, $orderby);
}
$children[] = $node;
}
@@ -1601,7 +1604,7 @@ $(document).ready(function() {
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, $accessmode);
$children = array();
foreach($subfolders as $subfolder) {
- $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs)) ? true : false, 'is_folder'=>true);
+ $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs)) ? false : false, 'is_folder'=>true);
$children[] = $node;
}
return $children;
@@ -1612,13 +1615,14 @@ $(document).ready(function() {
if($folderid) {
$folder = $this->params['dms']->getFolder($folderid);
$path = $folder->getPath();
+ /* Get the first folder (root folder) of path */
$folder = array_shift($path);
- $node = array('label'=>$folder->getName(), 'id'=>$folder->getID(), 'load_on_demand'=>true, 'is_folder'=>true);
+ $node = array('label'=>$folder->getName(), 'id'=>$folder->getID(), 'load_on_demand'=>false, 'is_folder'=>true);
if(!$folder->hasSubFolders()) {
$node['load_on_demand'] = false;
$node['children'] = array();
} else {
- $node['children'] = jqtree($path, $folder, $this->params['user'], $accessmode, $showdocs, $expandtree, $orderby);
+ $node['children'] = jqtree($path, $folder, $this->params['user'], $accessmode, $showdocs, $expandtree, $orderby, 0);
if($showdocs) {
$documents = $folder->getDocuments($orderby);
$documents = SeedDMS_Core_DMS::filterAccess($documents, $this->params['user'], $accessmode);
@@ -1638,18 +1642,18 @@ $(document).ready(function() {
} else {
$root = $this->params['dms']->getFolder($this->params['rootfolderid']);
- $tree = array(array('label'=>$root->getName(), 'id'=>$root->getID(), 'load_on_demand'=>true, 'is_folder'=>true));
+ $tree = array(array('label'=>$root->getName(), 'id'=>$root->getID(), 'load_on_demand'=>false, 'is_folder'=>true));
}
?>
var data = ;
$(function() {
$('#jqtree').tree({
- saveState: true,
+// saveState: true,
data: data,
saveState: 'jqtree',
- openedIcon: '',
- closedIcon: '',
+ openedIcon: $(''),
+ closedIcon: $(''),
_onCanSelectNode: function(node) {
if(node.is_folder) {
folderSelected(node.id, node.name);
@@ -1666,20 +1670,50 @@ $(function() {
$li.find('.jqtree-title').before(' ');
}
});
- // Unfold tree if folder is opened
+ // Unfold node for currently selected folder
$('#jqtree').tree('openNode', $('#jqtree').tree('getNodeById', ), false);
- $('#jqtree').bind(
- 'tree.click',
+ $('#jqtree').on(
+ 'tree.select',
function(event) {
var node = event.node;
$('#jqtree').tree('openNode', node);
// event.preventDefault();
if(node.is_folder) {
+ if(typeof node.fetched == 'undefined') {
+ node.fetched = true;
+ $(this).tree('loadDataFromUrl', node, function () {
+ $(this).tree('openNode', node);}
+ );
+ }
folderSelected(node.id, node.name);
} else
documentSelected(node.id, node.name);
}
);
+ $('#jqtree').on(
+ 'tree.contextmenu',
+ function(event) {
+ // The clicked node is 'event.node'
+ var node = event.node;
+ if(typeof node.fetched == 'undefined') {
+ node.fetched = true;
+ $(this).tree('loadDataFromUrl', node);
+ }
+ $(this).tree('openNode', node);
+ }
+ );
+ $("#jqtree").on('dragenter', function (e) {
+ attr_rel = $(e.srcElement).attr('rel');
+ if(typeof attr_rel == 'undefined')
+ return;
+ target_type = attr_rel.split("_")[0];
+ target_id = attr_rel.split("_")[1];
+ var node = $(this).tree('getNodeById', parseInt(target_id));
+ if(typeof node.fetched == 'undefined') {
+ node.fetched = true;
+ $(this).tree('loadDataFromUrl', node, function() {$(this).tree('openNode', node);});
+ }
+ });
});
";
- if($version)
- $latestContent = $document->getContentByVersion($version);
- else
- $latestContent = $document->getLatestContent();
+ if($version) {
+ $latestContent = $this->callHook('documentContent', $document, $version);
+ if($latestContent === null)
+ $latestContent = $document->getContentByVersion($version);
+ } else {
+ $latestContent = $this->callHook('documentLatestContent', $document);
+ if($latestContent === null)
+ $latestContent = $document->getLatestContent();
+ }
if($latestContent) {
$previewer->createPreview($latestContent);
@@ -2570,7 +2609,7 @@ $(document).ready(function() {
echo "";
echo "".$rec['date']." - ";
$updateuser = $dms->getUser($rec["userID"]);
- if(!is_object($required))
+ if(!is_object($updateuser))
echo getMLText("unknown_user");
else
echo htmlspecialchars($updateuser->getFullName()." (".$updateuser->getLogin().")");
diff --git a/views/bootstrap/class.Calendar.php b/views/bootstrap/class.Calendar.php
index 0b9ca0bee..8e49920b6 100644
--- a/views/bootstrap/class.Calendar.php
+++ b/views/bootstrap/class.Calendar.php
@@ -46,6 +46,7 @@ class SeedDMS_View_Calendar extends SeedDMS_Bootstrap_Style {
$previewwidthlist = $this->params['previewWidthList'];
$previewwidthdetail = $this->params['previewWidthDetail'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
if($document) {
// $this->contentHeading(getMLText("timeline_selected_item"));
@@ -56,7 +57,7 @@ class SeedDMS_View_Calendar extends SeedDMS_Bootstrap_Style {
print " ".getMLText("status")." \n";
print "".getMLText("action")." \n";
print "\n\n\n";
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile);
echo $this->documentListRow($document, $previewer);
echo "\n\n";
@@ -125,6 +126,7 @@ class SeedDMS_View_Calendar extends SeedDMS_Bootstrap_Style {
$previewwidthlist = $this->params['previewWidthList'];
$previewwidthdetail = $this->params['previewWidthDetail'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
if($this->params['start']) {
$from = makeTsFromLongDate($this->params['start'].' 00:00:00');
@@ -141,7 +143,7 @@ class SeedDMS_View_Calendar extends SeedDMS_Bootstrap_Style {
print "".getMLText("status")." \n";
print "".getMLText("action")." \n";
print "\n\n\n";
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile);
foreach($data as $i=>$item) {
/* Filter out timeline events for the documents not happened on the
* selected day
diff --git a/views/bootstrap/class.Categories.php b/views/bootstrap/class.Categories.php
index fda5ddb50..ceb8b2ed3 100644
--- a/views/bootstrap/class.Categories.php
+++ b/views/bootstrap/class.Categories.php
@@ -56,6 +56,7 @@ $(document).ready( function() {
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
if($selcat) {
$this->contentHeading(getMLText("category_info"));
@@ -73,7 +74,7 @@ $(document).ready( function() {
print "".getMLText("status")." \n";
print "".getMLText("action")." \n";
print "\n\n\n";
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
foreach($documents as $doc) {
echo $this->documentListRow($doc, $previewer);
}
diff --git a/views/bootstrap/class.Clipboard.php b/views/bootstrap/class.Clipboard.php
index fa03444eb..d912e2e57 100644
--- a/views/bootstrap/class.Clipboard.php
+++ b/views/bootstrap/class.Clipboard.php
@@ -103,8 +103,9 @@ class SeedDMS_View_Clipboard extends SeedDMS_Bootstrap_Style {
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
$content = '';
$foldercount = $doccount = 0;
if($clipboard['folders']) {
@@ -134,7 +135,10 @@ class SeedDMS_View_Clipboard extends SeedDMS_Bootstrap_Style {
if($document = $dms->getDocument($docid)) {
$comment = $document->getComment();
if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "...";
- if($latestContent = $document->getLatestContent()) {
+ $latestContent = $this->callHook('documentLatestContent', $document);
+ if($latestContent === null)
+ $latestContent = $document->getLatestContent();
+ if($latestContent) {
$previewer->createPreview($latestContent);
$version = $latestContent->getVersion();
$status = $latestContent->getStatus();
diff --git a/views/bootstrap/class.DefaultKeywords.php b/views/bootstrap/class.DefaultKeywords.php
index bdac1fbeb..5aa4e4198 100644
--- a/views/bootstrap/class.DefaultKeywords.php
+++ b/views/bootstrap/class.DefaultKeywords.php
@@ -117,6 +117,23 @@ $(document).ready( function() {
params['dms'];
+ $user = $this->params['user'];
+ $selcategoryid = $this->params['selcategoryid'];
+
+ if($selcategoryid && $selcategoryid > 0) {
+?>
+
+params['dms'];
$user = $this->params['user'];
@@ -129,30 +146,27 @@ $(document).ready( function() {
if(!$category) {
?>
-
getOwner();
if ((!$user->isAdmin()) && ($owner->getID() != $user->getID())) return;
?>
-
- ";
print "
";
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile);
$previewer->createPreview($version);
if($previewer->hasPreview($version)) {
print("getID()."&version=".$version->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($version->getMimeType())."\">");
@@ -235,7 +237,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style {
print "
";
if ($file_exists){
print "
";
print "";
@@ -401,7 +403,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style {
print "
";
$previewer->createPreview($file, $previewwidthdetail);
if($file_exists) {
- if ($viewonlinefiletypes && in_array(strtolower($file->getFileType()), $viewonlinefiletypes)) {
+ if ($viewonlinefiletypes && (in_array(strtolower($file->getFileType()), $viewonlinefiletypes) || in_array(strtolower($file->getMimeType()), $viewonlinefiletypes))) {
print "getID()."\">";
} else {
print "getID()."\">";
@@ -434,7 +436,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style {
print " ";
if ($file_exists) {
print "
getMimeIcon($file->getFileType())."\" title=\"".htmlspecialchars($file->getMimeType())."\">";
diff --git a/views/bootstrap/class.DropFolderChooser.php b/views/bootstrap/class.DropFolderChooser.php
index 887f77711..1349641db 100644
--- a/views/bootstrap/class.DropFolderChooser.php
+++ b/views/bootstrap/class.DropFolderChooser.php
@@ -58,9 +58,10 @@ $('.folderselect').click(function(ev) {
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthMenuList'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
$folderid = isset($_GET['folderid']) ? $_GET['folderid'] : 0;
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
$c = 0; // count files
$filecontent = '';
@@ -116,9 +117,10 @@ $('.folderselect').click(function(ev) {
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
$showfolders = $this->params['showfolders'];
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
$dir = $dropfolderdir.'/'.$user->getLogin();
/* Check if we are still looking in the configured directory and
diff --git a/views/bootstrap/class.EditOnline.php b/views/bootstrap/class.EditOnline.php
index 10995b10e..80c316d35 100644
--- a/views/bootstrap/class.EditOnline.php
+++ b/views/bootstrap/class.EditOnline.php
@@ -74,14 +74,13 @@ $(document).ready(function() {
".htmlspecialchars(file_get_contents($dms->contentDir . $version->getPath()), ENT_SUBSTITUTE)."
";
?>
".getMLText("expires")." \n";
print "\n\n\n";
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
foreach ($docs as $document) {
print "\n";
$latestContent = $document->getLatestContent();
diff --git a/views/bootstrap/class.ExtensionMgr.php b/views/bootstrap/class.ExtensionMgr.php
index fffc882ea..18f607109 100644
--- a/views/bootstrap/class.ExtensionMgr.php
+++ b/views/bootstrap/class.ExtensionMgr.php
@@ -59,6 +59,13 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style {
var element = $(this);
$('#'+element.data('extname')+'-import').submit();
});
+
+ $("#extensionfilter").on("keyup", function() {
+ var value = $(this).val().toLowerCase();
+ $("#extensionlist tbody tr").filter(function() {
+ $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
+ });
+ });
});
\n";
+ echo "
\n";
print "\n
\n";
print " \n";
print " ".getMLText('name')." \n";
diff --git a/views/bootstrap/class.FolderAccess.php b/views/bootstrap/class.FolderAccess.php
index 4a5f18b9d..bf3905d05 100644
--- a/views/bootstrap/class.FolderAccess.php
+++ b/views/bootstrap/class.FolderAccess.php
@@ -193,7 +193,7 @@ $(document).ready(function() {
$options[] = array(-1, getMLText('select_one'));
foreach ($allUsers as $currUser) {
if (!$currUser->isGuest())
- $options[] = array($currUser->getID(), htmlspecialchars($currUser->getLogin()), ($currUser->getID()==$user->getID()), array(array('data-subtitle', htmlspecialchars($currUser->getFullName()))));
+ $options[] = array($currUser->getID(), htmlspecialchars($currUser->getLogin()), false, array(array('data-subtitle', htmlspecialchars($currUser->getFullName()))));
}
$this->formField(
getMLText("user"),
diff --git a/views/bootstrap/class.GroupMgr.php b/views/bootstrap/class.GroupMgr.php
index c70dbc59a..7fbed3d4c 100644
--- a/views/bootstrap/class.GroupMgr.php
+++ b/views/bootstrap/class.GroupMgr.php
@@ -113,9 +113,10 @@ $(document).ready( function() {
$previewwidth = $this->params['previewWidthList'];
$workflowmode = $this->params['workflowmode'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
if($selgroup) {
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
$this->contentHeading(getMLText("group_info"));
echo "\n";
if($workflowmode == "traditional") {
diff --git a/views/bootstrap/class.Help.php b/views/bootstrap/class.Help.php
index 4df03d260..15d9d2898 100644
--- a/views/bootstrap/class.Help.php
+++ b/views/bootstrap/class.Help.php
@@ -45,12 +45,13 @@ class SeedDMS_View_Help extends SeedDMS_Bootstrap_Style {
";
while (false !== ($entry = $d->read())) {
if($entry != '..' && $entry != '.') {
$path_parts = pathinfo($dir."/".$entry);
- if($path_parts['extension'] == 'html' || $path_parts['extension'] == 'md') {
+ if(isset($path_parts['extension']) && ($path_parts['extension'] == 'html' || $path_parts['extension'] == 'md')) {
echo "
";
print "\n
\n";
@@ -153,6 +153,7 @@ class SeedDMS_View_ManageNotify extends SeedDMS_Bootstrap_Style {
$this->previewwidth = $this->params['previewWidthList'];
$this->db = $this->dms->getDB();
$this->timeout = $this->params['timeout'];
+ $this->xsendfile = $this->params['xsendfile'];
$this->htmlStartPage(getMLText("my_account"));
$this->globalNavigation();
diff --git a/views/bootstrap/class.MyDocuments.php b/views/bootstrap/class.MyDocuments.php
index 0aeb7cdfd..a3a25d66a 100644
--- a/views/bootstrap/class.MyDocuments.php
+++ b/views/bootstrap/class.MyDocuments.php
@@ -45,9 +45,10 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style {
$workflowmode = $this->params['workflowmode'];
$previewwidth = $this->params['previewWidthList'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
$db = $dms->getDB();
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
$this->htmlStartPage(getMLText("my_documents"));
$this->globalNavigation();
@@ -929,7 +930,7 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style {
print " \n\n\n";
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
foreach ($resArr as $res) {
$document = $dms->getDocument($res["documentID"]);
$document->verifyLastestContentExpriry();
diff --git a/views/bootstrap/class.OverrideContentStatus.php b/views/bootstrap/class.OverrideContentStatus.php
index f26db9794..d05d1ba4e 100644
--- a/views/bootstrap/class.OverrideContentStatus.php
+++ b/views/bootstrap/class.OverrideContentStatus.php
@@ -100,7 +100,7 @@ $(document).ready(function() {
$options[] = array('', '');
if ($overallStatus["status"] == S_OBSOLETE)
$options[] = array(S_RELEASED, getOverallStatusText(S_RELEASED));
- if ($overallStatus["status"] == S_RELEASED)
+ if ($overallStatus["status"] != S_OBSOLETE)
$options[] = array(S_OBSOLETE, getOverallStatusText(S_OBSOLETE));
$this->formField(
getMLText("status"),
diff --git a/views/bootstrap/class.ReviewDocument.php b/views/bootstrap/class.ReviewDocument.php
index ebf71f670..8937e40a4 100644
--- a/views/bootstrap/class.ReviewDocument.php
+++ b/views/bootstrap/class.ReviewDocument.php
@@ -143,7 +143,7 @@ $(document).ready(function() {
);
$this->formField(
getMLText("review_file"),
- $this->getFileChooserHtml('review_file', false)
+ $this->getFileChooserHtml('reviewfile', false)
);
$options = array();
if($reviewStatus['status'] != 1)
diff --git a/views/bootstrap/class.ReviewSummary.php b/views/bootstrap/class.ReviewSummary.php
index bbe2a2030..56a94973c 100644
--- a/views/bootstrap/class.ReviewSummary.php
+++ b/views/bootstrap/class.ReviewSummary.php
@@ -42,8 +42,9 @@ class SeedDMS_View_ReviewSummary extends SeedDMS_Bootstrap_Style {
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
$this->htmlStartPage(getMLText("my_documents"));
$this->globalNavigation();
diff --git a/views/bootstrap/class.Search.php b/views/bootstrap/class.Search.php
index 838acf209..77d5b898d 100644
--- a/views/bootstrap/class.Search.php
+++ b/views/bootstrap/class.Search.php
@@ -97,6 +97,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$timeout = $this->params['timeout'];
+ $xsendfile = $this->params['xsendfile'];
$this->htmlAddHeader(''."\n", 'js');
@@ -468,7 +469,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
print "\n\n\n";
}
- $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
+ $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
foreach ($entries as $entry) {
if(get_class($entry) == $dms->getClassname('document')) {
$txt = $this->callHook('documentListItem', $entry, $previewer, false, 'search');
diff --git a/views/bootstrap/class.Settings.php b/views/bootstrap/class.Settings.php
index 5e08f42c8..27ea716b2 100644
--- a/views/bootstrap/class.Settings.php
+++ b/views/bootstrap/class.Settings.php
@@ -349,6 +349,7 @@ $this->showStartPaneContent('site', (!$currenttab || $currenttab == 'site'));
showConfigCheckbox('settings_enableLargeFileUpload', 'enableLargeFileUpload'); ?>
showConfigText('settings_partitionSize', 'partitionSize'); ?>
showConfigText('settings_maxUploadSize', 'maxUploadSize'); ?>
+showConfigCheckbox('settings_enableXsendfile', 'enableXsendfile'); ?>
@@ -484,7 +485,7 @@ $this->showStartPaneContent('site', (!$currenttab || $currenttab == 'site'));
break;
case 'select':
if(!empty($conf['options'])) {
- $selections = explode(",", $settings->_extensions[$extname][$confkey]);
+ $selections = empty($settings->_extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]);
echo "".getMLText("expires")." \n";
print "