Commit Graph

343 Commits

Author SHA1 Message Date
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
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
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
nathangray
8910983c8e Etemplate: Fix for some attributes not getting set 2020-12-17 09:17:38 -07:00
Hadi Nategh
cde6c10e05 Add Segoe font family into HTMLEditor 2020-12-09 13:17:37 +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
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
nathangray
1eae5d3780 Etemplate: Fix for Box not properly handling namespaces, now working for submit too 2020-10-28 09:51:55 -06:00
nathangray
5566a9d971 Etemplate: Fix for Box not properly handling namespaces 2020-10-27 10:29:46 -06: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
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
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
nathangray
32b061919f Etemplate: Change default for password widget suggest to off
Customfields still default to on
2020-07-21 15:36:45 -06: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
b95e9be02a Cleanup widget browser 2020-06-18 14:58:24 +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
nathangray
aab5415873 * Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted) 2020-06-12 10:56:53 -06:00
nathangray
a993938134 Etemplate: Fix VFS & file widgets were not properly handling files 2020-06-10 10:20:30 -06: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
Hadi Nategh
8d022c5908 do not try to push notifications for api.queue requests 2020-05-22 10:16:59 +02:00
Ralf Becker
ab20dbb70c * Mail: automatic remove some invisible Unicode chars breaking email addresses: zero width space, variation selectors 2020-04-30 10:16:24 +02:00
nathangray
6664aea901 Etemplate: Register time_or_date widget, fixes wrong timestamps in mobile template mail list 2020-04-01 15:03:58 -04:00
Hadi Nategh
faca76f6a9 Do not run restrict validation check for type taglist-account if free entries are allowed 2020-01-31 16:13:45 +01:00
Ralf Becker
d95894d530 use etemplate-exec-id as CSRF token for ajax requests 2020-01-29 11:08:44 +01:00
nathangray
121d5f82ef Etemplate: Fix taglist-account would reject most values 2019-10-11 11:55:10 -06:00
nathangray
084d2f7ac7 Etemplate: Expand VFS path attribute, if present 2019-09-27 13:40:24 -06:00
nathangray
1131d07199 Revert "Etemplate - avoid error if child is not a widget", it causes other random breaking
This reverts commit 1f63996a2c.
2019-08-02 11:08:14 -06:00
nathangray
1f63996a2c Etemplate - avoid error if child is not a widget
though it never should be...
2019-08-02 10:33:38 -06:00
nathangray
6f7c939d8b Etemplate - avoid warning from method_exists if method is a callable 2019-07-11 11:25:30 -06:00
Ralf Becker
b6bbe8c681 trying to fix not working HtmlArea / TinyMCE in 19.1
seems it's caused by - for what ever reason - caching the wrong class for "htmlarea" widget
2019-07-08 10:09:01 +02:00
nathangray
9daa2fe8b6 Etemplate - add new attributes to URL widget
allow_path: Allow a path instead of a URL, must start with /
	trailing_slash: Require or forbid that the URL ends with /
2019-05-10 14:53:00 -06:00
nathangray
a4a4a32d7b If there's a failure storing uploaded file, make sure to show it 2019-04-29 16:03:34 -06:00
nathangray
7e51edf39d Etemplate - contact widget: Fix sometimes missing n_fn 2019-04-24 14:28:40 -06:00
nathangray
eeab4ebe31 Use expanded form name to look up path from widget ID 2019-04-23 14:47:52 -06:00
nathangray
ff120e64da Add some defaults to select-bitwise if no app is specified 2019-04-09 11:45:14 -06:00
nathangray
7f6088490a Etemplate - Fix some Scrutinizer warnings 2019-03-20 14:37:39 -06:00
nathangray
ec98f00ff1 Add missing break statements 2019-03-20 10:31:32 -06:00
nathangray
006f8c1823 Remove unused variable 2019-03-19 14:52:46 -06:00
nathangray
6af45ef40a Add select-bitwise selectbox type 2019-03-19 14:31:33 -06:00
Ralf Becker
fa8ee606b3 WIP admin history: using eTemplate tree instead of regexp to parse labels and selectbox values 2019-03-19 15:34:44 +01:00
Ralf Becker
fd662a266b fix different attribute-name on server- and client-side: data_format
has to be changed in customfields too
2019-03-18 16:04:45 +01:00
Ralf Becker
58b617907a fix different attribute-name on server- and client-side: data_format 2019-03-12 20:35:46 +01:00
Ralf Becker
21962bdfe4 WIP admin history 2019-03-12 17:13:36 +01:00
Ralf Becker
e1476e4167 Merge pull request #57 from asig2016/add_class_to_dropdown
select-cat widget: add different class per level to allow different …
2019-03-12 17:01:40 +01:00
Hadi Nategh
09e90b1235 Take ascii mode into account before purifying the value 2019-02-28 11:47:53 +01:00
nathangray
f71b9ba093 Etemplate - fix using date widget min/max attributes made it required, even if not set as such 2019-02-26 13:49:50 -07:00
Hadi Nategh
781700ea6d Better approach to query existing contacts 2019-02-18 14:04:53 +01:00
Hadi Nategh
3a51767b67 Try to narrow down search criteria to only email and email_home columns 2019-02-18 12:23:30 +01:00
Hadi Nategh
c5c09c4f9f Deprecate CKEDITOR and remove it from source 2019-01-25 12:41:13 +01:00
Hadi Nategh
8b661df737 Remember recently used folders in vfs select 2019-01-14 17:43:43 +01:00
Ralf Becker
86ec8ee17d fix TypeError: Argument 6 passed to Nextmatch::call_get_rows() must be an instance of Etemplate\Widget or null
fix calendar edit gives an error when using [Save] button in list-view
2019-01-07 18:13:08 +01:00
Hadi Nategh
4d8a55fb17 Handle VFS full path when generating VFS select contents 2019-01-07 15:05:56 +01:00
nathangray
41b95af046 Commit session right after we get rows from app 2018-12-20 10:03:12 -07:00
nicorac
a33665e373 Removed source file with clashing filename and a typo in contained class name 2018-12-20 10:00:03 +01:00
Nathan Gray
d40a282f0d
Merge pull request #47 from neomorina/patch-5
Update Taglist.php
2018-12-19 10:04:40 -07:00
nathangray
19ead4c1cc Fix some more PHP 7.2 warnings
Remove some calls to deprecated each()
2018-12-18 09:49:29 -07:00
Ralf Becker
339819f406 fixing sometimes too small files caused by last chunk being bigger then other chunks 2018-12-14 16:21:12 +01:00
Ralf Becker
fc2cd455ca setting a bigger chunkSize for resumable to improve upload speed (has to be 2^N!) 2018-12-14 15:16:15 +01:00
Hadi Nategh
e52f3493f1 Prevent select widget from loading when running setup-cli. Fixes travis failure. 2018-12-14 11:15:28 +01:00
Hadi Nategh
40fe3c0ce2 Try fixing loading order by explicitly select widget to load first 2018-12-14 10:43:59 +01:00
Hadi Nategh
213c8343ab Revert commit f8134a3416 2018-12-14 10:00:45 +01:00
nathangray
f8134a3416 Does this make you happy, Travis? 2018-12-13 16:04:18 -07:00
Ralf Becker
01bd78e34a fix PHP 7.3 Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2" 2018-12-11 12:45:50 +01:00
nathangray
68a316fb3f Fix PHP 7.2 warning "PHP Warning: Invalid argument supplied for foreach()" 2018-12-10 09:32:42 -07:00
nathangray
ee5d7461fa Handle changes to query that were not there when sent 2018-11-28 14:57:08 -07:00
Hadi Nategh
fd36f854a3 W.I.P. of disableIfNoEPL attribute:
- Implement the same attribute for sidebox menu
- Fix if hideOnDisabled is enabled it will ignore the disableIfNoEPL and it will not show the menu at all
- Adopt addressbook Mail VCard menu
2018-11-27 15:22:50 +01:00
Hadi Nategh
f3ebfacc57 Introduce new action attribute to disable EPL actions via action system 2018-11-27 11:50:23 +01:00
nathangray
38939f1f38 Improvements for entry widget for robustness, includes automatic server side tests. 2018-11-15 11:15:35 -07:00
nathangray
5ca429b972 ID reset has to go after parent call, or things break 2018-11-13 15:06:46 -07:00
nathangray
2bf7e14477 Etemplate - add custom field sub-fields for app-entry widgets
- add regex & regex_replace attributes to change value around
2018-11-13 14:11:26 -07:00
Hadi Nategh
7e25284816 W.I.P. implementing TinyMCE editor and deprecating CKEditor:
- Add configurable toolbar as preference
- Do not load CkEditor until it's used
2018-10-24 14:48:19 +02:00
Hadi Nategh
44ef6a0a30 W.I.P. implementing TinyMCE editor and deprecating CKEditor:
- Fix CKEditor widget
- Fix editor doesn't work if no imageUpload is set
2018-10-23 17:10:33 +02:00
Hadi Nategh
345c3c2611 W.I.P. implementing TinyMCE editor and deprecating CKEditor:
- Add d-n-d image upload
2018-10-23 15:50:55 +02:00
Hadi Nategh
f62c5d8ea5 W.I.P. implementing TinyMCE editor and deprecating CKEditor:
- Implement vfs file selector
- Add/remove more actions from toolbar
2018-10-23 13:04:20 +02:00
Hadi Nategh
1cbd0aa2a3 W.I.P. implementing TinyMCE editor and deprecating CKEditor 2018-10-19 16:35:18 +02:00
Ralf Becker
8ae20c34b9 fix PHP Warning: array_shift() expects parameter 1 to be array, null given 2018-10-19 13:55:23 +02:00
Ralf Becker
180c07e23c fix PHP Warning: A non-numeric value encountered 2018-10-19 09:46:30 +02:00
nathangray
cb902a3219 Fix complex name finding to handle select options with label & value set, not just simple key => values 2018-10-09 10:20:51 -06:00
nathangray
13598f5342 Prefer most specific select options, if available 2018-10-02 14:19:12 -06:00
Hadi Nategh
6c4cc97a5f Implement new taglist widget to represent list of regions of a selected country 2018-09-19 16:43:19 +02:00
Ralf Becker
5ceabc8e96 fix parsing of boolean attributes:
- no defaults for disabled/readonly as it defaults depend on readonlys[__ALL__] is set or not
- only cast value to boolean, if it does not contain a variable eg. "!@no_something"
2018-09-17 11:16:38 +02:00
Ralf Becker
e483ec4957 automatic cast and defaults for boolean attributes
Not all attributes are implemented, as many dont play any role on server-side.
Fixes taglist-account multiple="false" returns array(<selected id>)
2018-09-13 14:57:50 +02:00
Hadi Nategh
9b742430c5 Allow single or double quoting as valid personal part of email rfc822 2018-09-04 13:51:10 +02:00
Neo Morina
8093e6a549
Update Taglist.php
For showing better results.
2018-08-23 11:39:09 +02:00
Hadi Nategh
698e77e0cb Implement reset user preferences for admin toolbar actions 2018-08-21 17:22:58 +02:00
Hadi Nategh
d7c462149a W.I.P. of toolbar admin default prefs:
- Set default preference by admin
- Consider default preference for the first time login users
2018-08-16 16:52:20 +02:00
Hadi Nategh
bf151cff7b W.I.P. of toolbar admin default prefs:
- Add admin settings button
- Add dialog
2018-08-16 12:29:35 +02:00
Hadi Nategh
ccda87b157 W.I.P. of toolbar admin default prefs 2018-08-15 16:50:46 +02:00
Hadi Nategh
c69532e7f0 Another attempt to invalidate zero with space (\u200B) char in the beginning an email address 2018-08-15 11:36:37 +02:00
Hadi Nategh
e433c708df Fix taglist fails to invalidate email address which starts with none visible unicode char 2018-08-14 17:15:35 +02:00
Hadi Nategh
d89247fdf3 Strip RFC822 email to avoid search contacts other than email itself. Fix issue sometimes add as new contact not showing up because it takes it as existing contact. 2018-07-31 11:06:38 +02:00
Ralf Becker
f4081c1443 Revert "* Api - Avoid SQL errors caused by removed custom fields still in favorites"
This reverts commit a03931493f.
2018-07-30 15:28:12 +02:00
nathangray
a03931493f * Api - Avoid SQL errors caused by removed custom fields still in favorites 2018-07-25 10:16:46 -06:00
Ralf Becker
baa2807606 some hooks needed for new policy app 2018-06-12 19:04:02 +02:00
Hadi Nategh
ecb8f84afa Add complementary option for app-select widget in order to be able to exclude specific apps from the list 2018-05-22 14:39:15 +02:00
Ralf Becker
ba366467b0 * Admin/Mail: fix saving mail-accounts for multiple accounts 2018-05-04 15:07:06 +02:00
Ralf Becker
98376b5908 * PHP 7.2: fix several PHP Fatal errors and warnings stalling installation and usage 2018-04-09 16:02:00 +02:00
Hadi Nategh
d9d051a97e Fix move/copy actions in link_to widget vfsSelect try to create not unwanted new symlink 2018-04-04 17:54:30 +02:00
Hadi Nategh
eb1eed5b8d Implement new feature for vfs-select widget to accept extra buttons action. Additionally, add extra "copy" and "move" actions to link-to vfs dialog. 2018-03-13 17:43:21 +01:00
Ralf Becker
32d10dd243 Fix not working textbox validators containing backslashes
PHP xml parser reads backslashes literal from attributes, 
while JavaScript ones need them escaped (eg. like PHP strings)
-> replace \\ with \ to get following XML working: validator="/^\\d+$"
2018-03-10 17:55:12 +01:00
Ralf Becker
a799abb0a0 * All apps: multiselect custom-field switches to single select after submit 2018-02-28 13:41:13 +01:00
nathangray
816db05496 Use abstraction to determine mime type, see 9a398594ac 2018-02-15 10:16:04 -07:00
nathangray
c67560049c * Api - Check if email address is known before offering 'Add as contact' button 2018-02-08 13:19:26 -07:00
Ralf Becker
d934f33ea6 also fixing preg for email with optional domain part 2018-02-05 19:13:01 +01:00
Ralf Becker
75a39143f8 fixing the fix, now "email.@domain.com" is invalied, but "x@domain.com" is valid 2018-02-05 16:06:46 +01:00
Ralf Becker
6efe719ea1 one letter name-part in email address failed validation, eg. "x@egroupware.org" 2018-02-05 15:32:00 +01:00
nathangray
9a398594ac * Etemplate - Don't trust browsers mime if we don't have to - fixes incorrect mime types and Resources rejecting pictures 2018-01-30 09:14:52 -07:00
Ralf Becker
20cde78af3 allow user & password again as in http://user:pass@example.com/ to fix tests 2018-01-30 16:54:43 +01:00
Ralf Becker
a9ee58cfad allow private IP addresses (starting with 10.|169.254.|192.168.) too 2018-01-30 16:19:35 +01:00
Hadi Nategh
95d1911528 Fix error Call to a member function setDate() on boolean 2017-11-27 18:05:47 +01:00
Hadi Nategh
1ecfab062a Fix list of favorites in VfsSelect contains previous selected contents as well 2017-11-20 17:49:46 +01:00
Hadi Nategh
7e6bcc035f Make favorites available as an individual button in VfsSelect dialog 2017-11-20 17:01:50 +01:00
Ralf Becker
b408c8b464 allow to specify a date-format in custom-fields using eg. format=Ymd, as it was possible in 11.1 in len field 2017-11-10 17:31:05 +01:00
Neo Morina
85866c6ef6
Made some changes at egw_actions
This is a usefull for opening "second level results" as a popup.
"Second level results" couldn't get opened as a popup at Project Manager app when i try to add a new Project as Template at the selected Project.
2017-11-09 14:43:49 +01:00
Hadi Nategh
861d714724 Fix vfsSelect does not show any content for the first load 2017-11-09 10:25:35 +01:00
nathangray
b8f8a014fa Move all tests under api/src into api/tests 2017-10-23 10:14:14 +02:00
Hadi Nategh
ff4396030a Fix CKEditor Browse Server button to open vfsSelect 2017-10-20 18:55:22 +02:00
nathangray
accd6187e2 Get date widget duration test working again 2017-10-20 09:56:47 +02:00
nathangray
9e6ecce1d0 Move tests into app/tests subdirectory (not app/inc/test or app/test) 2017-10-18 18:30:54 +02:00
nathangray
237d81ce36 Move tests into app/tests subdirectory (not app/inc/test or app/test) 2017-10-18 15:43:35 +02:00
nathangray
8b1a8d38f5 Revert db10b21fa7 2017-10-17 12:48:46 +02:00
nathangray
db10b21fa7 Fix child actions under 'More...' did not inherit the inheritable attributes 2017-10-13 11:13:17 -06:00
Hadi Nategh
052bef84ce W.I.P vfsSelect Widget:
- Fix upload feature not working
2017-10-13 13:22:45 +02:00
Hadi Nategh
5b76210218 W.I.P vfsSelect Widget:
- Fix mime types not being shown
- Fix name being displayed encoded in save2vfs mail
2017-10-12 17:45:46 +02:00
Hadi Nategh
2c721c95b2 W.I.P. VFS Select Widget:
- Add name and dialog_title as new attributes
- Fix SaveToVfs, SaveAttachmentToVfs, SaveAllToVfs in mail
- Fix button tile
2017-10-12 13:19:42 +02:00
Hadi Nategh
448cc8975f W.I.P of VFS Select widget restructure 2017-10-11 18:27:42 +02:00
Hadi Nategh
de65d91dc7 Rmove fields for none private cutomfields when name refers to a single custom field 2017-10-06 16:27:37 +02:00
Hadi Nategh
6407379388 Accept localhost as a valid url 2017-09-26 11:37:37 +02:00
Ralf Becker
a6ec69169d document and enhance function signaure for server-side callback of file and vfs-upload widget
also make it usable for vfs-upload widget with it's id containing entry's id
2017-09-21 11:33:40 +02:00
Ralf Becker
48554590f4 * Addressbook: store S/Mime & PGP pubkey and photo (SQL backend only) in filesystem 2017-09-19 11:38:48 +02:00
nathangray
5b4fd418bf Etemplate - change select multiple validation to also consider rows > 1 to enable multiple 2017-09-14 09:19:26 -06:00
nathangray
1b36ecb962 Etemplate - fix a testing bug giving false positives 2017-09-08 11:49:28 -06:00
nathangray
f9e09953d1 Etemplate - clear other set limits to avoid conflicts with other tests 2017-09-08 11:42:22 -06:00
nathangray
43f6acdf72 Etemplate - enhance email regex to avoid trailing dots in address, comment out some other checks we might not care about 2017-09-08 11:39:33 -06:00
nathangray
cc1fff6c17 Etemplate - add a URL regex to catch some invalids that were making it through 2017-09-08 11:10:57 -06:00
nathangray
12ae214b76 Etemplate - fix bug where min / max could not be 0 2017-09-08 10:30:19 -06:00
nathangray
4d68048929 Etemplate - fix causing false negatives in textbox regex text 2017-09-08 09:51:55 -06:00
nathangray
2006b1f372 Etemplate - fix some bugs in min/max validation 2017-09-08 09:51:06 -06:00
nathangray
0b3cbdeae5 Etemplate - some basic selectbox tests 2017-09-08 09:00:37 -06:00