diff --git a/CHANGELOG b/CHANGELOG index b3cca7600..8daa8fe92 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -115,6 +115,10 @@ -------------------------------------------------------------------------------- - fix output of status on approval/review summary page - pass context to getAccessMode() +- add opensearch description +- make buttons on admin page smaller +- pass optional parameter to hook documentListItem() which turns of the + surrounding tr tag -------------------------------------------------------------------------------- Changes in version 5.1.8 @@ -353,6 +357,12 @@ - add .xml to online file types by default - add home folder for users +-------------------------------------------------------------------------------- + Changes in version 4.3.38 +-------------------------------------------------------------------------------- +- translation updates +- pass email instead of fullname to restapi /account/email + -------------------------------------------------------------------------------- Changes in version 4.3.37 -------------------------------------------------------------------------------- diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 406ef4c09..ca01c4319 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -2713,7 +2713,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ * {@see SeedDMS_Core_Document::getReadAccessList()} instead. */ function getApproversList() { /* {{{ */ - return $this->getReadAccessList(0, 0); + return $this->getReadAccessList(0, 0, 0); } /* }}} */ /** @@ -2721,10 +2721,11 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ * * @param boolean $listadmin if set to true any admin will be listed too * @param boolean $listowner if set to true the owner will be listed too + * @param boolean $listguest if set to true any guest will be listed too * * @return array list of users and groups */ - function getReadAccessList($listadmin=0, $listowner=0) { /* {{{ */ + function getReadAccessList($listadmin=0, $listowner=0, $listguest=0) { /* {{{ */ $db = $this->_dms->getDB(); if (!isset($this->_readAccessList)) { @@ -2750,7 +2751,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $user = $userAccess->getUser(); if (!$listadmin && $user->isAdmin()) continue; if (!$listowner && $user->getID() == $this->_ownerID) continue; - if ($user->isGuest()) continue; + if (!$listguest && $user->isGuest()) continue; $userIDs .= (strlen($userIDs)==0 ? "" : ", ") . $userAccess->getUserID(); } diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index dcbea3170..4064279f5 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -1622,7 +1622,7 @@ fix possible sql injection in SeedDMS_Core_User - 2018-07-13 + 2018-08-07 5.1.9 @@ -1636,6 +1636,7 @@ fix possible sql injection in SeedDMS_Core_User context can be passed to getAccessMode() call hook in SeedDMS_Core_Folder::getAccessMode() +new optional parameter $listguest for SeedDMS_Core_Document::getReadAccessList() diff --git a/TODO b/TODO index 097943d42..8a9ea6cb8 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,3 @@ -Show workflow steps after document has been released (keep workflow tab) - -Show documents in calendar when they where uploaded. - Update comment and date of a review/approval, if the same status is set again. Currently setting the same status is turned of, because it didn't have any effect, which is quite confusing if the user can do an operation @@ -26,9 +22,6 @@ the session data. See op.Login.php and op.Logout.php Allow to specify fine grained notification (e.g. deleting a document, folder) -Have access rights depending on document status. This will allow to -restrict access when a document is in a workflow or has been rejected. - Settings::searchConfigFilePath() and Settings::getConfigDir() use different approaches to get the configuration directory. diff --git a/doc/README.Install.md b/doc/README.Install.md index 3b26e176c..b203fa9e5 100644 --- a/doc/README.Install.md +++ b/doc/README.Install.md @@ -1,44 +1,6 @@ SeedDMS Installation Instructions ================================== -NOTE FOR VERSION 4.0.0 -====================== - -Since version 4.0.0 of SeedDMS installation has been simplified. -ADOdb is no longer needed because the database access is done by -PDO. - -IMPORTANT NOTE ABOUT TRANSLATIONS -================================= - -As you can see SeedDMS provides a lot of languages but we are not professional -translators and therefore rely on user contributions. - -If your language is not present in the login panel: -- copy the language/English/ folder and rename it appropriately for your - language -- open the file `languages/your_lang/lang.inc` and translate it -- open the help file `languages/your_lang/help.htm` and translate it too - -If you see some wrong or not translated messages: -- open the file `languages/your_lang/lang.inc` -- search the wrong messages and translate them - -if you have some "error getting text": -- search the string in the english file `languages/english/lang.inc` -- copy to your language file `languages/your_lang/lang.inc` -- translate it - -If there is no help in your language: -- Copy the English help `english/help.htm` file to your language folder -- translate it - -If you apply any changes to the language files please send them to the -SeedDMS developers . - -http://www.iana.org/assignments/language-subtag-registry has a list of -all language and country codes. - REQUIREMENTS ============ @@ -46,15 +8,13 @@ SeedDMS is a web-based application written in PHP. It uses MySQL, sqlite3 or postgresql to manage the documents that were uploaded into the application. Be aware that postgresql is not very well tested. -Make sure you have PHP 5.3 and MySQL 5 or higher installed. SeedDMS -will work with PHP running in CGI-mode as well as running as module under -apache. If you want to give your users the opportunity of uploading passport -photos you have to enable the gd-library (but the rest of SeedDMS will -work without gd, too). +Make sure you have PHP 5.4 and MySQL 5 or higher installed. SeedDMS +will work with PHP running in CGI-mode as well as running as a module under +apache. Here is a detailed list of requirements: -1. A web server with at least php 5.3 +1. A web server with at least php 5.4 2. A mysql database, unless you use sqlite 3. The php installation must have support for `pdo_mysql` or `pdo_sqlite`, `php_gd2`, `php_mbstring` @@ -63,14 +23,14 @@ Here is a detailed list of requirements: for fulltext search) 5. ImageMagic (the convert program) is needed for creating preview images 6. The Zend Framework (version 1) (optional, only needed for fulltext search) -7. The pear Log package +7. The pear Log and Mail package 8. The pear HTTP_WebDAV_Server package (optional, only need for webdav) 9. SLIM RestApi 10. FeedWriter from https://github.com/mibe/FeedWriter It is highly recommended to use the quickstart archive (seeddms-quickstart-x.y.z.tar.gz) because it includes all software packages for running SeedDMS, though you still need -a working web server with PHP. +a working web server with PHP and a mysql database unless you intend to use sqlite. QUICKSTART =========== @@ -94,9 +54,83 @@ paths by replacing `/home/wwww-data` with your document root. Once done, save it, remove the file `ENABLE_INSTALL_TOOL` and point your browser to http://your-domain/seeddms51x/. + +UPDATING FROM A PREVIOUS VERSION OR SEEDDMS +============================================= + +As SeedDMS is a smooth continuation of LetoDMS there is no difference +in updating from LetoDMS or SeedDMS + +You have basically two choices to update SeedDMS + +- you install a fresh version of SeedDMS and copy over your data and configuration +- you replace the software in your current installation with a new version + +The first option is less interuptive but requires to be able to set up a second +temporary SeedDMS installation. + +In both cases make sure to have a backup of your data directory, configuration +and database. + +Fresh installation and take over of data +----------------------------------------- + +- just do a fresh installation somewhere on your web server and make sure it + works. It is fine to use + sqlite for it, even if your final installation uses mysql. +- replace the data directory in your new installation with the data directory + from your current installation. Depending on the size of that directory you + may either copy, move or place a symbolic link. The content of the data directory + will not be changed unless you modify your documents. Its perfectly save to + browse through your documents and download them. +- copy over the configuration settings.xml into your new installation +- if you use mysql you could as well make a copy of the database to make sure + your current database remains unchanged. As long as you do not do any modification, + you could even use your current database. +- modify the settings.xml to fit the fresh install. This will mostly be the + httpRoot, the paths to the installation directory and possibly the database + connection. +- create a file `ENABLE_INSTALL_TOOL` in the conf directory and point + your browser at http://hostname/seeddms/install + The install tool will detect the version of your current SeedDMS installation + and run the required database updates. + If you update just within the last version number (e.g. from 5.1.6 to 5.1.9), + this step + will not be required because such a subminor version update will never + contain database updates. +- test your new installation. + +Updating your current installation +----------------------------------- + +- make a backup of your data folder and the configuration file settings.xml +- in case you use mysql then dump your current database +- get the SeedDMS archive seeddms-x.y.z.tar.gz and all pear packages + SeedDMS_Core, SeedDMS_Lucene, SeedDMS_Preview and extract them over your + current instalation. As they do not contain a data directory nor a settings.xml + file, you will not overwrite your existing data and configuration. +- you may compare your conf/settings.xml file with the shipped version + conf/settings.xml.template for new parameters. If you don't do it, the next + time you save the configuration the default values will be used. +- create a file `ENABLE_INSTALL_TOOL` in the conf directory and point + your browser at http://hostname/seeddms/install + The install tool will detect the version of your current SeedDMS installation + and run the required database updates. + If you update just within the last version number (e.g. from 5.1.6 to 5.1.9), + this step + will not be required because such a subminor version update will never + contain database updates. + + THE LONG STORY ================ +If you intend to run a single instance of SeedDMS, you are most likely +better off by using the quickstart archive as described above. This +section is mostly for users who wants to know more about the internals +of SeedDMS or do packaging for a software distribution, which already +ships some of the additional software SeedDMS requires. + SeedDMS has changed its installation process with version 3.0.0. This gives you many more options in how to install SeedDMS. First of all, SeedDMS was split into a core package (`SeedDMS_Core-.tar.gz`) and the web @@ -130,7 +164,7 @@ on your web server. ------------------- A common source of problems in the past have been the additional software -packages needed by SeedDMS. Those are the PEAR packages `Log` and +packages needed by SeedDMS. Those are the PEAR packages `Log`, `Mail` and `HTTP_WebDAV_Server` as well as the `Zend_Framework`. If you have full access to the server running a Linux distribution it is recommended to install those with your package manager if they are provided @@ -230,13 +264,16 @@ full text search engine support, you will also need to unpack > pear install SeedDMS_Lucene-.tgz > pear install SeedDMS_Preview-.tgz -* The PEAR package Log is also needed. It can be downloaded from - http://pear.php.net/package/Log. Either install it as a pear package +* The PEAR packages Log and Mail are also needed. They can be downloaded from + http://pear.php.net/package/Log and http://pear.php.net/package/Mail. + Either install it as a pear package or place it under your new directory 'pear' > pear > Log > Log.php + > Mail + > Mail.php * The package HTTP_WebDAV_Server is also needed. It can be downloaded from http://pear.php.net/package/HTTP_WebDAV_Server. Either install it as a @@ -286,25 +323,6 @@ If you install SeedDMS for the first time continue with the database setup. your browser at http://hostname/seeddms/install -NOTE: UPDATING FROM A PREVIOUS VERSION OR SEEDDMS - -As SeedDMS is a smooth continuation of LetoDMS there is no difference -in updating from LetoDMS or SeedDMS - -- make a backup archive of your installation folder -- make a backup archive of your data folder -- dump your current database -- extract the SeedDMS archive to your web server -- edit the conf/settings.xml file to match your previuos settings - (you can even replace the file with your own one eventualy adding by hand - the missing new parameters) -- create a file `ENABLE_INSTALL_TOOL` in the conf directory and point - your browser at http://hostname/seeddms/install - -The install tool will detect the version of your current SeedDMS installation -and run the required database updates. - - 3. Email Notification --------------------- @@ -402,6 +420,44 @@ settings in conf/settings.xml or run the installation tool. Point your web browser towards the index.php file in your new instance. +NOTE FOR VERSION 4.0.0 +====================== + +Since version 4.0.0 of SeedDMS installation has been simplified. +ADOdb is no longer needed because the database access is done by +PDO. + +IMPORTANT NOTE ABOUT TRANSLATIONS +================================= + +As you can see SeedDMS provides a lot of languages but we are not professional +translators and therefore rely on user contributions. + +If your language is not present in the login panel: +- copy the language/English/ folder and rename it appropriately for your + language +- open the file `languages/your_lang/lang.inc` and translate it +- open the help file `languages/your_lang/help.htm` and translate it too + +If you see some wrong or not translated messages: +- open the file `languages/your_lang/lang.inc` +- search the wrong messages and translate them + +if you have some "error getting text": +- search the string in the english file `languages/english/lang.inc` +- copy to your language file `languages/your_lang/lang.inc` +- translate it + +If there is no help in your language: +- Copy the English help `english/help.htm` file to your language folder +- translate it + +If you apply any changes to the language files please send them to the +SeedDMS developers . + +http://www.iana.org/assignments/language-subtag-registry has a list of +all language and country codes. + LICENSING ========= diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 2dd30a2c7..182d04992 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2629), dgrutsch (22) +// Translators: Admin (2630), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -1663,7 +1663,7 @@ Name: [username] 'submit_password' => 'Setze neues Passwort', 'submit_password_forgotten' => 'Neues Passwort setzen und per E-Mail schicken', 'submit_receipt' => 'Empfang bestätigen', -'submit_review' => 'Wiederholungsprüfung hinzufügen', +'submit_review' => 'Prüfung hinzufügen', 'submit_revision' => 'Wiederholungsprüfung hinzufügen', 'submit_userinfo' => 'Daten setzen', 'subsribe_timelinefeed' => 'Verauf als RSS-Feed abonnieren', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index d573435c3..d75627023 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (272) +// Translators: Admin (274) $text = array( '2_factor_auth' => '', @@ -34,7 +34,7 @@ $text = array( 'access_mode_all' => 'Πλήρης πρόσβαση', 'access_mode_none' => '', 'access_mode_read' => 'Δικαιώματα ανάγνωσης', -'access_mode_readwrite' => '', +'access_mode_readwrite' => 'Δικαιώματα ανάγνωσης-εγγραφής', 'access_permission_changed_email' => '', 'access_permission_changed_email_body' => '', 'access_permission_changed_email_subject' => '', @@ -413,7 +413,7 @@ $text = array( 'email_header' => '', 'email_not_given' => '', 'empty_attribute_group_list' => '', -'empty_folder_list' => '', +'empty_folder_list' => 'Δεν υπάρχουν αρχεία ή φάκελοι', 'empty_list' => '', 'empty_notify_list' => '', 'en_GB' => 'English (GB)/Αγγλικά', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 119e24267..a8b5c0096 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1745), archonwang (3), dgrutsch (9), netixw (14) +// Translators: Admin (1746), archonwang (3), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -625,7 +625,7 @@ URL: [url]', 'group_info' => 'Group information', 'group_management' => 'Groups management', 'group_members' => 'Group members', -'group_receipt_summary' => 'Group receipt confirmations overview.', +'group_receipt_summary' => 'Group receipt summary', 'group_review_summary' => 'Group review summary', 'guest_login' => 'Login as guest', 'guest_login_disabled' => 'Guest login is disabled.', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 954a18056..4e4f7f99b 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -24,7 +24,7 @@ $text = array( '2_factor_auth' => 'Kétfaktoros azonosítás', '2_factor_auth_info' => '', -'2_fact_auth_secret' => '', +'2_fact_auth_secret' => 'Titkos', 'accept' => 'Elfogad', 'access_control' => '', 'access_control_is_off' => '', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index e01019fc8..8c9ddf841 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1617), rickr (144), s.pnt (26) +// Translators: Admin (1619), rickr (144), s.pnt (26) $text = array( '2_factor_auth' => 'Autorizzazione a due fattori', @@ -1135,7 +1135,7 @@ URL: [url]', 'select_attrdefgrp_show' => 'Scegli quando mostrare', 'select_attribute_value' => '', 'select_category' => 'Clicca per selezionare la categoria', -'select_group' => '', +'select_group' => 'Seleziona Gruppo', 'select_groups' => 'Clicca per selezionare i gruppi', 'select_grp_approvers' => 'Seleziona gruppo approvatore', 'select_grp_ind_approvers' => 'Fare clic per scegliere il gruppo', @@ -1153,7 +1153,7 @@ URL: [url]', 'select_ind_reviewers' => 'Seleziona revisore', 'select_ind_revisors' => 'Seleziona singoli revisori', 'select_one' => 'Seleziona uno', -'select_user' => '', +'select_user' => 'Seleziona Utente', 'select_users' => 'Clicca per selezionare gli utenti', 'select_value' => 'Selezionare un valore', 'select_workflow' => 'Seleziona il flusso di lavoro', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 96861fe2c..89acfb0d5 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (756), gijsbertush (610), pepijn (45), reinoutdijkstra@hotmail.com (270) +// Translators: Admin (757), gijsbertush (610), pepijn (45), reinoutdijkstra@hotmail.com (270) $text = array( '2_factor_auth' => '2-factor-authenticatie', @@ -726,7 +726,7 @@ URL: [url]', 'login_ok' => 'Login geslaagd', 'logout' => 'Log uit', 'log_management' => 'Logbestanden beheer', -'lo_LA' => '', +'lo_LA' => 'Laotiaans', 'manager' => 'Beheerder', 'manager_of_group' => 'U bent beheerder van deze groep', 'mandatory_approvergroups' => 'Verplichte groep \'[group]\'', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 95c3211fb..df239795e 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (802), netixw (84), romi (93), uGn (112) +// Translators: Admin (804), netixw (84), romi (93), uGn (112) $text = array( '2_factor_auth' => '', @@ -1081,7 +1081,7 @@ URL: [url]', 'select_attrdefgrp_show' => '', 'select_attribute_value' => '', 'select_category' => 'Kliknij by wybrać kategorię', -'select_group' => '', +'select_group' => 'Wybierz grupę', 'select_groups' => 'Kliknij by wybrać grupy', 'select_grp_approvers' => 'Kliknij by wybrać grupę zatwierdzającą', 'select_grp_ind_approvers' => '', @@ -1099,7 +1099,7 @@ URL: [url]', 'select_ind_reviewers' => 'Kliknij by wybrać recenzenta', 'select_ind_revisors' => '', 'select_one' => 'Wybierz', -'select_user' => '', +'select_user' => 'Wybierz użytkownika', 'select_users' => 'Kliknij by wybrać użytkowników', 'select_value' => 'Wybrać wartość', 'select_workflow' => 'Wybierz proces', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 4e308305c..a94a634bd 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2408) +// Translators: Admin (2415) $text = array( '2_factor_auth' => '', @@ -993,7 +993,7 @@ URL: [url]', 'settings_activate_php_extension' => '', 'settings_adminIP' => '', 'settings_adminIP_desc' => '', -'settings_Advanced' => '', +'settings_Advanced' => '進階', 'settings_advancedAcl' => '', 'settings_advancedAcl_desc' => '', 'settings_allowReviewerOnly' => '', @@ -1057,7 +1057,7 @@ URL: [url]', 'settings_disableSelfEdit' => '', 'settings_disableSelfEdit_desc' => '', 'settings_disable_install' => '', -'settings_Display' => '', +'settings_Display' => '顯示設定', 'settings_dropFolderDir' => '', 'settings_dropFolderDir_desc' => '', 'settings_Edition' => '', @@ -1155,12 +1155,12 @@ URL: [url]', 'settings_expandFolderTree_val0' => '', 'settings_expandFolderTree_val1' => '', 'settings_expandFolderTree_val2' => '', -'settings_Extensions' => '', +'settings_Extensions' => '延伸功能', 'settings_extraPath' => '額外的PHP的include路徑', 'settings_extraPath_desc' => '附加軟體的路徑。這是包含目錄,例如在ADODB目錄或額外的PEAR包', 'settings_firstDayOfWeek' => '', 'settings_firstDayOfWeek_desc' => '', -'settings_footNote' => '', +'settings_footNote' => '頁尾註解', 'settings_footNote_desc' => '', 'settings_fullSearchEngine' => '', 'settings_fullSearchEngine_desc' => '', @@ -1268,10 +1268,10 @@ URL: [url]', 'settings_showMissingTranslations_desc' => '', 'settings_showSingleSearchHit' => '', 'settings_showSingleSearchHit_desc' => '', -'settings_Site' => '', +'settings_Site' => '站台', 'settings_siteDefaultPage' => '網站的默認頁', 'settings_siteDefaultPage_desc' => '', -'settings_siteName' => '', +'settings_siteName' => '站台名稱', 'settings_siteName_desc' => '', 'settings_SMTP' => 'SMTP 伺服器設定', 'settings_smtpPassword' => '', @@ -1303,7 +1303,7 @@ URL: [url]', 'settings_strictFormCheck' => '', 'settings_strictFormCheck_desc' => '', 'settings_suggestionvalue' => '', -'settings_System' => '', +'settings_System' => '系統', 'settings_tasksInMenu' => '', 'settings_tasksInMenu_approval' => '', 'settings_tasksInMenu_desc' => '', diff --git a/out/out.OpensearchDesc.php b/out/out.OpensearchDesc.php new file mode 100644 index 000000000..8c4cc8d42 --- /dev/null +++ b/out/out.OpensearchDesc.php @@ -0,0 +1,37 @@ +$dms, 'user'=>$user)); +if($view) { + $view($_GET); + exit; +} diff --git a/restapi/index.php b/restapi/index.php index f19be2a1e..21ea8b1b4 100644 --- a/restapi/index.php +++ b/restapi/index.php @@ -237,7 +237,7 @@ function setEmail($id) { /* {{{ */ return; } - $userobj->setEmail($app->request()->put('fullname')); + $userobj->setEmail($app->request()->put('email')); $app->response()->header('Content-Type', 'application/json'); echo json_encode(array('success'=>true, 'message'=>'', 'data'=>$userid)); } /* }}} */ diff --git a/views/bootstrap/class.AdminTools.php b/views/bootstrap/class.AdminTools.php index 411909bb9..350acea8c 100644 --- a/views/bootstrap/class.AdminTools.php +++ b/views/bootstrap/class.AdminTools.php @@ -44,7 +44,7 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style { } /* }}} */ static function rowButton($link, $icon, $label) { /* {{{ */ - return '
'.getMLText($label).'
'; + return '
'.getMLText($label).'
'; } /* }}} */ function show() { /* {{{ */ diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index fca445d25..2caa532b7 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -80,6 +80,9 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common { echo ''."\n"; elseif($this->baseurl) echo ''."\n"; + $sitename = trim(strip_tags($this->params['sitename'])); + if($this->params['session']) + echo ''."\n"; echo ''."\n"; echo ''."\n"; echo ''."\n"; @@ -117,7 +120,6 @@ background-image: linear-gradient(to bottom, #882222, #111111);; params['sitename'])); echo "".(strlen($sitename)>0 ? $sitename : "SeedDMS").(strlen($title)>0 ? ": " : "").htmlspecialchars($title)."\n"; echo "\n"; echo "0 ? " class=\"".$bodyClass."\"" : "").">\n"; @@ -451,7 +453,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo " getID()."\" />"; } echo " "; - echo " params['defaultsearchmethod'] == 'fulltext' ? "" : "id=\"searchfield\"")." data-provide=\"typeahead\" type=\"text\" style=\"width: 150px;\" placeholder=\"".getMLText("search")."\"/>"; + echo " params['defaultsearchmethod'] == 'fulltext' ? "" : "id=\"searchfield\"")." data-provide=\"typeahead\" type=\"search\" style=\"width: 150px;\" placeholder=\"".getMLText("search")."\"/>"; if($this->params['defaultsearchmethod'] == 'fulltext') echo " "; // if($this->params['enablefullsearch']) { diff --git a/views/bootstrap/class.Clipboard.php b/views/bootstrap/class.Clipboard.php index 90869618c..fa03444eb 100644 --- a/views/bootstrap/class.Clipboard.php +++ b/views/bootstrap/class.Clipboard.php @@ -76,10 +76,11 @@ class SeedDMS_View_Clipboard extends SeedDMS_Bootstrap_Style { foreach($menuitems as $menuitem) { $content .= "
  • "; $content .= " + * @copyright Copyright (C) 2002-2005 Markus Westphal, + * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, + * 2010-2012 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Include parent class + */ +require_once("class.Bootstrap.php"); + +/** + * Class which outputs the html page for OpensearchDesc view + * + * @category DMS + * @package SeedDMS + * @author Uwe Steinmann + * @copyright Copyright (C) 2010-2018 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_View_OpensearchDesc extends SeedDMS_Bootstrap_Style { + + function show() { /* {{{ */ + $dms = $this->params['dms']; + $sitename = $this->params['sitename']; + $settings = $this->params['settings']; + + ob_get_clean(); + header("Content-Disposition: attachment; filename=\"opensearch_desc.xml\""); + header('Content-Type: application/opensearchdescription+xml'); +?> + + + + + _httpRoot ?>styles/theme ?>/favicon.ico + _httpRoot."out/out.Search.php?query={searchTerms}" ?>" /> + _httpRoot."out/out.Search.php" ?> + +setConverters($previewconverters); foreach ($entries as $entry) { if(get_class($entry) == $dms->getClassname('document')) { - $txt = $this->callHook('documentListItem', $entry, $previewer, 'search'); + $txt = $this->callHook('documentListItem', $entry, $previewer, false, 'search'); if(is_string($txt)) echo $txt; else { diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 3205a36ab..6e9bc930f 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -130,7 +130,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($document) { if ($document->getAccessMode($user) >= M_READ) { $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth); - $txt = $this->callHook('documentListItem', $document, $previewer, 'viewitem'); + $txt = $this->callHook('documentListItem', $document, $previewer, false, 'viewitem'); if(is_string($txt)) $content = $txt; else @@ -1691,7 +1691,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { echo "getId()."\" class=\"table-row-document\" rel=\"document_".$targetDoc->getId()."\" formtoken=\"".createFormKey('movedocument')."\" draggable=\"true\">"; $targetDoc->verifyLastestContentExpriry(); - $txt = $this->callHook('documentListItem', $targetDoc, $previewer, 'reverselinks'); + $txt = $this->callHook('documentListItem', $targetDoc, $previewer, false, 'reverselinks'); if(is_string($txt)) echo $txt; else { @@ -1756,7 +1756,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { echo "getId()."\" class=\"table-row-document\" rel=\"document_".$sourceDoc->getId()."\" formtoken=\"".createFormKey('movedocument')."\" draggable=\"true\">"; $sourceDoc->verifyLastestContentExpriry(); - $txt = $this->callHook('documentListItem', $sourceDoc, $previewer, 'reverselinks'); + $txt = $this->callHook('documentListItem', $sourceDoc, $previewer, false, 'reverselinks'); if(is_string($txt)) echo $txt; else { diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index 2984a784b..68b59f5f6 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -200,7 +200,7 @@ $('#loadmore').click(function(e) { foreach($documents as $document) { if($i >= $offset && $j < $limit) { $document->verifyLastestContentExpriry(); - $txt = $this->callHook('documentListItem', $document, $previewer, 'viewfolder'); + $txt = $this->callHook('documentListItem', $document, $previewer, false, 'viewfolder'); if(is_string($txt)) $content .= $txt; else { @@ -442,7 +442,7 @@ $('#loadmore').click(function(e) { foreach($documents as $document) { if(!$maxItemsPerPage || $i < $maxItemsPerPage) { $document->verifyLastestContentExpriry(); - $txt = $this->callHook('documentListItem', $document, $previewer, 'viewfolder'); + $txt = $this->callHook('documentListItem', $document, $previewer, false, 'viewfolder'); if(is_string($txt)) echo $txt; else {