mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-12 04:31:32 +00:00
Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
commit
93b8ee1750
10
CHANGELOG
10
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
|
||||
--------------------------------------------------------------------------------
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -1622,7 +1622,7 @@ fix possible sql injection in SeedDMS_Core_User
|
|||
</notes>
|
||||
</release>
|
||||
<release>
|
||||
<date>2018-07-13</date>
|
||||
<date>2018-08-07</date>
|
||||
<time>09:19:24</time>
|
||||
<version>
|
||||
<release>5.1.9</release>
|
||||
|
@ -1636,6 +1636,7 @@ fix possible sql injection in SeedDMS_Core_User
|
|||
<notes>
|
||||
context can be passed to getAccessMode()
|
||||
call hook in SeedDMS_Core_Folder::getAccessMode()
|
||||
new optional parameter $listguest for SeedDMS_Core_Document::getReadAccessList()
|
||||
</notes>
|
||||
</release>
|
||||
<release>
|
||||
|
|
7
TODO
7
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.
|
||||
|
||||
|
|
|
@ -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 <info@seeddms.org>.
|
||||
|
||||
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-<version>.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-<version>.tgz
|
||||
> pear install SeedDMS_Preview-<version>.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 <info@seeddms.org>.
|
||||
|
||||
http://www.iana.org/assignments/language-subtag-registry has a list of
|
||||
all language and country codes.
|
||||
|
||||
LICENSING
|
||||
=========
|
||||
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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)/Αγγλικά',
|
||||
|
|
|
@ -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.',
|
||||
|
|
|
@ -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' => '',
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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]\'',
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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' => '',
|
||||
|
|
37
out/out.OpensearchDesc.php
Normal file
37
out/out.OpensearchDesc.php
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
// MyDMS. Document Management System
|
||||
// Copyright (C) 2002-2005 Markus Westphal
|
||||
// Copyright (C) 2006-2008 Malcolm Cowe
|
||||
// Copyright (C) 2010-2016 Uwe Steinmann
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
include("../inc/inc.Settings.php");
|
||||
include("../inc/inc.LogInit.php");
|
||||
include("../inc/inc.Utils.php");
|
||||
include("../inc/inc.Language.php");
|
||||
include("../inc/inc.Init.php");
|
||||
include("../inc/inc.Extension.php");
|
||||
include("../inc/inc.DBInit.php");
|
||||
include("../inc/inc.ClassUI.php");
|
||||
include("../inc/inc.ClassAccessOperation.php");
|
||||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
if($view) {
|
||||
$view($_GET);
|
||||
exit;
|
||||
}
|
|
@ -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));
|
||||
} /* }}} */
|
||||
|
|
|
@ -44,7 +44,7 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style {
|
|||
} /* }}} */
|
||||
|
||||
static function rowButton($link, $icon, $label) { /* {{{ */
|
||||
return '<a href="'.$link.'" class="span3 btn btn-medium"><i class="icon-'.$icon.'"></i><br />'.getMLText($label).'</a>';
|
||||
return '<a href="'.$link.'" class="span2 btn btn-medium"><i class="icon-'.$icon.'"></i><br />'.getMLText($label).'</a>';
|
||||
} /* }}} */
|
||||
|
||||
function show() { /* {{{ */
|
||||
|
|
|
@ -80,6 +80,9 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
|
|||
echo '<base href="'.$base.'">'."\n";
|
||||
elseif($this->baseurl)
|
||||
echo '<base href="'.$this->baseurl.'">'."\n";
|
||||
$sitename = trim(strip_tags($this->params['sitename']));
|
||||
if($this->params['session'])
|
||||
echo '<link rel="search" type="application/opensearchdescription+xml" href="../out/out.OpensearchDesc.php" title="'.(strlen($sitename)>0 ? $sitename : "SeedDMS").'"/>'."\n";
|
||||
echo '<link href="../styles/'.$this->theme.'/bootstrap/css/bootstrap.css" rel="stylesheet">'."\n";
|
||||
echo '<link href="../styles/'.$this->theme.'/bootstrap/css/bootstrap-responsive.css" rel="stylesheet">'."\n";
|
||||
echo '<link href="../styles/'.$this->theme.'/font-awesome/css/font-awesome.css" rel="stylesheet">'."\n";
|
||||
|
@ -117,7 +120,6 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
|||
</style>
|
||||
<?php
|
||||
}
|
||||
$sitename = trim(strip_tags($this->params['sitename']));
|
||||
echo "<title>".(strlen($sitename)>0 ? $sitename : "SeedDMS").(strlen($title)>0 ? ": " : "").htmlspecialchars($title)."</title>\n";
|
||||
echo "</head>\n";
|
||||
echo "<body".(strlen($bodyClass)>0 ? " class=\"".$bodyClass."\"" : "").">\n";
|
||||
|
@ -451,7 +453,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
|||
echo " <input type=\"hidden\" name=\"folderid\" value=\"".$folder->getID()."\" />";
|
||||
}
|
||||
echo " <input type=\"hidden\" name=\"navBar\" value=\"1\" />";
|
||||
echo " <input name=\"query\" class=\"search-query\" ".($this->params['defaultsearchmethod'] == 'fulltext' ? "" : "id=\"searchfield\"")." data-provide=\"typeahead\" type=\"text\" style=\"width: 150px;\" placeholder=\"".getMLText("search")."\"/>";
|
||||
echo " <input name=\"query\" class=\"search-query\" ".($this->params['defaultsearchmethod'] == 'fulltext' ? "" : "id=\"searchfield\"")." data-provide=\"typeahead\" type=\"search\" style=\"width: 150px;\" placeholder=\"".getMLText("search")."\"/>";
|
||||
if($this->params['defaultsearchmethod'] == 'fulltext')
|
||||
echo " <input type=\"hidden\" name=\"fullsearch\" value=\"1\" />";
|
||||
// if($this->params['enablefullsearch']) {
|
||||
|
|
|
@ -76,10 +76,11 @@ class SeedDMS_View_Clipboard extends SeedDMS_Bootstrap_Style {
|
|||
foreach($menuitems as $menuitem) {
|
||||
$content .= "<li>";
|
||||
$content .= "<a";
|
||||
if($menuitem['link'])
|
||||
if(!empty($menuitem['link']))
|
||||
$content .= ' href="'.$menuitem['link'].'"';
|
||||
foreach($menuitem['attributes'] as $attr)
|
||||
$content .= ' '.$attr[0].'="'.$attr[1].'"';
|
||||
if(!empty($menuitem['attributes']))
|
||||
foreach($menuitem['attributes'] as $attr)
|
||||
$content .= ' '.$attr[0].'="'.$attr[1].'"';
|
||||
$content .= ">";
|
||||
$content .= getMLText($menuitem['label']);
|
||||
$content .= "</a></li>";
|
||||
|
|
52
views/bootstrap/class.OpensearchDesc.php
Normal file
52
views/bootstrap/class.OpensearchDesc.php
Normal file
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
/**
|
||||
* Implementation of OpensearchDesc view
|
||||
*
|
||||
* @category DMS
|
||||
* @package SeedDMS
|
||||
* @license GPL 2
|
||||
* @version @version@
|
||||
* @author Uwe Steinmann <uwe@steinmann.cx>
|
||||
* @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 <uwe@steinmann.cx>
|
||||
* @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');
|
||||
?>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
|
||||
<ShortName><?= $sitename ?></ShortName>
|
||||
<Description><?= $sitename ?></Description>
|
||||
<Image height="16" width="16" type="image/x-icon"><?= "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot ?>styles/<?= $this->theme ?>/favicon.ico</Image>
|
||||
<Url type="text/html" method="get" template="<?= "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.Search.php?query={searchTerms}" ?>" />
|
||||
<moz:SearchForm><?= "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.Search.php" ?></moz:SearchForm>
|
||||
</OpenSearchDescription>
|
||||
<?php
|
||||
} /* }}} */
|
||||
|
||||
}
|
|
@ -574,7 +574,7 @@ $(document).ready( function() {
|
|||
$previewer->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 {
|
||||
|
|
|
@ -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 "<tr id=\"table-row-document-".$targetDoc->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 "<tr id=\"table-row-document-".$sourceDoc->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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue
Block a user