Ralf Becker
f8ec1618d9
* Adressbook: phone-number in search only returns contacts having that (normalized) number
2021-02-14 14:06:21 +02:00
Ralf Becker
c37581f43c
* EPL/mail: support SpamTitan REST API to manage spam, requires an API token
2021-02-08 17:31:49 +02:00
nathangray
98d5e86121
Avoid some warnings
2021-02-05 08:57:48 -07:00
Ralf Becker
04f4a327c2
implement date-duration select_unit="false" to show durations like "0:01:20"
2021-02-05 15:57:59 +02:00
nathangray
be9fcea5c5
Etemplate: Make sure all attributes get expanded
2021-02-04 14:48:22 -07:00
Ralf Becker
15c72f284f
change client-side to only deal with a duration converted server-side from an end-datetime or a duration like "+123seconds"
2021-01-28 19:53:14 +02:00
Hadi Nategh
e98a8b372e
Only apply darkmode preference on top level window for initiation because the rest is supposed to get set from client-side state
2021-01-28 18:03:27 +01:00
Ralf Becker
5b4a436ab3
countdown: convert datetime server-side into a duration to avoid problems with wrong time or timezone on client
2021-01-28 16:02:38 +02:00
Ralf Becker
69b33e9288
make countdown a value-widget to get automatic timezone handling by date widgets beforeSendToClient method
2021-01-28 12:08:29 +02:00
Ralf Becker
511325570a
fix empty accounts addressbook after 20.1.20210125 update
2021-01-26 12:51:33 +02:00
Ralf Becker
1259ae8d04
More automatic timezone handling schema for new code (hopefully not breaking existing code):
...
1. SO converts all timestamps to Api\DateTime objects using Api\DateTime::server2user($ts, 'object')
- Api\Storage and Api\Storage\Base class do that automatic if using 'object' as $timestamp_type constructor parameter
- if using just Api\Db you need to iterate over your selects manually and apply Api\DateTime::server2user($ts, 'object')
- timestamps are store in DB in server timezone and above conversation honors that and additionally set the user TZ
2. Rest of the app should keep all timestamps as Api\DateTime objects
- direct comparison works for Api\DateTime (and PHP \DateTime) as __toString() method automatic converts to UTC timestamps
- do NOT convert them to timezone-less timestamps and no further timezone conversation needed for output with eTemplate
3. eTemplate2 converts automatic to user timezone for displaying dates and times
- you need to use <date-time ... data_format="object"/> to get Api\DateTime objects back from eTemplate!
4. Api\Db converts automatic to server timezone when quoting DateTime objects for integer or timestamp columns
5. only output other then eTemplate might need to set a timezone different from the user TZ before calling $ts->format()
2021-01-26 11:16:42 +02:00
Ralf Becker
8425f380fe
some fixes for int/float widget: server-side was not expanding min/max attribute and client-side considers empty min/max attr as 0
2021-01-22 17:24:55 +02:00
Ralf Becker
fe320938e5
document EGroupware timestamps and remove own __toString() method to be able to compare objects
2021-01-22 15:18:39 +02:00
Ralf Becker
3eaab63bfa
new $output_mode=5 for exec to allow validating client-side created templates, see SmallParT\\Questions\\ajax_answer()
2021-01-19 14:55:27 +02:00
Ralf Becker
b892c54797
allow to format link-registry entries "add", "edit", ... as "url" parameter for actions
2021-01-14 15:59:03 +02:00
Ralf Becker
e588d63291
allow *-wildcard in egw:uses path eg. "/smallpart/js/overlay_plugins/*.js"
2021-01-03 21:06:45 +02:00
Ralf Becker
5bcbde4f88
* LDAP/Addressbook: use accounts filter from setup for accounts addressbook too
2020-12-29 19:37:21 +02:00
nathangray
0a95588642
Preference needs this to not get changed here, otherwise validation doesn't find what it needs
2020-12-22 11:54:31 -07:00
nathangray
6af3e37bed
* Etemplate: Add context menu action on linked files to copy them somewhere else
...
Also, update vfsSelect to use request(), so it processes the additional stuff in response so we can have a success message.
2020-12-21 13:53:24 -07:00
nathangray
93b64235a2
Etemplate: Fix customfield prefix attribute length assumption
2020-12-17 10:07:50 -07:00
Hadi Nategh
467a9cad42
WIP darkmode theme: Implement darkmode switch for mobile view
2020-12-17 17:20:04 +01:00
nathangray
8910983c8e
Etemplate: Fix for some attributes not getting set
2020-12-17 09:17:38 -07:00
Ralf Becker
b8edbd159e
guard against mail account looses all accounts it is valid for
2020-12-17 08:31:39 +01:00
Hadi Nategh
f21ac58c87
Introduce dark/light mode theme switch into framework
2020-12-15 20:24:25 +01:00
Ralf Becker
5fae437a52
* Setup: fix no accounts found for SQL instances
...
in setup without an active user, no grants existed, seemed no problem before, maybe caused by contact sharing
2020-12-15 18:10:37 +01:00
Hadi Nategh
cde6c10e05
Add Segoe font family into HTMLEditor
2020-12-09 13:17:37 +01:00
Ralf Becker
93fb74503d
limit number of returned rows on link query by default to 100
2020-12-07 14:31:10 +01:00
Hadi Nategh
c8020e6456
Do not query server if there's no actual taglist query, fix fatal error "Memory exhaustion"
2020-12-07 10:58:42 +01:00
nathangray
1dcdac1fe1
Try to avoid some "Illegal offset type" warnings
2020-12-02 11:07:24 -07:00
Ralf Becker
aa62a5ea3e
also run Egw::__destruct() explicit for notifications
2020-11-22 11:50:20 +01:00
Ralf Becker
d759e4b5a9
* Tracker: fix empty notification mail, if ticket was opened by following a link in notification mail
2020-11-21 18:55:39 +01:00
nathangray
15084c8439
Etemplate: Use the actual template attribute if set for action processing, instead of always using the deprecated options attribute
2020-11-12 14:41:23 -07:00
nathangray
0fcfad04b4
Etemplate: Match server-side grid row namespacing to client-side
...
Client side does not open a new data perspective if row has an ID, server now doesn't to match. Fixes grids with row IDs lost their data on submit.
2020-11-05 13:41:36 -07:00
nathangray
10b98897d2
Etemplate: Fix sub-templates not expanded and children not processed if id is set but does not expand
2020-11-04 16:10:09 -07:00
nathangray
b3ed6372f7
Etemplate: Fix unwanted row reset if box had no ID
2020-11-04 12:53:29 -07:00
Ralf Becker
f6aad0cd46
allow to filter by (not) shared and add groups to shared-with filter
2020-11-04 16:05:41 +01:00
Hadi Nategh
c118f39f89
Fix CRM View sidebox content gets disappeared after directly reopening a contact
2020-11-04 11:37:18 +01:00
Ralf Becker
378b3c6eef
enable unshare action also when shared-with column is shown and fix some bugs arround unsharing and resharing
2020-11-02 12:56:00 +01:00
Ralf Becker
a3b17c5db7
display shared-with in addressbook column and allow to use it as filter
2020-11-02 12:05:13 +01:00
Ralf Becker
47c8897642
fix typo and missing Accounts.php
2020-10-30 13:02:19 +01:00
Ralf Becker
3c956d0144
* Saml/Shiboleth/SmallPART: allow to use affiliation attribute to sync with Teachers group
2020-10-30 11:44:49 +01:00
Ralf Becker
ac64ae51aa
* Ads/CardDAV/Addressbook: fix exception / HTTP status 401 when trying to delete an not existing distribution list
2020-10-29 20:29:58 +01:00
nathangray
1eae5d3780
Etemplate: Fix for Box not properly handling namespaces, now working for submit too
2020-10-28 09:51:55 -06:00
Ralf Becker
47da0f9bf8
* Addressbook: allow to configure sending fax via email by replacing the number with an email address
2020-10-28 13:30:28 +01:00
nathangray
5566a9d971
Etemplate: Fix for Box not properly handling namespaces
2020-10-27 10:29:46 -06:00
Ralf Becker
b8409a479e
changes to implement policies on contact sharing
2020-10-26 10:44:40 +01:00
Ralf Becker
64f335eeb7
fix not working writable sharing
2020-10-24 14:45:01 +02:00
Ralf Becker
fa80d4c1f9
* ActiveDirectory/Mail: fix groups as distribution lists
2020-10-22 18:06:24 +02:00
Hadi Nategh
7d1cd4c12c
WIP Multitabs:
...
- Fix wrong ids generated for sideboxes
- Fix tab header refresh
2020-10-22 13:52:17 +02:00
nathangray
b1275dd2da
Accept the same class naming as index.php
2020-10-21 13:19:02 -06:00
nathangray
316adfab5e
Fix some bugs in hidden uploads
...
- Creating the share couldn't handle sqlfs://user@path style paths
- UI namespace issues
2020-10-21 09:13:37 -06:00
nathangray
5bf4d4866f
WIP on sharing prompt to ask about mounting new share
2020-10-20 16:47:26 -06:00
Ralf Becker
7c9e1c98ec
fix umount to deal with user-specific mounts too
2020-10-20 20:16:57 +02:00
Ralf Becker
9eae0333ad
allow for user specific mounts
2020-10-20 20:13:36 +02:00
Ralf Becker
496c168db4
* Api: setting configured server-timezone for the databases connection, to fix cases were they do not match
2020-10-19 17:25:07 +02:00
Ralf Becker
3292e478b6
creating a new dir from filemanager-select dialog always gave an error
2020-10-19 13:00:05 +02:00
Hadi Nategh
72769e7a43
* HTML Editor: fix bug in editing uploaded image
2020-10-19 11:14:52 +02:00
Ralf Becker
37be9f40d0
WIP contact sharing: context menu to share and filter for shared contacts
2020-10-16 21:34:42 +02:00
Ralf Becker
884ae7fe94
fix error creating new accounts
2020-10-16 13:32:17 +02:00
Ralf Becker
ff91be903a
sharing ACL: need explicit new ACL or edit rights, to share into an addressbook
2020-10-15 13:03:14 +02:00
Ralf Becker
6b57ddac00
only save sharing information if its given, eg. not the case for CardDAV
2020-10-15 13:02:32 +02:00
Ralf Becker
9567a1fed3
fix contacts shared with a user are not visible in his personal AB, but when all addressbooks selected
2020-10-15 11:35:53 +02:00
nathangray
ea41ab8e77
Api: Add charset parameter to tidy->repairString() to avoid mangling some non-ascii characters when merging into document
2020-10-14 14:53:37 -06:00
Ralf Becker
175d94f3e3
* Api: detect if framework data is missing for popups too and redirect to cd=popup to load it
2020-10-14 17:31:36 +02:00
Hadi Nategh
43600426c7
* Api: Add table button into html editor's toolbar
2020-10-14 11:05:51 +02:00
nathangray
05ee7eba37
Avoid some 'array_key_exists() expects parameter 2 to be array' warnings by checking first
2020-10-13 15:20:33 -06:00
Ralf Becker
1f7ce98c50
WIP contact sharing
2020-10-13 16:54:35 +02:00
Ralf Becker
4886583cc1
change sharing to allow mounting shared into existing user sessions
...
without the need to destroy the session, if the sharee is a different user
This is accomplished by keeping the sharee in the stream context / attribute of the vfs class(es) instead of static Vfs::$user.
Later is still used for the current user - identical to egw_info[user][account_id].
This commit / merge of the vfs-context feature branch also added the abilty to mount WebDAV sources, eg. a sharing link from an other EGroupware instance
or any WebDAV server
2020-10-08 11:24:34 +02:00
Ralf Becker
3ca5c80534
some ideas/todos
2020-10-07 11:45:13 +02:00
Ralf Becker
b960a24c32
implement UDM_REST_INSECURE environment variable to UCS appliance with no valid cert yet
2020-10-07 10:22:27 +02:00
nathangray
151889b39c
Api: Move list of common merge placeholders into parent class to reduce duplication, add link/<format> options
2020-10-06 10:56:08 -06:00
Ralf Becker
77b1c0ac33
* Admin: fix session list did NOT show interactive sessions, if push is used
2020-10-06 11:59:19 +02:00
Ralf Becker
094a60d7f7
doc fix
2020-10-06 11:52:29 +02:00
nathangray
81cdf759a3
Api: Fix links got escaped when put into mail templates
2020-10-05 14:14:54 -06:00
nathangray
baebf56fb2
Merge: Fix {{link}} placeholder was incorrectly wrapped in HREF tag. Use {{link/href}} for that now.
2020-10-02 12:37:37 -06:00
Ralf Becker
7db25dce5e
* Admin: push server test to diagnose problems and improved recovery from failed requests / network problems
2020-10-02 20:28:02 +02:00
Ralf Becker
55b615af5f
config got "lost" after deleting the cache, caused by it being automatic unserialized
2020-10-02 08:38:51 +02:00
Hadi Nategh
7f4535cf1d
WIP multitabs and CRM view
2020-09-30 13:19:36 +02:00
Ralf Becker
7fa1e7cd80
* ActiveDirectory: fix unwilling to perform error when saving an account
2020-09-27 10:02:22 +02:00
Hadi Nategh
acbd23a60a
* Mail: Add custom html toolbar settings in mail site-configuration in order to be able to add/remove certain actions only for mail-compose dialog.
2020-09-25 14:17:29 +02:00
Hadi Nategh
4bf65486ef
WIP of framework's multitab implementation
2020-09-23 16:55:35 +02:00
nathangray
b5ef5126c6
- Send push messages for account delete
...
- Send actual push type for contact changes
- Handle push deletes for admin
2020-09-22 13:53:08 -06:00
Ralf Becker
8df5371ffa
fix wrong OID for mail attribute
2020-09-22 19:21:14 +02:00
nathangray
94a57d6902
Api: Some tests for filesystem
2020-09-16 11:48:40 -06:00
Ralf Becker
da27403b1b
* eSyncPro: fix SQL error in device list
2020-09-16 16:45:01 +02:00
Alexandros Sigalas
55c9487517
Fixed: Declaration of EGroupware\Api\Mail\Smime::extractSignedContents($data) should be compatible with Horde_Crypt_Smime::extractSignedContents($data, $sslpath = NULL)
2020-09-15 08:36:17 +02:00
Ralf Becker
612a991c85
fix illegal string offset
2020-09-15 08:30:45 +02:00
nathangray
372eadcff3
Api: Fix fstab overlap when accessing a share while logged in
2020-09-10 11:11:39 -06:00
Ralf Becker
3ee7574294
* Authentication: allow using multiple backends, even same backend multiple times with different configuration
2020-09-10 17:12:53 +02:00
Ralf Becker
ca9526988f
missing file from #9f9cce8 fix account-selection type groupmembers
2020-09-10 11:26:14 +02:00
Ralf Becker
9f9cce88b2
* ActiveDirectory: fix account-selection type groupmembers (applies only to non-admins!) and ignore Domain Users group
...
not setting caseIgnoreMatch for sorting, as its not supported for Windows ActiveDirectory
2020-09-08 15:29:51 +02:00
Ralf Becker
5afe7ddbca
* ActiveDirectory: support huge directories by using server-side sorted and limited queries and no caching in session
2020-09-05 13:11:26 +02:00
Ralf Becker
7614e3e851
* ActiveDirectory: users not found when search starting with A-F and fixed attribute-names: company, department, ...
2020-09-03 15:47:07 +02:00
Ralf Becker
c3000beb5f
* ActiveDirectory: implement addtional user or group filter
2020-09-02 14:14:11 +02:00
Ralf Becker
eb812dad01
* PostgreSQL: fix SQL error opening ProjectManager
...
caused by exploding SQL expression by comma --> keep colums as array, to not have the need to explode it
2020-09-01 10:24:46 +02:00
Ralf Becker
4f2ad476a6
* Calendar/CalDAV: config to replace email-domain eg. for a migration
2020-08-14 18:03:44 +02:00
Hadi Nategh
50a34d9c42
Make sure path is not empty before using it, fixes error "an error happened! File '' is not an absolute path!"
2020-08-14 11:06:06 +02:00
Ralf Becker
a9dc772e14
* Mail: fix not shown folder tree for some Cyrus servers
...
since 20.1 uses Horde_Imap_Client::MBOX_ALL_SUBSCRIBED to query subscribed and unsubscribed folders in one command
2020-08-13 18:51:24 +02:00
Ralf Becker
a14a21fa49
* Tracker/Notifications: send mail after response to user and push errors
2020-08-01 15:10:07 +02:00
Ralf Becker
3972abdf52
* Notifications: taking push server into account for checking user is online for popup or email notifications
2020-07-31 17:50:01 +02:00
Ralf Becker
0e3143d45d
fix SQL error in ranking caused by automatic added ambigous column which app code had already aliased "$table.$col AS $col"
2020-07-31 13:39:05 +02:00
Ralf Becker
33e88d25ae
* Preferences: use push to ask every affected client to reload preferences, if affected
2020-07-31 09:47:49 +02:00
nathangray
5b5bb12d02
Calendar exception no longer needed
2020-07-27 10:14:00 -06:00
Ralf Becker
2a500333ed
explicit call Egw::__destruct() to fix calendar notifications not send, if dialog is Saved not Applied
2020-07-27 16:08:00 +02:00
Ralf Becker
ca73a54d89
* Security: allow to configure SameSite cookie attribute
2020-07-27 14:03:48 +02:00
Ralf Becker
074b884133
calendar non-list views need refresh calls, even using push
2020-07-27 09:45:37 +02:00
Ralf Becker
6007fb5363
fix broken token/syntax, if no metadata yet
2020-07-24 16:55:58 +02:00
Ralf Becker
8bb9111cd5
fix double message in popup and none in main window
2020-07-24 09:23:44 +02:00
Ralf Becker
b60a9ffff4
add check if only fallback push and skip full refresh (Framework::refresh_opener) for push and supporting apps
2020-07-24 09:07:13 +02:00
Ralf Becker
efaf9771d0
do NOT push participants of type email for privacy reasons
2020-07-23 19:06:08 +02:00
Ralf Becker
0f799acd75
fix multiple accounts could not subscribe for push on the same mailbox
2020-07-23 16:56:45 +02:00
Ralf Becker
cf06054fd7
move configuration of imap servers supporting push to mail site config and stadard imap server
2020-07-23 14:17:32 +02:00
Ralf Becker
25f942c431
fix accidently commited host-name
2020-07-22 18:21:07 +02:00
Ralf Becker
0f8a2668fb
fix token was only updated on account-change, not new login or daily token rotation, also support now multiple tokens/instances registring tokens for same account
2020-07-22 17:01:19 +02:00
nathangray
32b061919f
Etemplate: Change default for password widget suggest to off
...
Customfields still default to on
2020-07-21 15:36:45 -06:00
Ralf Becker
bf44ee753a
WIP push for mail (currently only Dovecot with further configuration!)
2020-07-20 12:09:08 +02:00
nathangray
bd7b916811
Api: log on_shutdown() messages to its own log file
2020-07-16 14:54:02 -06:00
Ralf Becker
502d423885
fix PHP Warning: substr() expects parameter 1 to be string, array given
2020-07-10 11:08:38 +02:00
Ralf Becker
7428e2d7cd
do not add path of url to CSP
2020-07-07 13:18:28 +02:00
nathangray
4c7709d49f
Etemplate: Get vfsUpload values to use expose so they work like links
2020-07-03 14:23:41 -06:00
nathangray
ee498f703d
Etemplate: Fix password widget could not be cleared entirely
2020-07-03 09:25:51 -06:00
Hadi Nategh
6ba8210d83
Avoid requesting external images with mixed content
2020-06-30 15:54:21 +02:00
Ralf Becker
27ad7772de
add AGPL license for smallpart
2020-06-28 11:35:44 +02:00
Ralf Becker
4959281164
fix optional SAML/Shibboleth login fails when proxying as form field with name "auth=saml" get lost
2020-06-24 08:56:13 +02:00
nathangray
f0e074093c
Ralf's fix for Saml for PHP 7.2
2020-06-23 10:21:07 -06:00
Ralf Becker
08b039c4fb
fix some SAML/Shibboleth problems caused by EGroupware running in container behind proxy on host
2020-06-21 08:17:00 +02:00
Hadi Nategh
b95e9be02a
Cleanup widget browser
2020-06-18 14:58:24 +02:00
Ralf Becker
7e81b733e1
fix typo in directory permissions
2020-06-18 10:48:56 +02:00
nathangray
b56a8f9901
Default password customfield plaintext attribute to false
2020-06-16 09:23:54 -06:00
Ralf Becker
2c489ef5b8
change default for password attribute plaintext back to true, to not break every existing usage of that widget
2020-06-16 08:37:51 +02:00
nathangray
d7d5837ecf
Nicer password widget on account edit dialog
...
- Added plain-text attribute to avoid encrypting password
- Suggest password now fills both fields the same
2020-06-15 16:08:24 -06:00
Ralf Becker
e996b2c0cf
reverting 2 changes around sessions which break our installation
...
checking for the not existing (new) database runs into an invinit recursion
the checks not to use $_SESSION, if no session is active was added in an attempt to get SimpleSAMLphp discovery working, but seems unneccessary for what we currently use
2020-06-15 10:11:31 +02:00
nathangray
aab5415873
* Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted)
2020-06-12 10:56:53 -06:00
Ralf Becker
b7ed148371
* SAML: support joining a SAML account to an existing one, if configured in setup
...
notification of user does not yet work, as redirect on login page looses Api\Framework::message() :(
2020-06-11 16:03:54 +02:00
nathangray
a993938134
Etemplate: Fix VFS & file widgets were not properly handling files
2020-06-10 10:20:30 -06:00
Ralf Becker
19f52cd1de
fix regular login, if optional SAML one is enabled for multiple IdP
2020-06-10 16:17:20 +02:00
Ralf Becker
4c131c1866
SAML/Shibboleth with multiple IdP or optional on regular login page
2020-06-10 15:19:24 +02:00
Ralf Becker
a0760f6b96
* Mail: fix creating a folder on level of inbox gave an error (if imap server supports it)
2020-06-08 11:59:49 +02:00
Ralf Becker
1ea45e6591
Mime-Type check can only work for the first chunk, further ones will always fail
2020-06-02 13:46:46 +02:00
Ralf Becker
4d2d14dd99
make running / generating SAML/Shibboleth config depending on an IPD configured
2020-05-29 10:25:31 +02:00
Ralf Becker
b1f79d1c40
* SAML/Shibboleth/SimpleSAMLphp authentication configurable through setup
2020-05-28 23:24:09 +02:00
Hadi Nategh
8d022c5908
do not try to push notifications for api.queue requests
2020-05-22 10:16:59 +02:00
Ralf Becker
7226f0f753
allow to set a css class on body tag for (different) styling of an embeded window
2020-05-19 09:43:53 +02:00
Ralf Becker
d04e6ebdec
do NOT check eT2 popups for missing framework
2020-05-19 09:02:47 +02:00
Ralf Becker
9b17fa7871
fix typo
2020-05-18 20:56:50 +02:00
Ralf Becker
46a3818e92
* ActiveDirectory: consider security local groups as groups too
2020-05-13 13:16:08 +02:00
Ralf Becker
319ae2637c
an other case of not automatic fixed ambigious auto-id
2020-05-08 12:35:09 +02:00
Ralf Becker
c50fd8e6bf
* API: new data-minimizing account display options "Firstname Inital" and "Firstname [ID]"
2020-05-04 09:25:32 +02:00
Ralf Becker
474d63a79b
support hashes generated by password_hash($pwd, PASSWORD_BCRYPT)
2020-05-04 09:01:11 +02:00
Ralf Becker
cdf5d939e9
docu update
2020-05-04 08:56:32 +02:00