Commit Graph

1960 Commits

Author SHA1 Message Date
nathan
5fee9fcafe Make et2-textbox as a WebComponent
Not all attributes are handled yet, but value cycle is working
2021-07-22 14:54:10 -06:00
Ralf Becker
93068dcfcc need to call Vfs\StreamWrapper::init_static() after setting Vfs::$user
Vfs::$user should be protected and moved to Vfs\Base plus a getter and setter method added for public access,
as after setting it in 21.1+, Api\Vfs\StreamWrapper::init_static() need to be called to set the default user context!
2021-07-22 09:08:49 +02:00
nathan
b95f9e7220 Reset after every job 2021-07-20 14:23:21 -06:00
Ralf Becker
df4137baee * Filemanager/VFS: when creating a new file as root eg. via (docker exec) filemanager/cli.php do NOT create files unreadable by webserver 2021-07-20 09:34:59 +02:00
nathan
ad00156113 Merge branch 'master' into web-components 2021-07-19 14:15:52 -06:00
Ralf Becker
cc27253b7b keep original REQUEST_URI in ORIG_REQUEST_URI when modifying it 2021-07-19 14:15:16 +02:00
nathan
723ec70009 Get button to validate server-side 2021-07-15 10:12:47 -06:00
Ralf Becker
2f155e0d79 fix popups of apps without app.ts/js wont work as eT2 is not available
it get's included by the app.ts/js otherwise
2021-07-13 21:02:08 +02:00
Ralf Becker
6502eaeab8 got symlinks working for filesystem streamwrapper and fix one bug in Vfs with symlinks 2021-07-13 13:59:05 +02:00
nathan
da1e7b9fee Implement symlink for filesystem StreamWrapper with test
Whether it works or not depends on filesystem though.
2021-07-09 09:47:23 -06:00
Ralf Becker
d57fe03326 use same method (prefer .min.js over .js) for app.js include in Etemplate and Framework
fixes double include of /mail/js/app.js and /mail/js/app.min.js
2021-07-08 16:58:05 +02:00
nathan
2e597997e0 Fix wrong permission constant used, resulting in permissions when there shouldn't be 2021-07-07 14:42:10 -06:00
Ralf Becker
a8ae92e1cc add cache-buster to framework bundle 2021-07-07 16:51:31 +02:00
Ralf Becker
90f1d9ea37 always show deleted filter and set deleted status in calendar
see #29778
2021-07-07 11:21:45 +02:00
nathan
da3f8d8135 Fix symlink directory problem from 2a64e79 and add a unit test to avoid that in the future 2021-07-06 16:44:53 -06:00
nathangray
b021767ac1 Make sure nested document actions open in new tab, same as others. 2021-07-05 09:46:00 -06:00
Ralf Becker
1423616e00 remove some dead code and spelling fixes 2021-07-04 08:52:43 +02:00
nathangray
34d601b102 Api: Fix missed change in nested document actions
see 186e03671a
2021-07-02 12:04:38 -06:00
nathangray
2a64e79e65 Api: Fix bug where StreamWrappers that mapped onto other StreamWrappers would be parsed earlier than we want, leading to the first StreamWrapper not getting used. 2021-07-02 12:11:54 +02:00
Ralf Becker
b88716c8b6 legacy load jQueryUI as tooltip has wired context problems if loaded as module 2021-07-02 08:52:18 +02:00
Ralf Becker
68155251fa fixing a couple of jQuery plugin includes
thought jQueryUI-tooltip is still broken and we either need to legacy-load jQuery(UI) or fix the tooltip
2021-07-01 16:33:15 +02:00
Ralf Becker
8c7722c8b0 1. loading dhmtlx(tree|menu) again via script tag
2. fixed not loaded app.js in egw_json by using import direct and not includeJS (and therefore removed additional include in et2_load)
3. adding cache-buster for egw.js and app.js endpoints to force reloads (not adding them for anything else, as it interferes with rollup
2021-07-01 14:36:51 +02:00
Hadi Nategh
83e782330d Try to take only quoted_printable to decode and avoid decoding url params as quoted 2021-07-01 10:26:22 +02:00
Ralf Becker
d7cd90ebe7 fix skipping timestamps, but preferring .min.js over .js
added more apps to rollup.config.js (ones givening errors are commented out)
2021-06-29 15:21:19 +02:00
nathangray
3add958afa The results of Guy Bedford's help
Egroupware will load into addressbook & show rows
Most base files should be bundled server-side & included
rollup.config.js controls the process

Still needs work:
- consider /dist directory for best-practice
- cleanup
- other built-in apps
- EPL / external apps need Guy's multi-stage work
2021-06-25 14:49:24 -06:00
nathangray
186e03671a Change merge download/Collabora to a common generation method, avoiding need to POST.
This allows Kanban to download merge files
2021-06-23 11:20:09 -06:00
Hadi Nategh
a4f21bc804 Fix 404 errors caused by none existing html editor icons 2021-06-15 12:11:43 +02:00
Ralf Becker
e7a3c031b2 fix class Api\Mail\Config not found 2021-06-15 10:51:48 +02:00
Ralf Becker
cb00de85ce * Mail/Dovecot: allow to disable caching of flags in site config to support Dovecot private seen flags on shared folders 2021-06-15 10:23:11 +02:00
Hadi Nategh
b4c4606c22 Move all egw_action constants into egw_action_constants 2021-06-14 13:45:57 +02:00
Ralf Becker
ee508c50b9 filter out legacy JS code from importmap and sort it
also only add extension-less includes for .ts files (was accidentally commented out) and fix some .js imports without extension
2021-06-12 11:44:28 +02:00
nathangray
d6c6e14abf * Api: Prevent invalid customfield names
(cherry picked from commit ae86eb7812)
2021-06-11 13:18:03 -06:00
nathangray
6ef766edf0 Etemplate: Better error message for parse errors in xml strings (not files)
This happens in things like Transformer, where we generate some XML for parsing

(cherry picked from commit 7cf7c5a638)
2021-06-11 13:17:55 -06:00
nathangray
a024baeef6 * Api: Clear initial load URL after using it, so F5 takes you to the app's normal entry point
(cherry picked from commit 9219536c2f)
2021-06-11 13:17:44 -06:00
Ralf Becker
5298336886 include jquery and other legacy js files via script tag 2021-06-10 11:38:54 +02:00
Ralf Becker
40cac6f964 generate a non-request specific importmap, as we ajax_exec apps and then not reload importmap 2021-06-09 19:00:53 +02:00
Ralf Becker
304dbb95ab got empty nextmatch in timesheet working 2021-06-08 14:11:59 +02:00
Ralf Becker
f91bca83e1 got et2 mostly working: timesheet.edit renders 2021-06-07 17:33:53 +02:00
Ralf Becker
592b7fb97d replace LAB.js with native es5 loading 2021-06-05 20:39:39 +02:00
nathangray
f4bcda7aaf Api: Fix Asyncservice did not have proper filesystem access as the job user 2021-06-04 13:58:59 -06:00
Hadi Nategh
ab3ee4ffbb Clear xml errors in buffer after using xml in Mail otherwise it may get caught wrongly further in etemplate widget 2021-06-04 11:19:11 +02:00
Ralf Becker
67a6a9f1f3 implement (increment|decrement)Cache to avoid race-conditions if multiple processes update a value
implemented in memcached and APCu backends, default implementation using get&set in base-class
2021-05-27 12:29:51 +02:00
Ralf Becker
3248e82d65 * Setup: skip files backup on update even if configured
It might takes the server down for hours and updates usually dont affect the files
2021-05-27 08:49:20 +02:00
Ralf Becker
c4bcae0598 store some lock-data, so only a single callback calculate data on cache-miss
done to avoid race-conditions where many processes try to fetch and therefore calculate some expensive to calculate data
eg. mass-mailings in our hosting
2021-05-26 11:38:36 +02:00
Ralf Becker
547f28fe3d report and log enabling push (and other IMAP errors)
don't switch regular reload handling off in that case
2021-05-25 17:47:25 +02:00
Ralf Becker
03469add3e * SmallPART: concatenate and minify all Java/TypeScript files to speed up loading 2021-05-25 08:21:17 +02:00
Ralf Becker
39ad3a7977 port csv-export from old eTemplate nextmatch to separate Api\Etemplate\Export class to not have to rely on old eTemplate 2021-05-23 08:58:47 +02:00
nathangray
5fbdd1376a Fix PHP warnings for PHP 8 compatability 2021-05-21 10:43:52 -06:00
nathangray
34ec8e6cb3 Api: Fix accounts list (Sql) would be empty after refresh if there were less than 50 accounts
- Fix some accounts backend were not returning results indexed by account ID
2021-05-21 09:16:25 -06:00
Ralf Becker
f113d9d880 fix PHP Warning on login page 2021-05-21 09:51:48 +02:00
nathangray
2c14226ee5 Api: Respect do_symlink flag to keep links as links
Fixes troubles with syncing
2021-05-20 11:54:06 -06:00
Ralf Becker
8ec590a068 fix some real typos 2021-05-19 18:29:03 +02:00
Ralf Becker
bd95db7609 * AD: fix account-selection type "groupmembers" caused high load on AD
also caching groups now on instance level instead of session
2021-05-19 18:26:55 +02:00
Ralf Becker
166718a22c remove config allowing to immediately delete contacts (as it's required for sync) 2021-05-18 14:02:51 +02:00
Hadi Nategh
b9eecb9771 Fix some icons in login apps bar 2021-05-18 09:49:02 +02:00
Ralf Becker
aea7a5c0f2 * ADS/LDAP: improve caching of searching/listing 2021-05-16 20:42:47 +02:00
Ralf Becker
53c20ed5f7 allow to pass JSON serialized date-array with date&timezone to constructor 2021-05-14 20:24:14 +02:00
nathangray
08800b83c9 Fix symlinks were opened read-only in Collabora 2021-05-14 09:43:30 -06:00
nathangray
45e477f0c0 * Api: Sidebox accessibility improvements
- Using nav elements for sidebox categories
- Add keyboard support for expand/collapse menu categories
- Use lists for entries
- Added some roles for screenreaders
2021-05-12 13:14:03 -06:00
Hadi Nategh
89e67616de WIP login Ui:
- Re-arrange registration links
- Fix bg colors
- Fix social icons padding
2021-05-12 12:37:35 +02:00
Ralf Becker
b3f1738f05 fix typo causing number of failed attempts on IP whitelist not to be used 2021-05-11 11:20:25 +02:00
Hadi Nategh
20c464a161 WIP login Ui:
- Get login messages the same style as egw messages
- Arrange logo and social icons
2021-05-10 16:35:05 +02:00
Hadi Nategh
d69b16f881 Add extra icons for login apps content 2021-05-07 12:15:20 +02:00
nathangray
3ada84be0f Tracker: Fix notification dates could be in wrong timezone 2021-05-05 11:57:21 -06:00
Ralf Becker
9bc7583711 * AD/Login: fix login always reports "account is expired", if account-selection "group-members" is set for AD 2021-05-05 15:45:30 +02:00
Hadi Nategh
82ab8d9092 WIP login Ui: add motion into apps list 2021-05-03 17:13:04 +02:00
Hadi Nategh
635ca0a89d WIP login ui:
- Move login.json file into pixelegg
- Include icons into json file
2021-05-03 13:21:01 +02:00
Hadi Nategh
1d843eabcd WIP login Ui:
- Arrange apps in the json file and add more details
- Open app's url in a new window
2021-05-03 12:03:28 +02:00
nathangray
84e03fe334 Addressbook: Fix contact categories were cleared when DAVx5 synced some Android clients 2021-04-30 09:26:00 -06:00
Hadi Nategh
41ab849ecc WIP login Ui
- Implements apps tooltip
2021-04-30 14:58:41 +02:00
Hadi Nategh
faadfbdc23 Fix loading login json file 2021-04-29 18:22:38 +02:00
Hadi Nategh
39eef44217 WIP login page Ui 2021-04-29 15:24:25 +02:00
Hadi Nategh
59dbd27719 Fix mail integration fails for mails with having not encoded ampersands on their html content 2021-04-27 17:41:34 +02:00
Hadi Nategh
a49ac9648e Implement throbber for mobile framework 2021-04-22 16:00:52 +02:00
Ralf Becker
df5cce7a74 * SAML/Shibboleth: fix metadata-URL to container eduPersonUniqueId or a custom OID, if specified 2021-04-20 17:34:20 +02:00
Ralf Becker
8df0ba3d70 fixes required for EPL firewall 2021-04-20 15:51:36 +02:00
nathangray
f89c8cfb03 Add hrules to sidebox menus 2021-04-19 16:02:41 -06:00
nathangray
df8251603f Add missing parameter type 2021-04-19 16:01:17 -06:00
nathangray
35fd51da86 Add table name in when parsing search
Also, some code quality fixes
2021-04-19 14:34:53 -06:00
nathangray
51f9177634 Try harder for nextmatch template name so it can be passed to hooks. If it can't be found in value, look in original attributes. 2021-04-19 10:42:48 -06:00
Hadi Nategh
fb83d97150 Implement loading aware framework animation 2021-04-19 10:17:47 +02:00
Ralf Becker
fb30713cbb fix not working load_via parameter 2021-04-18 21:07:38 +02:00
Ralf Becker
d144d65fe9 fix double encoding of backlash in class-names 2021-04-17 09:45:44 +02:00
nathangray
4f0c7250da Fix error when linking to new entry
"Invalid datetime format: 1366 Incorrect integer value: '#97056a438e3c1ab04fd0f0ae46ad6b13' for column ... fs_dir"
2021-04-15 10:25:18 -06:00
nathangray
d9b29fa82a Fix shares could not find files after fe79fe390f 2021-04-14 10:58:42 -06:00
Hadi Nategh
4af0bec278 * Mail: fix losing inline images after being re-saved as draft or created as new 2021-04-13 13:23:09 +02:00
nathangray
fe79fe390f Avoid caching when the url contains links, avoids problems with eg: /apps/InfoLog/Open/2021 2021-04-12 10:31:35 -06:00
Hadi Nategh
e88c4edea2 Fix php 8 errors 2021-04-08 18:36:46 +02:00
Hadi Nategh
b5540c7288 Fix mail content styles 2021-04-08 11:31:36 +02:00
Ralf Becker
8daf1f43f7 fix PHP error: Call to a member function contentTypeMap() on null 2021-04-08 10:19:15 +02:00
Ralf Becker
dfdb300f5f fix PHP 8 error: array_merge() does not accept unknown named parameters 2021-04-07 21:41:11 +02:00
Ralf Becker
e03b1aeb16 fix PHP 8 error: key() Argument #1 must be of type array, null given 2021-04-07 13:12:32 +02:00
Ralf Becker
673760f59d * Setup/SAML: fix not stored custome OID and added eduPersonUniqueId 2021-04-07 10:07:56 +02:00
Ralf Becker
4045c06896 fix PHP 8 errors 2021-04-06 15:32:21 +02:00
Ralf Becker
c92bfa822f fix PHP 8 Fatal error caused by not parsable URL like "<scheme>://<user>@/path" (missing domain) 2021-04-06 09:19:54 +02:00
nathangray
060710a74a Make sure we can log all throwables, not just exceptions 2021-04-05 10:46:50 -06:00
Ralf Becker
7ae4d44308 fix PHP 8 errors 2021-04-02 19:34:11 +02:00
Ralf Becker
7135243d06 nicer implementation of CreateObject and some small fixes 2021-04-02 10:47:52 +02:00
nathangray
4ab170541e Api: Fix incorrect extended ACL check was done when symlinking 2021-04-01 10:28:06 -06:00
Ralf Becker
fed41622c2 fixing all sorts of PHP 8 errors and PHPStorm errors 2021-03-31 17:50:01 +02:00
Ralf Becker
0efa9ae141 docu update 2021-03-31 17:50:01 +02:00
Ralf Becker
37e5e12c3c PHP 8 fix: adding explicit cast for comparing DB-version to a float major number 2021-03-31 13:31:42 +02:00
Ralf Becker
79040d1524 disable warnings under PHP 8 for now, as the hide fatal errors and log errors in xet files 2021-03-31 11:30:34 +02:00
nathangray
72b00c0422 Fix missing translation 2021-03-30 11:04:19 -06:00
nathangray
d5aacd190d Add 'no_quick_add' link registry setting so apps can opt out of the quick add 2021-03-30 10:12:29 -06:00
Ralf Becker
8f1383b973 replace create_function no longer available in PHP 8 2021-03-29 20:33:07 +02:00
Ralf Becker
868135775c PHP 8 fixes 2021-03-29 16:47:19 +02:00
Ralf Becker
05cd66fa09 set minimum PHP version for 21.1 to 7.3 and recommend to 7.4 (PHP 8.0 is still NOT supported) 2021-03-24 08:04:54 +01:00
nathangray
e3a1d1b338 Fix static var accessed as a constant 2021-03-23 16:23:23 -06:00
Ralf Becker
0faafe8eee fix "Virtual List View error" caused by not set search attribute
also retry without VLV control in that case
2021-03-23 13:55:17 +01:00
Ralf Becker
84845d05b5 Fix PHP 8.0 Fatal error: Unparenthesized a ? b : c ?: d is not supported 2021-03-21 21:46:10 +01:00
Ralf Becker
ab9c089f70 fix PHP 8 Fatal error Array and string offset access syntax with curly braces is no longer supported 2021-03-21 21:13:07 +01:00
Ralf Becker
52e8aff9ae fix PHP 8 Fatal error undefined constant EGW_API_INC 2021-03-21 21:10:37 +01:00
Ralf Becker
3e278b3bd3 fix PHP 8.0 Fatal error: Array and string offset access syntax with curly braces is no longer supported 2021-03-21 18:47:15 +01:00
Ralf Becker
ffc048d472 fix PHP 8.0 Fatal error unknown function get_magic_quotes_gpc 2021-03-21 18:27:09 +01:00
Ralf Becker
dac55616af fix PHP 8.0 Fatal error 2021-03-21 18:25:14 +01:00
Ralf Becker
eb2b3943d7 fix Db errors with PHP 7.4+
caused by private $this->app not stored in session when Db\Depricated was instaciated
also move $GLOBALS[egw]->ADOdb to a static class var to fix session restore order caused $GLOBALS[egw] not yet restored giving a warning
2021-03-21 17:39:34 +01:00
Ralf Becker
b79971a1e9 set columns to search for phoneSearch for non-SQL backends too 2021-03-21 12:56:59 +01:00
Ralf Becker
fc50aa6312 phonesearch: LDAP or AD backend only search for local part hopefully stored without any formatting 2021-03-21 10:39:26 +01:00
nathangray
ce17d087c1 Fix hidden upload share link would not work for logged in user that was not share owner 2021-03-17 11:34:09 -06:00
nathangray
c21af32c1b Fix hidden upload share link would not work for logged in user 2021-03-17 11:17:06 -06:00
nathangray
47d2f433d6 Fix missed fstab mount kept unmounted shares around 2021-03-16 11:38:44 -06:00
Ralf Becker
06907d040b fix hidden upload sharing incl. use of multiple share-links in tabs 2021-03-16 15:03:15 +02:00
Ralf Becker
2aff05757e fix home-directories where created with wrong permissions, as Vfs::$is_root was wrongly evaluated 2021-03-15 11:41:53 +02:00
nathangray
1ffde3b692 Change global sharing variable to be a list of shares in use, indexed by token. This should resolve the issues with multiple shares being accessed in the same session. 2021-03-11 17:00:16 -07:00
nathangray
ba84d3170d Api: Improve handling of accessing multiple shares (Collabora or directory) in new tabs while logged in 2021-03-11 09:50:12 -07:00
Ralf Becker
fcc5c80244 match tel_assistent last, as it moves contacts to the end of the search result 2021-03-10 09:14:30 +02:00
Ralf Becker
dc41db9741 fix reverted regular sort order 2021-03-09 20:57:39 +02:00
Ralf Becker
646a04630d sort assisten phone matches to the end of the list 2021-03-09 20:49:12 +02:00
Ralf Becker
a10b772516 fix PHP Notice: Undefined offset 2021-03-09 09:19:15 +02:00
nathangray
8063d65303 Check that some things exist before trying to use them 2021-03-05 09:30:02 -07:00
nathangray
95f84454be Silence some warnings & debug 2021-03-05 09:13:12 -07:00
Ralf Becker
58ae23c74c allow "app.<appname>.<method>" in link registry and use it to open CRM view 2021-03-04 11:50:13 +02:00
nathangray
a8278b37ff Fix editable link opened by original user in new tab gave "Requested resource '/' does NOT exist!" 2021-03-03 14:23:42 -07:00
Ralf Becker
89d6dc8650 Fixing the fix Undefined constant DateTime 2021-03-02 10:25:11 +02:00
Ralf Becker
b1af8449fd Fix ErrorException: Object of class EGroupware\Api\DateTime could not be converted to string
It's happening as we removed __toString method from Api\DateTime to allow again direct comparing with comparison operators
2021-03-02 09:37:43 +02:00
Ralf Becker
a41865209c stop SQL error, when using account-type with name2id($name, "person_id", "u") 2021-02-26 21:57:11 +02:00
Hadi Nategh
2a2f0bf390 Keep darkmode state in serverside session too. Fix darkmode state in egroupware iframes. 2021-02-24 12:22:27 +01:00
Hadi Nategh
a67e433396 WIP Mobile and Compact theme styling improvements:
- Fix logout button not displayed in Compact theme
2021-02-23 16:21:38 +01:00
Ralf Becker
319c0e6af4 use CRM view preference in CTI 2021-02-19 21:30:50 +02:00
Ralf Becker
fdecefebd4 fix exception when trying to store a DateTime 2021-02-19 21:30:50 +02:00
Ralf Becker
e1b9d993a5 missing phoneSearch commit to only search certain numbers, if specified and fix for a typo causing a warning 2021-02-19 21:30:50 +02:00
nathangray
c319478816 Fix readonly shares were mounted as writable when shared to another user 2021-02-16 16:14:32 -07:00
Ralf Becker
e54aebebca xml tags must not include undeclared namespaces like: <link-entry:infolog
Reinstating "throw an exception on XML errors in eTemplates for easier fixing"

This reverts commit 18b7d9311c.
2021-02-16 21:52:40 +02:00
nathangray
4b6551c5a3 - Fix missing quote when updating shares with VFS changes
- Fix user delete entry search for single user
2021-02-16 11:53:32 -07:00
nathangray
18b7d9311c Revert "throw an exception on XML errors in eTemplates for easier fixing"
This reverts commit 81b4737710.
2021-02-16 11:39:38 -07:00
Ralf Becker
81b4737710 throw an exception on XML errors in eTemplates for easier fixing 2021-02-16 17:38:47 +02:00
Ralf Becker
57d5176080 remove non-digits and only search phone-numbers in phoneSearch 2021-02-15 21:28:39 +02:00
Ralf Becker
ee6a74a40f fixed CRM view opened for id=0 2021-02-15 17:20:17 +02:00
Ralf Becker
31b7db5bbe some more logging 2021-02-15 16:19:53 +02:00
Ralf Becker
a64590d3db moving opening of CRM view code into Contacts class 2021-02-15 15:11:24 +02:00
Ralf Becker
10fd1cd76b fix typo 2021-02-14 17:55:04 +02:00
Ralf Becker
2291cc8df0 WIP incomming CTI / open CRM view when phone rings 2021-02-14 17:46:08 +02:00
Ralf Becker
cfc7c1cbdf some more tolerant searches to find numbers in EGroupware GmbH database 2021-02-14 14:52:33 +02:00
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