Compare commits

...

3062 Commits

Author SHA1 Message Date
Ralf Becker
1a665046c9 pending translations from our translation server 2023-03-15 08:56:49 +01:00
nathan
0f1866eb19 Home: Fix birthdays lost range option 2023-03-14 15:02:02 -06:00
nathan
10fc2390f6 Home: Pull favorite list live client-side
Also IDE now understands we can't call abstract __construct
2023-03-14 13:56:59 -06:00
nathan
c0680a006d Home: Make resize less jumpy 2023-03-14 11:22:38 -06:00
nathan
9421d49ab5 Addressbook: Get context menu working for home portlet 2023-03-14 10:08:04 -06:00
nathan
9036186568 Calendar: Get calendar week view actions working from home portlet 2023-03-14 09:37:56 -06:00
nathan
da839dcfca Home: Better edit for note 2023-03-14 09:25:10 -06:00
nathan
b09c6e804f Home: Restore ability to manually add to list portlet
Now just using the properties dialog to add
2023-03-14 09:15:02 -06:00
ralf
a71229cd48 changes for 23.1 2023-03-14 12:15:56 +01:00
ralf
f7007c6bc8 Changelog for 23.1.20230314 2023-03-14 12:05:49 +01:00
ralf
0c13bc863a stop Chrome from autofilling passwords and do NOT display a password for OAuth when editing an account 2023-03-14 10:18:46 +01:00
ralf
84d067d2b9 WIP transpiling: an other missed StaticOptions usage
greped now for it to make sure it's the last
2023-03-14 09:44:55 +01:00
ralf
590d41bfb5 fix background-color reported as "" stalls rendering of calendar 2023-03-14 09:41:47 +01:00
ralf
096981ea3f WIP transpiling: only import as type as only used as such 2023-03-14 09:07:02 +01:00
nathan
db05adeb8c Calendar: missed StaticOptions change
see 43dfaa6
2023-03-13 15:49:29 -06:00
nathan
41788aef00 Home: Avoid breaking home if weather didn't find city 2023-03-13 14:47:46 -06:00
nathan
9a8375fa33 Revert "fixes for transpiling:"
This reverts commit f5a1fce8bc.
2023-03-13 14:32:31 -06:00
nathan
fe6a5fa0f0 Add missing home templates 2023-03-13 12:55:04 -06:00
ralf
f5a1fce8bc fixes for transpiling:
- importing Instance and HTMLElementWithValue types only as type
- import flatpicker plugins with: import {default as <PluginName>} from <file>
2023-03-13 19:41:00 +01:00
ralf
43dfaa6bc2 fixes for transpiling: import instantiated StaticOptions object, not the type
has also the benefit of using a single instance
2023-03-13 19:38:36 +01:00
nathan
ebdf3310c2 Home: Fix missing templates & sneaky failures with some favorite combinations 2023-03-13 09:26:37 -06:00
hadi
d8cc92efe4 Do not dock/undock mil preview when it's set for vertical pane 2023-03-13 16:14:53 +01:00
nathan
ca17161f4a Remove action WIP 2023-03-10 14:50:05 -07:00
nathan
5cfe1cef58 Home: Weather portlet improvements 2023-03-10 14:44:41 -07:00
Hadi Nategh
665dcc18da Fix links in infolog description getting into a new line 2023-03-10 20:17:48 +01:00
nathan
63492b3e98 Home: Fix missing mainscreen message 2023-03-10 09:13:17 -07:00
ralf
560495cd9b open newly created accounts directly 2023-03-10 11:52:45 +01:00
ralf
0a3892d2f2 fix some typos and old constructs 2023-03-10 08:45:07 +01:00
ralf
fb9c214182 * Admin/Setup: logging all DB backup operations to a text file db_backup.log in backup-directory 2023-03-10 08:33:23 +01:00
nathan
09ffa47041 Change border for dialog & flatpicker calendar in dark mode 2023-03-09 08:54:52 -07:00
Hadi Nategh
87a055e7bd Fix tree's actions no longer available after refreshing the root node 2023-03-09 13:05:57 +01:00
ralf
2543a011cb fix wrong import path stalling Babel transpiling 2023-03-09 08:48:01 +01:00
nathan
85efe66b33 Home: Avoid impossible (negative) span 2023-03-08 14:06:04 -07:00
nathan
e7f10c711c Fix numeric validator on a Et2Number would not pass 2023-03-08 13:28:04 -07:00
nathan
5ebad31675 Fix description label did not get row value in nextmatch
Fixes projectmanager price list showed "5 / $row_cont[pl_unit]" instead of "5 / h"
2023-03-08 11:53:48 -07:00
nathan
0492c92352 Et2Colorpicker: Let popup panel auto-position
Fixes color picker goes offscreen in kanban board edit
2023-03-08 11:26:47 -07:00
nathan
b703e2bfe5 Fix required validator went missing if a regex validator was added 2023-03-08 11:00:27 -07:00
ralf
09c219679a update some more outdated infos 2023-03-08 15:27:37 +01:00
ralf
5b20d30108 fix tags and command to use alpine image for PHP Swoole 2023-03-08 15:21:33 +01:00
ralf
15a4ff3c99 do NOT show absolute path of error, but the one relative to our root 2023-03-08 14:27:00 +01:00
Hadi Nategh
7baab8b651 Fix mailaccount dialog with multiple account ident set breaks window sizing 2023-03-08 11:42:48 +01:00
ralf
f0a2a4608e fix TypeError and missing padding after OAuth authentication in wizard 2023-03-08 11:08:21 +01:00
nathan
9f95db7ad8 Home WIP: Fix changing portlet width would not stick for some types 2023-03-07 16:16:01 -07:00
nathan
d9e12ecf4a Home WIP: Better re-layout calcs, use correct portlet type (if possible) when adding 2023-03-07 16:02:29 -07:00
nathan
7b8850cd78 Calendar: Fix custom alarm time did not show calendar for date 2023-03-07 11:11:16 -07:00
nathan
5760c5049f Et2InputWidget: Split label around widget if it has %s in it 2023-03-07 10:51:33 -07:00
nathan
6003de2409 Home WIP: Avoid offscreen portlets even if screen size changes 2023-03-07 09:03:11 -07:00
nathan
9bbbbd2cf4 Home WIP: Layout improvements to prevent off screen even if screen size changes 2023-03-07 08:55:27 -07:00
StefanU
8b3b0c0d92
Add export.svg
as replacement for png
2023-03-07 16:33:05 +01:00
Hadi Nategh
9f9c988c14 Fix error Cannot read properties of undefined (reading 'implements') 2023-03-07 16:16:57 +01:00
Hadi Nategh
99b667da6c Fix broken dock/undocking mail preview on 3pane views 2023-03-07 14:55:46 +01:00
StefanU
23dadd0559
Add import.svg
as replacement for png
2023-03-07 14:19:45 +01:00
ralf
cba93ad4ce fix some typos or ancient syntax 2023-03-07 08:19:15 +01:00
nathan
bb67507223 Et2DateDuration: Don't error & break everything for a bad display format, just log it and continue 2023-03-06 15:02:45 -07:00
nathan
1538496df1 Home WIP: Get calendar working 2023-03-06 14:47:48 -07:00
nathan
fc3feb974a Home WIP: Fix initial positioning and layout 2023-03-06 13:48:15 -07:00
nathan
dc5d31eb02 Home WIP: Get notes working 2023-03-06 13:19:49 -07:00
nathan
514d4cf207 Home WIP: Header spacing & style improvements 2023-03-06 13:19:49 -07:00
nathan
d37143c842 Home WIP Favorites working a little better 2023-03-06 13:19:49 -07:00
nathan
59c4070733 Et2LinkList: Fire change event when link is removed
Avoid error if instance manager is missing
2023-03-06 13:19:49 -07:00
nathan
db5be59ed0 Home: WIP home now shows stuff again 2023-03-06 13:19:48 -07:00
StefanU
46ac680c98
Add offer.svg
as replacement for png
2023-03-06 20:53:27 +01:00
StefanU
61106c71d8
Add recur.svg
as replacement for png
2023-03-06 20:45:29 +01:00
StefanU
b0f9b87336
Delete reload.svg 2023-03-06 20:45:02 +01:00
StefanU
bc8d005659
Add reload.svg
as replacement for png
2023-03-06 20:41:39 +01:00
Hadi Nategh
558fd0147f *Mail: fix mail action moveTo folder fails on none pane view 2023-03-06 12:17:12 +01:00
Hadi Nategh
a91c6a9d7b Update RC status styling for new ET2Select 2023-03-03 14:34:26 +01:00
Hadi Nategh
0e27bb843c Make sure the mail preview grid is there before using it 2023-03-03 11:05:34 +01:00
Hadi Nategh
c485a287bb Let et2Select be clickable on top user menu 2023-03-02 16:46:30 +01:00
ralf
7314b5ee65 fix typo "recommen(d)" 2023-03-02 14:21:34 +01:00
Hadi Nategh
a1c8fac94c *Mail: fix mail attachments action not being set properly based on users preference set in Filemanager (eg. open with Collabora or download) 2023-03-01 13:20:35 +01:00
StefanU
a4b253abc7
Update login.json
Change Icons
2023-03-01 11:26:09 +01:00
nathan
406784263a Mail: Fix attachments buttons did nothing in display popup 2023-02-28 11:14:07 -07:00
nathan
49d719e5f6 Et2DropdownButton: If readonly, display / render nothing
does not affect disabled, which still displays as disabled
2023-02-28 11:12:50 -07:00
nathan
e62cf4c2f7 Fix double-bound file drop handler
Fixes double-submit after dropping a second file.  Noticed in mail compose, but probably affects everywhere file widget was used to upload
2023-02-28 10:39:10 -07:00
nathan
da1b1f6999 Fix gantt chart couldn't load data
broken by 2066523.
Loading caused 'Exception "t is undefined" while handling JSON response from ....' deep inside dhtmlx-gantt
2023-02-28 09:05:49 -07:00
ralf
a94038163c fix not generally not working display multiple groups in status and also not displayed avatar pictures in that case 2023-02-28 15:15:23 +01:00
Hadi Nategh
057afb8623 Some styling fixes for mobile view:
- fix broken Addressbook's avatar in view and edit mode
- fix buttons with icon not getting white filter
2023-02-28 13:06:52 +01:00
Hadi Nategh
13a26fcadb Fix disabled buttons in mobile view not being hidden 2023-02-28 12:25:42 +01:00
Hadi Nategh
3d98159d2b Fix styling of delete popup dialogs in mobile view 2023-02-28 12:22:57 +01:00
Hadi Nategh
91c9038ba8 Restyle et2 dialog buttons in mobile theme 2023-02-28 12:08:38 +01:00
ralf
5a6da6b5ec fix typo 2023-02-28 11:22:38 +01:00
ralf
99bd02cb14 Changelog for 23.1.20230228 2023-02-28 09:51:43 +01:00
ralf
2f175c502c npx browserslist@latest --update-db 2023-02-28 09:35:48 +01:00
Ralf Becker
b5df04c07f pending translations from our translation server 2023-02-28 09:27:00 +01:00
ralf
555c91de6b set version to 23.1 2023-02-28 09:11:16 +01:00
ralf
81d044d2a5 bump version to 23.1 2023-02-28 08:50:48 +01:00
nathan
86b883951a Add isReady flag to etemplate. onchange functions set as attributes in .xet files will not be called until the etemplate is finished loading. 2023-02-27 15:31:07 -07:00
nathan
0117c4bde3 Move client-side holidays cache to MODULE_GLOBAL egw.holidays(year) 2023-02-27 15:15:36 -07:00
nathan
635780d7d4 Et2LinkTo: Fix linking to existing file in VFS did not do anything
Onchange was not being set
2023-02-27 13:25:47 -07:00
StefanU
5f2ee0d3e5
Update planner_view.svg
New design
2023-02-27 19:56:02 +01:00
StefanU
59cf2ea82d
Update planner_category_view.svg 2023-02-27 19:55:01 +01:00
StefanU
83849de5a0
Update multiweek_view.svg
New design
2023-02-27 19:52:28 +01:00
StefanU
4f2bf4b7db
Update year_view.svg
New design
2023-02-27 19:49:07 +01:00
StefanU
f402c27b0f
Update 7_day_view.svg
New design
2023-02-27 19:47:31 +01:00
StefanU
6d2dcf3eba
Update 5_day_view.svg
New design
2023-02-27 19:46:35 +01:00
StefanU
a54780d83e
Update week_view.svg
New design
2023-02-27 19:40:28 +01:00
StefanU
0242d84416
Update month_view.svg
Larger number
2023-02-27 19:39:23 +01:00
StefanU
dd006c5d81
Update 4_day_view.svg
New design
2023-02-27 19:36:03 +01:00
StefanU
5b27619e27
Update 1_day_view.svg
New design
2023-02-27 19:35:19 +01:00
StefanU
75e24be132
Add move.svg
As replacement for png
2023-02-27 19:27:39 +01:00
StefanU
d084618fd3
Add agt_action_fail.svg
As replacement for png
2023-02-27 19:25:26 +01:00
StefanU
542f8175dc
Add agt_action_success.svg
As replacement for png
2023-02-27 19:24:08 +01:00
StefanU
f086a3b3ee
Add agt_reload.svg
As replacement for png
2023-02-27 19:21:08 +01:00
nathan
ce141fa152 Disable file drag and drop so normal drag and drop in filemanager works properly 2023-02-27 11:17:23 -07:00
StefanU
3bd53859d9
Add accepted.svg
As replacement for png
2023-02-27 19:15:15 +01:00
StefanU
27d71466f1
Add rejected.svg
As replacement for png
2023-02-27 19:14:04 +01:00
StefanU
032bccbe8a
Add nonblocking.svg
As replacement for png
2023-02-27 19:10:27 +01:00
StefanU
da557d0249
Update portrait.svg
New version
2023-02-27 18:12:46 +01:00
StefanU
114a391c23
Update landscape.svg
New version
2023-02-27 18:11:55 +01:00
ralf
f44363aad9 remove recaptcha_* config used by no longer supported SiteMgr 2023-02-27 13:39:08 +01:00
ralf
40dffb2f91 disable usage statistic for now, as there is no more backend 2023-02-27 12:57:57 +01:00
ralf
a8dd625a61 register old-hbox client-side and all old-*box on server-side 2023-02-27 09:57:21 +01:00
Hadi Nategh
2dc78de2c1 Support deprecated get values method for ET2Select_ro 2023-02-27 09:56:39 +01:00
nathan
be3e5fbe8d Fix public addressbook categories with were not visible with grant on personal addressbook 2023-02-24 14:40:51 -07:00
nathan
04bedf30be Make sure we use the right app when cleaning select-cat value 2023-02-24 14:23:11 -07:00
nathan
bbd41b4255 Group grant in addressbook does not give access to personal categories, public or private 2023-02-24 13:54:41 -07:00
nathan
74f0822494 Calendar: Fix end date did not hide when using an event duration 2023-02-24 12:00:08 -07:00
ralf
fe0af6a487 also register "old-button" so smallPART can still use it, fixes [0 Start] button not working in tests 2023-02-24 19:59:39 +01:00
nathan
206652307b Et2Date fixes
- Fix mobile get / set value was not actually setting value properly
- Set a minimum input width
2023-02-24 11:58:16 -07:00
nathan
ae01e30d55 Mobile dialog style changes
- Add dialog close button back, hide the footer cancel buttons to avoid duplication
- Footer buttons with icon show only icon, label preserved for accessibility
- Footer buttons without icon show as button with label
- Footer buttons can wrap to another line
2023-02-24 10:38:35 -07:00
Hadi Nategh
0abbd65d35 Fix styling for replyto button in mail compose 2023-02-24 14:18:25 +01:00
ralf
de25881635 fix "yes" could not be selected for "Asking to start and stop working time with session" 2023-02-24 13:29:37 +01:00
Hadi Nategh
0b6f649821 Trigger the squeezed mode for mail's nm header 2023-02-24 11:39:44 +01:00
ralf
4099066a59 fake "Domain Users" group to now show "#-513" in case it's excluded by a filter 2023-02-24 09:59:25 +01:00
ralf
190c785388 * AD/LDAP: account import supports now (keeping) local groups and their memberships, if configured to do so 2023-02-24 09:47:42 +01:00
nathan
9fa67c22a1 Fix missing icon in category list 2023-02-23 15:06:13 -07:00
ralf
ce555f7f0e * ActiveDirectory: fix making extra AD attributes available via custom fields with "ldap_" prefix 2023-02-23 19:56:07 +01:00
nathan
ab812c8dec Just the timer dialog gets timesheet color, leave others alone 2023-02-23 10:12:21 -07:00
nathan
06ab864b01 Fix "header" button styling on mobile popups (preferences, security, etc) 2023-02-23 10:01:54 -07:00
nathan
5453f1f8f1 Timer dialog for mobile now uses timesheet color for header 2023-02-23 09:11:00 -07:00
nathan
3307292e6f Dialog header on mobile now sized better using font size instead of pixels
also push buttons farther off screen
2023-02-23 09:02:16 -07:00
ralf
a48a3eb3c1 add ES2020 check to login page and move it outside egw_ready (no longer allowing to translate the message) 2023-02-23 14:00:37 +01:00
ralf
cf9a428e10 fix for EGw unusual position of Cancel button first 2023-02-23 12:13:10 +01:00
ralf
94c9051460 * AD/LDAP: fix SQL error "duplicate entry 'X' on egw_accounts.account_lid" when updating an existing account
also fixed TypeError deleting no longer existing groups
2023-02-23 11:47:15 +01:00
ralf
235a69e75e missing (generated) CSS files for last 2 commits 2023-02-23 09:30:38 +01:00
ralf
394bae0793 align 23.1 login background at the bottom, cutting of the top/sky, if necessary 2023-02-23 09:24:57 +01:00
ralf
7fe740a870 fix alignment of text/app-name in tabs relativ to app-icon 2023-02-23 09:09:22 +01:00
ralf
b680509a21 next, hopefully final, version of 23.1 login logo 2023-02-23 08:16:45 +01:00
nathan
41cbb68de0 Et2Select: Fix extra scrollbar with rows=1, multiple, hover lots (> 8 or so) of rows 2023-02-22 16:23:56 -07:00
nathan
46389e72f7 Do not try to validate empty strings as email. If it's required but empty, give the required validation message. 2023-02-22 15:17:17 -07:00
nathan
4311eebdc9 Et2Dialog: Fix missing button alignment 2023-02-22 14:51:21 -07:00
nathan
cd22b9aad6 Slow down tab switch on drag
Avoid another tab being moved underneath the cursor if the target tab has different sidebox menu width, triggering another tab switch
2023-02-22 14:31:41 -07:00
nathan
34cc0ff5be Switch vbox with details back to tabbox now that we have et2-tabbox_mobile 2023-02-22 12:37:06 -07:00
nathan
7c2266b27b Mobile dialog style changes
- dialog takes full width x height
- footer on top with large, white icon-only buttons
- header has no close button
2023-02-22 11:27:55 -07:00
Hadi Nategh
24570cd438 Let sl-button-group deals with blur and focus handling for our Et2DropDownButton widget 2023-02-22 17:56:02 +01:00
nathan
ecd262a093 Infolog: Fix missing field options in site configuration
Using disabled options for always allowed / excluded fields
2023-02-22 09:54:43 -07:00
nathan
f7d44c63cb Enable disabled select options 2023-02-22 09:51:57 -07:00
ralf
bf6891d06a let framework know we are a popup
stops setting data-sidebox and egw.js fails because there is no sidebox
2023-02-22 09:01:40 +01:00
nathan
b1c4c54adc Get unavailable cats working again 2023-02-21 15:25:45 -07:00
nathan
f404926e0e Remove side padding on mobile dialogs 2023-02-21 11:19:05 -07:00
ralf
da5c50f26d fix white color for login-message 2023-02-21 19:06:39 +01:00
ralf
8387cae7f9 login logo including 23.1 version number 2023-02-21 18:47:43 +01:00
nathan
e532ca176b Add Et2TabsMobile that has special rendering for tabs on mobile 2023-02-21 10:31:38 -07:00
Hadi Nategh
c466a4e9ab Do not run splitter resize control for mobile theme 2023-02-21 17:55:34 +01:00
ralf
3fbd2dcdc8 fix not working changing password for account in SQL 2023-02-21 14:34:36 +01:00
Hadi Nategh
369bddef2f Adopt header's buttons in mobile templates 2023-02-21 13:39:50 +01:00
Hadi Nategh
68fdb1b985 Revert "changes to get old eTemplate apps like KnowledgeBase working in 23.1"
This reverts commit d816d837cd.
2023-02-21 13:02:23 +01:00
Hadi Nategh
2be601d16c Remove deprecated fastclick library 2023-02-21 12:09:10 +01:00
Hadi Nategh
7f800390d7 Remove no longer needed fastclick 2023-02-21 11:44:54 +01:00
ralf
6c917cd369 fix unhandled exception stalling LDAP/AD account sync
not (yet) fixing the cause, but logging it as error and continuing
2023-02-21 11:18:33 +01:00
StefanU
96a18c8bf4
Update gohome.svg
Colour corrected, size corrected, form corrected
2023-02-20 19:03:18 +01:00
StefanU
c937f08bf2
Update home.svg
Colour corrected, size corrected, form corrected
2023-02-20 19:01:36 +01:00
StefanU
9e6ceaecd7
Update thunderbird.svg
Colour corrected, size corrected, form corrected
2023-02-20 19:00:16 +01:00
StefanU
b6faa6dcd4
Update home.svg
Colour corrected, size corrected, form corrected
2023-02-20 18:05:59 +01:00
ralf
178047d8d6 * Mail/OAuth: fix mail account creation failed for regular EGroupware users / non-admins 2023-02-20 15:37:06 +01:00
Hadi Nategh
188334d647 Fix scrolling in mobile view sidebar not working 2023-02-20 15:16:43 +01:00
ralf
5cf63cc45e * Timesheet: allow to set preference to never ask again to start working time on login 2023-02-20 12:42:21 +01:00
ralf
0b8e1ba77f 23.1 login page, though logo not yet including 23.1 2023-02-20 09:52:06 +01:00
StefanU
7d6247cee6
Add MailFolderOutbox.svg
As replacement for png
2023-02-19 17:41:49 +01:00
StefanU
960dc5fdce
Update import.svg
Size corrected, file optimised
2023-02-19 17:39:01 +01:00
StefanU
2799151bfc
Update export.svg
Size corrected, file optimised
2023-02-19 17:37:51 +01:00
StefanU
659593ac3c
Update search.svg
Size corrected, file optimised
2023-02-19 17:09:14 +01:00
StefanU
ce62c37f4c
Update advanced-search.svg
Size corrected, file optimised
2023-02-19 17:07:51 +01:00
ralf
9dd62ad9a0 always add exception code to the logged exception 2023-02-19 08:40:55 +01:00
ralf
9a408f40ac fix typo / replaced wrong line 2023-02-18 19:38:09 +01:00
StefanU
a4b982e75d
Delete mail_send.psd
Old psd...
2023-02-18 11:14:37 +01:00
StefanU
009d299bea
Update mail_replyall.svg
Size corrected, file optimised
2023-02-18 11:13:18 +01:00
StefanU
e012d29e25
Update mail_reply.svg
Size corrected, file optimised
2023-02-18 11:12:31 +01:00
StefanU
f0a35a3e54
Update mail_forward_attach.svg
Size corrected, file optimised
2023-02-18 11:11:23 +01:00
StefanU
da2117ba4b
Update mail_forward.svg
Size corrected, file optimised
2023-02-18 11:10:40 +01:00
ralf
bbf9d62c5a fixing unhandled "MySQL server has gone away" in PHP 8.1 2023-02-18 09:01:22 +01:00
nathan
1aef969bc3 Make dialogs full width 2023-02-17 13:12:01 -07:00
ralf
236c1c0305 Revert "fix commited git conflict"
This reverts commit 47ef464c8a.
2023-02-17 20:09:52 +01:00
ralf
16b959524a updating celtic/lti v4.10.1 to be able to update/fix security problem of firebase/php-jwt fixed with v6.0.0 2023-02-17 20:04:52 +01:00
Ralf Becker
47ef464c8a fix commited git conflict 2023-02-17 19:34:59 +01:00
nathan
e19cef1c07 Filemanager: Fix broken drag
Gave error "Uncaught app.filemanager.drag is not a function", because app.filemanager.drag was removed in 2014 (96d9f14)
2023-02-17 09:16:13 -07:00
nathan
9cc1f08d63 Et2UrlEmail: Fix click to add to email button was broken 2023-02-17 08:51:27 -07:00
nathan
cebe21cc2d Addressbook: Fix extra private cfs in advanced search show "null" when blank 2023-02-17 08:28:20 -07:00
Ralf Becker
ce140e5eb6 pending translation from our translation server, thanks to Ministry of Post and Telecommunications Kambodscha for the Khmer translation 2023-02-17 15:48:17 +01:00
Ralf Becker
9af53cfab4 pending translation from our translation server, thanks to Ministry of Post and Telecommunications Kambodscha for the Khmer translation 2023-02-17 15:46:37 +01:00
Ralf Becker
7e1fdc4637 pending translation from our translation server, thanks to Ministry of Post and Telecommunications Kambodscha for the Khmer translation 2023-02-17 15:45:29 +01:00
Hadi Nategh
f7bcc773a8 Fix resize handler in mail compose 2023-02-17 12:37:19 +01:00
Hadi Nategh
d17f7d2e55 Fix fields in composer are not equally aligned 2023-02-17 11:35:44 +01:00
nathan
fb8b1d5fdc Import/Export: Fix import definition dialog field mapping was not translated 2023-02-16 13:37:42 -07:00
StefanU
7c46ce4c15
Update portrait.svg
Size corrected, file optimisations
2023-02-16 20:24:56 +01:00
StefanU
744ab4318f
Update landscape.svg
Size corrected, file optimisations
2023-02-16 20:24:13 +01:00
StefanU
1493743e1b
Update planner_category_view.svg
New design
2023-02-16 20:00:08 +01:00
nathan
33ca8a47a9 Et2Select: Tweak size calculations for rows setting to work better for all font size preferences 2023-02-16 11:59:34 -07:00
StefanU
324457342a
Update month_view.svg
New design
2023-02-16 19:57:29 +01:00
nathan
727c122d8f Addressbook: Fix advanced search was losing private custom field values when they were on a separate tab 2023-02-16 08:41:23 -07:00
nathan
ee244bf282 Addressbook: Fix advanced search was not including private custom fields when they were on a separate tab 2023-02-16 08:24:17 -07:00
Hadi Nategh
e043153ad4 Fix dragover sometimes is not fully visible 2023-02-16 15:30:31 +01:00
Hadi Nategh
b25346c1e4 ET2Button doesn't get resized properly after set/remove label therefore try to force an update 2023-02-16 15:17:13 +01:00
Hadi Nategh
32392ea0e3 Add missing app.js part a139d1e7d2 2023-02-16 11:24:59 +01:00
ralf
4731128d50 fix not working REPORT or PROPFIND
PHP runs out of memory, as bo->search($query) increments $query['start'] itself, so we need to check and break after total is reached
2023-02-16 09:21:18 +01:00
nathan
35efc6bc43 Calendar: Fix toolbar integration buttons could only register click on the top half of the button 2023-02-15 15:10:24 -07:00
nathan
8d58eefc0a Change side menu bullet icons to 16px 2023-02-15 14:58:10 -07:00
StefanU
ad39688a9a
Update unread_flagged_small.svg
Size corrected, file optimised, colour corrected
2023-02-15 21:51:36 +01:00
nathan
524a9b3c7b Change how readonly multiple selects with rows=1 show more tags are hidden
Showing total number of values is way easier than showing the number that aren't displayed
2023-02-15 13:23:05 -07:00
ralf
c3e53c9d86 replaced ProfindIterator now in Calendar and InfoLog too with a generator 2023-02-15 19:50:44 +01:00
nathan
62b4724bf8 Fix tab header was still partially visible during printing 2023-02-15 10:43:14 -07:00
nathan
1901cb9930 Move print dialog row count & orientation to the same line 2023-02-15 10:02:23 -07:00
nathan
ced2bc6061 Et2Password: Fix still forced autocomplete="new-password" 2023-02-15 09:21:40 -07:00
nathan
bac32f4bba Addressbook: Fix required customfields were still required on advanced search dialog's "Extra private" tab 2023-02-15 08:44:39 -07:00
Hadi Nategh
a139d1e7d2 WIP making mail nm header more responsive 2023-02-15 16:35:54 +01:00
ralf
a769cdad34 fix not working account_id filter for contacts in ActiveDirectory 2023-02-15 15:32:44 +01:00
ralf
330656c437 * Status/ActiveDirectory: fix not displayed photo avatar 2023-02-15 14:34:20 +01:00
Hadi Nategh
d3bb9b9b78 WIP making mail nm header more responsive 2023-02-15 13:24:36 +01:00
ralf
d2e03e6a28 setting same chunk-size of 500 as iterator used for optimal performance 2023-02-15 12:41:33 +01:00
ralf
9ba61e0b25 implement PROPFIND and REPORTs specially multiget with a generator to fix various problems with the iterator logic 2023-02-15 12:40:12 +01:00
ralf
27bd803e84 fix empty collection in PROPFIND/REPORT after last commit caused by creating a reference / NULL value in filter for path-attr/caldav_name 2023-02-15 08:45:28 +01:00
nathan
9fe2914d83 Infolog: Use deleted icon from common for deleted status 2023-02-14 16:52:57 -07:00
nathan
84bdea4193 Fix nm print dialog missing print orientation 2023-02-14 16:27:44 -07:00
nathan
c3348c8230 Et2Date: Copy drop shadow from select dropdown 2023-02-14 14:13:55 -07:00
nathan
80c5a64316 Et2Password: Autocorrect always off 2023-02-14 13:48:21 -07:00
nathan
d1c6145af0 Et2Password: Some cleanup
- Now passing autocomplete & autocorrect parameters on instead of forcing
 - Only doing the readonly input trick if autocomplete=="new-password"
2023-02-14 13:43:26 -07:00
nathan
03a166f8c8 Filemanager: Fix missing EPL tabs 2023-02-14 13:24:19 -07:00
nathan
973b86afb1 Addressbook: Skip duplicate check in advanced search 2023-02-14 13:10:15 -07:00
nathan
396c537dd7 Mail: Fix compose + to tracker tried to pass object as value 2023-02-14 11:47:25 -07:00
Hadi Nategh
7d9c55e4bf Fix attachment's dropdown menu in mail display dialog not being enabled 2023-02-14 18:22:56 +01:00
nathan
68caabe1ae Fix hidden tabs did not make children readonly
Fixes required fields on hidden tabs still got validated
2023-02-14 10:09:58 -07:00
StefanU
704291d80b
Add call.svg
as replacement for call.png
2023-02-14 15:21:36 +01:00
StefanU
883fc6ab6d
Update call.svg
Telephone handset mirrored
2023-02-14 15:19:53 +01:00
StefanU
322bb5d629
Update arrow_up.svg
Colour corrected, size corrected, file optimised
2023-02-14 14:12:29 +01:00
StefanU
6569246768
Update arrow_right.svg
Colour corrected, size corrected, file optimised
2023-02-14 14:11:44 +01:00
StefanU
6e8834b4ec
Update arrow_left.svg
Colour corrected, size corrected, file optimised
2023-02-14 14:08:36 +01:00
StefanU
11fd3dacfe
Update arrow_down.svg
Colour corrected, size corrected, file optimised
2023-02-14 13:55:44 +01:00
nathan
16c8fb420b Et2Password: Overwrite render to force input to readonly as a work-around for browsers ignoring autocomplete="new-password"
Doesn't make a difference for me, but easy for others to test if I commit
2023-02-13 15:59:38 -07:00
ralf
5e0fd45173 fix found URL in multiget REPORT where reported as NOT found too, if number of URLs exceeds chunk-size of 500 2023-02-13 23:16:43 +01:00
nathan
03a237fd7e Et2Select: Turn off browser autocomplete in search 2023-02-13 14:57:55 -07:00
ralf
0b86ba7a20 * Addressbook/CardDAV: fix new Thunderbird 110 could not sync big addressbooks
TB 110 does an initial PROPFIND and then requests ALL resources in a single multiget REPORT, which caused two problems:
a) enabled CalDAV/CardDAV request logging switched output-buffering on and then runs out of memory --> switching it and therefore logging off for multiget REPORTS with more then 200 resources
b) PROPFIND iterator wrongly continued running, if the not found resources together with the found ones exceeded the chunk-size of 500
2023-02-13 22:42:13 +01:00
nathan
1e7b8c260b Add Khmer & Romanian as language options 2023-02-13 14:07:34 -07:00
nathan
d02a40ee82 Et2Select: Remove any doubled values when setting value 2023-02-13 14:00:52 -07:00
StefanU
fe7897b563
Update previous.svg
Size corrected, file optimised, colour corrected
2023-02-13 21:33:43 +01:00
nathan
e2cbbe9358 Re-add feature where readonly URL widget with label uses the label as link text 2023-02-13 13:29:25 -07:00
StefanU
fdd2d50fce
Update next.svg
Size corrected 28px => 32px, file optimised, colour corrected
2023-02-13 21:27:52 +01:00
StefanU
12bf076ebc
Update cake.svg
Size corrected, file optimised, colour corrected
2023-02-13 21:18:54 +01:00
StefanU
470779479a
Update mail_label2.svg
Size corrected, file optimised, colour corrected
2023-02-13 21:10:49 +01:00
StefanU
274bc1e348
Add private.svg
as replacement for private.png
2023-02-13 21:07:45 +01:00
StefanU
18787e448c
Update password.svg
Size corrected, file optimised, colour corrected
2023-02-13 21:06:08 +01:00
nathan
7fdadb84bd Addressbook: Fix shared values did not validate
Just passing them along normally now
2023-02-13 09:46:18 -07:00
nathan
d15c908e38 Addressbook: Fix required customfields were still required on advanced search dialog
Switched attribute name needed -> requred
2023-02-13 08:53:49 -07:00
StefanU
d1e7908cc0
Update apply.svg
File optimisation, colour corrected, size adjusted
2023-02-12 20:30:00 +01:00
nathan
c4f3ec9840 Et2Select: Fix free entries can get doubled if more free entries added 2023-02-10 14:13:13 -07:00
ralf
ee84b05d82 updated timezones from TB, version 2.2022e 2023-02-10 20:26:10 +01:00
StefanU
06f691deaf
Delete about.png
Replaced with actually about.svg
2023-02-10 18:48:23 +01:00
StefanU
cdf46e864f
Add about.svg
as replacement for about.png
2023-02-10 18:46:53 +01:00
StefanU
bc7d6c35a9
Update navbar.svg
File optimisations, colour corrected
2023-02-10 18:25:49 +01:00
StefanU
b4376a3dfe
Update kmmsgdel.svg
File optimisations, colour corrected
2023-02-10 18:19:06 +01:00
StefanU
eb08eb4bc5
Update close.svg
File optimisations, colour corrected, design changed
2023-02-10 18:17:11 +01:00
nathan
2c997390f6 Mail: Use "Collabora Online" instead of "Open with Collabora Office" in attachment action dropdown because it fits better 2023-02-10 10:06:47 -07:00
Hadi Nategh
67b7537e26 Fix fields in mail preview are wrongly sized 2023-02-10 12:29:35 +01:00
Hadi Nategh
4fae387ec5 Fix error mailPreview undefined happening in mobile view 2023-02-10 10:34:59 +01:00
ralf
30aaa734c9 fix broken url in changelog 2023-02-10 10:34:08 +01:00
ralf
6ed5b8a3a5 Changelog for 23.1.20230210 2023-02-10 09:18:18 +01:00
ralf
1949f461b8 remove font-size to use default from preferences for text mails 2023-02-10 08:59:09 +01:00
ralf
949f5c5961 let avatar and labels overlap, From/To is small enough compared with Attachments 2023-02-10 08:38:24 +01:00
nathan
570edaa1e0 Et2Favorites: Update sidebox favorite icons when user changes default favorite 2023-02-09 16:47:59 -07:00
nathan
4322937ea7 Et2Date: Add widget classes to flatpicker popup 2023-02-09 14:47:43 -07:00
nathan
1a55a2c643 Mail: Fix preview headers did not change size with preferred font size 2023-02-09 14:47:43 -07:00
nathan
96558b9da8 Fix missing translation in Select group & dropdown options 2023-02-09 14:47:43 -07:00
nathan
bf764df720 Mail: Multiple attachments changes
- Offer to open in Collabora any file, not just editable (PDF)
- Put collabora option first in the option list if user prefers to open in collabora
- Change label to "Open with Collabora Office" with translation from Birgit
2023-02-09 14:47:43 -07:00
StefanU
1387988eff
New timestamp.svg
as replacement for timestamp.png
2023-02-09 21:12:07 +01:00
StefanU
1b0bd1a1b2
New language.svg
as replacement for language.png
2023-02-09 21:10:13 +01:00
Hadi Nategh
0d68f87ae3 Make sure the path is available when checking for scrolling touch 2023-02-09 17:15:01 +01:00
Ralf Becker
7343283e12 translations from our translation server 2023-02-09 16:18:01 +01:00
ralf
d816d837cd changes to get old eTemplate apps like KnowledgeBase working in 23.1
makes some more symbols global again in one block at the end of the files
2023-02-09 14:17:24 +01:00
Hadi Nategh
6d9c31d6be Fix misaligned avatar in mail preview 2023-02-09 12:36:00 +01:00
Hadi Nategh
365c165eca Apply same styling for attachments in mail display 2023-02-09 11:38:01 +01:00
Hadi Nategh
584bdcb5c2 Rearrange attachments container in mail preview 2023-02-09 11:27:27 +01:00
Hadi Nategh
5a2bbd6463 Adjust details container calculation for overlaySummary based on left/right alignment 2023-02-09 11:26:25 +01:00
nathan
32dd160e35 Et2Date: Add placement property to control where calendar popup opens. "top", "bottom", or "auto" 2023-02-08 14:36:09 -07:00
nathan
00a857b2d7 Projectmanager: Fix gantt column selection opens with wrong position
Now using a proper dialog, similar to nextmatch column selection
2023-02-08 11:48:56 -07:00
nathan
efa550f251 Et2Select: Add onTagClick property for actions on tag clicks
Fixes unable to detect clicking on individual tags inside readonly et2-select-email
2023-02-08 09:11:33 -07:00
Hadi Nategh
c6e025d31b Fix attachments and addresses in mail display 2023-02-08 14:59:56 +01:00
Hadi Nategh
8aabdee6f7 Fix mail mobile view no longer shows unseen status 2023-02-08 14:36:21 +01:00
Hadi Nategh
5660f89b60 Fix broken pgp encryption frame in mail compose 2023-02-08 12:29:20 +01:00
Hadi Nategh
8b5ee28335 Get attachments dropdown left aligned 2023-02-08 10:09:17 +01:00
Hadi Nategh
7f6f4e94a6 Remove gap between addresses in mail preview 2023-02-08 09:54:03 +01:00
ralf
ed09a0b079 add missing readonly et2-select-lang to fix language column in news-admin index 2023-02-08 08:24:59 +01:00
nathan
193dbfc339 Et2Select: Fix some search weirdness
- Search didn't start until 1 character more than expected
- Search didn't happen on enter because the et2-searchbox inside stopped the key event from bubbling
2023-02-07 16:24:06 -07:00
nathan
9cde6a7171 Fix some styling on select-email
- Make +N tag right aligned & look like text, not tag
- Fix popup to open below but covering field
- give popup border & dropshadow
2023-02-07 12:04:05 -07:00
nathan
2a3a8a7371 Et2Select: Fix tags can't be removed 2023-02-07 10:04:56 -07:00
Hadi Nategh
553c318529 More styling for mail preview 2023-02-07 16:50:22 +01:00
Hadi Nategh
84a58ec6ae Add new attribute for details widget to overlay the summary container 2023-02-07 16:49:18 +01:00
Hadi Nategh
78ec08fcc4 Rearrange the date in mail preview 2023-02-07 15:41:04 +01:00
Hadi Nategh
98b8258f0f Get addresses out of details and fix attachments caption 2023-02-07 12:22:23 +01:00
Hadi Nategh
cb6f2ee808 Add missing column on email tag tooltip 2023-02-07 10:01:46 +01:00
Hadi Nategh
26214a3aa3 Fix collabora app installed check and set the right action name 2023-02-07 09:47:58 +01:00
ralf
7522e7615f fix Argument 2 passed to EGroupware\Api\Mail\Smtp::mailbox_address() must be of the type string, null given
called in /usr/share/egroupware/api/src/Mail/Smtp.php on line 238
caused by no mail domain specified in config or mail account
2023-02-07 08:19:39 +01:00
nathan
eb416c3d91 Calendar: Include current user as explicit select option for import target 2023-02-06 16:38:33 -07:00
nathan
95a4b319bb Calendar: Fix bug in iCal import that gave bad calendar owner value 2023-02-06 16:23:39 -07:00
nathan
2c15e2f8ef Et2Description: Fix broken activate links test, it needed camelCase attribute 2023-02-06 15:59:32 -07:00
nathan
1b7f9d3ebc Et2SelectEmail: Give dragged tags some z-index, so they go over the other controls 2023-02-06 15:07:30 -07:00
nathan
cd980c78df Limit mail to & cc addresses to 1 row, show all on hover.
Use:
multiple="true" rows="1" maxTagsVisible="1"
to trigger show all on hover
2023-02-06 14:48:55 -07:00
ralf
c48e2dccf1 fix explode(): Argument #2 ($string) must be of type string, array given 2023-02-06 20:38:14 +01:00
ralf
e4acb0eac1 fix an other substr(): Passing null to parameter #1 ($string) of type string is deprecated 2023-02-06 20:27:59 +01:00
ralf
6e1de33a23 fix server- and client-side had different attribute-names for legacy-options 2023-02-06 17:14:22 +01:00
ralf
330ffe73df fix somehow wrong legacy-options for customfields widget 2023-02-06 16:31:28 +01:00
Hadi Nategh
5ade68dd76 Add collabora action into default and set attachments label 2023-02-06 16:15:32 +01:00
ralf
bd8198d230 missing et2-select-lang widget 2023-02-06 15:52:58 +01:00
ralf
ab6338f13f * TimeSheet: allow to update times in events tab rows by clicking on the time
@todo nathan: setting min/max values on Et2DateTime loaded via a template into dialog does NOT work, as widget has not instantiated Flatpicker,
when the dialog.getUpdateComplete promise returns and the widget then simply ignores the set min/max time :(
2023-02-06 14:42:18 +01:00
Hadi Nategh
28d8a73ace Fix broken vfs size indicator 2023-02-06 12:10:15 +01:00
Hadi Nategh
dda3b1f5d1 Remove excessive BR tag from email tag 2023-02-06 11:33:50 +01:00
Hadi Nategh
e9c960671a Fix alignment and color for mail subject in preview 2023-02-06 11:23:19 +01:00
StefanU
88edfc8d3f
Update mail_label4.svg
File optimisation
2023-02-03 22:12:38 +01:00
nathan
1d8d4f9c72 Fix some readonly issues where widgets were not looking readonly
- Editable tags were still editable if the select was readonly
- LinkTo could still select an app (readonly not passed on)
- Hide the dropdown for multi-select when readonly
2023-02-03 14:09:07 -07:00
StefanU
3a695bd45d
Add some svg icons 2023-02-03 21:47:14 +01:00
ralf
846defb42e fix missing curl caused nodejs install to fail 2023-02-03 20:29:16 +01:00
nathan
1faeffebee Stop Widget::get_array() creating unwanted indexes
When some widgets checked for value in beforeSendToClient() or validate(), they were accidentally creating a numeric index in nm content.  When these indexes built up over several submits, they caused problems with grids with repeating rows.

Fixes addressbook organisation column goes missing
2023-02-03 11:32:20 -07:00
StefanU
888c3f30a2
Update phone.svg
File optimations, earphone => full 32px
2023-02-03 18:02:22 +01:00
StefanU
1880606fb6
Update cti_phone.svg
File optimations, earphone => full 32px
2023-02-03 18:00:24 +01:00
ralf
6c327e7a64 * LDAP/Addressbook: make further LDAP attributes available as custom-fields using "ldap_<attribute>" as name for accounts in LDAP 2023-02-03 11:28:43 +01:00
ralf
c2714a6813 * Univention: make birthday of users available in addressbook (univentionPerson.univentionBirthday attribute) 2023-02-03 11:26:17 +01:00
ralf
4b342db97e fix some warnings / notices in session creation 2023-02-03 09:57:37 +01:00
ralf
4f0e65c1a5 fix not working login with domain selectbox 2023-02-03 09:57:07 +01:00
nathan
21599f6097 Make all toolbar toggle button icons gray when off 2023-02-02 10:46:51 -07:00
nathan
929bf866cd Et2Lavatar: Fix missed property camelCase
contact_id -> contactId
2023-02-02 09:19:04 -07:00
Hadi Nategh
138999f233 Add again full value as tooltip for email tags 2023-02-02 12:12:08 +01:00
ralf
b4eafbcd70 * LDAP: fix LDAP protocol error creating new groups without a description
make sure not to unset (empty) description for new groups
2023-02-02 08:56:53 +01:00
dependabot[bot]
4ddf327185 Bump symfony/http-kernel from 5.4.6 to 5.4.20
Bumps [symfony/http-kernel](https://github.com/symfony/http-kernel) from 5.4.6 to 5.4.20.
- [Release notes](https://github.com/symfony/http-kernel/releases)
- [Changelog](https://github.com/symfony/http-kernel/blob/6.2/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-kernel/compare/v5.4.6...v5.4.20)

---
updated-dependencies:
- dependency-name: symfony/http-kernel
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-02 08:07:50 +01:00
nathan
1fa9d91d59 Et2Description: Fix links were not clickable
activateLinks property got typoed to activeLinks in the template conversion
2023-02-01 14:31:17 -07:00
nathan
346a720d27 Et2LAvatar: Update statustext (tooltip) with name based on lname & fname 2023-02-01 14:06:54 -07:00
nathan
86376bdc0c Et2DateRange: Add relative -> absolute conversion as needed when setting value 2023-02-01 13:04:25 -07:00
nathan
15f986cf1a Get Et2Date & Et2DateTime tests passing again 2023-02-01 09:46:00 -07:00
nathan
933d13c8b2 Mail: Only add attachment action to open in Collabora for files that should be opened in Collabora 2023-02-01 08:57:31 -07:00
Hadi Nategh
e397e43c1b Fix PGP back/restore dialog 2023-02-01 14:15:56 +01:00
ralf
dba604ca59 removed now unnecessary and not used lavatar parameter, as it caused multiple requests to same picture because auf different urls 2023-02-01 08:43:21 +01:00
nathan
cce1088486 Mail: Add attachment action to open in Collabora 2023-01-31 15:03:59 -07:00
StefanU
49c9939e67
Update selectcols.svg
File optimisation, 28px => 32px
2023-01-31 20:33:55 +01:00
nathan
ab56ad1171 Et2Select: Handle paste of CSV into selects with allowFreeEntries
Special handling for Et2SelectEmail to handle email addresses that may have a name or comma
2023-01-31 09:48:27 -07:00
Hadi Nategh
5cb375fabf Get font-size of server-side lavatar similar to client-side 2023-01-31 16:24:51 +01:00
nathan
0b15ede568 Et2Date: Fire change event when a new date is selected
Fixes nm date filters not filtering
2023-01-30 16:10:49 -07:00
nathan
328c8224cb Set 'selectUnit="true"' for all date-durations in nm rows for consistant display 2023-01-30 15:43:32 -07:00
nathan
e575c40ff3 Some missed cases where client-side lavatar was not used 2023-01-30 15:26:09 -07:00
ralf
f120607e4b fixing the fix ;) 2023-01-30 17:36:21 +01:00
ralf
a8c8c94144 fix class EGroupware\Api\Api\Link not found 2023-01-30 17:08:47 +01:00
ralf
1a37abd472 fix timer is shown even without timesheet permissions 2023-01-30 16:59:48 +01:00
ralf
9ad73f1ea1 fix LDAP/AD clients to query jpegphoto so its existence get used by the regular code to (not) generate avatar-url 2023-01-30 16:50:20 +01:00
Hadi Nategh
cc885c343f Add textsize preference into required to reload list 2023-01-30 16:07:21 +01:00
Hadi Nategh
403a836ee4 Adjust the icons size base on textsize preference 2023-01-30 15:59:34 +01:00
ralf
0eff86f61a fix SQL-backends of accounts and contacts to return either avatar-url or initials 2023-01-30 15:48:53 +01:00
ralf
7416b158b2 update ADOdb to 5.20.8 to fix PostgreSQL not working with PHP 8.1 (affected_rows() returns false) 2023-01-30 12:09:15 +01:00
ralf
f2eae9041a * Mail/OAuth: fix not working auth with custom Office365 domains outside mail wizard
Mailserver was not available, so OAuth was not detected, when trying to get a new access-token for a refresh-token
2023-01-30 10:19:56 +01:00
StefanU
c3ec0e88cb
Update videoconference.svg
File optimisation, => 32px, =>#62686a
2023-01-29 17:45:46 +01:00
StefanU
b98289f78c
Update favorites.svg
File optimisation
2023-01-29 16:45:41 +01:00
StefanU
4684eee507
Update fav_filter.svg
File optimisation
2023-01-29 16:44:18 +01:00
StefanU
55eeb3c8fd
Update login_logo.svg 2023-01-29 16:25:31 +01:00
StefanU
7fc7f67e35
Update mime128_directory.svg
Change grey to #8a8a8a
2023-01-29 10:57:15 +01:00
nathan
d94c10b09f Mail: Prefer client-side lavatar over server-side in mail list 2023-01-27 15:10:25 -07:00
nathan
f503743956 Use client-side Et2LAvatar instead of image for Et2SelectEmail options & tags
Should now be only avatar.php image when provided
2023-01-27 13:27:31 -07:00
ralf
a5739072e9 updating developer install after experiences with Hadi's Ubuntu 22.04 update 2023-01-27 20:58:03 +01:00
nathan
5bab72b8be Use client-side Et2LAvatar for user accounts whenever possible, only using avatar.php when there's a real image.
TODO:
- Need to find a cheap way to determine if there's a real image in Api/src/Accounts.php & class.mail_compose.inc.php

- Still some work for me to do in Et2SelectEmail
2023-01-27 10:34:40 -07:00
StefanU
0fc4c88aca
Update logo.svg
Optimisation file (paths, size)
2023-01-27 15:07:18 +01:00
nathan
9cebab3c2f Fix readonly selects could display 'undefined' with no value and no emptyLabel 2023-01-26 12:58:37 -07:00
nathan
bf6cca24fd Et2Favorites: Make star icon bigger 2023-01-26 09:22:45 -07:00
nathan
df315e8f96 Make sure placeholder list can scroll 2023-01-26 08:53:43 -07:00
ralf
55054024b6 fix PHP Deprecated errors visible in egroupware-docker-install.log 2023-01-26 10:42:33 +01:00
nathan
0fe421658e Make phone icon color 2023-01-25 15:16:08 -07:00
nathan
e4e0610a41 Et2LinkAppSelect: Use configured app link icon instead of always using navbar 2023-01-25 15:14:14 -07:00
nathan
62bc77a4d2 Make sure egw.lang() doesn't error trying to translate option label
This un-reverts 4e5f68f97c
2023-01-25 14:24:08 -07:00
StefanU
df2b52a03b
Create goup.svg 2023-01-25 22:22:25 +01:00
StefanU
fc693cdac2
Update goup.svg
Fix colour to #62686a
2023-01-25 22:21:25 +01:00
StefanU
f637da2775
Update cake.svg
Add missing size
2023-01-25 22:18:30 +01:00
StefanU
1a098eefa9
Update MailFolderTemplates.svg
Add missing size
2023-01-25 22:16:15 +01:00
StefanU
616e35a58d
Update MailFolderSent.svg
Add missing size
2023-01-25 22:15:01 +01:00
StefanU
1eb135dea4
Update kfm_home.svg
Add missing size
2023-01-25 22:14:00 +01:00
StefanU
ab7ee4621b
Update MailFolderHam.svg
Add missing size
2023-01-25 22:03:02 +01:00
StefanU
345feb76e7
Update MailFolderJunk.svg
Add missing size
2023-01-25 22:02:08 +01:00
StefanU
8de8cbc082
Update arrow_down.svg
Fix colour to #62686a
2023-01-25 21:59:01 +01:00
StefanU
8c6ced73b7
Update home.svg
Fix colour to #62686a
2023-01-25 21:57:33 +01:00
StefanU
7fd22b33a3
Update new.svg
Fix empty first line
2023-01-25 21:54:26 +01:00
nathan
4b8b454566 Make sure values are strings, otherwise they might not match comparison
Should fix tracker list "Created by" filter losing display when you select a search result
2023-01-25 13:43:35 -07:00
nathan
71f4a93d56 Calendar: Fix drag and drop to move event in Firefox 2023-01-25 11:26:25 -07:00
ralf
ad05cd493e fix error exporting LDAP accounts to SQL: array_key_exits parameter #2 must be of type array, bool given 2023-01-25 19:12:51 +01:00
ralf
a924bf7dbc add missing closing tag 2023-01-25 18:49:00 +01:00
Hadi Nategh
bc17e9dc68 Add click to compose handler for addresses displayed in mail preview 2023-01-25 16:23:11 +01:00
Hadi Nategh
77d6a7e648 Fix some styling issues and set message's date to display date and time 2023-01-25 14:59:09 +01:00
ralf
e56055f12d defer calls to mail_refreshFolderStatus for 2s, to accumulate updates of multiple rows e.g. deleting multiple emails 2023-01-25 14:55:20 +01:00
ralf
38e9d9984f Changelog for 23.1.20230125 2023-01-25 14:21:51 +01:00
ralf
b0f5cfbcdb improve OAuth mail authentication by not opening wizard multiple time
also avoid authentication loop, if there is an error
2023-01-25 13:38:40 +01:00
ralf
09ceed3ba2 rename/move Api\avatar::lavatar() to Api\Contacts\Lavatar::generate() to be in line with our CS 2023-01-25 12:27:26 +01:00
ralf
6ef78c9591 Revert "Fix missing translation on read-only select"
Causes:
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'toLowerCase')
    at Object.lang (egw_lang.js:73:16)
    at Et2SelectAccountReadonly._readonlyRender (Et2SelectReadonly.ts:189:59)
    at Et2SelectAccountReadonly.render (Et2SelectReadonly.ts:168:16)
    at Et2SelectAccountReadonly.update (lit-element.js:6:304)
    at Et2SelectAccountReadonly.performUpdate (reactive-element.js:6:4849)
    at Et2SelectAccountReadonly.scheduleUpdate (reactive-element.js:6:4496)
    at Et2SelectAccountReadonly._$Ej (reactive-element.js:6:4404)

This reverts commit 4e5f68f97c.
2023-01-25 09:46:22 +01:00
nathan
72252f0fba New folder icon from Stefan for directory mime 2023-01-24 16:29:20 -07:00
nathan
0d8157b508 Calendar: Make all integration switch icons the same gray when disabled 2023-01-24 16:18:29 -07:00
nathan
c7020c79d8 Calendar: Allow calendar integration to specify a caption, not just use app name 2023-01-24 16:11:49 -07:00
nathan
4e5f68f97c Fix missing translation on read-only select 2023-01-24 14:44:28 -07:00
dependabot[bot]
fcb522853e Bump ua-parser-js from 0.7.28 to 0.7.33
Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.28 to 0.7.33.
- [Release notes](https://github.com/faisalman/ua-parser-js/releases)
- [Changelog](https://github.com/faisalman/ua-parser-js/blob/master/changelog.md)
- [Commits](https://github.com/faisalman/ua-parser-js/compare/0.7.28...0.7.33)

---
updated-dependencies:
- dependency-name: ua-parser-js
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 22:01:30 +01:00
nathan
9bf0149645 Fix selectbox positioning issue
Tracker owner would open down instead of up with fontsize = 14.  Updating to shoelace 2.0.0-beta.81 fixes it.  Going farther introduces some other issues that I don't want to get into right now
2023-01-24 13:58:38 -07:00
nathan
66a72bfac8 Filemanager: Let path in nm header have as much space as it wants 2023-01-24 10:44:20 -07:00
nathan
49d3d84f3a Completely hide disabled nm filters, as before 2023-01-24 10:25:01 -07:00
nathan
56fcfbf992 No 'All categories' empty label for mail 2023-01-24 09:26:46 -07:00
nathan
2332c2a806 Et2Tag: Make edit textbox larger 2023-01-24 08:27:52 -07:00
ralf
9fb153bbcc fix historylog in calendar not shown
caused by multi-attributes use a vbox, who's constructor unset the readonly attribute
--> setting it again hard, as all widgets in historylog are r/o and without readonly select-boxes have no detached DOM interface
2023-01-24 14:31:16 +01:00
nathan
7518278948 Add edit button to freeEntry selectbox tags 2023-01-23 17:34:37 -07:00
ralf
dc3e8c5b7d fix OAuth to also be triggered by name of imap-server, eg. for custom domains 2023-01-23 21:11:33 +01:00
Hadi Nategh
2b472398ad Make nm row counter more flexible 2023-01-23 12:59:59 +01:00
Hadi Nategh
153d1e4b12 Remove not used tab in common preferences 2023-01-23 12:33:27 +01:00
ralf
e30501b736 fix partner link 2023-01-23 09:14:42 +01:00
StefanU
b507a9091d
Update MailFolderClosed.svg
with the right one for mail tree folder open/close
2023-01-22 16:38:38 +01:00
StefanU
be49b8664a
Update upload.svg
Icon to full 32px size, aligned to the grid, file optimisation
2023-01-20 20:37:37 +01:00
StefanU
14d343b98d
Update setup.svg
Icon to full 32px size, file optimisation
2023-01-20 20:35:24 +01:00
StefanU
bb3cc7329b
Update dots.svg
Icon to full 32px size, aligned to the grid, file optimisation
2023-01-20 20:33:25 +01:00
StefanU
de41c5b0f8
Update bullet.svg
Icon to full 32px size, file optimisation
2023-01-20 20:32:26 +01:00
StefanU
ee3988567b
Update apps.svg
Icon to full 32px size, aligned to the grid, file optimisation
2023-01-20 20:31:12 +01:00
StefanU
b07d92f35b
Update add.svg
Icon to full 32px size, file optimisation
2023-01-20 20:29:05 +01:00
nathan
864be8b1fe Avoid breaking error if calendar js is loaded twice 2023-01-20 09:41:13 -07:00
nathan
0e3725f99e Calendar: fix double birthday events 2023-01-20 08:55:40 -07:00
Hadi Nategh
8d1863a078 Fix login contact icon 2023-01-20 12:37:18 +01:00
ralf
03625583f7 Change egw_notificationpopup.notify_message to longtext to avoid error: Data too long for column 2023-01-19 17:09:28 -06:00
nathan
48008f4e96 Add ability to choose target calendar & addressbook when importing ical/vcard 2023-01-19 15:48:35 -07:00
nathan
802a312839 Stop nextmatch from making a popup dirty if a filter changes 2023-01-19 14:40:56 -07:00
ralf
5fe8f2642a fix problem with Safari 16.2 of NOT displaying dialog contents eg. of timer dialog 2023-01-19 15:23:16 -06:00
nathan
47243d1706 Importexport: Fix clicking icon from list did not open correct url 2023-01-19 13:36:49 -07:00
nathan
09b313571c Missed the header ID in 17f82ce 2023-01-19 11:54:47 -07:00
nathan
17f82cec40 Add kanban column to list 2023-01-19 11:51:32 -07:00
nathan
86917eff65 Fix file settings error "'0' is NOT allowed ('not found')!" for gid.
It did not have a '0' => 'root' option, which is what we were using for the value.
2023-01-19 09:21:03 -07:00
nathan
80fbd3cc26 Fix placeholder widget
IDs on et2-boxes caused unwanted namespace, Et2Listbox couldn't find its ID before fully initializing
2023-01-19 08:44:52 -07:00
ralf
7eaebce7fd fix preprocessor to NOT add id attribute to vbox used in mobile template instead of tabbox 2023-01-19 08:26:06 -06:00
Hadi Nategh
d756268dbe Fix edit acl dialog fails on reload 2023-01-19 14:05:21 +01:00
Hadi Nategh
1d43684418 Convert tabs to details for timesheet's mobile templates 2023-01-19 12:20:17 +01:00
Hadi Nategh
9e1b21e5e3 Cleanup "id=tabs" from all converted tabbox to et2-vbox which caused wrong namespace 2023-01-19 10:56:41 +01:00
ralf
ab6e2ec3b7 using a single build step again to get smaller images 2023-01-18 15:40:14 -06:00
ralf
f4f77e1642 Fix install instructions to also add /status to Nginx/Apache2 reverse proxy on the host 2023-01-18 14:37:46 -06:00
nathan
3f5cb42c96 Fix vfsUpload didn't open mail files 2023-01-18 13:07:04 -07:00
nathan
ac8fe33f19 Infolog: Fix missing "tab" data in mobile view 2023-01-18 11:31:56 -07:00
Hadi Nategh
f0fbdf9760 Remove extra added icons and fix globe icon in addressbook not being in svg format 2023-01-18 16:44:21 +01:00
ralf
4298006e31 Fix comment on how to enable status page and fix PHP error caused by the comment :( 2023-01-18 08:39:56 -06:00
Hadi Nategh
03123ee729 Fix wrong label set for dark mode switch 2023-01-18 12:15:26 +01:00
ralf
0f5fedfc5d * Admin: added PHP FPM status page and documented how to enabled it 2023-01-17 16:45:26 -06:00
nathan
3164cb6dd0 Make sure we get the right popup if multiple nextmatches use the same popup ID 2023-01-17 15:35:28 -07:00
nathan
6774f2e9d4 Remove another class that could be hiding popup contents 2023-01-17 14:30:28 -07:00
nathan
2ab7079f13 Et2LinkString: Can now fetch its own link data, given application & entryId
Includes some fixes for only_app filter
2023-01-17 14:03:28 -07:00
nathan
38b507dcd1 Et2Date: Stop required validation showing on initial load even with a value 2023-01-17 10:52:02 -07:00
nathan
a5929388fc Et2VfsMime: Add value getter
Fixes tracker comments with more than one image would only show the last
2023-01-17 08:37:24 -07:00
nathan
0640ddd984 Fix missing "today" in calendar toolbar 2023-01-16 17:29:55 -07:00
nathan
d87e0c7f38 Fix missing default button images 2023-01-16 16:15:57 -07:00
ralf
c49f7849bb * Mail: OAuth authentication for Microsoft (Office365, outlook.com, ...) and GMail 2023-01-16 16:56:51 -06:00
nathan
8a43d88ffe Calendar: Add ability to choose target calendar when importing 2023-01-16 15:31:59 -07:00
ralf
8540977872 fix build for current 8.1 and new 8.2 builds 2023-01-16 16:19:34 -06:00
nathan
4a3fcec432 Resources: Fix missing merge documents
It was missing the directory preference
2023-01-16 09:44:34 -07:00
nathan
19c02fc91c Et2InputWidget: Do not try to validate readonly widgets, user can't change the value to fix it 2023-01-16 08:55:31 -07:00
Hadi Nategh
10c646a367 Make sure the sort and shadowRoot are there before using them, avoiding execution error, since getValue it could be called in earlier stage eg: a699117b1b 2023-01-16 12:55:45 +01:00
ralf
5bc7ed497c fix OAuth with Microsoft mail servers
Seems MS needs it's v2.0 provider URL (https://login.microsoftonline.com/common/v2.0'), to work, the default without v2.0 fails to login via IMAP
2023-01-13 20:28:42 -06:00
StefanU
0fdc85accc
Add configure.svg 2023-01-13 20:31:12 +01:00
StefanU
ea3306d608
add new.svg 2023-01-13 20:19:01 +01:00
StefanU
bd3bf71305
Update group.svg
Add missing size
2023-01-13 20:01:50 +01:00
StefanU
ac605595ee
Update accounts.svg
Add missing size
2023-01-13 20:01:15 +01:00
StefanU
6b2140207d
Update single.svg
Add missing size
2023-01-13 20:00:34 +01:00
StefanU
f858304f66
Add single.svg 2023-01-13 19:54:03 +01:00
StefanU
c4e0368982
Add new svg icons
Add new svg icons:
accounts.svg
group.svg
personal.svg
2023-01-13 19:47:56 +01:00
nathan
374ba994a4 Customfield validation fixes
- customfield did not pass required setting on to widgets
- link entry did not support required
2023-01-13 11:28:02 -07:00
nathan
1a969c4cfc Et2Date: Fix validation message display
Required validation was incorrectly displayed / not hidden
2023-01-13 08:40:21 -07:00
StefanU
a1215610c3
Add 2 dialog svg
Add dialog svg:
dialog_error.svg
dialog_warning.svg
2023-01-13 16:21:08 +01:00
StefanU
f736251068
Update darkmode_on.svg
New design, => 32px, toggle perfect with darkmode_on.svg
2023-01-13 16:01:36 +01:00
StefanU
f81892542b
Update darkmode_off.svg
The right one...
2023-01-13 15:59:20 +01:00
StefanU
cd4c2a0610
Update darkmode_off.svg
New design, => 32px, toggle perfect with darkmode_.svg
2023-01-13 15:57:14 +01:00
ralf
ca2f19696e Revert "remove a couple of steps/layers, now that they work"
This reverts commit ef86af0740.
2023-01-12 21:57:45 -06:00
ralf
ef86af0740 remove a couple of steps/layers, now that they work 2023-01-12 21:19:42 -06:00
ralf
d9ddba7b9e Changelog for 23.1.20230114 2023-01-12 20:32:15 -06:00
ralf
4a70021f41 WIP Oauth authentication for Office365:
- add all Microsoft email domains
- using login.microsoftonline.com/common as OAuth provider URL
- use mail-server name to detect custom mail domains
--> auth with IMAP agains outlook.office365.com still NOT working, probably needs some kind of further verification / being an Microsoft partner
2023-01-12 19:33:31 -06:00
ralf
5d385455d2 temporary fix for TinyMCE and tabs not loading in KnowledgeBase under 23.1/master
Problem is that JavaScript in inline script tags is executed before the egw_ready promise is created
fixing it by using window.setTimeout( , 200) for now
2023-01-12 18:04:12 -06:00
ralf
22ac1a21f1 Revert "fix some egw_LAB not defined errors by using top.egw_ready instead"
This reverts commit 38d44ee3e2.
2023-01-12 18:04:12 -06:00
nathan
4e875c049f Calendar: Category ACL fixes
- Stop using iframe
- Columns get more width, spreading across the whole page
- Remove "both" option
2023-01-12 15:20:13 -07:00
nathan
8195adfa85 Keep et2-link app attribute if set 2023-01-12 10:01:00 -07:00
nathan
461e83df28 Remove all validation messages on focus, not just manual / server-side messages.
Server side ones are still re-added on blur, client-side messages are re-run.
2023-01-12 09:17:29 -07:00
ralf
4e1b31bb37 also legacy-load old phpgwapi JS code like tabs using in KB 2023-01-12 08:43:17 -06:00
nathan
4f7b54c6bb Fix some more select attribute / legacy options issues 2023-01-11 15:49:56 -07:00
nathan
bc4423498a Fix option groups only kept the first group 2023-01-11 14:20:31 -07:00
nathan
9aea7be231 Avoid wiping out keys of numeric preference select options with array_merge()
Fixed by changing them from key => value to Et2Select's preferred [key=>string, value=>string] format first.

This fixes wrong select option values for many preferences
2023-01-11 14:18:01 -07:00
nathan
f332b7bba5 Fully remove "tabs" attribute for tabbox, it overwrites the internal tabs collection.
Even checking for it sets 'tabs' attribute to null.  Use "extraTabs" instead.
2023-01-11 13:21:01 -07:00
nathan
18764aab64 Fix select-number could not get options server-side 2023-01-11 13:00:50 -07:00
nathan
a699117b1b Fix hiding server-side messages for selectboxes
Messages were not properly hidden & displayed, and setting handleFocus & handleBlur accidentally overwrote them in Shoelace widgets
2023-01-11 11:11:02 -07:00
Hadi Nategh
1229b1ad65 Fix broken add button in calendar 2023-01-11 11:56:18 +01:00
ralf
df6bfdc54b reverting to ubuntu:20.04 based images as current 22.04 images require Docker features not available on old Docker versions used by current Ubuntu and Debian :(
--> update and cron working again and also installing of further packages (like vim) in the container
2023-01-10 18:58:24 -06:00
ralf
2e200baa08 WIP 23.1 container builds 2023-01-10 15:44:27 -06:00
ralf
9ef1e44744 WIP 23.1 container builds 2023-01-10 15:43:56 -06:00
nathan
115ca40737 Addressbook: Allow to choose the target addressbook when importing 2023-01-10 14:34:35 -07:00
ralf
14dcad566b fix wrong major version in changelog 2023-01-10 13:09:55 -06:00
ralf
757eeccf5c fix changelog of first release of a new version gets the old major release 2023-01-10 13:09:10 -06:00
ralf
88c19b472c fix some warnings 2023-01-10 12:51:41 -06:00
ralf
7df0f69621 Changelog for 23.1.20230110 2023-01-10 12:31:27 -06:00
ralf
0074f4a70e use 23.1 2023-01-10 12:07:11 -06:00
Hadi Nategh
d64b3924bc Switch dark/light mode icons 2023-01-10 14:14:23 +01:00
Hadi Nategh
23fd27eb6c Fix couple of issues for darkmode theme 2023-01-10 11:44:16 +01:00
nathan
1163f9e31d Hide server-side validation messages while widget has focus. If the value did not change, put messages back 2023-01-09 16:02:59 -07:00
nathan
ffb26cb2f1 Change tree icon size from 20px to 16px
Can be overridden in CSS now
2023-01-09 14:36:44 -07:00
nathan
56f84f2fdd Fix swapped open / closed icons in tree 2023-01-09 13:19:40 -07:00
nathan
9722716d1a Fix category select fails server-side validation, probably related to 8ec106f22b 2023-01-09 11:46:54 -07:00
nathan
5a093813ac Fix toolbar button icon alignment
Icons were shifted to the left due to padding & label
2023-01-09 10:52:48 -07:00
Hadi Nategh
61f36f4051 Fix user's avatar gets filtered while in darkmode 2023-01-09 15:17:35 +01:00
StefanU
a29d5f6d8b
Create folderClosed.svg
Add svg to switchable open/close ones
based on filemanager icon
2023-01-07 10:45:20 +01:00
StefanU
ee4c46954c
Update folderOpen.svg
Change svg to switchable open/close ones
based on filmanager icon
2023-01-07 10:40:02 +01:00
nathan
ba608fddc7 Et2Split: Fix incorrect / frozen sizing of split in Firefox
If user dragged very quickly & released the mouse button before the resize was complete, we would wind up with incorrect size
2023-01-06 11:07:50 -07:00
nathan
f0c3d819b8 Use array_merge instead of + to avoid losing Europe
Fixes European timezones were missing in preferences
2023-01-06 09:21:45 -07:00
nathan
323115b041 Replace font size accidentally removed in 40278c8827 2023-01-06 09:11:54 -07:00
nathan
39ab880188 Don't die if CustomFilterHeader is for a component that isn't a webcomponent, just error & use a select 2023-01-05 16:36:03 -07:00
nathan
c403edc49a Fix incorrect suggested password length 2023-01-05 15:35:04 -07:00
dependabot[bot]
ef02c01714 Bump json5 from 2.2.0 to 2.2.3
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 15:55:46 -06:00
ralf
6f7f3ddec0 update egroupware/webdav to new version 0.4.0, thanks to Nathan porting it to current Guzzle stuff :) 2023-01-05 15:52:11 -06:00
nathan
10ad1ae7c4 Also keep working for previous tag names 2023-01-05 14:21:38 -07:00
nathan
f8a8a290ce Tests for switch widget 2023-01-05 14:06:54 -07:00
nathan
3ecd9c222b Fix switch widget did not validate value server-side 2023-01-05 14:06:39 -07:00
nathan
233b2f472c Fix duration in nextmatch row did not show correct value 2023-01-05 10:24:49 -07:00
nathan
578f2fc4b1 Fix customfields did not save 2023-01-05 10:04:29 -07:00
nathan
9a190321c1 Et2Button: Fix class mixup that broke buttons 2023-01-05 09:00:02 -07:00
nathan
ca5d80264c Less errors in date tests, still not passing 2023-01-05 08:38:56 -07:00
nathan
37dd18894f Get tests for Colorpicker passing again 2023-01-04 15:33:48 -07:00
nathan
acd44a1e0e Get tests for Button passing again 2023-01-04 15:03:43 -07:00
nathan
40278c8827 Get our WebComponent tests running again
Made a lot of "failed to construct htmlelement" errors go away, avoid a bunch of egwIsMobile is undefined errors
2023-01-04 12:01:09 -07:00
ralf
8ec106f22b converting .xet files to new webcomponents-format 2023-01-04 11:28:10 -06:00
ralf
5d97522729 disable legacy-options conversation for nm-customfilter as it breaks infolog and addressbook index templates 2023-01-04 11:23:23 -06:00
nathan
ac1d8b6be8 Fix TypeError: Cannot read properties of null (reading 'replace')
Fixes unable to edit tracker in mobile view.
2023-01-02 16:20:50 -07:00
nathan
82ae5aa939 Timesheet: Avoid error if selectcols is not an array
in_array(): Argument #2 ($haystack) must be of type array, null given
2023-01-02 08:31:10 -07:00
ralf
fefe82162e WIP converting filesystem templates to new syntax
- basically commiting what the preprocessor currently generates for the client-side
- server-side need to understand new syntax (et2-prefix and camelCase attribute-names) too
- preprocessor can now be called as cli to either echo-out the new template or replace in-place
- for now only modified edit-templates of addressbook, infolog and timesheet
- setting a new (not yet existing) DTD
2023-01-01 11:49:31 -06:00
ralf
9dff888436 adding search attribute to timezone preferences 2023-01-01 09:38:51 -06:00
StefanU
bbb7ab263a
Add new icon folder_closed.svg
Base is new app icon file manager, grey
Collapsed folder, matching folder_open.svg, for toggling open/closed
2022-12-29 11:17:27 +01:00
StefanU
15465abdd5
New icon folder_open.svg
Base is new app icon file manager, grey
2022-12-29 11:14:26 +01:00
StefanU
0e2668ff8d
Add folder_closed_big.svg
Full size to 32px, grey
Basis is new app icon file manager
2022-12-29 11:12:32 +01:00
StefanU
160feda1a9
Update button_createdir.svg
New design, size adjusted, colour corrected, file optimisation
2022-12-29 11:03:40 +01:00
StefanU
90bb58122d
Update preferences icon
Size adjusted: 28px => 32px, file optimised
2022-12-27 21:33:04 +01:00
StefanU
ab0038a92d
Update admin app icon
Size adjusted: 28px => 32px, file optimised
2022-12-27 21:30:57 +01:00
StefanU
d5ce45f697
Update importexport app icon
Size adjusted: 28px => 32px, file optimised
2022-12-27 21:28:28 +01:00
StefanU
9362f7b2e4
Update notifications app icon
Size adjusted: 28px => 32px, file optimised
2022-12-27 21:25:25 +01:00
ralf
6895d00160 WIP OAuth for mail, fixed not getting access-token from Microsoft
thought it's still not working: "Mailserver denied authentication" with the access-token we get :(
Must be something wired and MS specific, as it's working now with GMail
2022-12-26 17:25:47 -06:00
ralf
71aabaea73 WIP OAuth for mail:
fixing some typos to test with Office365
2022-12-25 15:19:14 -06:00
ralf
14b6a9a5ab WIP OAuth authentication for mail: working now with Gmail 2022-12-25 14:49:37 -06:00
ralf
f85aa4dcbb Adding GMail to supported OAuth providers, thought the app is not (yet) approved by Google 2022-12-24 15:39:11 -06:00
ralf
21f8a936a0 WIP OAuth/OpenIDConnect authentication for mail / Office365 mail service
Using now https://proxy.egroupware.org/oauth as redirect-url, redirecting to specific EGroupware instance specified in state query parameter
2022-12-24 12:12:57 -06:00
ralf
dc832ce12b WIP OAuth/OpenIDConnect authentication for mail / Office365 mail services
Mail wizzard triggers on a *.onmicrosoft.com domain and then automatically uses Office365 servers with OpenIDConnect authentication
- access- and refresh-token get acquired with https://outlook.office.com/IMAP.AccessAsUser.All scope
ToDo:
- find out why Microsoft denies access with the returned access-token
- store access-token for its lifetime in the cache
- store refresh-token instead of password, to get a new access-token, if it's expired
--> add OAuth logic to mail client (not just wizard)
2022-12-23 14:33:19 -06:00
nathan
a1da1a6fa6 Calendar: Fix user listed in participants twice when creating an event from an email 2022-12-23 10:45:53 -07:00
nathan
7c8e0b12b2 Resources: Fix missing toolbar buttons 2022-12-23 09:45:21 -07:00
nathan
0a42dc376a Move validation-feedback down a little so we can see the field contents 2022-12-23 09:16:45 -07:00
nathan
b8c3a97138 Et2Tabs: fix keyboard navigation 2022-12-22 14:51:48 -07:00
nathan
b0bedc8467 Accessability improvements
- Toolbar buttons get label, but it is visually hidden
- Add label to calendar Add button
2022-12-22 14:14:45 -07:00
StefanU
c46ffe7f58
Add internet.svg 2022-12-22 10:44:43 +01:00
nathan
c617dfe080 Fix placeholder sub-groups were not showing 2022-12-21 12:28:59 -07:00
nathan
6c389419b0 *Resources: Add merge functionality 2022-12-21 12:23:38 -07:00
nathan
207e581590 Fix typo 2022-12-20 15:49:10 -07:00
nathan
3e54b25a91 Fix for option group validation 2022-12-20 15:45:50 -07:00
nathan
2748376f6f Make sure default option is first 2022-12-20 15:44:48 -07:00
nathan
098fe647dc Start on converting date range to webcomponent 2022-12-20 14:05:20 -07:00
ralf
87bf5af8e4 fix PHP 8.x Error: array_keys(): Argument #1 ($array) must be of type array, null given 2022-12-20 09:10:10 -06:00
nathan
37ff4a00a6 Fix .et2-label-fixed widgets got validation error covering the label 2022-12-19 14:09:21 -07:00
nathan
10e54a8f9d Fix VFS select dialog opens under tinymce image select dialog 2022-12-19 13:43:35 -07:00
nathan
0ad1934afc Show "EPL Only" for quota in edit account & group dialogs 2022-12-19 13:26:22 -07:00
StefanU
271ae92e69
Update list_tile.svg
Raster corrected, file optimisation
2022-12-19 21:19:02 +01:00
StefanU
75d5ce4f08
Update list_row.svg
Raster corrected, file optimisation
2022-12-19 21:16:11 +01:00
nathan
28678c48f4 remove debug 2022-12-19 13:08:21 -07:00
nathan
7d94692dfd Fix some missing account names
- egw().accounts() were not cleaned
- accounts not in normal cache did not call requestUpdate() properly
2022-12-19 12:01:29 -07:00
StefanU
c4feb6c36f
needs-action.svg missing size added 2022-12-17 13:44:07 +01:00
StefanU
e9688b256d
personal.svg missing size added 2022-12-17 13:37:16 +01:00
StefanU
536b03f5a1
new.svg missing size added 2022-12-17 13:34:59 +01:00
StefanU
e895ee586e
internet.svg missing size added 2022-12-17 13:33:08 +01:00
StefanU
9fbe486e0c
help.svg missing size added 2022-12-17 13:31:32 +01:00
StefanU
82231b043f
group.svg missing size added 2022-12-17 13:30:04 +01:00
StefanU
15d014194e
reload.svg missing size added 2022-12-17 11:59:11 +01:00
StefanU
6f93fca34c
single.svg Missing size added 2022-12-17 11:57:52 +01:00
StefanU
2e56e0fbf1
users.svg missing size added 2022-12-17 11:56:37 +01:00
StefanU
9c7e0447df
dialog_help.svg missing size added 2022-12-17 11:55:53 +01:00
StefanU
18a2f2df45
accounts.svg missing size added 2022-12-17 11:53:54 +01:00
nathan
b1ea91b22c Let VFS select dialog open over tinymce insert image dialog
Second try with my z-index...
2022-12-16 14:09:02 -07:00
nathan
ac97af35cb Lets try creating options directly when we get them, rather than going through update first
Timing was not getting menu items created soon enough, resulting in IDs instead of names in the options
2022-12-16 11:48:12 -07:00
nathan
bf97118963 Show quota as disabled for non-stylite 2022-12-16 10:46:07 -07:00
nathan
9ce0520e5c Allow actually disabled inputs 2022-12-16 10:40:58 -07:00
nathan
272b63d32e Explicitly define autofocus as reflected so it works in Firefox too 2022-12-15 13:18:16 -07:00
nathan
d95e273e70 Let VFS select dialog open over tinymce insert image dialog 2022-12-15 13:00:43 -07:00
nathan
a9fe524123 Et2Select: Fix value got wrecked by fix_bad_value() when there are option groups 2022-12-15 11:31:56 -07:00
nathan
e756962f86 Change egw.accounts() to always return a Promise 2022-12-15 10:22:19 -07:00
Hadi Nategh
fa1cfe3664 Add svg version for new icon 2022-12-15 15:57:21 +01:00
nathan
2ed0479380 Add nm action dialogs into application tab, not document body 2022-12-14 16:10:50 -07:00
nathan
8f7783e97c Format timezone option groups 2022-12-14 14:34:46 -07:00
nathan
3b5f64a4c3 Implement option groups 2022-12-14 14:32:20 -07:00
nathan
a832c12dbc Fix DnD to link file to entry 2022-12-14 11:56:27 -07:00
nathan
54498a005c Et2Dialog: Second try waiting on template load
Now creating the template promise immediately on setting template name and using a resolver function to resolve after template is loaded
2022-12-14 10:39:15 -07:00
nathan
d1e134677a Admin: Reduce sub-header font size 2022-12-14 08:56:01 -07:00
nathan
17ab16dfe4 Mail: give more horizontal space for to/cc email address labels 2022-12-14 08:44:11 -07:00
Ralf Becker
fccf18e832
Added GET request to existing resource with all available fields 2022-12-14 07:58:43 -06:00
StefanU
bcdf39f88f
Update ressources app icon
fix previous commit
28px => 32px, file optimisations
2022-12-13 22:01:10 +01:00
StefanU
2a489180cc
Update bookmark app icon
28px => 32px, file optimisations
2022-12-13 21:59:13 +01:00
ralf
773706d821 set required PHP version for master/23.1 to 8.0, as 7.4 no longer works/is supported 2022-12-13 07:29:03 -06:00
nathan
6c4c42bcde Translation of "on vacation" from Birgit 2022-12-12 15:09:57 -07:00
nathan
af5155661d Admin: Fix Site configuration sub-header style 2022-12-12 14:55:39 -07:00
nathan
27573f6d83 Et2Dialog: Try waiting until after update is complete to avoid an error loading the template in Safari 2022-12-12 14:43:47 -07:00
nathan
65a7abeca2 A little more space for details dropdown 2022-12-12 14:26:54 -07:00
nathan
7b28ec9aed Mail: More changes to print view
- Remove app icon
- Move sender lavatar so to/cc are farther left
2022-12-12 14:09:17 -07:00
nathan
5acc8c55c8 Et2SelectEmail: Fix fullEmail did not show full email 2022-12-12 14:07:08 -07:00
nathan
9da38628a0 Admin: Make sure account is in select_options to avoid having to load it 2022-12-12 13:13:18 -07:00
nathan
34172704dc Fix SelectAccount didn't always get values into options correctly 2022-12-12 13:10:53 -07:00
nathan
9acda4b390 Link fixes
- Fix file that was linked then removed before first save was still linked on save
- Use events for better decoupling between Et2LinkTo & Et2LinkList
2022-12-12 10:32:08 -07:00
nathan
0f37d2f437 Fix sometimes missing accounts for SelectAccount widgets 2022-12-09 13:16:44 -07:00
nathan
6177ca0536 SearchMixin: Filter selected remote correctly for single selects too 2022-12-09 13:14:57 -07:00
nathan
513b1dd4f8 Fix missing class error 2022-12-09 13:13:53 -07:00
nathan
5f44c51d89 Et2Checkbox: Fix internal positioning was causing entire page to overflow 2022-12-09 10:55:19 -07:00
nathan
086d4c0620 Give icon a width in group edit Applications tab
Fixes OpenID icon was original size (300px)
2022-12-09 10:02:30 -07:00
nathan
8ed40c8c0e Et2SelectThumbnail: Fix current value(s) did not display 2022-12-09 09:03:43 -07:00
Hadi Nategh
4c299b382a Make x-large textsize slightly bigger 2022-12-09 12:31:10 +01:00
StefanU
c5d3d02ce4
Add missing icon size 2022-12-09 10:11:25 +01:00
ralf
139ab59461 fix PHP 8.x about math between float and string 2022-12-09 08:33:09 +01:00
dependabot[bot]
96681860f5 Bump qs from 6.10.1 to 6.11.0
Bumps [qs](https://github.com/ljharb/qs) from 6.10.1 to 6.11.0.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.10.1...v6.11.0)

---
updated-dependencies:
- dependency-name: qs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-09 08:00:06 +01:00
dependabot[bot]
3d50da4b5d Bump tinymce/tinymce from 5.10.1 to 5.10.7
Bumps [tinymce/tinymce](https://github.com/tinymce/tinymce-dist) from 5.10.1 to 5.10.7.
- [Release notes](https://github.com/tinymce/tinymce-dist/releases)
- [Changelog](https://github.com/tinymce/tinymce-dist/blob/5.10.7/CHANGELOG.md)
- [Commits](https://github.com/tinymce/tinymce-dist/compare/5.10.1...5.10.7)

---
updated-dependencies:
- dependency-name: tinymce/tinymce
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-09 07:55:03 +01:00
nathan
dd39305443 Fix VFS upload couldn't show newly uploaded files 2022-12-08 15:01:25 -07:00
nathan
4b4d6fe184 Stop scrolling new tag into view, it causes calendar sidemenu to get stuck 2022-12-08 14:47:02 -07:00
nathan
ce64ddf9e0 Fix doubled tags if widget gets select_options after a remote option is selected 2022-12-08 14:28:05 -07:00
nathan
05a4fc2758 Fix missing / doubled calendar owners in sidemenu 2022-12-08 14:26:53 -07:00
ralf
26d4082cda fix not working buttons in timer dialog 2022-12-08 20:13:32 +01:00
nathan
691928a54c Fix attachments not displayed in tracker comments 2022-12-08 11:39:00 -07:00
nathan
be5125509e SearchMixin: Fix selecting multiple remote values only showed the last 2022-12-08 10:24:49 -07:00
nathan
409b2a4349 Mail: Force "to" as first focus field
(other inputs are higher, but not always visible)
2022-12-08 10:23:30 -07:00
Hadi Nategh
95387d5a4c Adopt some more elements for textsize 2022-12-08 13:38:35 +01:00
Hadi Nategh
bd988386c9 Add more textsize as options and change the default to a bigger size 2022-12-08 13:17:10 +01:00
ralf
06cb34974a fix error "Can not parse attributes ''" in smallpart.course
thought preprocessor can currently not kope with nested details tags!
2022-12-08 12:27:43 +01:00
nathan
d7f8f7d997 Fix editing link remark did not load current value 2022-12-07 15:51:50 -07:00
nathan
c26732a913 Some more fixes for historylog widget
- Fix options in proper format could be interpreted as sub-widgets
- Fix numeric values
2022-12-07 15:04:22 -07:00
nathan
12151139ff Et2Dialog: Better non-modal handling, now with less internal conflicts with SlDialog 2022-12-07 13:45:38 -07:00
nathan
32248e67ee Et2Dialog: Better non-modal styling 2022-12-07 11:30:14 -07:00
nathan
eb9ccfc655 Fix PHP 8.1 Error: Undefined constant EGroupware\Api\Vfs\StreamWrapper::vfs 2022-12-07 09:55:21 -07:00
nathan
4b6357dd90 Et2Dialog nonmodal WIP
Non-modal dialogs don't cover header with app tabs.
TODO: The dialog needs to be added to the app content div instead of the body
2022-12-07 09:13:46 -07:00
nathan
8764d51701 Force / respect password requirements set in site configuration when suggesting passwords 2022-12-06 14:32:14 -07:00
nathan
75115d96a9 Try to fix contact sharing filemanager access 2022-12-06 13:02:48 -07:00
nathan
fb40aedf89 SearchMixin: Use parent set select_otions, no need to duplicate 2022-12-06 11:59:51 -07:00
nathan
daa999d586 Et2LinkList: Fix context menu actions 2022-12-06 10:55:20 -07:00
nathan
25f64d0064 Fix error on some bad options
Would sometimes stop historylog from loading
2022-12-06 10:05:47 -07:00
nathan
57993741cb Et2Dialog: Don't close dialog for buttons that are not in the footer 2022-12-06 09:44:56 -07:00
nathan
3971abc54b Fix some select options were not being cleaned
Integer values provided from server were not being converted to strings, breaking value handling & matching
2022-12-06 09:13:04 -07:00
ralf
dd9a0dd788 fix wrong http status code set, when file not found or any other error 2022-12-06 10:45:16 +01:00
ralf
f325e15108 change config template, to enforce only entering numbers, as the label suggested before 2022-12-06 10:10:51 +01:00
ralf
de9a37e87f fix PHP 8.1 TypeError: Unsupported operand types: string - float
Also change config template, to enforce only entering numbers, as the label suggested before
2022-12-06 10:09:18 +01:00
ralf
9077583170 partial revert of PHP 8.1 installation fix, as it breaks VFS WebDAV access 2022-12-06 09:25:10 +01:00
nathan
2188791540 Et2LinkList: Fix context menu "Save As" gave error
Cannot read properties of undefined (reading 'dispatchEvent')
2022-12-05 17:05:10 -07:00
nathan
c9186240c8 Mail: Clicking "on vacation" opens vacation dialog 2022-12-05 16:43:48 -07:00
nathan
09ecd29a91 Mail: Fix mail vacation notice widget did not hide 2022-12-05 16:27:39 -07:00
nathan
fa2375b1a6 SearchMixin: Fix selected remote options got lost if adding a freeEntry 2022-12-05 13:56:31 -07:00
nathan
e875b9ddf4 Use same background color for primary buttons 2022-12-05 10:54:05 -07:00
nathan
b2b3caaa64 Fix searchbox triggered change an extra time after pressing Enter key 2022-12-05 10:31:15 -07:00
nathan
2b02d4e9ab Fix listbox sometimes lost value 2022-12-05 10:11:17 -07:00
nathan
7ba5730251 Change properties to camelCase 2022-12-05 09:42:55 -07:00
nathan
4399e276eb Remove debug 2022-12-05 09:39:08 -07:00
nathan
cc6c3871a5 Mail: Make sure all addresses & attachments are visible when printing 2022-12-05 09:38:53 -07:00
ralf
45e2057567 another error stalling installation 2022-12-05 16:10:54 +01:00
ralf
f61ce9eae8 fix installation under PHP 8.1 2022-12-05 15:55:30 +01:00
ralf
ad261f57c9 PHP > 7.4 exclude deprecated apps from old packages (not installed via git), always exclude sitemgr 2022-12-04 08:09:43 +01:00
nathan
b0d322c98a Calendar: Edit dialog sizing
- Make #id on one line
- better sizing for description tab (leave it to browser)
2022-12-02 14:18:02 -07:00
nathan
3a1c415ce4 Styling for buttons on dialog 2022-12-02 11:23:09 -07:00
nathan
2f81a55607 Et2Searchbox: Consume enter keypress in search to avoid triggering anything else. Just start the search. 2022-12-02 09:54:35 -07:00
nathan
8717033009 Fix JS errors in placeholder dialog 2022-12-02 09:39:25 -07:00
nathan
72626b0dc2 Et2Dialog: Fix width property 2022-12-02 09:37:22 -07:00
ralf
70d571f8bf converting plain-text mail to html mistakes angle brackets for tags 2022-12-02 15:24:32 +01:00
ralf
e72e628c81 give focus back to previous active element instead of focusing on first input 2022-12-02 14:42:36 +01:00
ralf
a70e470ffb Changelog for 21.1.20221202 2022-12-02 10:51:44 +01:00
Ralf Becker
c28a8648d4 missed pending change from our translation server 2022-12-02 10:02:27 +01:00
Ralf Becker
d999bae1bc pending changes from our translation server 2022-12-02 09:59:30 +01:00
nathan
6eebabe472 SearchMixin: Fix tag edit
Double clicking just cleared the input, edit was immediately stopped due to search blur
2022-12-01 14:54:34 -07:00
nathan
404a29b985 SearchMixin: If user enters a valid free entry then changes focus without pressing Tab or Enter key, accept the free entry 2022-12-01 14:15:40 -07:00
nathan
0ecfdd8bdf Fix disabled buttons had different styling than normal buttons
- Fix toolbars got multiple lines
2022-12-01 13:41:54 -07:00
nathan
c81ff8b444 Fix disabled buttons had different styling than normal buttons 2022-12-01 13:03:39 -07:00
nathan
dc5e0b528e Dialog work
Style changes
2022-12-01 13:02:40 -07:00
nathan
e2fc779207 Dialog work
Get tracker "Multiple changes" working
2022-12-01 11:38:02 -07:00
nathan
634e00f948 Dialog work
Get calendar quick add working again
2022-12-01 11:20:58 -07:00
nathan
83ab58329e Dialog work
- Add destroy() to remove dialog

Fixes admin ACL dialog
2022-12-01 10:24:17 -07:00
ralf
d6d77546a5 also allow column names with prefix when deleting 2022-12-01 13:11:53 +01:00
nathan
390fbf3608 Dialog work
- Switch from LionDialog to SlDialog as base
- First input should get focus
- First button gets set as primary (if no default set), Enter key will act as a click on it
- Escape key closes dialog
2022-11-30 15:59:25 -07:00
StefanU
350dd31b2b
Update InfoLog icon
Add missing size
2022-11-30 22:14:15 +01:00
StefanU
80db918265
Update calendar icon
Add missing size
2022-11-30 22:13:04 +01:00
StefanU
4b7e51aa37
Update addressbook icon
Add missing size
2022-11-30 22:11:20 +01:00
StefanU
2ee5f172b5
Update filemanager icon
Add missing size
2022-11-30 22:09:49 +01:00
StefanU
72992b3296
Update timesheet icon
Add missing size
2022-11-30 22:05:08 +01:00
StefanU
0364dfa0d1
Update mail icon
Size adjusted 28px => 32px, without border, file optimations
2022-11-30 22:00:01 +01:00
nathan
d32dae4355 Calendar: Fix changing event date via edit dialog does not remove original event from grid, showing the event twice (original & moved) 2022-11-28 14:08:34 -07:00
nathan
2ed964d4d7 Mail: Increase height of import message popup 2022-11-28 10:51:11 -07:00
nathan
861d830ca9 Timesheet: Redistribute space in Admin -> Timesheet -> Edit status template 2022-11-28 10:22:28 -07:00
nathan
a3f37c075e Fix category name indenting in category list 2022-11-28 09:20:06 -07:00
nathan
0c0e91f750 Move message out from corner a little 2022-11-28 08:57:55 -07:00
ralf
5556e22927 fix array_merge(): Argument #2 must be of type array, int given 2022-11-28 14:04:48 +01:00
StefanU
154b0da56d
Update timesheet icon
Size adjusted 28px => 32px, without border, file optimisation
2022-11-27 15:54:43 +01:00
StefanU
bae2590fd5
Update filemanager icon
Rounded corners, size adjusted 28px => 32px, file optimisation
2022-11-27 15:40:11 +01:00
StefanU
38dc32c364
Update addressbook icon
Size adjusted 30px => 32px, without border, lines on grid
2022-11-27 15:17:35 +01:00
nathan
7407f4a077 Filemanager: Give some margin to recalculate & oversize 2022-11-25 11:54:41 -07:00
nathan
faff3834bc Use same font size for help text as for labels 2022-11-25 11:53:23 -07:00
nathan
ea845b8c4d Et2Textbox: Translate helpText 2022-11-25 11:38:36 -07:00
nathan
a79538ffbc Et2LinkList: Don't show context menu or delete for readonly lists 2022-11-25 11:19:13 -07:00
nathan
6238302901 Let new boxes repeat as well as legacy boxes 2022-11-25 11:18:44 -07:00
nathan
2e61c3a23e Et2Box: Implement elign=center 2022-11-25 11:18:12 -07:00
nathan
b129a46e3c Calendar: If an event went from recurring to non-recurring, recurring events could still be displayed 2022-11-25 09:24:04 -07:00
nathan
38a82962b0 Filemanager: Fix anonymous share stopped showing subdirectories on refresh
Broken by 2811304833
2022-11-25 08:46:54 -07:00
nathan
be82f32b68 When nm is on a tab, need to resize the nm when the tab is shown to get proper sizing 2022-11-24 14:20:45 -07:00
nathan
dd26311295 Filemanager: Don't hide new document or new folder buttons in share UI 2022-11-24 11:53:04 -07:00
nathan
9f26cbf1e5 Use method to set data 2022-11-24 11:50:36 -07:00
nathan
e85e6695bc Quota translations from Birgit 2022-11-24 11:23:07 -07:00
nathan
917271c349 Show list of directories that are over quota when you click "Recalculate" 2022-11-24 11:02:54 -07:00
ralf
b2e0e176a5 fix PHP 8.x TypeError: array_filter(): Argument #1 ($array) must be of type array, null given 2022-11-24 10:06:14 +01:00
nathan
24118a2a9c Resources: Additional changes to get submit on changing category to work 2022-11-23 15:24:08 -07:00
nathan
5c3d35aa05 Fix missing SVG icons for some images
They weren't missing, just 0x0px
2022-11-23 14:35:36 -07:00
nathan
2811304833 Filemanager: Remove uneeded buttons from anonymous share nextmatch 2022-11-23 14:13:20 -07:00
nathan
3402ed645a Quota changes
- nicer error message
- add quota for group directories with separate default
- support for more decimal places in human file size
- add some help_text to default quota
2022-11-23 13:53:47 -07:00
nathan
b31ce0922d Implement data widget property
Fixes missing priority colors in Kanban
2022-11-23 10:30:22 -07:00
nathan
bfc9588739 Fix URLS with ! in query were not properly activated, leaving out part of the URL 2022-11-23 09:45:38 -07:00
nathan
526a0a0907 Filemanager: Adjust shareUI header padding 2022-11-22 15:08:52 -07:00
nathan
6d113ca407 Resources: Hide customfields tab for categories have no customfields 2022-11-22 15:01:46 -07:00
nathan
543fa93c9b calendar: avoid error during CSV import if start or end dates were not able to be parsed 2022-11-21 11:27:11 -07:00
nathan
580ff870e6 importexport: Avoid error or infinite loop for really badly parsed select values 2022-11-21 11:24:04 -07:00
nathan
8e0192fb7c Importexport: fix allowed_users_change()
Not allowed to choose "all" or "just me" in combination with actual users, but this was broken by webcomponent upgrade
2022-11-21 09:24:28 -07:00
nathan
67e643be8d Addressbook: fix "array_key_exists(): Argument #2 ($array) must be of type array, null given" error editing import vcard definition 2022-11-21 09:19:23 -07:00
nathan
6d41c9c30b Et2SelectAccount: Avoid error if option does not have an image 2022-11-21 09:16:38 -07:00
nathan
1d540aa74c Fix additional options to a static list were not properly added if they were in correct format with value & label 2022-11-21 09:14:27 -07:00
ralf
a823563281 * Setup: add dry-run option to account import from AD or LDAP 2022-11-21 10:10:27 +01:00
nathan
972acb7aa9 Addressbook: Fix error due to missing template on mobile 2022-11-18 14:27:43 -07:00
nathan
fd8f688e8b Avoid error if input node isn't created yet 2022-11-18 13:59:20 -07:00
nathan
9b00c9b170 Calendar: fix broken mobile template 2022-11-18 13:58:19 -07:00
nathan
5735392ef4 Calendar: Fix public checkbox defaulted to checked when it was not supposed to 2022-11-18 13:08:48 -07:00
nathan
8434549ace Add quota for home directories
Set default quota amount in Admin -> Applications -> Filemanager -> Quota
2022-11-18 12:43:27 -07:00
ralf
6857e858de fix typo 2022-11-18 20:14:17 +01:00
nathan
448a575886 Fix file sizes with decimal like "5.0GB" were parsed as 0GB 2022-11-18 11:47:02 -07:00
nathan
d38681279a Fix et2-number did not validate 2022-11-18 11:42:45 -07:00
nathan
cfec2bf52d Addressbook: fix hook processing to handle results from multiple hooks
Copied from Etemplate.php
2022-11-18 11:41:15 -07:00
ralf
b3f1312f01 modify <details title="..." --> <et2-details summary="..." 2022-11-18 13:49:19 +01:00
StefanU
3371c71b65
Update navbar.svg
File size optimised
2022-11-17 20:51:32 +01:00
StefanU
9f0b201357
Update navbar.svg
Resized: 28px => 32px, file size optimised
2022-11-17 20:49:40 +01:00
ralf
f09ae2b6d1 remove 2nd @ in error-message 2022-11-17 20:37:40 +01:00
nathan
57be82de46 Collabora's extra share needs to use restricted fstab from original share, not full fstab 2022-11-17 09:29:42 -07:00
nathan
19f4e13c7a Filemanager: Fix "share link copied into clipboard" message was not translated 2022-11-16 14:16:14 -07:00
nathan
e57e81f5ea * Resources: Customfields can now be per category 2022-11-16 14:10:34 -07:00
nathan
6787c1ad98 Avoid error if customfield does not have private 2022-11-16 14:05:37 -07:00
Hadi Nategh
fc76b1574f Change some more png icons 2022-11-16 11:56:35 +01:00
nathan
681d51cb14 Fix ExposeMixin "this.activeIndicator.removeClass is not a function"
If a file is allowed by MIME_REGEX, it needs to be included in list or counts will be off, causing error when closing
2022-11-15 14:27:03 -07:00
nathan
c15440e905 Mail: Fix import message gave error "Destination folder does not exist" 2022-11-15 13:15:17 -07:00
nathan
083f4baaa7 Share UI: Add padding to logo & darker background color to header row 2022-11-15 11:07:52 -07:00
ralf
278644fbee adding phpMyAdmin to developer install 2022-11-15 14:34:38 +01:00
ralf
83eff39e00 fix sed to find version 2022-11-15 09:29:58 +01:00
nathan
6a5d189489 Better fix for Et2SelectState not getting country set 2022-11-14 14:41:08 -07:00
nathan
58f2267fc8 Addressbook: Pre-set the region's country 2022-11-14 14:15:41 -07:00
nathan
ad3a2472e8 Admin: Remove refresh, push will handle it 2022-11-14 13:17:04 -07:00
nathan
ed2eb30b32 Fix widgets don't appear disabled when they are 2022-11-14 11:22:56 -07:00
nathan
f6687dd310 Filemanager: Anonymous UI style improvements
- add refresh button
- add some background colour & logo
2022-11-14 11:22:33 -07:00
ralf
2e12d92d51 cache authentication for 1 hour, to not have to ask the backend again (eg. for LDAP or AD) 2022-11-11 21:00:49 +01:00
nathan
ae961f208d Fix a few js errors in expose 2022-11-11 12:53:33 -07:00
nathan
e0617394fb Make weekend toggle better responsive to content size preference 2022-11-11 11:32:06 -07:00
nathan
bd584e468c Check if websocket is connected as part of pushAvailable() check 2022-11-11 08:46:34 -07:00
ralf
9188b04256 fix PHP 8.x Fatal changing languages 2022-11-11 13:28:41 +01:00
Hadi Nategh
5320e05182 Fix flickering mail tree labels on hover when using bigger font 2022-11-11 12:31:47 +01:00
Hadi Nategh
b93b4b7ef6 Apply svg icon 2022-11-11 12:21:37 +01:00
nathan
c6e7f60114 Wrap video conference links 2022-11-10 11:12:48 -07:00
ralf
d768cc7d94 return which AD server we (tried) to contact in error-messages 2022-11-10 11:27:08 +01:00
nathan
47a48b386f Et2Select: Fix change event got fired too early
Don't need to block the event if we didn't actually change the value.  This fixes changing to common preferences
2022-11-09 15:34:28 -07:00
nathan
cbccbba108 Mail: Adjust column alignment in horiziontal view 2022-11-09 15:02:56 -07:00
nathan
a6bcc3228d Mail: Adjust positioning / margins of preview in horizontal mode 2022-11-09 10:44:13 -07:00
nathan
8491306d86 Preferences: Change help text background color 2022-11-09 10:21:33 -07:00
nathan
32bd2a1084 SearchMixin: Make sure dropdown doesn't cover bottom border 2022-11-09 09:30:53 -07:00
nathan
98dc356d75 Admin -> Customfields: Reduce spacing between appname & "type" 2022-11-09 08:30:27 -07:00
ralf
cbb2b4f5cd get adLDAPUsers::info() to return false again instead of throwing under PHP 8.x 2022-11-09 12:33:41 +01:00
ralf
5f6ab54c83 fix undefined response error caused by empty response body 2022-11-09 11:03:54 +01:00
ralf
8150bc946b npm audit fix: minimatch 3.0.4 --> 3.0.8 2022-11-09 10:14:06 +01:00
nathan
eebbc97150 Swap customfield list "i" icon 2022-11-08 13:08:47 -07:00
nathan
5e9b0d145f Calendar: Move integration fields in side menu above "Insert in document" select 2022-11-08 12:54:07 -07:00
ralf
aba1c94b60 wrap details widgets in a vbox, so it's a single widget like the tabbox, incl. tabbox's attributes 2022-11-08 20:07:45 +01:00
nathan
0ef6f625b3 Filemanager: use pushAvailable() to decide if we need a full refresh after deleting a file 2022-11-08 11:54:22 -07:00
nathan
4dffd24feb Et2Select: Fix change event got fired too early
Second attempt.  If fix_bad_value() made a change, that was triggering change event before Et2App.et2_ready() had been called.  Now making sure that event does not get fired.
2022-11-08 11:04:03 -07:00
Hadi Nategh
67b22373f5 Make message box bigger 2022-11-08 12:54:23 +01:00
ralf
8b0e5867cb fix JS error on displaying validation message, probably when tab is not yet loaded 2022-11-08 12:51:41 +01:00
ralf
1d86f1712a reset working-time title, when times are changed 2022-11-08 09:09:37 +01:00
nathan
104680c477 Fix hidden nm with no initial rows were requesting data too early 2022-11-07 14:51:42 -07:00
nathan
f2c763dc4d Filemanager: use pushAvailable() to decide if we need a full refresh 2022-11-07 13:39:22 -07:00
ralf
5302675aac new method egw.pushAvailable() : bool to check availability of push-server on client-side 2022-11-07 21:31:23 +01:00
nathan
1da0af4d2c Revert "Filemanager: remove refresh after adding, we use push now"
This reverts commit dcd9430d22.
2022-11-07 13:21:32 -07:00
nathan
cc1ef360ec Filemanager: default sort is now modified time descending 2022-11-07 13:20:29 -07:00
nathan
dcd9430d22 Filemanager: remove refresh after adding, we use push now 2022-11-07 13:00:06 -07:00
ralf
6a51e56961 allow to paginate through CalDAV/CardDAV autoindex start-page with accounts 2022-11-07 20:52:41 +01:00
nathan
be16565cc4 Filemanager can now update sub-grids 2022-11-07 11:51:30 -07:00
nathan
dc8188b8ce Infolog: When saving site configuration, return to user list 2022-11-07 10:46:29 -07:00
nathan
78333613fa Et2Select: Fix change event got fired too early
If fix_bad_value() made a change, that was triggering change event before Et2App.et2_ready() had been called
2022-11-07 09:57:00 -07:00
Hadi Nategh
8b83ed85d3 Fix egw messages in popup are wrongly positioned 2022-11-07 16:44:00 +01:00
nathan
ed50291ad4 Calendar: Get some more space for 'Non blocking' and created user fields 2022-11-07 08:17:26 -07:00
Hadi Nategh
c2fd70cb11 Fix filtered filemanager icon used in contextmenu gets a wrong color 2022-11-07 16:00:30 +01:00
Hadi Nategh
c85d29c0d0 Fix Today action button styling in the header toolbar 2022-11-07 10:52:16 +01:00
Hadi Nategh
def19ebe48 Move calendar date indicator to the right side of header 2022-11-07 10:47:55 +01:00
Hadi Nategh
eccf4bb1da Remove border and extra padding from hr used in sideboxes 2022-11-07 10:39:34 +01:00
ralf
4f1daddd57 forgot to remove shortcut for debugging before commiting 2022-11-05 09:17:38 +01:00
ralf
5b1fe16e9e New method Api\Accounts::isHuge() is used to NOT query members and (not yet working) disable the column in group-list 2022-11-05 09:12:43 +01:00
nathan
fe1caad9be Filemanager: query changes to support refreshing a single path 2022-11-04 16:28:01 -06:00
nathan
3dae26df7c Infolog: Fix cconfig submit buttons 2022-11-04 13:41:26 -06:00
nathan
67e1323583 Infolog: Fix config validation about missing options, make cancel button not validate 2022-11-04 13:26:50 -06:00
ralf
37c0091e3d read memberships in a single SQL query with a JOIN 2022-11-04 17:49:29 +01:00
nathan
d35eacb8a2 Fix gap between label & control, better solution for date-duration 2022-11-04 09:41:45 -06:00
ralf
6a93275d93 only consider last linked entry, for timers created on an app entry
as rest of code wont deal with multiple ones
2022-11-04 15:57:38 +01:00
nathan
ee52509fca Et2Checkbox: Change vertical align, it wasn't lining up nicely in calendar edit 2022-11-04 08:42:57 -06:00
ralf
91bff934b2 replace tabs in mobile template with details widgets 2022-11-04 15:38:22 +01:00
Hadi Nategh
e2d278e497 Make sure the et2 object is there before using it 2022-11-04 11:43:52 +01:00
nathan
b96061b27a Hide links with no value in nm for better vertical spacing
For example, timesheet & infolog have link above subject, this removes the space for it when the entry has no link
2022-11-03 14:21:17 -06:00
nathan
cbe8e841c6 Timesheet: Fix details/no details filter did not change description display 2022-11-03 14:18:10 -06:00
nathan
8f51b00da3 No need to merge into signature if there is no signature 2022-11-03 10:54:47 -06:00
ralf
693cf1f116 run same logic for timer timesheets started on an other app's entry, as used for timesheets manually booked on them 2022-11-03 13:51:45 +01:00
nathan
b1538e6dd2 Filemanager: Make access rights a little wider 2022-11-02 14:06:02 -06:00
nathan
74f7f4dcb5 Et2SelectReadonly: Allow additional supplied options, but fix bug where they overwrote account options 2022-11-02 14:03:12 -06:00
nathan
87aba966c2 Et2LinkString: Fix links not shown immediately after 'Apply', only after reload 2022-11-02 11:59:10 -06:00
nathan
be69936a03 Fix vertical misalignment in right-aligned columns
Plus some missed css changes
2022-11-02 11:23:08 -06:00
nathan
b9f585d9b0 Fix some site configuration bugs
- some config templates had vertical size set too small resulting in unwanted scrollbars
- fix load loop in tracker site config due to missing tracker select option
2022-11-02 10:50:23 -06:00
Hadi Nategh
ad34029932 Change egw message box position 2022-11-02 16:09:22 +01:00
Hadi Nategh
0c4c60dd42 Add two more svg icons 2022-11-02 15:42:50 +01:00
nathan
127ccdedbb Et2Dialog: Fix incorrect button adoption search 2022-11-02 08:36:44 -06:00
ralf
0ec8636a7b do NOT submit dialog, if it has no etemplate_exec_id, it only gives and error on server-side 2022-11-02 13:51:17 +01:00
Hadi Nategh
179e12ac68 Make sure value_id is there before using it (caused a side effect on calendar entry can not be saved anymore) 2022-11-02 12:27:49 +01:00
ralf
9cd64b1e5b fix PHP 8.x Fatal: Cannot access offset of type string on string 2022-11-02 10:49:04 +01:00
Hadi Nategh
1808255b6b Replace some more png icons with their svg versions 2022-11-02 10:34:23 +01:00
nathan
953166b161 Fix problems with links from mail
- unsaved links were not properly displayed
- unsaved links could not be removed
- calendar preserved original links, so even if you removed one it came back
2022-11-01 15:38:58 -06:00
nathan
8601f274ef Importexport: Make wizard bigger 2022-11-01 11:54:37 -06:00
ralf
75c07334df * MySQL 8.0: fix DB backup recorded Int columns as TinyInt and stalls restore
* MySQL 8.0: timestamp columns had no default and did not update automatic
2022-11-01 18:45:33 +01:00
ralf
a767bdef1e quiten error / dont stall, if 22.1 update is not yet run 2022-11-01 18:21:59 +01:00
nathan
6764ef979b Et2Date: Use regular inputs for mobile 2022-11-01 10:34:52 -06:00
nathan
9b2f7ef9ab Filemanager: Stop changing into a newly created folder 2022-11-01 09:10:14 -06:00
nathan
209483409c Filemanager: Push updates from share UI into regular filemanager UI 2022-11-01 09:07:55 -06:00
nathan
833dcd4b26 Filemanager: Fixed some push notifications wouldn't update
Id was missing
2022-10-31 14:37:46 -06:00
nathan
12926c89e3 Et2DateDuration: Force label not to wrap 2022-10-31 13:58:26 -06:00
nathan
edb81d2446 Filemanager: Make share link dialog textbox wider 2022-10-31 08:42:33 -06:00
nathan
524d51f539 Filemanager: When share link dialog is opened, copy the link to the clipboard immediately 2022-10-31 08:37:40 -06:00
Hadi Nategh
bce6b1a39b Replace some tree widget's png icons with their svg versions 2022-10-31 15:00:26 +01:00
Hadi Nategh
50ec36cd18 Replace some more png icons with their svg versions 2022-10-31 11:31:17 +01:00
Hadi Nategh
bc40cf437f Fix some icons 2022-10-31 11:17:06 +01:00
Hadi Nategh
3463363997 Fix some sidebar menus are not working for apps (eg. smallpart app) 2022-10-31 10:03:15 +01:00
nathan
e5a88c35f5 Fix date duration label always showed above the input, never to the left 2022-10-28 11:48:42 -06:00
nathan
85cc58b32b Admin: App refresh now refreshes admin nextmatches again 2022-10-28 10:55:29 -06:00
nathan
2659a8ab63 Filemanager: Add copy to clipboard button to share link dialog 2022-10-28 10:05:03 -06:00
Hadi Nategh
bde2b7f86d Fix upload button in filemanager mobile view 2022-10-28 14:04:57 +02:00
nathan
166168b5bf Admin: Push for categories 2022-10-27 11:13:41 -06:00
ralf
ce5e30dc4c remove all private IP addresses from X-Forwarded-For header, not just 10.0.0.0/8 2022-10-27 14:54:59 +02:00
nathan
64fd769586 Import/Export: Fix some style issues
- missing import/export icons in defininition list
- preview looks weird in import & export dialogs
- [object] instead of index in mapping list
2022-10-26 09:57:34 -06:00
Hadi Nategh
005aaa0ea2 Fix js error in smime add certificate dialog 2022-10-26 13:19:15 +02:00
Hadi Nategh
b6d05bb9e1 Replace dialog info's png icon with svg version 2022-10-26 12:35:01 +02:00
ralf
38e7a977d1 when time get overwritten/updated, we need to set last time, to avoid error that time can not be set before last action 2022-10-25 20:16:23 +02:00
nathan
4c1e2a268e Timesheet: Adjust vertical position of single-element headers to better line up with headers that include totals 2022-10-25 11:57:58 -06:00
nathan
f6883c33fd Add gap inside link widgets between each component 2022-10-25 11:38:48 -06:00
nathan
2eb51000f0 Infolog: Re-allow wrapping in first column, add more space for sub/parent indicator, switch hasParent indicator to SVG 2022-10-25 11:24:28 -06:00
nathan
8df89dcfb1 Mail: Switch mail icon in preview with email icon, move it down a little 2022-10-25 10:53:27 -06:00
nathan
2b3febff59 Move filemanager push entirely into filemanager 2022-10-25 09:49:30 -06:00
ralf
352e05d8e8 catch exception in _try_lang to NOT generate a Fatal error by throwing another exception in the handler 2022-10-25 14:31:28 +02:00
nathan
b998382cd2 Addressbook: Use infolog icon for CRM of organisation action 2022-10-24 13:59:52 -06:00
nathan
cc4db511a7 Calendar: Move 7/5 weekend icons up 2022-10-24 13:49:10 -06:00
nathan
14f372c74e Calendar: Change event tooltip to use notification icon instead of alarm icon 2022-10-24 13:27:46 -06:00
nathan
176cba3afb Addressbook: Fix double-click preference opened organisation view with a different title than when it was opened with context menu 2022-10-24 11:28:28 -06:00
nathan
727db2aab5 Fix context menu actions that use nm_action gave "Uncaught nm_action is not a function!" 2022-10-24 10:20:56 -06:00
nathan
24fb01d190 Filemanager: Add push support 2022-10-24 09:58:11 -06:00
ralf
e95943f812 fix 2 PHP 8.x Fatal stalling upgrade of old instances/apps 2022-10-24 11:20:22 +02:00
ralf
9640bc3e55 do NOT try to access notifications, if not installed or enabled for the user
gives a SQL error, if not installed
2022-10-24 09:11:04 +02:00
nathan
71c1282a8b Admin: Do not send groups again just for readonly 'Primary group' column 2022-10-21 11:45:44 -06:00
nathan
0596cb501b Calendar: Show "# more" if there were results not returned 2022-10-21 11:31:56 -06:00
nathan
3df4438b60 Calendar: Take grants into account for calendar user search 2022-10-21 10:53:58 -06:00
Hadi Nategh
d1841f9985 Fix hideonreadonly sometimes not being applied (eg. hbox) 2022-10-21 13:29:16 +02:00
ralf
03580169c1 fix not shown timer preferences 2022-10-21 12:49:33 +02:00
Hadi Nategh
1ecc7b729a make sure mouse up is handled when the mouse position has crossed the min/max points 2022-10-21 12:00:08 +02:00
Hadi Nategh
30fc8c3dd3 Fix broken close button on tab's headers 2022-10-21 10:34:45 +02:00
nathan
e2b833de67 Calendar: Allow any value for minutes, lets full day events end at 23:59 2022-10-20 15:30:32 -06:00
nathan
19bbea7aca Et2Date: Add up/down buttons on hover to adjust value without opening popup
Buttons adjust by day or minuteIncrement.  Minute values are now always rounded to multiples of minuteIncrement, unless freeMinuteEntries=true (or minuteIncrement=1)
2022-10-20 15:27:24 -06:00
ralf
34b2bc135c fix preprocessor to also change <textbox rows="X" to <et2-textarea rows="X" 2022-10-20 08:21:28 +02:00
nathan
3c4b709e52 Admin: Update 'User groups' in sidemenu tree when a group change is pushed 2022-10-19 11:14:49 -06:00
nathan
1aa87138a2 Addressbook: Correct fix for CRM breaking contact list actions
etemplate2.clear() was not removing getting the correct app instance removed
2022-10-19 10:54:11 -06:00
nathan
7b0a6911d3 Addressbook: Don't show "(Infolog)" in CRM tab when viewing a single contact 2022-10-19 09:36:42 -06:00
nathan
bfcb67982d Addressbook: Fix CRM view overwrote app.et2 reference, breaking contact list actions 2022-10-19 09:28:48 -06:00
nathan
297c70d4fe Mail: Fix creating tracker ticket out of email fails due to error
Exception "Et2Dialog._create_parent is not a function"
2022-10-19 08:39:13 -06:00
Hadi Nategh
5c5a483414 Fix active tab header sometimes flickers on hover 2022-10-19 15:40:48 +02:00
nathan
ab32872988 Infolog: Avoid JS error 'Uncaught TypeError: Cannot read properties of undefined (reading 'getWidgetById')' caused by sending invalid pl_id
Fixed by not sending invalid pl_id which triggered fix_bad_value()
2022-10-18 16:52:27 -06:00
nathan
48eb9c1968 Fix duplicate option warning from customfield select filter 2022-10-18 16:06:28 -06:00
nathan
323e45caf7 Don't show warning when main window is lost 2022-10-18 13:45:06 -06:00
nathan
19bae0054a Calendar: Fix notification messages were no longer multi-line textboxes 2022-10-18 13:30:22 -06:00
nathan
d1d3e2a024 Calendar: Avoid error in link_title if participants is not an array 2022-10-18 11:49:36 -06:00
nathan
c985338a11 Admin push update fixes
- Implement for categories
- Fix some account update duplication
2022-10-18 11:29:22 -06:00
Hadi Nategh
d1ff0a8b4f Make support for some old widgets 2022-10-18 17:44:31 +02:00
nathan
5f3570768d Et2Date: Add "Ok" button to close calendar popup 2022-10-18 09:08:53 -06:00
ralf
05b316f7ff move egw_get_file_editor_prefered_mimes() to egw.file_editor_prefered_mimes() as everything in old jsapi.js is deprecated and should be removed
.
2022-10-18 08:30:15 +02:00
nathan
9d2a319821 If widget has onclick attribute, add et2_clickable class 2022-10-17 15:18:13 -06:00
nathan
6034702a7c Et2Link: Fix editable files were downloaded instead of opened in Collabora 2022-10-17 14:47:34 -06:00
nathan
f2ebd369ef Admin: Fix user list was 100px tall when switching Global Categories -> User accounts 2022-10-17 10:52:28 -06:00
nathan
bd62279f55 Et2Select: Cancel search timer on blur and menu close
If we don't, results might come back after we leave/close and re-open
2022-10-17 09:56:58 -06:00
ralf
b19d75874a Fix PHP 8.x Fatal: array_merge(): Argument #2 must be of type array, null given 2022-10-17 15:58:59 +02:00
ralf
e66d03ec8d WIP timesheet timer: use date-duration with display-format="h:m" and data-format="s" instead of date-timeonly to avoid timezone problems 2022-10-17 15:21:10 +02:00
Hadi Nategh
68acd6d370 Prompt user a message while resizing splitter regarding iframes 2022-10-17 14:06:12 +02:00
ralf
8e3cedbf08 fix error deleting links to files (they have negative ids!) 2022-10-17 12:11:59 +02:00
ralf
2834af46bc WIP timesheet timers: fix overwriting time via clicking on time displayed under the button 2022-10-17 11:39:09 +02:00
nathan
0004aa5bb4 SearchMixin: Avoid errors if searchInputNode is not created 2022-10-14 15:12:08 -06:00
nathan
9ea00bb95f Give webComponents inside nextmatch a chance to finish before we calculate sizes 2022-10-14 14:50:57 -06:00
ralf
c2fea85c2a WIP timesheet timers: show time under each button and allow overwriting it via a click on the time
ToDo:
- Stop on paused timer does not behave write, overwriting stop needs testing, as timesheet need to be updated too, because it's already stored
- not checks or min/max values and config on overwrite time
2022-10-14 21:59:15 +02:00
nathan
c52ac8fbdc Et2DateTime: Limit minutes to multiples of 5 2022-10-14 11:18:17 -06:00
nathan
b0fc18ad93 Calendar: update sidemenu calendar to match 2cb826e26 2022-10-14 10:07:19 -06:00
nathan
dcc6d1eb83 Et2Date: change "Today" button label to "Now" for widgets with time (Et2DateTime, Et2Timeonly, etc.) 2022-10-14 10:05:59 -06:00
nathan
2cb826e268 Et2Date: changes directly in the input field will now update popup & the value when blurred 2022-10-14 09:32:59 -06:00
Hadi Nategh
60190338d5 Do not continue on checking mail filemode if there's no attachments data 2022-10-14 15:19:05 +02:00
ralf
bc9e252da9 WIP timesheet timers: dont ask again to start working time, if user denied it in this session or last 18 hours 2022-10-14 14:26:13 +02:00
Hadi Nategh
68ff204527 Fix timer menu click handler not working on mobile view 2022-10-14 13:06:09 +02:00
Hadi Nategh
9ab0ca73bd Remove shadow styling from calendar date navigator used in sidebox 2022-10-14 11:11:36 +02:00
ralf
664bb86b2a WIP timesheet timers: create a single working time timesheet per configured periode of day, week or month 2022-10-14 10:12:11 +02:00
nathan
2dc50f52cc Timesheet: Change duration to show h:mm 2022-10-13 14:51:38 -06:00
nathan
f9ee8952ea Fix some display bugs in expose on chrome
Sometimes the picture didn't get shown right away
2022-10-13 14:23:11 -06:00
nathan
359fcf9782 Fix bug where sharing 3 different shares, the third link doesn't work 2022-10-13 11:53:02 -06:00
nathan
68f424173e Timesheet: Fix missing emptyLabel in pricelist select 2022-10-13 10:50:28 -06:00
nathan
edd46d1127 Calendar: Add spaces after section colons (": ") in tooltip 2022-10-13 10:43:35 -06:00
nathan
ab07b3dee3 Et2LinkEntry: Fix value of null caused error 2022-10-13 10:37:29 -06:00
nathan
e9a797acce Calendar: Fix incorrect category label in event tooltip 2022-10-13 10:25:11 -06:00
nathan
d457d5476a Calendar: Fix description was not full width 2022-10-13 09:56:59 -06:00
nathan
37cd32e3ef Calendar: Hide actions selectbox entirely when it is readonly 2022-10-13 09:51:30 -06:00
ralf
383dfb9a04 WIP timesheet timers: round duration and total time to full minutes
done because our UI only shows full minutes
2022-10-13 17:37:48 +02:00
nathan
69ce014aa6 Et2Select: Vertically center multiple tags 2022-10-13 09:33:04 -06:00
nathan
53e868b47b Add default "Search" placeholder to link search 2022-10-13 09:18:49 -06:00
nathan
173c8891bd Calendar: fix missing dialog translations 2022-10-13 09:06:13 -06:00
ralf
7404cc1119 WIP timesheet timers: do NOT round hours for hh:mm display, as 30min will give 1:30, instead of 0:30 2022-10-13 16:42:37 +02:00
nathan
08e899e91c Fix Et2SelectCategory had category border when multiple
Now only shows category border for single select, when there's a value
2022-10-13 08:41:42 -06:00
ralf
49f608159c WIP timesheet timer: ask user to start/stop working time with session/login/logout
if working time is not disabled in timesheet config, or asking is disabled in user preferences
2022-10-13 16:31:17 +02:00
Hadi Nategh
aa139d2f15 return logout to mobile menu and remove print icon 2022-10-13 16:03:05 +02:00
Hadi Nategh
32741781ba Treat favorites in mobile view 2022-10-13 15:54:40 +02:00
Hadi Nategh
b23e10a967 Fix upload button in vfsSelect dialog sometimes being covered by search box 2022-10-13 14:19:16 +02:00
Hadi Nategh
ecca3dc79c Fix avatar alignment on rows with labels and flags set 2022-10-13 13:46:45 +02:00
nathan
475fc869f5 Fix share link to single file
If it's mounted to root, we should serve root
2022-10-12 11:45:05 -06:00
nathan
d34273650a Fix HiddenUpload shares fail to complete the upload
Use correct path this time
2022-10-12 09:26:53 -06:00
Hadi Nategh
47daa738d0 Do not apply mail horizontal template in mobile view 2022-10-12 12:49:41 +02:00
Hadi Nategh
08f7463482 Fix height on infolog description fields no longer being applied in mobile view 2022-10-12 11:35:33 +02:00
Hadi Nategh
f700b5b747 Fix some glitches in mobile template:
- Cancel button not being shown for loading popup dialog
- Entry id not being aligned
2022-10-12 11:00:40 +02:00
nathan
24a1dfbc2e Infolog: Fix double row load if default filter preference is none
'none' was not a valid option and was "fixed", triggering another load.
2022-10-11 17:13:19 -06:00
nathan
241b5ec839 Fix some missing translations in merge placeholder display 2022-10-11 15:34:25 -06:00
nathan
b43dd8f2c3 Fix infinite reload in preference dialog when switching to common preferences 2022-10-11 13:14:55 -06:00
nathan
c9eaeb51ea Fix HiddenUpload shares fail to complete the upload 2022-10-11 10:20:08 -06:00
ralf
075ba0f330 WIP timesheet timers: do not allow to enter a time before the last time entered
eg. a stop- or pause-time before the start-time or a start-time before the last stop- or pause-time
2022-10-11 16:20:17 +02:00
Hadi Nategh
11a4e21cb8 Try to get mails flagged/labelled rows aligned with none flagged ones 2022-10-11 16:14:13 +02:00
Hadi Nategh
32ce25d564 Fix vfsPath's content gets pushed up when it gets scrollbar 2022-10-11 15:50:50 +02:00
ralf
4de7dc5ba7 WIP timesheet timers: delete timer-events on timesheet deletion 2022-10-11 14:53:21 +02:00
Hadi Nategh
0b96af85ef Fix audio attachments do not get played via expose in mail's attachment list 2022-10-11 14:46:25 +02:00
Hadi Nategh
c1694f676c Fix infolog's nm details/no details filter no longer works (both regular and mobile template) 2022-10-11 13:03:58 +02:00
ralf
006199a199 Hopefully fix context for action system applyFunc call 2022-10-10 18:13:24 +02:00
Hadi Nategh
55f1c2a53b Fix tab's header flickering on hover (happens in FF only) 2022-10-10 15:22:23 +02:00
Hadi Nategh
214f2bd03c Remove extra logout button from mobile top header menu 2022-10-10 13:20:11 +02:00
Hadi Nategh
a015217f83 Revert commit 03fdceb847 causes breaking action system 2022-10-10 12:00:43 +02:00
ralf
65c1233ced WIP timesheet timer: allow to start timer as alternative to add a timesheet directly
timesheet will be added on stopping the timer
2022-10-09 15:30:46 +02:00
ralf
a0471e1ad1 use egw.applyFunc instead of own/old code, to allow calling api methods eg. egw.start_timer too
Setting now NO context for applyFunc so app objects are used/created in global context/window.
This reverts commit 330461c28b.
2022-10-09 13:34:37 +02:00
ralf
99e0b178ee Revert "Revert "use egw.applyFunc instead of own/old code, to allow calling api methods eg. egw.start_timer too""
This reverts commit 330461c28b.
2022-10-09 13:30:59 +02:00
nathan
479c90dc33 Pass custom filter attributes along
Fixes Status filter shows all possible values
2022-10-07 16:24:42 -06:00
nathan
690e89157e Et2Listbox: Make rows set the height, not the max 2022-10-07 15:33:43 -06:00
nathan
8514792efc Fix changing select options did not properly clear previous options 2022-10-07 15:31:06 -06:00
nathan
01a08447cb Fix selecting an app changed icon in first entry instead of displayed icon 2022-10-07 15:29:52 -06:00
nathan
330461c28b Revert "use egw.applyFunc instead of own/old code, to allow calling api methods eg. egw.start_timer too"
This reverts commit 03fdceb847.
2022-10-07 14:08:32 -06:00
nathan
f130134dd1 Dynheight: Don't consider size of fixed or absolute positioned widgets when collecting bottom nodes 2022-10-07 11:57:43 -06:00
ralf
d8e993dc75 WIP timesheet timers: allow to add more time on an existing timesheet with right click "Start timer" 2022-10-07 19:36:57 +02:00
ralf
03fdceb847 use egw.applyFunc instead of own/old code, to allow calling api methods eg. egw.start_timer too 2022-10-07 19:30:55 +02:00
nathan
3825726152 Calendar: Sidemenu calendar next/last month buttons now jump by 1 month, keeping the same day
Matches toolbox arrow buttons
2022-10-07 10:55:18 -06:00
nathan
38d5cd627f Work around Chromium bug that gives huge print jobs with thousands of pages
https://bugs.chromium.org/p/chromium/issues/detail?id=1161709
2022-10-07 09:08:07 -06:00
Hadi Nategh
cedaf4027c Fix navigational buttons no longer work in VfsSelect dialog 2022-10-07 14:48:20 +02:00
nathan
8221d66ce2 Fix nm printing did not properly wait for column selection or rows before trying to print 2022-10-06 15:39:35 -06:00
ralf
d6bfa7d9ee WIP timesheet timers: give an error, if user overwrite stop- or pause-time before the start 2022-10-06 13:56:44 +02:00
ralf
196024a454 stopping buttons in dialog from submitting it to server-side 2022-10-06 13:55:24 +02:00
ralf
c5b8261ec2 do NOT split RFC822 addresses containing comma in quoted name part eg. 'Becker, Ralf <rb@egroupware.org>' 2022-10-06 13:14:34 +02:00
Hadi Nategh
ce622f591b Make the framework active tap's content fully displayed 2022-10-06 12:53:02 +02:00
ralf
ccee240055 WIP timesheet timers: fix overwrite and display overwritten time and time of recording 2022-10-06 09:03:51 +02:00
nathan
0a745299ce Get flatpickr popup working along with LionDialog 2022-10-05 16:22:32 -06:00
nathan
ec388c955a Fix open compose windows created new drafts after main window was reloaded 2022-10-05 14:30:43 -06:00
nathan
3ce5aebe12 Collabora: Get insert placeholder dialog working again 2022-10-05 10:50:54 -06:00
ralf
59da89fe8b WIP timesheet timers: config to disable timers and overwrite of start&stop time 2022-10-05 14:55:42 +02:00
ralf
8fad43b705 WIP timesheet timer: start, pause and stop now via a dialog showing both timers and all buttons 2022-10-05 12:51:59 +02:00
ralf
ed05a8b6ee always need to stop button click events as otherwise the result would be submitted to server-side eT2 handler 2022-10-05 09:53:45 +02:00
nathan
f8e56edc20 Limit number of accounts (& other select/taglist search results) sent to client 2022-10-04 15:49:07 -06:00
nathan
7bb4332961 Et2SelectCategory: Fix loading with initial value did not get category color or icon in the displayed label 2022-10-04 09:17:31 -06:00
ralf
96e2b495e1 pass placeholder attribute to et2-textbox 2022-10-04 13:46:15 +02:00
ralf
caef7296ce invalidating/deleting et2-select-cat's cache on adding, updating or deleting categories
Also pushing cat-changes as app "api-cats" to client-side
ToDo: client-side code to update category list in admin or preferences
2022-10-04 12:54:30 +02:00
nathan
5031631dc4 Make two anonymous shares at the same time work 2022-10-03 14:27:11 -06:00
nathan
b5a2778168 Fix category did not display value on first load 2022-10-03 09:12:00 -06:00
ralf
8890ba801b do NOT stall whole UI if update / creation of egw_timesheet_events table is not yet run 2022-10-03 10:11:33 +02:00
ralf
7dc781acd5 WIP timesheet timer: storing working time now w/o user interation when it is stopped 2022-10-03 10:01:46 +02:00
dependabot[bot]
4416198973 Bump twig/twig from 2.14.11 to 2.15.3
Bumps [twig/twig](https://github.com/twigphp/Twig) from 2.14.11 to 2.15.3.
- [Release notes](https://github.com/twigphp/Twig/releases)
- [Changelog](https://github.com/twigphp/Twig/blob/v2.15.3/CHANGELOG)
- [Commits](https://github.com/twigphp/Twig/compare/v2.14.11...v2.15.3)

---
updated-dependencies:
- dependency-name: twig/twig
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 08:19:34 +02:00
ralf
0a9526c152 WIP timesheet timer: persistence and opening a new timesheet when stoping the specific timer 2022-09-30 19:07:33 +02:00
ralf
d8e54c72c8 only set (default) searchUrl for regular taglist or taglist-email, or if a non-empty autocomplete_url was given 2022-09-30 15:36:40 +02:00
ralf
1d50c1ca91 fix Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given 2022-09-30 14:46:27 +02:00
Hadi Nategh
b6398c4059 Fix couple of mobile template issues 2022-09-30 11:39:51 +02:00
ralf
780f14b4c5 WIP timesheet timer: add (project, task, ticket) specific timer to existing overall timer 2022-09-29 21:09:35 +02:00
ralf
1308b09493 WIP timesheet timer 2022-09-29 18:04:57 +02:00
ralf
918c0324d1 remove redundant if clause 2022-09-29 15:07:10 +02:00
Hadi Nategh
d7019caec5 Fix sidebar splitter no longer respects its minsize value 2022-09-29 12:09:18 +02:00
Hadi Nategh
60aa0035a7 Try to set focus back to plain text area when replying to a plain text mail 2022-09-29 11:27:47 +02:00
nathan
ba8c5101ac Et2Image: Fix data URLs did not work 2022-09-28 13:36:56 -06:00
nathan
260fa0d727 Mail: Turn on multiple so we get + & avatars on email addresses 2022-09-28 11:17:37 -06:00
nathan
12f8b2cb3e Et2SelectEmail: Add some documentation 2022-09-28 11:14:02 -06:00
nathan
3ceb0db2c6 Mail: Turn on multiple so we get + & avatars on email addresses 2022-09-28 10:59:52 -06:00
Hadi Nategh
9f7ee1619c Make sidebar splitter styling similar to ET2Split widget 2022-09-28 15:34:20 +02:00
ralf
73de0c5bd5 fix <textbox type="passwd" was not converted to <et2-password 2022-09-28 10:22:50 +02:00
Hadi Nategh
d76bbd1483 Make tab headers flexible on hover to be able to see their full titles 2022-09-28 10:06:40 +02:00
nathan
ffd6c21ed4 Et2Select: Avoid errors if freeEntry has single quote 2022-09-27 13:55:32 -06:00
ralf
49ac54b365 Revert "json requests now close the PHP session immediately again and reopen it, if there was an update to the session" as it breaks Collabora editing
This reverts commit fe4d0dbbe3.
2022-09-27 19:02:20 +02:00
Hadi Nategh
5341b8dee3 Fix mobile templates 2022-09-27 12:15:19 +02:00
Hadi Nategh
ecd3edfd7f Set right size for dropdown button in mobile view 2022-09-27 11:44:22 +02:00
Hadi Nategh
241b254105 Fix extra margin-top in all application's header in mobile template 2022-09-27 11:26:43 +02:00
Hadi Nategh
ec3e18f53f Fix 404 error caused by undefined template index.left.xet in mobile view 2022-09-27 11:25:29 +02:00
Hadi Nategh
020a3f9310 Set vacation notice box to disabled by default 2022-09-27 10:10:58 +02:00
nathan
5027e075d7 Allow groups to have lavatars 2022-09-26 15:16:38 -06:00
nathan
7e25d8fdda if user selection is switched to "no user selection at all", do not include users in calendar owner search results 2022-09-26 13:47:59 -06:00
nathan
181546cdb5 Fix customfield selects so if rows > 1, we set multiple=true 2022-09-26 11:38:36 -06:00
nathan
9644e4b1df Avoid double-parsing nm row if for some reason grid has too many rows.
Should fix missing initial data, but I'm still not sure exactly why row grid can have too many rows.
2022-09-26 10:55:32 -06:00
Hadi Nategh
9f33ebf782 Move content size preference into look & feel section 2022-09-26 16:40:01 +02:00
Hadi Nategh
7ba571b710 Fix some styling issues in edit avatar dialog 2022-09-26 15:48:45 +02:00
Hadi Nategh
2ed1a12617 Fix topmenu dropdowns click handler 2022-09-26 13:36:10 +02:00
Hadi Nategh
a09d833a07 Fix timer dropdown menu position 2022-09-26 11:55:09 +02:00
ralf
3c79bd4345 WIP timesheet timer
just a prototype for now, no persistence beside the session to test reloads
2022-09-26 08:54:05 +02:00
ralf
4d5f9f87f0 hide "Select one ..." from quick add and remove old jQuery Chosen stuff 2022-09-25 09:42:20 +02:00
ralf
fe4d0dbbe3 json requests now close the PHP session immediately again and reopen it, if there was an update to the session
this allows to run more PHP requests in parallel
2022-09-24 15:50:44 +02:00
ralf
84d65bcf3b there is currently no avatar for groups, no need to ask server about it 2022-09-24 14:44:42 +02:00
ralf
9ab4c69050 only update darkmode pref, if necessary 2022-09-24 14:27:17 +02:00
nathan
086d92e957 Et2Select: All selectboxes now stop scroll event from bubbling to prevent parent (sidemenu) from scrolling too 2022-09-23 10:54:02 -06:00
nathan
171c9c02cb Pressing escape while in search now closes dropdown 2022-09-23 10:40:16 -06:00
nathan
074a03f2ec Include bad email address in validator message 2022-09-23 10:08:31 -06:00
nathan
00c9550465 Fix selects without empty_label were not allowed to be empty in some cases, even without required=true
For example select-account multiple=true, or customfield select-account with rows > 1 would give error "'' is NOT allowed ('not found')"
2022-09-23 09:39:50 -06:00
nathan
d133683272 Don't apply et2_required class to parent table cell 2022-09-23 08:51:57 -06:00
Hadi Nategh
12956b594e Fix square avatar in mail index to rounded one 2022-09-23 14:59:29 +02:00
Hadi Nategh
628dd56b87 Fix today action not being displayed in mobile view 2022-09-23 11:32:15 +02:00
ralf
0894a4175d Fix argument #1 ($address) must be of type string, null given 2022-09-23 09:45:47 +02:00
ralf
8fa65f13f5 fix quick add to show title as required, but allow to click edit without adding it
also no longer fill empty title with "Event", as it does not work and is annoying
thought et2_required class on et2-textbox should NOT affect the parent/table cell
2022-09-23 09:26:39 +02:00
ralf
34580f4900 put notify external titels into the label too and move the line below adding participants
also some alignment fixes to look nicer
2022-09-23 09:06:29 +02:00
nathan
a18f956533 Calendar: Add participant button is now always visible but disabled until there's a participant to add 2022-09-22 15:29:58 -06:00
nathan
91bd7d5a43 Et2Button: Fix disabled was still hiding the event even if hideonreadonly was false 2022-09-22 15:20:21 -06:00
nathan
bea34ad403 Fix adding a freeEntry did not trigger change event 2022-09-22 15:18:34 -06:00
ralf
a79a0802a1 we must NOT exclude node_modules in 22.1 or master 2022-09-22 20:35:55 +02:00
nathan
d48d805f05 Fix 'check all' field was required, blocking the next step 2022-09-22 11:47:11 -06:00
nathan
4454f350b2 Fix some more validation bugs
- Fix error if widget did not have a feedback slot or a '#help-text' element
- Fix copy/paste error scrolling to wrong widget
2022-09-22 11:43:29 -06:00
nathan
5a8f7c3c70 More fixing of missing search options / tags
Fixes new free entries don't show up after removing a free entry
2022-09-22 11:15:25 -06:00
nathan
0424836ba8 If widget fails validation during submit check, scroll it into view 2022-09-22 09:20:50 -06:00
nathan
8da8c14a00 Et2SelectEmail: Change multiple default to false to match other selects 2022-09-22 08:59:31 -06:00
Hadi Nategh
be3b38d516 Fix mail avatar not being set correctly for sent folder messages 2022-09-22 14:06:13 +02:00
ralf
6c9d6fd13f only remove size attribute from input like widgets: textbox, number, url-*, vfs-*, leave it for all others like *avatar 2022-09-22 13:12:56 +02:00
Hadi Nategh
3a0f1e7964 Make sure calendar date indicator in nm header is displayed in one line 2022-09-22 11:03:37 +02:00
Hadi Nategh
49b78e2f24 Open quick add dropdown menu only on click 2022-09-22 10:54:33 +02:00
nathan
2952df2799 Et2Select + SearchMixin: Fix some bugs with display and selecting entries
- Fix clicking on text while editing triggered re-display
- Avoid unneeded node re-creation when editing free entry, handle empty value as removal
multiple=true:
- Fix clearing search removed previously selected remote results
- Fix adding a free entry did not move search down, covering the new value
multiple=false:
- Fix search & edit inputs were shown at the same time
- Fix edit free entry always took over making it impossible to search
2022-09-21 17:13:29 -06:00
nathan
e6ce33b153 Fix invalid fields were not blocking submit 2022-09-21 09:56:15 -06:00
nathan
d9cc794836 Don't bother to validate empty fields if they're not required
Fixes Et2SelectEmail complaining that empty strings are not valid email addresses
2022-09-21 09:05:51 -06:00
nathan
e8e1077ece CalendarOwner: Bind a listener to mousewheel and stop it from bubbling, otherwise scrolling results scrolls the sidemenu 2022-09-21 08:49:47 -06:00
Hadi Nategh
8cc14a9919 Fix attachment button is being overlapped by searchbox in vfs select dialog 2022-09-21 16:49:31 +02:00
Hadi Nategh
ca0b17de7f Fix edit/delete buttons are not clickable on editable avatar 2022-09-21 11:15:14 +02:00
ralf
a7e4cdf3b4 fix editing mail-accounts removed all but the first alias (no multiple attribute set) 2022-09-21 08:50:44 +02:00
nathan
a0303dd003 Calendar: fix incorrect rendering when switching between single week & multi-week views
egw.getHiddenDimensions() was incorrectly setting display based on title's current style
2022-09-20 16:54:20 -06:00
nathan
1fee91bdd7 Calendar: fix incorrect rendering when switching between single week & multi-week views
It wasn't the specific views, but switching between regular and the consolidated / granularity=0 view.
2022-09-20 15:01:29 -06:00
nathan
8ce438f757 Add translation from Birgit 2022-09-20 11:44:14 -06:00
nathan
159a370da6 Fix more than one anonymous shares gave error / BasicAuth prompt
First one was successful, but subsequent anonymous shares in the same browser failed
2022-09-20 11:33:16 -06:00
nathan
e03fea2e9b Et2Date: Fix required validation message was always shown after changing a required date
Some missed changes after moving from Lion
2022-09-20 10:44:28 -06:00
nathan
7dd0165cd2 Et2Select + search: Fix position adjustment did not work in all cases
Subsequent searches did not give space for searchbox
2022-09-20 10:07:36 -06:00
nathan
66368c6d3a Et2Select + search: Adjust dropdown position based on if it opens up or down 2022-09-20 09:43:25 -06:00
nathan
79b6cef5fd Switch egw.user(..., async=true) to always return a Promise for consistency
Switch Et2ButtonTimestamper to use egw.user(...,async=true)
2022-09-20 08:05:59 -06:00
ralf
82504ed158 update egroupware/* 2022-09-20 15:32:21 +02:00
Hadi Nategh
34d9297fc1 Do not set toolbar buttons to readonly 2022-09-20 14:44:16 +02:00
ralf
1260203755 setting minimum version for 22.1 to PHP 7.4, recommended and maximum version to PHP 8.1 2022-09-20 13:53:07 +02:00
ralf
7072f96244 building 22.1 images with PHP 8.1 on base of Ubuntu 22.04 and MariaDB 10.6 2022-09-20 13:44:54 +02:00
ralf
67f41f8041 update build script to 22.1 2022-09-20 13:42:38 +02:00
ralf
e28035e4f1 * smallPART/LTI: updating ceLTIc LTI library to laterst version 4.8.0 2022-09-20 13:24:00 +02:00
Hadi Nategh
1eff71056e Fix calendar date indicator not being as same height as other nm fields 2022-09-20 13:06:40 +02:00
Hadi Nategh
c18aabb100 Fix toolbar's admin icon size 2022-09-20 12:46:26 +02:00
Hadi Nategh
275763e7ec Fix weekend switch in calendar toolbar 2022-09-20 12:18:00 +02:00
ralf
0368173487 build development Docker images now based on Ubuntu 22.04 and by default with PHP 8.1
docker-compose.yml uses now mariadb:10.6 with automatic upgrade enabled
2022-09-20 11:16:35 +02:00
Hadi Nategh
d6d0dd21a4 Adopt calendar to new BD svg icon 2022-09-20 10:54:14 +02:00
Hadi Nategh
aba4edc70a Add svg version for BD icon 2022-09-20 10:29:26 +02:00
nathan
f43b641127 Implement readonly textarea as description 2022-09-19 13:28:20 -06:00
nathan
606e2688d4 Et2SelectEmail: Do not create image in tag, Et2EmailTag uses CSS for image
Fixes doubled image
2022-09-19 09:23:23 -06:00
Hadi Nategh
b1fcf5cb99 Get nm filters into full width for mobile template 2022-09-19 16:50:26 +02:00
Hadi Nategh
c703a4eaa3 Add more classes to textsize preference 2022-09-19 14:07:05 +02:00
Hadi Nategh
065be8a944 Fix 2px in header containers occupied by style tags 2022-09-19 10:37:23 +02:00
Hadi Nategh
a0e0fba42f Fix some styling issues in mobile template 2022-09-19 10:34:30 +02:00
ralf
17ee3e7aaf correctly handle irregular alias time_or_date (of date-time_today) and just menupopup both used in mobile view 2022-09-18 08:54:39 +02:00
ralf
a9f8e6fcd5 set correct default search-url for taglist-email 2022-09-17 09:56:57 +02:00
nathan
1deeee207f Better way to show "no suggestions" indicator, works with local options now too 2022-09-16 11:17:06 -06:00
nathan
12ab9b72a1 Fix Et2SelectEmail search queried wrong URL
broken by 5a20f5965e
2022-09-16 10:38:37 -06:00
nathan
30c3000e87 Et2Select fixes
- Search with no results blocked any futher searches from displaying results
- Only show "no suggestions" after searching
2022-09-16 10:20:47 -06:00
Hadi Nategh
0a06ddfeca Fix quick add selectbox gets scrollbar 2022-09-16 15:57:37 +02:00
ralf
99f1984b48 Changelog for 21.1.20220916 2022-09-16 14:02:04 +02:00
Hadi Nategh
e9aaefd9e7 Get all apps headers aligned 2022-09-16 13:48:06 +02:00
Hadi Nategh
64941e6d86 Fix broken autofocus to mail content when replying to an email 2022-09-16 12:30:23 +02:00
ralf
fb8f54ec02 * Mail/Calendar: fix applying a participant reply as organizer overwrote event with data send by the participant (not just his status) 2022-09-16 11:22:26 +02:00
ralf
5dcc670ac0 nicer way to set current Vfs user and also not overwriting the default context 2022-09-16 09:33:09 +02:00
ralf
0f376ae6df * LDAP/AD/OpenID Connect: fix error creating tokens with profile claim, if user has a picture 2022-09-16 09:14:38 +02:00
ralf
c59b5a7a6e document how to test LDAP/AD behavior 2022-09-16 09:13:01 +02:00
nathan
9a036b1dfe Et2Select: Fix "required" styling did not show in a better way
Previous method (38e8df2) made widget entirely transparent
2022-09-15 15:26:06 -06:00
nathan
a3e2850b05 Send info to open popups to inform user that main window has been reloaded. 2022-09-15 15:14:16 -06:00
nathan
38e8df223d Et2Select: Fix "required" styling did not show 2022-09-15 12:36:31 -06:00
nathan
3616fe9df0 Add "hasValue" class for input widgets that have a value, and use that class to hide required styling when the widget has a value 2022-09-15 12:28:49 -06:00
nathan
2f97c28a5f Better styling for all calendar popup headers
More space for month, make it as similar as possible between inline & popup
2022-09-15 11:18:44 -06:00
nathan
49829fbbcc Fix OS copy using navigator.clipboard still showed "Use Ctrl+C..." 2022-09-15 09:23:16 -06:00
nathan
c8b6a5760b Et2Select: Re-add accidentally removed chunk that sets initial value when initial value is an array
Fixes mail preview didn't show to/from addresses
2022-09-15 08:49:36 -06:00
nathan
1b72eb4a00 Revert "Revert "Et2Search: Fix some UI bugs" as it no longer renders values and therefore easily destroys existing content"
This reverts commit 0287e06df2.
2022-09-15 08:30:50 -06:00
Hadi Nategh
0a3e6503ac Get vacation notice shown again 2022-09-15 16:06:20 +02:00
ralf
06a7767194 * Mail/SAML/SSO: show mail accounts requiring the session password as Error, but load the other accounts 2022-09-15 15:57:29 +02:00
ralf
c175e530bb fix PHP 8.x error: count(): Argument #1 ($value) must by of type Countable|array, null given 2022-09-15 14:08:49 +02:00
ralf
0287e06df2 Revert "Et2Search: Fix some UI bugs" as it no longer renders values and therefore easily destroys existing content
This reverts commit 56eb4d64ac.
2022-09-15 12:56:12 +02:00
ralf
df0f25df4d some updates and workarounds for SSO 2022-09-15 12:55:42 +02:00
Hadi Nategh
5e7a6cfef7 Fix mail tree drop hover class sometimes not being removed from hovered once nodes 2022-09-15 12:40:49 +02:00
ralf
4f5c259078 fix PHP 8.x error, if previous non-numeric textsize was set 2022-09-15 08:55:41 +02:00
nathan
a20a85309b Better styling for inline calendar (calendar sidebox) header
tighten up vertical spacing
2022-09-14 16:53:31 -06:00
nathan
048fc8c8c0 Better styling for inline calendar (calendar sidebox) header 2022-09-14 16:43:36 -06:00
nathan
56eb4d64ac Et2Search: Fix some UI bugs
- Fix missing loading spinner while searching
Clear button was in the way, now hiding clear button when displaying the spinner

- Fix searching for the same thing twice displays no results the second time
repeat() and map() directives were not putting the DOM nodes back in, worked around by using a temp div to render into.  There were some lifecycle mistakes as well leading to collisions & re-doing.
2022-09-14 15:47:36 -06:00
Hadi Nategh
f9ced2c834 Get tabs icons and tree icons adopted according to textsize 2022-09-14 16:06:17 +02:00
ralf
22f990eea5 fix PHP 8.x error as some apps you a string for their only table and not an array 2022-09-14 14:46:49 +02:00
ralf
1989e1a949 fix PHP 8.1 makes all schema errors fatal, change that back to previous behavior, to ease updates 2022-09-14 14:45:09 +02:00
Hadi Nategh
676e855ad5 WIP textsize: leave avatar widgets as standard size 2022-09-14 13:24:47 +02:00
Hadi Nategh
3d7df8e566 WIP Universal Access preference:
- Implements textsize preference
2022-09-14 12:41:09 +02:00
Ralf Becker
872aeaa95f pending translations from our translation server 2022-09-14 11:08:00 +02:00
ralf
0c11d2fd59 fix OpenID scope "profile" gives error that it cant create /home//.tmp 2022-09-14 10:01:33 +02:00
ralf
5a20f5965e fix preprocessor to set default taglist autocomplete_url/searchUrl, if none is set and change autocomplte_params to searchOptions
an empty autocomplete_url is preserved, as it was used to disable autocomplete
2022-09-14 09:10:16 +02:00
Кirils Sоlovjоvs
6727f72185 Update class.calendar_groupdav.inc.php 2022-09-13 21:11:47 +02:00
nathan
cfbb74b83e Fix some Et2DateDuration bugs
- Duration did not validate correctly
- Validation errors were not actually shown
- Empty duration ('') did not work consistently
2022-09-13 13:00:25 -06:00
nathan
a847f25408 Show success message after copying to clipboard 2022-09-13 10:23:47 -06:00
nathan
b14a472814 Better specificity on the grid padding 2022-09-13 09:50:01 -06:00
nathan
9096c17348 Et2Select: Tabbing out of search field now closes the dropdown 2022-09-13 09:06:59 -06:00
Hadi Nategh
bdeab2e8e1 Fix calendar user's header styling 2022-09-13 14:45:14 +02:00
Hadi Nategh
b6cfeaedf0 Fix some glitches in calendar 2022-09-13 13:52:42 +02:00
Hadi Nategh
44e2938d05 Fix avatar cropper gets closed right after uploading an image 2022-09-13 12:09:55 +02:00
Hadi Nategh
98584884b0 Fix avatar contactId attribute 2022-09-13 11:16:50 +02:00
Hadi Nategh
06e99c1e7b Don't show delete button if no alarm is defined yet 2022-09-13 10:42:41 +02:00
ralf
d8d8429622 an other fix for 4c00b812ee fixing error when trying to reply 2022-09-13 10:17:59 +02:00
ralf
7ac70ac8ee * OpenID Connect: autodiscovery support via /.well-known/openid-configuration 2022-09-13 09:40:35 +02:00
ralf
c00c6f9e07 readonly et2-select-mail caused error with 4c00b812ee eg. in mail.display 2022-09-13 09:15:55 +02:00
ralf
52cca3676e Revert "reinsert filtered <style></style> section at initial position"
It seems to lead to a significant higher memory usage and did NOT fix the problem it was supposed to fix (empty line above email after sending)

This reverts commit 4e0bb13571.
2022-09-13 08:24:11 +02:00
nathan
662ea62790 Calendar: remove most sidebox date customisations
Now using regular calendar header.  "Go" button and custom header styles removed. Changing the date in sidebox calendar immediately updates state.
2022-09-12 15:35:24 -06:00
nathan
4c00b812ee Fix edit inputbox covered new freeEntries 2022-09-12 12:48:21 -06:00
ralf
e52ab349e6 fix PHP Fatal: array_merge(): Argument #1 must be of type array, null given 2022-09-12 19:29:53 +02:00
nathan
0ea32818c8 Fix Et2NumberReadonly didn't display its value in nextmatch row 2022-09-12 11:25:47 -06:00
nathan
43cce1940d Fix selecting search result does not display label
Infolog contact filter still filtered, but did not show label for selected search result.
2022-09-12 10:19:38 -06:00
nathan
671ec22243 Give all grids some padding between cells 2022-09-12 08:41:17 -06:00
Hadi Nategh
a8bec5ff64 Fix freetime search dialog 2022-09-12 15:44:59 +02:00
Hadi Nategh
1489944d49 Fix category border styling 2022-09-12 15:16:04 +02:00
ralf
26824323e5 got mailing lists working again in mail compose using includeLists=true attribute
using "$list_name <$list_id@lists.egroupware.org>" instead of just integer ids for the list, thought et2-select-mail is NOT displaying the mailing-list icon, after a mailing-list is selected
2022-09-12 14:51:13 +02:00
Hadi Nategh
02164c2cae WIP styling adjustments 2022-09-12 14:22:10 +02:00
Hadi Nategh
fcf9195e56 Cleanup gruntfile 2022-09-12 13:24:42 +02:00
Hadi Nategh
f7c8c09a4b Drop tutorials 2022-09-12 13:24:00 +02:00
ralf
e916dda8a6 disallow https-urls too 2022-09-12 12:50:31 +02:00
ralf
bf5389b02e * Mail/RichTextEditor: common preference "small paragraph" now changes return key to a line break instead of a paragraph (with margin) 2022-09-12 10:05:01 +02:00
Hadi Nategh
d2634a74cc Fix CRM view's avatar 2022-09-12 10:04:25 +02:00
ralf
c77877440f update Horde ImapClient to 2.31.2 to fix some PHP 8.1 compatibilty problems 2022-09-10 08:51:42 +02:00
nathan
217ae647e7 Fix historylog created editable versions of some widgets, triggering the dirty save warning 2022-09-09 12:04:23 -06:00
nathan
272355fd00 Filemanager: Allow folder filter to take more space 2022-09-09 11:27:51 -06:00
nathan
fb568a1b11 Give dialog grids some padding between cells 2022-09-09 11:03:14 -06:00
nathan
05e7378231 Fix double quote too. See 163c7287e6 2022-09-09 10:21:35 -06:00
nathan
67408d84ec Addressbook: Fix grouped view did not change view properly 2022-09-09 10:11:11 -06:00
nathan
c2d6d646f1 Api: Fix copy to OS clipboard action stopped working
We now have clipboard API, when browser supports it
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard
2022-09-09 09:30:12 -06:00
nathan
04feaff1d0 Avoid parse error that breaks load if string is passed as an object property 2022-09-09 08:35:20 -06:00
Hadi Nategh
847bf6139f Set limit to mail preview splitter in order to prevent getting unreasonably small/big 2022-09-09 10:00:37 +02:00
Hadi Nategh
a1a46ab5b7 Fix mail 'mark all as read' action no longer works 2022-09-09 09:36:37 +02:00
ralf
b13c1d97b4 fix PHP 8.x throws mysqli_sql_exception when it can not connect 2022-09-09 08:24:39 +02:00
nathan
f1cba99aa9 Importexport: Some CSS improvements, avoid an error in import iCal 2022-09-08 14:25:07 -06:00
nathan
9db38979ef Infolog: Move timestamper & encrypt buttons into tabs using slot and parentID
Also, fix parentId was inconsistently applied
2022-09-08 13:14:55 -06:00
nathan
f85de279c6 Fix some property bugs
- Parse values that should have been objects but came as strings
- Decode SearchMixin.searchUrl
2022-09-08 11:17:34 -06:00
ralf
3fdad7c160 fix error when downgrading from EPL 2022-09-08 18:42:46 +02:00
ralf
4e0bb13571 reinsert filtered <style></style> section at initial position
no longer at the beginning as this can insert unwanted extra lines in mail, if signature contains a style block
2022-09-08 16:52:49 +02:00
Hadi Nategh
3435c475f5 Implement cursor position center for egw_tooltip 2022-09-08 16:16:34 +02:00
ralf
cd3c40eaf8 get history decrypt hover working 2022-09-08 13:38:39 +02:00
Hadi Nategh
79cec31989 Fix label of button overlaps outside its container if it gets squeezed enough 2022-09-08 12:47:11 +02:00
Hadi Nategh
5c96a29ef8 Fix infolog edit dialog gets scrollbar on decrypted message 2022-09-08 12:27:33 +02:00
Hadi Nategh
57a6de47ce Cleanup another jquery tooltip case 2022-09-08 12:14:34 +02:00
ralf
7b54b0f563 set correct return type 2022-09-08 11:30:20 +02:00
ralf
9f4fb1343d fix Mailvelope in infolog.edit 2022-09-08 11:27:02 +02:00
nathan
a10938ab2b Fix select account readonly did not properly show names with CSV 2022-09-07 15:12:06 -06:00
nathan
088280ceb5 Fix placeholders lists 2022-09-07 14:50:31 -06:00
nathan
509715d913 Better styling for long task results 2022-09-07 11:27:50 -06:00
nathan
3380b867b8 Fix some overlap styling issues with sub-headers
In particular, call list buttons and most date filters were overlapping the row count
2022-09-07 09:54:09 -06:00
nathan
0fb1f32152 Et2LinkEntry: If the app is changed, clear previous search results and focus the search field 2022-09-07 08:42:04 -06:00
nathan
151df0f76b Et2Select + search fixes
- Fix multiple=false had gap between widget and dropdown
- Add clearSearch() to clear the (remote) search results
2022-09-07 08:40:46 -06:00
Hadi Nategh
8d7fdcf968 Set max rows for vacation's forward email addresses 2022-09-07 15:08:53 +02:00
Hadi Nategh
921c2905ad Restyle date widget today's button 2022-09-07 13:45:53 +02:00
Hadi Nategh
a35b7e578b Revert accidentally removed condition on status 2022-09-07 12:06:38 +02:00
Hadi Nategh
e0b98b7c4c Change framework user avatar to et2-avatar 2022-09-07 11:53:29 +02:00
Hadi Nategh
2eebd56811 Adjust sieve edit dialog 2022-09-07 11:31:16 +02:00
nathan
5bfb1b4b70 Addressbook: Swap distribution list & addressbook filter 2022-09-06 17:21:13 -06:00
nathan
7f94b3ae6c Et2Date: Add "Today" button 2022-09-06 11:32:25 -06:00
nathan
6b4a16357f Et2LinkAppSelect: Fix displayed icon did not change when value changed 2022-09-06 11:11:13 -06:00
nathan
bdee948842 Fix pricelist empty label 2022-09-06 09:23:56 -06:00
nathan
365f29f498 Explicitly translate labels & statustext in nm rows 2022-09-06 09:17:12 -06:00
nathan
cc132a8d72 Revert "getting label / tooltip of images to be translated", fixed another way.
This reverts commit 06ae750b32.
2022-09-06 09:16:25 -06:00
Hadi Nategh
9294ab81db Fix mail preview content frame sometimes gets short height because of repeated id 2022-09-06 16:10:59 +02:00
Hadi Nategh
93c9932fc7 Set mail avatar shown in the list with rounded shape 2022-09-06 15:52:34 +02:00
ralf
c31b99112d * Mail: remove left (and right) margin of p and div, which can interact bad with the signature 2022-09-06 15:41:45 +02:00
Hadi Nategh
e495a0e864 Fix folderManagement and subscription dialogs 2022-09-06 15:20:08 +02:00
Hadi Nategh
cf3472c651 Move mail compose file upload section below the attachment 2022-09-06 13:56:17 +02:00
Hadi Nategh
1b4052a40f Fix predefined compose's toolbar actions no longer getting set 2022-09-06 13:08:20 +02:00
Hadi Nategh
89636b0ede More icon size standardization 2022-09-06 12:06:38 +02:00
Hadi Nategh
378a6f50b7 Get tree icons the same size as buttons 2022-09-06 11:55:14 +02:00
Hadi Nategh
921f299f0b Get icon buttons in same size in the nextmatch header 2022-09-06 10:44:49 +02:00
ralf
06ae750b32 getting label / tooltip of images to be translated
not sure why this is necessary, as Et2Widgets lists label and statustext as to translate ...
2022-09-06 10:41:08 +02:00
ralf
f204ff2ad5 move RingCentral SDK to EPL/Stylite app 2022-09-06 09:30:55 +02:00
Hadi Nategh
0b4d55fd1c Fix radiobox styling 2022-09-05 14:51:12 +02:00
Hadi Nategh
fff7d06fcb Style calendar header's date indicator 2022-09-05 14:51:12 +02:00
ralf
1ec9ef63fe fix Uncaught TypeError: Failed to execute 'getComputedStyle'
thought the image no longer changes, when selecting another one :(
2022-09-05 13:59:07 +02:00
ralf
a559e2d3da Changelog for 21.1.20220905 2022-09-05 10:59:23 +02:00
ralf
cf355d1d5c do NOT stall because DB does not know the TZ, report once per session
Happens with PHP 8.1 and older MariaDB (or MySQL) without (loaded) timezone data
Unknown or incorrect time zone: 'UTC'
2022-09-05 10:52:29 +02:00
Hadi Nategh
978d356eed Set background color for buttons used in dialogs footer 2022-09-05 10:10:11 +02:00
ralf
c24c1049dd fix PHP Fatal Error: Call to undefined function each() 2022-09-05 08:42:13 +02:00
ralf
7eeb72513d fix hardcoded php binary (no longer working on MacOS without PHP) 2022-09-05 08:33:26 +02:00
nathan
f6851daf9f Fix mail tree actions
Node was a jQuery object instead of DOMNode
2022-09-02 14:37:35 -06:00
Hadi Nategh
ed87a8039a Implement Spinner widget 2022-09-02 13:50:38 +02:00
nathan
daf63d9c23 Et2Select: If multiple and no value, overlap the search onto the widget 2022-09-01 11:53:19 -06:00
nathan
7fc28f9fb5 Fix "today" was not marked in flatpickr calendars 2022-09-01 10:35:23 -06:00
nathan
24daafb9ef Et2Select: If somebody set '' as an option value then '' is not a bad value and doesn't need to be fixed. 2022-09-01 09:58:08 -06:00
nathan
64e2fb7c63 Calendar: Fix recurring events that started outside current view were not updated properly in the current view after creating an exception 2022-09-01 09:03:47 -06:00
nathan
fbb02f5bd2 Change some widget attributes to camelCase 2022-09-01 08:32:36 -06:00
nathan
1bbcdbfeb7 Fix Et2SelectAccount couldn't have non-account options, so freeEntries didn't show up 2022-09-01 08:30:43 -06:00
nathan
2e319319d1 Fix general free entries did not validate with 0 validators 2022-09-01 08:29:46 -06:00
Hadi Nategh
00b5cd0cd2 Fix mail edit account dialog 2022-09-01 12:04:03 +02:00
Hadi Nategh
e2cb158211 Fix vacation dialog 2022-09-01 11:29:56 +02:00
nathan
4570a5a264 Mail: Fix folder ACL
- Set searchUrl in template so it can be found during initialization.  Using modifications to clear it.
- Passing initial value to avoid a query
2022-08-31 13:34:15 -06:00
nathan
a3d2674757 Et2Select + search: Fix some bugs
- Select a searched value didn't validate due to different attribute name
- et2-searchbox inside et2-select threw an additional change event, needed to catch that
- fix_bad_value() needs different handling when you can search, otherwise it just gets cleared again
2022-08-31 13:28:20 -06:00
Hadi Nategh
2e5cc0de10 Make subscription and folderManagement dialogs slightly bigger 2022-08-31 15:37:11 +02:00
Hadi Nategh
78cfc3ce7c Fix clicking on attachment title not wokring 2022-08-31 15:17:46 +02:00
Hadi Nategh
bc204e7f1a Remove delete button from attachmentBlock in the preview row and set correct tooltip title 2022-08-31 15:09:41 +02:00
Hadi Nategh
786fe5ff69 Add app icons into pref's selectbox and fix some styling 2022-08-31 14:14:53 +02:00
Hadi Nategh
2507fc99bd Fix broken attached label in description 2022-08-31 13:01:06 +02:00
Hadi Nategh
8555fa2f8f Fix description & label not being aligned in middle (happens for labels not wrapped in table) 2022-08-31 12:27:52 +02:00
Hadi Nategh
b83f2f5847 Fix mail compose dialog and implements consistent attachments block 2022-08-31 12:26:39 +02:00
Hadi Nategh
38d7604115 Prevent execution error 2022-08-31 12:24:49 +02:00
nathan
6458511d75 Et2Select: Fix some missing "emptyLabel" bugs
- If there were no select_options, and an invalid value, empty label was not shown (Infolog pricelist)
- Select Number had numeric values for options which did not match string values (Infolog completed)
2022-08-30 14:27:19 -06:00
nathan
5cfa26bd7b Fix line break after widget name broke legacy option parser 2022-08-30 13:56:13 -06:00
nathan
446b51d74a Customfields: Explicitly use description widget for readonly text fields 2022-08-30 13:28:15 -06:00
Hadi Nategh
69893e891b WIP Ui: fix more dialogs initiation pop up & tab size 2022-08-30 13:46:18 +02:00
Hadi Nategh
f65020ab93 WIP Ui: Try to give same spacing for dialogHeader and dialogFooter 2022-08-30 11:57:52 +02:00
Hadi Nategh
342eb8461a WIP Ui: Fix dialogs getting scrollbars in initiation 2022-08-30 10:39:57 +02:00
Hadi Nategh
deabd5ae53 WIP Ui: fix some rows in dialogs getting wrongly aligned in the middle 2022-08-30 09:12:31 +02:00
Hadi Nategh
6b18fa7db9 WIP Ui: adopt to the shoelace font-family and size 2022-08-30 08:54:29 +02:00
Hadi Nategh
3e201ff3f9 WIP Ui: Trying to adopt 12px font-size everywhere 2022-08-30 08:25:45 +02:00
Hadi Nategh
e1a87caf6c WIP of better UI 2022-08-30 07:50:43 +02:00
nathan
d521d2aa24 Admin: Fix some errors deleting a group
- use the minified app.js
- export the JS class
- include the PHP command class explicitly so it's always found
- Make sure to send all expected parameters to ajax_delete_group
2022-08-29 14:25:39 -06:00
nathan
aee54e5f45 Fix text customfield with rows set did not result in multi-line textarea 2022-08-29 09:21:49 -06:00
Hadi Nategh
31e83ddf05 Stop tags being drawn to the max width 2022-08-29 16:47:58 +02:00
nathan
1b0c2a95a2 Fix nextmatch search 2022-08-29 08:44:09 -06:00
Hadi Nategh
0c6191d9d8 Set a lighter hover color for grid's columns 2022-08-29 15:45:46 +02:00
Hadi Nategh
feb476b8cd Add a placeholder icon when no country is selected in Et2-SelectCountry widget 2022-08-29 15:41:04 +02:00
nathan
86baaad9d0 Calendar: Fix missing space in date header for week view when 2 months are shown with a d.m.Y format 2022-08-26 16:16:04 -06:00
nathan
12ef8163b4 Fix double nextmatch refresh if you search, press [Enter], then take focus out of the search 2022-08-26 13:23:36 -06:00
nathan
234b2c78b9 Et2SelectCountry: Fix limited size of search box
There was a conflict between flag style & search styles.  Now using a specific element for the current value flag instead of styling the whole slot.
2022-08-26 11:48:02 -06:00
nathan
23977d6c21 Fix "select all" long task threw an error and didn't complete
Progressbar was not found because the load event was never fired from the dialog.
2022-08-26 09:28:33 -06:00
nathan
6d38f22949 Add "Just me" as empty_label in add favorite dialog 2022-08-26 08:34:16 -06:00
Hadi Nategh
502a2f5225 Fix sieve edit dialog 2022-08-26 11:55:26 +02:00
Hadi Nategh
e2fbbef09b Fix tree nodes getting wrong bg color on hover 2022-08-26 11:47:18 +02:00
nathan
b136958425 Et2Select: (multiple=false) When searching and user selects a value, abort search and show all non-matching entries again 2022-08-25 15:51:15 -06:00
nathan
4d8bd89952 Et2Widget: Fix widgets could not pull objects from content to use as attributes
et2-vfs-mime for files in kanban is an example
2022-08-25 13:25:45 -06:00
nathan
080dea2378 Fix add favorites
Changed to use a proper template & dialog, now that we have et2-details widget.
2022-08-25 11:47:21 -06:00
nathan
d25a0b215e Some work on a visual test, not yet working 2022-08-25 10:19:45 -06:00
nathan
33dcbc218f Revert "Calendar: Fix some kanban listen problems"
This reverts commit 59e64cd908.
2022-08-25 10:16:05 -06:00
nathan
59e64cd908 Calendar: Fix some kanban listen problems
- Status filter isn't really applicable
- Priority was missing its options
2022-08-25 10:13:32 -06:00
nathan
924bea48e5 Calendar: Fix some kanban problems
- CalendarOwner webcomponent lacked et2- prefix
- Make sure CalendarOwner TS code is loaded when component is used
- Fix status filter was in changeable fields
- Fix Priority filter was missing options
2022-08-25 10:07:39 -06:00
nathan
fe42b206c5 Make avatars in AvatarGroup always round 2022-08-25 09:17:05 -06:00
Hadi Nategh
c8cfd79b4b Fix expander fields styling in mail compose 2022-08-24 15:54:58 +02:00
Hadi Nategh
6be968f852 Add translation for avatar label 2022-08-24 15:03:49 +02:00
Hadi Nategh
c4412b5ed1 Fix not working geolocation in addressbook 2022-08-24 14:57:07 +02:00
Hadi Nategh
bb072b3b87 Get darkmode working again and make it more bright 2022-08-24 13:22:35 +02:00
Hadi Nategh
cdcf80afb5 Set default shape for avatar to rounded 2022-08-24 11:21:15 +02:00
ralf
804719bf30 remove width from country-selection to take full width and give view-selection a little more space 2022-08-24 10:53:24 +02:00
ralf
dfba1bba9c fix strange (wrong height and styled) textboxes in CF's 2022-08-24 08:47:53 +02:00
nathan
19d4b9a8b6 Make nm filters always the same size (33% each) and show ellipsis when the current value is too long 2022-08-23 11:07:02 -06:00
nathan
db7b9f0abb Timesheet: Avoid error when opening list caused by incorrect 'All' value in filter 2022-08-23 08:59:25 -06:00
nathan
81378fe3a5 Calendar: Fix recurring event prompt did not have labels or icons on buttons 2022-08-23 08:54:31 -06:00
Hadi Nategh
6118bf6a7a Fix mail preview in mobile template 2022-08-23 15:57:40 +02:00
ralf
9000b802f6 change width of search in NM to 3/4 = 12em 2022-08-23 15:37:16 +02:00
Hadi Nategh
33b0380985 Make attachments block full size in mail preview & display 2022-08-23 15:11:49 +02:00
Hadi Nategh
739005ad59 WIP Mobile template:
-Fix avatars in addressbook
-Fix filemanager nm header
2022-08-23 14:54:22 +02:00
Hadi Nategh
1d2537c22c Fix mail preview not working in mobile template 2022-08-23 14:03:07 +02:00
Hadi Nategh
e75621fb39 Set default placement for tabs in mobile template 2022-08-23 13:49:20 +02:00
Hadi Nategh
bf6f50f14e Adopt buttons used in mobile template to new buttonIcon widget 2022-08-23 13:14:34 +02:00
ralf
3552fa13e7 only convert buttons without label to et2-button-icon 2022-08-23 12:48:48 +02:00
Hadi Nategh
151fc00641 Adopt toolbar widget to use buttonIcon 2022-08-23 12:44:50 +02:00
Hadi Nategh
83dc0a95f8 Don't let button-icons grow/shrink 2022-08-23 12:42:10 +02:00
ralf
94cec559d6 need to leave the NM header check for et2-button-icon conversation, to not convert [+ Add] in NM header 2022-08-23 11:18:21 +02:00
ralf
e08824b45b drop manual styling of placeholder icon and no longer used multiple account switch 2022-08-23 11:14:07 +02:00
ralf
ef599cb219 drop all size attributes (except SL size: small, large, medium), as it messes up too much
you can always set a width manually, if you don't want flex to share the width equally between input fields
Also removed automatic conversation of image to name attribute for new et2-button-icon, so our image setter can switch between our own icons and the SL icon library
2022-08-23 11:12:10 +02:00
nathan
a73fa72764 Calendar: Fix incorrect week view header 2022-08-22 16:03:40 -06:00
nathan
c82d727b33 Setting a fixed width stops nm search from resizing with clear button 2022-08-22 15:36:03 -06:00
nathan
1b32b124c4 Calendar: Changing date using buttons in toolbar did not update sidemenu calendar to match 2022-08-22 15:04:14 -06:00
nathan
018dd11bd2 Icon improvements:
- Put the default resolver back, otherwise default icons can't be found
2022-08-22 14:58:55 -06:00
ralf
7876fbf710 convert buttons without background_image attribute to et2-button-icon with name="<image-spec>" library="egw" 2022-08-22 22:41:34 +02:00
ralf
95f68a4b3d convert buttons without background_image attribute to et2-button-icon with name attribute instead of image 2022-08-22 22:31:24 +02:00
nathan
0775fd1a4e Icon improvements:
- If Et2ButtonIcon image does not resolve to a egw image, treat it as a Shoelace icon name
- Add egw images as an icon library for Shoelace
eg: <sl-icon library="egw" name="5_day_view"/>
2022-08-22 14:06:23 -06:00
ralf
ffb8354728 move label stuff to Et2Button as Et2ButtonIcon does not need it 2022-08-22 22:00:18 +02:00
nathan
1d5467faab Et2ButtonIcon: Fix icons didn't show
Must use SVGs here
2022-08-22 13:45:06 -06:00
ralf
263f2c867f re-add lost label getter and setter to fix not shown labels in buttons 2022-08-22 20:24:40 +02:00
ralf
b2d9e30b8d fixing widget set readonly="true" in template and $readolys[$id] = false is still readonly
we need to unset readonly attribute, after setting it and before calling transformAttributes, which would set it again
2022-08-22 18:37:11 +02:00
nathan
f0dcc1685d Move our button code into a mixin and extend sl-button to our current et2-button and sl-icon-button to a new et2-button-icon. 2022-08-22 08:44:54 -06:00
Hadi Nategh
68f50ee89b WIP Mobile template: get nm header fields sorted and get the searchbox to have the rest of available space 2022-08-22 16:41:33 +02:00
Hadi Nategh
082d6aa791 WIP Mobile template: Fix some of apps add buttons 2022-08-22 16:19:23 +02:00
ralf
406da0dcec propagate label to et2-button to show it (use label="" to show just the icon) 2022-08-22 14:59:06 +02:00
ralf
6c3df5ad8b fix not translated quick add
caused by _callback not waiting for promise
2022-08-22 14:24:35 +02:00
Hadi Nategh
d3d0216a39 WIP Mobile template: Make all widgets large on mobile template 2022-08-22 13:59:17 +02:00
ralf
9bc90488f7 fix not working readonly attribute (caused by space between equal sign and quote) 2022-08-22 13:53:24 +02:00
Hadi Nategh
54cd616b2c WIP Mobile view: get the nm search boxes the right size 2022-08-22 13:33:55 +02:00
Hadi Nategh
bcf9d6b937 Do not drop the size attribute if we are setting new shoelace size format 2022-08-22 13:29:17 +02:00
ralf
55d540defd fix not working folder search while editing Sieve rules
caused by new et2-select(-*) widget sending query and options as first 2 parameters
2022-08-22 12:05:51 +02:00
Hadi Nategh
d44abbd98a Fix mail rows with flagged are misaligned 2022-08-22 11:47:31 +02:00
nathan
3c6a8c559f Give nm columnselection more width & height 2022-08-19 14:51:32 -06:00
nathan
49e9dc660d Kanban: Adjust styles to better match 21.1
- Changed AvatarGroup to use circle avatars
- Et2Avatar default for shape was overriding what was in attribute
- Fix doubled card contents
- Remove some unneeded classes
2022-08-19 14:33:59 -06:00
nathan
6e30a68121 Get automatic search when more than 20 select_options working for all cases
StaticOptions, change after init previously didn't work
2022-08-19 11:07:16 -06:00
ralf
da2db8ccc0 fix not working contacts in calls list
caused by first set empty value overwriting/removing the this.app, which is no longer available when the real value/id is set
2022-08-19 09:55:08 +02:00
nathan
bfa2477f5b Fix description label did not handle %s
This is the "preferred" way of handling such things with LitElement (in render), over the way Et2Widget has to change the DOM due to extended widgets.
2022-08-18 16:22:39 -06:00
nathan
3038ebcefd Calendar: Fix inserting event into document using context menu 2022-08-18 15:41:05 -06:00
nathan
4318d1c0a5 Put nextmatch column selection into a dialog 2022-08-18 14:47:58 -06:00
Hadi Nategh
c91e5cf218 Remove borders from mail compose header 2022-08-18 11:18:12 +02:00
Hadi Nategh
c052b2e9af Fix toolbar actions have no tooltip set 2022-08-18 11:10:39 +02:00
Hadi Nategh
61013d28cf Get avatar menu in the framework looking like the rest 2022-08-18 10:54:18 +02:00
nathan
24d9d3ef53 Fix search letter cannot be disabled 2022-08-17 16:26:22 -06:00
nathan
dce4ac78fc - Fix some missing column labels in column selection
- Fix column sorting didn't work
2022-08-17 15:48:29 -06:00
nathan
40bbc53af8 Fix Uncaught TypeError: Cannot read properties of null (reading 'app_obj') when clicking a project title.
onclick for nextmatch rows was not getting re-parsed for each row, so it was trying with the original widget from the template instead of the one from the row.
Also accepting widget as argument into compiled legacy code and using it over original context so we don't need to re-compile for each row.
2022-08-17 13:23:55 -06:00
nathan
6caaba1bca Et2AvatarGroup: Show names on hover 2022-08-17 08:53:24 -06:00
Hadi Nategh
3dd525d6d9 Fix misaligned toggled button in toolbar 2022-08-17 16:37:50 +02:00
Hadi Nategh
3844363bde Get contextmenu and toolbar icons react on hover like shoelace does 2022-08-17 15:51:57 +02:00
Hadi Nategh
3f461d0074 Get contextmenu and toolbar menulist closer to shoelace menu styling 2022-08-17 15:32:53 +02:00
Hadi Nategh
98aac39047 WIP getting all legacy menus close to new webcomponent styling 2022-08-17 12:35:36 +02:00
nathan
8747bc2e0c Allow et2-select-email to be focused as first input 2022-08-16 16:49:42 -06:00
nathan
d5d9dd6164 Select + search improvements
- Use et2-search widget with clearable for search
- Add focus(), which opens & focuses search
2022-08-16 16:46:20 -06:00
nathan
0110cdf5f9 Fix error syncing due to missing context 2022-08-16 16:43:18 -06:00
nathan
a7fc04631e Add legacy option for link 2022-08-16 09:44:03 -06:00
nathan
0ae69429b5 Fix CustomFilterHeader did not work properly
Some transformations were not correctly handled, and events were therefor not bound
2022-08-16 09:29:08 -06:00
nathan
8c7cfc3e69 nm - give the reason when it can't generate column name (no IDs) 2022-08-16 09:22:57 -06:00
nathan
660ba3368d Fix missing description label 2022-08-16 09:20:40 -06:00
Hadi Nategh
228f6ceb90 Remove borders from preferences information column 2022-08-16 16:05:15 +02:00
Hadi Nategh
067b6402a1 Make initial height bigger for emailadmin popup 2022-08-16 16:00:40 +02:00
Hadi Nategh
39bf571fc5 Fix mail preview details fields getting misaligned if more than 1 address is set 2022-08-16 15:18:59 +02:00
Hadi Nategh
4fab7c1aaf Fix select apps drop down not being aligned with other fields in infolog and generally in all apps 2022-08-16 11:38:08 +02:00
Hadi Nategh
d63de2aaed Fix mail content not being fully displayed in mail display dialog 2022-08-16 11:21:43 +02:00
ralf
2a7d05a545 fix not camelCase attribute name, sanitize app-names to 16 chars and use "infolog" for CRM-view
still not fully working, as NM controller somehow overwrites it again :(
2022-08-16 10:10:36 +02:00
nathan
ffc4fe36a0 Kanban: Fix display of resources on card by adding Et2AvatarGroup 2022-08-15 15:16:23 -06:00
nathan
95f10b57f3 Et2Image: Check that src from content is valid to avoid overwriting existing src attribute
Happens in Kanban contact, src="email" but email has a value (an email address)
2022-08-15 13:25:08 -06:00
nathan
d5d6d54902 Avoid error if title widget is not an input widget 2022-08-15 10:40:13 -06:00
nathan
6095b0e2ae Fix Et2LinkSearch did not always get correct option when it was loaded with a value
SearchMixin was incorrectly allowing it as a free entry, so it wasn't being properly loaded by Et2LinkSearch
2022-08-15 10:38:19 -06:00
nathan
652e84644b Et2Widget: 'attributes' is read-only in webcomponent, so assign it in to avoid errors
This is used by some kanban column stuff
2022-08-15 10:35:12 -06:00
nathan
ddee9a2b59 Et2Select: Move option rendering into its own function, call it for Et2SelectAccount. This fixes missing option/label in some cases
eg: Kanban edit column Add/Remove assigned
2022-08-15 10:31:49 -06:00
Hadi Nategh
5ff0cd7451 Fix mail preview height 2022-08-15 18:20:01 +02:00
ralf
2a8aa8e7ae some fixes for vfsSearchUI 2022-08-15 17:38:56 +02:00
Hadi Nategh
2b1ad243d0 Drop pixelegg template from Mail 2022-08-15 17:27:01 +02:00
ralf
c0490007ff fix TypeError: _widget.get_value is not a function 2022-08-15 16:48:40 +02:00
nathan
4aa8bbeef9 Calendar: Fix weekend toggle hid more than just the weekend
Bad date logic
2022-08-15 08:45:21 -06:00
ralf
9cd65f1aa4 move group administration from EPL into mainline 2022-08-14 13:55:45 +02:00
Hadi Nategh
a456f509f5 Let the tags styling matches the rest of the framework 2022-08-12 12:46:48 +02:00
Hadi Nategh
3326758a8c Drop pixelegg template from preferences 2022-08-12 12:33:15 +02:00
Hadi Nategh
1cc5c5f7bb Drop pixelegg template 2022-08-12 12:20:57 +02:00
Hadi Nategh
61e52dd2d3 Drop pixelegg template from addressbook and filemanager 2022-08-12 12:12:15 +02:00
ralf
8b45483c68 fix not working "use enddate" in edit or quickadd
also fix not displayed month in header and add translation of month or week-day names
2022-08-12 11:38:15 +02:00
ralf
9e83b12413 fix installation check to report and verify display_errors=0 as Off
was caused by comparison with "" and "" != "0", replaced with false now
2022-08-12 08:48:44 +02:00
Hadi Nategh
b5b3c873cf Drop ViewerJS 2022-08-11 15:58:33 +02:00
Hadi Nategh
c082831ad9 Fix password dialog 2022-08-11 15:43:56 +02:00
ralf
3d97fccb61 only rows > 1 switches on multiple
in some places we have rows="1", which des nothing at all previously, removing it now
fixes errors e.g. in AB where the category filter returned [] (empty array) for "All addressbooks" causing a server-side PHP 8 error (Invalid index)
2022-08-11 14:14:33 +02:00
Hadi Nategh
83df26d28b Add missing compiled css 2022-08-11 13:16:41 +02:00
Hadi Nategh
9b7fe9403b Drop pixelegg template from admin 2022-08-11 13:15:30 +02:00
Hadi Nategh
c111d8526b Drop pixelegg template from infolog app 2022-08-11 12:52:15 +02:00
Hadi Nategh
d76538b404 Fix titles alignment in mail details box 2022-08-11 11:28:04 +02:00
ralf
429886139b change default remoteQuery to send query and options as parameters and additional as GET parameters
to support old taglist style callbacks and the select callbacks
2022-08-11 11:24:07 +02:00
Hadi Nategh
b226f46014 Fix calendar's header margins 2022-08-11 11:23:11 +02:00
ralf
458519800d removing tiny left padding and big right margin from [+] button in calendar NM header 2022-08-11 11:15:22 +02:00
Hadi Nategh
5cb0bc647c Fix left padding messing up the app icons 2022-08-10 16:11:22 +02:00
ralf
e38d0709b7 fix <description /> causes all sorts of problems (by replacing it separate)
for <select rows="N" also switch on multiple, as old eTemplate2 did
fixes tracker site configuration did not allow to select more than one staff member
2022-08-10 15:44:48 +02:00
Hadi Nategh
17c462d04e Drop pixelegg extra styles from timesheet 2022-08-10 15:28:00 +02:00
ralf
cad42eb6aa fix validation of taglist now send to select, specially using "id" attribute, if there is no "value"
also check modifications of select_options, as done in preferences
fixes not validating mail preferences: toggleOnActions and contactLabel
2022-08-10 14:39:19 +02:00
Hadi Nategh
1dedad6a3e Remove hover background color from vfsPath 2022-08-10 13:47:26 +02:00
Hadi Nategh
611aae7b34 Fix missing gap in filemanager nm header 2022-08-10 13:45:25 +02:00
Hadi Nategh
e7bf61e9f4 Remove size from textbox as it would literally set a width for the input field 2022-08-10 13:36:03 +02:00
ralf
75a263a047 automatic enable search for more than 20 options on Birgits request 2022-08-10 13:29:15 +02:00
ralf
a54c100470 fix email selection after changing selects client- and server-side to no longer send id attribute, but value
thought we still accept id, if there is no value
2022-08-10 13:28:48 +02:00
Hadi Nategh
b59b4ff2aa Change default input focused color 2022-08-10 13:15:24 +02:00
Hadi Nategh
e41af3d7ce Fix filemanager symlink icons and removes background from vfsPath 2022-08-10 13:13:29 +02:00
Hadi Nategh
6471396192 Fix calendar's description field 2022-08-10 10:37:40 +02:00
Hadi Nategh
018065d30c Fix too much gap from subject field in mail 2022-08-10 10:12:39 +02:00
ralf
aacb889da3 fix some broken image urls 2022-08-09 17:31:35 +02:00
ralf
9ddfba4a24 fix no category was selected (because of numeric value) and color was not shown 2022-08-09 17:24:28 +02:00
ralf
cb63269598 style former buttons without background-image, which are now just an et2-image with a more fitting height
preprocessor rewriting them adds class imageButton giving the image a height of 20px, like the image in buttons has
2022-08-09 16:54:21 +02:00
ralf
259bc4cd71 fix not working click on URL
static method Et2Url.action() can NOT use this.egw(), but global egw
2022-08-09 16:46:57 +02:00
Hadi Nategh
5f67bd720a Fix shoelace inputs outline focused color 2022-08-09 16:46:19 +02:00
ralf
e438f89371 allow whitespace after last attribute eg. <description value="Something" /> 2022-08-09 16:05:22 +02:00
Hadi Nategh
cc59648453 Fix avatar sizing 2022-08-09 15:54:05 +02:00
Hadi Nategh
1a32718e62 Override some of the shoelace tab's styling 2022-08-09 15:53:29 +02:00
ralf
90cb916d32 fix PHP Fatal error: Declaration of calendar_owner_etemplate_widget::ajax_search($search_text, $search_options = []) must be compatible with EGroupware\Api\Etemplate\Widget\Taglist::ajax_search($search_text = null, array $search_options = []) 2022-08-09 15:42:12 +02:00
ralf
0e2d1cb15d fix broken index templates 2022-08-09 15:37:15 +02:00
Hadi Nategh
281047e2cc Keep the original outerNode top offset as we need it later for NM height calculations 2022-08-09 15:17:58 +02:00
ralf
56f103b21c another change to make preprocessor more tolerant with > in attributes
eg. label="> %s"
fixes Admin >> Applications >> EPL Functions >> CTI
2022-08-09 15:15:17 +02:00
ralf
b9da68dd7f making preprocessor more tolerant with > in attributes
eg. <description value="Use Admin >> Site config"/>
2022-08-09 13:03:14 +02:00
Hadi Nategh
5f2d0d5bdd Fix toolbar menulist not having enough width 2022-08-09 11:00:10 +02:00
ralf
ea0cbd0441 account selection currently only need to use server-side search, for pref "Primary group and search"
for all other types the local search is sufficient, as everything is already local!
fix Taglist::ajax_search for accounts to pass the icon to client-side and always set value instead of id
2022-08-09 10:47:57 +02:00
ralf
280bbcb827 fix xml special char > was not written as entity and causing preprocessor to fail 2022-08-08 18:37:57 +02:00
ralf
7c976d7fdd fix et2-checkbox onChange not called 2022-08-08 18:32:43 +02:00
ralf
e1c8acddc1 fix egw.request() to return simple / non-json-responses, like egw.json() does 2022-08-08 17:28:51 +02:00
ralf
e7eb9f42e3 fix many errors around et2-select emulating old taglist:
- preprocessor: translate attributes autocomplete_url -> searchUrl, autocomplete_params -> searchOptions, and allow options
- sending search query as URL/GET parameter with default of app: <appname>
- handle searchUrl like allowFreeEntries by adding selected result to select_options via createFreeEntries, as they otherwise get removed by fix_bad_value not finding the value in select_options
- change taglist validation (again) to not validate search values
- still requires changes in application code, as taglist always behaved like multiple=true (returning and expecting an array of values) and did automatically search from client-side for it's initial value(s)
--> maybe more changes are in order to NOT require changing application code
--> fixes editing Sieve rules
2022-08-08 17:28:51 +02:00
Hadi Nategh
b0d1d82736 Remove hover color from toolbar's admin settings button 2022-08-08 16:34:29 +02:00
Hadi Nategh
0d727f59fd Fix click handling for attachment's summary is not working 2022-08-08 14:47:01 +02:00
ralf
79a395e3e6 fix missing scrollbar in longer then visible dropdown 2022-08-08 14:44:37 +02:00
ralf
7f36de45a4 take symlink indicator from api not old etemplate app
Using LGPL licenses GNOME icon: https://de.wikipedia.org/wiki/Datei:High-contrast-emblem-symbolic-link.svg
2022-08-08 14:12:20 +02:00
ralf
b4438dbc03 fix images in tile-view have all sorts of heights, specially in /apps 2022-08-08 13:46:07 +02:00
Hadi Nategh
301d38796f Still set width for buttons with only icon and remove the extra left padding in this case as we want the button and icon be square 2022-08-08 11:57:02 +02:00
ralf
2017bd8261 remove legacy widgets dropdown_button and favorites 2022-08-07 12:09:02 +02:00
ralf
d9d14f1e2a implement appicon as web-component and remove/replace legacy et2_widget_image with stubs 2022-08-07 11:55:02 +02:00
ralf
29ac5d82a9 remove legacy widgets url-*, colorpicker and tabs 2022-08-07 11:02:54 +02:00
ralf
4a17d9e2ac fix JS errors caused by using widget.node instead of widget.getDOMNode() 2022-08-07 10:12:26 +02:00
ralf
ba35be1d86 Change Et2Checkbox to behave closer to legacy et2_widget_checkbox and thereby fixing all sorts of errors with it.
Fix vfsSelectUI to be able to select files again with click on the row and only submit selected files.
Also change Et2Widget.iterateOver and legacy et2_widget.interateOver to be called with new web-component classes like Et2Checkbox. Also make Et2Widget matching all widgets by default like et2_widget.
Remove legacy et2_widget_checkbox code.
2022-08-07 10:10:33 +02:00
ralf
35cff9c978 set width of mime icon to 16px as it was before 2022-08-06 12:16:05 +02:00
ralf
7e81b69b74 support empty attribute values 2022-08-06 12:11:41 +02:00
ralf
4ff66f0fd7 replace removed check.png with its .svg counterpart 2022-08-06 09:18:39 +02:00
ralf
239a81e6d9 replace et2_link_add with a stub and no longer include it in etemplate2.ts 2022-08-06 08:38:16 +02:00
ralf
49aba7193d adapt tab-activation on validation error to new tabs and additionally scroll widget into view 2022-08-05 20:33:29 +02:00
ralf
bb28500ef7 fix mail preferences could not be saved 2022-08-05 20:20:46 +02:00
nathan
e8a93ab782 Handle initial value sometimes not set after Shoelace version bump 2022-08-05 11:32:59 -06:00
nathan
36d74dd91f Select search term after selecting a search result 2022-08-05 11:10:50 -06:00
nathan
e67c3d6e61 Et2Tabs: Implement et2_IResizable 2022-08-05 11:01:26 -06:00
ralf
1ab53dec86 fix JS error 2022-08-05 18:59:30 +02:00
ralf
b22674dbd7 change tabbox to be an input widget allowing to get and set the active tab 2022-08-05 17:37:23 +02:00
Hadi Nategh
59ff16f98b Update mail display template for attachments change 2022-08-05 16:57:42 +02:00
Hadi Nategh
a26dba5d27 Move mail attachments box under details 2022-08-05 16:55:18 +02:00
Hadi Nategh
2593acf303 Let the button with no label set and only icon be square 2022-08-05 16:25:47 +02:00
ralf
7a3d017f10 forgot the css 2022-08-05 16:02:24 +02:00
ralf
4ec4a5936b fix wrong image url 2022-08-05 16:01:11 +02:00
ralf
dd76b88af4 fix wrong image urls 2022-08-05 15:59:22 +02:00
ralf
bb64f947f5 fix wrong image url 2022-08-05 15:54:20 +02:00
ralf
c228d5b435 fix wrong url in mail css 2022-08-05 13:31:57 +02:00
Hadi Nategh
3fe7398b18 Fix some of calendar's toolbar actions not having icon or caption 2022-08-05 13:03:59 +02:00
Hadi Nategh
10b61cc612 Finish up loading animation if the active tab is an old etemplate 2022-08-05 12:53:56 +02:00
Enver Morinaj
f17cf1ee0e Update fw_mobile.js
Google Chrome returns this error when using EGroupware on mobile:
VM6367 fw_mobile.js:487 Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD
2022-08-05 10:27:56 +02:00
nathan
a3227c81e8 Infolog: Fix weird sizing on right column of details tab 2022-08-04 16:27:08 -06:00
nathan
fb94a47df1 Et2LinkSearch: Avoid error if title couldn't be found 2022-08-04 16:25:44 -06:00
nathan
b88ce18639 Fix invalid template names caused by appending cache_buster incorrectly
38721229b0
2022-08-04 16:15:04 -06:00
nathan
045f322bf6 Et2Select changes:
- Position search & edit inputs to avoid reflow
- When editing a freeEntry, blurring accepts the current value, before it canceled the edit
2022-08-04 15:50:52 -06:00
nathan
f08eaa9fdc Et2Colorpicker: Turn on clear value button 2022-08-04 14:03:28 -06:00
nathan
098c2ab3f0 Fix some issues from the shoelace version bump
- SlSelect.getItemLabel() not there anymore
- SlSelect.menuItems is now a real list, and fails when parent tries to write to it
- Tabs didn't hide properly when not active, giving a scrollbar
2022-08-04 13:47:16 -06:00
nathan
6b1a477de8 Bump Shoelace version - it's got some colorpicker improvements I want 2022-08-04 13:41:43 -06:00
nathan
97daa9a731 WIP Fixing colorpicker - moving it to be based on Shoelace 2022-08-04 13:08:34 -06:00
ralf
3c4b03ca3c * SAML/Univention: support for Univention SAML IdP for SSO incl. docu 2022-08-04 20:10:23 +02:00
ralf
7bcfdbfa5e fix spelling 2022-08-04 20:03:43 +02:00
ralf
d540576656 do NOT allow to call Api\Etemplate\Widget\Link::ajax_delete() without a positive link_id 2022-08-04 19:37:23 +02:00
nathan
78acaba766 Et2LinkList: Fix deleting links on unsaved entries deleted more than expected 2022-08-04 10:47:06 -06:00
nathan
111e337db1 Avoid error when getting tab height from parent 2022-08-04 09:19:04 -06:00
nathan
ae4b8de4e5 Remove setting textContent twice. If needed, loadFromXML() will handle it. 2022-08-04 08:59:40 -06:00
Hadi Nategh
47825f1be3 Override default color-indicator from shoelace 2022-08-04 16:31:14 +02:00
Hadi Nategh
de699325a6 Set a smaller font-size for tab's label 2022-08-04 16:19:30 +02:00
Hadi Nategh
24f280d4fc Fix quick add dropdown menu not being aligned 2022-08-04 15:44:31 +02:00
Hadi Nategh
fd8f6c2f07 Remove border from toolbar 3dots menu-button 2022-08-04 12:37:45 +02:00
Hadi Nategh
797600f899 Some styling improvements for mail preview 2022-08-04 12:29:42 +02:00
Hadi Nategh
2369daa2e8 Add toggle alignment option into Et2Details widget 2022-08-04 11:40:27 +02:00
ralf
8ff468520d fix not shown bullet image in setup by including and using it from setup/templates/default/images/
the svg in api does not look any good in setup's old template :(
2022-08-04 10:46:13 +02:00
ralf
509fbd73e9 fix JS error, if user has no preferences or favorites 2022-08-04 09:08:46 +02:00
nathan
e1af1f3765 Make sure nextmatch header row filters have enough space
ACL dialog needed this - 14% is too small
2022-08-03 16:30:14 -06:00
nathan
aabda23bbd Et2Select: Turn on hoist, we want it on more than off
In particular, ACL dialog, but there's a bunch of other places too.
2022-08-03 16:28:18 -06:00
nathan
bddcf72728 Get collabora placeholder dialog working again in trunk 2022-08-03 16:05:50 -06:00
nathan
f7cf372f09 Et2Select: Better handling for when select_options & value get set one after the other
This caused selectbox to look empty, even though it had a value since the new menu-items hadn't been created when value was set
2022-08-03 16:04:08 -06:00
nathan
ed92763176 Et2LinkAppSelect: Make proper SelectOptions out of app list 2022-08-03 15:30:22 -06:00
nathan
6b072932bd Addressbook: Hide "Change all organisation members" label when checkbox is disabled 2022-08-03 13:52:06 -06:00
nathan
462f5bb55d Fix widget without ID breaks submit 2022-08-03 11:45:45 -06:00
nathan
44c331f69d Fix buttons with image but no label didn't always size correctly 2022-08-03 11:33:37 -06:00
nathan
e984ccf9a4 Fix double categories in nextmatch 2022-08-03 10:51:28 -06:00
nathan
054ac0fa62 Fix extra vertical scrollbar due to tab padding 2022-08-03 10:35:53 -06:00
nathan
e689d0c49d Improve styling of nm header row and widgets inside 2022-08-03 10:14:52 -06:00
nathan
0f729b7a1b Center image in button when it has no label 2022-08-03 10:10:28 -06:00
Hadi Nategh
417851b7b6 Fix some of the styling issues regarding Et2Switch used in calendar toolbar 2022-08-03 17:26:14 +02:00
Hadi Nategh
42ccb288f0 Fix Et2Switch in toolbar is not draggable 2022-08-03 17:25:17 +02:00
Hadi Nategh
420a491e34 Set width and height for slot label 2022-08-03 17:24:43 +02:00
ralf
bd555ec4d1 fix JS error, if we have no image and no _iconNode 2022-08-03 16:27:23 +02:00
ralf
c3673b1126 ported timestamper to a web-component
also implemented legacy methods activateTab() and setActiveTab() for new tabs widget
2022-08-03 15:48:35 +02:00
Hadi Nategh
839f5f9284 Use Et2Switch for toolbar 2022-08-03 13:41:58 +02:00
Hadi Nategh
67b5c31404 Implements Et2Switch widget extended from shoelace switch 2022-08-03 13:41:08 +02:00
ralf
56464a3ce2 add a property isSlComponent so constructor can explicitly set it, for components without a handleChange method 2022-08-03 11:39:06 +02:00
ralf
b00136f178 coping with new et2-tab-box widget:
- change preprocessor to always us it
- giving tab-panels again some padding-top
- change et2_grid to NOT set a width, if cell has a colspan
- switching table-layout: fixed off again, as it does not work well with infolog.edit
- remove dropped Chosen, jQuery-UI, MagicSuggest and old blueimp gallery from Gruntfile
- simplified infolog.edit a bit, which gives better results
2022-08-03 10:57:49 +02:00
nathan
ddfee2483d Turn on table-layout: fixed since it seems to help a little, as long as everything has enough space.
It is likely to cause an overflow if there isn't enough space when leaving it out could let the browser pack things in better
2022-08-02 16:55:47 -06:00
nathan
7375768e25 Fix tabs=>extraTabs did not validate properly 2022-08-02 16:45:01 -06:00
nathan
9530f693e0 Set ID for tab contentDiv 2022-08-02 16:40:27 -06:00
nathan
40e3d6e459 Better sizing for buttons with only image, no label
Doesn't skip effects of flex though
2022-08-02 16:38:52 -06:00
nathan
1a8c1c2d35 Avoid errors that happen if you try to remove a non-element child from a webComponent 2022-08-02 16:37:01 -06:00
nathan
d438b4e355 Use webcomponent for tabs
+ handle tabs set by variable better
2022-08-02 14:53:15 -06:00
nathan
87198dc7a8 Remove class that gave tabs extra padding 2022-08-02 11:36:10 -06:00
nathan
4d28ab392b Addressbook: Fix North American address field sizing 2022-08-02 11:04:50 -06:00
nathan
db143f047a Change tabs to use Shoelace
Includes changes to historylog, since it did some deferred loading & sizing magic based on tab
2022-08-02 10:33:04 -06:00
ralf
358a6a8ac8 more icon fixes for login page 2022-08-02 15:55:07 +02:00
ralf
d0494ce286 fix "No appropriate target application" error when trying to open a directory in filemanager with a double click
caused by et2-image href attribute being set to the row-id / vfs-path and causing et2-image click handler to call egw.open_link with the vfs-path as url
overwriting _handleClick now for et2-vfs-mime to only call expose, but never the parent (et2-image) _handleClick, so action-system get a chance to handle it
2022-08-02 14:59:03 +02:00
ralf
d9c28d5a1e directly return from applyFilters() if the NM controller is not (yet) instantiated 2022-08-02 14:53:34 +02:00
ralf
f699c36a47 fix getAppName sometimes reports "phpgwapi" from this.appName causing eg. attachment icon in filemanager to come from old phpgwapi directory 2022-08-02 14:52:20 +02:00
ralf
5d1ccb55a0 fix some more missing images in calendar 2022-08-02 14:03:52 +02:00
ralf
db1aef1780 remove removed logo164x164.png from manifest.json 2022-08-02 09:48:54 +02:00
ralf
e14901de37 fix use of removed check.png --> check.svg 2022-08-02 09:43:55 +02:00
ralf
8da571cdc1 fix a couple of broken image urls, after moving images from pixelegg to api/default 2022-08-02 09:28:43 +02:00
Hadi Nategh
ea11a28868 WIP converting toolbar subwidgets to use wc widgets 2022-08-01 17:59:40 +02:00
Hadi Nategh
66394b3e29 Take images with egwURL format into account 2022-08-01 16:02:50 +02:00
ralf
ab0bf89d17 fix missing icons in quick_add after move of images
also added invisible emptyLabel to not select first one
2022-08-01 12:02:40 +02:00
Hadi Nategh
21b83cfc80 Fix some icon issues 2022-08-01 11:18:00 +02:00
ralf
873dcb126f implement deprecated set_suggest to fix JS errors from apps calling it (mail) 2022-07-31 11:43:20 +02:00
ralf
bcff7ab4dc fixing pixelegg less/css files to address images in default/images
remove no longer necessary pixelegg/images symlink to default/images
revert hint.png as the pixelegg one was never used
2022-07-31 10:49:35 +02:00
ralf
649f4df511 change image urls in pixelegg from ../images/ to ../../api/templates/default/images/ 2022-07-31 10:25:01 +02:00
ralf
bea70f5a7c move pixelegg/images to api/templates/default/images and delete png and gif, if we have a svg 2022-07-31 10:15:28 +02:00
ralf
b1660cc799 fix missing-eT2-request redirects sometimes use the webserver_url twice and therefore getting a 404 Not found 2022-07-31 09:29:43 +02:00
nathan
c3a8d40914 Stop webcomponent labels disappearing 2022-07-29 08:58:44 -06:00
ralf
0141cba334 fix sharing password in mail.compose 2022-07-29 15:29:51 +02:00
ralf
125a8abf61 only call widget.resize() if it's a function:
- web-components do not implement it
- et2-textarea / SlTextarea uses resize as a property name
--> we can postpone the decision, if we need an explicit resize handler for our web-components, or using flex is sufficient, for now
2022-07-29 15:29:51 +02:00
Hadi Nategh
14252a471c Expand textarea to 100% height 2022-07-29 15:00:14 +02:00
Hadi Nategh
0a9693ca17 Set proper mail template according to its pane mode 2022-07-29 13:26:58 +02:00
ralf
3a92e104da fix TypeError for account-selection type "primary_group" 2022-07-29 09:24:57 +02:00
nathan
6bf74dcb11 Fix buttons that have icon & label did not always get both
Statistic submit cancel button, for example
2022-07-28 13:06:18 -06:00
nathan
d4cbafc5a8 Change textbox to be based on Shoelace instead of Lion 2022-07-28 11:21:07 -06:00
nathan
827a10376a Make checkbox label change color on hover 2022-07-28 10:54:08 -06:00
nathan
7a05318d49 Make checkbox vertically line up with surroundings 2022-07-28 10:36:20 -06:00
nathan
04ac4d6045 Readonly checkbox 2022-07-28 10:28:22 -06:00
nathan
e1885983d5 Hopefully fix missing non-reflected attributes in nm rows without too much of a speed penalty 2022-07-28 09:57:58 -06:00
ralf
0113a93ffd move images from pixelegg to default and drop png or gif, if we have an svg 2022-07-28 17:56:34 +02:00
ralf
eedda315f8 remove old css, fix misalignment of region 2022-07-28 17:22:20 +02:00
Hadi Nategh
6378d589f2 No border for readonly emails in mail preview 2022-07-28 16:54:53 +02:00
Hadi Nategh
cfd12b4ec9 Fix smime indicators in preview 2022-07-28 16:39:47 +02:00
ralf
76b8a783e5 fix date-time_today was not converted to et2-date-time-today 2022-07-28 16:34:25 +02:00
Hadi Nategh
5c637e47be Use et2-details for mail from and attachments 2022-07-28 15:32:33 +02:00
Hadi Nategh
53baf00ebf Add max-height to Details content container 2022-07-28 15:31:45 +02:00
Hadi Nategh
8b4b66a17e Make default avatar shape "rounded" 2022-07-28 15:09:19 +02:00
Hadi Nategh
47469c3842 Fix tnef attachments fails for first time read 2022-07-28 15:03:56 +02:00
Hadi Nategh
e0b4c5f6af Implements Et2Details webcomponent widget 2022-07-28 15:01:17 +02:00
ralf
49762fa4dc fix Safari (at least 15.5) gives error link-registry not defined
caused by not implemented navigator.registerProtocolHandler()
2022-07-28 14:23:36 +02:00
ralf
4d026ce88c fix NM header row alignment 2022-07-28 10:27:54 +02:00
ralf
47817e4df5 fix size and alignment of image only button
padding-left: 1px also looks nicer for buttons with image+label
2022-07-28 10:08:17 +02:00
nathan
7df2876d8a New checkbox webcomponent based on SlCheckbox 2022-07-27 15:51:32 -06:00
nathan
0186714112 Et2DateDuration improvements:
- If display.unit is not set, show the first unit option instead of blank selectbox
- Move number spinner to edge of box so numbers have more space
2022-07-27 13:36:04 -06:00
nathan
e9f0a5216b Fix missing button images when image was not set before first update 2022-07-27 13:03:44 -06:00
nathan
93167940f8 Fix validation errors were not visible, improve required css
It looks weird if you use et2_required class instead of setting required attribute.
2022-07-27 11:33:14 -06:00
ralf
38721229b0 inject preprocessor and (daily) cache-buster for templates in dialog widget
also allow for a xml comment inside the deprecated menulist tag
fixes Admin ACL popup
2022-07-27 17:54:09 +02:00
Hadi Nategh
77b475b5e6 Set mail column selection base on PreviewPane mode 2022-07-27 15:49:55 +02:00
Hadi Nategh
e7e538fffe Fix mail preview blank page styling 2022-07-27 15:37:03 +02:00
Hadi Nategh
6ac41f0495 Add part to ET2Box base container 2022-07-27 15:31:09 +02:00
Hadi Nategh
7c053d9dad Implement new mail attachments block actions 2022-07-27 14:21:29 +02:00
ralf
0ad3cf9832 fix not working onchange with Shoelace components: need to bind sl-change instead of change
adding change handler to invoker mixing to enable/disable invoker when value changes
2022-07-27 12:33:37 +02:00
ralf
1b9e2367e1 fix stalled save in AB caused by no _labelNode / label set 2022-07-27 12:10:39 +02:00
ralf
c12ce8e302 fix commented button broke xml after preprocessor 2022-07-27 12:01:40 +02:00
ralf
dbdb124c1c fix not displayed selected account, caused by egw.accounts() returning value as number, not string 2022-07-27 11:46:45 +02:00
ralf
e1097d9ea3 fix <button...></button> was removed and reorganized preprocessor to only consider boxes for <overlay legacy="true"> 2022-07-27 11:04:08 +02:00
ralf
879fb84229 automatic focus on first et2-textbox too, not just input 2022-07-27 10:29:31 +02:00
ralf
6db4327705 fix/hack NM header row styling 2022-07-27 08:48:27 +02:00
nathan
2394831083 Switch Et2Button base from LionButton to SlButton 2022-07-26 16:23:27 -06:00
nathan
02ac53ead9 Fix unable to type a space in a searchbox
egw_keymanager did not recognize et2-searchbox as an input node it should ignore, so was grabbing every keystroke on every select / search / textbox
2022-07-26 14:23:55 -06:00
nathan
17012f6f25 Fix some readonly / readOnly bugs that snuck in when textbox was converted from Lion to Shoelace 2022-07-26 13:56:17 -06:00
nathan
5b76c8b16d Fix et2-date-duration would no longer return a value 2022-07-26 13:31:20 -06:00
nathan
de73241166 Fix historylog multi-part entries did not actually show values
Also deals with some issues setting and missing cleaning of select_options
2022-07-26 11:41:07 -06:00
ralf
9f15169ced convert hierarchical options / optgroups to a flat list and enable search for more than 100 options automatic
fixes timezone selection in preferences
2022-07-26 18:57:18 +02:00
ralf
9fe7b22d1f use method to parse and serialize attributes 2022-07-26 18:00:12 +02:00
ralf
737311d829 fix lost owner 2022-07-26 17:37:13 +02:00
ralf
656c155951 fix button tags over multiple lines were not processed correctly 2022-07-26 17:36:34 +02:00
nathan
df0b4f3afb Fix free entries didn't get added properly for static option selects 2022-07-26 09:15:05 -06:00
nathan
c45661bbe4 Et2Select: No horizontal scrollbar on options 2022-07-26 09:12:52 -06:00
ralf
dee28cb53f noLang only affects options, label, statustext, placeholder, emptyLabel get always translated 2022-07-26 15:46:42 +02:00
ralf
aa80b4027a fix not translated tooltip, select options and emptyLabel 2022-07-26 15:06:07 +02:00
ralf
6afd07da03 * Calendar/Mail: allow every participant to apply changes from extern organizer and warn if sender is not identical to iCal organizer or participant 2022-07-26 14:13:31 +02:00
Hadi Nategh
9c29863079 Fix from/to addresses in mail preview getting duplicated 2022-07-26 13:22:54 +02:00
Hadi Nategh
e9c4694d09 Fix attachments and details box styling 2022-07-26 11:40:50 +02:00
Hadi Nategh
90817b3475 Fix from mail address in the list disturbing the row selection 2022-07-26 11:03:27 +02:00
ralf
22a320ea48 forgot to commit adding install_mailto_handler whitelisting for client-side 2022-07-26 10:07:18 +02:00
ralf
f5cf39f224 allow to disable installing EGroupware as mailto handler globally 2022-07-26 10:05:43 +02:00
nathan
aace76b97a Fix camelCased attributes didn't work for more than 1 underscore
Also fixes vfsSelect destroyed session
2022-07-25 16:12:09 -06:00
nathan
bdc74303bb Fix multi-part history fields gave error during creation due to not recognising that it was multi-part
"Uncaught TypeError: Cannot read properties of undefined"
2022-07-25 13:55:55 -06:00
nathan
66164ad2eb Fix disabled widgets returning a value
Fixes calendar event created via quick add, duration is wrong
2022-07-25 13:32:06 -06:00
nathan
1a4badfabd Calendar: Fix some webcomponent sidebox / filter issues
- category could not be cleared
- webcomponents did not always reflect state values
2022-07-25 11:11:51 -06:00
nathan
ab9cde60eb Don't error when validating any remaining Lion widgets 2022-07-25 09:06:32 -06:00
Hadi Nategh
cd7f2eea60 WIP Mail styling:
- Make display dialog similar to preview
2022-07-25 16:35:59 +02:00
ralf
fedfc78fb6 fix JS error for selected === undefined 2022-07-25 11:59:58 +02:00
ralf
010197b8af get merge to merge jpegphoto too and save can store it in filesystem 2022-07-25 11:19:41 +02:00
ralf
2e5b87a6e1 fix typo in docu 2022-07-25 11:19:41 +02:00
Hadi Nategh
47baa7540c Revert unintentional action handler caused mail's display function no longer working 2022-07-25 11:15:55 +02:00
ralf
89d7876bea * Mail: do NOT fail setting ACL recursive on folders, if single folder fail (eg. wrongly in subscription file)
reporting number of succeeded folders and names of failed folders plus error
2022-07-25 11:06:40 +02:00
ralf
1058347c0a trying to fix FF poping up install mailto-link message constantly, when changing content in an iframe / reading mail 2022-07-25 08:35:34 +02:00
ralf
79df51dbbb show "Search" as placeholder
fix sometimes not modified <textbox by adding it to ADD_ET2_LEGACY_PREFIX_REGEXP too
2022-07-24 09:31:58 +02:00
nathan
7c925e5264 Fix search sometimes got undefined as value, breaking initial render() 2022-07-22 13:54:31 -06:00
nathan
35178fec62 Fix some sizing issues 2022-07-22 13:31:13 -06:00
nathan
4880a5ae74 Fix adding calendar participants did not give correct values due to missing type indicator 2022-07-22 13:25:38 -06:00
ralf
ac0867ab77 implement et2-searchbox and using it in NM
reorganized preprocessor a bit to fix some not replaced size attributes
also pass on constructor args in all Et2Url widgets

There is still a JS error in new searchbox, causing admin searchbox to not render :(
2022-07-22 20:43:09 +02:00
nathan
3cb8b1ecce Get select hover border back 2022-07-22 10:44:37 -06:00
ralf
0044398090 fix preprocessor was not replacing all size attributes with width for web-components 2022-07-22 17:20:44 +02:00
nathan
8a53646188 Fix some textboxes refused to flex smaller than 160px 2022-07-22 09:04:14 -06:00
nathan
a0467b2e55 Fix JS error about can't find input box from init() 2022-07-22 08:42:35 -06:00
ralf
b8ffa91efe use et2-textbox instead of an input for et2-date* to inherit SL styling 2022-07-22 15:45:47 +02:00
ralf
888b518e9b implement et2-password web-component replacing passwd legacy widget
enabled Et2InvokerMixin to use an image instead of a textual label
also remove et2_fullWidth CSS class from all web-components in the preprocessor
2022-07-22 15:21:40 +02:00
Hadi Nategh
862d355e77 WIP mail list and preview styling 2022-07-22 15:08:32 +02:00
ralf
e90ae88a20 fix preprocessor and transformer can't know if application widget is a web-component or a legacy widget
- white-list now records-* like et2-* widgets for camelCase attribute names
- server-side transformer also transforms attribute-names to camelCase for widget-type et2-*
- client-side transformAttributes() also transforms attribute-names to camelCase for widget-type et2-*
--> hopefully this can be dropped, once als widgets are web-components
2022-07-22 11:08:55 +02:00
ralf
ec8c38b882 * Mail: register EGroupware as protocol handler for mail, you need to click on the double-diamond in the url bar and confirm it 2022-07-22 09:43:37 +02:00
ralf
817aba5af6 fix custom fields (somehow input widgets had no readonly) and some JS errors
Et2Number still misses styles, thought it extends Et2Textbox
2022-07-22 09:03:54 +02:00
ralf
7b36c24dde updated browser-list 2022-07-21 23:24:50 +02:00
ralf
62470de869 fix not shown avatar image in addressbook.edit due to camelCase attribute names 2022-07-21 22:52:35 +02:00
ralf
3b1921b150 fix some width/size settings, though something wired happening with Room 2022-07-21 22:36:06 +02:00
nathan
ea20784e31 Get Invoker buttons back after changing Et2Textbox base
379ceeb3e5
2022-07-21 14:05:53 -06:00
nathan
2b848622fb Add missing validator variables 2022-07-21 13:45:24 -06:00
nathan
68849a2b79 Use et2-select & et2-textbox in Et2DateDuration for consistent styling 2022-07-21 13:32:06 -06:00
nathan
379ceeb3e5 Switch Et2Template to extend SlInput instead of LionInput
Also includes changes to how validation messages are handled to use our own stuff
2022-07-21 12:39:00 -06:00
nathan
e4f8c88e1e Map template attribute size="#" => width="#ex" to avoid conflict with Shoelace size attribute 2022-07-21 11:33:42 -06:00
ralf
39a3ef8183 rename parent_node to parentId, as parentNode is already a DOM property 2022-07-21 19:29:43 +02:00
ralf
b9d96ea3e9 change all attribute-names of new et2-* widgets to camelCase
only exception is select_options, never used in templates
2022-07-21 17:57:50 +02:00
ralf
b1da5b05a9 remove not used Et2Taglist 2022-07-21 17:22:47 +02:00
ralf
09ddb72299 npm audit fix 2022-07-21 13:54:50 +02:00
dependabot[bot]
39f9ba9508 Bump terser from 4.8.0 to 4.8.1
Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 13:51:07 +02:00
ralf
50eabfd290 fix not changed nextmatch-customfilter and listbox (old alias of select) 2022-07-21 12:10:58 +02:00
Hadi Nategh
679a589c25 Add image property in avatar into detached attributes 2022-07-21 12:02:23 +02:00
ralf
d26ed9bfce fix not displayed r/o et2-select-cat values 2022-07-21 11:50:05 +02:00
nathan
123ca38d65 Fix changing selected link entry still kept the original value 2022-07-20 15:05:05 -06:00
nathan
f72b842031 Let search take full size - empty label margin was taking some 2022-07-20 15:03:15 -06:00
nathan
4b73a80699 Fix missing label / icon in delete folder confirmation
Some other et2_dialog->Et2Dialog changes
2022-07-20 14:23:55 -06:00
nathan
6c315301aa Get link-to buttons looking better by switching to et2-button 2022-07-20 11:27:18 -06:00
ralf
711eac8934 fix Admin > Mail account to work in master:
- using <et2-select-account multiple="true"
- convert from account_id=0 --> [] and back for saving
- remove TS code switching multiple on and off via previously removed button
--> must not be back-ported to 21.1!
2022-07-20 19:12:12 +02:00
nathan
74ed8380ca CSS change - Make label on left the default label position (shoelace widgets)
Use 'et2-label-fixed' for fixed size labels, set --label-width to change the width
2022-07-20 09:58:04 -06:00
nathan
af9aaa25de Remove warning 2022-07-20 08:12:16 -06:00
Hadi Nategh
4e4a24ea1d Fix smime icons 2022-07-20 12:53:57 +02:00
ralf
789d2c9748 setting full_email for select-email widgets (aliases & forwards) and label-on-left for smtp&sieve port (does NOT yet work) 2022-07-20 08:56:18 +02:00
nathan
3894d34132 Use new label-on-left class for cc & responsible 2022-07-19 17:00:16 -06:00
nathan
724c42aa6b Block works better for automatic sizing 2022-07-19 16:55:46 -06:00
nathan
5542298b83 Better label width variable name
Use --label-width instead of --width to be more specific, and avoid any potential conflicts
2022-07-19 16:42:39 -06:00
nathan
4b52b62698 Handle width attribute from template as special case
Should still be avoided
2022-07-19 16:20:49 -06:00
nathan
1cc63b69ca Add CSS classes 'label-on-left' & 'label-inline' to put widget label in column on the left
Use 'label-inline' with 'label-on-left' to remove the white-space for an inline label
2022-07-19 15:30:34 -06:00
nathan
3b147eaa49 Make sure options are clean before trying to merge them. Fixers broken historylog.
Also filter out duplicate options.
2022-07-19 14:20:39 -06:00
nathan
2bcebeed42 Add Et2SelectEmail.full_email property. Set to true when you need to see the full, original value 2022-07-19 13:18:51 -06:00
nathan
b20f57d5ba Fix select-type would not validate server side 2022-07-19 11:55:08 -06:00
nathan
1a2e691cbb Fix some bugs with static options being repeated
- Select Tab options being sent from server & cached
- Static options not properly set for all selects
2022-07-19 11:47:03 -06:00
nathan
e3bed10045 Fix missing "Use default" / "No default" option for default category 2022-07-19 10:37:38 -06:00
nathan
dc23a18f85 Categories are cached client side now 2022-07-19 10:32:33 -06:00
nathan
5ee60c0af1 Fix option merge unique filter left out some options 2022-07-19 10:31:45 -06:00
ralf
f79c57f048 fix InfoLog preferences shows wired looking categories --> fixed by using a select-cat 2022-07-19 18:28:44 +02:00
ralf
6ab34234f5 fix error changing app in preferences 2022-07-19 18:10:12 +02:00
Hadi Nategh
5038d060fe Use et2-select webcomponent for quick add button 2022-07-19 16:50:02 +02:00
ralf
656e6561d9 settings for Pixelegg / standard template 2022-07-19 15:46:13 +02:00
ralf
e887a14238 add Collabora init container and note that this is not the recommended was to install EGroupware on a Linux server 2022-07-19 15:45:09 +02:00
ralf
bec95a4a9d et2-select-tab widget to fix common preferences not storing and some fixes 2022-07-19 15:17:43 +02:00
Hadi Nategh
244d42cfb0 Set header list for toolbar widget to 3dots style by default 2022-07-19 14:36:01 +02:00
Hadi Nategh
32dc216917 Mark src as deprecated property, and some more code improvements 2022-07-19 12:18:42 +02:00
nathan
5deef4844d Add Et2LinkAdd widget 2022-07-18 16:34:58 -06:00
nathan
0d85b3ee48 Fix missing entry title in writable Et2LinkEntry when value is set from content
Timing issue, sometimes title gets back later than we'd like but in this case getting title earlier wasn't working.
2022-07-18 15:27:31 -06:00
nathan
b7623cb284 Fix missing link entry title in readonly customfield list 2022-07-18 15:24:10 -06:00
nathan
8ffbe97884 Fix link entry with only_app & initial value did not find entry label 2022-07-18 11:42:26 -06:00
nathan
b064b84874 Fix some selects with static options did not render their options after ddd72fd51a 2022-07-18 10:41:48 -06:00
nathan
7e76020ce1 Get Et2Avatar edit to load current value 2022-07-18 09:50:56 -06:00
Hadi Nategh
918980af66 Fix avatar's action buttons not being bound to hover 2022-07-18 16:33:23 +02:00
ralf
d94bdb24a6 fix empty account-data (caused by wrong expression) breaking mail accounts when storing 2022-07-18 14:10:30 +02:00
Hadi Nategh
a49cc54bdd * Mail/Sieve: fix vacation notice activated by date does not work if the start date is set in future 2022-07-18 14:00:18 +02:00
nathan
4256b589e7 Use substr instead of str_starts_with to avoid PHP 8.0 2022-07-15 13:40:18 -06:00
nathan
3e83c5bb1c Only validate that the free entries are email addresses on calendarowner, not every value 2022-07-15 13:31:15 -06:00
nathan
9ebc1e8f15 Et2Select: Avoid JS error if allowFreeEntries=true but editModeEnabled=false 2022-07-15 13:08:57 -06:00
nathan
ddd72fd51a Et2Select: Fix selects with static options from the server would not consistently keep any additional options set.
Creation / lifecycle would sometimes set the extra options several times, and depending on the timing of the server response they might get overwritten, or overwrite the server options.  Now keeping them separate to avoid this.
2022-07-15 12:56:24 -06:00
nathan
5793b462ba Fix et2-select widgets in template did not validate 2022-07-15 12:48:25 -06:00
nathan
2571d90691 Follow my own advice and split out content into an overridable sub-template in case we need it 2022-07-15 09:30:12 -06:00
nathan
3d386edbac Fix readonlys were claiming to be dirty 2022-07-15 09:22:49 -06:00
Hadi Nategh
057a4559cb Remove legacy avatar class and elements 2022-07-15 13:53:33 +02:00
Hadi Nategh
5f86313f46 Fix soe of avatar issues:
- fix letter avatar not getting background
- fix default size
- fix letter avatar not being able to set existing src
2022-07-15 13:35:23 +02:00
Hadi Nategh
805ac7e830 WIP Mail app styling:
-Remove legacy widgets from mail
-Fix iframe not being full height in preview
2022-07-15 11:34:30 +02:00
nathan
6d97cb17f4 Et2EmailTag: If email has name in it, or is a known contact, show just the name. Show name + email on hover. 2022-07-14 16:54:18 -06:00
nathan
28a289e5e1 Check if email is known contact immediately, previously waited for a mouseover 2022-07-14 15:34:58 -06:00
nathan
0034a8fe1c Thoroughly remove search icon, not just hide it. 2022-07-14 14:17:50 -06:00
nathan
78f58a5503 Fix gear icon in preference app & type selects 2022-07-14 13:57:24 -06:00
nathan
96354be5ec Get text editor toolbar preference working with webcomponents 2022-07-14 13:22:48 -06:00
nathan
53e5e45a5d Better handling for options with more properties set (title, icon)
Previously they were being discarded
2022-07-14 13:16:48 -06:00
nathan
3c96eb9ce6 Fix webcomponents with validation errors did not get tab activated 2022-07-14 11:37:29 -06:00
nathan
fb423b4efc Et2Widget: If an attribute / property is already an object, don't try to transform it before setting 2022-07-14 11:34:37 -06:00
nathan
523c785049 Et2Select: Fix manual message was repeated for each selected value. Once is enough. 2022-07-14 11:33:35 -06:00
Hadi Nategh
6eed7b5a0e WIP converting avatar widget to webcomponent 2022-07-14 17:32:45 +02:00
nathan
f8f7d1621e Preferences: Get preferences mostly displaying again
There's still something wrong validation.
2022-07-13 10:52:11 -06:00
nathan
2c08542529 Better handling of select validation 2022-07-12 16:40:38 -06:00
nathan
146f6e86f7 Max height for nm columnselection, so we get a scrollbar with a lot of customfields 2022-07-12 15:33:02 -06:00
nathan
d9f094053f Et2Select: Ellipsis on tags that are too long 2022-07-12 11:36:18 -06:00
nathan
e8e3d2fc38 Et2Select layout improvements
- Better sizing when row is set
- Always show contact / + for EmailTag instead of just on hover
2022-07-12 10:50:11 -06:00
nathan
9a40db5e51 Calendar: Fix event category colors 2022-07-12 09:42:48 -06:00
Hadi Nategh
97019379d8 WIP converting avatar widgets to webcomponent 2022-07-12 17:14:44 +02:00
Hadi Nategh
b38deecad0 Change all used toolbars more in mail to a 3dots style 2022-07-12 11:28:57 +02:00
Hadi Nategh
734de06406 Fix broken select account in compose dialog 2022-07-12 11:22:30 +02:00
Hadi Nategh
7f7b5282aa Fix navigating through paths no longer possible for vfsSelect dialog 2022-07-12 11:02:42 +02:00
Hadi Nategh
11894b0868 Revert unintentional change 2022-07-12 10:59:42 +02:00
Hadi Nategh
894767ac21 Fix newly uploaded avatar can not be saved 2022-07-12 10:35:25 +02:00
ralf
5cd979d372 adding et2_select_ro type, as it's used in smallPART 2022-07-12 10:05:43 +02:00
ralf
ce418affe8 drop old select/taglist/link incl. Choosen and MagicSuggest 2022-07-12 09:57:24 +02:00
nathan
ad82ea8faf Et2Select layout improvements
- Added RowLimitedMixin to limit rows
- when multiple=true tags take full width by default, but intelligently resize
- No longer showing search icon
- Move Et2EmailTag add / CRM button to left of remove button
2022-07-11 17:27:17 -06:00
nathan
714ef5d4c9 Better nm column selection 2022-07-11 13:20:04 -06:00
ralf
733770ea36 * SAML: generate a self-signed certificate (not just the public key) 2022-07-11 20:27:49 +02:00
nathan
0ca7508cd3 Select bugfixes
- If value is changed because it's not a valid option, that might need a refresh
- If empty_label is changed, we need to update that
2022-07-11 11:01:42 -06:00
Hadi Nategh
2a280c66cf Fix broken background for selectbox in vfs select 2022-07-11 13:55:09 +02:00
Hadi Nategh
eecc093ce3 Fix styling for Vfs select dialog 2022-07-11 12:44:09 +02:00
ralf
480e913151 add uid to selectable username attributes 2022-07-11 12:22:06 +02:00
Hadi Nategh
a739539a03 Update import statements 2022-07-11 10:17:33 +02:00
ralf
aefe04d3b8 WIP LDAP import 2022-07-11 07:54:16 +02:00
nathan
a513bb26f6 Convert customfields to use webcomponents when available 2022-07-08 09:40:16 -06:00
nathan
3d2e20ce0a Avoid error setting placeholder 2022-07-08 09:30:41 -06:00
nathan
ff6d0ef785 Fix handling of modified widget type.
It wasn't working if a Transform changed the widget type to a webcomponent
2022-07-08 09:24:03 -06:00
ralf
a80d810926 fix broken setting of CSP via hook since commit a304f34e6b
(fix PHP Error: [] operator not supported for strings)
2022-07-08 14:15:30 +02:00
ralf
bf8dae795d ignores onChange calls before et2_ready 2022-07-08 10:42:39 +02:00
ralf
d85b2b4cf2 fix type et2-nextmatch-header-account(filter) 2022-07-08 10:38:06 +02:00
ralf
c9b61be8d2 fix PHP Deprecated warning: Automatic conversion of false to array is deprecated 2022-07-08 10:10:17 +02:00
nathan
71d43b125e CalendarOwner: Any free entries must be emails so validator added. 2022-07-07 14:15:00 -06:00
nathan
ed16ce52a2 Change nextmatch headers to use web components 2022-07-07 13:18:42 -06:00
nathan
19a45164f9 Change static cat select options to always use promise 2022-07-07 10:49:28 -06:00
nathan
dc8809ef87 Et2Select + Search: Always need to bind our own change handler to catch & cancel search textbox changes or they bubble 2022-07-07 10:47:14 -06:00
nathan
4936c0e043 Et2SelectCategory: keep options sent from server
For example, addressbook index does this.
2022-07-07 10:06:41 -06:00
nathan
e3b095dae7 Fix link app did not start with preferred app, implement placeholder 2022-07-07 09:54:18 -06:00
Hadi Nategh
7a4193073b Make sure we don't reevaluate the value when there's already a value set (eg. given object of options with value attribute set) 2022-07-07 11:54:24 +02:00
ralf
aab768d87f WIP implement VLV search for LDAP too and also filtering by >=modifyTimestamp used for account-import 2022-07-07 07:57:33 +02:00
ralf
c151f7786f fix not always working instantiation for contacts and accounts objects differing from global configured repository 2022-07-06 21:27:44 +02:00
nathan
46b172c88e Et2Select: In some cases the change event from the search input was triggering an extra widget change event 2022-07-06 11:22:10 -06:00
ralf
6fb464d90b * ActiveDirectory/LDAP: implemented deleting of accounts via full/initial import, periodic import does NOT delete 2022-07-06 17:08:44 +02:00
ralf
489eb615ac fix validation in et2-select had problems with value being an array
eg. mail.compose always displayed "Invalid email"
running validator now for each array element or "" for an empty array
2022-07-06 10:33:06 +02:00
nathan
6c8e85311f Change nextmatch column selection to use webcomponents 2022-07-05 15:26:10 -06:00
nathan
761b0ee6cc Fix for double-submit caused by change handler bound twice 2022-07-05 13:15:32 -06:00
nathan
c6ef3b3a8d Switch calendar owner to web component 2022-07-05 10:18:12 -06:00
nathan
5dc1c74167 SearchMixin: Actually pass search options 2022-07-05 10:16:05 -06:00
nathan
c8ccf78550 Accept search & search options from SearchMixin
We want it in the signature, even if we don't use it right now.
2022-07-05 10:13:06 -06:00
ralf
c616f1c6b5 fix some typos and IDE warnings 2022-07-05 15:18:50 +02:00
ralf
94e74f8db4 * Mail/Dovecot: allow to use admin credentials to access mail when no session password is available, e.g. for SSO 2022-07-05 15:16:01 +02:00
ralf
a5fbb5c4ef fix 404 Not Found / wrong redirect after expired/no longer existing eT2 session 2022-07-05 08:43:53 +02:00
nathan
af33cec90d Avoid JS errors if value is not a string 2022-07-04 15:12:10 -06:00
nathan
31e476089c Et2Select: Fix missing initial value when initial value is not in select_options
Our custom setter was not being called for some reason so option cleaning was not being done.
2022-07-04 15:09:16 -06:00
ralf
3af236e609 allow disabled=false for not disabled buttons 2022-07-04 22:19:16 +02:00
ralf
9a407d8ebb fix adding/removing group-memberships were not imported as change is on the group not the user 2022-07-04 11:18:02 +02:00
ralf
2756b9b247 quote double quotes, if replacing single quotes with double quotes
attr='Some "important" text' --> attr="Some &quot;important&quot; text"
2022-07-01 14:39:54 +02:00
Hadi Nategh
cb2fe3f93c * Mobile view: fix broken Security & Password menu 2022-07-01 09:34:50 +02:00
nathan
36c6df9685 Remove InvokerMixin from Et2Select, we cover the functionality in other ways.
InvokerMixin still used in other widgets
2022-06-30 09:39:22 -06:00
nathan
a691b6da04 Fix missing apps in Et2LinkAppSelect 2022-06-30 09:38:50 -06:00
ralf
242e055f53 * ActiveDirectory: allow to configure an optional group-context
also fixes problems with Univention AD storing stock groups (eg. Domain Users) in a different OU=Groups than users
2022-06-30 16:44:51 +02:00
nathan
76a19e86fb Fix selectboxes didn't show server-side validation messages 2022-06-30 08:40:17 -06:00
ralf
9962ac3197 fix Unsupported operand types: array + bool 2022-06-30 16:16:20 +02:00
ralf
970c22b2a2 some fixes for LDAP/ADS account import:
- fix not working "Users, groups and memberships" option
- calling add/edit account/group hooks to eg. create home-directories and mail-accounts
2022-06-30 15:17:19 +02:00
nathan
7c7b81201f Implement missing validation error for Et2Select 2022-06-29 11:49:24 -06:00
nathan
0842eb4376 Finish missing doc 2022-06-29 09:24:12 -06:00
ralf
a304f34e6b fix PHP Error: [] operator not supported for strings 2022-06-29 08:59:59 +02:00
ralf
2dd3a25b35 WIP ADS/LDAP account import:
- implement import from groups and memberships
--> ToDo: deleting of accounts and testing with LDAP
2022-06-28 22:21:08 +02:00
nathan
2cd5c861aa Favorites: Add icons to dropdown, fix icon styling in sidebox menu 2022-06-28 14:09:29 -06:00
nathan
4f4b83733c Mail: Re-size header labels in display popup, change mail date widget to date-time-today 2022-06-28 10:18:42 -06:00
nathan
ef2f29d84c Mail: Re-size header labels in display popup, change mail date widget to date-time-today 2022-06-28 10:17:50 -06:00
ralf
2e2f6e0e70 WIP ADS/LDAP account-import:
- missing hook registration
2022-06-28 17:09:19 +02:00
ralf
e28329b1d7 WIP ADS/LDAP account-import:
- refactored to a class
- added async import and logging
--> ToDo: groups, deleting of users and testing with LDAP
2022-06-28 16:58:38 +02:00
nathan
65ed3e090c Mail: Re-size & re-order headers in display popup 2022-06-27 15:27:39 -06:00
ralf
ee58655ce6 WIP ADS/LDAP account-sync:
- using (simple) paged result for initial sync
- incremental sync uses modification time
- currently only user and no periodic sync yet
2022-06-27 21:08:34 +02:00
nathan
bb48e4ecee Select + search: don't try to open search when readonly 2022-06-24 14:27:49 -06:00
nathan
5d915ba5eb Mail preview / display layout:
Fix header alignment, swap email display to use et2-select-email
2022-06-24 14:17:58 -06:00
nathan
0f5cb9f9d3 Select styling improvements
- support for Shoelace's size property
- relative sizing for EmailTag's add icon height
2022-06-24 14:12:04 -06:00
nathan
9ffc7decf2 Shrink minimum size for date widget to fit-content, add label if set 2022-06-24 14:08:06 -06:00
nathan
d11be10fa1 Et2SelectEmail: Add button on hover to add a new contact with the email
(multiple)
2022-06-24 12:10:10 -06:00
nathan
9ca78de12f Et2Select: Fix empty label was not being shown for invalid values 2022-06-23 15:56:28 -06:00
ralf
c5f671dcaf fix TypeError param #2 of array_search must be array, null given 2022-06-23 22:16:21 +02:00
ralf
8dd6dcf97c remove unnecessary adding of free entries to select_options 2022-06-23 21:28:01 +02:00
nathan
3567a75e33 Et2Widget: I figured out how to bind external listeners defined as template attributes directly on load.
Not sure we want to turn it on yet though.
2022-06-23 11:00:47 -06:00
nathan
1cc2cd5e3e Et2Select + Search: Fix change event fired while widget still had old value
The search box was firing its own change event, triggering the handler.  Now SearchMixin swallows that event preventing it from triggering.
2022-06-23 10:36:54 -06:00
ralf
f2e20eddba fix addressbook edit for new Et2SelectCountry&State:
- using allowFreeEntries for custom country-names and storing, as before, region-name not the -code
- also fix flags to show nothing for custom / free country-names
Not entirely happy about it, but not willing to spend/waste more time on this tiny feature
2022-06-23 10:06:01 +02:00
ralf
9157a37480 fix URL of flags.css include 2022-06-23 07:19:47 +02:00
nathan
9b3de5db95 Et2SelectCountry: Use CSS for flag images 2022-06-22 16:13:58 -06:00
ralf
e54fbaffb1 fix Et2LinkEntry/Et2LinkSearch still showed "??", after link_title returned the title 2022-06-22 22:37:18 +02:00
nathan
e9af38081e Move email-specific D-n-d into Et2SelectEmail class 2022-06-22 14:36:38 -06:00
nathan
29bd389c36 Don't set attributes on sub-classes - it's not needed, and interferes with taglist-account 2022-06-22 14:33:58 -06:00
nathan
874371483a Et2Select: Fix multiple + allowFreeEntries did not work together 2022-06-22 14:28:37 -06:00
nathan
5b0427fe0c Hopefully fix boolean reflected attributes not properly getting set
The previous way worked eventually, but attributes did not get immediately synced to properties
2022-06-22 14:26:27 -06:00
ralf
cbbe8c4400 remove some app-specific CSS f*cking up the alignments 2022-06-22 17:04:45 +02:00
Hadi Nategh
6c058fffa8 Fix draggable items in toolbar get move icon by default 2022-06-22 16:49:38 +02:00
ralf
1218cce8bb fix typo "editModeEnabled" 2022-06-22 16:35:05 +02:00
ralf
2db52d939b improve automatic conversation from taglist, by setting multiple=true, allowFreeEntries=true and enableEditMode=true
fix Admin > Mail account by using et2-select-email instead of taglist, as et2-select-multiple does NOT yet support allowFreeEntries and enableEditMode
2022-06-22 16:28:34 +02:00
nathan
9a1f8e591f Mail: Fix accidentally committed editable email in mail list 2022-06-22 08:26:38 -06:00
ralf
673e0b859c fix only_app attribute not taking into account when setting value, which is in that case just an id 2022-06-22 15:29:21 +02:00
dependabot[bot]
7f877082d2 Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-22 10:06:06 +02:00
ralf
296cffc109 run egw destructor explizit for merge-downloads to allow eg. notifications emails in shutdown handler 2022-06-22 09:57:33 +02:00
nathan
d9400430e5 Mail: Use et2-select-email for displaying addresses in preview 2022-06-21 16:34:57 -06:00
nathan
34b0dc3e35 Remove debug 2022-06-21 11:07:30 -06:00
nathan
4fe62a0322 Reset dirty after load to avoid unwanted close prompt 2022-06-21 09:22:39 -06:00
nathan
61f22d67f3 Double thickness of colored category border in Et2SelectCategory 2022-06-21 09:22:39 -06:00
Hadi Nategh
ac171a1076 Implements DND for et2-select-email tags 2022-06-21 16:21:23 +02:00
ralf
1894a19a86 fix ValueError: str_repeat(): Argument #2 ($times) must be greater than or equal to 0
Also replace HTML entities, as we're converting to text
2022-06-21 14:15:28 +02:00
nathan
5cd417ec72 Et2LinkEntry: Pass only_app & application_list properties onto internal Et2LinkAppSelect 2022-06-20 15:19:57 -06:00
nathan
261b104875 Looks like SearchMixin no longer needs special handling for change event and it was not working with onchange attribute in some cases. 2022-06-20 11:18:15 -06:00
nathan
e44ca6183a Promote select category to its own file 2022-06-20 09:35:38 -06:00
nathan
fff8048505 Remove debug 2022-06-20 09:05:06 -06:00
ralf
8228104b82 add extra parameter return_promise to StaticOptions.cached_server_side and using that for Et2SelectCountry to add flags and their css class 2022-06-20 17:01:28 +02:00
nathan
ce474a1cd1 Fix IDE reformatting of templates could cause template mangler to discard attributes that were reflowed to a new line 2022-06-20 08:56:56 -06:00
ralf
96109e0f26 Several account or contact edit fixes
- fix no groups were selected (as they have numeric values)
- fix size of country and state selection
- WIP adding flags to select-country
- WIP fixing selecting a country set country_code for state selection
2022-06-18 15:06:50 +02:00
ralf
48b82ef104 fix <select type="select-something" was wrongly converted to <et2-selectsomething 2022-06-18 12:21:05 +02:00
ralf
d3cfbbe5e6 enable taglist-thumbnail --> et2-select-thumbnail conversation
also convert select with options to et2-select and move select/taglist conversation to always run, independent of legacy=true
2022-06-17 22:54:54 +02:00
ralf
7dc591b2c9 fix TypeError this === undefined 2022-06-17 22:43:35 +02:00
nathan
fdd6f23560 Better readonly styling 2022-06-17 14:06:12 -06:00
nathan
f13bf7b154 Et2SelectThumbnail 2022-06-17 13:07:33 -06:00
nathan
cfce00f7ea Et2Select: Deal with initial value of multiple set as CSV 2022-06-17 11:41:29 -06:00
nathan
f2c57c5e75 Et2Select: Fix search icon appearing everywhere 2022-06-17 08:53:15 -06:00
dependabot[bot]
53d88ad5ac Bump jpeg-js from 0.4.3 to 0.4.4
Bumps [jpeg-js](https://github.com/eugeneware/jpeg-js) from 0.4.3 to 0.4.4.
- [Release notes](https://github.com/eugeneware/jpeg-js/releases)
- [Commits](https://github.com/eugeneware/jpeg-js/compare/v0.4.3...v0.4.4)

---
updated-dependencies:
- dependency-name: jpeg-js
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 07:15:50 +02:00
nathan
d30335db01 Fix nm row category color marking 2022-06-16 14:07:02 -06:00
nathan
45bdc86203 Et2Button: Fix hideOnReadonly still showed up when readonly 2022-06-16 13:59:31 -06:00
nathan
d525918391 SearchMixin: Stick with repeat() over map(), it's slightly more efficient 2022-06-16 11:05:13 -06:00
nathan
851a054599 Select / Search bugs:
- search result would only be shown once even if next search included it
- selected values disappear when starting a new search
- loading spinner was not shown
2022-06-16 11:05:13 -06:00
nathan
6b950900ee SearchMixin: Avoid error if tag can't be found when we go to scroll to it 2022-06-16 11:05:13 -06:00
ralf
26492c4260 fix for US numbers formatted as "+1 123-456-7890" 2022-06-16 15:04:49 +02:00
nathan
260d8f523a Get category icons & colors working for select category
Also some refactoring of things to where they should be
2022-06-15 16:43:39 -06:00
nathan
2a79264674 Select / Search CSS:
- Add some spacing
- Fix disappearing images, when they were in the search results
- Pass option classes to tag
- Move tag image to its own method for overriding
2022-06-14 17:31:39 -06:00
nathan
e109b1d85b Always use avatar for user image in Et2SelectAccount tag 2022-06-14 17:29:58 -06:00
nathan
67b9102a69 Et2Select: Allow dropdown option list to be wider than the field 2022-06-14 15:14:17 -06:00
nathan
3f3e7559f1 Select / Search CSS:
- Refocus search when clearing a single value
2022-06-14 10:06:27 -06:00
nathan
5f77d0c644 Select / Search CSS:
- Limit height of tag area (3 lines), use scrollbar if we get too many
2022-06-14 09:37:21 -06:00
nathan
003f1255d7 Select / Search CSS:
- Let search input take full space for single-value search selects
2022-06-14 09:09:11 -06:00
nathan
a7874ecb63 Select / Search CSS:
- Keep tags visible while searching, adding or editing a free entry
- hide selected options from dropdown
- double-click to edit free entries
2022-06-13 17:22:35 -06:00
nathan
a26b775505 Select / Search tag CSS:
- Pill tags
- Keep tag from overflowing
- Fix remove icon cut off
2022-06-13 17:22:35 -06:00
ralf
70ae151cfd WIP RingCentral CTI 2022-06-13 21:37:42 +02:00
nathan
89a73ac47d Select / Search CSS:
- Hide selected options from dropdown
- Tab & Comma (,) now end a freeEntry, was just Enter before
2022-06-13 09:58:46 -06:00
nathan
8828770c4f Select / Search CSS:
- Fix tag remove button alignment
2022-06-13 08:25:16 -06:00
ralf
980f7cb0df fix first category was always selected in calendar.edit as somehow select_options were set before multiple
removed the deduplicate select-first-option code now in favor of the one in firstUpdate
also automatic convert empty_label for et2-select multiple into a placeholder
2022-06-13 14:39:01 +02:00
Hadi Nategh
812cdb6165 Fix scrollbar not working on subscribe folder and folder management dialogs 2022-06-13 13:53:45 +02:00
ralf
669f679fbc change our CSP to allow data: for connect-src, which is used by Shoelace to "load" icons 2022-06-13 13:19:54 +02:00
ralf
b24b6b42e4 fix ReferenceError: value is not defined 2022-06-13 12:34:25 +02:00
Hadi Nategh
30da3bb923 Make toolbar dropdown menu a dropzone 2022-06-13 11:22:52 +02:00
ralf
f6471eabb1 replace single quote enclosing attribute values with double quotes 2022-06-13 09:57:24 +02:00
ralf
6bdf3e2f01 fix error storing InfoLog as only_app="projectmanager" as not set due to usage of single quotes
etemplate.php does NOT support using single-quotes to enclose attribute-values!
2022-06-13 09:43:44 +02:00
ralf
493455d3e0 enable Nathan's new taglist/select multiple now for all taglist, but taglist-thumbnail 2022-06-13 08:20:53 +02:00
nathan
1215626473 Select / Search CSS:
- Promote image styling from Et2LinkAppSelect to all Selects
- fix double scrollbar if there are a lot of options
- different cursor for editable tags
- align +# right to make it stand out a little more
2022-06-10 14:11:57 -06:00
nathan
a7cafb590c Et2SelectAccount: Enable searching 2022-06-10 13:56:55 -06:00
nathan
3efe81c293 Fix Et2Image was using et2_clickable class without href or onclick 2022-06-10 13:25:54 -06:00
nathan
b47d6fc702 Et2SelectAccount: Fix TypeError: Cannot set property select_options of #<Et2SelectAccount> which has only a getter 2022-06-10 10:42:37 -06:00
nathan
cf151afff8 Clean up some TypeScript type issues
Putting the constructor type fixes some complaints about our widgets not being LitElements
2022-06-10 10:25:31 -06:00
nathan
531cc473e2 Et2Select: Implement allowFreeEntries & editModeEnabled properties
Also added Et2SelectEmail, which uses them
2022-06-10 10:11:34 -06:00
ralf
d98978ddd3 fix current user in timesheet not selected (was a numeric value) and empty_label not used, if no matching option for the value 2022-06-10 13:07:27 +02:00
ralf
a3a893ae14 allow to request merged download in a different format eg. PDF 2022-06-10 10:52:26 +02:00
dependabot[bot]
4c609152f9 Bump guzzlehttp/guzzle from 6.5.6 to 6.5.7
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 6.5.6 to 6.5.7.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/6.5.7/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/6.5.6...6.5.7)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 08:48:03 +02:00
ralf
0105124a7d fix et2-link shows ?? for no or empty value 2022-06-09 23:05:55 +02:00
ralf
240f79efbf change link attribute only_app to et2-link attribute app and map r/o link-entry to link
also fix et2-link to not display ??, if it has no value
2022-06-09 23:02:01 +02:00
Hadi Nategh
17194f1ed3 Fix toolbar widget styling 2022-06-09 14:23:24 +02:00
ralf
597a983264 no longer load TinyMCE styles for preview and change TinyMCE margin to 10px we have in preview 2022-06-09 09:48:52 +02:00
nathan
45ccceb1c7 Fix Et2Select was losing options set in template
All JS tests now pass.  yay.
2022-06-08 14:57:26 -06:00
nathan
b7258692a4 Et2Select: Fix double change event
Caused double submit (which failed) in infolog when you changed type
2022-06-08 14:01:00 -06:00
nathan
0188e6df2d Stop TS from complaining about data children by giving better type info 2022-06-08 13:24:25 -06:00
nathan
9b1923467d * Kanban: Add columns under Kanban context menu action for other applications
Also added context menu action to move kanban card to another board
2022-06-08 13:18:12 -06:00
ralf
136b6e82d0 also replace <description/> and remove unnecessary empty <description/> from infolog.index 2022-06-08 18:27:14 +02:00
Hadi Nategh
7268cde359 Set some min width for toolbar action list 2022-06-08 17:44:28 +02:00
nathan
173eb4e110 Calendar: Fix all-day events in a different timezone could slide by a day
Ex: 1977-04-29 created in CET (+1) on a server in UTC would change to the 28th after a few years (1980)
Fixed by staying in server timezone for the recurrence calculations.
2022-06-08 07:57:36 -06:00
nathan
408eda8eb3 Fix some JS tests
- Basic selectbox tests failed to set label
2022-06-07 16:55:58 -06:00
nathan
ec608e905a Fix some JS tests
- Description tests were not updated after description moved from shadowDOM to lightDOM
- Missing egw caused errors
2022-06-07 16:39:04 -06:00
ralf
ae167995eb change select-cat empty_label to placeholder to display it for multiple="true" 2022-06-07 22:34:57 +02:00
ralf
412a4a50ce permanently enable all link-* widgets
(not yet dropped old et2_link_widget class)
2022-06-07 22:25:43 +02:00
ralf
be5e049a07 fix link-entry legacy-options where not translated 2022-06-07 22:16:55 +02:00
Hadi Nategh
d32d2f554b Fix drag and drop for toolbar widget 2022-06-07 17:19:05 +02:00
nathan
29a46999f8 Calendar: Fix daylight savings time causes extra / missing days in the week 2022-06-07 17:11:02 +02:00
nathan
e0477c1db4 Calendar: Fix sidemenu date does not update when changing year 2022-06-07 17:07:56 +02:00
nathan
94d534d897 Et2Select bugs:
- multiple always had the first option selected
- removing multiple options did not trigger change event
2022-06-06 16:41:29 -06:00
nathan
796c0a33df Et2SelectCat: Add in category colors & icons 2022-06-06 16:09:08 -06:00
nathan
c631bd8b7f Et2LinkTo: Seems to be working
Fixed some bugs:
- File buttons were added twice if connectedCallback was called twice
- Clearing selected entry focuses search & hides link button
2022-06-06 14:42:43 -06:00
nathan
b58045c19f Et2LinkTo: Start of link-to
still needs to work for new entries
2022-06-06 13:31:33 -06:00
nathan
ef0a549d1c Et2Button: fix unable to clear image once set
It would always show a broken image instead.
2022-06-06 13:26:44 -06:00
ralf
6ae098db93 enable taglist and taglist-cat mapped to et2-select-* multiple=true
also adding cat_N class to categories (need there CSS adapted)
2022-06-06 18:21:31 +02:00
nathan
e9d3db9b6d Et2Select: Add missing support for options on static type options (number, percent) 2022-06-03 10:19:05 -06:00
Hadi Nategh
796499ad4c Fix sidebar splitter styling 2022-06-03 17:38:44 +02:00
Hadi Nategh
aefe71e061 Replace no longer necessary function for making sure stylite app.js is loaded 2022-06-03 17:11:31 +02:00
Hadi Nategh
6d1674bc45 Fix egw.tooltip documentation 2022-06-03 17:11:31 +02:00
nathan
0e1aa738eb Calendar: Fix unable to create events by clicking a time 2022-06-03 08:49:34 -06:00
ralf
5859ce0c37 fix CRM view shown with [object Promise] instead of title 2022-06-03 11:21:09 +02:00
ralf
583ac1c6d6 queue requests for full calendar data
can NOT be backported to 21.1, as jsonq is not returning a promise in 21.1!
2022-06-03 09:59:10 +02:00
ralf
8db07c9a34 allow to use $skip_notify="NOPUSH" for calendar_bo::(update|set_status|update_status|delete) to NOT send push updates
this can and should be used for massive calendar updates to avoid a hugh wave of push messages and responses from clients/browsers to request full calendar data (which is not pushed)
2022-06-03 09:57:33 +02:00
nathan
f07aacaeaf Work on Search/LinkEntry
- Fix events were messed up after search
2022-06-02 15:45:23 -06:00
ralf
22e178ff9a fix info_contact did not take full width 2022-06-02 20:32:09 +02:00
nathan
5f7b9bd5f4 Work on LinkEntry
- Show / hide app select depending on has current value
- Hide current value when searching to get more space
2022-06-02 11:52:27 -06:00
nathan
d5055b9b95 Fix Et2LinkEntry did not always show initial value
If link title was not already in cache, it might get left at ??.  It was not using passed title, and sometimes was not getting title from server fast enough.
2022-06-02 10:19:34 -06:00
Hadi Nategh
2b85b0b920 Fix options not available 2022-06-02 18:00:34 +02:00
Hadi Nategh
f6340e21d0 Add some options into tooltip 2022-06-02 18:00:34 +02:00
nathan
23f9015331 Fix Et2Select / Et2LinkEntry clear button did nothing
Automatic select first entry was re-setting the value after clearing
2022-06-02 09:59:08 -06:00
nathan
9f4ce778cc Work on LinkEntry
- fix initial value
2022-06-02 09:16:28 -06:00
nathan
850f6effeb Work on LinkEntry
- fix title missing on load when we didn't have it client side
2022-06-02 09:14:01 -06:00
ralf
9579fc0caf fix app-selection in et2-link-entry does not set it's value from the user prefs / keep the last selected value 2022-06-02 17:06:55 +02:00
ralf
a720a7f48a remove unnecessary getValue() 2022-06-02 16:31:27 +02:00
ralf
fc227f82d0 fix TypeError, if no options are set and remove unnecessary getValue() 2022-06-02 16:29:58 +02:00
ralf
a9e180a9fb fix mixup of this.value, Lion this.modelValue and old get/set_value
causing eg. numeric values not to be cast to string and therefore not selecting their option
2022-06-02 16:12:38 +02:00
ralf
c251e2f185 remove removing of empty description and label widgets
also make sure option.value is a string, as sl-select seems to use === to calculate matches so option with value 0 is not selected by a value of '0'
2022-06-02 13:45:34 +02:00
Hadi Nategh
22f41e7cb4 Replace another jquery-ui swipe with tapAndSwipe 2022-06-02 12:02:43 +02:00
Hadi Nategh
fd66a9b24d Fix importing fastclick library 2022-06-02 11:56:43 +02:00
Hadi Nategh
530f153c17 Make sure we do have a valid element before constructing 2022-06-02 10:27:31 +02:00
ralf
4b9e733b94 change .et2_fullWidth to 100% to right-align with new widgets 2022-06-01 18:59:29 +02:00
nathan
dbcf9e75eb Set only_app to override value 2022-06-01 09:42:50 -06:00
nathan
7cb13015ae Fix item class was not correct 2022-06-01 09:41:53 -06:00
nathan
59862bba7b Fix missing shoelace clear button 2022-06-01 09:26:12 -06:00
nathan
2b68b6cbbe Work on LinkEntry
- fix missing app select
- add clear button
- use request() instead of json() to query server
- add optional class property to SelectOption
- move cleaning select options to its own function so we can use it anywhere
- Use separate render to keep local / remote options separate.  Local options stay in select_options.
2022-06-01 09:25:11 -06:00
Hadi Nategh
cbe097b2e3 Replace dnd in toolbar 2022-06-01 16:47:07 +02:00
ralf
0aa813a0ff got LinkEntry mostly working 2022-06-01 16:05:34 +02:00
nathan
9b0e1b9206 Work on LinkEntry 2022-05-31 13:41:39 -06:00
nathan
c572fa637d Fix conflict between Et2Select static type options & custom options resulted in losing the type options 2022-05-31 13:41:39 -06:00
Hadi Nategh
5f7d1c50a2 Replace draggable used in fw splitter 2022-05-31 17:21:21 +02:00
ralf
133787f239 bind load handler to set overflow-y: auto on body of contentDocument to allow vertical scrolling 2022-05-31 15:44:48 +02:00
nathan
bc045bf0da Add SearchMixin
A little clunky and still missing server-side
2022-05-30 17:05:38 -06:00
Hadi Nategh
ae75801033 Fix error TypeError: Cannot read properties of null (reading '0') 2022-05-30 17:19:23 +02:00
Hadi Nategh
017901a317 Add allowScrolling for action popup and do not popup context menu when more than one touch is used 2022-05-30 16:07:26 +02:00
Hadi Nategh
73e6cf2570 Replace jquery-ui swipe with tapandswipe 2022-05-30 16:05:59 +02:00
Hadi Nategh
23eaef96b2 Implements allowScrolling for tapandswipe 2022-05-30 16:04:59 +02:00
Hadi Nategh
742f2a5cb0 Add fingercount into tapandswipe 2022-05-30 11:02:58 +02:00
ralf
b87667237f comment out calls to no longer included TouchSwipe plugin 2022-05-29 10:09:07 +02:00
ralf
0b547c921d fix error for typeof this.value !== 'string', eg. number, undefined, ... 2022-05-29 09:53:41 +02:00
nathan
7f1cd117a7 Fix select change event not firing, initial value not showing 2022-05-27 15:39:51 -06:00
nathan
45327d559a Hoist to escape container 2022-05-27 14:22:15 -06:00
nathan
57e1845c16 Avoid errors if src changes before first render & img is not there 2022-05-27 14:20:35 -06:00
nathan
c212734618 Switch Et2Select to be based on Shoelace select instead of LionSelect 2022-05-27 14:12:31 -06:00
nathan
0963f7d548 Fix src could not be changed after being set 2022-05-27 14:11:35 -06:00
nathan
ac52723ce7 Get Et2Taglist to show initial value when that value is not in select_options
(only if allowFreeEntries is on)
2022-05-27 14:11:35 -06:00
nathan
aa20af559a LinkApp selection 2022-05-27 14:11:35 -06:00
ralf
c174e29238 remove again removing of empty description and label widgets as they are needed in tables to place widgets in the correct column
also add (currently) commented out conversation for taglist
2022-05-27 16:25:12 +02:00
dependabot[bot]
8614d5bd4f Bump grunt from 1.5.2 to 1.5.3
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.5.2...v1.5.3)

---
updated-dependencies:
- dependency-name: grunt
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-27 13:17:38 +02:00
ralf
89615cf9de * CalDAV/CardDAV/TbSync: fix wrong/minimal privileges on sub-collections causing TbSync not to display this calendars or addressbooks 2022-05-27 12:03:37 +02:00
ralf
ad98fb299b disabling DND in toolbar for now 2022-05-26 17:28:58 +02:00
nathan
af34ab9f8c I think thats all the drag / resize stuff and a few other bugs too 2022-05-25 16:09:25 -06:00
ralf
b33c13824f drop jquery-ui, jquery-ui-touch-punch-fix and temp. comment out last usages in framework classes 2022-05-25 21:01:26 +02:00
Hadi Nategh
b8d348d30c Replace jquery-ui swipe with tapandswipe library 2022-05-25 17:40:54 +02:00
nathan
a5fe6d938b Don't need this, we can remove it 2022-05-25 08:45:22 -06:00
Hadi Nategh
b3c2dcc90b Cleanup draggable dom after drop/dragend events 2022-05-25 11:16:33 +02:00
ralf
e9c9fb77ea * Setup: fix installation check to correctly detect installed packages with Composer 2.x 2022-05-25 10:05:53 +02:00
nathan
12d2a65466 Swap jQueryUI for interact.js for resizing events in planner view 2022-05-24 16:52:16 -06:00
nathan
ece3813459 Remove jQueryUI for moving events in timegrid view 2022-05-24 14:53:49 -06:00
nathan
526c549788 Swap jQueryUI for interact.js for resizing events in timegrid view
(not planner)
2022-05-24 14:53:49 -06:00
ralf
50b9a15436 add calendar-proxy-(read|write)-for properties on principal as requested by TbSync 2022-05-24 20:22:33 +02:00
ralf
26c64c0838 * Mail: explicitly apply default font and -size before sending mail 2022-05-23 19:36:04 +02:00
Hadi Nategh
1afcc3ebce Replace all jquery-ui sortable used in fw 2022-05-23 17:45:56 +02:00
Hadi Nategh
0ac617eb15 Add DRAG_ENTER event 2022-05-23 17:22:03 +02:00
Hadi Nategh
98e959346c Reduce time complexity of alarms calculation 2022-05-23 15:46:45 +02:00
ralf
d9436628cd load users preferred (TinyMCE) font also for mail preview 2022-05-23 15:44:42 +02:00
ralf
7a55eef6c8 fix typo in preference name rt(e)_font* 2022-05-23 12:48:30 +02:00
Hadi Nategh
9f363ad51c Fix importing interactjs library 2022-05-23 11:35:14 +02:00
ralf
55a13aa99d refactor VLV and server-side sorting into a trait, so it can be used in Accounts\Ldap too 2022-05-20 21:49:08 +02:00
ralf
ab427562b7 * LDAP: implement optional group-filter
also some code cleanups and fixes
2022-05-20 21:47:02 +02:00
nathan
f42a10deb7 Update lock file after running update 2022-05-20 11:46:14 -06:00
nathan
5ed00cc435 Make dialogs resizable again 2022-05-20 11:41:09 -06:00
ralf
c57ae62d1c fix not working installation under PHP 8.1 due to mysqli throwing errors now by default 2022-05-20 18:00:54 +02:00
Hadi Nategh
3dd247f1df Another unintentional import statement 2022-05-20 16:11:05 +02:00
Hadi Nategh
e8378bd742 Revert unintentional changes from previous commit 2022-05-20 16:05:22 +02:00
Hadi Nategh
ef6cf29ce1 WIP DND:
- fix drag-hover not working smoothly
- fix drop zone events being triggered by other draggable items (none et2action draggable)
2022-05-20 16:02:20 +02:00
ralf
d7beb18470 adding favorites widget to fix calendar.toolbar showing a placeholder 2022-05-20 14:29:58 +02:00
ralf
9e8ad58daa * Filemanager/WebDAV: fix WebDAV mounts from other EGroupware or next|ownCloud failed for non-alphanumeric passwords
caused by old GuzzleHttp's Url class not de- and encoding passwords, fixed with egroupware/guzzlehttp:3.9.6 required now by egroupware/webdav:0.3.7
2022-05-20 08:55:35 +02:00
nathan
f7fc569018 Fix expose CSS & a couple of bugs 2022-05-18 17:33:40 -06:00
nathan
c46f9c5440 Fix up dropdown in toolbar 2022-05-18 14:39:25 -06:00
nathan
7300250dfb Use webcomponent for favorites widget 2022-05-18 11:30:44 -06:00
nathan
776ce7202a Et2Favorites 2022-05-18 11:01:27 -06:00
nathan
5edd7dc782 Do a better extending Et2WidgetWithSelectMixin and using what it provides 2022-05-17 10:04:39 -06:00
nathan
5528261050 Fix dropdown took over nextmatch header 2022-05-17 09:40:34 -06:00
nathan
3658d4e7f2 Avoid errors from webcomponent children who haven't had a chance to fully set up yet. 2022-05-17 09:36:56 -06:00
Hadi Nategh
b956f1f28d WIP replace jQuery-ui dnd with HTML5 dnd 2022-05-17 15:01:11 +02:00
nathan
17d2e2cb5c Change style of parameter type declaration to make sure it transformAttributes handles it correctly. Objects were still parsed as string, resulting in "[Object object]" 2022-05-13 14:22:44 -06:00
nathan
56def486f0 Switch toolbar to use Et2DropdownButton
NB: This doesn't actually work properly yet, there's something that closes the dropdown immediately that I haven't found the source of yet.
2022-05-13 14:19:21 -06:00
nathan
079ebf00b6 Et2DropdownButton: force different handling to escape any container 2022-05-13 14:12:42 -06:00
nathan
9e78e35fd3 Et2DropdownButton now working & looking like it belongs 2022-05-13 11:51:29 -06:00
nathan
ce922c8816 Fix Et2Widget.createElementFromNode() used the wrong variable to determine widget class, and missed out on modifications 2022-05-13 09:39:07 -06:00
ralf
6f2a93ef0a fix sometimes not working click handler in buttons
eg. admin.index or admin.acl
2022-05-13 17:18:15 +02:00
nathan
b69c5e7cbf Fix IDE errors without changing internal data type 2022-05-13 09:07:47 -06:00
nathan
de0c9aa3f4 Fix incorrect type issues on options 2022-05-13 09:02:22 -06:00
ralf
ace84d7953 fix not set image (if it was set to "") and missing onclick attribute
thought some button click-handler are still not working
2022-05-13 16:54:02 +02:00
ralf
273fe9a28a diverse fixes loading no longer existing legacy widgets like description 2022-05-13 15:32:36 +02:00
ralf
ac5932240b remove old expose view / blueimp gallery and all widgets which have been using them:
- new web-components are unconditionally replacing them via the preprocessor
- some widgets (eg. et2_description) could not be removed as other legacy widgets are extending them, but they are no longer registered
- as there are many places using et2_createWidget('description', ...), et2_description returns now web-components for no longer existing widgets
2022-05-13 11:59:13 +02:00
nathan
8172f6e72d Et2DropdownButton WIP 2022-05-12 15:22:49 -06:00
nathan
a7940fe4f6 Update declaration signature 2022-05-12 11:03:18 -06:00
nathan
9942ec9f08 Link fixes
- Fix links added to not yet saved entries were not displayed in link lists
- Adjust LinkList column sizes
2022-05-12 10:54:29 -06:00
ralf
485fa5e857 fix et2-button attribute hideOnReadonly was removed from the template
add hideOnReadonly to timesheet.edit buttons
also move link widgets to legacy-regexp, so we can drop the old expose code
2022-05-12 18:16:34 +02:00
nathan
b9d145a40b Link fixes
- Fix actual Expose didn't work on links themselves
- Adjust delete button / context menu caption to match file/link
2022-05-12 10:08:59 -06:00
ralf
a3a63f3586 * Filemanager: use bigger popups to open files (PDF: 1024*1024, text: 800*1024, images: 640*800) 2022-05-12 15:30:23 +02:00
ralf
40a42ed1c8 fix broken file-access cache after a917293 (fix smallPART file-access depending on full path)
fix wrong condition when storing an attachment, either the file or it's directory must be writable
2022-05-12 15:16:55 +02:00
ralf
6602078660 fix "Network error" download a log via our Api\Json\Tail class eg. CalDAV/CardDAV log 2022-05-12 11:28:17 +02:00
ralf
a3b0161d6d fix Update from < 14.3 not working since 21.1
because accidentally installed by 14.3.907 already installed egw_addressbook_shared table
2022-05-12 09:34:01 +02:00
nathan
d23b7c1a51 Link fixes
- Enable link webcomponents in etemplate.php
- Fix widget ID got overwritten
- Put title into light DOM for easier styling
- Styling
2022-05-11 15:10:09 -06:00
nathan
875a3996aa WIP on Et2LinkList, should be working now 2022-05-11 14:00:23 -06:00
nathan
b735b0f218 Fix Et2Description.ts appeared the same if you changed its value via JS 2022-05-11 13:58:01 -06:00
nathan
b88267160e WIP on Et2LinkList 2022-05-11 10:35:47 -06:00
nathan
07ced8046d WIP on Et2Link & Et2LinkString 2022-05-11 10:35:47 -06:00
ralf
1fb46bb74c display attachments also as a block (fieldset) replacing the ruler, if one is configured 2022-05-11 18:05:54 +02:00
ralf
8d29ad1841 more cleaning up commented out code 2022-05-11 16:16:50 +02:00
ralf
53d9abcbd9 cleaning up the TinyMCE code a bit now 2022-05-11 15:51:26 +02:00
ralf
6d57d81faa fix smallPART file-access depending on full path (not just /apps/smallpart/$id!)
allow apps like smallpart to additional return 0|1 instead of bool, to not cache result, if it depends on $rel_path, as cache does not consider $rel_path
2022-05-11 13:49:57 +02:00
ralf
c2b0d713c3 never set a full path as filename of an attachment as it triggers rejection for some mail-servers 2022-05-11 10:36:43 +02:00
ralf
c5cab2e7b3 need to pass --ignore-platform-reqs to composer create-project to be able to install with PHP 8.x 2022-05-11 09:21:27 +02:00
ralf
8b2022643e document that you need to start egroupware container/installation first, before the swoolpush container 2022-05-11 08:55:05 +02:00
ralf
c54a536f8a setting and tagging PHP 8.1 as default PHP version (for development) 2022-05-11 08:46:53 +02:00
ralf
7144f2fad1 remove no longer necessary composer 1.x downgrade 2022-05-11 08:34:02 +02:00
ralf
b7d3b7408e WIP get TinyMCE to respect users preferred font and -size 2022-05-10 18:46:12 +02:00
ralf
ced6c77f46 fix PHP 8.x TypeError sending mail 2022-05-10 18:43:30 +02:00
ralf
99588796da fix original message header broken for signature after 2022-05-10 13:58:57 +02:00
ralf
9a0cc36366 fix PHP 8.1 throws \mysqli_sql_exception or \PDOException for SQL errors
- change them to our regular Api\Db\Exception
- for prop(find|patch) explicitly catch PDOException to deal more graceful with non-ascii prop-names
2022-05-10 12:36:25 +02:00
ralf
c4e0989bf9 replace original message header with fieldset in html and convert it to plain as before 2022-05-10 11:51:35 +02:00
ralf
5791ef0117 trying "harder" to set users default font and -size in TinyMCE 2022-05-09 18:37:56 +02:00
nathan
d8119802ed Fix filemanager tile view
- Button callback was skipping bits due to webcomponent change.
- Timing differences mean we really do need to set size in CSS now.
2022-05-09 10:04:00 -06:00
nathan
66ee3687b6 Fix widgets couldn't change statustext once set 2022-05-09 10:02:07 -06:00
nathan
daa324e948 Fix button wouldn't give its image 2022-05-09 09:59:13 -06:00
Hadi Nategh
87f77a52ea Fix seek to a new time in youtube video does not work when pause action happens instantly after it 2022-05-09 11:25:33 +02:00
ralf
e82387c15e adding automatic conversation to et2-vfs-mime, fix gallery indicators to use images again and some CCS fixes 2022-05-07 13:31:46 +02:00
ralf
849291889e fix some TypeScript errors displayed by IDE in new ExposeMixing 2022-05-07 11:35:27 +02:00
nathan
816ab87f13 Et2VfsMime added as WebComponent 2022-05-06 15:07:07 -06:00
nathan
797c615060 Move Et2Box into Layout 2022-05-06 11:57:53 -06:00
nathan
5a324e448a Define some system-wide CSS variables that can be used anywhere, set error color 2022-05-06 11:49:30 -06:00
ralf
bd066ef321 missing mail/templates/pixelegg/app.css 2022-05-06 13:43:48 +02:00
ralf
ffd76eb617 for binaries prefer grunt from node_modules/.bin and for all /usr/local/bin over /usr/bin 2022-05-06 12:48:17 +02:00
ralf
2c87752d75 remove mail specific sizing of paragraph and font selection in TinyMCE 2022-05-06 12:36:53 +02:00
ralf
7796eb23f9 if a private CA is given, change Docker entrypoint to patch system CA-file into php.ini
the system CA seems not used by default, no idea why ...
2022-05-06 11:14:43 +02:00
nathan
ca563cf8fb Use the same style for webcomponent validation messages as legacy messages, update both to latest webcomponent style. 2022-05-05 15:40:28 -06:00
nathan
245fbb2d82 Infolog: Make sure to use the current user as set in Tracking, rather than $GLOBALS[egw_info']['user']['ccount_id'] when getting reply_to because we change the GLOBALS user when generating the notification. 2022-05-05 14:08:26 -06:00
nathan
063c772fbb Et2DescriptionExpose, used in Mail app 2022-05-05 13:48:39 -06:00
ralf
7dc959c223 automatic convert <(image|description) expose_view="true" to <et2-*-expose 2022-05-05 19:07:44 +02:00
nathan
632c40fbb7 Et2ImageExpose, used in Resources app 2022-05-05 08:51:48 -06:00
Hadi Nategh
a8bcdd88b0 Get rid of jQuery.Color from jquery-ui 2022-05-05 15:55:49 +02:00
ralf
8df2a2fc49 fix error in admin, when nothing is loaded in the ifram 2022-05-05 12:48:26 +02:00
ralf
7e70eee888 final fix for "Network error" when stream files to client
It is important to FIRST disable zlib.output_compression (before headers are sent!) and THEN end all output-buffering!
Without the two steps in this order, we are either limited by the memory limit or get the "Network error", because the streaming/fpassthrough does not apply the compression.
2022-05-05 12:47:31 +02:00
ralf
3eaed09185 fix not working et2-date-since and rename et2-date-time_today to et2-date-time-today
create a new method egw.getTimezoneOffset() return current offset according to user preferences on server-side, like (new Date).getTimezoneOffset()
2022-05-05 11:38:48 +02:00
Hadi Nategh
2442e80cea Make sorting enable if we are in 4days view and view is not consolidated 2022-05-05 10:34:35 +02:00
nathan
efcd5bbe51 Et2ImageExpose 2022-05-04 17:31:42 -06:00
nathan
3c6c2aec1a Don't break everything if something goes wrong cloning webcomponent for nm row 2022-05-04 17:27:58 -06:00
nathan
54b2ac54b1 Start on Expose mixin 2022-05-04 11:58:04 -06:00
ralf
05a63d4098 fix not working folder ACL 2022-05-04 16:52:51 +02:00
Hadi Nategh
2d656802b5 Replce jqueryui sortable used in calendar with Sortablejs 2022-05-04 16:37:53 +02:00
ralf
7c2a3bfe71 fix missing url-encoding of from parameter (' 49...' instead of '+49...') 2022-05-04 15:20:34 +02:00
Hadi Nategh
eecad5f70f Set back focus to the first field in form 2022-05-04 14:14:48 +02:00
Hadi Nategh
9cdfc93a52 Fix stolen focus on egw input fields 2022-05-04 12:50:29 +02:00
ralf
13c633b064 lower number of rows queried per chunk to 2000 to avoid memory_limit on huge tables 2022-05-04 12:22:29 +02:00
nathan
10af4f7514 Historylog + webcomponents
- historylog widget now uses webcomponents for timestamp & user, and whenever possible for values
- History::get_rows() formats customfield date/date-time values as needed
- implement setDetachedAttributes(), if nextmatch & historylog are calling them on webcomponents, might as well use that to set what they pass
2022-05-03 11:01:42 -06:00
Hadi Nategh
ed5e7414ac * Mail: Fix htmlEditor does not include styling on each tag causing mail content sent with no styling 2022-05-03 15:43:03 +02:00
ralf
38d44ee3e2 fix some egw_LAB not defined errors by using top.egw_ready instead 2022-05-03 15:40:06 +02:00
ralf
b2044db11e remove jQueryUI date picker 2022-05-03 15:38:47 +02:00
ralf
9dd44f7929 fix not loaded grants / other users categories after last commit 2022-05-03 13:33:51 +02:00
ralf
3e55347b33 get AB-view selectbox in line 2022-05-03 13:11:35 +02:00
ralf
f72497db13 HistoryLog: use new Et2DateTimeReadonly widget
thought set_value of web-component get not called and nothing is displayed therefore
2022-05-03 11:26:55 +02:00
ralf
7fb436d44c HistoryLog: making sure server-side sends eT2 compatible values and use new Et2DateTimeReadonly widget
thought set_value of web-component get not called and nothing is displayed therefore
2022-05-03 11:25:55 +02:00
ralf
1215762f04 if data_format given, try that first, before leaving it to Api\DateTime to figure it out 2022-05-03 09:46:15 +02:00
ralf
582459242f disable for some reason not working grunt-newer and always run (quick) cssmin 2022-05-03 09:13:31 +02:00
ralf
9b6e6ad819 fix empty date customfield caused by not set app-name, defaulting to currentapp now 2022-05-03 09:12:20 +02:00
nathan
215dc21ec5 Avoid error if label is missing 2022-05-02 17:43:10 -06:00
nathan
bbb6444dce If caller wanted to iterate over all et2_widgets (default), include all Et2Widgets as well 2022-05-02 17:41:35 -06:00
nathan
cff1671f6f Et2Date: Handle formatting full month d-M-Y
Maybe we just pass all formatting off to flatpickr?
2022-05-02 17:10:07 -06:00
nathan
ae73511958 Make sure customfields get their set_row_value() method called. Fixes customfield dates were not sent in correct format 2022-05-02 17:06:33 -06:00
nathan
b0a57a05fd Calendar refactors:
- Remove some more jQueryUI.datepicker usages
2022-05-02 15:23:03 -06:00
nathan
1de2a89eeb Fix calendar events off by 1 minute 2022-05-02 14:10:59 -06:00
nathan
8ef591279d - Don't highlight birthdays in date picker (calendar & regular) though tooltip remains
- Un-highlight weeks when mouse moves off week number
2022-05-02 13:46:55 -06:00
ralf
df938c79de fixed messed up signature changing from / mail-accounts
also fixed some undefined warnings
2022-05-02 17:19:37 +02:00
ralf
3777ba7691 fix not working callback syntax with egw.jsonq() and changing callback to promise (after the fix) 2022-05-02 16:22:12 +02:00
Hadi Nategh
b4dd66b80f * Calendar/Mobile view: Add a date indicator for all views in mobile theme 2022-05-02 14:45:07 +02:00
ralf
dc784800b7 loading new Et2Date* instead of dropped et2_date* widget, thought r/o variants in nextmatch are still not working 2022-05-02 13:53:24 +02:00
ralf
21def67f83 fixed a couple more calls to egw.link_title() without 3rd parameter 2022-05-02 11:43:51 +02:00
ralf
74ad3ba7b0 change egw.jsonq() and egw.link_title() to return promises
* egw.jsonq() now always returns a promise like egw.request(), still supporting old callback syntax
* egw.link_title(_app, _id, _callback, _context, _force_reload) supports boolean values for _callback (to not break existing code)
- false: just a cache lookup (like current call with just 2 parameters), returning null, if no title is cached, or the title
- true: always return a promise, which might already be resolved, if title was cached
- function: also returns a promise and calls the callback
--> calling egw.link_title(_app, _id) without 3rd parameter is deprecated now (gives a console.trace), to be changed in future to always return a promise, unless called with false, to just return a cache-lookup
* Et2SelectAccountReadonly and et2_link_widget is changed to use the new/updated syntax with promises
2022-05-02 11:27:33 +02:00
ralf
78c9b4ac50 fix displayed [] instead of [Login] 2022-05-02 09:15:46 +02:00
ralf
4202b7357f fix a couple of JS errors in mail-compose due to now select widget 2022-04-30 12:11:37 +02:00
ralf
b834760c5b fix postion of download-/sharing-links for signature-on-top preference 2022-04-30 12:10:47 +02:00
ralf
e4c2432f4c replace jQuery.ui.keyCode.X with EGW_KEY_X 2022-04-30 10:33:07 +02:00
nathan
813cd6924e Calendar refactors:
- date_helper, which was an et2_date_widget, now just a function that can handle all the different date formats in calendar
 - holiday fetch & cache moved into its own file, useable from anywhere
2022-04-29 14:37:52 -06:00
nathan
f54c7f40bb Improve holidays() return documentation 2022-04-29 14:37:52 -06:00
nathan
b44f4ea30d Move holidays to its own file, show holidays in all date selection calendars 2022-04-29 14:37:52 -06:00
nathan
de2dade286 Et2SelectReadonly: Make sure we're dealing with string value 2022-04-29 14:37:52 -06:00
ralf
baf07a4a2c only load localization, if we have one 2022-04-29 17:40:43 +02:00
nathan
991a53c5d6 Calendar: Fix holidays in sidemenu calendar off by 1 day 2022-04-29 09:14:51 -06:00
nathan
e5f238584e Et2Date: Avoid error localizing English 2022-04-29 09:14:51 -06:00
ralf
ef7c175814 remove jQueryUI DateTime picker and splitter and use them also for eTemplates marked as legacy 2022-04-29 17:05:43 +02:00
ralf
97418862f4 fix not working [+Add] button in admin --> (onclick-)attributes must use double quotes 2022-04-29 15:16:19 +02:00
Hadi Nategh
c707af32b6 Add hideOnEscape and noCloseButton options into ET2Dialog 2022-04-29 14:28:43 +02:00
ralf
ddc2b082c1 add empty line above signature / replied message and ruler to start writing message
also some code cleanups and fix undefined array-key or variable warnings
2022-04-29 12:49:41 +02:00
ralf
21d362b5fa Merge remote-tracking branch 'origin/master' 2022-04-29 12:44:59 +02:00
ralf
4fd00df861 fix diverse undefined array-key or variable warnings 2022-04-29 12:44:43 +02:00
nathan
f5619e52c8 Calendar: Sidemenu calendar CSS adjustments
- smaller font size
- better sizing for header
- re-align header contents to match jQueryUI version
2022-04-28 15:46:39 -06:00
nathan
63b2755dbf Et2Date: Add localization 2022-04-28 15:46:39 -06:00
Hadi Nategh
36f41a9470 Handle appendTo attribute used in legacy dialog properly 2022-04-28 18:00:37 +02:00
ralf
0758e17d24 * CalDAV/Calendar: expand-property report used by iCal app (Mac) did not return rights on other users calendar
but other users/groups which have rights on the queried users calendar
Also on longer enumerate group-members in group-memberships as calendar-proxy-(read|write) groups, as iCal app understands group-memberships.
2022-04-28 16:10:16 +02:00
ralf
a32bb2abde do NOT log not found template because of missing $row_cont expansion on server-side 2022-04-28 10:39:08 +02:00
nathan
278f75546a Fix submit proceeded even if legacy widget failed validation 2022-04-27 11:56:03 -06:00
nathan
fd53dfe82b Fix PHP error if cf['type2'] is a single value, not array 2022-04-27 11:55:03 -06:00
nathan
b5f66c6cd8 CSS / Layout cleanup - use row hover variable for calendar sidebox 2022-04-27 10:55:31 -06:00
nathan
47604d23a7 CSS / Layout cleanup - better sizing on infolog description 2022-04-27 10:19:55 -06:00
nathan
69e13a2d7f CSS / Layout cleanup - Get rid of stupid scrollbars in dialogs 2022-04-27 10:14:01 -06:00
nathan
9dd6f44715 Calendar: Sidemenu calendar CSS adjustments 2022-04-27 09:53:19 -06:00
ralf
f4622f7811 fix PHP 8.x TypeError: htmlentities(): Argument #1 ($string) must be of type string, array given 2022-04-27 17:48:09 +02:00
ralf
c62b305b4a return a Promise from egw.accountData and deprecated, but still support, the use of a callback
egw.accounts can be called with a second parameter async=true to query accounts async and return a Promise
2022-04-27 17:33:07 +02:00
ralf
03099756d7 fix PHP 8.1 Error: Serialization of 'LDAP\Connection' is not allowed 2022-04-27 13:00:10 +02:00
ralf
12863efb78 npm audit fix 2022-04-27 08:43:27 +02:00
nathan
1c42668a97 Change sidebox calendar from jQuery to webcomponent / flatpickr 2022-04-26 15:27:49 -06:00
nathan
0017b78b53 Et2Date: Add support for inline dates & passing a format to parseDate 2022-04-26 15:24:58 -06:00
ralf
a74bd82dde next chunk of fixed PHP Warning: Undefined array key or variable in main repo 2022-04-26 21:04:16 +02:00
ralf
2d0de5f287 another chunk of fixed PHP Warning: Undefined array key or variable in api 2022-04-26 20:24:37 +02:00
ralf
917a833f89 fix "a ton" of PHP Warning: Undefined array key or variable in mail code 2022-04-26 18:46:38 +02:00
Hadi Nategh
fcf195cf47 Fix toolbar menulist doesn't get closed after clicking away from it 2022-04-26 14:53:01 +02:00
ralf
8db3ecc6cf update Horde mail packages to fix PHP 8.1 Deprecated: Return type 2022-04-26 13:25:36 +02:00
ralf
5918fac6a9 fix PHP 8.x TypeError: array_diff(): Argument #1 must be of type array, null given 2022-04-26 12:44:59 +02:00
ralf
6bd9051589 fix PHP 8.x TypeError: array_intersect(): Argument #2 must be of type array, null given 2022-04-26 11:30:02 +02:00
Hadi Nategh
a835d5bc6e WIP replacing jQuery-ui: fix et2_toolbar styling with new details tag 2022-04-26 11:18:43 +02:00
ralf
9a478aac9a update egroupware/adodb-php to 5.20.6 to fix one PHP 8.1 Deprecated 2022-04-26 08:48:41 +02:00
nathan
7d86272b28 CSS / Layout cleanup
- Fix select with tags=true causes hidden WebComponents to display

Chosen wants to do sizing calculations which wasn't working properly on w.c.
2022-04-25 10:46:51 -06:00
Hadi Nategh
ca794817eb WIP replacing jQuery-ui:
- Replace accordion with html details
2022-04-25 17:24:29 +02:00
nathan
65c683b9a2 Change styling on validation messages 2022-04-25 08:47:12 -06:00
ralf
d4c0fe738b setting preferred install method for egroupware/* packages to source, to be able to update them via git 2022-04-25 09:48:53 +02:00
ralf
941142c5be fix CallbackIterator to return mixed, as it can be overwritten with a callback 2022-04-24 21:27:53 +02:00
ralf
8d84312894 use egroupware/adodb with fixed PHP 8.1 Depreacted for missing return types 2022-04-24 21:16:24 +02:00
ralf
128b6b06df fix PHP 8.x TypeError: string & int 2022-04-24 20:52:49 +02:00
ralf
d92c5a94a6 fix PHP 8.1 Deprecated by adding return type declarations 2022-04-24 18:15:47 +02:00
nathan
aafbc58cdd Validation message styles
- Changed to absolute position to avoid reflow
- "Better" style
2022-04-22 16:07:57 -06:00
nathan
bc0b8407d2 CSS / Layout cleanup - addressbook edit 2022-04-22 15:23:37 -06:00
nathan
4f17302bb1 CSS / Layout cleanup - better autosize
- More consistent sizing/position for invoker
2022-04-22 15:22:31 -06:00
nathan
ec8b32c01d CSS / Layout cleanup - better autosize
- let things inside box shrink, actual widget can decide minimums
- Slotted inputs take up full width by default
- More consistent sizing/position for invoker
2022-04-22 15:21:46 -06:00
nathan
f8f04071be CSS / Layout cleanup
- Remove margin from input,button,select
- Fix some spacing issues
- Switch selects from display:inline-block to display:block so they take up all parent's space
- Let background (required) color show through select tag
- Some layout tweaks on mail account template
2022-04-22 13:07:22 -06:00
nathan
43f7a3b649 Calendar: Fix calendar tab could not be closed
Uncaught ReferenceError: egw_unregisterGlobalShortcut is not defined
2022-04-22 11:01:31 -06:00
nathan
6feb9f468a Handle missing nextmatch controller when setting up auto-refresh by trying again later.
(Missing controller caused by new template loading)
2022-04-22 10:52:16 -06:00
nathan
f18dd19536 Et2Split: Make bar darker on hover 2022-04-22 10:46:41 -06:00
nathan
ac3a07560e Infolog: Move toolbar buttons down to top of tab content 2022-04-22 10:40:32 -06:00
ralf
eb894c50ca fix an other case of "Network error" when downloading as ZIP 2022-04-22 11:00:09 +02:00
ralf
12b3d9016c rename "readonly" policy to "readonlys", as "readonly" is a reserved word from PHP 8.1 on 2022-04-22 00:41:22 +02:00
ralf
ecf15cf982 fix "Invalid character set was provided" error in newer MariaDB when trying to enter setup 2022-04-21 19:52:40 +02:00
nathan
166db3f4d2 Et2Description: Fix extra space while preserving line breaks 2022-04-21 10:41:30 -06:00
nathan
e73fe68384 Infolog: Move toolbar icons back inline above tabs 2022-04-21 09:16:46 -06:00
nathan
19ae591bdf Et2Split: Add a background color to the splitter bar 2022-04-21 09:09:59 -06:00
ralf
f05ce485ca do not generate a custom fileAs for new contacts 2022-04-21 15:45:20 +02:00
ralf
f42f26d86b always generate minified CSS, if grunt is installed
- still run other npm tasks (install & build), if grunt is not installed
- run "npm install --legacy-peer-deps", to cope with dependency mismatch caused by downgraded grunt-newer
--> if developer install should not use minified CSS: remove grunt and the previous generated .min.css files
--> if downgraded grunt-newer caused CSS "problems": run once manually: grunt cssmin
2022-04-21 13:45:38 +02:00
ralf
84bc75f21e fix TypeError: fpassthru(): Argument #1 ($stream) must be of type resource, string given 2022-04-21 11:03:55 +02:00
nathan
a312b7fe71 Infolog: Fix timestamp & encryption button positioning 2022-04-20 16:51:12 -06:00
nathan
416136dc24 Et2Description: Fix missing styles from extending classes (Et2Url) while also keeping decrypt on hover working 2022-04-20 16:23:53 -06:00
nathan
234684061d Et2Split: Bugfixes
- better handling of nested dynheight
- handling orientation property
- avoid resizing when not visible
2022-04-20 14:15:49 -06:00
nathan
94f843cd50 Et2Widget: Add modifications in when transforming attributes 2022-04-20 14:09:45 -06:00
ralf
dc44888d36 update grunt-newer to fix prototype pollution in async
https://github.com/EGroupware/egroupware/security/dependabot/7
2022-04-20 22:03:11 +02:00
ralf
c3ccb7e2e4 no longer tag ADOdb with EGroupware version, handling it with own version like other dependencies 2022-04-20 21:59:51 +02:00
ralf
29ab167612 fix build for PHP 8.1 and no longer (additional) install of PHP 7.4 for PHP 8.x 2022-04-20 21:59:51 +02:00
ralf
3bacbe4d1e some work on our dependencies to officially support PHP 8.x 2022-04-20 21:33:25 +02:00
nathan
df489f14df Leave output buffering alone, since trying to turn it off makes the download fail
The browser was giving "Failed - Network error" and there was nothing in the server log. ob_get_level() was giving 3, but trying to turn it using ob_end_clean() was just... failing.
2022-04-20 09:45:58 -06:00
ralf
b32e68c541 fix PHP 8.x TypeError: Cannot access offset of type string on string 2022-04-20 17:31:17 +02:00
Birgit Becker
d1cd915a0e
add bookable to ressource list 2022-04-20 12:37:12 +02:00
nathan
ce14c1c9f6 Et2Split: Convert splitter to webcomponent 2022-04-19 09:36:44 -06:00
nathan
44c8b2f372 Et2Widget: More complete handling of child object styles property when it is missing 2022-04-19 09:31:10 -06:00
nathan
18f6d1ee0b Et2Image: Fix "TypeError: this._imageTemplate is not a function"
I'm not sure how that happened.  Autocorrect?
2022-04-14 08:50:34 -06:00
nathan
6bd5388131 Mail: Fix pressing delete without selected mail deletes first mail when mail is not the open app when you log in 2022-04-13 16:41:20 -06:00
nathan
748e2ee70e Et2Image: Use slotted image so most CSS still works 2022-04-13 10:37:55 -06:00
nathan
0d6d18e3fa Et2Image: Show as clickable if image has href OR onclick 2022-04-13 08:34:24 -06:00
nathan
0f362f9717 Put Et2Description content into light DOM to fix decrypt on hover 2022-04-12 16:28:36 -06:00
nathan
b9892687e9 Infolog: Fix toggle encrypt didn't work with webcomponents 2022-04-12 15:23:51 -06:00
nathan
2755d19d2f Calendar: Fix planner by user only showed one user
Fixed a few other planner bugs too:
- Not all properties were being set (owner, group_by, show_weekend)
- header was incorrectly sized
2022-04-12 11:25:33 -06:00
nathan
319bd51f80 Et2Image bugfixes
- No src or default_src gives nothing, not missing image
- Fix etemplate.php parser so buttons that get converted to images still submit
2022-04-12 10:00:43 -06:00
nathan
75e573b6a1 * Api: Merge placeholder that checks for EMPTY {{IF fieldname~EMPTY~True text~False text}}
EMPTY check was already there, just adding it explicitly into the placeholder list
2022-04-12 09:04:18 -06:00
nathan
e3be42721e Fix Et2Image did not double-transform src for as legacy image did
eg:
if $content[0][type] = "group"
${row}[type] => "0[type]" (single transform)
0[type] => "group" (double transform)

Also, fix type from addressbook list to not need double-transform
2022-04-11 15:03:24 -06:00
nathan
6ed888a80e Fix missing Et2Image label 2022-04-11 13:38:24 -06:00
nathan
49d40c18e8 Set nextmatch as parent so newly cloned webcomponents in nm row have it before we start setting properties.
Fixes egw.image() not having correct app.
2022-04-11 11:21:39 -06:00
Hadi Nategh
8175a592d5 Fix some mail actions e.g. "view as source" or "Html" no longer working 2022-04-11 12:43:18 +02:00
ralf
abba483377 limit et2-buttononly w/o background_image conversation to et2-image to non-list / -NM templates 2022-04-09 09:15:18 +03:00
nathan
77a11cb5fe Fix image src not getting set 2022-04-08 14:03:29 -06:00
nathan
2ba299f876 Change buttons that used to be just an image to be just an image
- Remove Et2ButtonImage, it's not needed.  Buttons without labels look the same
- Add Et2Image to take its place
- Change etemplate modifier to use Et2Image for buttononly
- Some styling for mail account placeholder button
2022-04-08 13:03:20 -06:00
ralf
150f741f5a Changelog for 21.1.20220408 2022-04-08 13:23:18 +03:00
ralf
28b42f4276 * Filemanager/SMB: fix not working sharing of SMB shares (with fixed credentials!)
sanitize URL before sending them to PHP / other stream-wrappers like the smb one, which chokes on our ro=1 parameter
2022-04-08 12:42:53 +03:00
nathan
70c5cedec7 Better styles for disabled buttons 2022-04-07 16:45:24 -06:00
nathan
3f86e98257 Deal with et2-button-image showing label 2022-04-07 16:24:45 -06:00
nathan
fe91205192 Check & set context for filesystem:// too 2022-04-07 14:18:13 -06:00
nathan
0d32bb6e5c Api: Make sure mountpoint URL query and target URL query don't double ? in path query 2022-04-07 14:18:13 -06:00
ralf
e782cb9105 add processing of new et2-button-image tag and new/changed et2-button attributes 2022-04-07 21:05:32 +03:00
nathan
911a2970b0 Et2Dialog: Turn on modal now that style issue is fixed 2022-04-06 15:13:51 -06:00
nathan
d1b5c796dd Expand super.styles 2022-04-06 15:12:39 -06:00
nathan
22ae7fbf89 Use Et2Button.noSubmit instead of Et2Button.doSubmit 2022-04-06 15:08:18 -06:00
nathan
54ea13bfa8 Et2Widget: Fix the missing style property
... by not overriding it
2022-04-06 15:06:25 -06:00
nathan
3c28d4b9a9 Et2Button: change doSubmit (default false) to noSubmit (default true) because of nextmatch complications with boolean properties 2022-04-06 14:48:57 -06:00
nathan
725b32941f Api: Fix sharing folders by making sure compression is off 2022-04-06 14:44:46 -06:00
ralf
1f46fdc7d6 Changelog for 21.1.20220406 2022-04-06 16:58:06 +03:00
ralf
510dbefce8 fix PHP 8.0 Error: explode(): Argument #2 ($string) must be of type string, array given 2022-04-06 16:30:01 +03:00
ralf
3804ee004f allow PHP 8.1 too 2022-04-06 14:28:40 +03:00
ralf
233c984b0e seem Composer 2.x need --prefer-source to not remove the .git dirs on update 2022-04-06 14:11:10 +03:00
nathan
50bb44d3ff Admin: Remove time limit when deleting a user
all those records could take a while and we don't want to fail
2022-04-05 15:14:53 -06:00
nathan
e68e125a0a Add accesskey property 2022-04-05 10:09:49 -06:00
nathan
d34cf914fa This reverts commit f0227ef154 which accidentally committed package-lock.json 2022-04-05 10:09:09 -06:00
nathan
f0227ef154 Add accesskey property 2022-04-05 09:35:05 -06:00
nathan
57e231aced New Et2ButtonImage that shows only image
Also doesn't stretch like the others do.
2022-04-05 09:15:08 -06:00
nathan
72736566e2 Convert <buttononly/> => <button doSubmit="false"/> 2022-04-05 09:13:14 -06:00
Hadi Nategh
8b147bc285 Fix removeSessionItem not working 2022-04-05 10:24:06 +02:00
nathan
a763b84be4 Et2Button properties hideOnReadonly, noValidation
Added hideOnReadonly, default false.  Disabled/readonly buttons are now visible but disabled, unless you set hideOnReadonly="false" to get previous behaviour.

Added noValidation, default false.  It's just passed to etemplate2.submit() as before
2022-04-04 16:24:01 -06:00
Ralf Becker
76e76a9e18 pending changes from our translation server 2022-04-04 13:26:38 +02:00
ralf
64c9507912 fix PHP 8.1 error/mysqli_sql_exception: Invalid character set was provided (utf-8 instead of utf8) 2022-04-04 10:19:26 +03:00
ralf
73662af7b2 LDAP resources are objects (no longer resources) from PHP 8.1+ 2022-04-04 09:23:10 +03:00
nathan
17834f1be8 Fix nextmatch changing value back before it could be submitted 2022-04-01 14:52:40 -06:00
nathan
a83f9a1ec9 Get tests passing again
- Dates have their input as slotted, not internal
- Selects have .select_options, not .get_select_options()
- Remove this.egw().lang() use from Et2InvokerMixin._invokerTemplate()
2022-04-01 12:52:47 -06:00
ralf
9e8b291201 calling etemplate2.submit(,,no_validation=true) caused no submit (as invalid is no promise, but null) 2022-04-01 21:28:25 +03:00
ralf
b2a85e68b8 fix vfs-path widget to correctly deal with smallPART paths (hierarchical structure inside entry directory) 2022-04-01 21:00:45 +03:00
nathan
0c8824c496 Fix addressbook contact type filter was sometimes 'D' after being initialized to 'n'
When nextmatch moved the template in the DOM, we were re-adding already existing options which re-set the value.
2022-04-01 11:12:19 -06:00
ralf
4e488d7f5a fix PHP 8.0 error when deinstalling an app with single table (string instead of string[]) 2022-04-01 14:38:18 +03:00
ralf
4fc0e2a380 require egrouware/webdav:^0.3.6 which uses egroupware/guzzlehttp:^3.9.5 and new fixed egroupware/guzzlecommon:^3.9.3 2022-04-01 10:04:16 +03:00
nathan
9cd746f0b4 Fix missing nm filters 2022-03-31 08:46:36 -06:00
nathan
6120d820aa Change to Et2Dialog
- History diff
- Fix some bugs in placeholder widget
- Change load listener target, the dialog content node might have been moved out before the event gets triggered
2022-03-30 15:11:15 -06:00
nathan
bfdb53b1cf Change over some more dialogs 2022-03-30 13:24:52 -06:00
nathan
763ed85668 Fix splitter widget did not restore size from preference
Two problems:
1.  Preference was stored as percent which splitter did not like to load directly
2.  Etemplate was triggering the final finish-up, which triggered resize(), which stored the default as preference before the splitter got to its _init_splitter(),
2022-03-30 09:09:33 -06:00
nathan
632ab571db Fix nextmatch webcomponent children stalled etemplate load, preventing et2_init() from being called. 2022-03-30 08:30:25 -06:00
ralf
790f9b2ff9 fix broken tracker mailhandling caused by protected constructor
also disable reading from DB, in case no (numeric) acc_id given, like from tracker mailhandling
2022-03-30 10:57:41 +03:00
ralf
e7dc51ad14 Revert "Fix splitter widget did not restore size from preference"
This reverts commit e8635be8c1.
2022-03-30 10:21:22 +03:00
dependabot[bot]
812e2a4b31 Bump guzzlehttp/psr7 from 1.6.1 to 1.8.5
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 1.6.1 to 1.8.5.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/1.8.5/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/1.6.1...1.8.5)

---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-30 08:53:10 +03:00
ralf
85a26d56b1 setting select_unit="true" for all date-duration to get old format with most fitting unit 2022-03-29 21:07:41 +03:00
nathan
c12d4cebfb Et2DateDuration: Enforce the order of display to be greatest to least
For example hours:days is not allowed anymore, auto-corrected to days:hours
2022-03-29 11:00:59 -06:00
ralf
22c8d8808f Allow overwriting values in all mail accounts through an optional file /var/www/mail-overwrites.inc.php 2022-03-29 19:39:39 +03:00
nathan
e8635be8c1 Fix splitter widget did not restore size from preference
Two problems:
1.  Preference was stored as percent which splitter did not like to load directly
2.  Etemplate was triggering the final finish-up, which triggered resize(), which stored the default as preference before the splitter got to its _init_splitter(),
2022-03-29 09:17:04 -06:00
ralf
49e7aab2cc * Addressbook: allow keeping custom fileAs value (LDAP: displayname) by adding it as first option 2022-03-29 10:25:52 +03:00
ralf
20d3394e2b fix IDE warning/error: constructor returning something 2022-03-29 09:12:02 +03:00
nathan
13d1289910 Dialog / button fixes
- Get dialog contents visible in Firefox

Something in how Firefox parsed or inserted the style and children caused an error:
Node.insertBefore: Child to insert before is not a child of this node
which caused the dialog contents to be missing from the shadow DOM.  This fixes the missing contents by putting the style in using a different way.
2022-03-28 11:29:21 -06:00
ralf
27580ff4d7 remove not used/existing async_identity configuration 2022-03-28 19:47:56 +03:00
ralf
e77dfb4bde * InfoLog: set replyTo for async notification to owner of InfoLog, otherwise the user causing the change 2022-03-28 19:38:15 +03:00
ralf
4f3e9fa06c do NOT attempt to use credentials encrypted with user password in an async context
(where user password is not available)
otherwise an s/mime certificate or user specific password will stall sending notification, even if no smtp authentication required
2022-03-28 17:58:41 +03:00
ralf
9a07c4a1dd do NOT overwrite everything, if vfs-upload is used without id:
- using fallback id of "file_widget" the client-side uses
- ignore validation, if there is no id
2022-03-28 13:32:05 +03:00
nathan
f714729c26 Dialog / button fixes
- Fix vfsSelect did not close (seen in collabora save as)
- Turn off destroy_on_close, vfsSelect was destroying opening session (seen in mail compose 404)
- Add doSubmit property to Et2Button, dialog no longer gives error on every button click
2022-03-25 09:55:02 -06:00
ralf
55da72a661 replace jQuery.Deferred with regular Promise
trying to fix not working restore of splitter size in mail, thought it did NOT help in that regard :(
2022-03-25 10:02:14 +02:00
nathan
467e2ca8e2 Fix some bugs in nextmatch dialog action
Wrong action was used, leading to an error.  Plus, it kept a copy of the nextmatch in memory across the reload.
2022-03-24 14:48:02 -06:00
nathan
76d6ed81cd Infolog: Fix alignment on Times/Planned column 2022-03-24 13:26:06 -06:00
nathan
21da0b067a Get vfsSelect dialog working again 2022-03-24 13:01:41 -06:00
nathan
5e2b690b2a Et2Dialog Increase min-width 2022-03-24 11:41:29 -06:00
nathan
db44e0b754 Calendar: Quick add improvements
- Set slot attribute to make sure dialog adopts the preference checkbox too
- Make sure template winds up alone in the dialog (remove default content)
2022-03-24 11:24:00 -06:00
nathan
67dba61ef6 Et2Dialog changes
- dialog can now adopt buttons from the template.  Preferrably set slot="buttons", but it'll find them anywhere if you don't
- Reduce size & padding for non-template content
2022-03-24 11:21:32 -06:00
nathan
61579e1e54 Switch filemanager share link to using Et2Dialog 2022-03-24 09:53:21 -06:00
nathan
38a3af6981 Set modelValue if the inputWidget has a _callParser() method.
This makes sure the internal modelValue is set when we call set_value(), and preserves value if the widget is re-connected (like Et2Dialog does)
2022-03-24 09:46:27 -06:00
nathan
53a7405a61 Et2Dialog: Adjust header style
added a line below header, title slightly larger, adjusted padding
2022-03-23 14:50:00 -06:00
nathan
be6b49ca21 Remove debugger 2022-03-23 14:48:45 -06:00
nathan
db27086fe5 Change another reference to et2_dialog in nextmatch 2022-03-23 13:43:23 -06:00
nathan
79fab93351 Fix missing button labels from legacy dialog 2022-03-23 13:42:12 -06:00
nathan
9693cfe538 Switch nextmatch print & select all to using Et2Dialog 2022-03-23 13:28:15 -06:00
nathan
db7c68bdc7 legacy dialog - Fix missing buttons 2022-03-23 13:22:14 -06:00
nathan
6d538f29f0 Fix legacy dialog gave error without parent 2022-03-23 13:02:12 -06:00
nathan
cdbdf53d46 Et2Dialog: Make sure value has a content before loading template, otherwise we get an error from etemplate2 2022-03-23 13:02:12 -06:00
ralf
a5d6fea958 do not prefix empty path with preprocessor script, as it prevents client-side expansion 2022-03-23 20:57:00 +02:00
Hadi Nategh
d13d039349 Fix Taglist new free entry replacing other selected options 2022-03-23 18:16:19 +01:00
nathan
f5c1e21ee8 Switch placeholder widget to using Et2Dialog 2022-03-23 11:01:36 -06:00
nathan
39baec10ab Add some documentation to legacy dialog 2022-03-23 11:00:41 -06:00
nathan
2c92ddfe92 Et2Dialog: Fix template's DOMContainer ID still had .xet in it 2022-03-23 10:53:00 -06:00
nathan
85e247d4d6 Legacy dialog
- Fix load event was not bubbling through to the listener
- Fix value was missing
2022-03-23 09:50:11 -06:00
ralf
2f616281e0 fix click eg. in mail on attachment as long as we have no blueimp/expose 2022-03-23 15:26:16 +02:00
nathan
3c4f85155d Get legacy et2_dialog working with createWidget() 2022-03-22 17:21:59 -06:00
nathan
56ed4e1267 Et2Dialog: Fix incorrect properties declaration 2022-03-22 17:19:53 -06:00
nathan
322fa3c8f4 Get nm_action dialogs working 2022-03-22 15:49:42 -06:00
nathan
8a033b6b9a Fix sometimes missing namespace causing some child widgets to have their value in the wrong place 2022-03-22 15:46:39 -06:00
ralf
cfc7bd84f5 no more Composer 1 downgrade 2022-03-22 18:43:28 +02:00
Hadi Nategh
f4e877bcdf Adapt vfs dialogs with new Et2Dialog widget 2022-03-22 12:50:42 +01:00
Hadi Nategh
6b1dd6a5fd Fix error "explode(): Argument #2 ($string) must be of type string, array given", happens sometimes while merging contacts 2022-03-22 10:54:44 +01:00
ralf
2bf05f23f2 fix minimist security vulnerability 2022-03-22 08:19:01 +02:00
nathan
ff274c2bc8 Et2Dialog changes
- Add some margin, border & box-shadow
- Smaller header & close button
2022-03-21 14:51:43 -06:00
ralf
1fd70bad3a fix typo 2022-03-21 21:26:00 +02:00
ralf
4a9d63c2ce update to Composer 2.x
you need to update your composer with: composer self-update --2
2022-03-21 21:07:28 +02:00
nathan
b600059b68 Et2Dialog changes
- improve documentation
2022-03-21 09:52:09 -06:00
nathan
ff471946b5 Make et2_widget_dialog a stub that extends Et2Dialog so 3rd party apps might still work 2022-03-21 09:50:58 -06:00
Hadi Nategh
10453c41e3 Give maximum available height to BOX's parent node 2022-03-21 16:21:55 +01:00
nathan
e9a381da69 Et2Dialog changes
- Set template's DOM ID so CSS can style it

This is the best way to set [minimum] dimensions, though you can set width & height on the Et2Dialog.
2022-03-21 08:46:03 -06:00
Hadi Nategh
d7400503ac Use data value instead of index for close/edit handling as indexes might get change 2022-03-21 14:13:45 +01:00
ralf
7d8d2be431 * Filemanager/WebDAV: fix PHP error if mounted WebDAV server got eg. a wrong password (did not return a 207 on PROPFIND) 2022-03-21 10:43:12 +02:00
ralf
501f0eb1b9 * Filemanager/WebDAV: add (missing) trailing slash in mount URL for WebDAV, as NextCloud requires it 2022-03-21 10:40:31 +02:00
nathan
8acc4c6750 Switch from et2_dialog to Et2Dialog 2022-03-18 14:41:48 -06:00
nathan
9e989596c2 Et2Dialog changes
- Fix Et2Dialog.show_prompt() incorrectly returned too much, should be just the prompt value
2022-03-18 14:40:54 -06:00
ralf
238a22ba01 replace multiple="dynamic" with expand_multiple_rows="4" and remove button to switch to multiple 2022-03-18 22:27:33 +02:00
ralf
a45d26511b fix not set invoker for expand_multiple_rows attribute 2022-03-18 22:26:15 +02:00
nathan
fefc822d9c Et2Dialog changes
- Fire a close event on close
- When closing, clear the template (if present)
2022-03-18 14:05:57 -06:00
nathan
046599af2f Calendar: Switch from et2_dialog to Et2Dialog 2022-03-18 13:59:45 -06:00
Hadi Nategh
53ecdba510 WIP Et2Taglist: trying to get allowFreeEntries feature working 2022-03-18 19:13:30 +01:00
ralf
5650e8c616 ignore click action for an empty value 2022-03-18 09:53:09 +02:00
nathan
96039e0729 egw_open doesn't like the import... 2022-03-17 16:54:43 -06:00
nathan
255add7d98 Api: Switch from et2_dialog to Et2Dialog
Might be some I missed or can't change just yet
2022-03-17 16:18:39 -06:00
nathan
9087ea644b Admin: Switch from et2_dialog to Et2Dialog 2022-03-17 15:36:06 -06:00
nathan
0479671ac4 Et2Dialog changes
- implement Et2Dialog.long_task()
- change to use Et2Dialog._buttons.label instead of Et2Dialog._buttons.text for better consistency
2022-03-17 15:21:15 -06:00
nathan
6d393fb439 Addressbook: Switch from et2_dialog to Et2Dialog 2022-03-17 13:10:20 -06:00
nathan
4fd50db1c3 Et2Dialog - only try to add an image to button if one is specified
Avoids error in button set image()
2022-03-17 13:06:29 -06:00
nathan
56571c6fc7 Et2Dialog changes
- Fix some event listeners
- Add getCompleted() promise that resolves when the dialog closes.
- Et2Dialog.alert() returns the promise directly, other static methods return the Et2Dialog to avoid breaking existing code

You can now wait for a dialog with:
Et2Dialog.show_prompt(null,"Name?").getComplete().then(([button_id,value]) => console.log(value));
or using async:
[button_id, value] = await Et2Dialog.show_prompt(null,"Name?").getComplete();
if(button_id === Et2Dialog.BUTTON_OK) {...}
2022-03-17 13:03:47 -06:00
ralf
7e01d1ae6a fix timezone of completed date 2022-03-16 23:22:05 +02:00
ralf
ee36e83cbb fix Et2Date.set_value('') did not clear 2022-03-16 23:21:15 +02:00
ralf
b9cca9c5ff using set/get select_option plus a set_selection_options marked as deprecated
- get_select_options seems to be nowhere in use, so I did not implement it
- Et2Select* widgets with static options assign them in their constructor (like the r/o ones)
- removed a jQuery.proxy call, which we dont want in new code
2022-03-16 22:36:43 +02:00
nathan
5fdc594d00 Get templates working in Et2Dialog 2022-03-16 13:53:50 -06:00
ralf
689e7e6ee5 modify statusChanged onchange for info_(status|percent|datecompleted) to work with new and old eT2
thought current Et2Select has a problem with fixed options from Et2Select* widgets
2022-03-16 10:07:00 +02:00
nathan
c120f13466 Get separate egw object & some styling sorted out 2022-03-15 14:10:53 -06:00
nathan
ed72d63522 Add missing label property 2022-03-15 13:48:58 -06:00
Hadi Nategh
5dd67f2d3d Fix alarm not being fired sometimes 2022-03-15 18:56:47 +01:00
Hadi Nategh
1d559e9263 Allow multiple alarms being set for countdown widget 2022-03-15 16:58:05 +01:00
ralf
89ebb61f76 implement full_email attribute for et2-url-email with changed default of false 2022-03-15 14:39:42 +02:00
ralf
7a749a8f54 fix instead of all only last option was selected sometimes
because multiple property was not yet synced to DOM node
2022-03-15 11:43:55 +02:00
ralf
e5a6f195dc fix delete-account did not show 0 entries for InfoLog, also give a total per InfoLog type 2022-03-15 10:50:57 +02:00
ralf
c6cb42eb96 upgrade all @lion/* and add @lion/dialog 2022-03-15 08:51:37 +02:00
nathan
2c1f9b2579 WIP on dialog
You can try it with
et2_dialog.show_dialog(null, "This is the message", "Title")
2022-03-14 17:07:25 -06:00
ralf
293e9f2fc6 Implement multi-select value as string[] or comma-separated
Had to overwrite some formMixin methods, which considered everything not string as invalid and set/get value to do the right thing for multi-select
Not sure if code should go to Et2WidgetWithSelectMixing to be shared with TagList ...
2022-03-14 21:13:47 +02:00
ralf
940e1b12c1 Implement expand_multiple_rows attribute for Et2Select using Et2InvokerMixin 2022-03-12 14:49:25 +02:00
nathan
4cf4c5090a Remove extra image declaration, now using auto-generated internal image property 2022-03-11 14:36:50 -07:00
Hadi Nategh
3705448aff Fix filemanager's view no longer works 2022-03-11 14:22:04 +01:00
ralf
dd7ebad1e7 Implement et2-select-account 2022-03-10 20:20:32 +02:00
nathan
5f997299e5 * Calendar: New preference so default alarm can be for current user or all participants 2022-03-10 11:01:18 -07:00
ralf
6ebd09b275 size and align icons for url-widgets 2022-03-10 18:14:28 +02:00
Hadi Nategh
1be92b5b61 Style MixinInvoker widgets 2022-03-10 15:39:54 +01:00
ralf
9285b87a92 implement multiple attribute for et2-select reflecting it to selectbox
fixing TypeError set_multiple is not a function
2022-03-10 15:48:27 +02:00
ralf
0099b094b9 Fix TypeError: Cannot set property options 2022-03-10 14:57:00 +02:00
ralf
782958d7fc Fix/remove email validator and implement trailing_slash attribute 2022-03-10 14:26:06 +02:00
ralf
ebaebf65ca Implement et2-url-* incl. r/o
ToDo: implement allow_path and trailing slash attributes for et2-url
2022-03-10 10:15:59 +02:00
nathan
6a8b14fd8e Infolog: Disable info_used_time in list when it has no value 2022-03-09 14:26:00 -07:00
nathan
f34d7f4d9c Solution for boolean attributes that need row data: Use the default but hold on to the value that couldn't be parsed, defer processing until later. 2022-03-09 14:23:45 -07:00
ralf
801398e69b fix TypeError undefined function date 2022-03-09 22:01:55 +02:00
ralf
0507872493 using window.fetch() and promises to load holidays 2022-03-09 22:01:01 +02:00
nathan
944c0ad68e Add disabled to detached attributes 2022-03-09 10:17:59 -07:00
nathan
4d25d2ea8b Wait on parsing boolean attributes with ${row} if we're not actually in a row, same as string attributes.
Fixes boolean attributes don't follow $row values
2022-03-09 10:16:40 -07:00
nathan
d8517edafa Fix template load failed if it didn't had a template to load, now just resolving quietly.
Fixes calendar sidebox integration stalled eTemplate load
2022-03-09 09:02:36 -07:00
ralf
879f882ef1 * InfoLog: fix saving an InfoLog twice gave error that entry was modified, if user timezone was different from server 2022-03-09 15:42:29 +02:00
Hadi Nategh
7293b34493 Fix broken egwActionObject import, import statement being removed accidentally in f7f4053d1a 2022-03-09 11:21:06 +01:00
ralf
5fd4423775 fix indention making debugging wired otherwise 2022-03-09 09:43:39 +02:00
nathan
f7f4053d1a Swap Promise for jQuery.Promise in loadingFinished() & doLoadingFinished()
This lets us add LitElement's updateComplete Promise into the list of things to wait for, and solves the problem of app init code being run before widgets are complete.

https://lit.dev/docs/components/lifecycle/#reactive-update-cycle-completing
2022-03-08 15:11:32 -07:00
ralf
1b74f1f1a7 WIP URL widget for email and phone (not yet styled) 2022-03-08 20:20:06 +02:00
Hadi Nategh
e9fbc81565 WIP Taglist: implements get and set value 2022-03-08 16:19:03 +01:00
Hadi Nategh
7bdfceda87 WIP Taglist:
- fix dropdown menu not positioned correctly
- fix more styling
2022-03-08 09:24:18 +01:00
nathan
d0926226cd Fix set_min() & set_max() for Date 2022-03-07 14:33:09 -07:00
nathan
3c656701f5 Calendar: Fix TypeError: Cannot read properties of null (reading 'getValue')
Thrown when creating a new event via quick add or changing the start date
2022-03-07 13:45:58 -07:00
nathan
734401c6cd Get Date widget to use slots for better styling, also fixes re-initializing when not needed 2022-03-07 13:33:13 -07:00
nathan
0eaae8e5f1 Calendar: Set new ID to fix missing links to CF fields on new events 2022-03-07 10:15:50 -07:00
Hadi Nategh
db4d0295b8 WIP Taglist: implement edit buttton 2022-03-07 17:36:15 +01:00
nathan
a059d2f59c Fix for disconnected month selectboxes
aa2dc5c8f0 didn't work
2022-03-07 09:15:56 -07:00
nathan
1671e69603 Fix required dates gave missing error even if they had a value 2022-03-07 09:14:15 -07:00
Hadi Nategh
bb1e9d2c30 WIP Taglist:
- fix tag style
- fix close button
- allow to open menu when there's fixed sel_options
2022-03-07 16:32:39 +01:00
Hadi Nategh
285b71b6aa WIP taglist: Fix backspace doesn't remove selected tags 2022-03-07 11:41:02 +01:00
ralf
f76ee3c920 forward min, max and step attribute to input node 2022-03-06 20:44:20 +02:00
ralf
4f93ceb16e Implement et2-number(_ro) and preprocess <(textbox|float|int(eger)|number) type="float|int(eger)" to it in etemplate.php
.
2022-03-06 20:14:53 +02:00
ralf
82c7f4b89d rename header.inc.php to header-backup.inc.php before updating it and rename it back, if update fails 2022-03-05 15:57:18 +02:00
ralf
6f878cd7f1 fix not working translation of Admin > Apps > TimeSheet > Edit status 2022-03-05 15:27:45 +02:00
ralf
5ac43d7a5a deprecated and replace attributes: needed-->required, blur-->placeholder in preprocessor
remove client-side code for them and enable translation of placeholder
2022-03-05 15:25:53 +02:00
ralf
3b896e0919 deprecated and replace attributes: needed-->required, blur-->placeholder in preprocessor
remove client-side code for them and enable translation of placeholder
2022-03-05 15:22:45 +02:00
ralf
d5dc3cff2b * Filemanager/WebDAV: fix errors mounting and reading files via WebDAV from other EGroupware or *Cloud 2022-03-05 11:40:21 +02:00
nathan
aa2dc5c8f0 Maybe stop the disconnected month selectboxes? 2022-03-04 15:42:27 -07:00
nathan
0e4d32ea20 Get some neglected tests working again 2022-03-04 15:37:22 -07:00
nathan
4bd4402e28 Get taglist selected options showing up
Note the [internal] event listener bound in Et2Taglist.connectedCallback() that re-renders the TaglistSelection every time the taglist's [internal] value changes
2022-03-04 13:41:37 -07:00
nathan
2d3e3f86e1 Call requestUpdate() to pass on the new "multiple" value 2022-03-04 09:19:17 -07:00
nathan
4445b11a07 Make sure the option tag is included & registered as a webcomponent 2022-03-04 09:09:16 -07:00
Hadi Nategh
77a67d892b WIP Et2Taglist wiget:
- Make the taglist a Lion-combobox
- Use templateOptions for different taglist types
2022-03-04 14:23:19 +01:00
nathan
e718af5f3c Fix infolog edit was not displaying 'None' when no category was set 2022-03-03 15:17:23 -07:00
nathan
1893a2c7fe Fix duration in infolog list 2022-03-03 14:14:26 -07:00
nathan
aff71549a2 Move some code out of Et2Select into parent mixin for better re-use
Any child that has selectbox type functionality (extends Et2WidgetWithSelectMixin) needs to implement:
- _optionTargetNode() : HTMLElement
- _optionTemplate(option : SelectOption) : TemplateResult
2022-03-03 10:38:56 -07:00
Hadi Nategh
f0422b91ca Fix no forward works only after saving sieve rule 2022-03-03 15:41:01 +01:00
ralf
cdc8ed0260 missing package-lock.json of recent package.json update 2022-03-03 08:47:49 +02:00
nathan
882f2a913c Implement regex validator 2022-03-02 14:22:19 -07:00
nathan
39cea7e3cb Add combobox & listbox 2022-03-02 13:28:47 -07:00
Hadi Nategh
d093a7648c Remove unintentional committed ET2TaglistEmail file 2022-03-02 16:31:07 +01:00
Hadi Nategh
3112dc1399 WIP of Et2Taglist implementation 2022-03-02 16:28:45 +01:00
ralf
89613dd368 fix et2-date-duration showing NaN:NaN in timesheet
boolean attributes should not have a default of true, because DOM does NOT reflect false and we need to reflect for use in NM
--> changed default for select_unit for r/o duration to false and set it in timesheet.index to true
--> changing it for r/w too would require a lot of xet files to be updated (we don't need reflection there)
2022-03-02 11:02:24 +02:00
nathan
d7adf26ce6 Implement splitting up widget label using %s 2022-03-01 16:56:58 -07:00
nathan
7eca91e83a Implement clearing manual validation error messages 2022-03-01 16:55:55 -07:00
nathan
3c9b9540e4 Fix copy/paste error - Et2DateDuration does not have an options property to access 2022-03-01 16:50:05 -07:00
nathan
00f7b51fbd Hopefully prevent double-bind of input change
Should fix addressbook contacts/organisation filter
2022-03-01 15:15:24 -07:00
nathan
ae700fb391 Fix distribution list filter did not change filters when its value changed 2022-03-01 11:22:47 -07:00
ralf
5ff96e7818 fix last option select instead of empty label or any other option
eg. "shared by me" in Addressbook instead of "All contacts"
caused by this._inputNode not available when set_value was called
2022-03-01 18:29:13 +02:00
ralf
c70886f106 fix invalid can be null and then gives an error 2022-03-01 16:52:50 +02:00
ralf
36e3bd5de0 fix typo modalValue instead of modelValue to get validation (required) working
Had to overwrite formatter as it gave an error for accessing not yet set _inputNode
2022-03-01 16:51:40 +02:00
ralf
ac408f4eef Change handler setting modelValue for validation
setting it in getValue() alone does not remove validation message direct after entering a date
2022-03-01 16:09:27 +02:00
ralf
185e0eaf95 fix error, if widget has no change handler 2022-03-01 14:45:38 +02:00
Hadi Nategh
2d6770ebfa Fix missing Et2WidgetWithSelect class 2022-03-01 13:31:13 +01:00
Hadi Nategh
08549e25da Make Et2WidgetWithSelect a Dedup Mixin in order to make it available cross widgets 2022-03-01 12:35:33 +01:00
nathan
f8b1fcf412 Try and get nextmatch header change working with web components 2022-02-28 14:09:09 -07:00
nathan
5406704c74 Add set_min() & set_max() 2022-02-28 14:06:37 -07:00
nathan
30ddeb79b0 Add missing change listener 2022-02-28 13:45:47 -07:00
ralf
9260f25476 fist option with value of 0 was not selected 2022-02-28 17:42:57 +02:00
ralf
eff1f10484 fix sometimes first non-empty label used for empty value
seems update got triggered before empty_label was set
2022-02-28 15:21:23 +02:00
ralf
e567a0d465 fix et2-select use first option, not just empty_lable, if value is not in options 2022-02-28 14:11:57 +02:00
ralf
a6d297afb7 ignore further legacy options for select, to not display them as part of the empty_label 2022-02-28 13:41:02 +02:00
ralf
cdb944147f fix one left over needed property and added getter&setter for deprecated needed property 2022-02-28 12:12:04 +02:00
ralf
1518c38c72 npm update @lion/* to get ride of @npm/select using its own newer core and form-core 2022-02-28 12:00:13 +02:00
nathan
e166211a66 Fix required dates always failed as empty 2022-02-25 11:29:36 -07:00
nathan
44221f74ef Get server-side validation messages displaying 2022-02-25 10:30:55 -07:00
nathan
e048b26235 - Deprecate "needed" attribute in favour of standard "required"
- Fix some required CSS
2022-02-25 10:21:16 -07:00
Hadi Nategh
cdcb85f4f3 Fix status icons not showing up on mail list 2022-02-25 14:19:25 +01:00
ralf
71d079c9f3 only send password (or hash) to client-side, if explicitly requested 2022-02-25 13:53:03 +02:00
Hadi Nategh
3e41eb00c6 Fix styling of expander actions in compose (Cc,Bcc, ...) 2022-02-25 12:02:41 +01:00
Hadi Nategh
08f45d32db Fix onclick handling not working on description widget 2022-02-25 11:33:13 +01:00
ralf
832725ce52 fix display_format="hⓂ️s" for r/o only gave one best matching unit (eg. 5m) not all units (eg. 0:05:30) 2022-02-25 10:16:28 +02:00
ralf
83cfb34c3c fix not working date_format!="m" (the default) in NM by reflecting it into DOM
also adding it to all properties used by the r/o widget

This needs to be done by a lot more r/o widgets, if they assign their default values in the constructor!
2022-02-25 09:45:35 +02:00
ralf
5366974b75 missing package-lock.json 2022-02-25 09:26:05 +02:00
nathan
d9e95dae87 Get needed attribute working
Will cancel submit, shows validation message
2022-02-24 15:53:40 -07:00
nathan
ce84dd753a Get validation messages working 2022-02-24 15:53:40 -07:00
ralf
c83b281aa9 added et2-date-timeonly_ro widget 2022-02-24 19:44:30 +02:00
ralf
045d034891 fix array_key_exists() expects exactly 2 arguments, 1 given 2022-02-24 17:58:32 +02:00
nathan
f0455b2ad2 Show empty_label when given a value that is not in the list of options 2022-02-23 13:13:14 -07:00
nathan
41a18b6274 CSS fixes:
- Missing border in Et2DateDuration without unit selector
- Box alignment was not applied to widget inputs (Et2DateDuration) when the widget inputs did not fill all available space
2022-02-23 11:15:55 -07:00
nathan
ec13b1a472 Fix missing label in date widgets 2022-02-23 10:43:39 -07:00
ralf
c9f6c98a5d fix color-picker to not throw errors or lose its value
it clearly need more love ;)
2022-02-23 10:38:31 +02:00
nathan
354d15ba57 Support scroll wheel on date year, month, hour, minute 2022-02-22 11:23:54 -07:00
nathan
1e23a3c45e Fix date duration was 2px too wide
A border on et2-date-duration (:host) is sized differently from a border on its children
2022-02-22 10:37:13 -07:00
nathan
ecd8b08373 Fix timesheet edit could not select start date
Unimplemented "mode" legacy option was conflicting with flatpickr "mode" attribute
2022-02-22 10:01:55 -07:00
ralf
1c7e74a2af prefer [Login] button below over maybe existing SAML login button above 2022-02-21 21:19:41 +02:00
ralf
c2166c5750 fix select-boxes submit their old value, if they are onchange="1"
@Nathan: Not sure if this is the right fix, but I can't see where we use Lit's FormatMixing, which defines serializedValue (and therefore select-box always returns the old modalValue)
2022-02-21 20:58:56 +02:00
ralf
d23c8cbcb4 stub for set_validation_error to silence TypeErrors in app.ts 2022-02-21 16:56:30 +02:00
nathan
e3bcd06e77 Calendar: Remove static sizing, spacing & padding on edit dialog actions selectbox 2022-02-18 14:03:21 -07:00
nathan
9079f97d7e Fix selectbox values were not set.
Paying more attention to the WebComponent life cycle here, rather than what our widgets do - connectedCallback(), requestUpdate(), updated() are more important than loadFromXML(), etc. which are only used when loading from the .xet the first time.
2022-02-18 12:02:27 -07:00
ralf
ebfdc1f718 fix array_combine requires same number of values as keys 2022-02-18 11:01:33 +02:00
ralf
72f227d670 transforming legacy options in preprocessor (not all select-* stuff implemented currently) 2022-02-18 09:44:25 +02:00
nathan
1776dd9005 Fix some readonly selectboxes were missing options 2022-02-17 16:37:59 -07:00
nathan
b8455e0b8d Fix Et2DateTimeOnly displayed 00:00 when value was "" 2022-02-17 10:30:35 -07:00
nathan
be4633c9fa Implement et2-date-duration 2022-02-16 16:45:40 -07:00
ralf
e3113455cc taking modification time of api/etemplate.php script into account too for .xet cache-buster 2022-02-16 20:14:38 +02:00
nathan
c81183f5f6 Fix incorrect value format in Et2Date 2022-02-16 10:52:37 -07:00
nathan
7cc9006e19 Add missing et2-date-timeonly widget 2022-02-16 10:43:15 -07:00
ralf
3f2c156914 fix missing flatpickr styles, thought you need to run: grunt cssmin 2022-02-16 15:36:06 +02:00
ralf
22954466c8 improve logging of updating SQL statements to given table(s) 2022-02-16 14:06:36 +02:00
ralf
a7ba4c0727 enable web-components for all date and select (without tags or search attribute)
also reverting unnecessary explicit changes to et2-* in infolog.edit
2022-02-16 10:38:28 +02:00
ralf
f29da5e613 fix TypeError with numbers not iterable
also problem with strings - thought no error - as they are iterated letter-wise, which is not what we want here
2022-02-16 10:35:09 +02:00
ralf
ddaa16dcd5 missing package-lock.json to load lit-flatpickr 2022-02-16 09:33:43 +02:00
nathan
3ba1fe1416 Fix action pushed infolog edit dialog really wide 2022-02-15 14:01:07 -07:00
nathan
bc801f9c09 Fix missing import in et2 tests 2022-02-15 12:48:01 -07:00
nathan
7196455cbb Add some colour variables 2022-02-15 11:51:23 -07:00
nathan
8203eb3efd Use flatpickr for date widget calendar 2022-02-15 11:51:23 -07:00
ralf
5ff64259ee switch simple/untyped r/w selectboxes on to use web-components 2022-02-15 09:17:14 +02:00
nathan
0fb32b7a6a Fix JS error when cleaning up after printing (TS conversion issue) 2022-02-14 11:00:22 -07:00
nathan
081490d0a6 Turn off debug 2022-02-14 10:22:15 -07:00
nathan
a3d31f5a4b Filemanager: Fix sharing link doesn't copy to clipboard when you click it 2022-02-14 10:20:04 -07:00
nathan
d2020727fe Fix some missing translation problems 2022-02-11 13:02:21 -07:00
Hadi Nategh
a7aee1d3d4 Let the pdfjs deal with new render request 2022-02-11 12:33:28 +01:00
dependabot[bot]
2968b058cf Bump twig/twig from 2.12.5 to 2.14.11
Bumps [twig/twig](https://github.com/twigphp/Twig) from 2.12.5 to 2.14.11.
- [Release notes](https://github.com/twigphp/Twig/releases)
- [Changelog](https://github.com/twigphp/Twig/blob/v2.14.11/CHANGELOG)
- [Commits](https://github.com/twigphp/Twig/compare/v2.12.5...v2.14.11)

---
updated-dependencies:
- dependency-name: twig/twig
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-11 09:03:23 +02:00
Hadi Nategh
44d632be2a Implements pdf-player custom element 2022-02-10 17:31:57 +01:00
nathan
18f2af2ce8 Notifications: Remove email & signature, they'll come from the account 2022-02-09 14:03:18 -07:00
nathan
2775569936 * Notifications: Admins now configure the mail account to use for email notifications instead of the user account 2022-02-09 13:48:16 -07:00
Ralf Becker
3c5bea23ef * Calendar/CalDAV: ignore Outlook CalDAV Synchronizer setting participant status back to unknown/needs-action (other status will be updated) 2022-02-09 14:19:57 +02:00
nathan
c964ccd584 - Fix 'Forgot password' could not complete due to redirect
- Avoid error if no groups selected in registration configuration
2022-02-08 15:26:52 -07:00
nathan
0ba0d746da Calendar: Fix planner causes app tabs to show when printing 2022-02-08 11:39:53 -07:00
nathan
650d76bd5c Common cleaning of r/o select value 2022-02-07 13:51:05 -07:00
Ralf Becker
8081f6abef allow IP4 subnets and % wildcard when creating MariaDB/MySQL users 2022-02-07 20:49:11 +02:00
Ralf Becker
33db2190b0 Changelog for 21.1.20220207 2022-02-07 18:01:30 +02:00
Ralf Becker
dfb1f326ac fix call to undefined method EGroupware\Api\Framework\Login::deny_screen() 2022-02-07 12:12:48 +02:00
Ralf Becker
1498a8f9e0 pending translations from our translation server 2022-02-07 07:58:11 +01:00
nathan
28eb3fdd80 Add Et2DateTimeToday 2022-02-03 14:58:56 -07:00
nathan
b91f66c629 Add some cleanup to find_select_options() make sure we're returning nice arrays instead of objects 2022-02-03 14:45:14 -07:00
nathan
3a1d8dfe11 Hide hidden textboxes 2022-02-03 14:41:58 -07:00
nathan
5b4c93b36a Fix Et2Description tries to open on click even if href or link are not set 2022-02-03 13:52:14 -07:00
nathan
026eaaaa71 Fix Collabora JS not being loaded for filemanager 2022-02-03 10:01:10 -07:00
Hadi Nategh
2e5c433ab9 Add a boolean listonly option to vfs-upload widget in order to render only the file list 2022-02-03 15:56:03 +01:00
Ralf Becker
f23a800f83 add missing $relpath 2022-02-03 15:39:33 +02:00
Ralf Becker
10d61dd4c7 extract data-preparation from Etemplate\Widget\Vfs::beforeSendToClient() to use it to send the data to client-side in an AJAX call 2022-02-03 15:33:10 +02:00
Ralf Becker
1c053ade4c updates for developer docker-compose.yml and nginx.conf 2022-02-03 09:36:27 +02:00
Ralf Becker
67ac05a786 support for Collabora/CODE 21.11+ for the developer install 2022-02-02 20:53:43 +02:00
Hadi Nategh
9a52fed3d5 Do not add extra elements into mail content as formatter because tinyMCE takes care of default formatting via its own styling mechanism 2022-02-02 13:51:20 +01:00
Hadi Nategh
1929ac02f6 Fix broken file widget's accept option caused by Resumable overriding it on initiation 2022-02-01 13:28:56 +01:00
Hadi Nategh
c7549daa54 Avoid setting an empty default image 2022-01-31 12:17:35 +01:00
Hadi Nategh
8e26062854 Add multi_src option into video widget 2022-01-28 15:51:33 +01:00
Hadi Nategh
66c6a4aef1 Implement custom html multi video element (makes it possible to merge and control multiple videos as one tag) 2022-01-28 13:49:17 +01:00
Ralf Becker
1241dac3c7 remove $windowed flag, as all template-sets are windows nowadays
it also caused setting a non-existing template-set to display "/usr/share/egroupware/api/src/loader/deprecated_factory.php (58)"
2022-01-28 10:19:06 +02:00
Ralf Becker
855b786d97 fix get_file_id() (sometimes) not finding the right id for shared directories or writable Collabora shares 2022-01-27 21:15:36 +02:00
Ralf Becker
ea8ef4d077 fix TypeError stalling filemanager (eg. no context menu) 2022-01-27 21:00:10 +02:00
nathan
09c210415e Make sure we use the lowest file_id, even if that comes from a disabled file, so we're consistent with versioned files 2022-01-26 12:54:00 -07:00
Ralf Becker
4d0137011c security fixes: npm audit fix --force 2022-01-26 09:54:57 +02:00
nathan
048b3c015f Collabora: Use the same file ID when accessing via share 2022-01-25 15:11:18 -07:00
Hadi Nategh
d3f21bf333 Fix elements inside aligned box right/left don't get alignment properly 2022-01-25 12:43:37 +01:00
Hadi Nategh
c29afdd7d2 Fix buttons used in mail expanded area e.g. mail attachments area 2022-01-24 17:02:34 +01:00
Hadi Nategh
4cf9c109d8 Make the ET2Button container accepting external css rules using ::part to get buttons in NM in shape (This should be avoided after NM is a WC) 2022-01-24 13:36:05 +01:00
Hadi Nategh
282c01f62e Trigger a requestUpdate when setting widget_id in order to get attribute ID updates available for inherited widgets. (e.g. ET2Button=>requestUpdate) 2022-01-24 12:49:59 +01:00
Hadi Nategh
dd1d62512f Revert "Add missing icons for buttons used in templates"
This reverts commit 528208dca8.
2022-01-24 12:44:27 +01:00
Hadi Nategh
5904ac11b0 Fix button widget can't deal with app specific images e.g. mail/navbar 2022-01-24 11:58:06 +01:00
Hadi Nategh
528208dca8 Add missing icons for buttons used in templates 2022-01-24 11:04:06 +01:00
Ralf Becker
073e7b9d2c enable et2-date-(duration|since)
need to register et2-date-since without _ro prefix, as there is only a r/o variant of the widget (currently)
2022-01-22 11:01:24 +02:00
nathan
f9ba6683be Read-only date-since and date-duration widgets 2022-01-21 13:46:12 -07:00
Ralf Becker
6d86eefc96 * Setup/EPL: do not autoinstall uninstalled EPL apps when container restarts 2022-01-21 20:58:30 +02:00
Hadi Nategh
c74b132448 Fix infolog startdate widget 2022-01-21 14:59:40 +01:00
Hadi Nategh
812b126e85 Fix missing space between dialog footer border and buttons 2022-01-21 13:31:24 +01:00
Ralf Becker
7e4bdece84 allow to set <overlay legacy="true"> to disable new web-components for the whole xet-file
also disable (not working) r/w et2-select web-component again
2022-01-20 22:09:48 +02:00
Hadi Nategh
d02afcbe54 Add more general styling to buttons 2022-01-20 17:34:38 +01:00
Hadi Nategh
c8e16dd3fb Fix broken alignments in button icon+label 2022-01-20 17:23:30 +01:00
Hadi Nategh
a2c75f0722 Fix buttons inside toolbars not getting the right background 2022-01-20 16:45:23 +01:00
Hadi Nategh
6fd23b631f Get the right size icon for imageOnly buttons and add right padding for buttons with icon+label 2022-01-20 16:36:51 +01:00
Hadi Nategh
4853cefa0c Add missing icons for applications add buttons 2022-01-20 13:32:27 +01:00
Hadi Nategh
28bcaf9422 WIP styling buttons: another approach to style buttons, keeping the icon slotted 2022-01-20 13:13:04 +01:00
nathan
cc9a6bcf8a Don't split single values 2022-01-19 15:57:59 -07:00
nathan
2ea15ed399 Fix the error when trying to load tracker 2022-01-19 13:37:40 -07:00
nathan
ac808f96e0 some cleanup 2022-01-19 13:18:41 -07:00
nathan
96c174d483 Implement select-account_ro as web component 2022-01-19 13:17:46 -07:00
Ralf Becker
a09c6d3639 do NOT handle / redirect for not found eT2 session in ajax_destroy_session()
as it's called, when the session is no longer needed
2022-01-19 20:16:28 +02:00
Hadi Nategh
d33534e2e1 WIP styling buttons 2022-01-19 18:30:45 +01:00
Ralf Becker
5ec2a233a4 using WCs for simple select, r/o select-* and r/o date(-time)
ToDo/Questions Nathan:
- Tracker index gives a client-side TypeError
- <et2-select-account readonly="true" is not registered, but <et2-select type="select-account" readonly="true" works
- <et2-date-time was registered as <et2-datetime, was that a typo of a conscious choice to rename the widget and not just prefix with et2-
- not yet enabled are r/w et2-date(-time)
- still missing are r/o et2-date-(since|duration)
2022-01-19 10:58:01 +02:00
nathan
410f882cb7 Calendar: Fix status notification sometimes had wrong user in $$fullname$$ placeholder 2022-01-18 14:26:08 -07:00
nathan
8eb0f21893 Fix webcomponents did not load value 2022-01-18 14:13:25 -07:00
nathan
c68437c908 Calendar: If we don't have a sidebox to check parent, just accept it
Fixes missing events in group calendars on home
2022-01-18 13:00:25 -07:00
Hadi Nategh
8b9e81fbfd WIP styling buttons and color definitions 2022-01-18 15:13:48 +01:00
nathan
32be8200a6 Fix copy/paste error - looks like select-access wasn't implemented in et2 2022-01-17 15:31:25 -07:00
nathan
e07220392d Select widgets with static options as WebComponents 2022-01-17 15:13:50 -07:00
Ralf Becker
b69de21bea fix PHP 8.0 TypeError: strlen(): Argument #1 ($str) must be of type string, array given 2022-01-17 21:35:50 +02:00
nathan
c9d5eb50db Calendar: Fix double encoded ><& characters in event tooltip description 2022-01-17 09:33:50 -07:00
nathan
09cbc44e67 Get cached server-side options working for webcomponent 2022-01-14 09:29:59 -07:00
Hadi Nategh
dd8140397a Fix error Argument #2 must be of type array, null given 2022-01-14 14:02:56 +01:00
nathan
82277c802b Readonly textbox 2022-01-13 15:31:01 -07:00
nathan
20c82b6d72 Starting on selectboxes with static options.
Not entirely sure this is the way to go, but at least we don't have to
 1. copy the options
 2. inherit the whole editable object for a readonly
2022-01-13 15:28:52 -07:00
nathan
55b4b28f29 Calendar: Make sure projectmanager integration (filter) refreshes actual data faster, fix events don't come back when turning integration (filter) off 2022-01-13 13:48:18 -07:00
nathan
a5f8b6076a Add some tests for Et2Box.disabled to make sure it behaves. 2022-01-12 14:35:01 -07:00
nathan
19a2b13974 Api: We also need to trigger LitElement update when we change it here, I guess.
Fixes disabled attribute didn't change when set_disabled() was called.
2022-01-12 13:55:58 -07:00
nathan
12120b5434 Api: Fix disabled not being correctly set 2022-01-12 11:41:13 -07:00
Ralf Becker
49cac615d7 fixing the fix ;)
call_user_func_array(): Argument #1 ($callback) must be a valid callback, class admin_account does not have a method "ajax_process_content"
2022-01-12 13:32:48 +02:00
Ralf Becker
1d462dabfd fix Error Method admin_account::delete::et2_process() does not exist 2022-01-12 13:00:04 +02:00
Ralf Becker
a3b63c9514 implement new "units" parameter to limit used units in date-since widget
eg. <date-since units="d" shows age in days
2022-01-12 12:47:49 +02:00
nathan
5a3e54a592 Fix for disabled not being set in some cases, try to deal with type 2022-01-11 15:16:50 -07:00
Ralf Becker
8a629a5ef7 fix not closing popups when using et2_process json.php handler 2022-01-10 19:55:05 +02:00
nathan
2c59914b74 Fix disabled attribute was not getting properly handled
In particular Admin -> File Manager -> VFS mounts and versioning had the "Delete all older versions..." block disabled when it shouldn't have been.
2022-01-10 09:32:31 -07:00
Hadi Nategh
d67b0b1e66 Avoid duplicating from email address when generating identity 2022-01-10 14:03:14 +01:00
Ralf Becker
0748db0c70 pending translations from our translation server 2022-01-09 19:31:13 +01:00
Ralf Becker
fc9ab417ed run quota-recalc only if fsck fixed something 2022-01-09 17:31:44 +02:00
Ralf Becker
1f4cb50e74 use $method parameter of Api\Etemplate::exec() plus new et2_process handler as menuaction GET parameter
allows determining the called function on the URL to eg. send it to different FPM pool
(before the menuaction of et2 was always "EGroupware\Api\Etemplate::ajax_process_content")
2022-01-09 16:38:14 +02:00
Ralf Becker
f50b405555 fix PHP 8.0 Error: count(): Argument #1 ($value) must be of type Countable|array, null given 2022-01-08 11:27:33 +02:00
nathan
fd7e7e2828 Basic tests for Et2Select, & fixes for bugs they revealed 2022-01-07 14:13:38 -07:00
nathan
57860e03db Get onchange working (for select widget) 2022-01-06 16:22:55 -07:00
Ralf Becker
e05ae9ad82 fix explode(): Argument #2 ($string) must be of type string, array given 2022-01-06 19:11:42 +02:00
nathan
4ed888476c Deal with some IDE warnings
better documentation of things tried
2022-01-05 13:14:28 -07:00
nathan
7ab60918f4 Fix missing bits in cssImage() example 2022-01-05 10:24:23 -07:00
nathan
a48e6cf1d3 - Add cssImage() to help with putting our images into LitElement CSS blocks
- Some code cleanup
2022-01-05 10:21:18 -07:00
nathan
85f753324d Remove unused import 2022-01-05 08:07:01 -07:00
nathan
f8ab5c521e Selectbox webcomponent 2022-01-04 15:38:10 -07:00
nathan
8d5f39b2d3 Add tests for description widget 2022-01-03 09:58:55 -07:00
Ralf Becker
e2c09aa1b0 * Filemanager/API: directory size is now the sum of the size of its contained files (allowing to eg. implement quota in future) 2021-12-30 14:37:58 +02:00
Ralf Becker
578accd72f allow to pass url including http(s) scheme to Html::link($url, ...) and therefore other methods of Html class 2021-12-23 10:01:29 +02:00
nathan
0f45aed876 Reflect properties into DOM attributes, it's faster 2021-12-21 11:16:58 -07:00
nathan
5bdf12f1b9 - Detached widgets still need a loadingFinished() for if they are children of legacy widgets
- Add description click handler
2021-12-21 10:52:39 -07:00
nathan
602ac44c15 Fix readonly webcomponents inside a legacy widget were not loaded as readonly 2021-12-21 10:50:21 -07:00
nathan
fa707f0627 Fix widget.egw() returning null in some cases when widget parent was not completely in widget tree 2021-12-21 10:45:38 -07:00
nathan
7fcf6f1423 Add some more properties for description
activate_links
extra_link_target
extra_link_popup
href
2021-12-20 15:15:32 -07:00
nathan
e1ab343a5d WIP on Et2Description. Shows improvement in nm render speed. 2021-12-17 14:47:19 -07:00
nathan
4e597b5672 Add date readonly, some class optimizing 2021-12-17 10:06:37 -07:00
nathan
ccfcf2a086 Add a hook for before get_rows is called 2021-12-16 14:43:33 -07:00
nathan
3f71a75c86 Avoid error if expand finds nothing for the value (returns null) 2021-12-16 13:05:13 -07:00
nathan
9a3753eb93 Lets try this fix for the ID problem 2021-12-16 11:28:07 -07:00
Ralf Becker
08da663007 fix PHP Warning: explode(): Empty delimiter 2021-12-16 20:22:57 +02:00
Ralf Becker
ff47694b24 fix still not working sync-report for accounts addressbook
turns out Microsoft AD also returns a "Virtual List View error" if sorting by standard LDAP (modify|created)timestamp, have to use when(Changed|Created) instead, as for filter
2021-12-16 20:07:57 +02:00
Ralf Becker
676fe9b36f * CardDAV/Addressbook: fix GET request regression after REST API introduction 2021-12-16 19:54:17 +02:00
Hadi Nategh
9ab621e054 Get mail display working again (index and display both need to be redefined in future) 2021-12-16 15:07:09 +01:00
Hadi Nategh
170ac4d6e2 Fix error Cannot read properties of null (reading 'split') 2021-12-16 11:39:43 +01:00
nathan
f6a7a63feb Calendar: Avoid error if $userid is not numeric 2021-12-15 14:50:43 -07:00
nathan
a027649ae5 Fix the failing clone() 2021-12-15 11:49:18 -07:00
Hadi Nategh
8f81266b1d Fix styling for buttons supposed to be displayed with max content (e.g. some nm header buttons) 2021-12-15 16:08:41 +01:00
Hadi Nategh
cf4e5a76ef Fix error "TypeError: undefined attributeStyleMap" 2021-12-15 12:19:08 +01:00
nathan
528134cfac Adapt nextmatch to work with webcomponents + readonly datetime widget 2021-12-14 16:55:57 -07:00
Ralf Becker
dc8b0a7080 fix SQLfs fsck to query errors in chunks of 500, in case there are a huge numbers of them 2021-12-14 21:25:07 +02:00
nathan
a7a84df7e5 Etemplate: Set a gap instead of using margin 2021-12-14 08:55:34 -07:00
Hadi Nategh
7212b5dd51 Fix infolog description field adding extra horizontal scrollbar 2021-12-14 16:05:23 +01:00
Hadi Nategh
a0c014594f Fix context menu no longer works in Addressbook distributions list 2021-12-14 15:20:48 +01:00
Hadi Nategh
b648d4593d Add colorpicker into ready WC widgets 2021-12-14 14:47:58 +01:00
nathan
0ea746a1a6 Api: Fix missing link delete button from link list 2021-12-13 09:16:35 -07:00
Hadi Nategh
ebfa396195 Decode html entities used in inline image sources because tinymce encodes them 2021-12-13 16:40:32 +01:00
Hadi Nategh
d2cd36656a Fix error Unsupported operand types: int + stringPHP 2021-12-13 10:43:00 +01:00
Hadi Nategh
85de53b2eb Fix calendar category report throws error "Undefined constant active" 2021-12-13 10:07:39 +01:00
Ralf Becker
9ff7e3a22f move code of filemanagerApp into filemanager.ts imported by filemanager and collabora app.ts
this should fix the problem that filemanager does not load because collabora/js/app imports filemanager/js/app which has no cache-buster and therefore fails to include old / no longer existing chunks
EGroupware takes care of cache-busters for all app/js/app.js while rollup uses it's chunks to do so for all other imports
2021-12-11 09:47:16 +02:00
nathan
d7a001cef0 Documentation fix 2021-12-10 13:42:38 -07:00
nathan
ea2004173f Etemplate: Fix readonly was still giving a value 2021-12-10 13:24:06 -07:00
nathan
a82c080ca5 Merge remote-tracking branch 'origin/master' 2021-12-10 11:15:42 -07:00
nathan
82b3abc290 Etemplate: Some more tests for readonly 2021-12-10 11:15:02 -07:00
Hadi Nategh
476f8b671f Make mail's receive notification action icon colorful when it's being selected 2021-12-10 14:48:40 +01:00
Hadi Nategh
84b81cb1f3 Set From identity base on identLabel preference 2021-12-10 13:42:10 +01:00
Hadi Nategh
ebf4ca8752 Add "Org | Name Email" as email identity format into identLabel preference options 2021-12-10 10:41:04 +01:00
nathan
684d0846dc Api: Attributes can contain multiple translatable substrings wrapped with {} 2021-12-09 11:32:31 -07:00
nathan
081b692dd1 Fix webcomponent children were not fully loaded before et2_ready callback was called 2021-12-09 10:54:37 -07:00
nathan
4fe9f6c614 Api: Stop images inside boxes from stretching 2021-12-09 09:26:58 -07:00
Hadi Nategh
d42f20cf38 Fix issue contact plus button sometimes gets stuck 2021-12-09 15:08:42 +01:00
Hadi Nategh
2bcd6b16d8 Make sure value is set before using it 2021-12-09 14:02:35 +01:00
nathan
d6cca90dbf Calendar: Remove drag to create event placeholder when edit dialog is opened 2021-12-08 13:41:35 -07:00
nathan
4c2e5ba853 Calendar: Remove drag to create event placeholder when popup is closed 2021-12-08 11:58:17 -07:00
nathan
bf2482104a Calendar: Add notification placeholders $$date$$ and $$fullname$$ to preference help hover 2021-12-08 11:10:39 -07:00
nathan
4c3c28a05f Calendar: Fix missing notification placeholders $$date$$ and $$fullname$$ 2021-12-08 10:59:18 -07:00
nathan
8968ef9204 Fix access to internal (widget.input.focus()) causing JS error in calendar quick add, which breaks the rest of the JS called after 2021-12-08 09:06:59 -07:00
Hadi Nategh
f18001d15a Remove extra width applied to Addressbook avatar images 2021-12-08 11:11:22 +01:00
nathan
f126d7fd08 Fix wrong sizing on link list file mimetype icons 2021-12-07 16:28:48 -07:00
nathan
6f5cc48098 Fix wrong sizing on contact list avatar image 2021-12-07 15:42:15 -07:00
nathan
e80f272a07 Fix streched infolog type icons 2021-12-07 14:35:28 -07:00
nathan
50f4b5cd47 Fix missing calendar participant + button
set_readonly() was missing, getWindowTitle() was using .options.value instead of get_value()
2021-12-07 13:36:53 -07:00
Ralf Becker
057c5bf6f7 fix PHP 8.0 TypeError: array_key_exists(): Argument #2 ($array) must be of type array, bool given 2021-12-07 08:33:12 +02:00
nathan
d5f53af8b9 Fix missing buttons in contact edit 2021-12-06 16:27:22 -07:00
nathan
df0db494f7 Fix "Uncaught TypeError: Cannot read properties of undefined (reading 'value')" caused by trying to access widget.options 2021-12-06 14:49:59 -07:00
nathan
a73f0771e6 Fix TypeError: Cannot read properties of undefined (reading 'position')
Caused by LitElement not having a styles property.  Just skip those to avoid the error
2021-12-06 14:42:17 -07:00
Ralf Becker
a1f8aca282 update jquery-ui again to 1.13.0, update was lost in webcomponents merge 2021-12-06 21:54:06 +02:00
nathan
e3ca8b8f7f Merge web-components branch 2021-12-06 11:17:43 -07:00
nathan
d69d57e6e9 Merge branch 'master' into web-components 2021-12-06 10:52:10 -07:00
Hadi Nategh
c115e762b1 Add underline button into html editor's toolbar 2021-12-06 10:14:37 +01:00
Ralf Becker
efdeb597ff update AdoDB to latest master to include all PHP 8.0 fixes 2021-12-04 20:25:14 +02:00
Ralf Becker
af08ee1495 pending translations from our translation server 2021-12-04 15:44:14 +01:00
Ralf Becker
6cd61f071c Better support Guacamole installation and deinstallation:
- allow declaring views of an app and drop them like tables (no support for installing them via setup)
- drop tables in reverse order, in case they have constrains
- support $setup_info[$app]['skip_create_tables'] to not create tables via schema-proc (because they are created via SQL in default_records)
2021-12-04 09:59:07 +02:00
nathan
d126834468 * Etemplate: Add link icon overlay to link list 2021-12-03 14:28:54 -07:00
nathan
98882c3159 Replace hyphen in utf-8 2021-12-03 14:28:54 -07:00
nathan
41c2f0c92b Api: Force merge placeholder charset to UTF-8, avoids mangled accent characters 2021-12-03 14:28:54 -07:00
Ralf Becker
cda751ac58 fix broken filemanager after PM integration commit
array_merge_recursive accumulates values in sub-arrays:
array_merge_recursive(['nm'=>['get_rows'=>'a.c.m']], ['nm'=>['get_rows'=>'a.c.m']]) === ['nm'=>['get_rows'=>['a.c.m','a.c.m']]
2021-12-03 14:28:54 -07:00
Ralf Becker
b3f12cddb7 fix PHP 7.3 syntax error / PHP 7.4 syntax, as 21.1 still supported PHP 7.3 2021-12-03 14:28:54 -07:00
Ralf Becker
ec4edf84d8 * CardDAV/ActiveDirectory: fix empty account-addressbook if sync-collection-report is used
Microsoft AD can NOT filter by (modify|create)TimeStamp, we have to use when(Created|Changed) attribute
2021-12-03 14:28:54 -07:00
nathan
5af7d0f644 * Etemplate: Add link icon overlay to link list 2021-12-03 14:18:48 -07:00
nathan
0e5e2f3ceb Replace hyphen in utf-8 2021-12-03 11:37:47 -07:00
nathan
2453bafbe9 Api: Force merge placeholder charset to UTF-8, avoids mangled accent characters 2021-12-03 11:36:02 -07:00
Ralf Becker
5bd2b86683 fix broken filemanager after PM integration commit
array_merge_recursive accumulates values in sub-arrays:
array_merge_recursive(['nm'=>['get_rows'=>'a.c.m']], ['nm'=>['get_rows'=>'a.c.m']]) === ['nm'=>['get_rows'=>['a.c.m','a.c.m']]
2021-12-02 22:18:41 +02:00
Ralf Becker
c10ca6fc5b fix PHP 7.3 syntax error / PHP 7.4 syntax, as 21.1 still supported PHP 7.3 2021-12-02 21:41:13 +02:00
Ralf Becker
4d014fab49 * CardDAV/ActiveDirectory: fix empty account-addressbook if sync-collection-report is used
Microsoft AD can NOT filter by (modify|create)TimeStamp, we have to use when(Created|Changed) attribute
2021-12-02 20:09:08 +02:00
nathan
2545c8fde1 Merge branch 'master' into web-components 2021-12-01 15:31:45 -07:00
Ralf Becker
c688315141 fix syntax error under PHP 7.3
7.3 is still the minimum requirement for 21.1
2021-12-01 19:59:41 +02:00
nathan
26595b4cba * Projectmanager: Add calendar integration so projects can be shown as events in calendar 2021-12-01 10:32:32 -07:00
nathan
bff73eb0b6 Calendar: Make sure we don't accidentally double the integrated app in the list 2021-12-01 10:25:27 -07:00
Ralf Becker
0685005f41 * Guacamole/Backup/Restore: fix not working restore for Guacamole
disabling constraints and only truncate Guacamole tables, not dropping and creating them again
2021-11-30 21:56:17 +02:00
Ralf Becker
5cd4fc0612 Changelog for 21.1.20211130 2021-11-30 11:17:50 +02:00
Ralf Becker
1ec562d6b5 fix PHP 8.0 error ("" < -1) as there is no automatic cast anymore
SyncObject->Check(): Unmet condition in object from type SyncProvisioning: parameter maxattsize is LOWER than -1. Check failed!
2021-11-30 09:35:37 +02:00
Ralf Becker
33ec3f05a7 fix Undefined array key warning 2021-11-29 16:45:48 +02:00
Ralf Becker
0a2488ed99 fix a couple of Undefined array key warnings 2021-11-29 16:35:50 +02:00
Ralf Becker
d40a1d992a fix not working multiple users for single mail account
replaced legacy-options and type attribute with the actual ones
2021-11-27 11:21:54 +02:00
Ralf Becker
cbb72e06d9 fix / work around PHP 8.0 Error Call to undefined method EGroupware\Api\Etemplate\Widget\Vfs::set_attrs() 2021-11-24 20:57:45 +01:00
nathan
da6ff9d639 Merge branch 'master' into web-components 2021-11-24 09:42:28 -07:00
nathan
ceb014200f Calendar: If an event moves from the past to the future, send notifications according to preferences
Previously we ignored all notifications, because the event _was_ in the past.
2021-11-24 09:23:07 -07:00
nathan
86c9b97e47 Calendar: Update merge to use changes introduced with 707c57e 2021-11-23 15:50:10 -07:00
Ralf Becker
68a79dce6a fix PHP 8.0 TypeError: Unsupported operand types 2021-11-23 18:07:49 +01:00
Ralf Becker
4bf375c970 fix PHP 8.0 TypeError: Illegal offset type 2021-11-23 17:44:46 +01:00
Ralf Becker
ce76fa5d7f fix PHP 8.0 TypeError: Unsupported operand types: string & int 2021-11-23 17:23:49 +01:00
Ralf Becker
dd73884534 fix PHP 8.0 Error: Illegal string offset 'string' 2021-11-23 17:17:48 +01:00
Ralf Becker
e2f06d0b94 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, bool given 2021-11-23 08:41:16 +01:00
nathan
4cc8eea7b6 Mail: Make sure pressing [del] key twice in a row does not delete the first row on the second press 2021-11-22 11:56:42 -07:00
nathan
6502687268 Fix infolog double PM change test 2021-11-22 10:31:15 -07:00
Ralf Becker
cb65460b5f * InfoLog: fix not working overwrite check (optimistic locking) plus incrementing etag 2021-11-22 17:54:24 +01:00
nathan
241d3181c9 Infolog: Fix save conflict was still overwriting 2021-11-22 09:11:13 -07:00
Ralf Becker
87c17d5e75 * Admin/Filemanager: correctly encode user "WORKGROUP\$user" for SMB mounts and do NOT require mountpoints to exist
same as for filemanager/cli.php
2021-11-22 13:09:00 +01:00
Ralf Becker
8239e5ad91 fix PHP 8.0 TypeError: Cannot access offset of type string on string
using renames method calendar_ical::iCalSearch() instead of ::search() which required unchanged signature of calendar_bo::search()
2021-11-22 11:07:25 +01:00
Ralf Becker
76e4a2acd3 fix PHP 8.0 TypeError: Unsupported operand types: string + string 2021-11-22 08:41:01 +01:00
Ralf Becker
dd74e87a0c fix PHP 8.0 TypeError: implode(): Argument #1 ($pieces) must be of type array, string given 2021-11-22 08:36:55 +01:00
Ralf Becker
8020301a84 fix PHP 8.0 TypeError: Unsupported operand types: int | array 2021-11-20 08:40:35 +01:00
Ralf Becker
5aed6918bd fix PHP 8.0 TypeError: implode(): Argument #1 ($pieces) must be of type array, string given 2021-11-20 08:36:35 +01:00
nathan
32d5bae817 Fix nm left template in wrong place 2021-11-19 11:57:22 -07:00
Ralf Becker
47b3f5c239 fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-11-19 13:00:51 +01:00
Ralf Becker
fec1c6593b fix PHP 8.0 TypeError: array_search(): Argument #2 ($haystack) must be of type array, null given 2021-11-19 10:48:56 +01:00
nathan
105b0705b1 - Fix duplicated row from template above nextmatch
- Fix favorite in wrong place
2021-11-18 14:37:23 -07:00
nathan
7831529ecb Improve warning about parenting for WC widgets into legacy widgets 2021-11-18 14:34:13 -07:00
nathan
b91e1d8a5f Merge branch 'master' into web-components 2021-11-18 10:28:30 -07:00
Ralf Becker
4f78f557bb fix PHP 8.0 TypeError: calendar_tracking::track(): Argument #2 ($old) must be of type ?array, bool given 2021-11-18 17:35:26 +01:00
Ralf Becker
f2af53e1c7 fix PHP 8.0 Error: Undefined constant "data" 2021-11-18 14:54:24 +01:00
Ralf Becker
c3f6de2f5e fix PHP 8.0 ValueError: fread(): Argument #2 ($length) must be greater than 0
by using forked and fixed Horde stream-wrapper ake egroupware/stream-wrapper:2.1.5
2021-11-18 14:34:07 +01:00
Ralf Becker
2f6f682cd8 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-18 09:01:36 +01:00
Ralf Becker
1f50b3b0c5 fix PHP 8.0 ArgumentCountError: readlink() expects exactly 1 argument, 2 given 2021-11-17 20:24:19 +01:00
nathan
bc18846d75 Improve logging message to include values instead of 'Array' 2021-11-17 08:49:32 -07:00
nathan
2287ca15c2 Fix PHP 8.0 Fatal error: Declaration of preferences_categories_ui::index(?array $content = null) must be compatible with admin_categories::index(?array $content = null, $msg = '') 2021-11-16 16:07:23 -07:00
Ralf Becker
be7fbf35fa fix PHP 8.0 TypeError: EGroupware\Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given 2021-11-16 20:53:20 +01:00
Ralf Becker
382c39e817 fix PHP 8.0 TypeError: Unsupported operand types: string * float 2021-11-16 18:27:40 +01:00
Ralf Becker
bbc7fb93de fix PHP 8.0 TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given 2021-11-16 18:20:35 +01:00
nathan
bcb2c6fd91 Fix PHP 8.0 TypeError: get_class(): Argument #1 ($object) must be of type object, null given
Also fix some deprecated implode() calls
2021-11-16 09:24:33 -07:00
Hadi Nategh
1ccbc60587 Fix PHP8.0 (TypeError): key(): Argument #1 ($array) must be of type array, null given 2021-11-16 11:23:03 +01:00
Ralf Becker
03a9c7efe2 fix PHP 8.0 TypeError: implode(): Argument #2 ($array) must be of type ?array, string given 2021-11-16 08:40:43 +01:00
Ralf Becker
39c93ac9ca fix PHP 8.0 ValueError: fgetcsv(): Argument #3 ($separator) must be a single character 2021-11-16 08:37:54 +01:00
Ralf Becker
a50139fa24 fix PHP 8.0 TypeError: explode(): Argument #2 ($string) must be of type string, array given 2021-11-16 08:34:51 +01:00
Ralf Becker
9409649684 fix PHP 8.0 ValueError: Path cannot be empty
and other IDE errors
2021-11-16 08:17:56 +01:00
Ralf Becker
ba5c7fdf17 fix PHP 8.0 TypeError: array_key_exists(): Argument #2 ($array) must be of type array, null given 2021-11-16 08:10:39 +01:00
nathan
0f0ccc7851 Avoid PHP 8.0 PHP Warning: Undefined variable $domain 2021-11-15 09:58:34 -07:00
Ralf Becker
9f70526038 fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-15 17:57:06 +01:00
Ralf Becker
383a6350f5 fix PHP 8.0 Error: Undefined constant "TIMESHEET_APP" 2021-11-15 17:49:43 +01:00
Ralf Becker
dfb1a3be22 fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-15 16:01:11 +01:00
Ralf Becker
607526774f fix PHP 8.0 Error: Undefined constant "self" 2021-11-15 15:55:39 +01:00
Ralf Becker
d83f04bd49 fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-15 15:03:51 +01:00
Ralf Becker
e89aaf7bc9 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, string given 2021-11-15 14:58:54 +01:00
Ralf Becker
b84136cff8 fix PHP 8.0 TypeError: strpos(): Argument #1 ($haystack) must be of type string, array given 2021-11-15 14:53:35 +01:00
Ralf Becker
3dd7af4aa5 fix diverse PHP 8.0 TypeErrors and ArgumentCountError in import/export 2021-11-15 14:41:36 +01:00
Hadi Nategh
6d2a4bfc05 Fix PHP8.0 error Cannot access offset of type string on string 2021-11-15 12:09:45 +01:00
Ralf Becker
3003ed580c fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-15 12:00:50 +01:00
Ralf Becker
efa66b72fc fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-11-15 11:55:24 +01:00
Ralf Becker
65ebea136e fixing/improving condition of last commit 2021-11-15 08:26:06 +01:00
Ralf Becker
c32bb61e1c fix PHP 8.0 TypeError: Unsupported operand types: bool + array 2021-11-15 08:08:42 +01:00
Ralf Becker
3da9840ca9 fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-11-15 08:02:58 +01:00
Ralf Becker
b07d08a235 fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-15 08:00:14 +01:00
Ralf Becker
f4a8b56680 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-14 15:48:18 +01:00
Ralf Becker
38aec8c19e fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-14 15:37:46 +01:00
Ralf Becker
5de3115500 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, bool given 2021-11-14 10:32:22 +01:00
Ralf Becker
7d49599943 fix PHP 8.0 TypeError: array_search(): Argument #2 ($haystack) must be of type array, bool given 2021-11-14 10:27:12 +01:00
Ralf Becker
2406fe0fad fix PHP 8.0 TypeError: preg_match(): Argument #2 ($subject) must be of type string, array given 2021-11-13 17:45:25 +01:00
Ralf Becker
be1920b687 fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-11-13 17:39:33 +01:00
Ralf Becker
11e630da2a fix PHP 8.0 TypeError: fwrite(): Argument #2 ($data) must be of type string, array given 2021-11-13 17:30:57 +01:00
Ralf Becker
587a9c0a88 fix PHP 8.0 TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given 2021-11-13 17:24:31 +01:00
Ralf Becker
8063b9a8ef fix PHP 8.0 TypeError: array_merge(): Argument #1 must be of type array, null given 2021-11-13 17:18:21 +01:00
Ralf Becker
7cd6284f0c fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-11-13 17:12:14 +01:00
Ralf Becker
e95edf60ec fix PHP 8.0 TypeError: Unsupported operand types: string + int 2021-11-13 17:05:20 +01:00
Ralf Becker
b18d1da363 fix PHP 8.0 TypeError: ZipArchive::setCommentName(): Argument #2 ($comment) must be of type string, array given 2021-11-13 17:01:43 +01:00
nathan
029664ac1d Calendar: Fix validation error when setting ical export timezone preference 2021-11-12 13:08:48 -07:00
Hadi Nategh
77aa807036 Fix php8.0 (TypeError): Cannot access offset of type string on string 2021-11-12 15:09:19 +01:00
Ralf Becker
392a27b77c try fixing an other case where an unrelated XML error was reported
Error passing XML file '<text type="text" id="#Kunde_Firma"/>' line 12: EndTag: '</' not found
There is obviously no line 12 ;)
2021-11-11 09:49:31 +01:00
Ralf Becker
db88ad9c0d fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-11 09:21:53 +01:00
Ralf Becker
59eff1db26 quieten permanent log of search links for non-ascii project-names etc. 2021-11-11 09:10:34 +01:00
Ralf Becker
146e94160f check we have an email to send the mdn to (otherwise Horde_Mime_Mdn throws a RuntimeException) 2021-11-11 08:30:15 +01:00
Ralf Becker
c221253a82 fix PHP 8.0 TypeError: Unsupported operand types: string & int 2021-11-11 07:59:54 +01:00
Ralf Becker
587c9a1480 fix old classname uipassword --> preferences_password 2021-11-11 07:52:26 +01:00
nathan
52a2d4e9bb Clear tree before setting options to avoid duplicates 2021-11-10 15:00:32 -07:00
nathan
d15d7a3426 Implement parent_node attribute
Fixes calendar sidebox was not shown
2021-11-10 13:41:23 -07:00
nathan
7b11a25b8d Fix some legacy parent issues where parent DOM node was not found when needed
- Checking & waiting for promises
- Could not get DOM nodes from nm header sub-templates
2021-11-10 11:47:07 -07:00
Ralf Becker
8a6c3b92bc fix PHP 8.0 ValueError by using forked and fixed Horde_Util package 2021-11-10 19:40:28 +01:00
nathan
ed66beaf8f Merge branch 'master' into web-components 2021-11-10 10:25:51 -07:00
Ralf Becker
2944a00e02 fix PHP 8.0 TypeError: Cannot access offset of type string on string, when iCal exporting a GEO attributes 2021-11-10 16:59:47 +01:00
Ralf Becker
519114ea1a fix PHP 8.0 TypeError: strlen(): Argument #1 ($str) must be of type string, array given 2021-11-10 15:23:25 +01:00
Ralf Becker
577ff9dd26 fix unrelated XML errors sometimes shown parsing eTemplates 2021-11-10 13:55:48 +01:00
Ralf Becker
3534ed9040 fix PHP 8.0 TypeError: calendar_tracking::track(): Argument #1 ($data) must be of type array, null given 2021-11-10 13:00:59 +01:00
Ralf Becker
f74b3be7a8 fix PHP 8.0 TypeError: Illegal offset type in Api\Categories::id2name() 2021-11-10 12:56:04 +01:00
Ralf Becker
c1dfa685ec fix PHP 8.0 TypeError: array_merge(): Argument #2 must be of type array, null given 2021-11-10 12:47:05 +01:00
Ralf Becker
1ea91d8721 fix/catch PHP 8.0 ValueError: mb_convert_encoding(): Argument #3 ($from_encoding) contains invalid encoding "cp1250" 2021-11-10 12:43:03 +01:00
Ralf Becker
43ae41cae7 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-10 12:24:08 +01:00
Ralf Becker
03835c0247 fix PHP 8.0 TypeError: strpos(): Argument #1 ($haystack) must be of type string, array given 2021-11-10 12:14:58 +01:00
Ralf Becker
2d7da57e60 fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-10 11:54:18 +01:00
Ralf Becker
7b042f7259 fix PHP 8.0 TypeError: key(): Argument #1 ($array) must be of type array, null given 2021-11-10 11:44:42 +01:00
Ralf Becker
ed9b735456 fix PHP 8.0 TypeError: explode() expects parameter 2 to be string, array given 2021-11-10 11:38:06 +01:00
Ralf Becker
dc24bb7e37 fix PHP 8.0 TypeError: Unsupported operand types: int + string 2021-11-10 11:28:30 +01:00
Ralf Becker
a7e796a66b fix PHP 8.0 TypeError: Unsupported operand types: EGroupware\Api\DateTime - EGroupware\Api\DateTime 2021-11-10 11:22:58 +01:00
Ralf Becker
2cb1007525 fix PHP Error: Undefined constant "title" 2021-11-10 08:58:51 +01:00
nathan
a717234b2f Merge branch 'master' into web-components 2021-11-09 15:02:25 -07:00
nathan
2ce96a6f8d Maybe fix SQL error from searching contacts with private + duplicates 2021-11-09 14:33:37 -07:00
nathan
3d2502c630 Infolog: Fix could not change project after b125e1b2fd 2021-11-09 14:02:10 -07:00
Hadi Nategh
5cf0ced64a Add missing jquery-ui.min.js 2021-11-09 11:46:10 +01:00
Hadi Nategh
a8b1aef505 Remove no longer used npm packages 2021-11-09 11:37:13 +01:00
Ralf Becker
867726f5c9 * LDAP/Addressbook: fix region contains for given country invalid value gives an LDAP error on update
cause by trying to write NULL, which is not allowed, unsetting the attribute the proper way now
2021-11-09 11:06:43 +01:00
Hadi Nategh
968774d829 Update jQuery-ui to 1.13.0 2021-11-09 11:06:17 +01:00
Ralf Becker
730e1c72c1 fix error caused by post_install.php not running as root (default for container) 2021-11-09 09:40:04 +01:00
Ralf Becker
1e6bffc4e5 fix PHP 8.0 TypeError: explode(): Argument #2 ($string) must be of type string, array given 2021-11-09 08:46:35 +01:00
Ralf Becker
16dc367b1e fix PHP 8.0 TypeError: Unsupported operand types: EGroupware\Api\DateTime - EGroupware\Api\DateTime 2021-11-09 08:39:21 +01:00
Ralf Becker
7020030c17 fix PHP 8.0 problem "new" > 0 causing mail accounts created via admin for an other user to fail 2021-11-09 08:02:49 +01:00
nathan
c7e6baed69 Fix datetime didn't handle '0' as empty / blank 2021-11-08 13:40:28 -07:00
Ralf Becker
a34c13fd94 fix PHP 8.0 error: Illegal offset type
when PUTint an all-day series
2021-11-08 18:01:18 +01:00
nathan
f4ad6c6dbc Merge branch 'master' into web-components 2021-11-08 09:23:48 -07:00
Ralf Becker
d343203c20 fix PHP 8.0 Unsupported operand types: EGroupware\Api\DateTime + int 2021-11-08 13:45:37 +01:00
Ralf Becker
12a77b2126 fix PHP 8.0 TypeError: Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given
using Api\Accounts::title() but cast to int, if giving an non-zero result
2021-11-08 12:34:34 +01:00
Ralf Becker
74cc2f03ff fix PHP 8.0 TypeError: Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given
new method for account link-title not throwing an error, for non-numeric arguments and therefore stalling all titles
2021-11-08 12:22:41 +01:00
Ralf Becker
02270f63fb fix PHP 8.0 TypeError: Exception::__construct(): Argument #2 ($code) must be of type int, string given 2021-11-08 11:36:25 +01:00
Ralf Becker
7792c706a6 fix PHP 8.0 error: Undefined constant "__ALL__" 2021-11-08 11:25:42 +01:00
Ralf Becker
a7796d8f27 fix PHP 8.0 TypeError: Unsupported operand types: EGroupware\Api\DateTime + int 2021-11-08 10:55:45 +01:00
Ralf Becker
dba803fff5 fix PHP 8.0 error: count(): Argument #1 ($value) must be of type Countable|array, null given
plus some more IDE "errors"
2021-11-08 10:31:17 +01:00
nathan
e03b8bbdc9 Merge branch 'master' into web-components 2021-11-05 11:08:31 -06:00
nathan
b125e1b2fd Infolog: Fix linking a second project will remove one project after a second save
With test.
2021-11-05 10:45:27 -06:00
Ralf Becker
2f1559a490 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-05 15:18:57 +01:00
Ralf Becker
a50054b8c7 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-05 15:12:40 +01:00
Ralf Becker
6b8f8c6473 fix PHP 8.0 TypeError: Unsupported operand types: EGroupware\Api\DateTime - int 2021-11-05 14:58:38 +01:00
Ralf Becker
9fbd07e335 fix PHP 8.0 TypeError: Unsupported operand types: null + array 2021-11-05 14:49:56 +01:00
Ralf Becker
66d45452ab fix PHP 8.0 TypeError: explode(): Argument #2 ($string) must be of type string, array given 2021-11-05 14:43:32 +01:00
Ralf Becker
de7f4329ff fix PHP 8.0 TypeError: uasort(): Argument #1 ($array) must be of type array, null given 2021-11-05 14:37:21 +01:00
Ralf Becker
108d077ccd fix PHP 8.0 TypeError: json_decode(): Argument #1 ($json) must be of type string, array given 2021-11-05 14:23:03 +01:00
Ralf Becker
42d45131e6 fix PHP 8.0 TypeError: Unsupported operand types: EGroupware\Api\DateTime - int 2021-11-05 13:52:20 +01:00
Ralf Becker
e5c668f7b2 fix PHP 8.0 error in SMime by updating to our fixed Horde/Crypt:2.7.14 2021-11-05 12:33:20 +01:00
Ralf Becker
57ac760a78 fix PHP 8.0 ValueError: stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) 2021-11-05 11:38:49 +01:00
Ralf Becker
7ac13da96f fix PHP 8.0 error: calendar_boupdate::update(): Argument #6 ($messages) cannot be passed by reference 2021-11-05 11:22:49 +01:00
Ralf Becker
b3116e09e5 fix PHP 8.0 error: Undefined constant "filter" 2021-11-05 11:09:27 +01:00
Ralf Becker
4db49da7e5 fix PHP 8.0 error: trim expects string, array given
removed trim
2021-11-05 09:08:17 +01:00
Hadi Nategh
201d1f9972 Fix PHP8.0 error (TypeError): strlen(): Argument #1 ($string) must be of type string, array given 2021-11-04 17:23:45 +01:00
nathan
b78b7c3960 Fix formatter tests to work independant of timezone when run 2021-11-04 09:25:37 -06:00
nathan
b7daf84d90 Merge branch 'master' into web-components 2021-11-04 09:24:37 -06:00
Hadi Nategh
dd42733393 Fix PHP8.0 (TypeError): array_diff(): Argument #2 must be of type array, null given 2021-11-04 15:50:48 +01:00
Hadi Nategh
62fcc3156c Fix PHP8.0 (TypeError): explode(): Argument #2 ($string) must be of type string, array given 2021-11-04 14:30:23 +01:00
Hadi Nategh
1f28336702 Fix stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) by preventing empty html value being processed 2021-11-04 14:12:21 +01:00
Hadi Nategh
49b2313cfd Fix error (TypeError): count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-04 09:45:55 +01:00
nathan
39336370cf Recompile [tests] before running tests 2021-11-03 14:34:55 -06:00
nathan
ca429d0fae Tests for date + time parsing & formatting, and fixing the bugs they revealed 2021-11-03 13:49:39 -06:00
Ralf Becker
16820b48f8 Getting Grale/WebDAV PHP 8.0 compatible by using forked and fixed egroupware/guzzlehttp:3.9.3 2021-11-03 19:58:24 +01:00
Hadi Nategh
f93256f920 Update tinymce to 5.10.1 2021-11-03 16:49:20 +01:00
nathan
6cd8f67985 Try to avoid "PHP Warning: DOMDocument::loadXML(): Empty string supplied as input" 2021-11-03 09:30:58 -06:00
nathan
672ed0aa0e - DateTime widget to handle dates with times
- Time & Date+time parser & formatter functions
- Date widget does not return a time
2021-11-03 09:05:16 -06:00
Ralf Becker
a5602845c9 fix PHP 8.0 Error: Undefined constant Horde_Imap_Client_Interaction_Server::1
using forked Horde-Imap-Client repo
2021-11-03 15:55:49 +01:00
Ralf Becker
d04b98e64c * Filemanager: fix not working variables eg. $user in GUI mount (Admin > Filemanager)
also support no user/password for sharing links
2021-11-03 14:54:22 +01:00
Hadi Nategh
f21127df8f * Filemanager: Fix video controller not working in filemanager gallery 2021-11-02 17:43:56 +01:00
nathan
312bf62adc Implement readonly for date widget 2021-11-01 10:21:08 -06:00
nathan
76d7447dab Merge branch 'master' into web-components 2021-11-01 09:37:26 -06:00
nathan
14e1e59d7d Calendar: Sort similar length all day events alphabetically 2021-10-29 09:49:06 -06:00
nathan
8e65ea9b3f Filemanager: translations for lock/unlock 2021-10-29 08:51:06 -06:00
nathan
32cd80d331 Calendar: Enable filtering by customfield in list view 2021-10-28 16:07:25 -06:00
nathan
be6146661d Api: Fix check of disabled attribute was misbehaving if the value was null or 0
This showed up when validating tracker config, some rows were disabled with disabled="@tracker".  When tracker=0, they did not return their value.
2021-10-28 14:02:13 -06:00
Ralf Becker
1500ab69f0 fix PHP 8.0 error: trim() expects parameter 1 to be string, array given 2021-10-28 21:34:02 +02:00
Ralf Becker
c15cb2de41 add $depth parameter to Vfs::checkLock($url, int $depth=0) and use it to query all locks in one go for filemanager_ui::get_rows() 2021-10-28 21:08:31 +02:00
nathan
6fa8f1e792 Filemanager: Add lock tooltip, unlock icon on action 2021-10-28 10:27:22 -06:00
nathan
a794adfcf2 API: Make sure memberships is an array to avoid other errors (PHP 8.0) 2021-10-27 13:38:05 -06:00
nathan
0bac2ff1e8 * Filemanager: Add action to unlock files 2021-10-27 11:55:31 -06:00
Ralf Becker
e6b08cce70 fix PHP 8.0 error setting up two factor auth
key() expects array, null given
2021-10-26 19:59:10 +02:00
Hadi Nategh
75b168fb0d Switch to the right mail profileID if it's not matching the current one 2021-10-26 11:09:59 +02:00
nathan
d9ae364595 Addressbook: fix name / organisation column disappeared after several column changes
last_link & next_link values would be included in validated results, and the build up of empty rows would trigger the row repeat client side and nextmatch would read the wrong row somehow.
2021-10-25 14:33:13 -06:00
Ralf Becker
723db2c004 fix PHP 8.0 error: array_intersect(): Argument #2 must be of type array, string given 2021-10-25 16:04:28 +02:00
Ralf Becker
6a3df9355c fix PHP 8.0 error creating a new mail-accounts
"new" > 0 === true :(
2021-10-25 14:44:40 +02:00
Hadi Nategh
e080afc94f Update tinymce package 2021-10-25 11:45:08 +02:00
Ralf Becker
09cb38541b fix regression reported by @asig2016 after big warning fix 2021-10-23 09:55:20 +02:00
Ralf Becker
ab216c39ca
Update SECURITY.md 2021-10-23 09:39:55 +02:00
Ziding Zhang
c803fdc079 Create SECURITY.md
A simple instruction for security researchers.
2021-10-23 09:33:45 +02:00
nathan
76e1e326f3 Calendar: Fix PHP 8 error "array_key_exists(): Argument #2 ($array) must be of type array, null given" 2021-10-22 10:12:23 -06:00
nathan
e3526d2bef Api: Fix "Unsupported operand types: array + bool" when infolog linked contact could not be read 2021-10-22 09:39:24 -06:00
Hadi Nategh
118b9c0e92 Fix onchange event not working for date-range widget 2021-10-22 13:16:33 +02:00
nathan
4e54c2b5a3 Api: Fix merge action files in subdirectories had their path as part of action caption instead of just the file name 2021-10-21 09:51:05 -06:00
Ralf Becker
b1af39be37 fix big chunk of PHP 8.0 warnings 2021-10-21 10:39:57 +02:00
nathan
3f5af3eeb2 Api: Change app placeholders list to use some more horizontal space, stop hiding common & user placeholders 2021-10-20 15:26:39 -06:00
nathan
82423d60bb Api: Fix cf sub-entry placeholder expansion was not passing content for placeholders like {{#customer/n_fn}} 2021-10-20 14:08:43 -06:00
Ralf Becker
c53551ab2b fix PHP 8.0 error: Unsupported operand types: null + array 2021-10-20 15:03:41 +02:00
Ralf Becker
f6d756a0c1 closing/commiting the session to speed up calendar loading 2021-10-20 13:53:41 +02:00
nathan
2343bd62b7 Calendar: fix planner view wasn't working due to rollup issues
et2_calendar_owner was throwing errors due to being loaded twice
et2_calendar_planner was left out of the bundle
view updaters were not being called
2021-10-19 16:32:54 -06:00
nathan
1b5c940d7c * Resources: Add inventory number to resource list columns 2021-10-19 14:47:29 -06:00
nathan
068e3feff0 Api: Fix setting the date min attribute to a number did not work
jQueryUI timepicker checks the type of variable
2021-10-19 14:15:37 -06:00
nathan
7a7f80f7d9 Api: Fix replacements from sub-apps (eg: infolog contact) were missing 2021-10-19 09:17:22 -06:00
Ralf Becker
3ad98840c1 fix PHP 8.0 error: Illegal offset type 2021-10-19 09:18:00 +02:00
Ralf Becker
310984722f fix PHP 8.0 error: count(): Argument #1 ($value) must be of type Countable|array, string given 2021-10-19 09:03:29 +02:00
nathan
2256a26327 Make date widget work a little better WRT timezones 2021-10-18 16:03:05 -06:00
nathan
fbbc466c78 Merge branch 'master' into web-components 2021-10-18 10:56:05 -06:00
nathan
149cdaeae0 Calendar: Avoid type error if old_event was not loaded 2021-10-18 10:18:27 -06:00
nathan
cbe32069c2 Fix kanban merge into document stopped working with introduction of PDF checkbox 2021-10-18 09:42:12 -06:00
Hadi Nategh
fe9c7dd372 Fix type error happens when trying to save an event. 2021-10-18 15:41:22 +02:00
Hadi Nategh
b5a669fe1d Add more imap PERMANENTFLAGS in the sieve flags list 2021-10-18 12:34:15 +02:00
Hadi Nategh
0c2072f134 Add Seen flag into sieve flags list action 2021-10-18 12:23:22 +02:00
nathan
c01df39342 * Calendar: Fix changing the recurrence end date did not add/remove the events in the UI 2021-10-15 14:04:18 -06:00
Ralf Becker
a7ec8c002d using Horde compress and crypt from forked repo incl. PHP 8.0 fixes 2021-10-15 21:51:41 +02:00
nathan
9861c9a0b3 Fix copy / paste error 2021-10-15 09:37:27 -06:00
Hadi Nategh
0dd215d340 * Mail: Add set flags action into mail filters 2021-10-15 17:23:48 +02:00
nathan
33fcb4e657 Infolog: Avoid errors adding app replacements if incorrect parameters given 2021-10-15 09:09:53 -06:00
nathan
62aeccbb0f Infolog: Avoid changing contact or project links if user has no write permission 2021-10-15 09:05:15 -06:00
Hadi Nategh
75d119f31f * Mail: Implements date extension for vacation rule. None imap admin user can also set vacation rule by date. 2021-10-15 14:29:19 +02:00
nathan
93108177ce Remove unwanted use 2021-10-14 13:34:54 -06:00
nathan
aefeade501 Placeholder / merge translations 2021-10-14 09:05:12 -06:00
nathan
c8843f88c9 Fix PHP 8 error: "array_search(): Argument #2 ($haystack) must be of type array, null given" 2021-10-14 08:55:57 -06:00
Hadi Nategh
2ec9e27671 PHP8: fix error Undefined constant "status" 2021-10-14 15:37:52 +02:00
Hadi Nategh
524edf21d7 PHP8: fix lots of warnings 2021-10-14 14:14:58 +02:00
Hadi Nategh
e76ae2db32 Remove none existing mail connectionTimeout preference. Fixes warning of Undefined array key 'connectionTimeout'. 2021-10-14 11:34:56 +02:00
Ralf Becker
69782e833e fix PHP 8.0 error forwarding mail as attachment (calling count on null) 2021-10-14 09:39:01 +02:00
Ralf Becker
fe5a0b8567 fix PHP 8.0 error when converting an InfoLog into a ticket
Cannot access offset of type string on string
Also add line and file to our non-json exception handler, for easier identifying the problems
2021-10-14 08:05:22 +02:00
nathan
98ed7edda4 Fix incorrect default preference for merged document filenamer 2021-10-13 15:47:01 -06:00
nathan
f6f5fccd08 Avoid some more PHP8 errors
An error happened! (TypeError): Cannot access offset of type string on string
2021-10-13 15:34:32 -06:00
nathan
965e100082 Fix expansion broken in ddddc5ba05
Caused export field checkboxes in new definition to not keep their value
2021-10-13 15:08:16 -06:00
nathan
918d91eb9b Fix ReflectionParameter::isArray() was deprecated as of PHP 8.0.0 2021-10-13 10:52:56 -06:00
nathan
4fdefd61ae PHP 8.0: Avoid fatal error "array_key_exists(): Argument #2 ($array) must be of type array, null given" 2021-10-13 09:55:51 -06:00
nathan
047b86f38b Placeholders list common UI: different recursion check for better results
This one still puts simple customfields in, but just skips the linked apps cfs
2021-10-13 08:39:23 -06:00
Hadi Nategh
b84ef08c29 Set node property for inputWidget as it's expected to contain input node 2021-10-13 15:36:33 +02:00
Hadi Nategh
f454536165 WIP implementing Iframe widget:
- Get some styling
- An approach to display label slot
2021-10-13 12:17:07 +02:00
Hadi Nategh
76a1f3c584 WIP implementing Iframe widget:
- Add fullscreen option
2021-10-13 11:11:52 +02:00
nathan
bcfcc51398 Hide parent & contact in parent placeholder list 2021-10-12 15:50:37 -06:00
nathan
7dba4b9284 Placeholders - avoid infinite recursion if apps have custom fields of other apps 2021-10-12 15:44:48 -06:00
nathan
9e2bb05ded Placeholders list common UI
Should reduce maintenance by using a common UI to show placeholders based on the placeholder list
2021-10-12 14:18:18 -06:00
Ralf Becker
809e718f1a fix wired PHP 8.0 error stalling calendar-multiget REPORT from CalDAV
str_replace() returns "Array" as value, if a multidimensional array given as 3rd parameter: https://3v4l.org/budKH
2021-10-12 13:09:30 +02:00
Hadi Nategh
309e020324 Fix error "Non-static method Merge::get_all_ids() cannot be called statically" 2021-10-12 12:54:56 +02:00
Ralf Becker
7248b6649b fix a bunch of PHP Warnings 2021-10-12 11:51:28 +02:00
Ralf Becker
8604fc3181 fix PHP 8.0 TypeError:
- array_combine(): Argument #1 ($keys) must be of type array, null given
- count(): Argument #1 ($value) must be of type Countable|array, null given
2021-10-12 11:44:24 +02:00
Ralf Becker
044aae3cf8 fix PHP 8.0 error: Undefined constant "EGroupware\Api\Contacts\cat_id" 2021-10-11 18:40:21 +02:00
Ralf Becker
98e00f08d0 fix PHP 8.0 TypeError: when exporting multiple users
Argument 1 passed to EGroupware\Api\Accounts::username() must be of the type int or null, array given
2021-10-11 18:33:59 +02:00
Hadi Nategh
9af2806cc0 Fix account selection for category owner field 2021-10-11 16:48:21 +02:00
Ralf Becker
4495bb56c4 fix PHP 8.0 error reading identity "new", when trying to create a new identity 2021-10-11 15:10:27 +02:00
Ralf Becker
f29a2b5ea8 fix PHP Warning: Illegal string offset 'tmp_name' 2021-10-11 14:02:46 +02:00
Ralf Becker
90ab703a14 fix PHP Warning count(): Parameter must be an array or an object that implements Countable 2021-10-11 13:58:33 +02:00
Ralf Becker
3e17b79d5c fix an other PHP 8.0 Error: Non-static method EGroupware\Api\Db::get_column_attribute() cannot be called statically 2021-10-11 13:23:26 +02:00
Ralf Becker
c3fb7eda8e fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-10-11 13:19:46 +02:00
Ralf Becker
b7ef766ebb fix PHP 8.0 Error: Non-static method EGroupware\Api\Db::get_column_attribute() cannot be called statically 2021-10-11 13:15:34 +02:00
Ralf Becker
6d4de34749 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-10-11 12:43:20 +02:00
Ralf Becker
edf8e68189 fix PHP 8.0 Error: calendar_boupdate::update(): Argument #6 ($messages) cannot be passed by reference 2021-10-11 12:36:58 +02:00
Ralf Becker
981f6d853d also output file and line of exception for json requests 2021-10-11 11:25:56 +02:00
Hadi Nategh
13e717ce68 Merge pull request 8feac04979 #108 from Alexandros into the master 2021-10-11 10:34:19 +02:00
Ralf Becker
59a6a3c717 fix CardDAV error with DAVx5 caused by PHP 8.0 throwing an error instead ignoring it with a warning
PHP 8.0 ValueError: mb_convert_encoding(): Argument #3 ($from_encoding) contains invalid encoding "tf-"
current code expected Content-Type header to have charset enclosed in quotes, which it was not
2021-10-11 09:50:46 +02:00
Ralf Becker
59794cc3a4 output line and file of exception as trace not always contain it 2021-10-09 08:43:32 +02:00
Ralf Becker
59b684bb1d fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-10-09 08:42:02 +02:00
Hadi Nategh
be57764fa6 WIP implementing Iframe widget 2021-10-08 16:03:09 +02:00
Ralf Becker
a04cbc0ab4 an other chunk of PHP 8.0 Warnings fixed 2021-10-08 15:43:48 +02:00
Ralf Becker
88f76e4bc1 fix PHP 8.0 error: array_keys(): Argument #1 ($array) must be of type array, null given 2021-10-08 14:58:45 +02:00
Hadi Nategh
f62ff90444 Accept mail externalImages with long url 2021-10-08 14:30:04 +02:00
Ralf Becker
cb991f1243 fix Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given 2021-10-08 14:10:45 +02:00
Ralf Becker
c8547466a4 fix empty labels in application selection in ACL dialog 2021-10-08 13:24:08 +02:00
Hadi Nategh
19b4cf034f Revert strict comparison on mimeType 2021-10-08 13:05:06 +02:00
Ralf Becker
fac81f660d fix PHP 8.0 errors around ACL dialog and policy:
- bitwise AND operator gives TypeError if both values are neither a number nor a numeric string, eg: null, "run"
- Etemplate::setElementAttribute() must NOT be called before instantiating an Etemplate object, you will get fatal error otherwise, because no request object
2021-10-08 09:05:58 +02:00
nathan
d43c27a31b Fix nested placeholders (customfields from other apps) were not being displayed properly 2021-10-07 14:51:16 -06:00
nathan
c73a7beac8 Add placeholder list for calendar & filemanager 2021-10-07 13:47:14 -06:00
Ralf Becker
417bbccbe3 fix PHP 8.0 Fatal error: Declaration of Api\Etemplate\Request\Session::read($id = null) must be compatible with Api\Etemplate\Request::read($id = null, $handle_not_found = true) 2021-10-07 18:39:40 +02:00
Ralf Becker
a94a46578f fix PHP 8.0 "TypeError: count(): Argument #1 ($value) must be of type Countable|array, string given" when creating a new directory 2021-10-07 18:31:21 +02:00
nathan
da6a16e62d - Add generation target path preference to all apps
- Use common method to get merge preferences to reduce duplication
2021-10-07 10:22:45 -06:00
nathan
40af04e38e Fix broken Merge::get_app_class(), we need it to autoload the class 2021-10-07 09:31:43 -06:00
Ralf Becker
460d8cbe0d fix not working preferences GUI after ddddc5ba05 2021-10-07 17:28:06 +02:00
Ralf Becker
a8d14ffa0a fix TypeError: Argument 1 passed to EGroupware\Api\Accounts::username() must be of the type int, null given 2021-10-07 16:53:33 +02:00
nathan
66f5c4bfc2 Add start of Et2Date tests 2021-10-07 08:41:53 -06:00
Ralf Becker
7c4914d8db fix PHP 8.0 error "array_key_exists(): Argument #2 ($array) must be of type array, null given" when creating a category 2021-10-07 16:16:12 +02:00
Ralf Becker
d915b25bba fix PHP 8.0 error Illegal string offset
folder object need to be cast to string (folder name) as objects are not allowed as array keys
2021-10-07 12:37:10 +02:00
Ralf Becker
b1780a35bc fix Api\Storage\Merge::document_editable_action(): Argument #1 ($action) must be of type array, null given 2021-10-07 12:17:33 +02:00
Ralf Becker
e4f95d9c20 fix missing icons after previous commit 2021-10-07 11:57:20 +02:00
Ralf Becker
d00d6f65f0 fix PHP 8.0 error when deleting a Kanban card
- link deletion failed when link_id was "" as in PHP 8.0 "" < 0 --> gave the error
- link to card was never deleted as board_id is not stored in card
2021-10-07 10:44:23 +02:00
Ralf Becker
91bd7c7aeb an other chunk of fixed PHP 8.0 Warnings 2021-10-07 10:14:43 +02:00
nathan
02dce82010 Merge branch 'master' into web-components 2021-10-06 14:02:22 -06:00
nathan
45f039da95 * Add preference to set the filename of merged documents using placeholders 2021-10-06 11:59:29 -06:00
Ralf Becker
5b3a6c02b4 PHP 8.0 Fatal error: Declaration of timesheet_tracking::get_subject($data, $old) must be compatible with Api\Storage\Tracking::get_subject($data, $old, $deleted = null, $receiver = null) 2021-10-06 16:32:14 +02:00
Ralf Becker
d2c85cfe86 fix PHP 8.0 errors: key(): Argument #1 ($array) must be of type array, null given
guarding key() from calling with null eg. $button = key($content['button']) --> key($content['button'] ?? []) or check before !empty($content['button'])
2021-10-06 16:08:32 +02:00
Hadi Nategh
b837a0235e Fix styling in toolbar 2021-10-06 15:44:21 +02:00
Ralf Becker
cb8cac15dc fix mail account creation under PHP 8.0
PHP 8.0: "new" > 0 === true
PHP<8.0: "new" > 0 === false
2021-10-06 12:31:23 +02:00
Hadi Nategh
d3fd2aa76a PHP8: fix error Illegal offset typePHP, happens while moving mail from one account to another 2021-10-06 11:38:54 +02:00
Hadi Nategh
ffeb929b49 Fix wrong condition on checking url strlen 2021-10-06 11:09:32 +02:00
Ralf Becker
d1d8d0833a fix PHP 8.0 sending mail: Illegal offset type in isset or empty 2021-10-06 09:11:59 +02:00
nathan
a0a89a6b74 Placeholder dialog: Add placeholders for projectmanager, timesheet, tracker 2021-10-05 16:09:39 -06:00
Ralf Becker
66cf807cdd fix PHP 8.0 Error: Argument #2 ($array) must be of type array, null given 2021-10-05 16:35:27 +02:00
Ralf Becker
b37e7ff57a quieten permanent error_log 2021-10-05 14:20:29 +02:00
Ralf Becker
ddddc5ba05 next big chunk of fixed PHP 8.0 Warnings 2021-10-05 14:11:11 +02:00
Ralf Becker
e2ac0ab7b6 fix PHP 8.0 error: Api\Vfs::lock(): Argument #5 ($scope) cannot be passed by reference 2021-10-05 12:01:16 +02:00
Ralf Becker
357fefaad0 fixing some conditions in the previous commit stalling InfoLog list 2021-10-05 11:14:40 +02:00
nathan
6126bc2ac9 Placeholder dialog: Placeholder groups can now have groups
References (info_contact)/ customfields to other apps are expanded so all their placeholders are available as well
2021-10-04 14:45:57 -06:00
nathan
4b67e78012 Fix selectbox grouped options were not using value if provided 2021-10-04 14:41:08 -06:00
Ralf Becker
1747a2236a fixing a ton of PHP Warnings slowing us down in PHP 8.0 2021-10-04 18:50:51 +02:00
Hadi Nategh
b52abb9b62 Implement a test for Colorpicker widget 2021-10-04 14:42:30 +02:00
Ralf Becker
4458954af3 fix PHP 8.0 error: array_intersect() does not accept unknown named parameters 2021-10-04 13:15:33 +02:00
Ralf Becker
ac7faf6036 fix PHP 8.0 error: count(): Argument #1 ($value) must be of type Countable|array, string given 2021-10-04 13:02:34 +02:00
Ralf Becker
1cd5755ae4 fix PHP 8.0 Warning: Argument #2 of array_merge must be of type array, boolean given 2021-10-04 11:01:32 +02:00
Ralf Becker
6a031ef45c add some more typical contact-form examples 2021-10-04 10:48:04 +02:00
Ralf Becker
782c284d37 improve parsing if only a fullName is given to support the following:
- Becker, Ralf --> surname: Becker, personal: Ralf
- Ralf Becker  --> surname: Becker, personal: Ralf
- Becker --> surname: Becker
2021-10-04 10:41:22 +02:00
Ralf Becker
c647ddab60 improving parsing of country data:
- if we got a country-name but no -code, look up the code
- if we got a country-name like "Name (Name2)" try both separate first
- if we have a valid country-code set the -name to be the untranslated one as our UI does
2021-10-04 09:46:17 +02:00
Ralf Becker
9ca8b07de9 fix parsing with no street data and of custom fields 2021-10-03 18:45:34 +02:00
nathan
117b193a63 Add some missing general placeholders 2021-10-01 13:37:17 -06:00
nathan
96bdcd7c0e Fix some placeholder dialog bugs:
- Fix user placeholder does not use selected entry, so looks like a bug.  Now hiding entry for user placeholders.
- Fix user & general showed up in entry app selectbox
- Fix insert address dialog was not passing selected entry
2021-10-01 13:35:27 -06:00
dependabot[bot]
dec1276380 Bump lcobucci/jwt from 3.4.5 to 3.4.6
Bumps [lcobucci/jwt](https://github.com/lcobucci/jwt) from 3.4.5 to 3.4.6.
- [Release notes](https://github.com/lcobucci/jwt/releases)
- [Commits](https://github.com/lcobucci/jwt/compare/3.4.5...3.4.6)

---
updated-dependencies:
- dependency-name: lcobucci/jwt
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-01 18:54:52 +02:00
Ralf Becker
2d2b16a2f6 if no separate name-components given, simply split first word off as n_given and rest as n_family 2021-10-01 18:27:36 +02:00
nathan
71ef7ccd0d Fix some merge action bugs:
- default document wasn't working properly, missing caption
- Email documents were giving "Unable to generate merge file"
2021-10-01 10:06:29 -06:00
nathan
806aa542a1 Fix some more tests that don't work anymore due to things changing / files moved / other reasons 2021-09-30 13:15:37 -06:00
nathan
1dc9dd0c6b * Add a preference so you can choose where merged documents are put 2021-09-30 12:01:37 -06:00
nathan
fdf6422da7 Fix some errors in tests due to changing method signatures 2021-09-30 10:14:38 -06:00
Ralf Becker
db83cc437c refactor client-side form is not valid/submittable check of submit method into an own method isInvalid() 2021-09-30 09:26:36 +02:00
nathan
fb88f8846b Merge as PDF:
- improve error logging
- remove original merge result when PDF conversion succeeds
2021-09-29 11:01:07 -06:00
Ralf Becker
89923e25c4 add an additional static method Api\Mail\Smtp::mailbox_address()
as PHP 8.0 does not allow to call a non-static method static, even if $this is (conditionally) not used
2021-09-29 10:10:48 +02:00
nathan
707c57ecf0 * Add option to merge documents as PDF 2021-09-28 17:00:55 -06:00
nathan
2a4faf0137 * Add filemanager actions to convert editable files to PDF or PNG 2021-09-28 14:48:25 -06:00
nathan
f6828a8205 Placeholder dialog: Add "name, email, phone snippet", fix some more missing translation issues 2021-09-28 10:16:57 -06:00
nathan
a39eeef7e7 Placeholder dialog: Fix some missing translation issues 2021-09-28 09:49:29 -06:00
Hadi Nategh
ae5e11f7a2 Translate details title before setting it into the DOM 2021-09-28 17:08:36 +02:00
Ralf Becker
2c9949f362 REST API, do NOT take "Sync all in one addressbook" preference into account, but store in given AB 2021-09-28 11:35:01 +02:00
nathan
7f930a6221 Placeholder dialog: Support for other apps, starting with Infolog 2021-09-27 14:46:41 -06:00
nathan
eb57294146 Placeholder dialog: Allow & show general fields 2021-09-27 11:09:38 -06:00
nathan
369de2e3d5 Specific ordering for contact merge placeholders
also, use switch to using prefix()
2021-09-27 10:54:57 -06:00
nathan
47cf12869b Utility function to add prefix to placeholder & optionally wrap it with markers, because I was writing it out so many times 2021-09-27 10:54:57 -06:00
Ralf Becker
f6b7dc1474 fix PHP 8.0 error: key(): Argument #1 ($array) must be of type array, null given 2021-09-27 17:28:55 +02:00
nathan
90b3b47dc9 Placeholder dialog upper case first letter of placeholder category & placeholder name 2021-09-27 09:13:33 -06:00
nathan
9344f2df9f Placeholder dialog translations 2021-09-27 09:10:18 -06:00
Hadi Nategh
6f8fccb1ad Get mail app working (we use old-box widgets until replacing splitter with a web-component) 2021-09-27 16:14:42 +02:00
Hadi Nategh
966e611941 Find out the mailbox from the rowID 2021-09-27 11:22:49 +02:00
Hadi Nategh
6a689231e5 Catch miss encoding exception while checking mailbox for commit bec53dc57d 2021-09-27 10:50:50 +02:00
Ralf Becker
5c19e0c699 remove only chunks older then 2 days, to allow UI to still load them and not require a reload / F5 2021-09-26 10:53:27 +02:00
Ralf Becker
281e71ef71 use PUT with a UID as id to update an existing resource or create it, if not existing 2021-09-25 13:04:49 +02:00
Ralf Becker
e640873fc0 implement and document PATCH 2021-09-25 12:38:08 +02:00
nathan
e460ed52d4 Et2Date style improvements 2021-09-24 11:13:14 -06:00
Ralf Becker
1280de46d6 REST API allow sending a JSON patch to update or create a new contact (currently only via POST or PUT, not as PATCH!)
allows eg. to create a contact from a simple Wordpress contact-form only supporting POST requests and a flat object, see new example in the documentation
2021-09-24 18:06:13 +02:00
Ralf Becker
d9f759f517 fix PHP 8.0 error: implode(): Argument #2 ($array) must be of type ?array, string given 2021-09-24 12:29:48 +02:00
Hadi Nategh
c7d2f40a7b Try to avoid running select all action on undesired mailbox 2021-09-24 10:23:51 +02:00
nathan
901bb2b70d Fix Calendar popup was opening with wrong date 2021-09-23 14:12:15 -06:00
nathan
25773a929f Merge remote-tracking branch 'origin/master' into web-components 2021-09-23 10:22:18 -06:00
Ralf Becker
7562dd9fe3 Changelog for 21.1.20210923 2021-09-23 15:10:07 +02:00
Ralf Becker
d27d3f31ad fix development build was tagged with last / not new version 2021-09-23 12:00:57 +02:00
Ralf Becker
19cf5ad76c use latest v1 from composer 2021-09-23 11:09:29 +02:00
Ralf Becker
fb0c251a95 request latest v1 version of composer and retry infinite the package update on build 2021-09-23 10:51:22 +02:00
nathan
704b6c6dc2 Add user placeholders into placeholder dialog 2021-09-22 11:15:49 -06:00
Ralf Becker
9239b86cd9 pending translations from our translation server 2021-09-22 14:57:11 +02:00
Ralf Becker
163c7287e6 * Chrome 94.0.4606.54: fix CSP error clicking on sidebox menu
Chrome 94 returns all but first single quote "'" in a href attribute as "%27" :(
2021-09-22 14:44:08 +02:00
Hadi Nategh
d518a2b118 Move framework push boradcast method into base class 2021-09-22 11:54:01 +02:00
Hadi Nategh
b66db79289 Fix toolbar's 3dots broken styling 2021-09-22 10:16:29 +02:00
nathan
d512238dc0 * Collabora: Add address insert dialog 2021-09-21 14:07:22 -06:00
Ralf Becker
15a2e546ea missing @type="NameComponent" and updated examples in docu with @type 2021-09-21 18:50:40 +02:00
nathan
8e67e2efad WIP on placeholders
- Some TS cleanup
- Fix error in preview giving wrong results
2021-09-21 10:19:24 -06:00
Ralf Becker
8db7d13c49 Implemented @type attributes for all top-level objects from JsContact Draft 08 2021-09-21 11:09:32 +02:00
nathan
6884902d93 W.I.P on collabora placeholder insert
- better button styling
- make entry select app = selected app
2021-09-20 16:28:20 -06:00
nathan
29bd739955 W.I.P on collabora placeholder insert 2021-09-20 15:34:55 -06:00
Ralf Becker
13198e12c9 Use EGW_(USER|PASSWORD) from doc/phpunix.xml instead of hardcoded demo/guest 2021-09-20 18:52:25 +02:00
Ralf Becker
1e1b5ce935 fix function signature for put_response_headers 2021-09-20 18:50:51 +02:00
Ralf Becker
82c8ed51d2 Contacts REST API:
- implement missing PUT/POST of distribution list / CardGroups
- implement changes from next JsContact draft:
  + string plus extra localizations attribute instead of localizedString object
  + use "<domain>:<name>" for vendor attributes
- add/parse urn:uuid: prefix if UID is a UUID
2021-09-20 16:01:22 +02:00
Ralf Becker
0a75520a01 * Filemanager/Sharing: create different share-token for different recipients (before recipients where added to the token)
- allows to individually remove the token, otherwise new token for the other recipients need to be redistributed
- sending one email to multiple recipients still creates a single share-token for all the recipients (send multiple mails if that's not desired)
2021-09-20 13:27:31 +02:00
Ralf Becker
7399cca9fe
Update README.md 2021-09-20 08:35:31 +02:00
Ralf Becker
2512cffe3b
Update README.md 2021-09-20 08:34:41 +02:00
Ralf Becker
4bb8b6d4a4
Initial docu for REST API 2021-09-19 12:42:23 +02:00
Ralf Becker
e9998161a5 finished REST API for contacts modulo docu and bugs ;)
- JsCardGroup now used for distribution lists
- responses are not in "responses" attribute (no longer in root of object)
- fix sometimes empty / different members between PROPFIND/REPORT/JSON-GET and GET of group (caused by wrongly implemented limit to given AB)
- JSON pretty-print only if requested by Accept: application/pretty+json
- fix invalid JSON for errors (caused by opening {"responses": already sent
2021-09-19 11:09:44 +02:00
Ralf Becker
3a88aedce1 fix PHP Deprecated: stripos(): Non-string needles will be interpreted as strings in the future 2021-09-18 09:44:46 +02:00
nathan
fa5dcc2a3c Fix uneeded remove & re-add of WebComponent widgets to legacy parent
This fixes the incorrect vertical ordering of the preferences dialog (was tabs, header, footer )
2021-09-17 13:12:24 -06:00
Ralf Becker
7617aae9d0 got POST, PUT and DELETE request to add, update and delete contacts working
added JSON exception handler with nicer JsCalendar parse errors
2021-09-17 20:15:36 +02:00
nathan
d944372e14 Change some more menulists into selects 2021-09-17 10:05:11 -06:00
nathan
23f0a95447 Limit container width to 100%
Fixes site configuration pages go too wide
2021-09-17 09:24:12 -06:00
nathan
d23b55fe6d Change how boxes justify contents so buttons group on the left again.
Children without a max-width should still expand to share space.
2021-09-17 09:16:58 -06:00
Ralf Becker
8793f7895b fix excess separator, if not 2nd street-line 2021-09-17 11:58:39 +02:00
nathan
59ee0b57f2 Get translations working in labels & statustext 2021-09-16 14:56:13 -06:00
nathan
e279945953 Try removing width:100% from box to help with sizing nested boxes
This should fix the problem with timesheet.edit delete button being pushed off to the right
2021-09-16 13:49:48 -06:00
nathan
abd2e3804a - Fix default button image was not working
- Fix disabled="false" in template sort-of disabled buttons instead of them working normally

This fixes CRM view close button
2021-09-16 13:37:59 -06:00
Ralf Becker
5e2995234b fix double class attribute in menulist and menupopup by using select 2021-09-16 21:03:01 +02:00
Ralf Becker
c12b4dc4fd missing ajax=true for mail site-config 2021-09-16 21:03:01 +02:00
Ralf Becker
0768f5fadf WIP REST Api for contacts 2021-09-16 20:53:43 +02:00
nathan
d6ad0d986c Changes from what we learned - using slots & not overriding render() to get all that Lion has 2021-09-16 11:03:46 -06:00
Hadi Nategh
029f75b9bc Add getValue, setValue, clear button handler and styling for colorpicker 2021-09-16 11:38:09 +02:00
Ralf Becker
fc3aba9c39 missing ajax=true for mail site-config 2021-09-16 09:08:50 +02:00
Ralf Becker
4063f9fcdb modify <buttononly.../> --> <et2-button type="buttononly"...></et2-button>
also adding a class .et2_buttonFitContent and using it for filemanager.admin
2021-09-16 09:03:15 +02:00
nathan
44fcd07f6b Hopefully fix some out-of-order children when the first child of a box is a legacy widget 2021-09-15 16:29:17 -06:00
nathan
d68b8fdfe4 Fix disabled property/attribute was not getting reflected down to node, and Et2Box was missing the disabled style 2021-09-15 14:59:31 -06:00
nathan
23f8bc24c2 Fix some button stuff
- Submit / Cancel action was not being called correctly, so cancel buttons were not skipping change check
- Implement default image & class based on ID
2021-09-15 11:08:44 -06:00
Ralf Becker
38e2167166 WIP REST API for contacts using JsContacts draft 2021-09-15 18:45:45 +02:00
nathan
d5652c2f7e Bind app.appname.function context so widget can't lose it 2021-09-15 09:23:15 -06:00
nathan
decd64e7c3 Getter/Setter shenanigans to
- get widget's DOM ID to have the instance template as prefix
 - keep widget.id as what's in the template, matching legacy
 - widget.dom_id gives the DOM ID, matching legacy
2021-09-14 16:01:22 -06:00
nathan
d9fe73f979 Merge remote-tracking branch 'origin/master' into web-components 2021-09-14 14:17:48 -06:00
nathan
fff2849f3b - Avoid using internal widget.options
- Optimization on getting instance from widget
2021-09-14 14:13:22 -06:00
nathan
277f465c50 Fix onclick to keep originally bound click handler context.
Fixes app.appname.func callbacks had widget as context
2021-09-14 13:23:17 -06:00
nathan
442de20d90 Add missing set_disabled() method 2021-09-14 11:50:10 -06:00
nathan
3c7da204c5 Fix button icons so they don't get space when not there 2021-09-14 11:43:43 -06:00
nathan
9e6bd22b4f Don't need to specify size, it's automatic now 2021-09-14 11:13:46 -06:00
nathan
6883760d6f Get Et2Textarea to automatically fill their available space if no width or height attribute is set 2021-09-14 11:12:33 -06:00
Ralf Becker
50a7179fce using getDOMNode() instead of private node attribute (no longer existing in Et2Box 2021-09-14 09:44:41 +02:00
Ralf Becker
6ed3f56c06 some typos and missing translations 2021-09-14 08:59:09 +02:00
nathan
373cf6590d Merge remote-tracking branch 'origin/master' into web-components 2021-09-13 14:56:08 -06:00
nathan
dd47af5d09 Remove debug 2021-09-13 14:52:28 -06:00
nathan
76ad419420 Fix index templates had nextmatch row nodes below the nextmatch 2021-09-13 14:41:36 -06:00
nathan
b47a3dd11b Fix action popups were initially visible 2021-09-13 13:36:30 -06:00
nathan
6a70efcc34 Fix left/right align CSS to work with out-of-order children 2021-09-13 11:57:23 -06:00
nathan
d22847a503 - Fix timestamp & encrypt button positioning
- Clean up the footer buttons a little
2021-09-13 11:50:36 -06:00
nathan
b7e34ed779 Fix child order when children are a mix of WebComponent & legacy widgets 2021-09-13 11:26:29 -06:00
Ralf Becker
2d4c1b618d need to use header_admin_(user|password), as config_(user|passwd) get's unset 2021-09-13 18:24:24 +02:00
Ralf Becker
be3514c36f preferring get_rrows over get_rows to fix SQL error in timesheet merge 2021-09-13 18:02:39 +02:00
Ralf Becker
621d69f921 missing files from filemanager mount GUI 2021-09-13 17:41:21 +02:00
Ralf Becker
52be5da6a5 stop using iframe for Filemanager Admin 2021-09-13 16:31:46 +02:00
Ralf Becker
4727340f1d * Filemanager: added user-interface to mount WebDAV or SMB shares 2021-09-13 16:16:36 +02:00
Ralf Becker
df946f7c80 * Filemanager/WebDAV: fix mounting WebDAV URL as webdavs://user:pass@host/path 2021-09-10 14:09:02 +02:00
Ralf Becker
e20cea757a pending translations from our translation server 2021-09-10 10:19:57 +02:00
nathan
6abb239705 Avoid error if widget does not have transformAttributes method
This might be an issue with not properly implemented DetachedDOM interface
2021-09-09 13:43:16 -06:00
Hadi Nategh
722172fff2 Adjust toolbar's triangle icon styling 2021-09-09 15:46:52 +02:00
Hadi Nategh
5dbba31285 Fix toolbar list header taking a while to get opened 2021-09-08 12:07:47 +02:00
Hadi Nategh
3fc0823f38 Adjust background and height for toolbar's header_list 3dots menu 2021-09-07 16:56:50 +02:00
Hadi Nategh
91d74767fe Add an option to configure toolbar's list header style 2021-09-07 16:30:53 +02:00
Hadi Nategh
78d7f20ed8 Disable default background for et2_toolbar 2021-09-06 15:40:35 +02:00
nathan
6fe2ec6c65 Fix readonly was not hiding buttons
in Lion, they already have functionality on readOnly
2021-09-03 14:53:51 -06:00
nathan
347ea25131 Fix webcomponent attributes (class) were causing errors in nextmatch instead of being checked for variables 2021-09-03 14:45:45 -06:00
nathan
968a2d03bb Fix widget class in .xet file was not showing up on webcomponent element 2021-09-03 14:44:52 -06:00
nathan
4cafdeb359 Fix webcomponent children of webcomponents did not get properly added when cloned.
Fixes infolog description was missing
2021-09-03 13:08:49 -06:00
nathan
dccf43f3e3 Fix clone & child handling
This gets webcomponents (Et2Box) working in nextmatch
2021-09-03 11:20:53 -06:00
nathan
36df64085f * Api: Fix some merge files were opened in browser instead of downloaded 2021-09-03 09:33:32 -06:00
Ralf Becker
582793d52b Revert "Bring web-component work into master branch"
To many things are not working :(
- addressbook, infolog, even timesheet index lacks at least r/o textbox and problably other widgets
- smallPART (with many extra widgets) is completly unusable
- *box widget seems not to skip empty boxes
--> we need more testing and progress, before we can merge that

This reverts commit 9cee681b94.
2021-09-03 11:28:22 +02:00
Ralf Becker
ef1239b017 fix URL if custom template from VFS is used 2021-09-03 11:02:06 +02:00
Ralf Becker
a566599b7f * PostgreSQL/Addressbook/All Apps: fix SQL error in history tab if there are attachments 2021-09-03 09:48:47 +02:00
nathan
3619bd6ae1 Fix child widget handling to handle both legacy and webcomponent children the same, as much as possible 2021-09-02 13:40:26 -06:00
nathan
9cee681b94 Bring web-component work into master branch 2021-09-02 10:52:10 -06:00
nathan
b52000ceb7 Merge branch 'master' into web-components 2021-09-02 10:38:34 -06:00
nathan
3a28380125 Remove this test directory, it's not needed 2021-09-02 10:34:09 -06:00
nathan
8b3143de50 Add some documentation 2021-09-02 10:24:06 -06:00
nathan
25ba3e477a - Set a max-width on buttons so we can let them flex
- Fix missing button label
2021-09-02 09:43:00 -06:00
nathan
637bd9fe5b Style changes on Et2Box, now supporting the align [left|right] property. 2021-09-02 09:39:43 -06:00
Ralf Becker
86c92dcdf6 allow pushing to multiple users in one request 2021-09-02 09:39:43 -06:00
Ralf Becker
990c407218 quiten warning if client sends no User-Agent header 2021-09-02 09:39:43 -06:00
Hadi Nategh
53f156a66b WIP implementing colorpicker widget 2021-09-02 16:47:49 +02:00
Hadi Nategh
1fd43b0bdd * Mail: fix updating/deleting mail accounts does not refresh the mail tree no more 2021-09-01 16:23:38 +02:00
Ralf Becker
e500190728 * Addressbook/PostgreSQL: fix SQL error deleting a contact finally 2021-09-01 09:33:54 +02:00
Ralf Becker
c830bdd923 allow pushing to multiple users in one request 2021-08-31 17:42:28 +02:00
Ralf Becker
264d22599d quiten warning if client sends no User-Agent header 2021-08-30 08:54:35 +02:00
nathan
61da5c544a Merge branch 'master' into web-components 2021-08-27 11:40:22 -06:00
nathan
8a2b717c51 Fix some type issues to make everything play more nicely together
(Not complaining about things from parent classes being missing, mostly)
2021-08-27 11:21:40 -06:00
Ralf Becker
fb69cf39fd replace all "(../)+node_modules/" with bare specifiers 2021-08-27 08:13:36 +02:00
Guy Bedford
2ba73fc91c ensure browser resolutions are used 2021-08-27 07:58:30 +02:00
Guy Bedford
2526b0460e fix: node_modules resolutions 2021-08-27 07:58:30 +02:00
nathan
4218b132f9 - Sort out some type issues to reduce warnings/duplication
- Some tests for textbox
2021-08-26 12:59:13 -06:00
Ralf Becker
44ae9650f8 legacy-load old javascript from etemplate(1) and phpbrain, to fix eg. DB-Tools 2021-08-26 17:51:45 +02:00
nathan
181b1c03ae Fix imports to work with rollup 2021-08-26 09:20:41 -06:00
Hadi Nategh
3adec01e58 Fix youtube video starts to play automatically after being seeked to a time 2021-08-26 12:11:24 +02:00
nathan
2e712c47bc Move the rest of the WebComponents into their own directory to get ready for tests 2021-08-25 15:35:06 -06:00
nathan
584d6bf51d Add some button tests 2021-08-25 15:24:27 -06:00
Nathan Gray
3e0f302bb5
Remove unneeded import 2021-08-25 11:34:10 -06:00
Nathan Gray
96c8e61127
Remove unneeded import 2021-08-25 11:33:24 -06:00
nathan
ef3848fd3c - Fix including everything just for a unit test
- Start of some tests for Et2Button
2021-08-25 11:32:15 -06:00
nathan
d656eb0e69 Javascript unit testing
Runs over all files in api/js/etemplate/<widget>/test and <app>/js/test folders

Run from the commandline with: npm jstest
Can also run & watch for changed files, check package.json for scripts.
2021-08-24 14:52:09 -06:00
nathan
d127cae5c6 Add get_value() to match legacy 2021-08-24 14:44:45 -06:00
Hadi Nategh
5ed1ddf76c Fix hamburger menu not being displayed in mobile theme for some apps, e.g. calendar 2021-08-24 14:48:37 +02:00
Hadi Nategh
6268bad881 Fix broken calendar mobile theme caused by wrongly compiled calc css 2021-08-24 12:23:19 +02:00
nathan
538e483499 Merge branch 'master' into web-components 2021-08-23 15:41:27 -06:00
nathan
8fa424c4df Avoid using private internal value 2021-08-23 15:37:16 -06:00
nathan
b393375823 Fix readonly property to match parent 2021-08-23 15:26:00 -06:00
nathan
8f784cd7b3 Remove setting defaults to undefined. It doesn't help the sizing issue, and it causes problems in the parent's size calculations 2021-08-23 13:09:45 -06:00
nathan
e3e3def64c Use Lion's SlotMixin to handle button icon instead of managing it ourselves 2021-08-23 11:49:17 -06:00
nathan
17b4278ca2 Implement iterateOver for children 2021-08-23 10:21:51 -06:00
Ralf Becker
0203ce5a1f also augmenting Promise returned from egw.request() with an abort method and using that in link-widget 2021-08-23 09:37:18 +02:00
Ralf Becker
6c641f824b fix missing abort method for link-widget
also remove jQuery.proxy
2021-08-22 11:55:29 +02:00
Ralf Becker
b2bd1ee59c missing package.json update 2021-08-22 09:46:23 +02:00
Ralf Becker
70e838b267 modify <textbox multiline="true".../> --> <et2-textarea...></et2-textarea> 2021-08-21 09:55:21 +02:00
nathan
64860e12f1 Better layout for textarea, but it's still not filling 2021-08-20 16:11:59 -06:00
nathan
e34ca22499 Split textarea off from textbox & start implementing
Splitting the two made things a lot simpler to deal with
2021-08-20 15:52:22 -06:00
nathan
0c6cd22bcd Remove debugger 2021-08-20 15:51:14 -06:00
nathan
f00e4fb708 - onclick is fine being an attribute
- Avoid error when calling loadingFinished on a webComponent and the parent does not give/have a DOM node
2021-08-20 10:37:41 -06:00
nathan
e6ecdd1b25 Fix onclick context was bound to the widget class instead of the widget instance
This caused any onclicks that used "widget" variable to fail.
2021-08-20 10:23:39 -06:00
Hadi Nategh
9dfee3f025 Extra padding on buttons is no longer necessary for new jQuery ui version 2021-08-20 10:27:55 +02:00
Hadi Nategh
2125e14b43 Import missing date library 2021-08-20 10:22:15 +02:00
Hadi Nategh
4cd86ac958 Fix infolog type icons not being displayed 2021-08-20 10:13:30 +02:00
nathan
e0144fcec7 Fix dialog not displaying set value 2021-08-19 15:32:47 -06:00
nathan
381d12dfa2 Get Et2Date loading & formatting value 2021-08-19 15:09:00 -06:00
nathan
b4a13037e2 - Reduce duplication with loadWebComponent() by making it a function & exporting
- Start to implement readonly attribute
2021-08-19 10:54:32 -06:00
nathan
0ea5e2e35f Define the constant only once... 2021-08-19 08:16:36 -06:00
Ralf Becker
6baf07090e implement some missing features from old eTemplate:
- evaluate class set on a grid cell as done for the widget contained (probably more a bug-fix then a feature)
- allow to preset query for link-entry widget by passing an object with a query attribute
- allow to overwrite not only $readonlys[__ALL__] but also widget readonly attribute with a $readonlys value of false
2021-08-19 10:46:34 +02:00
Ralf Becker
1596bec75c get form::name() legacy function working by making used et2_form_name function global, if used 2021-08-19 10:22:40 +02:00
nathan
445f394217 Fix some issues
- Some legacy widgets can not provide their DOMNode right away, but some give errors when we ask at the wrong time.  Now catching those.
- Grid could not set disabled on web components, causing error
- Boxes were trying to work on labels they didn't have, causing error
2021-08-18 17:41:23 -06:00
nathan
9231b32fce Vfs: Fix Stylite/Links/StreamWrapper was not respecting backup parameter 2021-08-18 15:59:54 -06:00
Hadi Nategh
466371fa03 Check element exist before applying to sortable as sortablejs needs an HTMLElement instance 2021-08-18 11:15:38 +02:00
Hadi Nategh
4e7ebc509a Make sure the DOM object is there before using it 2021-08-18 11:02:48 +02:00
Ralf Becker
61cdef588a need to catch the statement in line 1347 2021-08-18 10:48:24 +02:00
Ralf Becker
1462fb517a * PostgreSQL: fix SQL error when accessing eg. InfoLog
Links class trys to delete empty attachment directories and virtual / empty attachment directories have non-integer (hash) id causing an SQL error in PostgreSQL.
2021-08-18 09:18:21 +02:00
nathan
39886a149d * Api: Fix entry list stops scrolling if a row is updated while the tab is not visible 2021-08-17 13:56:52 -06:00
Hadi Nategh
96e960226f Fix volume gets initiated on a wrong object becuase the youtube object is not yet ready 2021-08-17 12:01:53 +02:00
Ralf Becker
94c98718ef update script to remove hashes/non-email-addresses from egw_history_log.share_email 2021-08-17 09:15:25 +02:00
nathan
bea880d9b1 * Api: Fix changes in history log had a hash instead of user if the change was made after a share was opened. 2021-08-16 13:07:17 -06:00
Ralf Becker
6d37e22499 web-components must not be self-closing (no "<et2-button .../>", but "<et2-button ...></et2-button>") 2021-08-16 19:54:58 +02:00
Hadi Nategh
61764809c8 Add getter/setter for video's mute option and fix volume unit 2021-08-16 17:49:47 +02:00
Hadi Nategh
4c1f398322 Fix volume and playbackrate for both youtube and html video 2021-08-16 13:48:10 +02:00
Ralf Becker
cfb8f5d453 fix errors installing/building JS stuff with not specified full path 2021-08-16 13:46:42 +02:00
Hadi Nategh
5f4e910d0d Do not activate cropper when the widget is set to readonly 2021-08-16 12:29:56 +02:00
Hadi Nategh
2515d457d5 * Knowledge Base: fix pasting/dragging image into htmlarea editor does not work 2021-08-16 11:52:26 +02:00
Ralf Becker
d060d98fad modify eTemplates server-side to add et2- prefix for widgets converted to web-components
- uses a regular expression to identify the widgets already converted (using XML parsing is slower and more complicated)
- replaces automatic old <menulist...><menupopup type="select-*"/></menulist> with <select type="select-*" .../> to not build support for that into web-component code
- currently only box and button are converted, as converting v/hbox gives a JavaScript error with nextmatch headers (seems a problem with the children)
- caching is currently also disabled, as you would need to clear the filesystem-cache, when you modify the list of supported widgets (browser cache needs to be cleared!)
2021-08-15 14:59:23 +02:00
Ralf Becker
29ab26b731 fix egw.request() which was using jQuery defered.always() which egw_json.sendRequest() no longer returns in favor to a Promise 2021-08-14 08:42:37 +02:00
nathan
4f225054f8 WIP on Date widget
Something's not right with the parser/formatter, they're not getting called.

Times not handled yet
2021-08-13 15:26:18 -06:00
Hadi Nategh
782de6d887 Remove excessive bracket 2021-08-13 12:56:20 +02:00
Hadi Nategh
a7ea5b51bf Implements volume and playback options for video widget (both for html video and youtube) 2021-08-13 12:39:38 +02:00
Hadi Nategh
3ea863c5bc Take all addresses in the mail header when integrating mail to another app, e.g. Calendar. 2021-08-13 10:52:39 +02:00
nathan
35e5d57b2a Merge branch 'master' into web-components 2021-08-12 13:22:51 -06:00
nathan
54e5826fc7 Get the link entry app selection menu working again 2021-08-12 11:21:49 -06:00
nathan
fac1dfb8d4 Merge branch 'master' into web-components 2021-08-12 10:35:46 -06:00
nathan
243d769d7c - Change filenames to match classnames
- Change node import syntax
2021-08-12 10:32:05 -06:00
nathan
1d0772a064 * Calendar: Activate links in location & description in event tooltip 2021-08-12 08:57:15 -06:00
Hadi Nategh
50f620e075 Activate touch plugin on mobile framework 2021-08-12 14:57:47 +02:00
Hadi Nategh
d07a7ab194 WIP of replacing bower-asset packages:
- Get jquery-ui and touch event plugin working (although still modular import is not possible becuase of a wierd issue with jquery-ui tooltip plugin)
- Import timepicker-addon plugin as npm package
- Update composer.lock file
2021-08-12 14:51:38 +02:00
Ralf Becker
72699fad30 fix ESM module import (no currly brackets) as suggested by Guy Bedford 2021-08-11 19:28:01 +02:00
Hadi Nategh
23c27659fc Fix broken styling of sidebox app lists 2021-08-11 16:50:01 +02:00
Hadi Nategh
8743bf64b0 Replace nm column jquery-ui sorting with sortablejs 2021-08-11 16:49:51 +02:00
Hadi Nategh
af2a2a016e Fix broken widget tree actions because of unexpected DOM Element object 2021-08-11 16:49:39 +02:00
Hadi Nategh
572908e300 Get favorites list sorting working with Sortablejs 2021-08-11 16:49:29 +02:00
Hadi Nategh
5777ebeb75 Get et2_grid sortable working with sortablejs 2021-08-11 16:49:16 +02:00
Hadi Nategh
a63416f6d6 Get fw sidebox sortable items working with sortablejs and removes the jquery.sortable 2021-08-11 16:43:16 +02:00
Hadi Nategh
af7b1a0fe0 Remove the tap-and-hold files 2021-08-11 16:43:16 +02:00
Hadi Nategh
7042219529 Remove tab-and-hold jquery plugin and use native touch events to implement something similar 2021-08-11 16:43:16 +02:00
Ralf Becker
fdef749794 update jquery-ui to 1.12.1 2021-08-11 15:38:13 +02:00
nathan
db7828ad1d Add et2-box (& et2-hbox & et2-vbox) WebComponent
Box can have legacy & webcomponent children.
Used here in infolog edit created & modified row
2021-08-10 15:02:52 -06:00
Ralf Becker
cd4dbd7b05 finally removing fxp/composer-asset-plugin (required via egroupware/projectmanager) 2021-08-10 14:25:27 +02:00
Ralf Becker
1f2e2390d3
Fix installation instructions and wiki links 2021-08-10 12:07:08 +02:00
Ralf Becker
168d385620 update pear/archive_tar to 1.4.14 to fix upstream security problem
also disable evtl. installed old asert plugin
2021-08-10 10:39:44 +02:00
nathan
6c0aed651f Api: Add some extra parameters to Merge::merge_entries() so overridding classes can still use the parent method, passing in IDs & merge object 2021-08-09 13:44:43 -06:00
Ralf Becker
8f93a7f7c6 * Setup: support uninstalling automatic installed apps (no more reinstalling next update) 2021-08-03 18:53:05 +02:00
Ralf Becker
5f7bafd030 allow to explicit register callbacks for the broadcasted push messages
egw.registerPush(Function)

The callback should have a bound context, if it requires one!
2021-07-30 15:21:58 +02:00
nathan
30d835fa39 - Get label "for" attribute working when target is a WebComponent
- Remove requirement that tooltip target be jQuery, get tooltips working on WebComponents
2021-07-23 10:18:45 -06:00
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
nathan
ad00156113 Merge branch 'master' into web-components 2021-07-19 14:15:52 -06:00
nathan
610d8e1547 Try out Lion as base for button.
Much easier to customize, though not without its issues:
- Lion give us some stuff to handle validation, forms & input that I haven't looked into
- Slightly different mixin structure, I might be missing out on something
- Properties in extending class cause TypeScript error, but still work
2021-07-19 11:57:06 -06:00
nathan
723ec70009 Get button to validate server-side 2021-07-15 10:12:47 -06:00
nathan
47e296c947 Get to the point where a button will submit. Yay.
Most other input widgets can build off this base.

It doesn't validate yet because of the server side, but the client side is working.
2021-07-15 10:08:26 -06:00
nathan
1294bc99c6 Some cleanup
- Add but comment out decorators plugin so we know about it, but don't use it yet
- Better instanciation of button image node
- Remove previous mixin experiments
- Start on trying to get click handler parsing & working
2021-07-14 16:11:20 -06:00
nathan
a3f1e8d367 This enables decorators (@property) but it breaks some of our existing widgets (eg: et2_searchbox properties go missing).
I've no idea why.
2021-07-14 11:59:44 -06:00
nathan
b0322c549a Attribute parsing & basics of WebComponents looking like et2 widgets 2021-07-14 09:49:36 -06:00
2340 changed files with 108153 additions and 135498 deletions

View File

@ -40,47 +40,33 @@ module.exports = function (grunt) {
pixelegg: {
files: {
"pixelegg/css/pixelegg.min.css": [
"api/js/jquery/chosen/chosen.css",
"vendor/bower-asset/jquery-ui/themes/redmond/jquery-ui.css",
"vendor/egroupware/magicsuggest/magicsuggest.css",
"api/js/jquery/jquery-ui-timepicker-addon.css",
"api/js/jquery/blueimp/css/blueimp-gallery.min.css",
"node_modules/flatpickr/dist/themes/light.css",
"api/js/dhtmlxtree/codebase/dhtmlxtree.css",
"api/js/egw_action/test/skins/dhtmlxmenu_egw.css",
"vendor/bower-asset/diff2html/dist/diff2html.css",
"vendor/bower-asset/cropper/dist/cropper.min.css",
"api/templates/default/css/flags.css",
"api/templates/default/css/htmlarea.css",
"api/templates/default/def_tutorials.css",
"api/templates/default/etemplate2.css",
"pixelegg/css/pixelegg.css",
"api/templates/default/print.css",
"pixelegg/print.css"
],
"pixelegg/css/mobile.min.css": [
"api/js/jquery/chosen/chosen.css",
"vendor/bower-asset/jquery-ui/themes/redmond/jquery-ui.css",
"vendor/egroupware/magicsuggest/magicsuggest.css",
"api/js/jquery/jquery-ui-timepicker-addon.css",
"api/js/jquery/blueimp/css/blueimp-gallery.min.css",
"node_modules/flatpickr/dist/themes/light.css",
"api/js/dhtmlxtree/codebase/dhtmlxtree.css",
"api/js/egw_action/test/skins/dhtmlxmenu_egw.css",
"vendor/bower-asset/diff2html/dist/diff2html.css",
"vendor/bower-asset/cropper/dist/cropper.min.css",
"api/templates/default/css/flags.css",
"api/templates/default/css/htmlarea.css",
"api/templates/default/def_tutorials.css",
"api/templates/default/etemplate2.css",
"pixelegg/css/mobile.css",
"api/templates/default/print.css",
"pixelegg/print.css"
],
"pixelegg/mobile/fw_mobile.min.css": [
"api/js/jquery/chosen/chosen.css",
"vendor/bower-asset/jquery-ui/themes/redmond/jquery-ui.css",
"vendor/egroupware/magicsuggest/magicsuggest.css",
"api/js/jquery/jquery-ui-timepicker-addon.css",
"api/js/jquery/blueimp/css/blueimp-gallery.min.css",
"node_modules/flatpickr/dist/themes/light.css",
"api/js/dhtmlxtree/codebase/dhtmlxtree.css",
"api/js/egw_action/test/skins/dhtmlxmenu_egw.css",
"api/js/etemplate/lib/jsdifflib/diffview.css",
@ -93,36 +79,26 @@ module.exports = function (grunt) {
"pixelegg/print.css"
],
"pixelegg/css/monochrome.min.css": [
"api/js/jquery/chosen/chosen.css",
"vendor/bower-asset/jquery-ui/themes/redmond/jquery-ui.css",
"vendor/egroupware/magicsuggest/magicsuggest.css",
"api/js/jquery/jquery-ui-timepicker-addon.css",
"api/js/jquery/blueimp/css/blueimp-gallery.min.css",
"node_modules/flatpickr/dist/themes/light.css",
"api/js/dhtmlxtree/codebase/dhtmlxtree.css",
"api/js/egw_action/test/skins/dhtmlxmenu_egw.css",
"vendor/bower-asset/diff2html/dist/diff2html.css",
"vendor/bower-asset/cropper/dist/cropper.min.css",
"api/templates/default/css/flags.css",
"api/templates/default/css/htmlarea.css",
"api/templates/default/def_tutorials.css",
"api/templates/default/etemplate2.css",
"pixelegg/css/monochrome.css",
"api/templates/default/print.css",
"pixelegg/print.css"
],
"pixelegg/css/modern.min.css": [
"api/js/jquery/chosen/chosen.css",
"vendor/bower-asset/jquery-ui/themes/redmond/jquery-ui.css",
"vendor/egroupware/magicsuggest/magicsuggest.css",
"api/js/jquery/jquery-ui-timepicker-addon.css",
"api/js/jquery/blueimp/css/blueimp-gallery.min.css",
"node_modules/flatpickr/dist/themes/light.css",
"api/js/dhtmlxtree/codebase/dhtmlxtree.css",
"api/js/egw_action/test/skins/dhtmlxmenu_egw.css",
"vendor/bower-asset/diff2html/dist/diff2html.css",
"vendor/bower-asset/cropper/dist/cropper.min.css",
"api/templates/default/css/flags.css",
"api/templates/default/css/htmlarea.css",
"api/templates/default/def_tutorials.css",
"api/templates/default/etemplate2.css",
"pixelegg/css/pixelegg.css",
"api/templates/default/print.css",
@ -133,18 +109,13 @@ module.exports = function (grunt) {
jdots: {
files: {
"jdots/css/high-contrast.min.css": [
"api/js/jquery/chosen/chosen.css",
"vendor/bower-asset/jquery-ui/themes/redmond/jquery-ui.css",
"vendor/egroupware/magicsuggest/magicsuggest.css",
"api/js/jquery/jquery-ui-timepicker-addon.css",
"api/js/jquery/blueimp/css/blueimp-gallery.min.css",
"node_modules/flatpickr/dist/themes/light.css",
"api/js/dhtmlxtree/codebase/dhtmlxtree.css",
"api/js/egw_action/test/skins/dhtmlxmenu_egw.css",
"vendor/bower-asset/diff2html/dist/diff2html.css",
"vendor/bower-asset/cropper/dist/cropper.min.css",
"api/templates/default/css/flags.css",
"api/templates/default/css/htmlarea.css",
"api/templates/default/def_tutorials.css",
"api/templates/default/etemplate2.css",
"api/templates/default/default.css",
"jdots/egw_fw.css",
@ -154,18 +125,13 @@ module.exports = function (grunt) {
"jdots/print.css"
],
"jdots/css/jdots.min.css": [
"api/js/jquery/chosen/chosen.css",
"vendor/bower-asset/jquery-ui/themes/redmond/jquery-ui.css",
"vendor/egroupware/magicsuggest/magicsuggest.css",
"api/js/jquery/jquery-ui-timepicker-addon.css",
"api/js/jquery/blueimp/css/blueimp-gallery.min.css",
"node_modules/flatpickr/dist/themes/light.css",
"api/js/dhtmlxtree/codebase/dhtmlxtree.css",
"api/js/egw_action/test/skins/dhtmlxmenu_egw.css",
"vendor/bower-asset/diff2html/dist/diff2html.css",
"vendor/bower-asset/cropper/dist/cropper.min.css",
"api/templates/default/css/flags.css",
"api/templates/default/css/htmlarea.css",
"api/templates/default/def_tutorials.css",
"api/templates/default/etemplate2.css",
"api/templates/default/default.css",
"jdots/egw_fw.css",
@ -174,18 +140,13 @@ module.exports = function (grunt) {
"jdots/print.css"
],
"jdots/css/orange-green.min.css": [
"api/js/jquery/chosen/chosen.css",
"vendor/bower-asset/jquery-ui/themes/redmond/jquery-ui.css",
"vendor/egroupware/magicsuggest/magicsuggest.css",
"api/js/jquery/jquery-ui-timepicker-addon.css",
"api/js/jquery/blueimp/css/blueimp-gallery.min.css",
"node_modules/flatpickr/dist/themes/light.css",
"api/js/dhtmlxtree/codebase/dhtmlxtree.css",
"api/js/egw_action/test/skins/dhtmlxmenu_egw.css",
"vendor/bower-asset/diff2html/dist/diff2html.css",
"vendor/bower-asset/cropper/dist/cropper.min.css",
"api/templates/default/css/flags.css",
"api/templates/default/css/htmlarea.css",
"api/templates/default/def_tutorials.css",
"api/templates/default/etemplate2.css",
"api/templates/default/default.css",
"jdots/egw_fw.css",
@ -209,11 +170,11 @@ module.exports = function (grunt) {
grunt.loadNpmTasks("grunt-contrib-cssmin");
// Load the plugin that runs tasks only on modified files
grunt.loadNpmTasks("grunt-newer");
//grunt.loadNpmTasks("grunt-newer");
// uncomment to run Gruntfile.js in apps / sub-directories
//grunt.loadNpmTasks('grunt-hub');
// Default task(s).
grunt.registerTask("default", ["newer:cssmin"]);//, 'hub']);
};
grunt.registerTask("default", ["cssmin"]);//, 'hub']);
};

View File

@ -1,24 +1,29 @@
# EGroupware
| Branch | Status | Tools | Usage |
| ------ | ------ | ----- | ----- |
| master | [![Build Status](https://travis-ci.org/EGroupware/egroupware.svg?branch=master)](https://travis-ci.org/EGroupware/egroupware) | <img src="https://travis-ci.com/images/logos/TravisCI-Full-Color.png" width="108" alt="Travis CI"/> | runs unit-tests after each commit |
| 20.1 | [![Build Status](https://travis-ci.org/EGroupware/egroupware.svg?branch=20.1)](https://travis-ci.org/EGroupware/egroupware) | [![Scrutinizer CI](https://scrutinizer-ci.com/images/logo.png) scrutinizer](https://scrutinizer-ci.com/g/EGroupware/egroupware/) | runs static analysis on our codebase |
| 19.1 | [![Build Status](https://travis-ci.org/EGroupware/egroupware.svg?branch=19.1)](https://travis-ci.org/EGroupware/egroupware) | <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQ2scF5HUwLnJVnk2UhYwWpUXHmLQYNXM5yBw&usqp=CAU" width="110" alt="BrowserStack" /> | manual testing with unusual browser versions or platforms |
### Default and prefered installation method for EGroupware is via your package manager:
| Tools | Usage |
| ----- | ----- |
| <img src="https://travis-ci.com/images/logos/TravisCI-Full-Color.png" width="108" alt="Travis CI"/> | runs unit-tests after each commit |
| [![Scrutinizer CI](https://scrutinizer-ci.com/images/logo.png) scrutinizer](https://scrutinizer-ci.com/g/EGroupware/egroupware/) | runs static analysis on our codebase |
| <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQ2scF5HUwLnJVnk2UhYwWpUXHmLQYNXM5yBw&usqp=CAU" width="110" alt="BrowserStack" /> | manual testing with unusual browser versions or platforms |
https://software.opensuse.org/download.html?project=server%3AeGroupWare&package=egroupware-epl
### Default and prefered installation method for EGroupware is via your Linux package manager:
### Installing EGroupware 20.1 via Docker:
EGroupware 20.1 can be installed via Docker, in fact the DEB/RPM packages also does that. Instructions on how to run EGroupware in Docker are in [doc/docker](https://github.com/EGroupware/egroupware/tree/20.1/doc/docker) subdirectory.
* [Installation & Update instructions](https://github.com/EGroupware/egroupware/wiki/Installation-using-egroupware-docker-RPM-DEB-package)
* [Distribution specific instructions](https://github.com/EGroupware/egroupware/wiki/Distribution-specific-instructions)
### Installing EGroupware 19.1 via Docker:
EGroupware 19.1 can be installed via Docker, in fact the DEB/RPM packages also does that. Instructions on how to run EGroupware in Docker are in [doc/docker](https://github.com/EGroupware/egroupware/tree/19.1/doc/docker) subdirectory.
> Every other method (including a developer installation by cloning the repo) is way more complicated AND does not include all features, as part's of EGroupware are running in different containers, eg. the push-server!
### Installing EGroupware 21.1 via Docker for non-Linux environments or not supported Linux distros:
EGroupware 21.1 can be installed via Docker, in fact the DEB/RPM packages also does that. Instructions on how to run EGroupware in Docker are in our [Wiki](https://github.com/EGroupware/egroupware/wiki/Docker-compose-installation) and in [doc/docker](https://github.com/EGroupware/egroupware/tree/21.1/doc/docker) subdirectory.
### Installing EGroupware development version:
### Installing EGroupware development version via Docker:
* this is the prefered developer installation, as it contains eg. a push-server container
* https://github.com/EGroupware/egroupware/tree/master/doc/docker/development
### Deprecated EGroupware development installation:
* install composer.phar from https://getcomposer.org/download/
* optional: for minified JavaScript and CSS install nodejs and grunt
* for JavaScript dependencies and build install nodejs and npm
* optional: for minified CSS install grunt
```
apt/yum/zypper install nodejs
npm install -g grunt-cli

10
SECURITY.md Normal file
View File

@ -0,0 +1,10 @@
# Security Policy
## Supported Versions
* next release / master
* latest released version: **21.1**
* old released version: 20.1 (major security fixes only!)
Please report security issues to <security@egroupware.org>
If you need to send information in a secure way, please contakt us first, so we can send you our PGP keys to do so.

View File

@ -1,577 +0,0 @@
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
/* Copyright 2012 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* globals VBArray, PDFJS */
'use strict';
// Initializing PDFJS global object here, it case if we need to change/disable
// some PDF.js features, e.g. range requests
if (typeof PDFJS === 'undefined') {
(typeof window !== 'undefined' ? window : this).PDFJS = {};
}
// Checking if the typed arrays are supported
// Support: iOS<6.0 (subarray), IE<10, Android<4.0
(function checkTypedArrayCompatibility() {
if (typeof Uint8Array !== 'undefined') {
// Support: iOS<6.0
if (typeof Uint8Array.prototype.subarray === 'undefined') {
Uint8Array.prototype.subarray = function subarray(start, end) {
return new Uint8Array(this.slice(start, end));
};
Float32Array.prototype.subarray = function subarray(start, end) {
return new Float32Array(this.slice(start, end));
};
}
// Support: Android<4.1
if (typeof Float64Array === 'undefined') {
window.Float64Array = Float32Array;
}
return;
}
function subarray(start, end) {
return new TypedArray(this.slice(start, end));
}
function setArrayOffset(array, offset) {
if (arguments.length < 2) {
offset = 0;
}
for (var i = 0, n = array.length; i < n; ++i, ++offset) {
this[offset] = array[i] & 0xFF;
}
}
function TypedArray(arg1) {
var result, i, n;
if (typeof arg1 === 'number') {
result = [];
for (i = 0; i < arg1; ++i) {
result[i] = 0;
}
} else if ('slice' in arg1) {
result = arg1.slice(0);
} else {
result = [];
for (i = 0, n = arg1.length; i < n; ++i) {
result[i] = arg1[i];
}
}
result.subarray = subarray;
result.buffer = result;
result.byteLength = result.length;
result.set = setArrayOffset;
if (typeof arg1 === 'object' && arg1.buffer) {
result.buffer = arg1.buffer;
}
return result;
}
window.Uint8Array = TypedArray;
window.Int8Array = TypedArray;
// we don't need support for set, byteLength for 32-bit array
// so we can use the TypedArray as well
window.Uint32Array = TypedArray;
window.Int32Array = TypedArray;
window.Uint16Array = TypedArray;
window.Float32Array = TypedArray;
window.Float64Array = TypedArray;
})();
// URL = URL || webkitURL
// Support: Safari<7, Android 4.2+
(function normalizeURLObject() {
if (!window.URL) {
window.URL = window.webkitURL;
}
})();
// Object.defineProperty()?
// Support: Android<4.0, Safari<5.1
(function checkObjectDefinePropertyCompatibility() {
if (typeof Object.defineProperty !== 'undefined') {
var definePropertyPossible = true;
try {
// some browsers (e.g. safari) cannot use defineProperty() on DOM objects
// and thus the native version is not sufficient
Object.defineProperty(new Image(), 'id', { value: 'test' });
// ... another test for android gb browser for non-DOM objects
var Test = function Test() {};
Test.prototype = { get id() { } };
Object.defineProperty(new Test(), 'id',
{ value: '', configurable: true, enumerable: true, writable: false });
} catch (e) {
definePropertyPossible = false;
}
if (definePropertyPossible) {
return;
}
}
Object.defineProperty = function objectDefineProperty(obj, name, def) {
delete obj[name];
if ('get' in def) {
obj.__defineGetter__(name, def['get']);
}
if ('set' in def) {
obj.__defineSetter__(name, def['set']);
}
if ('value' in def) {
obj.__defineSetter__(name, function objectDefinePropertySetter(value) {
this.__defineGetter__(name, function objectDefinePropertyGetter() {
return value;
});
return value;
});
obj[name] = def.value;
}
};
})();
// No XMLHttpRequest#response?
// Support: IE<11, Android <4.0
(function checkXMLHttpRequestResponseCompatibility() {
var xhrPrototype = XMLHttpRequest.prototype;
var xhr = new XMLHttpRequest();
if (!('overrideMimeType' in xhr)) {
// IE10 might have response, but not overrideMimeType
// Support: IE10
Object.defineProperty(xhrPrototype, 'overrideMimeType', {
value: function xmlHttpRequestOverrideMimeType(mimeType) {}
});
}
if ('responseType' in xhr) {
return;
}
// The worker will be using XHR, so we can save time and disable worker.
PDFJS.disableWorker = true;
Object.defineProperty(xhrPrototype, 'responseType', {
get: function xmlHttpRequestGetResponseType() {
return this._responseType || 'text';
},
set: function xmlHttpRequestSetResponseType(value) {
if (value === 'text' || value === 'arraybuffer') {
this._responseType = value;
if (value === 'arraybuffer' &&
typeof this.overrideMimeType === 'function') {
this.overrideMimeType('text/plain; charset=x-user-defined');
}
}
}
});
// Support: IE9
if (typeof VBArray !== 'undefined') {
Object.defineProperty(xhrPrototype, 'response', {
get: function xmlHttpRequestResponseGet() {
if (this.responseType === 'arraybuffer') {
return new Uint8Array(new VBArray(this.responseBody).toArray());
} else {
return this.responseText;
}
}
});
return;
}
Object.defineProperty(xhrPrototype, 'response', {
get: function xmlHttpRequestResponseGet() {
if (this.responseType !== 'arraybuffer') {
return this.responseText;
}
var text = this.responseText;
var i, n = text.length;
var result = new Uint8Array(n);
for (i = 0; i < n; ++i) {
result[i] = text.charCodeAt(i) & 0xFF;
}
return result.buffer;
}
});
})();
// window.btoa (base64 encode function) ?
// Support: IE<10
(function checkWindowBtoaCompatibility() {
if ('btoa' in window) {
return;
}
var digits =
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
window.btoa = function windowBtoa(chars) {
var buffer = '';
var i, n;
for (i = 0, n = chars.length; i < n; i += 3) {
var b1 = chars.charCodeAt(i) & 0xFF;
var b2 = chars.charCodeAt(i + 1) & 0xFF;
var b3 = chars.charCodeAt(i + 2) & 0xFF;
var d1 = b1 >> 2, d2 = ((b1 & 3) << 4) | (b2 >> 4);
var d3 = i + 1 < n ? ((b2 & 0xF) << 2) | (b3 >> 6) : 64;
var d4 = i + 2 < n ? (b3 & 0x3F) : 64;
buffer += (digits.charAt(d1) + digits.charAt(d2) +
digits.charAt(d3) + digits.charAt(d4));
}
return buffer;
};
})();
// window.atob (base64 encode function)?
// Support: IE<10
(function checkWindowAtobCompatibility() {
if ('atob' in window) {
return;
}
// https://github.com/davidchambers/Base64.js
var digits =
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
window.atob = function (input) {
input = input.replace(/=+$/, '');
if (input.length % 4 === 1) {
throw new Error('bad atob input');
}
for (
// initialize result and counters
var bc = 0, bs, buffer, idx = 0, output = '';
// get next character
buffer = input.charAt(idx++);
// character found in table?
// initialize bit storage and add its ascii value
~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,
// and if not first of each 4 characters,
// convert the first 8 bits to one ascii character
bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0
) {
// try to find character in table (0-63, not found => -1)
buffer = digits.indexOf(buffer);
}
return output;
};
})();
// Function.prototype.bind?
// Support: Android<4.0, iOS<6.0
(function checkFunctionPrototypeBindCompatibility() {
if (typeof Function.prototype.bind !== 'undefined') {
return;
}
Function.prototype.bind = function functionPrototypeBind(obj) {
var fn = this, headArgs = Array.prototype.slice.call(arguments, 1);
var bound = function functionPrototypeBindBound() {
var args = headArgs.concat(Array.prototype.slice.call(arguments));
return fn.apply(obj, args);
};
return bound;
};
})();
// HTMLElement dataset property
// Support: IE<11, Safari<5.1, Android<4.0
(function checkDatasetProperty() {
var div = document.createElement('div');
if ('dataset' in div) {
return; // dataset property exists
}
Object.defineProperty(HTMLElement.prototype, 'dataset', {
get: function() {
if (this._dataset) {
return this._dataset;
}
var dataset = {};
for (var j = 0, jj = this.attributes.length; j < jj; j++) {
var attribute = this.attributes[j];
if (attribute.name.substring(0, 5) !== 'data-') {
continue;
}
var key = attribute.name.substring(5).replace(/\-([a-z])/g,
function(all, ch) {
return ch.toUpperCase();
});
dataset[key] = attribute.value;
}
Object.defineProperty(this, '_dataset', {
value: dataset,
writable: false,
enumerable: false
});
return dataset;
},
enumerable: true
});
})();
// HTMLElement classList property
// Support: IE<10, Android<4.0, iOS<5.0
(function checkClassListProperty() {
var div = document.createElement('div');
if ('classList' in div) {
return; // classList property exists
}
function changeList(element, itemName, add, remove) {
var s = element.className || '';
var list = s.split(/\s+/g);
if (list[0] === '') {
list.shift();
}
var index = list.indexOf(itemName);
if (index < 0 && add) {
list.push(itemName);
}
if (index >= 0 && remove) {
list.splice(index, 1);
}
element.className = list.join(' ');
return (index >= 0);
}
var classListPrototype = {
add: function(name) {
changeList(this.element, name, true, false);
},
contains: function(name) {
return changeList(this.element, name, false, false);
},
remove: function(name) {
changeList(this.element, name, false, true);
},
toggle: function(name) {
changeList(this.element, name, true, true);
}
};
Object.defineProperty(HTMLElement.prototype, 'classList', {
get: function() {
if (this._classList) {
return this._classList;
}
var classList = Object.create(classListPrototype, {
element: {
value: this,
writable: false,
enumerable: true
}
});
Object.defineProperty(this, '_classList', {
value: classList,
writable: false,
enumerable: false
});
return classList;
},
enumerable: true
});
})();
// Check console compatibility
// In older IE versions the console object is not available
// unless console is open.
// Support: IE<10
(function checkConsoleCompatibility() {
if (!('console' in window)) {
window.console = {
log: function() {},
error: function() {},
warn: function() {}
};
} else if (!('bind' in console.log)) {
// native functions in IE9 might not have bind
console.log = (function(fn) {
return function(msg) { return fn(msg); };
})(console.log);
console.error = (function(fn) {
return function(msg) { return fn(msg); };
})(console.error);
console.warn = (function(fn) {
return function(msg) { return fn(msg); };
})(console.warn);
}
})();
// Check onclick compatibility in Opera
// Support: Opera<15
(function checkOnClickCompatibility() {
// workaround for reported Opera bug DSK-354448:
// onclick fires on disabled buttons with opaque content
function ignoreIfTargetDisabled(event) {
if (isDisabled(event.target)) {
event.stopPropagation();
}
}
function isDisabled(node) {
return node.disabled || (node.parentNode && isDisabled(node.parentNode));
}
if (navigator.userAgent.indexOf('Opera') !== -1) {
// use browser detection since we cannot feature-check this bug
document.addEventListener('click', ignoreIfTargetDisabled, true);
}
})();
// Checks if possible to use URL.createObjectURL()
// Support: IE
(function checkOnBlobSupport() {
// sometimes IE loosing the data created with createObjectURL(), see #3977
if (navigator.userAgent.indexOf('Trident') >= 0) {
PDFJS.disableCreateObjectURL = true;
}
})();
// Checks if navigator.language is supported
(function checkNavigatorLanguage() {
if ('language' in navigator) {
return;
}
PDFJS.locale = navigator.userLanguage || 'en-US';
})();
(function checkRangeRequests() {
// Safari has issues with cached range requests see:
// https://github.com/mozilla/pdf.js/issues/3260
// Last tested with version 6.0.4.
// Support: Safari 6.0+
var isSafari = Object.prototype.toString.call(
window.HTMLElement).indexOf('Constructor') > 0;
// Older versions of Android (pre 3.0) has issues with range requests, see:
// https://github.com/mozilla/pdf.js/issues/3381.
// Make sure that we only match webkit-based Android browsers,
// since Firefox/Fennec works as expected.
// Support: Android<3.0
var regex = /Android\s[0-2][^\d]/;
var isOldAndroid = regex.test(navigator.userAgent);
// Range requests are broken in Chrome 39 and 40, https://crbug.com/442318
var isChromeWithRangeBug = /Chrome\/(39|40)\./.test(navigator.userAgent);
if (isSafari || isOldAndroid || isChromeWithRangeBug) {
PDFJS.disableRange = true;
PDFJS.disableStream = true;
}
})();
// Check if the browser supports manipulation of the history.
// Support: IE<10, Android<4.2
(function checkHistoryManipulation() {
// Android 2.x has so buggy pushState support that it was removed in
// Android 3.0 and restored as late as in Android 4.2.
// Support: Android 2.x
if (!history.pushState || navigator.userAgent.indexOf('Android 2.') >= 0) {
PDFJS.disableHistory = true;
}
})();
// Support: IE<11, Chrome<21, Android<4.4, Safari<6
(function checkSetPresenceInImageData() {
// IE < 11 will use window.CanvasPixelArray which lacks set function.
if (window.CanvasPixelArray) {
if (typeof window.CanvasPixelArray.prototype.set !== 'function') {
window.CanvasPixelArray.prototype.set = function(arr) {
for (var i = 0, ii = this.length; i < ii; i++) {
this[i] = arr[i];
}
};
}
} else {
// Old Chrome and Android use an inaccessible CanvasPixelArray prototype.
// Because we cannot feature detect it, we rely on user agent parsing.
var polyfill = false, versionMatch;
if (navigator.userAgent.indexOf('Chrom') >= 0) {
versionMatch = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
// Chrome < 21 lacks the set function.
polyfill = versionMatch && parseInt(versionMatch[2]) < 21;
} else if (navigator.userAgent.indexOf('Android') >= 0) {
// Android < 4.4 lacks the set function.
// Android >= 4.4 will contain Chrome in the user agent,
// thus pass the Chrome check above and not reach this block.
polyfill = /Android\s[0-4][^\d]/g.test(navigator.userAgent);
} else if (navigator.userAgent.indexOf('Safari') >= 0) {
versionMatch = navigator.userAgent.
match(/Version\/([0-9]+)\.([0-9]+)\.([0-9]+) Safari\//);
// Safari < 6 lacks the set function.
polyfill = versionMatch && parseInt(versionMatch[1]) < 6;
}
if (polyfill) {
var contextPrototype = window.CanvasRenderingContext2D.prototype;
contextPrototype._createImageData = contextPrototype.createImageData;
contextPrototype.createImageData = function(w, h) {
var imageData = this._createImageData(w, h);
imageData.data.set = function(arr) {
for (var i = 0, ii = this.length; i < ii; i++) {
this[i] = arr[i];
}
};
return imageData;
};
}
}
})();
// Support: IE<10, Android<4.0, iOS
(function checkRequestAnimationFrame() {
function fakeRequestAnimationFrame(callback) {
window.setTimeout(callback, 20);
}
var isIOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent);
if (isIOS) {
// requestAnimationFrame on iOS is broken, replacing with fake one.
window.requestAnimationFrame = fakeRequestAnimationFrame;
return;
}
if ('requestAnimationFrame' in window) {
return;
}
window.requestAnimationFrame =
window.mozRequestAnimationFrame ||
window.webkitRequestAnimationFrame ||
fakeRequestAnimationFrame;
})();
(function checkCanvasSizeLimitation() {
var isIOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent);
var isAndroid = /Android/g.test(navigator.userAgent);
if (isIOS || isAndroid) {
// 5MP
PDFJS.maxCanvasPixels = 5242880;
}
})();
// Disable fullscreen support for certain problematic configurations.
// Support: IE11+ (when embedded).
(function checkFullscreenSupport() {
var isEmbeddedIE = (navigator.userAgent.indexOf('Trident') >= 0 &&
window.parent !== window);
if (isEmbeddedIE) {
PDFJS.disableFullscreen = true;
}
})();

View File

@ -1,27 +0,0 @@
/* This is just a sample file with CSS rules. You should write your own @font-face declarations
* to add support for your desired fonts.
*/
@font-face {
font-family: 'Novecentowide Book';
src: url("/ViewerJS/fonts/Novecentowide-Bold-webfont.eot");
src: url("/ViewerJS/fonts/Novecentowide-Bold-webfont.eot?#iefix") format("embedded-opentype"),
url("/ViewerJS/fonts/Novecentowide-Bold-webfont.woff") format("woff"),
url("/fonts/Novecentowide-Bold-webfont.ttf") format("truetype"),
url("/fonts/Novecentowide-Bold-webfont.svg#NovecentowideBookBold") format("svg");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'exotica';
src: url('/ViewerJS/fonts/Exotica-webfont.eot');
src: url('/ViewerJS/fonts/Exotica-webfont.eot?#iefix') format('embedded-opentype'),
url('/ViewerJS/fonts/Exotica-webfont.woff') format('woff'),
url('/ViewerJS/fonts/Exotica-webfont.ttf') format('truetype'),
url('/ViewerJS/fonts/Exotica-webfont.svg#exoticamedium') format('svg');
font-weight: normal;
font-style: normal;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 B

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

39353
ViewerJS/pdf.worker.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
var /**@const{!string}*/pdfjs_version = "v1.1.114";

View File

@ -1,419 +0,0 @@
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* Copyright 2012 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* globals CustomStyle, PDFJS */
'use strict';
var MAX_TEXT_DIVS_TO_RENDER = 100000;
var NonWhitespaceRegexp = /\S/;
function isAllWhitespace(str) {
return !NonWhitespaceRegexp.test(str);
}
/**
* @typedef {Object} TextLayerBuilderOptions
* @property {HTMLDivElement} textLayerDiv - The text layer container.
* @property {number} pageIndex - The page index.
* @property {PageViewport} viewport - The viewport of the text layer.
* @property {PDFFindController} findController
*/
/**
* TextLayerBuilder provides text-selection functionality for the PDF.
* It does this by creating overlay divs over the PDF text. These divs
* contain text that matches the PDF text they are overlaying. This object
* also provides a way to highlight text that is being searched for.
* @class
*/
var TextLayerBuilder = (function TextLayerBuilderClosure() {
function TextLayerBuilder(options) {
this.textLayerDiv = options.textLayerDiv;
this.renderingDone = false;
this.divContentDone = false;
this.pageIdx = options.pageIndex;
this.pageNumber = this.pageIdx + 1;
this.matches = [];
this.viewport = options.viewport;
this.textDivs = [];
this.findController = options.findController || null;
}
TextLayerBuilder.prototype = {
_finishRendering: function TextLayerBuilder_finishRendering() {
this.renderingDone = true;
var event = document.createEvent('CustomEvent');
event.initCustomEvent('textlayerrendered', true, true, {
pageNumber: this.pageNumber
});
this.textLayerDiv.dispatchEvent(event);
},
renderLayer: function TextLayerBuilder_renderLayer() {
var textLayerFrag = document.createDocumentFragment();
var textDivs = this.textDivs;
var textDivsLength = textDivs.length;
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
// No point in rendering many divs as it would make the browser
// unusable even after the divs are rendered.
if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {
this._finishRendering();
return;
}
var lastFontSize;
var lastFontFamily;
for (var i = 0; i < textDivsLength; i++) {
var textDiv = textDivs[i];
if (textDiv.dataset.isWhitespace !== undefined) {
continue;
}
var fontSize = textDiv.style.fontSize;
var fontFamily = textDiv.style.fontFamily;
// Only build font string and set to context if different from last.
if (fontSize !== lastFontSize || fontFamily !== lastFontFamily) {
ctx.font = fontSize + ' ' + fontFamily;
lastFontSize = fontSize;
lastFontFamily = fontFamily;
}
var width = ctx.measureText(textDiv.textContent).width;
if (width > 0) {
textLayerFrag.appendChild(textDiv);
var transform;
if (textDiv.dataset.canvasWidth !== undefined) {
// Dataset values come of type string.
var textScale = textDiv.dataset.canvasWidth / width;
transform = 'scaleX(' + textScale + ')';
} else {
transform = '';
}
var rotation = textDiv.dataset.angle;
if (rotation) {
transform = 'rotate(' + rotation + 'deg) ' + transform;
}
if (transform) {
CustomStyle.setProp('transform' , textDiv, transform);
}
}
}
this.textLayerDiv.appendChild(textLayerFrag);
this._finishRendering();
this.updateMatches();
},
/**
* Renders the text layer.
* @param {number} timeout (optional) if specified, the rendering waits
* for specified amount of ms.
*/
render: function TextLayerBuilder_render(timeout) {
if (!this.divContentDone || this.renderingDone) {
return;
}
if (this.renderTimer) {
clearTimeout(this.renderTimer);
this.renderTimer = null;
}
if (!timeout) { // Render right away
this.renderLayer();
} else { // Schedule
var self = this;
this.renderTimer = setTimeout(function() {
self.renderLayer();
self.renderTimer = null;
}, timeout);
}
},
appendText: function TextLayerBuilder_appendText(geom, styles) {
var style = styles[geom.fontName];
var textDiv = document.createElement('div');
this.textDivs.push(textDiv);
if (isAllWhitespace(geom.str)) {
textDiv.dataset.isWhitespace = true;
return;
}
var tx = PDFJS.Util.transform(this.viewport.transform, geom.transform);
var angle = Math.atan2(tx[1], tx[0]);
if (style.vertical) {
angle += Math.PI / 2;
}
var fontHeight = Math.sqrt((tx[2] * tx[2]) + (tx[3] * tx[3]));
var fontAscent = fontHeight;
if (style.ascent) {
fontAscent = style.ascent * fontAscent;
} else if (style.descent) {
fontAscent = (1 + style.descent) * fontAscent;
}
var left;
var top;
if (angle === 0) {
left = tx[4];
top = tx[5] - fontAscent;
} else {
left = tx[4] + (fontAscent * Math.sin(angle));
top = tx[5] - (fontAscent * Math.cos(angle));
}
textDiv.style.left = left + 'px';
textDiv.style.top = top + 'px';
textDiv.style.fontSize = fontHeight + 'px';
textDiv.style.fontFamily = style.fontFamily;
textDiv.textContent = geom.str;
// |fontName| is only used by the Font Inspector. This test will succeed
// when e.g. the Font Inspector is off but the Stepper is on, but it's
// not worth the effort to do a more accurate test.
if (PDFJS.pdfBug) {
textDiv.dataset.fontName = geom.fontName;
}
// Storing into dataset will convert number into string.
if (angle !== 0) {
textDiv.dataset.angle = angle * (180 / Math.PI);
}
// We don't bother scaling single-char text divs, because it has very
// little effect on text highlighting. This makes scrolling on docs with
// lots of such divs a lot faster.
if (textDiv.textContent.length > 1) {
if (style.vertical) {
textDiv.dataset.canvasWidth = geom.height * this.viewport.scale;
} else {
textDiv.dataset.canvasWidth = geom.width * this.viewport.scale;
}
}
},
setTextContent: function TextLayerBuilder_setTextContent(textContent) {
this.textContent = textContent;
var textItems = textContent.items;
for (var i = 0, len = textItems.length; i < len; i++) {
this.appendText(textItems[i], textContent.styles);
}
this.divContentDone = true;
},
convertMatches: function TextLayerBuilder_convertMatches(matches) {
var i = 0;
var iIndex = 0;
var bidiTexts = this.textContent.items;
var end = bidiTexts.length - 1;
var queryLen = (this.findController === null ?
0 : this.findController.state.query.length);
var ret = [];
for (var m = 0, len = matches.length; m < len; m++) {
// Calculate the start position.
var matchIdx = matches[m];
// Loop over the divIdxs.
while (i !== end && matchIdx >= (iIndex + bidiTexts[i].str.length)) {
iIndex += bidiTexts[i].str.length;
i++;
}
if (i === bidiTexts.length) {
console.error('Could not find a matching mapping');
}
var match = {
begin: {
divIdx: i,
offset: matchIdx - iIndex
}
};
// Calculate the end position.
matchIdx += queryLen;
// Somewhat the same array as above, but use > instead of >= to get
// the end position right.
while (i !== end && matchIdx > (iIndex + bidiTexts[i].str.length)) {
iIndex += bidiTexts[i].str.length;
i++;
}
match.end = {
divIdx: i,
offset: matchIdx - iIndex
};
ret.push(match);
}
return ret;
},
renderMatches: function TextLayerBuilder_renderMatches(matches) {
// Early exit if there is nothing to render.
if (matches.length === 0) {
return;
}
var bidiTexts = this.textContent.items;
var textDivs = this.textDivs;
var prevEnd = null;
var pageIdx = this.pageIdx;
var isSelectedPage = (this.findController === null ?
false : (pageIdx === this.findController.selected.pageIdx));
var selectedMatchIdx = (this.findController === null ?
-1 : this.findController.selected.matchIdx);
var highlightAll = (this.findController === null ?
false : this.findController.state.highlightAll);
var infinity = {
divIdx: -1,
offset: undefined
};
function beginText(begin, className) {
var divIdx = begin.divIdx;
textDivs[divIdx].textContent = '';
appendTextToDiv(divIdx, 0, begin.offset, className);
}
function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
var div = textDivs[divIdx];
var content = bidiTexts[divIdx].str.substring(fromOffset, toOffset);
var node = document.createTextNode(content);
if (className) {
var span = document.createElement('span');
span.className = className;
span.appendChild(node);
div.appendChild(span);
return;
}
div.appendChild(node);
}
var i0 = selectedMatchIdx, i1 = i0 + 1;
if (highlightAll) {
i0 = 0;
i1 = matches.length;
} else if (!isSelectedPage) {
// Not highlighting all and this isn't the selected page, so do nothing.
return;
}
for (var i = i0; i < i1; i++) {
var match = matches[i];
var begin = match.begin;
var end = match.end;
var isSelected = (isSelectedPage && i === selectedMatchIdx);
var highlightSuffix = (isSelected ? ' selected' : '');
if (this.findController) {
this.findController.updateMatchPosition(pageIdx, i, textDivs,
begin.divIdx, end.divIdx);
}
// Match inside new div.
if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
// If there was a previous div, then add the text at the end.
if (prevEnd !== null) {
appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
}
// Clear the divs and set the content until the starting point.
beginText(begin);
} else {
appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
}
if (begin.divIdx === end.divIdx) {
appendTextToDiv(begin.divIdx, begin.offset, end.offset,
'highlight' + highlightSuffix);
} else {
appendTextToDiv(begin.divIdx, begin.offset, infinity.offset,
'highlight begin' + highlightSuffix);
for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
textDivs[n0].className = 'highlight middle' + highlightSuffix;
}
beginText(end, 'highlight end' + highlightSuffix);
}
prevEnd = end;
}
if (prevEnd) {
appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
}
},
updateMatches: function TextLayerBuilder_updateMatches() {
// Only show matches when all rendering is done.
if (!this.renderingDone) {
return;
}
// Clear all matches.
var matches = this.matches;
var textDivs = this.textDivs;
var bidiTexts = this.textContent.items;
var clearedUntilDivIdx = -1;
// Clear all current matches.
for (var i = 0, len = matches.length; i < len; i++) {
var match = matches[i];
var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);
for (var n = begin, end = match.end.divIdx; n <= end; n++) {
var div = textDivs[n];
div.textContent = bidiTexts[n].str;
div.className = '';
}
clearedUntilDivIdx = match.end.divIdx + 1;
}
if (this.findController === null || !this.findController.active) {
return;
}
// Convert the matches on the page controller into the match format
// used for the textLayer.
this.matches = this.convertMatches(this.findController === null ?
[] : (this.findController.pageMatches[this.pageIdx] || []));
this.renderMatches(this.matches);
}
};
return TextLayerBuilder;
})();
/**
* @constructor
* @implements IPDFTextLayerFactory
*/
function DefaultTextLayerFactory() {}
DefaultTextLayerFactory.prototype = {
/**
* @param {HTMLDivElement} textLayerDiv
* @param {number} pageIndex
* @param {PageViewport} viewport
* @returns {TextLayerBuilder}
*/
createTextLayerBuilder: function (textLayerDiv, pageIndex, viewport) {
return new TextLayerBuilder({
textLayerDiv: textLayerDiv,
pageIndex: pageIndex,
viewport: viewport
});
}
};

View File

@ -1,394 +0,0 @@
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* Copyright 2012 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
var CSS_UNITS = 96.0 / 72.0;
var DEFAULT_SCALE = 'auto';
var UNKNOWN_SCALE = 0;
var MAX_AUTO_SCALE = 1.25;
var SCROLLBAR_PADDING = 40;
var VERTICAL_PADDING = 5;
// optimised CSS custom property getter/setter
var CustomStyle = (function CustomStyleClosure() {
// As noted on: http://www.zachstronaut.com/posts/2009/02/17/
// animate-css-transforms-firefox-webkit.html
// in some versions of IE9 it is critical that ms appear in this list
// before Moz
var prefixes = ['ms', 'Moz', 'Webkit', 'O'];
var _cache = {};
function CustomStyle() {}
CustomStyle.getProp = function get(propName, element) {
// check cache only when no element is given
if (arguments.length === 1 && typeof _cache[propName] === 'string') {
return _cache[propName];
}
element = element || document.documentElement;
var style = element.style, prefixed, uPropName;
// test standard property first
if (typeof style[propName] === 'string') {
return (_cache[propName] = propName);
}
// capitalize
uPropName = propName.charAt(0).toUpperCase() + propName.slice(1);
// test vendor specific properties
for (var i = 0, l = prefixes.length; i < l; i++) {
prefixed = prefixes[i] + uPropName;
if (typeof style[prefixed] === 'string') {
return (_cache[propName] = prefixed);
}
}
//if all fails then set to undefined
return (_cache[propName] = 'undefined');
};
CustomStyle.setProp = function set(propName, element, str) {
var prop = this.getProp(propName);
if (prop !== 'undefined') {
element.style[prop] = str;
}
};
return CustomStyle;
})();
function getFileName(url) {
var anchor = url.indexOf('#');
var query = url.indexOf('?');
var end = Math.min(
anchor > 0 ? anchor : url.length,
query > 0 ? query : url.length);
return url.substring(url.lastIndexOf('/', end) + 1, end);
}
/**
* Returns scale factor for the canvas. It makes sense for the HiDPI displays.
* @return {Object} The object with horizontal (sx) and vertical (sy)
scales. The scaled property is set to false if scaling is
not required, true otherwise.
*/
function getOutputScale(ctx) {
var devicePixelRatio = window.devicePixelRatio || 1;
var backingStoreRatio = ctx.webkitBackingStorePixelRatio ||
ctx.mozBackingStorePixelRatio ||
ctx.msBackingStorePixelRatio ||
ctx.oBackingStorePixelRatio ||
ctx.backingStorePixelRatio || 1;
var pixelRatio = devicePixelRatio / backingStoreRatio;
return {
sx: pixelRatio,
sy: pixelRatio,
scaled: pixelRatio !== 1
};
}
/**
* Scrolls specified element into view of its parent.
* element {Object} The element to be visible.
* spot {Object} An object with optional top and left properties,
* specifying the offset from the top left edge.
*/
function scrollIntoView(element, spot) {
// Assuming offsetParent is available (it's not available when viewer is in
// hidden iframe or object). We have to scroll: if the offsetParent is not set
// producing the error. See also animationStartedClosure.
var parent = element.offsetParent;
var offsetY = element.offsetTop + element.clientTop;
var offsetX = element.offsetLeft + element.clientLeft;
if (!parent) {
console.error('offsetParent is not set -- cannot scroll');
return;
}
while (parent.clientHeight === parent.scrollHeight) {
if (parent.dataset._scaleY) {
offsetY /= parent.dataset._scaleY;
offsetX /= parent.dataset._scaleX;
}
offsetY += parent.offsetTop;
offsetX += parent.offsetLeft;
parent = parent.offsetParent;
if (!parent) {
return; // no need to scroll
}
}
if (spot) {
if (spot.top !== undefined) {
offsetY += spot.top;
}
if (spot.left !== undefined) {
offsetX += spot.left;
parent.scrollLeft = offsetX;
}
}
parent.scrollTop = offsetY;
}
/**
* Helper function to start monitoring the scroll event and converting them into
* PDF.js friendly one: with scroll debounce and scroll direction.
*/
function watchScroll(viewAreaElement, callback) {
var debounceScroll = function debounceScroll(evt) {
if (rAF) {
return;
}
// schedule an invocation of scroll for next animation frame.
rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
rAF = null;
var currentY = viewAreaElement.scrollTop;
var lastY = state.lastY;
if (currentY !== lastY) {
state.down = currentY > lastY;
}
state.lastY = currentY;
callback(state);
});
};
var state = {
down: true,
lastY: viewAreaElement.scrollTop,
_eventHandler: debounceScroll
};
var rAF = null;
viewAreaElement.addEventListener('scroll', debounceScroll, true);
return state;
}
/**
* Use binary search to find the index of the first item in a given array which
* passes a given condition. The items are expected to be sorted in the sense
* that if the condition is true for one item in the array, then it is also true
* for all following items.
*
* @returns {Number} Index of the first array element to pass the test,
* or |items.length| if no such element exists.
*/
function binarySearchFirstItem(items, condition) {
var minIndex = 0;
var maxIndex = items.length - 1;
if (items.length === 0 || !condition(items[maxIndex])) {
return items.length;
}
if (condition(items[minIndex])) {
return minIndex;
}
while (minIndex < maxIndex) {
var currentIndex = (minIndex + maxIndex) >> 1;
var currentItem = items[currentIndex];
if (condition(currentItem)) {
maxIndex = currentIndex;
} else {
minIndex = currentIndex + 1;
}
}
return minIndex; /* === maxIndex */
}
/**
* Generic helper to find out what elements are visible within a scroll pane.
*/
function getVisibleElements(scrollEl, views, sortByVisibility) {
var top = scrollEl.scrollTop, bottom = top + scrollEl.clientHeight;
var left = scrollEl.scrollLeft, right = left + scrollEl.clientWidth;
function isElementBottomBelowViewTop(view) {
var element = view.div;
var elementBottom =
element.offsetTop + element.clientTop + element.clientHeight;
return elementBottom > top;
}
var visible = [], view, element;
var currentHeight, viewHeight, hiddenHeight, percentHeight;
var currentWidth, viewWidth;
var firstVisibleElementInd = (views.length === 0) ? 0 :
binarySearchFirstItem(views, isElementBottomBelowViewTop);
for (var i = firstVisibleElementInd, ii = views.length; i < ii; i++) {
view = views[i];
element = view.div;
currentHeight = element.offsetTop + element.clientTop;
viewHeight = element.clientHeight;
if (currentHeight > bottom) {
break;
}
currentWidth = element.offsetLeft + element.clientLeft;
viewWidth = element.clientWidth;
if (currentWidth + viewWidth < left || currentWidth > right) {
continue;
}
hiddenHeight = Math.max(0, top - currentHeight) +
Math.max(0, currentHeight + viewHeight - bottom);
percentHeight = ((viewHeight - hiddenHeight) * 100 / viewHeight) | 0;
visible.push({
id: view.id,
x: currentWidth,
y: currentHeight,
view: view,
percent: percentHeight
});
}
var first = visible[0];
var last = visible[visible.length - 1];
if (sortByVisibility) {
visible.sort(function(a, b) {
var pc = a.percent - b.percent;
if (Math.abs(pc) > 0.001) {
return -pc;
}
return a.id - b.id; // ensure stability
});
}
return {first: first, last: last, views: visible};
}
/**
* Event handler to suppress context menu.
*/
function noContextMenuHandler(e) {
e.preventDefault();
}
/**
* Returns the filename or guessed filename from the url (see issue 3455).
* url {String} The original PDF location.
* @return {String} Guessed PDF file name.
*/
function getPDFFileNameFromURL(url) {
var reURI = /^(?:([^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
// SCHEME HOST 1.PATH 2.QUERY 3.REF
// Pattern to get last matching NAME.pdf
var reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
var splitURI = reURI.exec(url);
var suggestedFilename = reFilename.exec(splitURI[1]) ||
reFilename.exec(splitURI[2]) ||
reFilename.exec(splitURI[3]);
if (suggestedFilename) {
suggestedFilename = suggestedFilename[0];
if (suggestedFilename.indexOf('%') !== -1) {
// URL-encoded %2Fpath%2Fto%2Ffile.pdf should be file.pdf
try {
suggestedFilename =
reFilename.exec(decodeURIComponent(suggestedFilename))[0];
} catch(e) { // Possible (extremely rare) errors:
// URIError "Malformed URI", e.g. for "%AA.pdf"
// TypeError "null has no properties", e.g. for "%2F.pdf"
}
}
}
return suggestedFilename || 'document.pdf';
}
var ProgressBar = (function ProgressBarClosure() {
function clamp(v, min, max) {
return Math.min(Math.max(v, min), max);
}
function ProgressBar(id, opts) {
this.visible = true;
// Fetch the sub-elements for later.
this.div = document.querySelector(id + ' .progress');
// Get the loading bar element, so it can be resized to fit the viewer.
this.bar = this.div.parentNode;
// Get options, with sensible defaults.
this.height = opts.height || 100;
this.width = opts.width || 100;
this.units = opts.units || '%';
// Initialize heights.
this.div.style.height = this.height + this.units;
this.percent = 0;
}
ProgressBar.prototype = {
updateBar: function ProgressBar_updateBar() {
if (this._indeterminate) {
this.div.classList.add('indeterminate');
this.div.style.width = this.width + this.units;
return;
}
this.div.classList.remove('indeterminate');
var progressSize = this.width * this._percent / 100;
this.div.style.width = progressSize + this.units;
},
get percent() {
return this._percent;
},
set percent(val) {
this._indeterminate = isNaN(val);
this._percent = clamp(val, 0, 100);
this.updateBar();
},
setWidth: function ProgressBar_setWidth(viewer) {
if (viewer) {
var container = viewer.parentNode;
var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;
if (scrollbarWidth > 0) {
this.bar.setAttribute('style', 'width: calc(100% - ' +
scrollbarWidth + 'px);');
}
}
},
hide: function ProgressBar_hide() {
if (!this.visible) {
return;
}
this.visible = false;
this.bar.classList.add('hidden');
document.body.classList.remove('loadingInProgress');
},
show: function ProgressBar_show() {
if (this.visible) {
return;
}
this.visible = true;
document.body.classList.add('loadingInProgress');
this.bar.classList.remove('hidden');
}
};
return ProgressBar;
})();

File diff suppressed because one or more lines are too long

View File

@ -70,6 +70,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET')
die("Missing 'from' GET parameter\n");
}
$from = $_GET['from'];
// fix missing url-encoding of +49...
if (preg_match('/^ [\d]+/', $from))
{
$from[0] = '+';
}
}
else
{
@ -89,4 +95,4 @@ try {
catch (\Exception $e) {
error_log("crm.php: No contact for from=$from found!");
die("No contact for from=$from found!\n");
}
}

View File

@ -13,6 +13,7 @@
use EGroupware\Api;
use EGroupware\Api\Acl;
use EGroupware\Api\Contacts\JsContact;
/**
* CalDAV/CardDAV/GroupDAV access: Addressbook handler
@ -60,6 +61,18 @@ class addressbook_groupdav extends Api\CalDAV\Handler
*/
var $home_set_pref;
/**
* Prefix for JsCardGroup id
*/
const JS_CARDGROUP_ID_PREFIX = 'list-';
/**
* Contains IDs for multiget REPORT to be able to report missing ones
*
* @var string[]
*/
var $requested_multiget_ids;
/**
* Constructor
*
@ -72,9 +85,14 @@ class addressbook_groupdav extends Api\CalDAV\Handler
$this->bo = new Api\Contacts();
if (Api\CalDAV::isJSON())
{
self::$path_attr = 'id';
self::$path_extension = '';
}
// since 1.9.007 we allow clients to specify the URL when creating a new contact, as specified by CardDAV
// LDAP does NOT have a carddav_name attribute --> stick with id mapped to LDAP attribute uid
if (version_compare($GLOBALS['egw_info']['apps']['api']['version'], '1.9.007', '<') ||
elseif (version_compare($GLOBALS['egw_info']['apps']['api']['version'], '1.9.007', '<') ||
$this->bo->contact_repository != 'sql' ||
$this->bo->account_repository != 'sql' && strpos($_SERVER['REQUEST_URI'].'/','/addressbook-accounts/') !== false)
{
@ -87,8 +105,11 @@ class addressbook_groupdav extends Api\CalDAV\Handler
}
if ($this->debug) error_log(__METHOD__."() contact_repository={$this->bo->contact_repository}, account_repository={$this->bo->account_repository}, REQUEST_URI=$_SERVER[REQUEST_URI] --> path_attr=".self::$path_attr.", path_extension=".self::$path_extension);
$this->home_set_pref = $GLOBALS['egw_info']['user']['preferences']['groupdav']['addressbook-home-set'];
$this->home_set_pref = $this->home_set_pref ? explode(',',$this->home_set_pref) : array();
$this->home_set_pref = $GLOBALS['egw_info']['user']['preferences']['groupdav']['addressbook-home-set'] ?? [];
if (!is_array($this->home_set_pref))
{
$this->home_set_pref = $this->home_set_pref ? explode(',', $this->home_set_pref) : array();
}
// silently switch "Sync all into one" preference on for OS X addressbook, as it only supports one AB
// this restores behavior before Lion (10.7), where AB synced all ABs contained in addressbook-home-set
@ -164,53 +185,58 @@ class addressbook_groupdav extends Api\CalDAV\Handler
if (isset($nresults))
{
$files['files'] = $this->propfind_callback2($path, $filter, array(0, (int)$nresults));
$files['files'] = $this->propfind_generator($path, $filter, $files['files'], (int)$nresults);
// hack to support limit with sync-collection report: contacts are returned in modified ASC order (oldest first)
// if limit is smaller then full result, return modified-1 as sync-token, so client requests next chunk incl. modified
// if limit is smaller than full result, return modified-1 as sync-token, so client requests next chunk incl. modified
// (which might contain further entries with identical modification time)
if ($options['root']['name'] == 'sync-collection' && $this->bo->total > $nresults)
{
--$this->sync_collection_token;
$files['sync-token-params'][] = true; // tel get_sync_collection_token that we have more entries
$files['sync-token-params'][] = true; // tell get_sync_collection_token that we have more entries
}
}
else
{
// return iterator, calling ourself to return result in chunks
$files['files'] = new Api\CalDAV\PropfindIterator($this,$path,$filter,$files['files']);
// return iterator, calling ourselves to return result in chunks
$files['files'] = $this->propfind_generator($path,$filter, $files['files']);
}
return true;
}
/**
* Callback for propfind iterator
*
* @param string $path
* @param array& $filter
* @param array|boolean $start =false false=return all or array(start,num)
* @return array with "files" array with values for keys path and props
* Chunk-size for DB queries of profind_generator
*/
function &propfind_callback($path, array $filter, $start=false)
{
return $this->propfind_callback2($path, $filter, $start);
}
const CHUNK_SIZE = 500;
/**
* Callback for propfind iterator with ability to skip reporting not found ids
* Generator for propfind with ability to skip reporting not found ids
*
* @param string $path
* @param array& $filter
* @param array|boolean $start =false false=return all or array(start,num)
* @param array $extra extra resources like the collection itself
* @param int|null $nresults option limit of number of results to report
* @param boolean $report_not_found_multiget_ids=true
* @return array with "files" array with values for keys path and props
* @return Generator<array with values for keys path and props>
* @ToDo also use CHUNK_SIZE when querying lists
*/
function &propfind_callback2($path, array &$filter, $start=false, $report_not_found_multiget_ids=true)
function propfind_generator($path, array &$filter, array $extra=[], $nresults=null, $report_not_found_multiget_ids=true)
{
//error_log(__METHOD__."('$path', ".array2string($filter).", ".array2string($start).", $report_not_found_multiget_ids)");
$starttime = microtime(true);
$filter_in = $filter;
// yield extra resources like the root itself
$yielded = 0;
foreach($extra as $resource)
{
if (++$yielded && isset($nresults) && $yielded > $nresults)
{
return;
}
yield $resource;
}
if (($address_data = $filter['address_data']))
{
$handler = self::_get_handler();
@ -230,10 +256,11 @@ class addressbook_groupdav extends Api\CalDAV\Handler
$sync_collection_report = $filter['sync-collection'];
unset($filter['sync-collection']);
if (isset($filter[self::$path_attr]))
// stop output buffering switched on to log the response, if we should return more than 200 entries
if (!empty($this->requested_multiget_ids) && ob_get_level() && count($this->requested_multiget_ids) > 200)
{
if (!is_array($filter[self::$path_attr])) $filter[self::$path_attr] = (array)$filter[self::$path_attr];
$requested_multiget_ids =& $filter[self::$path_attr];
$this->caldav->log("### ".count($this->requested_multiget_ids)." resources requested in multiget REPORT --> turning logging off to allow streaming of the response");
ob_end_flush();
}
$files = array();
@ -242,7 +269,8 @@ class addressbook_groupdav extends Api\CalDAV\Handler
if (!in_array(self::$path_attr,$cols)) $cols[] = self::$path_attr;
// we need tid for sync-collection report
if (array_key_exists('tid', $filter) && !isset($filter['tid']) && !in_array('tid', $cols)) $cols[] = 'tid';
if (($contacts =& $this->bo->search(array(),$cols,$order,'','',False,'AND',$start,$filter)))
for($chunk=0; ($contacts =& $this->bo->search([], $cols, $order, '', '', False, 'AND',
[$chunk*self::CHUNK_SIZE, self::CHUNK_SIZE], $filter)); ++$chunk)
{
// filter[tid] === null also returns no longer shared contacts, to remove them from devices, we need to mark them here as deleted
// to do so we need to read not deleted sharing info of potential candidates (not deleted and no regular access), as search does NOT
@ -269,31 +297,41 @@ class addressbook_groupdav extends Api\CalDAV\Handler
}
}
$is_jscontact = Api\CalDAV::isJSON();
foreach($contacts as &$contact)
{
// remove contact from requested multiget ids, to be able to report not found urls
if ($requested_multiget_ids && ($k = array_search($contact[self::$path_attr], $requested_multiget_ids)) !== false)
if (!empty($this->requested_multiget_ids) && ($k = array_search($contact[self::$path_attr], $this->requested_multiget_ids)) !== false)
{
unset($requested_multiget_ids[$k]);
unset($this->requested_multiget_ids[$k]);
}
// sync-collection report: deleted entry need to be reported without properties
if ($contact['tid'] == Api\Contacts::DELETED_TYPE)
{
$files[] = array('path' => $path.urldecode($this->get_path($contact)));
if (++$yielded && isset($nresults) && $yielded > $nresults)
{
return;
}
yield ['path' => $path.urldecode($this->get_path($contact))];
continue;
}
$props = array(
'getcontenttype' => Api\CalDAV::mkprop('getcontenttype', 'text/vcard'),
'getcontenttype' => Api\CalDAV::mkprop('getcontenttype', $is_jscontact ? JsContact::MIME_TYPE_JSCARD : 'text/vcard'),
'getlastmodified' => $contact['modified'],
'displayname' => $contact['n_fn'],
);
if ($address_data)
{
$content = $handler->getVCard($contact['id'],$this->charset,false);
$props['getcontentlength'] = bytes($content);
$props[] = Api\CalDAV::mkprop(Api\CalDAV::CARDDAV, 'address-data', $content);
$content = $is_jscontact ? JsContact::getJsCard($contact['id'], false) :
$handler->getVCard($contact['id'],$this->charset,false);
$props['getcontentlength'] = bytes(is_array($content) ? json_encode($content) : $content);
$props['address-data'] = Api\CalDAV::mkprop(Api\CalDAV::CARDDAV, 'address-data', $content);
}
$files[] = $this->add_resource($path, $contact, $props);
if (++$yielded && isset($nresults) && $yielded > $nresults)
{
return;
}
yield $this->add_resource($path, $contact, $props);
}
// sync-collection report --> return modified of last contact as sync-token
if ($sync_collection_report)
@ -301,93 +339,110 @@ class addressbook_groupdav extends Api\CalDAV\Handler
$this->sync_collection_token = $contact['modified'];
}
}
// last chunk or no chunking: add accounts from different repo and report missing multiget urls
if (!$start || (empty($contact)?0:count($contacts)) < $start[1])
// add accounts after contacts, if enabled and stored in different repository
if ($this->bo->so_accounts && is_array($filter['owner']) && in_array('0', $filter['owner']))
{
//error_log(__METHOD__."('$path', ".array2string($filter).", ".array2string($start)."; $report_not_found_multiget_ids) last chunk detected: count()=".count($contacts)." < $start[1]");
// add accounts after contacts, if enabled and stored in different repository
if ($this->bo->so_accounts && is_array($filter['owner']) && in_array('0', $filter['owner']))
$accounts_filter = $filter_in;
$accounts_filter['owner'] = '0';
if ($sync_collection_report) $token_was = $this->sync_collection_token;
self::$path_attr = 'id';
self::$path_extension = '.vcf';
foreach($this->propfind_generator($path, $accounts_filter, [], $nresults, false) as $resource)
{
$accounts_filter = $filter_in;
$accounts_filter['owner'] = '0';
if ($sync_collection_report) $token_was = $this->sync_collection_token;
self::$path_attr = 'id';
self::$path_extension = '.vcf';
$files = array_merge($files, $this->propfind_callback2($path, $accounts_filter, false, false));
self::$path_attr = 'carddav_name';
self::$path_extension = '';
if ($sync_collection_report && $token_was > $this->sync_collection_token)
if (++$yielded && isset($nresults) && $yielded > $nresults)
{
$this->sync_collection_token = $token_was;
return;
}
yield $resource;
}
// add groups after contacts, but only if enabled and NOT for '/addressbook/' (!isset($filter['owner'])
if (in_array('D',$this->home_set_pref) && (string)$filter['owner'] !== '0')
self::$path_attr = 'carddav_name';
self::$path_extension = '';
if ($sync_collection_report && $token_was > $this->sync_collection_token)
{
$where = array(
'list_owner' => isset($filter['owner'])?$filter['owner']:array_keys($this->bo->grants)
);
// add sync-token to support sync-collection report
if ($sync_collection_report)
$this->sync_collection_token = $token_was;
}
}
// add groups after contacts, but only if enabled and NOT for '/addressbook/' (!isset($filter['owner'])
if (in_array('D',$this->home_set_pref) && (string)$filter['owner'] !== '0')
{
$where = array(
'list_owner' => isset($filter['owner'])?$filter['owner']:array_keys($this->bo->grants)
);
// add sync-token to support sync-collection report
if ($sync_collection_report)
{
list(,$sync_token) = explode('>', $filter[0]);
if ((int)$sync_token) $where[] = 'list_modified>'.$GLOBALS['egw']->db->from_unixtime((int)$sync_token);
}
if (isset($filter[self::$path_attr])) // multiget report?
{
$where['list_'.self::$path_attr] = $filter[self::$path_attr];
}
//error_log(__METHOD__."() filter=".array2string($filter).", do_groups=".in_array('D',$this->home_set_pref).", where=".array2string($where));
if(($lists = $this->bo->read_lists($where,'contact_uid',$where['list_owner']))) // limit to contacts in same AB!
{
foreach($lists as $list)
{
list(,$sync_token) = explode('>', $filter[0]);
if ((int)$sync_token) $where[] = 'list_modified>'.$GLOBALS['egw']->db->from_unixtime((int)$sync_token);
}
if (isset($filter[self::$path_attr])) // multiget report?
{
$where['list_'.self::$path_attr] = $filter[self::$path_attr];
}
//error_log(__METHOD__."() filter=".array2string($filter).", do_groups=".in_array('D',$this->home_set_pref).", where=".array2string($where));
if (($lists = $this->bo->read_lists($where,'contact_uid',$where['list_owner']))) // limit to contacts in same AB!
{
foreach($lists as $list)
$list[self::$path_attr] = $is_jscontact ? self::JS_CARDGROUP_ID_PREFIX.$list['list_id'] : $list['list_carddav_name'];
$etag = $list['list_id'].':'.$list['list_etag'];
// for all-in-one addressbook, add selected ABs to etag
if (isset($filter['owner']) && is_array($filter['owner']))
{
$list[self::$path_attr] = $list['list_carddav_name'];
$etag = $list['list_id'].':'.$list['list_etag'];
// for all-in-one addressbook, add selected ABs to etag
if (isset($filter['owner']) && is_array($filter['owner']))
{
$etag .= ':'.implode('-',$filter['owner']);
}
$props = array(
'getcontenttype' => Api\CalDAV::mkprop('getcontenttype', 'text/vcard'),
'getlastmodified' => Api\DateTime::to($list['list_modified'],'ts'),
'displayname' => $list['list_name'],
'getetag' => '"'.$etag.'"',
);
if ($address_data)
{
$content = $handler->getGroupVCard($list);
$props['getcontentlength'] = bytes($content);
$props[] = Api\CalDAV::mkprop(Api\CalDAV::CARDDAV, 'address-data', $content);
}
$files[] = $this->add_resource($path, $list, $props);
// remove list from requested multiget ids, to be able to report not found urls
if ($requested_multiget_ids && ($k = array_search($list[self::$path_attr], $requested_multiget_ids)) !== false)
{
unset($requested_multiget_ids[$k]);
}
if ($sync_collection_report && $this->sync_collection_token < ($ts=$GLOBALS['egw']->db->from_timestamp($list['list_modified'])))
{
$this->sync_collection_token = $ts;
}
$etag .= ':'.implode('-',$filter['owner']);
}
$props = array(
'getcontenttype' => Api\CalDAV::mkprop('getcontenttype', $is_jscontact ? JsContact::MIME_TYPE_JSCARDGROUP : 'text/vcard'),
'getlastmodified' => Api\DateTime::to($list['list_modified'],'ts'),
'displayname' => $list['list_name'],
'getetag' => '"'.$etag.'"',
);
if ($address_data)
{
$content = $is_jscontact ? JsContact::getJsCardGroup($list, false) : $handler->getGroupVCard($list);
$props['getcontentlength'] = bytes(is_array($content) ? json_encode($content) : $content);
$props['address-data'] = Api\CalDAV::mkprop(Api\CalDAV::CARDDAV, 'address-data', $content);
}
if (++$yielded && isset($nresults) && $yielded > $nresults)
{
return;
}
yield $this->add_resource($path, $list, $props);
// remove list from requested multiget ids, to be able to report not found urls
if (!empty($this->requested_multiget_ids) && ($k = array_search($list[self::$path_attr], $this->requested_multiget_ids)) !== false)
{
unset($this->requested_multiget_ids[$k]);
}
if ($sync_collection_report && $this->sync_collection_token < ($ts=$GLOBALS['egw']->db->from_timestamp($list['list_modified'])))
{
$this->sync_collection_token = $ts;
}
}
}
// report not found multiget urls
if ($report_not_found_multiget_ids && $requested_multiget_ids)
{
foreach($requested_multiget_ids as $id)
{
$files[] = array('path' => $path.$id.self::$path_extension);
}
}
}
if ($this->debug) error_log(__METHOD__."($path,".array2string($filter).','.array2string($start).") took ".(microtime(true) - $starttime).' to return '.count($files).' items');
return $files;
// report not found multiget urls
if ($report_not_found_multiget_ids && !empty($this->requested_multiget_ids))
{
foreach($this->requested_multiget_ids as $id)
{
if (++$yielded && isset($nresults) && $yielded > $nresults)
{
return;
}
yield ['path' => $path.$id.self::$path_extension];
}
}
if ($this->debug)
{
error_log(__METHOD__."($path, filter=".json_encode($filter).', extra='.json_encode($extra).
", nresults=$nresults, report_not_found=$report_not_found_multiget_ids) took ".
(microtime(true) - $starttime)." to return $yielded resources");
}
}
/**
@ -451,7 +506,7 @@ class addressbook_groupdav extends Api\CalDAV\Handler
}
else
{
switch($filter['attrs']['collation']) // todo: which other collations allowed, we are allways unicode
switch($filter['attrs']['collation']) // todo: which other collations allowed, we are always unicode
{
case 'i;unicode-casemap':
default:
@ -547,9 +602,10 @@ class addressbook_groupdav extends Api\CalDAV\Handler
}
}
// multiget --> fetch the url's
$this->requested_multiget_ids = null;
if ($options['root']['name'] == 'addressbook-multiget')
{
$ids = array();
$this->requested_multiget_ids = [];
foreach($options['other'] as $option)
{
if ($option['name'] == 'href')
@ -557,12 +613,12 @@ class addressbook_groupdav extends Api\CalDAV\Handler
$parts = explode('/',$option['data']);
if (($id = urldecode(array_pop($parts))))
{
$ids[] = self::$path_extension ? basename($id,self::$path_extension) : $id;
$this->requested_multiget_ids[] = self::$path_extension ? basename($id,self::$path_extension) : $id;
}
}
}
if ($ids) $filters[self::$path_attr] = $ids;
if ($this->debug) error_log(__METHOD__."(...) addressbook-multiget: ids=".implode(',',$ids));
if ($this->requested_multiget_ids) $filters[self::$path_attr] = $this->requested_multiget_ids;
if ($this->debug) error_log(__METHOD__."(...) addressbook-multiget: ids=".implode(',', $this->requested_multiget_ids));
}
elseif ($id)
{
@ -588,11 +644,22 @@ class addressbook_groupdav extends Api\CalDAV\Handler
{
return $contact;
}
$handler = self::_get_handler();
$options['data'] = $contact['list_id'] ? $handler->getGroupVCard($contact) :
$handler->getVCard($contact['id'],$this->charset,false);
// e.g. Evolution does not understand 'text/vcard'
$options['mimetype'] = 'text/x-vcard; charset='.$this->charset;
// jsContact or vCard
if (($type=Api\CalDAV::isJSON()))
{
$options['data'] = $contact['list_id'] ? JsContact::getJsCardGroup($contact, $type) :
JsContact::getJsCard($contact, $type);
$options['mimetype'] = ($contact['list_id'] ? JsContact::MIME_TYPE_JSCARDGROUP :
JsContact::MIME_TYPE_JSCARD).';charset=utf-8';
}
else
{
$handler = self::_get_handler();
$options['data'] = $contact['list_id'] ? $handler->getGroupVCard($contact) :
$handler->getVCard($contact['id'], $this->charset, false);
// e.g. Evolution does not understand 'text/vcard'
$options['mimetype'] = 'text/x-vcard; charset=' . $this->charset;
}
header('Content-Encoding: identity');
header('ETag: "'.$this->get_etag($contact).'"');
return true;
@ -605,44 +672,90 @@ class addressbook_groupdav extends Api\CalDAV\Handler
* @param int $id
* @param int $user =null account_id of owner, default null
* @param string $prefix =null user prefix from path (eg. /ralf from /ralf/addressbook)
* @param string $method='PUT' also called for POST and PATCH
* @param string $content_type=null
* @return mixed boolean true on success, false on failure or string with http status (eg. '404 Not Found')
*/
function put(&$options,$id,$user=null,$prefix=null)
function put(&$options, $id, $user=null, $prefix=null, string $method='PUT', string $content_type=null)
{
if ($this->debug) error_log(__METHOD__.'('.array2string($options).",$id,$user)");
$oldContact = $this->_common_get_put_delete('PUT',$options,$id);
$oldContact = $this->_common_get_put_delete($method,$options,$id);
if (!is_null($oldContact) && !is_array($oldContact))
{
if ($this->debug) error_log(__METHOD__."(,'$id', $user, '$prefix') returning ".array2string($oldContact));
return $oldContact;
}
$handler = self::_get_handler();
// Fix for Apple Addressbook
$vCard = preg_replace('/item\d\.(ADR|TEL|EMAIL|URL)/', '\1',
htmlspecialchars_decode($options['content']));
$charset = null;
if (!empty($options['content_type']))
$type = null;
if (($is_json=Api\CalDAV::isJSON($type)))
{
$content_type = explode(';', $options['content_type']);
if (count($content_type) > 1)
if (strpos($type, JsContact::MIME_TYPE_JSCARD) === false && strpos($type, JsContact::MIME_TYPE_JSCARDGROUP) === false)
{
array_shift($content_type);
foreach ($content_type as $attribute)
if (!empty($id))
{
trim($attribute);
list($key, $value) = explode('=', $attribute);
switch (strtolower($key))
$type = strpos($id, self::JS_CARDGROUP_ID_PREFIX) === 0 ? JsContact::MIME_TYPE_JSCARDGROUP : JsContact::MIME_TYPE_JSCARD;
}
else
{
$json = json_decode($options['content'], true);
$type = is_array($json['members']) ? JsContact::MIME_TYPE_JSCARDGROUP : JsContact::MIME_TYPE_JSCARD;
}
}
$contact = $type === JsContact::MIME_TYPE_JSCARD ?
JsContact::parseJsCard($options['content'], $oldContact ?: [], $content_type, $method) :
JsContact::parseJsCardGroup($options['content']);
if (!empty($id) && strpos($id, self::JS_CARDGROUP_ID_PREFIX) === 0)
{
$id = substr($id, strlen(self::JS_CARDGROUP_ID_PREFIX));
}
elseif (empty($id))
{
$contact['cardav_name'] = $contact['uid'].'.vcf';
$contact['owner'] = $user;
}
/* uncomment to return parsed data for testing
header('Content-Type: application/json');
echo json_encode($contact, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
return "200 Ok";
*/
}
else
{
$handler = self::_get_handler();
// Fix for Apple Addressbook
$vCard = preg_replace('/item\d\.(ADR|TEL|EMAIL|URL)/', '\1',
htmlspecialchars_decode($options['content']));
$charset = null;
if (!empty($options['content_type']))
{
$content_type = explode(';', $options['content_type']);
if (count($content_type) > 1)
{
array_shift($content_type);
foreach ($content_type as $attribute)
{
case 'charset':
$charset = strtoupper(substr($value,1,-1));
trim($attribute);
list($key, $value) = explode('=', $attribute);
// check if value is enclosed in quotes
if (in_array($value[0], ['"', "'"], true) && $value[0] === substr($value, -1))
{
$value = substr($value,1,-1);
}
switch (strtolower($key))
{
case 'charset':
$charset = strtoupper($value);
break;
}
}
}
}
}
$contact = $handler->vcardtoegw($vCard, $charset);
$contact = $handler->vcardtoegw($vCard, $charset);
}
if (is_array($oldContact) || ($oldContact = $this->bo->read(array('contact_uid' => $contact['uid']))))
{
@ -655,7 +768,7 @@ class addressbook_groupdav extends Api\CalDAV\Handler
$contactId = -1;
$retval = '201 Created';
}
$is_group = $contact['##X-ADDRESSBOOKSERVER-KIND'] == 'group';
$is_group = isset($type) && $type === JsContact::MIME_TYPE_JSCARDGROUP || $contact['##X-ADDRESSBOOKSERVER-KIND'] === 'group';
if ($oldContact && $is_group !== isset($oldContact['list_id']))
{
throw new Api\Exception\AssertionFailed(__METHOD__."(,'$id',$user,'$prefix') can contact into group or visa-versa!");
@ -696,10 +809,10 @@ class addressbook_groupdav extends Api\CalDAV\Handler
}
else
{
$contact['carddav_name'] = $id;
$contact['carddav_name'] = (!empty($id) ? basename($id, '.vcf') : $contact['uid']).'.vcf';
// only set owner, if user is explicitly specified in URL (check via prefix, NOT for /addressbook/) or sync-all-in-one!)
if ($prefix && !in_array('O',$this->home_set_pref) && $user)
if ($prefix && ($is_json || !in_array('O',$this->home_set_pref)) && $user)
{
$contact['owner'] = $user;
}
@ -723,7 +836,8 @@ class addressbook_groupdav extends Api\CalDAV\Handler
}
if ($this->http_if_match) $contact['etag'] = self::etag2value($this->http_if_match);
$contact['photo_unchanged'] = false; // photo needs saving
// ignore photo for JSON/REST, it's not yet supported
$contact['photo_unchanged'] = $is_json; //false; // photo needs saving
if (!($save_ok = $is_group ? $this->save_group($contact, $oldContact) : $this->bo->save($contact)))
{
if ($this->debug) error_log(__METHOD__."(,$id) save(".array2string($contact).") failed, Ok=$save_ok");
@ -742,7 +856,7 @@ class addressbook_groupdav extends Api\CalDAV\Handler
{
if (($contact = $this->bo->read_list($save_ok)))
{
// re-read group to get correct etag (not dublicate etag code here)
// re-read group to get correct etag (not duplicate etag code here)
$contact = $this->read($contact['list_'.self::$path_attr], $options['path']);
}
}
@ -753,15 +867,18 @@ class addressbook_groupdav extends Api\CalDAV\Handler
//error_log(__METHOD__."(, $id, '$user') read(_list)($save_ok) returned ".array2string($contact));
}
// send evtl. necessary respose headers: Location, etag, ...
$this->put_response_headers($contact, $options['path'], $retval, self::$path_attr != 'id');
// send evtl. necessary response headers: Location, etag, ...
$this->put_response_headers($contact, $options['path'], $retval,
// JSON uses 'id', while CardDAV uses carddav_name !== 'id'
(self::$path_attr !== 'id') === !$is_json, null,
$is_group && $is_json ? self::JS_CARDGROUP_ID_PREFIX : '');
if ($this->debug > 1) error_log(__METHOD__."(,'$id', $user, '$prefix') returning ".array2string($retval));
return $retval;
}
/**
* Save distribition-list / group
* Save distribution-list / group
*
* @param array $contact
* @param array|false $oldContact
@ -780,18 +897,21 @@ class addressbook_groupdav extends Api\CalDAV\Handler
$contact['owner'], null, $data)))
{
// update members given in $contact['##X-ADDRESSBOOKSERVER-MEMBER']
$new_members = $contact['##X-ADDRESSBOOKSERVER-MEMBER'];
if ($new_members[1] == ':' && ($n = unserialize($new_members)))
$new_members = $contact['members'] ?: $contact['##X-ADDRESSBOOKSERVER-MEMBER'];
if (is_string($new_members) && $new_members[1] === ':' && ($n = unserialize($new_members)))
{
$new_members = $n['values'];
}
else
{
$new_members = array($new_members);
$new_members = (array)$new_members;
}
foreach($new_members as &$uid)
{
$uid = substr($uid,9); // cut off "urn:uuid:" prefix
if (substr($uid, 0, 9) === 'urn:uuid:')
{
$uid = substr($uid,9); // cut off "urn:uuid:" prefix
}
}
if ($oldContact)
{
@ -828,7 +948,7 @@ class addressbook_groupdav extends Api\CalDAV\Handler
// reread as update of list-members updates etag and modified
if (($contact = $this->bo->read_list($list_id)))
{
// re-read group to get correct etag (not dublicate etag code here)
// re-read group to get correct etag (not duplicate etag code here)
$contact = $this->read($contact['list_'.self::$path_attr]);
}
}
@ -1023,7 +1143,30 @@ class addressbook_groupdav extends Api\CalDAV\Handler
unset($tids[Api\Contacts::DELETED_TYPE]);
$non_deleted_tids = array_keys($tids);
}
$contact = $this->bo->read(array(self::$path_attr => $id, 'tid' => $non_deleted_tids));
$keys = ['tid' => $non_deleted_tids];
// with REST/JSON we only use our id, but DELETE request has neither Accept nor Content-Type header to detect JSON request
if (preg_match('/^('.self::JS_CARDGROUP_ID_PREFIX.')?(\d+)$/', $id, $matches))
{
if (!empty($matches[1]))
{
$keys = ['list_id' => $matches[2]];
}
else
{
$keys['id'] = $id;
}
}
// json with uid
elseif (empty(self::$path_extension) && self::$path_attr === 'id' && (string)$id !== (string)(int)$id)
{
$keys['uid'] = $id;
}
else
{
$keys[self::$path_attr] = $id;
}
$contact = isset($keys['list_id']) ? false: $this->bo->read($keys);
// if contact not found and accounts stored NOT like contacts, try reading it without path-extension as id
if (is_null($contact) && $this->bo->so_accounts && ($c = $this->bo->read($test=basename($id, '.vcf'))))
@ -1043,12 +1186,13 @@ class addressbook_groupdav extends Api\CalDAV\Handler
$limit_in_ab[] = $GLOBALS['egw_info']['user']['account_id'];
}
/* we are currently not syncing distribution-lists/groups to /addressbook/ as
* Apple clients use that only as directory gateway
elseif ($account_lid == 'addressbook') // /addressbook/ contains all readably contacts
* Apple clients use that only as directory gateway*/
elseif (Api\CalDAV::isJSON() && $account_lid == 'addressbook') // /addressbook/ contains all readably contacts
{
$limit_in_ab = array_keys($this->bo->grants);
}*/
if (!$contact && ($contact = $this->bo->read_lists(array('list_'.self::$path_attr => $id),'contact_uid',$limit_in_ab)))
}
if (!$contact && ($contact = $this->bo->read_lists(isset($keys['list_id']) ? $keys :
['list_'.self::$path_attr => $id],'contact_uid',$limit_in_ab)))
{
$contact = array_shift($contact);
$contact['n_fn'] = $contact['n_family'] = $contact['list_name'];
@ -1221,4 +1365,4 @@ class addressbook_groupdav extends Api\CalDAV\Handler
);
return $settings;
}
}
}

View File

@ -291,31 +291,8 @@ class addressbook_hooks
if ($GLOBALS['egw_info']['user']['apps']['filemanager'])
{
$settings['default_document'] = array(
'type' => 'vfs_file',
'size' => 60,
'label' => 'Default document to insert contacts',
'name' => 'default_document',
'help' => lang('If you specify a document (full vfs path) here, %1 displays an extra document icon for each entry. That icon allows to download the specified document with the data inserted.', lang('addressbook')).' '.
lang('The document can contain placeholder like {{%1}}, to be replaced with the data.','n_fn').' '.
lang('The following document-types are supported:'). implode(',',Api\Storage\Merge::get_file_extensions()),
'run_lang' => false,
'xmlrpc' => True,
'admin' => False,
);
$settings['document_dir'] = array(
'type' => 'vfs_dirs',
'size' => 60,
'label' => 'Directory with documents to insert contacts',
'name' => 'document_dir',
'help' => lang('If you specify a directory (full vfs path) here, %1 displays an action for each document. That action allows to download the specified document with the data inserted.',lang('addressbook')).' '.
lang('The document can contain placeholder like {{%1}}, to be replaced with the data.','n_fn').' '.
lang('The following document-types are supported:'). implode(',',Api\Storage\Merge::get_file_extensions()),
'run_lang' => false,
'xmlrpc' => True,
'admin' => False,
'default' => '/templates/addressbook',
);
$merge = new Api\Contacts\Merge();
$settings += $merge->merge_preferences();
}
if ($GLOBALS['egw_info']['user']['apps']['felamimail'] || $GLOBALS['egw_info']['user']['apps']['mail'])
@ -382,7 +359,7 @@ class addressbook_hooks
'file_access_user' => true, // file_access supports 4th parameter $user
'file_access'=> 'api.EGroupware\\Api\\Contacts.file_access',
'default_types' => array('n' => array('name' => 'contact', 'options' => array('icon' => 'navbar.png','template' => 'addressbook.edit'))),
// registers an addtional type 'addressbook-email', returning only contacts with email, title has email appended
// registers an additional type 'addressbook-email', returning only contacts with email, title has email appended
'additional' => array(
'addressbook-email' => array(
'query' => 'api.EGroupware\\Api\\Contacts.link_query_email',
@ -442,11 +419,11 @@ class addressbook_hooks
{
unset($location); // not used, but required by function signature
return $GLOBALS['egw_info']['server']['contact_export_limit'];
return $GLOBALS['egw_info']['server']['contact_export_limit'] ?? null;
}
/**
* Register contacts as calendar resources (items which can be sheduled by the calendar)
* Register contacts as calendar resources (items which can be scheduled by the calendar)
*
* @param array $args hook-params (not used)
* @return array
@ -456,7 +433,7 @@ class addressbook_hooks
unset($args); // not used, but required by function signature
return array(
'type' => 'c',// one char type-identifiy for this resources
'type' => 'c',// one char type-identifier for this resource
'info' => 'api.EGroupware\\Api\\Contacts.calendar_info',// info method, returns array with id, type & name for a given id
);
}
@ -656,4 +633,4 @@ class addressbook_hooks
]
];
}
}
}

View File

@ -103,7 +103,7 @@ class addressbook_import_contacts_csv extends importexport_basic_import_csv {
if(!in_array($contact_owner, array_keys($this->bocontacts->get_addressbooks(Api\Acl::ADD))))
{
$this->warnings[0] = lang("Unable to import into %1, using %2",
$contact_owner . ' ('.Api\Accounts::username($contact_owner) . ')',
$contact_owner . ' (' . (is_numeric($contact_owner) ? Api\Accounts::username($contact_owner) : $contact_owner) . ')',
Api\Accounts::username($this->user)
);
$contact_owner = 'personal';
@ -446,7 +446,20 @@ class addressbook_import_contacts_csv extends importexport_basic_import_csv {
*/
public function get_options_etpl(importexport_definition &$definition=null)
{
// lets do it!
$contacts = new EGroupware\Api\Contacts();
$options = array(
'name' => 'addressbook.import_csv',
'content' => array(
'owner_from_csv' => $definition->plugin_options['owner_from_csv'],
'owner' => $definition->plugin_options['contact_owner'] == 'personal' ?
$GLOBALS['egw_info']['user']['account_id'] :
$definition->plugin_options['contact_owner']
),
'sel_options' => array(
'owner' => $contacts->get_addressbooks(Api\Acl::ADD)
)
);
return $options;
}
/**

View File

@ -91,20 +91,20 @@ class addressbook_import_vcard implements importexport_iface_import_plugin {
$this->definition = $_definition;
// user, is admin ?
$this->is_admin = isset( $GLOBALS['egw_info']['user']['apps']['admin'] ) && $GLOBALS['egw_info']['user']['apps']['admin'];
$this->is_admin = isset($GLOBALS['egw_info']['user']['apps']['admin']) && $GLOBALS['egw_info']['user']['apps']['admin'];
$this->user = $GLOBALS['egw_info']['user']['account_id'];
// set contact owner
$contact_owner = isset( $_definition->plugin_options['contact_owner'] ) ?
$_definition->plugin_options['contact_owner'] : $this->user;
// Import into importer's personal addressbook
if($contact_owner == 'personal')
{
$contact_owner = $this->user;
}
// set contact owner
$contact_owner = isset($_definition->plugin_options['contact_owner']) ?
$_definition->plugin_options['contact_owner'] : $this->user;
// Import into importer's personal addressbook
if($contact_owner == 'personal')
{
$contact_owner = $this->user;
}
// dry run?
$this->dry_run = isset( $_definition->plugin_options['dry_run'] ) ? $_definition->plugin_options['dry_run'] : false;
$this->dry_run = isset($_definition->plugin_options['dry_run']) ? $_definition->plugin_options['dry_run'] : false;
// Needed for categories to work right
$GLOBALS['egw_info']['flags']['currentapp'] = 'addressbook';
@ -352,16 +352,21 @@ class addressbook_import_vcard implements importexport_iface_import_plugin {
*/
public function get_options_etpl(importexport_definition &$definition=null)
{
$contacts = new EGroupware\Api\Contacts();
$charset = $definition->plugin_options['charset'];
if($charset == 'user') $charset = $GLOBALS['egw_info']['user']['preferences']['addressbook']['vcard_charset'];
return array(
'name' => 'addressbook.import_vcard',
'content' => array(
'file_type' => 'vcard,ical,vcf',
'charset' => $charset
'file_type' => 'vcard,ical,vcf',
'charset' => $charset,
'contact_owner' => $definition->plugin_options['contact_owner'] == 'personal' ?
$GLOBALS['egw_info']['user']['account_id'] :
$definition->plugin_options['contact_owner']
),
'sel_options' => array(
'charset' => Api\Translation::get_installed_charsets()
'charset' => Api\Translation::get_installed_charsets(),
'contact_owner' => $contacts->get_addressbooks(Api\Acl::ADD)
),
'preserv' => array()
);

View File

@ -183,12 +183,12 @@ class addressbook_ui extends addressbook_bo
$msg = '';
}
}
if ($_content['nm']['rows']['infolog'])
if (!empty($_content['nm']['rows']['infolog']))
{
$org = key($_content['nm']['rows']['infolog']);
return $this->infolog_org_view($org);
}
if ($_content['nm']['rows']['view']) // show all contacts of an organisation
if (!empty($_content['nm']['rows']['view'])) // show all contacts of an organisation
{
$grouped_view = key($_content['nm']['rows']['view']);
}
@ -291,7 +291,7 @@ class addressbook_ui extends addressbook_bo
}
// Organisation stuff is not (yet) availible with ldap
if($GLOBALS['egw_info']['server']['contact_repository'] != 'ldap')
if($GLOBALS['egw_info']['server']['contact_repository'] != 'ldap' && Api\Header\UserAgent::mobile() == '')
{
$content['nm']['header_left'] = 'addressbook.index.left';
}
@ -301,7 +301,6 @@ class addressbook_ui extends addressbook_bo
'cc' => 'Cc',
'bcc' => 'Bcc',
);
$sel_options['adr_one_countrycode']['-custom-'] = lang('No country selected');
// if there is any export limit set, pass it on to the nextmatch, to be evaluated by the export
if (isset($this->config['contact_export_limit']) && (int)$this->config['contact_export_limit']) $content['nm']['export_limit']=$this->config['contact_export_limit'];
@ -435,7 +434,7 @@ class addressbook_ui extends addressbook_bo
{
$actions['view']['children']["view-$app"] = array(
'caption' => $app,
'icon' => "$app/navbar"
'icon' => $app == 'infolog-organisation' ? "infolog/navbar" : "$app/navbar"
);
}
}
@ -793,7 +792,7 @@ class addressbook_ui extends addressbook_bo
}
if ($GLOBALS['egw_info']['user']['apps']['kanban'])
{
$actions['kanban'] = EGroupware\Kanban\Hooks::get_actions('addressbook', $group);
$actions['kanban'] = EGroupware\Kanban\Hooks::get_actions(['addressbook'], $group);
}
$actions['geolocation'] = array(
@ -1736,9 +1735,13 @@ class addressbook_ui extends addressbook_bo
if (isset($this->grouped_views[(string) $query['grouped_view']]))
{
// we have a grouped view, reset the advanced search
if(!$query['search'] && $old_state['advanced_search']) $query['advanced_search'] = $old_state['advanced_search'];
if (empty($query['search']) && !empty($old_state['advanced_search']))
{
$query['advanced_search'] = $old_state['advanced_search'];
}
}
elseif(!$query['search'] && array_key_exists('advanced_search',$old_state)) // eg. paging in an advanced search
// eg. paging in an advanced search
elseif(empty($query['search']) && is_array($old_state) && array_key_exists('advanced_search', $old_state))
{
$query['advanced_search'] = $old_state['advanced_search'];
}
@ -1851,7 +1854,10 @@ class addressbook_ui extends addressbook_bo
if ($query['grouped_view']) // view the contacts of one organisation only
{
if (strpos($query['grouped_view'],'*AND*') !== false) $query['grouped_view'] = str_replace('*AND*','&',$query['grouped_view']);
$fields = explode(',',$GLOBALS['egw_info']['user']['preferences']['addressbook']['duplicate_fields']);
if (!is_array($fields = $GLOBALS['egw_info']['user']['preferences']['addressbook']['duplicate_fields'] ?? []))
{
$fields = explode(',', $fields);
}
foreach(explode('|||',$query['grouped_view']) as $part)
{
list($name,$value) = explode(':',$part,2);
@ -2040,7 +2046,7 @@ class addressbook_ui extends addressbook_bo
{
$row[$name] .= ' '.($row['tel_prefer'] == $name ? $prefer_marker : ''); // .' ' to NOT remove the field
}
// allways show the prefered phone, if not already shown
// always show the prefered phone, if not already shown
if (!in_array($row['tel_prefer'],$tel2show) && $row[$row['tel_prefer']])
{
$row['tel_prefered'] = $row[$row['tel_prefer']].$prefer_marker;
@ -2064,6 +2070,12 @@ class addressbook_ui extends addressbook_bo
}
$row['class'] .= 'contact_contact ';
if (!self::hasPhoto($row))
{
$row['lname'] = $row['n_family'];
$row['fname'] = $row['n_given'];
unset($row['photo']); // no need to send, as there is no photo
}
unset($row['jpegphoto']); // unused and messes up json encoding (not utf-8)
if (isset($customfields[$row['id']]))
@ -2256,7 +2268,7 @@ class addressbook_ui extends addressbook_bo
// remove invalid shared-with entries (should not happen, as we validate already on client-side)
$this->check_shared_with($content['shared']);
$button = @key($content['button']);
$button = @key($content['button'] ?? []);
unset($content['button']);
$content['private'] = (int) ($content['owner'] && substr($content['owner'],-1) == 'p');
$content['owner'] = (string) (int) $content['owner'];
@ -2296,9 +2308,20 @@ class addressbook_ui extends addressbook_bo
// Country codes
foreach(array('adr_one', 'adr_two') as $c_prefix)
{
if ($content[$c_prefix.'_countrycode'] == '-custom-')
// we store region-name not code
if (!empty($content[$c_prefix.'_region']))
{
$content[$c_prefix.'_countrycode'] = null;
$states = Api\Country::get_states($content[$c_prefix.'_countrycode']);
if ($states && isset($states[$content[$c_prefix.'_region']]))
{
$content[$c_prefix.'_region'] = $states[$content[$c_prefix.'_region']];
}
}
// handling custom country-name
if (!Api\Country::get_full_name($content[$c_prefix.'_countrycode']))
{
$content[$c_prefix.'_countryname'] = $content[$c_prefix.'_countrycode'];
unset($content[$c_prefix.'_countrycode']);
}
}
$content['msg'] = '';
@ -2591,17 +2614,21 @@ class addressbook_ui extends addressbook_bo
}
// set $content[shared_options/_values] from $content[shared]
$content['shared_options'] = [];
$content['shared_values'] = [];
foreach((array)$content['shared'] as $shared)
{
$content['shared_options'][$shared['shared_id'].':'.$shared['shared_with'].':'.$shared['shared_by'].':'.$shared['shared_writable']] = [
$shared_value = $shared['shared_id'] . ':' . $shared['shared_with'] . ':' . $shared['shared_by'] . ':' . $shared['shared_writable'];
$content['shared_values'][] = $shared_value;
$sel_options['shared_values'][] = [
'value' => $shared_value,
'label' => Api\Accounts::username($shared['shared_with']),
'title' => lang('%1 shared this contact on %2 with %3 %4',
Api\Accounts::username($shared['shared_by']), Api\DateTime::to($shared['shared_at']),
Api\Accounts::username($shared['shared_with']), $shared['shared_writable'] ? lang('writable') : lang('readonly')),
'icon' => $shared['shared_writable'] ? 'edit' : 'view',
Api\Accounts::username($shared['shared_by']), Api\DateTime::to($shared['shared_at']),
Api\Accounts::username($shared['shared_with']), $shared['shared_writable'] ? lang('writable') : lang('readonly')
),
'icon' => $shared['shared_writable'] ? 'edit' : 'view',
];
}
$content['shared_values'] = array_keys($content['shared_options']);
// disable shared with UI for non-SQL backends
$content['shared_disabled'] = !is_a($this->get_backend($content['id'], $content['owner']), Api\Contacts\Sql::class);
@ -2632,6 +2659,25 @@ class addressbook_ui extends addressbook_bo
$content['addr_format'] = $this->addr_format_by_country($content['adr_one_countryname']);
$content['addr_format2'] = $this->addr_format_by_country($content['adr_two_countryname']);
// Country codes
foreach(array('adr_one', 'adr_two') as $c_prefix)
{
// handling custom country-name
if (empty($content[$c_prefix.'_countrycode']) && !empty($content[$c_prefix.'_countryname']))
{
$content[$c_prefix.'_countrycode'] = $content[$c_prefix.'_countryname'];
}
// translate from our stored state-/region-name to the code
if (!empty($content[$c_prefix.'_region']) && !empty($content[$c_prefix.'_countrycode']))
{
$states = Api\Country::get_states($content[$c_prefix.'_countrycode']);
if ($states && ($key = array_search($content[$c_prefix.'_region'], $states)))
{
$content[$c_prefix.'_region'] = $key;
}
}
}
//_debug_array($content);
$readonlys['button[delete]'] = !$content['owner'] || !$this->check_perms(Acl::DELETE,$content);
$readonlys['button[copy]'] = $readonlys['button[edit]'] = $readonlys['button[vcard]'] = true;
@ -2643,7 +2689,6 @@ class addressbook_ui extends addressbook_bo
}
$sel_options['fileas_type'] = $this->fileas_options($content);
$sel_options['adr_one_countrycode']['-custom-'] = lang('Custom');
$sel_options['owner'] = $this->get_addressbooks(Acl::ADD);
if ($content['owner']) unset($sel_options['owner'][0]); // do not offer to switch to accounts, as we do not support moving contacts to accounts
if ((string) $content['owner'] !== '')
@ -2689,14 +2734,20 @@ class addressbook_ui extends addressbook_bo
if (isset($readonlys['n_fileas'])) $readonlys['fileas_type'] = $readonlys['n_fileas'];
// disable not needed tabs
$readonlys['tabs']['cats'] = !($content['cat_tab'] = $this->config['cat_tab']);
$readonlys['tabs']['custom'] = !$this->customfields || $this->get_backend($content['id'],$content['owner']) == $this->so_accounts;
$readonlys['tabs']['custom'] = !$this->customfields ||
// only show custom fields tab for LDAP, if we have LDAP CF's defined and an existing contact (as no schema defined)
$this->get_backend($content['id'],$content['owner']) == $this->so_accounts &&
(empty($content['id']) || !array_filter($this->customfields, static function($cf)
{
return substr($cf['name'], 0, 5) === 'ldap_';
}));
$readonlys['tabs']['custom_private'] = $readonlys['tabs']['custom'] || !$this->config['private_cf_tab'];
$readonlys['tabs']['distribution_list'] = !$content['distrib_lists'];#false;
$readonlys['tabs']['history'] = $this->contact_repository != 'sql' || !$content['id'] ||
$this->account_repository != 'sql' && $content['account_id'];
if (!$content['id']) $readonlys['button[delete]'] = !$content['id'];
if ($this->config['private_cf_tab']) $content['no_private_cfs'] = 0;
$readonlys['change_org'] = empty($content['org_name']) || $view;
$content['hide_change_org'] = $readonlys['change_org'] = empty($content['org_name']) || $view;
// for editing the own account (by a non-admin), enable only the fields allowed via the "own_account_acl"
if (!$content['owner'] && !$this->check_perms(Acl::EDIT, $content))
@ -2756,7 +2807,7 @@ class addressbook_ui extends addressbook_bo
$preserve['old_owner'] = $content['owner'];
unset($preserve['jpegphoto'], $content['jpegphoto']); // unused and messes up json encoding (not utf-8)
$this->tmpl->setElementAttribute('tabs', 'add_tabs', true);
$tabs =& $this->tmpl->getElementAttribute('tabs', 'tabs');
$tabs =& $this->tmpl->getElementAttribute('tabs', 'extraTabs');
if (($first_call = !isset($tabs)))
{
$tabs = array();
@ -2768,7 +2819,7 @@ class addressbook_ui extends addressbook_bo
{
if (!$extra_tabs) continue;
foreach(isset($extra_tabs[0]) ? $extra_tabs : array($extra_tabs) as $extra_tab)
foreach(count(array_filter(array_keys($extra_tabs), 'is_int')) ? $extra_tabs : array($extra_tabs) as $extra_tab)
{
if ($extra_tab['data'] && is_array($extra_tab['data']))
{
@ -2907,11 +2958,17 @@ class addressbook_ui extends addressbook_bo
*/
public function ajax_check_values($values, $name, $own_id=0)
{
$fields = explode(',',$GLOBALS['egw_info']['user']['preferences']['addressbook']['duplicate_fields']);
if (!is_array($fields = $GLOBALS['egw_info']['user']['preferences']['addressbook']['duplicate_fields'] ?? []))
{
$fields = explode(',', $fields);
}
$threshold = (int)$GLOBALS['egw_info']['user']['preferences']['addressbook']['duplicate_threshold'];
$ret = array('doublicates' => array(), 'msg' => null);
// set not returned n_fileas value, to keep custom fileas value
$values['n_fileas'] = $this->fileas($values, $values['fileas_type']);
// if email changed, check for doublicates
if (in_array($name, array('email', 'email_home')) && in_array('contact_'.$name, $fields))
{
@ -2984,7 +3041,7 @@ class addressbook_ui extends addressbook_bo
if(is_array($content))
{
$button = is_array($content['button']) ? key($content['button']) : "";
$button = key($content['button'] ?? []);
switch ($button)
{
case 'vcard':
@ -3067,7 +3124,7 @@ class addressbook_ui extends addressbook_bo
$_GET['contact_id'] = array_shift($rows);
$_GET['index'] = 0;
}
$contact_id = $_GET['contact_id'] ? $_GET['contact_id'] : ((int)$_GET['account_id'] ? 'account:'.(int)$_GET['account_id'] : 0);
$contact_id = $_GET['contact_id'] ?? ((int)$_GET['account_id'] ? 'account:'.(int)$_GET['account_id'] : 0);
if(!$contact_id || !is_array($content = $this->read($contact_id)))
{
Egw::redirect_link('/index.php',array(
@ -3156,7 +3213,7 @@ class addressbook_ui extends addressbook_bo
{
$content['owner'] .= 'p';
}
$this->tmpl->set_cell_attribute('change_org','disabled',true);
$content['hide_change_org'] = true;
// Prevent double countries - invalid code blanks it, disabling doesn't work
$content['adr_one_countrycode'] = '-';
@ -3318,10 +3375,20 @@ class addressbook_ui extends addressbook_bo
}
else
{
$query['advanced_search'] = array_intersect_key($_content,array_flip(array_merge($this->get_contact_columns(),array('operator','meth_select'))));
foreach ($query['advanced_search'] as $key => $value)
if($this->config['private_cf_tab'])
{
if(!$value) unset($query['advanced_search'][$key]);
$_content = array_merge($_content, $_content['private_cfs']);
}
$query['advanced_search'] = array_intersect_key(
$_content,
array_flip(array_merge($this->get_contact_columns(), array('operator', 'meth_select')))
);
foreach($query['advanced_search'] as $key => $value)
{
if(!$value)
{
unset($query['advanced_search'][$key]);
}
}
// Skip n_fn, it causes problems in sql
unset($query['advanced_search']['n_fn']);
@ -3376,13 +3443,28 @@ class addressbook_ui extends addressbook_bo
{
foreach($this->customfields as $name => $data)
{
if (substr($data['type'], 0, 6) == 'select' && !($data['rows'] > 1))
if(substr($data['type'], 0, 6) == 'select' && !($data['rows'] > 1))
{
if (!isset($content['#'.$name])) $content['#'.$name] = '';
if(!isset($data['values'][''])) $sel_options['#'.$name][''] = lang('Select one');
if(!isset($content['#' . $name]))
{
$content['#' . $name] = '';
}
if(!isset($data['values']['']))
{
$sel_options['#' . $name][''] = lang('Select one');
}
}
// Make them not required, otherwise you can't search
$this->tmpl->setElementAttribute('#'.$name, 'needed', FALSE);
$this->tmpl->setElementAttribute('#' . $name, 'required', FALSE);
if($this->config['private_cf_tab'] == 'True' && $data['private'])
{
if(isset($content['#' . $name]))
{
$content['private_cfs']['#' . $name] = $content['#' . $name];
}
// Private CF tab results in a different ID, turn required off there too
$this->tmpl->setElementAttribute('private_cfs[#' . $name . ']', 'required', FALSE);
}
}
}
// configure edit template as search dialog
@ -3400,12 +3482,12 @@ class addressbook_ui extends addressbook_bo
$readonlys['tabs']['history'] = true;
// setting hidebuttons for content will hide the 'normal' addressbook edit dialog buttons
$content['hidebuttons'] = true;
$content['hide_change_org'] = true;
$content['no_tid'] = true;
$content['showsearchbuttons'] = true; // enable search operation and search buttons| they're disabled by default
if ($this->config['private_cf_tab']) $content['no_private_cfs'] = 0;
$this->tmpl->set_cell_attribute('change_org','disabled',true);
return $this->tmpl->exec('addressbook.addressbook_ui.extSearch',$content,$sel_options,$readonlys,array(),2);
}
@ -3585,4 +3667,4 @@ class addressbook_ui extends addressbook_bo
// those options instead of the select-account options.
$sel_options['history']['owner'] = ['ignore' => 'me'];
}
}
}

View File

@ -971,11 +971,12 @@ class addressbook_vcal extends addressbook_bo
{
if (!empty($fieldName))
{
$value = trim($vcardValues[$vcardKey]['values'][$fieldKey]);
$value = $vcardValues[$vcardKey]['values'][$fieldKey];
if (is_string($value)) $value = trim($value);
if ($pref_tel && (($vcardKey == $pref_tel) ||
($vcardValues[$vcardKey]['name'] == 'TEL') &&
($vcardValues[$vcardKey]['value'] == $vcardValues[$pref_tel]['value'])))
($vcardValues[$vcardKey]['name'] == 'TEL') &&
($vcardValues[$vcardKey]['value'] == $vcardValues[$pref_tel]['value'])))
{
$contact['tel_prefer'] = $fieldName;
}

View File

@ -90,7 +90,7 @@ class addressbook_wizard_export_contacts_csv extends importexport_wizard_basic_e
unset ($preserv['button']);
$field_list = $this->get_field_list($content);
$settings = $content['explode_multiselects'] ? $content['explode_multiselects'] : $content['plugin_options']['explode_multiselects'];
$settings = $content['explode_multiselects'] ?: $content['plugin_options']['explode_multiselects'] ?: [];
// Skip this step if no fields applicable
if(count($field_list) == 0) {
@ -149,4 +149,4 @@ class addressbook_wizard_export_contacts_csv extends importexport_wizard_basic_e
}
return $field_list;
}
}
}

View File

@ -108,13 +108,13 @@ class addressbook_wizard_import_contacts_csv extends importexport_wizard_basic_i
{
$content['msg'] = $this->steps['wizard_step60'];
$content['step'] = 'wizard_step60';
if(!array_key_exists($content['contact_owner']) && $content['plugin_options']) {
if(!array_key_exists('contact_owner', $content) && $content['plugin_options']) {
$content['contact_owner'] = $content['plugin_options']['contact_owner'];
}
if(!array_key_exists($content['owner_from_csv']) && $content['plugin_options']) {
if(!array_key_exists('owner_from_csv', $content) && $content['plugin_options']) {
$content['owner_from_csv'] = $content['plugin_options']['owner_from_csv'];
}
if(!array_key_exists($content['change_owner']) && $content['plugin_options']) {
if(!array_key_exists('change_owner', $content) && $content['plugin_options']) {
$content['change_owner'] = $content['plugin_options']['change_owner'];
}

View File

@ -95,10 +95,10 @@ class addressbook_wizard_import_vcard extends addressbook_import_vcard
{
$content['title'] = $this->steps['wizard_step60'];
$content['step'] = 'wizard_step60';
if(!array_key_exists($content['contact_owner']) && $content['plugin_options']) {
if (!array_key_exists('contact_owner', $content) && $content['plugin_options']) {
$content['contact_owner'] = $content['plugin_options']['contact_owner'];
}
if(!array_key_exists($content['change_owner']) && $content['plugin_options']) {
if(!array_key_exists('change_owner', $content) && $content['plugin_options']) {
$content['change_owner'] = $content['plugin_options']['change_owner'];
}
@ -107,7 +107,7 @@ class addressbook_wizard_import_vcard extends addressbook_import_vcard
foreach(array('override_values') as $field)
{
if(!$content[$field] && array_key_exists($field, $content['plugin_options']))
if(!$content[$field] && is_array($content['plugin_options']) && array_key_exists($field, $content['plugin_options']))
{
$content[$field] = $content['plugin_options'][$field];
}
@ -117,4 +117,4 @@ class addressbook_wizard_import_vcard extends addressbook_import_vcard
return 'addressbook.importexport_wizard_vcard_chooseowner';
}
}
}
}

View File

@ -129,7 +129,7 @@ class addressbook_zpush implements activesync_plugin_write, activesync_plugin_se
if (!isset($abs) || !$return_all_in_one)
{
if ($return_all_in_one && $GLOBALS['egw_info']['user']['preferences']['activesync']['addressbook-all-in-one'])
if ($return_all_in_one && ($GLOBALS['egw_info']['user']['preferences']['activesync']['addressbook-all-in-one'] ?? null))
{
$abs = array(
$GLOBALS['egw_info']['user']['account_id'] => lang('All'),
@ -141,7 +141,7 @@ class addressbook_zpush implements activesync_plugin_write, activesync_plugin_se
if (!isset($this->addressbook)) $this->addressbook = new Api\Contacts();
$pref_abs = $GLOBALS['egw_info']['user']['preferences']['activesync']['addressbook-abs'];
$pref_abs = $GLOBALS['egw_info']['user']['preferences']['activesync']['addressbook-abs'] ?? [];
if (!is_array($pref_abs))
{
$pref_abs = $pref_abs ? explode(',',$pref_abs) : [];
@ -557,7 +557,7 @@ class addressbook_zpush implements activesync_plugin_write, activesync_plugin_se
case 'cat_id':
// for existing entries in all-in-one addressbook, remove addressbook name as category
if ($contact && $GLOBALS['egw_info']['user']['preferences']['activesync']['addressbook-all-in-one'] &&
if ($contact && $GLOBALS['egw_info']['user']['preferences']['activesync']['addressbook-all-in-one'] && is_array($message->$key) &&
($k=array_search($this->get_addressbooks($contact['owner'].($contact['private']?'p':''), false, true),$message->$key)))
{
unset($message->categories[$k]);
@ -917,4 +917,4 @@ class addressbook_zpush implements activesync_plugin_write, activesync_plugin_se
);
return $settings;
}
}
}

View File

@ -15,11 +15,14 @@
import {EgwApp, PushData} from '../../api/js/jsapi/egw_app';
import {etemplate2} from "../../api/js/etemplate/etemplate2";
import {et2_dialog} from "../../api/js/etemplate/et2_widget_dialog";
import {Et2Dialog} from "../../api/js/etemplate/Et2Dialog/Et2Dialog";
import {et2_selectbox} from "../../api/js/etemplate/et2_widget_selectbox";
import {nm_action, fetchAll} from "../../api/js/etemplate/et2_extension_nextmatch_actions";
import {fetchAll, nm_action, nm_compare_field} from "../../api/js/etemplate/et2_extension_nextmatch_actions";
import "./CRM";
import {egw} from "../../api/js/jsapi/egw_global";
import {LitElement} from "@lion/core";
import {Et2SelectState} from "../../api/js/etemplate/Et2Select/Et2Select";
import {Et2SelectCountry} from "../../api/js/etemplate/Et2Select/Et2SelectCountry";
/**
* Object to call app.addressbook.openCRMview with
@ -76,10 +79,16 @@ class AddressbookApp extends EgwApp
// r49769 let's CRM view run under currentapp == "addressbook", which causes
// app.addressbook.et2_ready called before app.infolog.et2_ready and therefore
// app.addressbook.et2 would point to infolog template, if we not stop here
if (name.match(/^infolog|tracker\./)) return;
if(name.match(/^infolog|tracker\./))
{
return;
}
// call parent
super.et2_ready(et2, name);
else
{
super.et2_ready(et2, name);
}
switch (name)
{
@ -87,10 +96,7 @@ class AddressbookApp extends EgwApp
var content = this.et2.getArrayMgr('content').data;
if (typeof content.showsearchbuttons == 'undefined' || !content.showsearchbuttons)
{
this.show_custom_country(jQuery('select[id*="adr_one_countrycode"]').get(0));
this.show_custom_country(jQuery('select[id*="adr_two_countrycode"]').get(0));
// Instanciate infolog JS too - wrong app, so it won't be done automatically
// Instantiate infolog JS too - wrong app, so it won't be done automatically
if(typeof window.app.infolog != 'object' && typeof window.app.classes['infolog'] == 'function')
{
window.app.infolog = new window.app.classes.infolog();
@ -106,13 +112,6 @@ class AddressbookApp extends EgwApp
}
break;
}
jQuery('select[id*="adr_one_countrycode"]').each(function() {
if (app.addressbook) app.addressbook.show_custom_country(this);
});
jQuery('select[id*="adr_two_countrycode"]').each(function() {
if (app.addressbook) app.addressbook.show_custom_country(this);
});
}
/**
@ -264,7 +263,7 @@ class AddressbookApp extends EgwApp
value[widget.id] = widget.getValue();
if(promise)
{
jQuery.when.apply(null, promise).done(function ()
promise.then(() =>
{
nm.applyFilters(value);
});
@ -286,13 +285,18 @@ class AddressbookApp extends EgwApp
};
let data = egw.dataGetUIDdata(_senders[0].id)['data'];
// CRM list
if (_action.id != 'view')
if(_action.id != 'view')
{
extras.crm_list = _action.id.replace('view-','');
extras.crm_list = _action.id.replace('view-', '');
}
if (!extras.crm_list) extras.crm_list = <string>egw.preference('crm_list', 'addressbook');
extras.title = (_action.id.match(/\-organisation/) && data.org_name != "") ? data.org_name
: data.n_fn+" ("+egw.lang(extras.crm_list)+")";
if(!extras.crm_list)
{
extras.crm_list = <string>egw.preference('crm_list', 'addressbook');
}
const title_app = extras.crm_list == "tracker" ? " (" + egw.lang(extras.crm_list) + ")" : "";
extras.title = ((_action.id.match(/\-organisation/) || extras.crm_list.endsWith("-organisation")) && data.org_name != "")
? data.org_name
: data.n_fn + title_app;
extras.icon = data.photo;
return this.openCRMview(extras);
}
@ -326,25 +330,21 @@ class AddressbookApp extends EgwApp
{
return this.egw.open_link(url);
}
let open = function(_title)
const title = _params.title ? Promise.resolve(_params.title) : this.egw.link_title('addressbook', contact_id, true);
title.then(_title =>
{
let title = _title || this.egw.link_title('addressbook', contact_id, open);
if (title)
{
this.egw.window.framework.tabLinkHandler(url, {
displayName: title,
icon: _params.icon || this.egw.link('/api/avatar.php', {
contact_id: contact_id,
etag: (new Date).valueOf()/86400|0 // cache for a day, better then no invalidation
}),
refreshCallback: function() {
etemplate2.getById("addressbook-view-"+this.appName)?.app_obj.addressbook.view_set_list();
},
id: contact_id + '-'+crm_list
});
}
}.bind(this);
open(_params.title);
this.egw.window.framework.tabLinkHandler(url, {
displayName: _title,
icon: _params.icon || this.egw.link('/api/avatar.php', {
contact_id: contact_id,
etag: (new Date).valueOf()/86400|0 // cache for a day, better then no invalidation
}),
refreshCallback: function() {
etemplate2.getById("addressbook-view-"+this.appName)?.app_obj.addressbook.view_set_list();
},
id: contact_id + '-'+crm_list
});
});
}
}
@ -374,8 +374,7 @@ class AddressbookApp extends EgwApp
view_actions(_action, _widget)
{
var app_id = _widget.dom_id.split('_');
var et2 = etemplate2.getById(app_id[0]);
var et2 = _widget.getInstanceManager();
var id = et2.widgetContainer.getArrayMgr('content').data.id;
switch(_widget.id)
@ -387,7 +386,7 @@ class AddressbookApp extends EgwApp
this.egw.open(id, 'addressbook', 'edit', { makecp: 1});
break;
case 'button[delete]':
et2_dialog.confirm(_widget, egw.lang('Delete this contact?'), egw.lang('Delete'));
Et2Dialog.confirm(_widget, egw.lang('Delete this contact?'), egw.lang('Delete'));
break;
case 'button[close]':
framework.activeApp.tab.closeButton.click();
@ -658,34 +657,35 @@ class AddressbookApp extends EgwApp
{
var confirmdialog = function(_title, _value, _buttons, _egw_or_appname?)
{
return et2_createWidget("dialog",
{
callback(_buttons, _value)
let dialog = new Et2Dialog(_egw_or_appname);
dialog.transformAttributes({
callback: function(_buttons, _value)
{
if (_buttons == et2_dialog.OK_BUTTON)
if(_buttons == Et2Dialog.OK_BUTTON)
{
var id = '';
var content = this.template.widgetContainer.getArrayMgr('content').data;
for (var row in _value.grid)
//var content = this.template.widgetContainer.getArrayMgr('content').data;
for(var row in _value.grid)
{
if (_value.grid[row].confirm == "true" && typeof content.grid !='undefined')
if(_value.grid[row].confirm == "true" && typeof content[row] != 'undefined')
{
id = this.options.value.content.grid[row].confirm;
id = content[row].confirm;
egw.open(id, 'addressbook');
}
}
}
},
title: _title||egw.lang('Input required'),
buttons: _buttons||et2_dialog.BUTTONS_OK_CANCEL,
title: _title || egw.lang('Input required'),
buttons: _buttons || Et2Dialog.BUTTONS_OK_CANCEL,
value: {
content: {
grid: _value
}
},
template: egw.webserverUrl+'/addressbook/templates/default/dupconfirmdialog.xet'
}, et2_dialog._create_parent(_egw_or_appname));
template: egw.webserverUrl + '/addressbook/templates/default/dupconfirmdialog.xet'
});
document.body.appendChild(<LitElement><unknown>dialog);
};
if (_data.msg && _data.doublicates)
@ -696,7 +696,7 @@ class AddressbookApp extends EgwApp
{
content.push({"confirm":id,"name":_data.doublicates[id]});
}
confirmdialog(this.egw.lang('Duplicate warning'),content,et2_dialog.BUTTONS_OK_CANCEL);
confirmdialog(this.egw.lang('Duplicate warning'), content, Et2Dialog.BUTTONS_OK_CANCEL, this.egw);
}
if (typeof _data.fileas_options == 'object' && this.et2)
{
@ -716,15 +716,20 @@ class AddressbookApp extends EgwApp
*/
check_value(widget, own_id)
{
// Skip check in advanced search
if(this.et2.getArrayMgr("content").getEntry("showsearchbuttons") === true)
{
return;
}
// if we edit an account, call account_change to let it do it's stuff too
if (this.et2.getWidgetById('account_lid'))
if(this.et2.getWidgetById('account_lid'))
{
this.account_change(null, widget);
}
var values = this.et2._inst.getValues(this.et2);
if (widget.id.match(/n_/))
if(widget.id.match(/n_/))
{
var value = '';
if (values.n_prefix) value += values.n_prefix+" ";
@ -739,34 +744,15 @@ class AddressbookApp extends EgwApp
egw.json('addressbook.addressbook_ui.ajax_check_values', [values, widget.id, own_id],this._confirmdialog_callback,this,true,this).sendRequest();
}
show_custom_country(selectbox)
/**
* Set country-code of select-state
*
* @param event
* @param country
*/
regionSetCountry(event, country : Et2SelectCountry)
{
if(!selectbox) return;
var custom_field_name = selectbox.id.replace("countrycode", "countryname");
var custom_field = <HTMLInputElement>document.getElementById(custom_field_name);
if(custom_field && selectbox.value == "-custom-") {
custom_field.style.display = "inline";
}
else if (custom_field)
{
if((selectbox.value == "" || selectbox.value == null) && custom_field.value != "")
{
selectbox.value = "-custom-";
// Chosen needs this to update
jQuery(selectbox).trigger("liszt:updated");
custom_field.style.display = "inline";
}
else
{
custom_field.style.display = "none";
}
}
var region = this.et2.getWidgetById(selectbox.name.replace('countrycode', 'region'));
if (region)
{
region.set_country_code(selectbox.value);
}
(<Et2SelectState><any>this.et2.getWidgetById(country.id.replace('countrycode', 'region')))?.set_country_code(country.value);
}
/**
@ -818,16 +804,19 @@ class AddressbookApp extends EgwApp
var lists = <et2_selectbox><unknown>this.et2.getWidgetById('filter2');
let owner_options = this.et2.getArrayMgr('sel_options').getEntry('filter') || {};
let callback = function(button, values) {
if(button == et2_dialog.OK_BUTTON)
if(button == Et2Dialog.OK_BUTTON)
{
egw.json('addressbook.addressbook_ui.ajax_set_list',[0, values.name, values.owner, contacts],
egw.json('addressbook.addressbook_ui.ajax_set_list', [0, values.name, values.owner, contacts],
function(result)
{
if(typeof result == 'object') return; // This response not for us
if(typeof result == 'object')
{
return;
} // This response not for us
// Update list
if(result)
{
lists.options.select_options.unshift({value:result,label:values.name});
lists.options.select_options.unshift({value: result, label: values.name});
lists.set_select_options(lists.options.select_options);
// Set to new list so they can see it easily
@ -855,23 +844,25 @@ class AddressbookApp extends EgwApp
}
};
let dialog = new Et2Dialog(this.egw);
dialog.transformAttributes({
callback: callback,
title: 'Add a new list',
buttons: Et2Dialog.BUTTONS_OK_CANCEL,
value: {
content: {
owner: owner
},
sel_options: {
owner: owner_options
}
},
template: egw.webserverUrl + '/addressbook/templates/default/add_list_dialog.xet',
class: "et2_prompt",
width: 400
});
let dialog = et2_createWidget("dialog", {
callback: callback,
title: this.egw.lang('Add a new list'),
buttons: et2_dialog.BUTTONS_OK_CANCEL,
value: {
content: {
owner: owner
},
sel_options: {
owner: owner_options
}
},
template: egw.webserverUrl + '/addressbook/templates/default/add_list_dialog.xet',
class: "et2_prompt",
minWidth: 400
}, this.et2);
document.body.appendChild(<LitElement><unknown>dialog);
}
/**
@ -895,14 +886,18 @@ class AddressbookApp extends EgwApp
value = lists.options.select_options[i];
}
}
et2_dialog.show_prompt(
function(button, name) {
if(button == et2_dialog.OK_BUTTON)
Et2Dialog.show_prompt(
function(button, name)
{
if(button == Et2Dialog.OK_BUTTON)
{
egw.json('addressbook.addressbook_ui.ajax_set_list',[list, name],
egw.json('addressbook.addressbook_ui.ajax_set_list', [list, name],
function(result)
{
if(typeof result == 'object') return; // This response not for us
if(typeof result == 'object')
{
return;
} // This response not for us
// Update list
if(result)
{
@ -954,7 +949,7 @@ class AddressbookApp extends EgwApp
*/
nm_compare_field()
{
var field = this.et2.getWidgetById('filter2');
var field = this.et2?.getWidgetById('filter2');
if (field) var val = field.get_value();
if (val)
{
@ -1128,24 +1123,26 @@ class AddressbookApp extends EgwApp
if(action && action.data && selected.length > 1)
{
var callback = function(button, value) {
if(button == et2_dialog.OK_BUTTON)
if(button == Et2Dialog.OK_BUTTON)
{
var _action = jQuery.extend(true, {}, action);
if(value.infolog)
{
_action.data.menuaction += '&to_app=infolog&info_type='+value.info_type;
_action.data.menuaction += '&to_app=infolog&info_type=' + value.info_type;
}
nm_action(_action, selected, target);
}
};
et2_createWidget("dialog",{
let dialog = new Et2Dialog(this.egw);
dialog.transformAttributes({
callback: callback,
title: action.caption,
buttons: et2_dialog.BUTTONS_OK_CANCEL,
type: et2_dialog.QUESTION_MESSAGE,
template: egw.webserverUrl+'/addressbook/templates/default/mail_merge_dialog.xet',
buttons: Et2Dialog.BUTTONS_OK_CANCEL,
type: Et2Dialog.QUESTION_MESSAGE,
template: egw.webserverUrl + '/addressbook/templates/default/mail_merge_dialog.xet',
value: {content: {info_type: 'email'}, sel_options: this.et2.getArrayMgr('sel_options').data}
});
document.body.appendChild(<LitElement><unknown>dialog);
}
else
{
@ -1326,8 +1323,7 @@ class AddressbookApp extends EgwApp
*/
getWindowTitle()
{
var widget = this.et2.getWidgetById('n_fn');
if(widget) return widget.options.value;
return this.et2.getValueById('n_fn');
}
/**
@ -1480,7 +1476,6 @@ class AddressbookApp extends EgwApp
// defined in addressbook_hooks::config
var default_url = 'https://maps.here.com/directions/drive{{%rs=/%rs}}%r0,%t0,%z0,%c0{{%d=/%d}}%r1,%t1,%z1+%c1';
var geo_url = egw.config('geolocation_url');
if (geo_url) geo_url = geo_url[0];
return geo_url || default_url;
}
@ -1609,4 +1604,4 @@ class AddressbookApp extends EgwApp
}
}
app.classes.addressbook = AddressbookApp;
app.classes.addressbook = AddressbookApp;

View File

@ -8,6 +8,7 @@
%1 public keys added. addressbook bg %1 (публичен ключ) за контрола на достъпа са добавени.
%1 records imported addressbook bg Импортирани са %1 записа
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook bg %1 записа прочетени (все още не импортирани, може да се %2върнете%3 и да размаркирате Тест Импорт)
%1 shared this contact on %2 with %3 %4 addressbook bg %1 е споделил този контакт на %2 %3 %4
%1 starts with '%2' addressbook bg %1 започва с '%2'
%s please calculate the result addressbook bg %s моля, изчислете резултата
(e.g. 1969) addressbook bg (например 1969г.)
@ -41,7 +42,7 @@ added by synchronisation addressbook bg Добавен чрез синхрони
added to distribution list addressbook bg Добавен към пощенски списък
additional information about using ldap as contact repository admin bg Допълнителна информация относно използване на LDAP като хранилище за контакти
address book common bg Адресен указател
address book - vcard in addressbook bg Адресен указател - VCard в
address book - vcard in addressbook bg Адресен указател - vCard в
address book - view addressbook bg Адресен указател - преглед
address line 2 addressbook bg Адрес ред 2
address line 2 (private) addressbook bg Адрес ред 2 (личен)
@ -59,7 +60,7 @@ addressbook the contact should be shown addressbook bg Адресен указа
addressbook vcard export addressbook bg Експортиране на vCard в Адресен указател
addressbook vcard import addressbook bg Импортиране на vCard в Адресен указател
addressbook-fieldname addressbook bg Адресен указател - име на полето
addvcard addressbook bg Добавяне на VCard
addvcard addressbook bg Добавяне на vCard
advanced search addressbook bg Разширено търсене
all addressbooks addressbook bg Всички адресни указатели
all contacts addressbook bg Всички контакти
@ -237,7 +238,7 @@ example {{nenvlf role}} - if field role is not empty, set a lf without any value
existing links addressbook bg Съществуващи връзки
exists addressbook bg Съществува
export as csv addressbook bg Експорт в CSV
export as vcard addressbook bg Експорт във VCard
export as vcard addressbook bg Експорт във vCard
export contacts addressbook bg Експорт на контактите
export file name addressbook bg Име на файла за експорт
export from addressbook addressbook bg Експорт от Адресния указател
@ -304,17 +305,18 @@ import contacts addressbook bg Импорт на контакти
import csv-file into addressbook addressbook bg Импорт на CSV-файл в адресния указател
import file addressbook bg Импорт на файл
import from addressbook bg Импорт от
import from ldif, csv, or vcard addressbook bg Импорт от LDIF, CSV или VCard
import from ldif, csv, or vcard addressbook bg Импорт от LDIF, CSV или vCard
import from outlook addressbook bg Импорт от Outlook
import multiple vcard addressbook bg Импорт на множество VCard
import multiple vcard addressbook bg Импорт на множество vCard
import next set addressbook bg Импорт на следващ комплект
import_instructions addressbook bg В Netscape, отворете адресния указател (Addressbook) и изберете <b>Export</b> от меню <b>File</b>. Експортираният файл ще бъде в LDIF формат.<p>В Outlook, изберете папка Контакти (Contacts), изберете <b>Import and Export...</b> от меню <b>File</b> и експортирайте контактите в CSV файл. <p>На Palm Desktop 4.0 или по-нов, отворете адресния указател и изберете <b>Export</b> от меню <b>File</b>. Експортирания файл ще бъде във формат VCard.
import_instructions addressbook bg В Netscape, отворете адресния указател (Addressbook) и изберете <b>Export</b> от меню <b>File</b>. Експортираният файл ще бъде в LDIF формат.<p>В Outlook, изберете папка Контакти (Contacts), изберете <b>Import and Export...</b> от меню <b>File</b> и експортирайте контактите в CSV файл. <p>На Palm Desktop 4.0 или по-нов, отворете адресния указател и изберете <b>Export</b> от меню <b>File</b>. Експортирания файл ще бъде във формат vCard.
importer's personal addressbook bg Личен вносител
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook bg Импортира контакти в Адресния указател от CSV файл (стойности, разделени със запетая). От таб Опции може да изберете друг разделител.
imports contacts into your addressbook from a vcard file. addressbook bg Импортира контактите в Адресния Ви указател от vCard файл.
in %1 days (%2) is %3's birthday. addressbook bg Рожденият ден на %3 е след %1 дни (%2).
income addressbook bg Доход
infolog addressbook bg Дневник
infolog addressbook bg Контакт с InfoLog
infolog-organisation addressbook bg Организация на InfoLog
insert addressbook bg Въвеждане
insufficent rights to delete this list! addressbook bg Недостатъчни права за изтриване на списъка!
insufficent rights to edit this list! addressbook bg Недостатъчни права за редактиране на този списък!
@ -339,15 +341,16 @@ list already exists! addressbook bg Списъкът вече съществув
list created addressbook bg Списъкът е създаден
list creation failed, no rights! addressbook bg Грешка при създаване на списъка: нямате права!
list of files linked to the current record addressbook bg Списък с файлове, свързани с текущия запис
load vcard addressbook bg Зареждане на VCard
load vcard addressbook bg Зареждане на vCard
location addressbook bg Местоположение
locations addressbook bg Местоположения
mail vcard addressbook bg Mail VCard
mail vcard addressbook bg Mail vCard
main categories in their own field addressbook bg Основни категории в тяхната област
manage mapping addressbook bg Управление на съответствията
mark records as private addressbook bg Маркира записите като лични
merge contacts addressbook bg Обединяване на контактите
merge duplicates addressbook bg Обединяване на дубликатите
merge into first or account, deletes all other! addressbook bg Сливане в първия или акаунта, изтрива всички останали!
merged addressbook bg Обединени
message after submitting the form addressbook bg Съобщение след предаване на формата
message phone addressbook bg Телефон за съобщения
@ -361,7 +364,7 @@ modem phone addressbook bg Модем
more ... addressbook bg Още ...
move to addressbook addressbook bg Премести в Адресния указател
moved addressbook bg Преместен(и)
multiple vcard addressbook bg Множество VCard
multiple vcard addressbook bg Множество vCard
name for the distribution list addressbook bg Име на пощенския списък
name of current user, all other contact fields are valid too addressbook bg Име на текущия потребител, останалите полета на контакта също са валидни
name, address addressbook bg Име, Адрес
@ -369,9 +372,11 @@ new contact submitted by %1 at %2 addressbook bg Новият контакт е
new window opened to edit infolog for your selection addressbook bg Отворен е нов прoзoрец за редакция в Дневника на избраните елементи
next date addressbook bg Следваща дата
no categories selected addressbook bg Няма избрани категории
no country selected addressbook bg Не е избрана държава
no distribution list addressbook bg Липсва списък за разпределение
no fallback addressbook bg Без други опции
no vcard addressbook bg Липсва VCard
no vcard addressbook bg Липсва vCard
not shared addressbook bg не се споделят
number addressbook bg Номер
number of records to read (%1) addressbook bg Брой записи за четене (%1)
open %1 crm view addressbook bg Отваряне на % 1 CRM изглед
@ -427,6 +432,7 @@ replacements for inserting contacts into documents addressbook bg Замени
required fields * addressbook bg Задължителни полета *
role addressbook bg Роля
room addressbook bg Стая
search letter addressbook bg Буква за търсене
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook bg Изберете снимка във формат "портрет". Тя ще бъде преоразмерена на 60 пиксела ширина.
select a source address to be used in geolocation routing system addressbook bg Изберете източник на адрес, който ще се използва в
select a view addressbook bg Избор на изглед
@ -447,6 +453,12 @@ send succeeded to %1 common bg Изпратено успешно до %1
seperator addressbook bg Разделител
set full name and file as field in contacts of all users (either all or only empty values) admin bg Задане на цялото име и поле „fileas“ в контактите на всички потребители. Или всички, или само празни стойности.
set only full name addressbook bg Задаване само на пълно име
share into addressbook addressbook bg Споделяне в адресна книга
share writable addressbook bg Споделяне, което може да се записва
shared addressbook bg споделено
shared by me addressbook bg Споделено от мен
shared into addressbook %1 addressbook bg споделено в адресна книга %1
shared with addressbook bg Споделено с
should the columns photo and home address always be displayed, even if they are empty. addressbook bg Да се показват ли колоните за снимка и личен (домашен) адрес, независимо дали са празни или не.
show addressbook bg Покажи
show active accounts addressbook bg Покажи активните акаунти
@ -499,6 +511,8 @@ unable to import into %1, using %2 addressbook bg Не е възможно да
unique id (uid) addressbook bg Уникален идентификационен номер - ID (UID)
unique id<br />(to update existing records) addressbook bg Уникален ID<br /> за актуализиране на съществуващи записи
unknown type %1, imported as %2 addressbook bg Неизвестен вид % 1, импортиран като % 2
unshare addressbook bg Вече не споделяте
unshared addressbook bg вече не се споделят
update a single entry by passing the fields. addressbook bg Актуализация на единичен запис чрез предаване на полетата.
update fields by edited organisations? admin bg Полета за актуализиране на редактирани организации
updated addressbook bg Актуализиран
@ -515,9 +529,9 @@ use this tag for addresslabels. put the content, you want to repeat, between two
used for links and for the own sorting of the list addressbook bg Използва се за връзки и за собствено сортиране на списъка
user groups are automatically shown as distribution lists. addressbook bg Потребителските групи автоматично се показват като пощенски списък.
user preference addressbook bg Предпочитания на потребителя
vcard common bg VCard
vcards require a first name entry. addressbook bg За VCard се изисква въвеждане на първо име.
vcards require a last name entry. addressbook bg За VCard се изисква въвеждане на фамилно име.
vcard common bg vCard
vcards require a first name entry. addressbook bg За vCard се изисква въвеждане на първо име.
vcards require a last name entry. addressbook bg За vCard се изисква въвеждане на фамилно име.
verification addressbook bg Проверка
view linked infolog entries addressbook bg Покзване на свързаните записи от Дневника
warning!! ldap is valid only if you are not using contacts for accounts storage! admin bg ВНИМАНИЕ! LDAP е валиден избор само ако НЕ използвате контактите за съхранение и на потребителските акаунти!
@ -525,6 +539,7 @@ warning: all contacts found will be deleted! addressbook bg ВНИМАНИЕ! В
weekday addressbook bg Ден от седмицата
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook bg Как да се изобразяват връзките към Адресния указател в другите приложения? Празните стойности ще бъдат игнорирани. Ако промените тази настройка следва да излезете и влезете в системата отново.
when viewing a contact, show linked entries from the selected application addressbook bg При преглед на контакт, покажи записи свързани с избраното приложение.
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook bg Когато обединявате записи в документи, те ще се съхраняват тук. Ако не е предоставена директория, те ще се съхраняват в домашната ви директория (/home/...).
where to add the email address addressbook bg Къде да се добави E-Mail адрес
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook bg Какъв формат за адреса да се използва за държавите, за които не е зададен формат по подразбиране? Ако за дадена държава форматът е известен, той се използва, независимо от тази настройка.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook bg Кой адресен указател да се използва при добавяне на контакт АКО нямате право да добавяте в текущия?
@ -543,13 +558,14 @@ yes, for the next week addressbook bg Да, за следващата седми
yes, for today and tomorrow addressbook bg Да, за днес и утре
yes, only admins can purge deleted items admin bg Да, само администраторите могат да заличават изтрити записи
yes, users can purge their deleted items admin bg Да, потребителите могат да заличават техните изтрити записи
you are not allowed to share into the addressbook of %1 addressbook bg Не ви е разрешено да споделяте в адресната книга %1
you are not permitted to delete contact %1 addressbook bg Нямате право да изтриете контакта: %1
you are not permittet to delete this contact addressbook bg Нямате право да изтриете този контакт
you are not permittet to edit this contact addressbook bg Нямате право да редактирате този контакт
you are not permittet to view this contact addressbook bg Нямате право да разглеждате този контакт
you can only use ldap as contact repository if the accounts are stored in ldap too! admin bg LDAP може да се използва като хранилище за контакти, само ако акаунтите се съхраняват и в LDAP!
you can respond by visiting: addressbook bg За преглед посетете:
you must select a vcard. (*.vcf) addressbook bg Трябва да изберете vcard. (*.vcf)
you must select a vcard. (*.vcf) addressbook bg Трябва да изберете vCard. (*.vcf)
you must select at least 1 column to display addressbook bg Трябва да изберете поне една колона за показване
you need to select a distribution list addressbook bg Трябва да изберете пощенски списък
you need to select some contacts first addressbook bg Трябва да изберете контакти

View File

@ -8,6 +8,7 @@
%1 public keys added. addressbook cs %1 veřejných klíčů bylo přidáno.
%1 records imported addressbook cs %1 záznamů importováno
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook cs %1 záznamů načteno (zatím nebyly importovány, můžete se vrátit %2zpět%3 a odškrtnout Testovat Import)
%1 shared this contact on %2 with %3 %4 addressbook cs %1 sdílel tento kontakt na %2 %3 %4
%1 starts with '%2' addressbook cs %1 začíná s '%2'
%s please calculate the result addressbook cs %s prosím spočítejte výsledek
(e.g. 1969) addressbook cs (např. 1969)
@ -41,7 +42,7 @@ added by synchronisation addressbook cs Přidáno synchronizací
added to distribution list addressbook cs Přidáno do rozesílacího seznamu
additional information about using ldap as contact repository admin cs Další informace k používání LDAP jako databáze kontaktů
address book common cs Adresář
address book - vcard in addressbook cs Adresář - VCard v
address book - vcard in addressbook cs Adresář - vCard v
address book - view addressbook cs Adresář - pohled
address line 2 addressbook cs Adresa - 2. řádek
address line 2 (private) addressbook cs Adresa - 2. řádek (soukromá)
@ -59,12 +60,14 @@ addressbook the contact should be shown addressbook cs Kontakty adresáře by m
addressbook vcard export addressbook cs Export adresáře ve formátu vCard
addressbook vcard import addressbook cs Import adresáře ve formátu vCard
addressbook-fieldname addressbook cs Adresář - název položky
addvcard addressbook cs Přidat VCard
addvcard addressbook cs Přidat vCard
advanced search addressbook cs Rozšířené hledání
all addressbooks addressbook cs Všechny adresáře
all contacts addressbook cs Všechny kontakty
all in one field addressbook cs Vše v jednom poli
all types addressbook cs Všechny typy
allow addressbook cs Povolit
allow for contacts only addressbook cs Povolit pouze kontakty
allow members of following groups to edit contact-data of accounts addressbook cs Dovolit uživatelům patřících do těchto skupin upravovat kontaktní údaje účtů
allow users to maintain their own account-data admin cs Povolit uživatelům měnit jejich vlastní data
alt. csv import addressbook cs Alternativní import z CSV
@ -182,6 +185,7 @@ deletes the photo addressbook cs Maže fotografii
department common cs Oddělení
departments addressbook cs oddělení
directory with documents to insert contacts addressbook cs Adresář s dokumenty pro vložení kontaktů
disable last/next event column addressbook cs Zakázat sloupec Poslední/následující událost
display contact addressbook cs Zobrazit kontakt
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook cs Zobrazuje připomínku narozenin na úvodní straně (stránka, na kterou se dostanete když se přihlásíte do EGroupware a kliknete na ikonu Hlavní strana).
distribution list deleted addressbook cs Rozesílací seznam byl smazán
@ -198,7 +202,9 @@ don't hide empty columns addressbook cs Neschovávat prázdné sloupce
download addressbook cs Stáhnout
download export file (uncheck to debug output in browser) addressbook cs Stáhnout exportní soubor (Odškrtněte debugovací výstup v prohlížeči)
download this contact as vcard file addressbook cs stáhnout kontakt jako vCard soubor
duplicate threshold addressbook cs Duplicitní práh
duplicate warning addressbook cs Opakované varování
duplicates addressbook cs Duplikáty
duration addressbook cs Trvání
each category in its own field addressbook cs Každá kategorie ve vlastním poli
each option in its own field addressbook cs Každá volba ve vlastním poli
@ -224,11 +230,10 @@ error: the entry has been updated since you opened it for editing! addressbook c
example {{if n_prefix~mr~hello mr.~hello ms.}} - search the field "n_prefix", for "mr", if found, write hello mr., else write hello ms. addressbook cs Příklad {{IF n_prefix~Pan~Vážený pane~Vážená paní}} - hledá se výskyt slova "Pan" v poli "n_prefix", pokud je nalezeno, vloží se text Vážený pane, jinak Vážená paní.
example {{letterprefixcustom n_prefix title n_family}} - example: mr dr. james miller preferences cs Příklad {{LETTERPREFIXCUSTOM n_prefix title n_family}} - Příklad: Mr Dr. James Miller
example {{nelf role}} - if field role is not empty, you will get a new line with the value of field role addressbook cs Příklad {{NELF role}} - pokud pole role není prázdné, bude na nový řádek vypsán obsah pole role.
example {{nelfnv role}} - if field role is not empty, set a lf without any value of the field addressbook cs Příklad {{NELFNV role}} - pokud pole role není prázdné, nastaví se pozice na nový řádek ale obsah pole role nebude vypsáno.
existing links addressbook cs Stávající odkazy
exists addressbook cs Stávající
export as csv addressbook cs Exportovat jako CSV
export as vcard addressbook cs Exportovat jako VCard
export as vcard addressbook cs Exportovat jako vCard
export contacts addressbook cs Exportovat kontakty
export definition to use for nextmatch export addressbook cs Export definic pro použití v dalších exportech
export definitition to use for nextmatch export addressbook cs Export definic pro použití v dalších exportech
@ -252,6 +257,8 @@ field %1 has been updated ! addressbook cs Položka %1 byla zaktualizována.
field name addressbook cs Název položky
fields for the csv export addressbook cs Položky k exportu do CSV
fields the user is allowed to edit himself admin cs Položky, které si smí editovat sami uživatelé
fields to check for duplicates addressbook cs Pole pro kontrolu duplicit
fields to consider when looking for duplicate contacts. addressbook cs Pole, která je třeba zohlednit při hledání duplicitních kontaktů.
fields to copy when copying an address? admin cs Které položky se budou kopírovat při kopírování adresy
fields to show in address list addressbook cs Položky, které se zobrazují v seznamu adres
fieldseparator addressbook cs Oddělovač položek
@ -270,6 +277,8 @@ grant addressbook access common cs Přidělit přístup k adresáři
group %1 addressbook cs Skupina %1
h addressbook cs h
hide accounts from addressbook addressbook cs Nezobrazovat účty v adresáři
hide all accounts addressbook cs Skrýt všechny účty
hide user groups as distribution lists addressbook cs Skrýt skupiny uživatelů jako distribuční seznamy
hides accounts completly from the adressbook. addressbook cs Kompletně skryje účty před adresářem.
history logging admin cs Protokolování historie
home address addressbook cs Domácí adresa
@ -283,6 +292,7 @@ home state addressbook cs Domov - stát
home street addressbook cs Domov - ulice
home zip code addressbook cs Domov - PSČ
how many contacts should non-admins be able to export admin cs Kolik kontaktů budou moci exportovat uživatelé bez oprávnění administrátora
how many fields must match for the record to be considered a duplicate. addressbook cs Kolik polí se musí shodovat, aby byl záznam považován za duplicitní.
html link to the current record addressbook cs HTML odkaz na aktuální záznam
icon addressbook cs Ikona
if accounts are already in ldap admin cs pokud jsou účty již v LDAP
@ -292,17 +302,18 @@ import contacts addressbook cs Importovat kontakty
import csv-file into addressbook addressbook cs Importovat soubor CSV do adresáře
import file addressbook cs Importovat soubor
import from addressbook cs Importovat z
import from ldif, csv, or vcard addressbook cs Importovat z LDIFu, CSV nebo VCard
import from ldif, csv, or vcard addressbook cs Importovat z LDIFu, CSV nebo vCard
import from outlook addressbook cs Importovat z Outlooku
import multiple vcard addressbook cs Importovat více VCard
import multiple vcard addressbook cs Importovat více vCard
import next set addressbook cs Importovat následující sadu
import_instructions addressbook cs V prohlížeči Netscape otevřete Adresář a vyberte <b>Exportovat</b> z menu <b>Soubor</b>. Exportovaný soubor bude ve formátu LDIF.<p>Nebo v Outlooku vyberte složku s Kontakty, zvolte <b>Import a export</b> z menu <b>Start</b> a vyexportujte své kontakty do souboru typu CSV (text oddělený čárkami).<p>Nebo v Palm Desktopu 4.0 a vyšším vyberte <b>Export</b> z menu <b>File</b>. Exportovaný soubor bude ve formátu VCard.
import_instructions addressbook cs V prohlížeči Netscape otevřete Adresář a vyberte <b>Exportovat</b> z menu <b>Soubor</b>. Exportovaný soubor bude ve formátu LDIF.<p>Nebo v Outlooku vyberte složku s Kontakty, zvolte <b>Import a export</b> z menu <b>Start</b> a vyexportujte své kontakty do souboru typu CSV (text oddělený čárkami).<p>Nebo v Palm Desktopu 4.0 a vyšším vyberte <b>Export</b> z menu <b>File</b>. Exportovaný soubor bude ve formátu vCard.
importer's personal addressbook cs osobní toho, kdo prování import
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook cs Importuje kontakty z CSV souboru do Vašeho adresáře. CSV znamená 'hodnoty oddělené čárkou'. Nicméně v záložce voleb si můžete zvolit jiné oddělovače.
imports contacts into your addressbook from a vcard file. addressbook cs Importuje kontakty ze souboru vCard do Vašeho adresáře.
in %1 days (%2) is %3's birthday. addressbook cs Za %1 dní (%2) má %3 narozeniny.
income addressbook cs Hospodářský výsledek
infolog addressbook cs InfoLog
infolog addressbook cs InfoLog Kontakt
infolog-organisation addressbook cs Organizace InfoLog
insert addressbook cs Vložit
insufficent rights to delete this list! addressbook cs Nemáte dostatečná oprávnění ke smazání seznamu!
insufficent rights to edit this list! addressbook cs Nemáte dostatečná oprávnění k úpravě tohoto seznamu!
@ -327,7 +338,8 @@ list already exists! addressbook cs Seznam už existuje!
list created addressbook cs Seznam vytvořen
list creation failed, no rights! addressbook cs Vytvoření seznamu selhalo, nedostatečná práva!
list of files linked to the current record addressbook cs Seznam připojených souborů k aktuálnímu záznamu
load vcard addressbook cs Nahrát VCard
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook cs Načtení vlastních polí v indexu, i když je sloupec vlastních polí vypnutý (např. pro jejich zobrazení v konkrétním sloupci indexu).
load vcard addressbook cs Nahrát vCard
location addressbook cs Umístění
locations addressbook cs umístění
mail vcard addressbook cs Odeslat vizitku vCard
@ -335,6 +347,7 @@ main categories in their own field addressbook cs Hlavní kategorie v jejich vla
manage mapping addressbook cs Spravovat mapování
mark records as private addressbook cs Označit záznamy jako soukromé
merge contacts addressbook cs Sloučit kontakty
merge duplicates addressbook cs Sloučení duplicit
merge into first or account, deletes all other! addressbook cs Sloučení do prvního nebo do účtu, smaže všechny ostatní!
merged addressbook cs sloučeno
message after submitting the form addressbook cs Zpráva po odeslání formuláře
@ -349,17 +362,19 @@ modem phone addressbook cs Telefon modemu
more ... addressbook cs Více ...
move to addressbook addressbook cs Přesunout do adresáře
moved addressbook cs přesunuto
multiple vcard addressbook cs Více VCard
multiple vcard addressbook cs Více vCard
name for the distribution list addressbook cs Název distribučního seznamu
name of current user, all other contact fields are valid too addressbook cs Jméno aktuálního uživatele, všechny ostatní položky kontaktu jsou také platné
name, address addressbook cs Jméno, adresa
new contact submitted by %1 at %2 addressbook cs Nový kontakt odeslal(a) %1 v %2
new window opened to edit infolog for your selection addressbook cs Otevřeno nové okno pro editaci Infologu na základě vašeho výběru
new window opened to edit infolog for your selection addressbook cs Otevřeno nové okno pro editaci InfoLog na základě vašeho výběru
next date addressbook cs Následující datum
no categories selected addressbook cs nebyly vybrány žádné kategorie
no country selected addressbook cs Žádná vybraná země
no distribution list addressbook cs Neexistuje rozesílací seznam
no fallback addressbook cs Žádné nouzové řešení
no vcard addressbook cs Žádná VCard
no vcard addressbook cs Žádná vCard
not shared addressbook cs nesdílený
number addressbook cs Čislo
number of records to read (%1) addressbook cs Počet záznamů k načtení (%1)
open %1 crm view addressbook cs Otevřít CRM pohled na %1
@ -380,6 +395,7 @@ parcel addressbook cs Pozemek
participants addressbook cs Účastníci
permission denied !!! addressbook cs Přístup zablokován!!!
permissiong denied! ask your administrator to allow regular uses to update their public keys. addressbook cs Nemáte oprávnění! Požádejte svého správce o povolení aktualizace veřejných klíčů pro standardní uživatele.
pgp key addressbook cs PGP klíč
phone number common cs Telefonní číslo
phone numbers common cs Telefonní čísla
photo addressbook cs Fotografie
@ -407,6 +423,7 @@ region addressbook cs Region
remove from distribution list addressbook cs Odebrat z rozesílacího seznamu
remove selected contacts from distribution list addressbook cs Odstranit vybrané kontakty z distribučního seznamu
removed from distribution list addressbook cs odstraněno z distribučního seznamu
rename list addressbook cs Přejmenovat seznam
rename selected distribution list addressbook cs Přejmenovat vybraný rozesílací seznam
repetition addressbook cs Opakování
replacements for inserting contacts into documents addressbook cs Náhrady pro vkládání kontaktů do dokumentů
@ -421,6 +438,7 @@ select addressbook type addressbook cs Vybrat typ adresáře
select all addressbook cs Vybrat vše
select an action or addressbook to move to addressbook cs Vybrat akci nebo adresář kam se přesunout
select an action or addressbook to move to... addressbook cs Vybrat akci nebo adresář kam se přesunout...
select an opened dialog addressbook cs Výběr otevřeného dialogového okna
select migration type admin cs Vybrat typ migrace
select multiple contacts for a further action addressbook cs Vybrat více kontaktů pro další akci
select phone number as prefered way of contact addressbook cs vybrat telefonní číslo jako preferovaný způsob kontaktu
@ -433,12 +451,21 @@ send succeeded to %1 common cs Odeslání do %1 bylo úspěšné
seperator addressbook cs Oddělovač
set full name and file as field in contacts of all users (either all or only empty values) admin cs Nastavit celé jméno a evidovat jako pole v kontaktech všech uživatelů (buď všechny nebo jen prázdné hodnoty)
set only full name addressbook cs Nastavit jen celé jméno
share into addressbook addressbook cs Sdílení do adresáře
share writable addressbook cs Sdílet zapisovatelné
shared addressbook cs sdílený
shared by me addressbook cs Sdílený mnou
shared into addressbook %1 addressbook cs sdíleno do adresáře %1
shared with addressbook cs Sdílené s
should the columns photo and home address always be displayed, even if they are empty. addressbook cs Mají být sloupce fotografie a domovská adresa vždy zobrazeny i když jsou prázdné
show addressbook cs Zobrazit
show active accounts addressbook cs Zobrazit aktivní účty
show all accounts addressbook cs Zobrazit všechny účty
show infolog entries for this organisation addressbook cs Zobrazit záznamy InfoLogu pro tuto organizaci
show the contacts of this organisation addressbook cs Zobrazit kontakty této organizace
similar contacts found: addressbook cs Nalezeny podobné kontakty:
size of popup (wxh, eg.400x300, if a popup should be used) admin cs Velikost překryvného okna (ŠxV, např. 400x300, pokud má být překryvné okno používáno)
smime key addressbook cs S/MIME Klíč
special addressbook cs Zvláštní
stadt addressbook cs Město
start admin cs Start
@ -482,6 +509,8 @@ unable to import into %1, using %2 addressbook cs Nebylo možné importovat do %
unique id (uid) addressbook cs Unikátní ID (UID)
unique id<br />(to update existing records) addressbook cs Unikátní ID<br />(pro aktualizaci stávajících záznamů)
unknown type %1, imported as %2 addressbook cs Neznámý typ %1, bylo importováno jako %2
unshare addressbook cs Již nesdílet
unshared addressbook cs již není sdílena
update a single entry by passing the fields. addressbook cs Aktualizovat záznam vyplněním položek.
update fields by edited organisations? admin cs Aktualizovat položky editovanými organizacemi?
updated addressbook cs Aktualizováno
@ -496,17 +525,19 @@ use country list addressbook cs Použít seznam zemí
use setup for a full account-migration admin cs pro kompletní migraci účtů použijte setup
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook cs Použijte tuto značku pro adresní štítky. Obsah, který chcete opakovat, vložte mezi dvě značky.
used for links and for the own sorting of the list addressbook cs použito pro odkazy a vlastní třídění seznamu
user groups are automatically shown as distribution lists. addressbook cs Uživatelské skupiny se automaticky zobrazí jako distribuční seznamy.
user preference addressbook cs Uživatelské předvolby
vcard common cs VCard
vcards require a first name entry. addressbook cs VCard vyžaduje křestní jméno v záznamu
vcards require a last name entry. addressbook cs VCard vyžaduje příjmení v záznamu
vcard common cs vCard
vcards require a first name entry. addressbook cs vCard vyžaduje křestní jméno v záznamu
vcards require a last name entry. addressbook cs vCard vyžaduje příjmení v záznamu
verification addressbook cs Ověření
view linked infolog entries addressbook cs Zobrazit odkazované záznamy v InfoLogu
view linked infolog entries addressbook cs Zobrazit odkazované záznamy v InfoLog
warning!! ldap is valid only if you are not using contacts for accounts storage! admin cs VAROVÁNÍ!! LDAP je použitelný jen v případě, že NEpoužíváte kontakty pro ukládání uživatelských účtů!
warning: all contacts found will be deleted! addressbook cs VAROVÁNÍ: Všechny kontakty budou smazány!
weekday addressbook cs Pracovní den
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook cs Co mají odkazy na adresář zobrazovat v ostatních aplikacích. Prázdné hodnoty budou vynechány. Pokud změníte toto nastavení, musíte se znovu přihlásit!
when viewing a contact, show linked entries from the selected application addressbook cs Při zobrazení kontaktu zobrazovat také připojené záznamy z vybraných aplikací
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook cs Při slučování záznamů do dokumentů budou uloženy právě zde. Pokud není zadán žádný adresář, budou uloženy v domovském adresáři (/home/...).
where to add the email address addressbook cs kam přidat e-mailovou adresu
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook cs Jaký formát adres má adresář používat u zemí, jejichž adresní formát nezná. Pokud je formát znám, je použit bez ohledu na toto nastavení.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook cs Který adresář má být vybrán v případě, že přidáváte kontakt a pro aktuální adresář nemáte dostatečná práva.
@ -525,6 +556,7 @@ yes, for the next week addressbook cs Ano, po následující týden
yes, for today and tomorrow addressbook cs Ano, po dnešní a zítřejší den
yes, only admins can purge deleted items admin cs Ano, jen administrátoři mohou odstraňovat smazané položky
yes, users can purge their deleted items admin cs Ano, uživatelé mohou odstranit jejich smazané záznamy
you are not allowed to share into the addressbook of %1 addressbook cs Nejste oprávněni sdílet do adresáře %1
you are not permitted to delete contact %1 addressbook cs Nemáte oprávnění ke smazání kontaktu %1
you are not permittet to delete this contact addressbook cs Nemáte oprávnění ke smazání tohoto kontaktu
you are not permittet to edit this contact addressbook cs Nemáte oprávnění k editaci tohoto kontaktu

View File

@ -1,5 +1,6 @@
%1 records imported addressbook da %1 posteringer importeret
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook da %1 posteringer læst (ikke implamenteret endnu, du skalgå %2tilbage%3 og fravælge Test import
%1 shared this contact on %2 with %3 %4 addressbook da %1 delte denne kontakt på %2 %3 %4
(e.g. 1969) addressbook da (f.eks 1969)
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook da <b>Ingen konverteringstype <none> blev fundet.</b> Vælg venligst en konverteringstype fra listen
@-eval() is only availible to admins!!! addressbook da @-eval() er kun tilgængelig for administratorer!!!
@ -7,14 +8,14 @@ actions addressbook da Handling
add custom field addressbook da Tilføj valgfrit felt
added addressbook da Tilføjet
address book common da Adressebog
address book - vcard in addressbook da Adressebog - importer VCard
address book - vcard in addressbook da Adressebog - importer vCard
address book - view addressbook da Adressebog - kig
address line 2 addressbook da Adresse Linie 2
address type addressbook da Adresse Type
addressbook common da Adressebog
addressbook preferences addressbook da Adressebog preferencer
addressbook-fieldname addressbook da Adressebog feltnavn
addvcard addressbook da Tilføj VCard
addvcard addressbook da Tilføj vCard
advanced search addressbook da Avanceretsøgning
alt. csv import addressbook da Alt. CSV Importering
always addressbook da Altid
@ -64,6 +65,9 @@ domestic addressbook da Indlands
download addressbook da Download
download export file (uncheck to debug output in browser) addressbook da Hent eksporteret fil (fjern flag for fejlmeddelser i browser vinduet)
download this contact as vcard file addressbook da Download denne kontakt som vCard fil
duplicate threshold addressbook da Tærskelværdi for dubletter
duplicate warning addressbook da Advarsel om dubletter
duplicates addressbook da Duplikater
duration addressbook da Varighed
edit custom field addressbook da Ret Valgfrit Felt
edit custom fields admin da Ret Valgfrie Felter
@ -82,6 +86,8 @@ fax number common da Faxnummer
field %1 has been added ! addressbook da Felt %1 er tilføjet!
field %1 has been updated ! addressbook da Felt %1 er opdateret!
field name addressbook da Feltnavn
fields to check for duplicates addressbook da Felter, der skal kontrolleres for dubletter
fields to consider when looking for duplicate contacts. addressbook da Felter, der skal tages i betragtning, når du leder efter dubletter af kontakter.
fields to show in address list addressbook da Felter der skal vises på adresselisten
fieldseparator addressbook da Feltseperator
full name addressbook da Fulde Navn
@ -90,6 +96,9 @@ geo addressbook da GEO
global categories addressbook da Globale Kategorier
grant addressbook access common da Tildel adgang til adressbogen
h addressbook da h
hide all accounts addressbook da Skjul alle konti
hide user groups as distribution lists addressbook da Skjul brugergrupper som distributionslister
hides accounts completly from the adressbook. addressbook da Skjul brugerkonti helt fra adressebogen.
home city addressbook da Hjem By
home country addressbook da Hjem Land
home email addressbook da Hjem EMail
@ -97,18 +106,20 @@ home phone addressbook da Hjem telefon
home state addressbook da Hjem Stat
home street addressbook da Hjem Adresse
home zip code addressbook da Hjem Postnummer
how many fields must match for the record to be considered a duplicate. addressbook da Hvor mange felter skal stemme overens, for at posten anses for at være en dublet.
icon addressbook da Ikon
import addressbook da Importer
import contacts addressbook da Importer Kontakter
import csv-file into addressbook addressbook da Importer CVS-fil til adressebogen
import file addressbook da Importer Fil
import from addressbook da Importer fra
import from ldif, csv, or vcard addressbook da Importer fra LDIF, CVS eller VCard
import from ldif, csv, or vcard addressbook da Importer fra LDIF, CVS eller vCard
import from outlook addressbook da Importer fra Outlook
import multiple vcard addressbook da Importer mange VCARDs
import multiple vcard addressbook da Importer mange vCards
import next set addressbook da Impoter næste
import_instructions addressbook da I Netscape, åben Adressebogen og vælg <b>Export</b> fra <b>File</b> menuen. Den eksporteret fil vil være i LDIF formatet.<p>Eller i Outlook, vælg din kontakt mappe, vælg <b>Import and Export...</b> fra b>File</b> menuen og eksporter dine kontakt personer til en komma separeret fil (CSV). <p>Eller, i Palm Desktop 4.0 eller nyere, brug adressebogen og vælg <b>Export</b> fra <b>File</b> menuen. Den eksporteret fil vil være i VCard formatet
infolog addressbook da Opgaver
infolog addressbook da InfoLog Kontakt
infolog-organisation addressbook da InfoLog Organisation
international addressbook da International
label addressbook da Mærkat
last modified addressbook da Sidst opdateret
@ -121,14 +132,20 @@ list all categories addressbook da List alle kategorier
list all customfields addressbook da List alle tilpassede felter
location addressbook da Sted
mark records as private addressbook da Markere posteringer som private
merge duplicates addressbook da Sammenlægning af dubletter
merge into first or account, deletes all other! addressbook da Flette ind i første eller konto, sletter alle andre!
message phone addressbook da Meddellelses Telefonnummer
middle name addressbook da Mellemnavn(e)
mobile addressbook da Mobil
mobile phone addressbook da Mobiltelefonnummer
modem phone addressbook da Modem telefonnummer
more ... addressbook da Mere ...
multiple vcard addressbook da Flere VCards
no vcard addressbook da Ingen VCard
move to addressbook addressbook da Flyt til adressebog
multiple vcard addressbook da Flere vCards
no country selected addressbook da Intet land valgt
no distribution list addressbook da Ingen distributionsliste
no vcard addressbook da Ingen vCard
not shared addressbook da ikke delt
number addressbook da Nummer
number of records to read (%1) addressbook da Antal posteringer at læse (%1)
organisation addressbook da Organisation
@ -143,6 +160,7 @@ please enter a name for that field ! addressbook da Skriv venligst et navn for d
postal common da Post
pref addressbook da foretrukket
prefix addressbook da Prefix
prevent deleting of contacts admin da Forhindrer sletning af kontakter
public key addressbook da Offentlig Nøgle
read a list / search for entries. addressbook da Læs liste / søg for elementer
read a list of entries. addressbook da Læs en liste af indtastninger
@ -150,9 +168,16 @@ read a single entry by passing the id and fieldlist. addressbook da Læs et enke
record access addressbook da Posterings adgang
record owner addressbook da Posterings ejer
repetition addressbook da Gentagelse
search letter addressbook da Søg bogstav
select all addressbook da Vælg alle
select the type of conversion addressbook da Vælg type af konvertering
select the type of conversion: addressbook da Vælg type af konvertering:
share into addressbook addressbook da Del til adressebog
share writable addressbook da Del kan skrives
shared addressbook da delt
shared by me addressbook da Deles af mig
shared into addressbook %1 addressbook da delt i adressebog %1
shared with addressbook da Deles med
show addressbook da Vis
start admin da Start
startrecord addressbook da Start postering
@ -170,20 +195,25 @@ today is %1's birthday! common da I dag er det %1's fødselsdag!
tomorrow is %1's birthday. common da I morgen er det %1's fødselsdag.
translation addressbook da Oversættelse
type addressbook da type
unshare addressbook da Ikke længere dele
unshared addressbook da ikke længere delt
update a single entry by passing the fields. addressbook da opdater et enkelt element ve at sende felter.
updated addressbook da Opdateret
use country list addressbook da Brug Lande Liste
vcard common da VCard
vcards require a first name entry. addressbook da VCards kræver et fornavn indtastet.
vcards require a last name entry. addressbook da VCards kræver et efternavn indtastet.
user groups are automatically shown as distribution lists. addressbook da Brugergrupper vises automatisk som distributionslister.
vcard common da vCard
vcards require a first name entry. addressbook da vCards kræver et fornavn indtastet.
vcards require a last name entry. addressbook da vCards kræver et efternavn indtastet.
warning!! ldap is valid only if you are not using contacts for accounts storage! admin da ADVARSEL!! LDAP er kun tilgængeligt hvis du ikke bruger kontakter til at gemme kontoer!
warning: all contacts found will be deleted! addressbook da ADVARSEL: Alle fundne kontakter vil blive slettet !
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook da Når du fletter posteringer i dokumenter, gemmes de her. Hvis der ikke er angivet nogen mappe, vil de blive gemt i din hjemmemappe (/home/...)
work phone addressbook da Arbejds telefon
you are not allowed to share into the addressbook of %1 addressbook da Du har ikke tilladelse til at dele til adressebog %1
you are not permitted to delete contact %1 addressbook da Du har ikke ret til at slettekontakt %1
you are not permittet to delete this contact addressbook da Du har ikke tilladelse til at slette denne kontakt.
you are not permittet to edit this contact addressbook da Du har ikke tilladelse til at rette denne kontakt.
you are not permittet to view this contact addressbook da Du har ikke tilladelse til at se denne kontakt.
you must select a vcard. (*.vcf) addressbook da Du skal vælge et vcard. (*.vcf)
you must select a vcard. (*.vcf) addressbook da Du skal vælge et vCard. (*.vcf)
you must select at least 1 column to display addressbook da Du skal mindst vælge en kolonne
zip code common da Postnummer
zip_note addressbook da <p><b>Note:</b>Filen kan være en zip file med komprimeret .csv, .vcf eller .ldif filer. Men, importer kun en type ad gangen.

View File

@ -187,7 +187,7 @@ deleted addressbook de gelöscht
deletes the photo addressbook de Löscht das Foto
department common de Abteilung
departments addressbook de Abteilungen
directory with documents to insert contacts addressbook de Verzeichnis mit Dokumenten zum Einfügen von Kontakten
directory with documents to insert contacts addressbook de Ordner mit Dokumenten zum Einfügen von Kontakten
disable addressbook de Deaktivieren
disable last/next event column addressbook de Spalte Letzer/nächster Termin deaktivieren
display contact addressbook de Kontakte Anzeigen
@ -319,8 +319,8 @@ imports contacts into your addressbook from a csv file. csv means 'comma separat
imports contacts into your addressbook from a vcard file. addressbook de Importiert Kontakte in Ihr Adressbuch von einer vCard-Datei
in %1 days (%2) is %3's birthday. addressbook de In %1 Tagen (%2) ist der Geburtstag von %3.
income addressbook de Einkommen
infolog addressbook de InfoLog
infolog-organisation addressbook de Öffnet Infolog CRM-Ansicht der Organisation
infolog addressbook de InfoLog Kontakt
infolog-organisation addressbook de InfoLog Organisation
insert addressbook de einfügen
insufficent rights to delete this list! addressbook de Keine Rechte vorhanden um diese Liste zu löschen!
insufficent rights to edit this list! addressbook de Keine Rechte vorhanden um diese Liste zu ändern!
@ -373,10 +373,12 @@ multiple vcard addressbook de Mehrere vCards
name for the distribution list addressbook de Name für die Verteilerliste
name of current user, all other contact fields are valid too addressbook de Name des aktuellen Benutzers, auch alle anderen Kontaktfelder sind erlaubt
name, address addressbook de Name, Adresse
name, email, phone addressbook de Name, E-Mail, Telefon
new contact submitted by %1 at %2 addressbook de Neuer Kontakt eingetragen von %1 am %2
new window opened to edit infolog for your selection addressbook de Es wird ein neues Fenster zum Erstellen des InfoLog-Eintrags geöffnet
next date addressbook de Nächster Termin
no categories selected addressbook de keine Kategorien ausgewählt
no country selected addressbook de Kein Land ausgewählt
no distribution list addressbook de Keine Verteilerliste
no fallback addressbook de Keine Ausweichlösung
no vcard addressbook de Keine vCard
@ -417,6 +419,7 @@ prevent deleting of contacts admin de Das Löschen von Adressen verhindern
private address addressbook de Privatadresse
private custom fields addressbook de Private Benutzerdefinierte Felder
public key addressbook de öffentlicher Schlüssel
public sharing url addressbook de Geteilt mit Link
publish into groups: addressbook de In folgenden Gruppen veröffentlichen:
read a list / search for entries. addressbook de Lese die Liste / Suche nach Einträgen
read a list of entries. addressbook de Liest eine Liste von Einträgen.
@ -544,6 +547,7 @@ warning: all contacts found will be deleted! addressbook de WARNUNG: Alle gefund
weekday addressbook de Wochentag
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook de Was sollen Verknüpfungen zum Adressbuch in anderen Anwendungen anzeigen. Leere Werte werden ausgelassen. Sie müssen sich neu anmelden, wenn Sie hier eine Änderung vornehmen!
when viewing a contact, show linked entries from the selected application addressbook de Bei der Ansicht eine Kontaktes werden nur Links zu folgenden Anwendungen gezeigt.
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook de Wenn Sie Einträge zu Dokumenten zusammenführen, werden sie hier gespeichert. Wenn kein Verzeichnis angegeben wird, werden sie in Ihrem Heimatverzeichnis (/home/...) gespeichert.
where to add the email address addressbook de wo soll die E-Mail-Adresse hinzugefügt werden
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook de Welches Format soll das Adressbuch für Adressen verwenden, deren landesübliches Adressformat unbekannt ist. Wenn das Adressformat eines Landes dem Adressbuch bekannt ist, wird das unabhängig von dieser Einstellung benutzt.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook de Welches Adressbuch soll beim Hinzufügen von Kontakten ausgewählt sein, wenn Sie keine Hinzufügen Rechte zum aktuellen Adressbuch haben.

View File

@ -8,6 +8,7 @@
%1 public keys added. addressbook el %1 δημόσια κλειδιά προστέθηκαν.
%1 records imported addressbook el %1 εγγραφές εισήχθησαν
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook el %1 εγγραφές αναγνώσθηκαν (δεν εισηχθησαν ακόμη, μπορείτε να %2επιστρέψετε%3 και να ξετσεκάρετε τη Δοκιμαστική Εισαγωγή)
%1 shared this contact on %2 with %3 %4 addressbook el %1 μοιράστηκε αυτή την επαφή στο %2 %3 %4
%1 starts with '%2' addressbook el %1 ξεκινά με '%2'
%s please calculate the result addressbook el %s παρακαλώ υπολογίστε το αποτέλεσμα
(e.g. 1969) addressbook el (π.χ. 1969)
@ -41,7 +42,7 @@ added by synchronisation addressbook el προστέθηκε συγχρονισ
added to distribution list addressbook el προστέθηκε στη λίστα διανομής
additional information about using ldap as contact repository admin el Επιπρόσθετες πληροφορίες για τη χρήση του LDAP ως αποθήκη επαφής
address book common el Επαφές
address book - vcard in addressbook el Επαφές - VCard in
address book - vcard in addressbook el Επαφές - vCard in
address book - view addressbook el Επαφές - εμφάνιση
address line 2 addressbook el Γραμμή Διευθύνσεων 2
address line 2 (private) addressbook el Γραμμή Διευθύνσεων 2 (προσ.)
@ -59,7 +60,7 @@ addressbook the contact should be shown addressbook el Βιβλίο διαυθύ
addressbook vcard export addressbook el Βιβλίο διευθύνσεων εξαγωγή vCard
addressbook vcard import addressbook el Βιβλίο διευθύνσεων εισαγωγή vCard
addressbook-fieldname addressbook el Επαφές-Πεδίο ονόματος
addvcard addressbook el Προσθήκη VCard
addvcard addressbook el Προσθήκη vCard
advanced search addressbook el Αναζήτηση για προχωρημένους
all addressbooks addressbook el Όλα τα βιβλία διευθύνσεων
all contacts addressbook el Όλες οι επαφές
@ -232,7 +233,7 @@ error: the entry has been updated since you opened it for editing! addressbook e
existing links addressbook el Υπάρχοντες σύνδεσμοι
exists addressbook el Υπάρχει
export as csv addressbook el Εξαγωγή ως CSV
export as vcard addressbook el Εξαγωγή ως VCard
export as vcard addressbook el Εξαγωγή ως vCard
export contacts addressbook el Εξαγωγή επαφών
export definition to use for nextmatch export addressbook el Εξαγωγή ορισμών για χρήση στην εξαγωγή nextmatch
export definitition to use for nextmatch export addressbook el Εξαγωγή ορισμών για χρήση στην εξαγωγή nextmatch
@ -298,17 +299,17 @@ import contacts addressbook el Εισαγωγή επαφών
import csv-file into addressbook addressbook el Εισαγωγή αρχείου CSV στο βιβλίο Διευθύνσεων
import file addressbook el Εισαγωγή Αρχείου
import from addressbook el Εισαγωγή από
import from ldif, csv, or vcard addressbook el Εισαγωγή από LDIF, CSV, ή VCard
import from ldif, csv, or vcard addressbook el Εισαγωγή από LDIF, CSV, ή vCard
import from outlook addressbook el Εισαγωγή από το Outlook
import multiple vcard addressbook el Εισαγωγή πολλαπλών VCard
import multiple vcard addressbook el Εισαγωγή πολλαπλών vCard
import next set addressbook el Εισαγωγή επόμενου σετ
import_instructions addressbook el Στο Netscape, ανοίξτε την ατζέντα διευθύνσεων και επιλέξτε <b>Εξαγωγή</b> από το <b>Αρχείο</b>. Το εξαγώγιμο αρχείο θα είναι σε LDIF μορφή.<p>Ή, στο Outlook, επιλέξτε το φάκελο Eπαφών, επιλέξτε<b>Import and Export...</b> από το <b>File</b> menu και εξάγετε τις επαφές σας σε ένα CSV αρχείο.<p>Ή, στο Palm Desktop 4.0 ή μεγαλύτερο, επισκεφθείτε το βιβλίο διευθύνσεων σας και επιλέξτε <b>Export</b> από το <b>File</b> menu.Το εξαγώγιμο αρχείο θα ειναι σε VCard μορφή.
import_instructions addressbook el Στο Netscape, ανοίξτε την ατζέντα διευθύνσεων και επιλέξτε <b>Εξαγωγή</b> από το <b>Αρχείο</b>. Το εξαγώγιμο αρχείο θα είναι σε LDIF μορφή.<p>Ή, στο Outlook, επιλέξτε το φάκελο Eπαφών, επιλέξτε<b>Import and Export...</b> από το <b>File</b> menu και εξάγετε τις επαφές σας σε ένα CSV αρχείο.<p>Ή, στο Palm Desktop 4.0 ή μεγαλύτερο, επισκεφθείτε το βιβλίο διευθύνσεων σας και επιλέξτε <b>Export</b> από το <b>File</b> menu.Το εξαγώγιμο αρχείο θα ειναι σε vCard μορφή.
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook el Εισαγάγει επαφές στο βιβλίο διευθύνσεων από ένα αρχείο CSV ( 'Comma Separated Values'). Στις σχετικές ρυθμίσεις μπορείτε να επιλέξετε και χαρακτήρα διαχωρισμού.
imports contacts into your addressbook from a vcard file. addressbook el Εισαγάγει επαφές στο βιβλίο διευθύνσεων σας από ένα αρχείο vCard
in %1 days (%2) is %3's birthday. addressbook el Σε %1 ημέρες (%2) είναι του/της %3 τα γενέθλια.
income addressbook el Εισόδημα
infolog addressbook el InfoLog
infolog-organisation addressbook el Άνοιγμα εμφάνισης Infolog CRM του οργανισμού
infolog addressbook el InfoLog Επικοινωνία
infolog-organisation addressbook el Οργάνωση InfoLog
insert addressbook el Εισαγωγή
insufficent rights to delete this list! addressbook el Ανεπαρκή δικαιώματα για διαγραφή αυτής της λίστας!
insufficent rights to edit this list! addressbook el Ανεπαρκή δικαιώματα για την επεξεργασία αυτής της λίστας!
@ -333,10 +334,11 @@ list already exists! addressbook el Η λίστα υπάρχει ήδη
list created addressbook el Η λίστα δημιουργήθηκε
list creation failed, no rights! addressbook el Η δημιουργία της λίστας απέτυχε, δεν έχετε το δικαίωμα!
list of files linked to the current record addressbook el Λίστα αρχείων συνδεδεμένα με την τρέχουσα εγγραφή
load vcard addressbook el Φόρτωση VCard
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook el Φόρτωση προσαρμοσμένων πεδίων στο ευρετήριο, ακόμη και αν η στήλη προσαρμοσμένου πεδίου είναι απενεργοποιημένη (π.χ. για να τα εμφανίσετε σε μια συγκεκριμένη στήλη ευρετηρίου)
load vcard addressbook el Φόρτωση vCard
location addressbook el Τοποθεσία
locations addressbook el τοποθεσίες
mail vcard addressbook el Αποστολή VCard με ηλεκτρονικό ταχυδρομείο
mail vcard addressbook el Αποστολή vCard με ηλεκτρονικό ταχυδρομείο
main categories in their own field addressbook el Κύριες κατηγορίες στο δικό τους πεδίο
manage mapping addressbook el Επεξεργασία αντιστοιχίσεων
mark records as private addressbook el Σημείωση εγγραφών ως ιδιωτικές
@ -356,23 +358,25 @@ modem phone addressbook el Τηλέφωνο modem
more ... addressbook el Περισσότερα
move to addressbook addressbook el Μεταφορά στο βιβλίο διευθύνσεων
moved addressbook el μετακινήθηκε
multiple vcard addressbook el Πολλαπλή VCard
multiple vcard addressbook el Πολλαπλή vCard
name for the distribution list addressbook el Όνομα για την λίστα διανομής
name of current user, all other contact fields are valid too addressbook el Όνομα του συνδεδεμένου χρήστη, επίσης ισχύουν όλα τα πεδία επαφών.
name, address addressbook el Όνομα, Διεύθυνση
new contact submitted by %1 at %2 addressbook el Νέα επαφή υπεβλήθει από %1 στις %2
new window opened to edit infolog for your selection addressbook el Νέο παράθυρο για την επεξεργασία του Infolog
new window opened to edit infolog for your selection addressbook el Νέο παράθυρο για την επεξεργασία του InfoLog
next date addressbook el Επόμενη ημερομηνία
no categories selected addressbook el Δεν έχουν επιλεγεί κατηγορίες
no country selected addressbook el Δεν έχει επιλεγεί χώρα
no distribution list addressbook el Δεν υπάρχει λίστα διανομής
no fallback addressbook el Δεν υπάρχει εναλλακτική
no vcard addressbook el Οχι VCard
no vcard addressbook el Οχι vCard
not shared addressbook el δεν μοιράζεται
number addressbook el Αριθμός
number of records to read (%1) addressbook el Αριθμός εγγραφών προς ανάγνωση (%1)
open %1 crm view addressbook el Άνοιγμα %1 σε εμφάνιση CRM
open email addresses in external mail program addressbook el Άνοιγμα διευθύνσεων ηλεκτρονικού ταχυδρομείου σε εξωτερική εφαρμογή
open for editing? addressbook el Άνοιγμα για επεξεργασία;
open infolog crm view preferences el Άνοιγμα εμφάνισης Infolog CRM της επαφής
open infolog crm view preferences el Άνοιγμα εμφάνισης InfoLog CRM της επαφής
open tracking system crm view preferences el Άνοιγμα εμφάνισης Tracker System CRM
options for type admin el Επιλογές για τον τύπο
organisation addressbook el οργανισμός
@ -443,6 +447,12 @@ send succeeded to %1 common el Η αποστολή ήταν επιτυχείς
seperator addressbook el Χαρακτήρας διαχωρισμού
set full name and file as field in contacts of all users (either all or only empty values) admin el Ορισμός πλήρους ονόματος και πεδίου 'αποθήκευση ως' για όλους τους χρήστες. Είτε όλα ή μόνο κενές τιμές.
set only full name addressbook el Να ορίζεται μόνο το πλήρες όνομα
share into addressbook addressbook el Μοιραστείτε στο βιβλίο διευθύνσεων
share writable addressbook el Μοιραστείτε εγγράψιμο
shared addressbook el κοινόχρηστο
shared by me addressbook el Κοινή χρήση από εμένα
shared into addressbook %1 addressbook el κοινή χρήση στο βιβλίο διευθύνσεων %1
shared with addressbook el Κοινή χρήση με
should the columns photo and home address always be displayed, even if they are empty. addressbook el Επιθυμείτε να εμφανίζονται πάντα οι στήλες φωτογραφίας και διεύθυνσης οικίας, ακόμα και αν είναι κενές.
show addressbook el Εμφάνιση
show active accounts addressbook el Εμφάνιση ενεργών λογαριασμών
@ -494,6 +504,8 @@ unable to import into %1, using %2 addressbook el Αδυναμία εισαγω
unique id (uid) addressbook el Μοναδικό (Unique) ID (UID)
unique id<br />(to update existing records) addressbook el Μοναδικό (Unique) ID (UID)<br/>για την ενημέρωση υφιστάμενων εγγραφών
unknown type %1, imported as %2 addressbook el Άγνωστος τύπος %1, έγινε εισαγωγή ως %2
unshare addressbook el Δεν μοιράζεται πλέον
unshared addressbook el δεν μοιράζεται πλέον
update a single entry by passing the fields. addressbook el Ενημέρωση συγκεκριμένης καταχώρησης εισάγωντας τα πεδία.
update fields by edited organisations? admin el Πεδία που πρέπει να ενημερώνονται όταν γίνεται επεξεργασία οργανισμού.
updated addressbook el Ενημερώθηκε
@ -508,9 +520,9 @@ use setup for a full account-migration admin el χρήση της εγκατάσ
used for links and for the own sorting of the list addressbook el χρησιμοποιείται για συνδέσμους και προσωπικές ταξινομήσεις της λίστας
user groups are automatically shown as distribution lists. addressbook el Οι ομάδες χρηστών εμφανίζονται αυτόματα ως λίστες διανομής.
user preference addressbook el Επιλογή χρήστη
vcard common el VCard
vcards require a first name entry. addressbook el VCards απαιτούν καταχώρηση ονόματος
vcards require a last name entry. addressbook el VCards απαιτούν καταχώρηση επίθετου
vcard common el vCard
vcards require a first name entry. addressbook el vCards απαιτούν καταχώρηση ονόματος
vcards require a last name entry. addressbook el vCards απαιτούν καταχώρηση επίθετου
verification addressbook el Επαλήθευση
view linked infolog entries addressbook el Εμφάνιση συνδεδεμένων καταχωρήσεων του InfoLog
warning!! ldap is valid only if you are not using contacts for accounts storage! admin el ΠΡΟΣΟΧΗ!! Το LDAP ισχύει μόνο εάν ΔΕΝ χρησιμοποιείτε τις επαφές για την αποθήκευση λογαριασμών!
@ -534,13 +546,14 @@ yes, for the next week addressbook el Ναι, για την επόμενη εβ
yes, for today and tomorrow addressbook el Ναι, για σήμερα και αύριο
yes, only admins can purge deleted items admin el Ναι, μόνο ο διαχειριστής μπορεί να καθαρίσει τα αντικείμενα που έχουν διαγραφεί
yes, users can purge their deleted items admin el Ναι, οι χρήστες μπορούν να καθαρίζουν τα διαγραμμένα αντικείμενα
you are not allowed to share into the addressbook of %1 addressbook el Δεν επιτρέπεται η κοινή χρήση στο βιβλίο διευθύνσεων %1
you are not permitted to delete contact %1 addressbook el Δεν έχετε άδεια να διαγράψετε την επαφή %1
you are not permittet to delete this contact addressbook el Δεν έχετε άδεια να διαγράψετε αυτήν την επαφή
you are not permittet to edit this contact addressbook el Δεν έχετε άδεια να επεξεργαστείτε αυτήν την επαφή
you are not permittet to view this contact addressbook el Δεν έχετε άδεια να δείτε τα στοιχεία αυτής της επαφής
you can only use ldap as contact repository if the accounts are stored in ldap too! admin el Μπορείτε να χρησιμοποιήσετε το LDAP ως αποθήκη επαφής μόνο αν οι λογαριασμοί αποθηκεύονται στο LDAP επίσης!
you can respond by visiting: addressbook el Για να το δείτε επισκεφθείτε:
you must select a vcard. (*.vcf) addressbook el Πρέπει να επιλέξετε μια VCard (*.vcf)
you must select a vcard. (*.vcf) addressbook el Πρέπει να επιλέξετε μια vCard (*.vcf)
you must select at least 1 column to display addressbook el Πρέπει να επιλέξετε τουλάχιστο μία στήλη για εμφάνιση
you need to select a distribution list addressbook el Πρέπει να επιλέξετε μια λίστα διανομής
you need to select some contacts first addressbook el Πρέπει να επιλέξετε κάποιες επαφές πρώτα

View File

@ -319,8 +319,8 @@ imports contacts into your addressbook from a csv file. csv means 'comma separat
imports contacts into your addressbook from a vcard file. addressbook en Imports contacts into your Addressbook from a vCard File.
in %1 days (%2) is %3's birthday. addressbook en In %1 days (%2) is %3's birthday.
income addressbook en Income
infolog addressbook en InfoLog
infolog-organisation addressbook en Open Infolog CRM view of the organisation
infolog addressbook en InfoLog contact
infolog-organisation addressbook en InfoLog organisation
insert addressbook en Insert
insufficent rights to delete this list! addressbook en Insufficient rights to delete this list!
insufficent rights to edit this list! addressbook en Insufficent rights to edit this list!
@ -349,7 +349,7 @@ load custom fields in index, even if custom field column is off (eg. to display
load vcard addressbook en Load vCard
location addressbook en Location
locations addressbook en Locations
mail vcard addressbook en Mail VCard
mail vcard addressbook en Mail vCard
main categories in their own field addressbook en Main categories in their own field
manage mapping addressbook en Manage mapping
mark records as private addressbook en Mark records as private
@ -373,10 +373,12 @@ multiple vcard addressbook en Multiple vCard
name for the distribution list addressbook en Name for the distribution list
name of current user, all other contact fields are valid too addressbook en Name of current user, all other contact fields are valid too.
name, address addressbook en Name, Address
name, email, phone addressbook en Name, email, phone
new contact submitted by %1 at %2 addressbook en New contact submitted by %1 at %2 .
new window opened to edit infolog for your selection addressbook en New window opened to edit InfoLog.
next date addressbook en Next date
no categories selected addressbook en No categories selected
no country selected addressbook en No country selected
no distribution list addressbook en No distribution list
no fallback addressbook en No fallback
no vcard addressbook en No vCard
@ -417,6 +419,7 @@ prevent deleting of contacts admin en Prevent deleting of contacts
private address addressbook en Private address
private custom fields addressbook en Private custom fields
public key addressbook en Public key
public sharing url addressbook en Public sharing URL
publish into groups: addressbook en Publish into groups:
read a list / search for entries. addressbook en Read a list / search for entries.
read a list of entries. addressbook en Read a list of entries.
@ -544,6 +547,7 @@ warning: all contacts found will be deleted! addressbook en WARNING: All contact
weekday addressbook en Weekday
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook en Address book links displayed in other applications. Empty values will be left out. You need to log in anew, if you change this setting!
when viewing a contact, show linked entries from the selected application addressbook en When viewing a contact, show linked entries from the selected application
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook en When you merge entries into documents, they will be stored here. If no directory is provided, they will be stored in your home directory (/home/...)
where to add the email address addressbook en Where to add the email address
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook en Select which address format should be used for countries with unknown address format.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook en The address book to add contacts, when you have no rights to add to the current address book.

View File

@ -8,6 +8,7 @@
%1 public keys added. addressbook es-es Se han añadido %1 claves públicas
%1 records imported addressbook es-es Se han importado %1 registros
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook es-es Se han leído %1 registros (no importados todavía, puede volver %2atrás%3 y desmarcar la prueba de importación)
%1 shared this contact on %2 with %3 %4 addressbook es-es %1 compartió este contacto en %2 %3 %4
%1 starts with '%2' addressbook es-es %1 empieza por '%2'
%s please calculate the result addressbook es-es %s por favor, calcule el resultado
(e.g. 1969) addressbook es-es (p. ej. 1969)
@ -22,7 +23,7 @@ add %1 addressbook es-es Añadir %1
add a contact to this organisation addressbook es-es Añadir un contacto a esta organización
add a customfield to link title addressbook es-es Añadir un campo personalizo al título del vínculo
add a new contact addressbook es-es Añadir un contacto nuevo
add a new infolog addressbook es-es Añadir un nuevo registro de Infolog
add a new infolog addressbook es-es Añadir un nuevo registro de InfoLog
add a new list addressbook es-es Añadir una lista nueva
add a single entry by passing the fields. addressbook es-es Añadir una entrada simple pasando los campos
add appointment addressbook es-es Añadir cita
@ -178,11 +179,14 @@ deletes the photo addressbook es-es Borra la foto
department common es-es Departamento
departments addressbook es-es departamentos
directory with documents to insert contacts addressbook es-es Directorio con documentos para insertar contactos
disable addressbook es-es Desactivar
disable last/next event column addressbook es-es Desactivar la columna de último/siguiente evento
display contact addressbook es-es Mostrar contacto
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook es-es Muestra un recordatorio para los cumpleaños en la página de inicio (la página que se ve al entrar en EGroupware o pulsar en el icono de inicio).
distribution list deleted addressbook es-es Lista de distribución borrada
distribution list renamed addressbook es-es Lista de distribución renombrada
distribution lists addressbook es-es Listas de distribución
distribution lists as groups addressbook es-es Listas de distribución como grupos
distribution lists, ... addressbook es-es Listas de distribución, ...
do you really want to delete this contact? addressbook es-es ¿Realmente desea borrar este contacto?
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook es-es ¿Desea una libreta de direcciones privada, que no pueden ver otros usuarios (a menos que conceda acceso a su libreta de direcciones personal)?
@ -193,6 +197,7 @@ don't hide empty columns addressbook es-es No ocultar las columnas vacías
download addressbook es-es Descargar
download export file (uncheck to debug output in browser) addressbook es-es Descargar fichero exportado (desmarcar para depurar la salida en el navegador)
download this contact as vcard file addressbook es-es descargar este contacto como fichero vCard
duplicate threshold addressbook es-es Umbral de duplicación
duplicate warning addressbook es-es Advertencia duplicada
duplicates addressbook es-es Duplicados
duration addressbook es-es Duración
@ -248,6 +253,8 @@ field %1 has been updated ! addressbook es-es ¡El campo %1 ha sido actualizado!
field name addressbook es-es Nombre del campo
fields for the csv export addressbook es-es Campos para exportar a CSV
fields the user is allowed to edit himself admin es-es Campos que el propio usuario puede editar
fields to check for duplicates addressbook es-es Campos para buscar duplicados
fields to consider when looking for duplicate contacts. addressbook es-es Campos a considerar cuando se buscan contactos duplicados.
fields to copy when copying an address? admin es-es Campos a copiar cuando se copia una dirección
fields to show in address list addressbook es-es Campos a mostrar en la lista de direcciones
fieldseparator addressbook es-es Separador de campos
@ -266,6 +273,7 @@ group %1 addressbook es-es Grupo %1
h addressbook es-es h
hide accounts from addressbook addressbook es-es Ocultar las cuentas de usuario
hide all accounts addressbook es-es Ocultar todas las cuentas
hide user groups as distribution lists addressbook es-es Ocultar grupos de usuarios como listas de distribución
hides accounts completly from the adressbook. addressbook es-es Oculta completamente las cuentas de la libreta de direcciones
history logging admin es-es Registro de historial
home address addressbook es-es Domicilio particular
@ -279,6 +287,7 @@ home state addressbook es-es Provincia de residencia
home street addressbook es-es Domicilio personal
home zip code addressbook es-es Código postal
how many contacts should non-admins be able to export admin es-es Cuántos contactos deben poder exportar usuarios que no son administradores
how many fields must match for the record to be considered a duplicate. addressbook es-es Cuántos campos deben coincidir para que el registro se considere un duplicado.
html link to the current record addressbook es-es Enlace HTML al registro actual
icon addressbook es-es Icono
if accounts are already in ldap admin es-es si las cuentas ya están en LDAP
@ -288,11 +297,11 @@ import contacts addressbook es-es Importar contactos
import csv-file into addressbook addressbook es-es Importar archivo CSV en la Libreta de direcciones
import file addressbook es-es Importar fichero
import from addressbook es-es Importar desde
import from ldif, csv, or vcard addressbook es-es Importar desde LDIF, CSV o VCard
import from ldif, csv, or vcard addressbook es-es Importar desde LDIF, CSV o vCard
import from outlook addressbook es-es Importar desde Outlook
import multiple vcard addressbook es-es Importar múltiples VCards
import multiple vcard addressbook es-es Importar múltiples vCards
import next set addressbook es-es Importar el registro siguiente
import_instructions addressbook es-es Si usa Mozilla o Netscape, abra la libreta de direcciones y seleccione <b>Exportar</b> desde el menú <b>Archivo</b>. El fichero exportado estará en formato LDIF.<p>O, en Outlook, seleccione su carpeta de contactos, luego, en el menú<b>Fichero</b>, <b>Importar y Exportar</b> para guardarlos en un fichero separado por comas (CSV).<p>O, en Palm Desktop 4.0 o superior, visite la libreta de direcciones y seleccione <b>Exportar</b> desde el menú <b>Archivo</b>. El fichero exportado estará en formato VCard.
import_instructions addressbook es-es Si usa Mozilla o Netscape, abra la libreta de direcciones y seleccione <b>Exportar</b> desde el menú <b>Archivo</b>. El fichero exportado estará en formato LDIF.<p>O, en Outlook, seleccione su carpeta de contactos, luego, en el menú<b>Fichero</b>, <b>Importar y Exportar</b> para guardarlos en un fichero separado por comas (CSV).<p>O, en Palm Desktop 4.0 o superior, visite la libreta de direcciones y seleccione <b>Exportar</b> desde el menú <b>Archivo</b>. El fichero exportado estará en formato vCard.
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook es-es Importa los contactos en la libreta de direcciones desde un fichero CSV. CSV significa 'Valores separados por comas'. Sin embargo, en la pestaña de opciones, también se pueden elegir otros separadores.
in %1 days (%2) is %3's birthday. addressbook es-es En %1 días (%2) es el cumpleaños de %3.
income addressbook es-es Ingresos
@ -321,12 +330,14 @@ list already exists! addressbook es-es ¡La lista ya existe!
list created addressbook es-es Se ha creado la lista
list creation failed, no rights! addressbook es-es Falló la creación de lista. No tiene privilegios suficientes.
list of files linked to the current record addressbook es-es Lista de ficheros vinculados al registro actual
load vcard addressbook es-es Cargar VCard
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook es-es Cargar campos personalizados en el índice, incluso si la columna de campos personalizados está desactivada (por ejemplo, para mostrarlos en una columna específica del índice)
load vcard addressbook es-es Cargar vCard
location addressbook es-es Ubicación
locations addressbook es-es ubicaciones
manage mapping addressbook es-es Administrar los mapeos
mark records as private addressbook es-es Marcar registros como privados
merge contacts addressbook es-es Mezclar contactos
merge duplicates addressbook es-es Fusionar duplicados
merge into first or account, deletes all other! addressbook es-es ¡Mezclar en el primero o cuenta, borra todos los demás!
merged addressbook es-es Mezclado
message after submitting the form addressbook es-es Mensaje de después de enviar el formulario
@ -340,7 +351,7 @@ mobile phone (private) addressbook es-es Teléfono móvil (privado)
modem phone addressbook es-es Teléfono módem
more ... addressbook es-es Más...
moved addressbook es-es movido
multiple vcard addressbook es-es VCard múltiple
multiple vcard addressbook es-es vCard múltiple
name for the distribution list addressbook es-es Nombre para la lista de distribución
name of current user, all other contact fields are valid too addressbook es-es Nombre del usuario actual. Todos los demás campos del contacto también son válidos.
name, address addressbook es-es Nombre, Dirección
@ -348,8 +359,10 @@ new contact submitted by %1 at %2 addressbook es-es Nuevo contacto enviado por %
new window opened to edit infolog for your selection addressbook es-es Se ha abierto una ventana nueva para editar la nota para su selección
next date addressbook es-es Fecha siguiente
no categories selected addressbook es-es no se seleccionaron categorías
no country selected addressbook es-es No hay país seleccionado
no fallback addressbook es-es Sin respaldo
no vcard addressbook es-es Sin VCard
no vcard addressbook es-es Sin vCard
not shared addressbook es-es no compartido
number addressbook es-es Número
number of records to read (%1) addressbook es-es Número de registros a leer (%1)
open for editing? addressbook es-es ¿Abrir para editar?
@ -416,6 +429,12 @@ send emailcopy to receiver addressbook es-es Enviar copia por correo al destinat
seperator addressbook es-es Separador
set full name and file as field in contacts of all users (either all or only empty values) admin es-es Establecer el nombre completo y el fichero como campo de contactos de todos los usuarios (todos o sólo valores vacíos)
set only full name addressbook es-es Establecer sólo el nombre completo
share into addressbook addressbook es-es Compartir en la libreta de direcciones
share writable addressbook es-es Compartir con escritura
shared addressbook es-es compartido
shared by me addressbook es-es Compartido por mí
shared into addressbook %1 addressbook es-es compartido en la libreta de direcciones %1
shared with addressbook es-es Compartido con
should the columns photo and home address always be displayed, even if they are empty. addressbook es-es ¿Mostrar las columnas de foto y domicilio particular, incluso si están vacías?
show addressbook es-es Mostrar
show infolog entries for this organisation addressbook es-es Mostrar las entradas del Registro de notas y tareas para esta organización
@ -459,6 +478,8 @@ type addressbook es-es Tipo
un-delete addressbook es-es Recuperar
unique id (uid) addressbook es-es ID único (UID)
unique id<br />(to update existing records) addressbook es-es ID único<br />(para actualizar los registros existentes)
unshare addressbook es-es No compartir más
unshared addressbook es-es ya no se comparte
update a single entry by passing the fields. addressbook es-es Actualizar una única entrada pasando los campos
update fields by edited organisations? admin es-es ¿Actualizar los campos por organizaciones editadas?
updated addressbook es-es Actualizado
@ -471,6 +492,7 @@ use country list addressbook es-es Utilizar lista de países
use setup for a full account-migration admin es-es Use la instalación para una migración completa de las cuentas
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook es-es Usar esta etiqueta para las etiquetas de direcciones. Ponga el contenido que quiera repetir entre dos etiquetas.
used for links and for the own sorting of the list addressbook es-es utilizado para los enlaces y para el orden propio de la lista
user groups are automatically shown as distribution lists. addressbook es-es Los grupos de usuarios se muestran automáticamente como listas de distribución.
user preference addressbook es-es Preferencia del usuario
vcard common es-es Tarjeta de visita
vcards require a first name entry. addressbook es-es Las tarjetas de visita requieren el primer nombre.
@ -481,6 +503,7 @@ warning!! ldap is valid only if you are not using contacts for accounts storage!
warning: all contacts found will be deleted! addressbook es-es ATENCIÓN: ¡Se borrarán todos los contactos encontrados!
weekday addressbook es-es Día semanal
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook es-es Qué deben mostrar los enlaces a la libreta de direcciones en otras aplicaciones. Los valores vacíos se ignorarán. Es necesario volver a iniciar la sesión si se cambia esta opción.
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook es-es Cuando se combinen las entradas en los documentos, se almacenarán aquí. Si no se proporciona ningún directorio, se almacenarán en su directorio personal (/home/...)
where to add the email address addressbook es-es dónde añadir la dirección de correo electrónico
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook es-es Qué formato de dirección debe usar la libreta de direcciones para países de los que no conoce el formato de las direcciones. Si se conoce el formato de las direcciones, se usa independientemente de lo indicado en esta opción
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook es-es Qué libreta de direcciones debe seleccionarse al añadir un contacto Y cuando no haya permiso de añadir en la libreta de direcciones actual.
@ -497,6 +520,7 @@ yes, for the next week addressbook es-es Sí, para la semana siguiente
yes, for today and tomorrow addressbook es-es Sí, para hoy y mañana
yes, only admins can purge deleted items admin es-es Sí, sólo los administradores pueden purgar los elementos borrados
yes, users can purge their deleted items admin es-es Sí, los usuarios pueden purgar sus elementos borrados
you are not allowed to share into the addressbook of %1 addressbook es-es No tiene permiso para compartir a la libreta de direcciones %1
you are not permitted to delete contact %1 addressbook es-es No tiene permiso para borrar el contacto %1
you are not permittet to delete this contact addressbook es-es No tiene permiso para borrar este contacto
you are not permittet to edit this contact addressbook es-es No tiene permiso para editar este contacto

View File

@ -1,4 +1,5 @@
%1 added addressbook et %1 lisatud
%1 shared this contact on %2 with %3 %4 addressbook et %1 jagas seda kontakti %2 %3 %4
accounts addressbook et Kontod
actions addressbook et Tegevused
add %1 addressbook et Lisa %1
@ -26,34 +27,63 @@ delete this contact addressbook et Kustuta see kontakt
deleted addressbook et kustutatud
doesn't matter addressbook et pole tähtis
download addressbook et Lae alla
duplicate threshold addressbook et Duplitseeritud künnis
duplicate warning addressbook et Duplikaadi hoiatus
duplicates addressbook et Duplikaadid
duration addressbook et Kestvus
email & internet addressbook et Email & Internet
empty for all addressbook et tühi kõigijaoks
end addressbook et Lõpp
existing links addressbook et Eksisteerivad lingid
fax addressbook et Faks
fields to check for duplicates addressbook et Väljad duplikaatide kontrollimiseks
fields to consider when looking for duplicate contacts. addressbook et Väljad, mida dubleerivate kontaktide otsimisel arvesse võtta.
fieldseparator addressbook et Väljaeraldaja
full name addressbook et Täis nimi
general admin et Üldine
global categories addressbook et Globaalsed Kategooriad
hide all accounts addressbook et Peida kõik kontod
hide user groups as distribution lists addressbook et Peida kasutajarühmad kui jaotamisloendid
hides accounts completly from the adressbook. addressbook et Peida kasutajakontod täielikult aadressiraamatust.
how many fields must match for the record to be considered a duplicate. addressbook et Mitu välja peab kattuma, et kirjet saaks pidada duplikaadiks.
icon addressbook et Ikoon
import addressbook et Import
infolog addressbook et InfoLog
infolog addressbook et InfoLog Kontakt
infolog-organisation addressbook et InfoLog Organisatsioon
last modified addressbook et Viimati muudetud
links addressbook et Lingid
location addressbook et Asukoht
merge duplicates addressbook et Dubleeringute ühendamine
merge into first or account, deletes all other! addressbook et Ühenda esimesse või kontosse, kustutab kõik teised!
move to addressbook addressbook et Liikumine aadressiraamatusse
no country selected addressbook et Riik ei ole valitud
no distribution list addressbook et Jaotamisloend puudub
not shared addressbook et ei ole jagatud
organisation addressbook et Organisatsioon
participants addressbook et Osalejad
permission denied !!! addressbook et Õigused puuduvad !!!
photo addressbook et Foto
prevent deleting of contacts admin et Kontaktide kustutamise vältimine
repetition addressbook et Kordus
search letter addressbook et Otsi kirja
select all addressbook et Märgi kõik
share into addressbook addressbook et Jaga aadressiraamatusse
share writable addressbook et Jaga kirjutatav
shared addressbook et jagatud
shared by me addressbook et Jagatud minu poolt
shared into addressbook %1 addressbook et jagatud aadressiraamatusse %1
shared with addressbook et Jagatud koos
show addressbook et Näita
start admin et Start
state common et Maakond
street common et Tänav
translation addressbook et Tõlkimine
unshare addressbook et Enam ei jaga
unshared addressbook et ei ole enam jagatud
updated addressbook et uuendatud
user groups are automatically shown as distribution lists. addressbook et Kasutajagrupid kuvatakse automaatselt jaotamisloenditena.
weekday addressbook et Nädalati
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook et Kui ühendate kirjeid dokumentidesse, salvestatakse need siia. Kui kataloogi pole antud, salvestatakse need teie kodukataloogi (/home/...).
wrong - try again ... addressbook et Vale - proovi uuesti ...
you are not allowed to share into the addressbook of %1 addressbook et Teil ei ole lubatud jagada aadressiraamatusse %1
you can respond by visiting: addressbook et Sa saad vastata külastates:

View File

@ -34,7 +34,7 @@ added by synchronisation addressbook fi Lisätty synkronoinnin yhteydessä
added to distribution list addressbook fi Lisätty jakelulistalle
additional information about using ldap as contact repository admin fi Lisätietoa LDAP:n käyttämisestä yhteystietojen varastona.
address book common fi Osoitekirja
address book - vcard in addressbook fi Osoitekirja - VCard kohteessa
address book - vcard in addressbook fi Osoitekirja - vCard kohteessa
address book - view addressbook fi Osoitekirja - näkymä
address line 2 addressbook fi Osoiterivi 2
address type addressbook fi Osoitteen tyyppi
@ -100,7 +100,6 @@ company name addressbook fi Yrityksen nimi
configuration common fi Konfigurointi
contact common fi Yhteystieto
contact application admin fi Yhteystietojen sovellus
contact copied addressbook fi Yhteystieto kopioitu
contact deleted addressbook fi Yhteystieto poistettu
contact fields to show addressbook fi Näytä yhteytietojen kentät
contact fields: addressbook fi Yhteystiedon kentät:
@ -165,6 +164,9 @@ don't hide empty columns addressbook fi Älä piiloita tyhjiä sarakkeita
download addressbook fi Lataa
download export file (uncheck to debug output in browser) addressbook fi Lataa vientitiedosto (Poista debug valinta selaimesta)
download this contact as vcard file addressbook fi Lataa tämä kontakti vCard-tiedostona
duplicate threshold addressbook fi Kaksinkertainen kynnysarvo
duplicate warning addressbook fi Kaksoiskappaleen varoitus
duplicates addressbook fi Kaksoiskappaleet
duration addressbook fi Kesto
each category in its own field addressbook fi Jokainen kategoria omassa kentissään
each option in its own field addressbook fi Jokainen arvo omassa kentässään
@ -190,7 +192,7 @@ example {{nenvlf role}} - if field role is not empty, set a lf without any value
existing links addressbook fi Olemassaolevat linkit
exists addressbook fi Olemassaoleva
export as csv addressbook fi Vie CSV -muodossa
export as vcard addressbook fi Vie VCard -muodossa
export as vcard addressbook fi Vie vCard -muodossa
export contacts addressbook fi Vie yhteystiedot
export definition to use for nextmatch export addressbook fi Vienti asetukset 'nextmatch' vientiin
export definitition to use for nextmatch export addressbook fi Vienti asetukset 'nextmatch' vientiin
@ -211,6 +213,8 @@ field %1 has been updated ! addressbook fi Kenttä %1 on päivitetty!
field name addressbook fi Kentän nimi
fields for the csv export addressbook fi Kentät CSV -vientiä varten
fields the user is allowed to edit himself admin fi Kentät, joita käyttäjä voi itse muuttaa
fields to check for duplicates addressbook fi Kentät, jotka tarkistetaan päällekkäisyyksien varalta
fields to consider when looking for duplicate contacts. addressbook fi Kentät, jotka otetaan huomioon, kun etsitään päällekkäisiä yhteystietoja.
fields to copy when copying an address? admin fi Mitkä kentät kopiodaan osoitteesta?
fields to show in address list addressbook fi Kentät, jotka näkyvät osoitelistassa
fieldseparator addressbook fi Kenttäerotin
@ -226,6 +230,8 @@ grant addressbook access common fi Myönnä ACL-oikeuksia osoitekirjaan
group %1 addressbook fi Ryhmä %1
h addressbook fi t
hide accounts from addressbook addressbook fi Piiloita käyttäjätilit osoitekirjasta
hide all accounts addressbook fi Piilota kaikki tilit
hide user groups as distribution lists addressbook fi Piilota käyttäjäryhmät jakelulistoiksi
hides accounts completly from the adressbook. addressbook fi Piiloita käyttäjätilit kokonaan osoitekirjasta.
history logging admin fi Historialoki
home address addressbook fi Kotiosoite
@ -239,6 +245,7 @@ home state addressbook fi Osavaltio (yksit.)
home street addressbook fi Katuosoite (yksit.)
home zip code addressbook fi Postinumero (yksit.)
how many contacts should non-admins be able to export admin fi Kuinka monta yhteystietoa muiden kuin ylläpitäjien sallitaan viedä kerralla?
how many fields must match for the record to be considered a duplicate. addressbook fi Kuinka monen kentän on täsmättävä, jotta tietue katsotaan kaksoiskappaleeksi.
icon addressbook fi Kuvake
if accounts are already in ldap admin fi Jos käyttäjätili on jo LDAP:ssa
ignore first line addressbook fi Ohita ensimmäinen rivi
@ -247,16 +254,17 @@ import contacts addressbook fi Tuo yhteystiedot
import csv-file into addressbook addressbook fi Tuo CSV-tiedosto osoitekirjaan
import file addressbook fi Tuo tiedosto
import from addressbook fi Tuo kohteesta:
import from ldif, csv, or vcard addressbook fi Tuo LDIF-, CSV- tai VCard-muodosta
import from ldif, csv, or vcard addressbook fi Tuo LDIF-, CSV- tai vCard-muodosta
import from outlook addressbook fi Tuo Outlookista
import multiple vcard addressbook fi Tuo useita VCard:ja
import multiple vcard addressbook fi Tuo useita vCard:ja
import next set addressbook fi Tuo seuraava ryhmä
import_instructions addressbook fi In Netscape, open the Address book and select <b>Export</b> from the <b>File</b> menu. The file exported will be in LDIF format.<p>Or, in Outlook, select your Contacts folder, select <b>Import and Export...</b> from the <b>File</b> menu and export your contacts into a comma separated text (CSV) file. <p>Or, in Palm Desktop 4.0 or greater, visit your address book and select <b>Export</b> from the <b>File</b> menu. The file exported will be in vCard format.
importer's personal addressbook fi Tuojan henkilökohtainen
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook fi Tuo yhteystiedot osoitekirjaan CSV tiedostosta. CVS (Comma Seperated Values) tarkoittaa pilkulla erotettua muotoilua. Voit valita Asetukset välilehdeltä myös muita erotustapoja.
in %1 days (%2) is %3's birthday. addressbook fi %1:n päivän kuluttua (%2) on syntymäpäivä henkilöllä %3.
income addressbook fi Tulo
infolog addressbook fi InfoLog
infolog addressbook fi InfoLog Yhteystiedot
infolog-organisation addressbook fi InfoLog Organisaatio
insert addressbook fi Syötä
insufficent rights to delete this list! addressbook fi Puuttelliset ACL-oikeudet listan poistamiseksi!
international addressbook fi Kansainvälinen
@ -280,7 +288,7 @@ list already exists! addressbook fi Lista on jo olemassa!
list created addressbook fi Lista luotu
list creation failed, no rights! addressbook fi Listan luonti epäonnistui, ei riittävästi oikeuksia!
list of files linked to the current record addressbook fi Lista liitetyistä tiedostoista
load vcard addressbook fi Lataa VCard
load vcard addressbook fi Lataa vCard
location addressbook fi Sijainti
locations addressbook fi Sijainnit
mail vcard addressbook fi Lähetä vCard
@ -288,6 +296,7 @@ main categories in their own field addressbook fi Pääkategoriat omassa kentiss
manage mapping addressbook fi Hallitse mappingiä
mark records as private addressbook fi Merkitse tietueet yksityisiksi
merge contacts addressbook fi Sulauta osoitteet
merge duplicates addressbook fi Yhdistä kaksoiskappaleet
merge into first or account, deletes all other! addressbook fi Sulauta ensimmäiseen tietueesseen, poistaa muut tietueet!
merged addressbook fi Sulautettu
message after submitting the form addressbook fi Viesti kaavakkeen lähettämisen jälkeen
@ -297,18 +306,21 @@ migration finished addressbook fi Sulauttaminen valmis
migration to ldap admin fi Sulauta LDAP:iin
mobile addressbook fi GSM
mobile phone addressbook fi Matkapuhelin
mobile phone (private) addressbook fi matkapuhelin (yksityinen)
modem phone addressbook fi Modem Phone
more ... addressbook fi Lisää ...
move to addressbook addressbook fi Siirrä osoitekirjaan
moved addressbook fi Siirretty
multiple vcard addressbook fi Monta VCardia
multiple vcard addressbook fi Monta vCard
name for the distribution list addressbook fi Nimeä jakelulista
name of current user, all other contact fields are valid too addressbook fi Nykyisen käyttäjän nimi, myös muut yhteystietokentät ovat voimassa.
name, address addressbook fi Nimi, osoite
new contact submitted by %1 at %2 addressbook fi Uusi yhteystieto lisätty: %1, %2
new window opened to edit infolog for your selection addressbook fi Uusi ikkuna avattu, voit muokata valitsemaasi InfoLogia.
new window opened to edit infolog for your selection addressbook fi Uusi ikkuna avattu, voit muokata valitsemaasi InfoLog.
next date addressbook fi Seuraava tapaaminen
no categories selected addressbook fi Kategorioita ei ole valittu
no country selected addressbook fi Ei valittua maata
no distribution list addressbook fi Ei jakelulistaa
no fallback addressbook fi Ei fallbackiä
no vcard addressbook fi Ei vCard
number addressbook fi Numero
@ -358,6 +370,7 @@ replacements for inserting contacts into documents addressbook fi Komennot (repl
required fields * addressbook fi Vaaditut kentät *
role addressbook fi Ammatti
room addressbook fi Huone
search letter addressbook fi Hakukirjain
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook fi Valitse jpeg muodossa oleva kuva. Se muokkautuu 60 pikseliä leveäksi kuvaksi.
select a view addressbook fi Valitse näkymä
select addressbook type addressbook fi Valitse osoitekirjan tyyppi
@ -375,9 +388,15 @@ send emailcopy to receiver addressbook fi Lähetä sähköpostikopio vastaanotta
seperator addressbook fi Erotin (Separator)
set full name and file as field in contacts of all users (either all or only empty values) admin fi Aseta "koko nimi" ja "tiedosto nimellä" (File as) kenttä kaikille käyttäjille. (joko kaikki tai tyhjä).
set only full name addressbook fi Ainoastaan koko nimi
share into addressbook addressbook fi Jaa osoitekirjaan
share writable addressbook fi Jaa kirjoitettavissa
shared addressbook fi jaettu
shared by me addressbook fi Jaettu minun toimesta
shared into addressbook %1 addressbook fi jaettu osoitekirjaan %1
shared with addressbook fi Jaettu
should the columns photo and home address always be displayed, even if they are empty. addressbook fi Näytetäänkö kuva- ja kotiosoitesarake aina, vaikka ne olisivat tyhjiä?
show addressbook fi Näytä
show infolog entries for this organisation addressbook fi Näytä InfoLogin merkinnät tästä organisaatiosta
show infolog entries for this organisation addressbook fi Näytä InfoLog merkinnät tästä organisaatiosta
show the contacts of this organisation addressbook fi Näytä tämän organisaation yhteystiedot
similar contacts found: addressbook fi Sama yhteystieto löydetty:
size of popup (wxh, eg.400x300, if a popup should be used) admin fi Popup ikkunan koko (korkeus x leveys, esim 400 x 300, jos popup ikkunat ovat käytössä)
@ -422,21 +441,22 @@ updated addressbook fi Päivitetty
upload or delete the photo addressbook fi Lataa tai poista kuva
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin fi URL linkki puhelinnumeroon (käytä %1 = soitettava numero, %u = käyttäjän nimi, %t = käyttäjän puhelin)
use addressbooks "own sorting" attribute addressbook fi Käytä osoitekirjan "oma lajittelu" vaihtoehtoa
use an extra category tab? addressbook fi Käytä ylimääräistä kategoria välilehteä.
use an extra tab for private custom fields? admin fi Käytä ylimääräistä välilehteä yksityisille lisäkentille.
use country list addressbook fi Käytä maaluetteloa
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook fi Käytä tägiä esim. osoitetarroihin. Lisää haluamasi kentät kahden tägin väliin.
used for links and for the own sorting of the list addressbook fi Käytä linkeissä ja omassa lajittelulistassa
user groups are automatically shown as distribution lists. addressbook fi Käyttäjäryhmät näytetään automaattisesti jakelulistoina.
user preference addressbook fi Käyttäjäasetukset
vcard common fi VCard
vcards require a first name entry. addressbook fi VCard vaatii etunimen.
vcards require a last name entry. addressbook fi VCard vaatii sukunimen.
vcard common fi vCard
vcards require a first name entry. addressbook fi vCard vaatii etunimen.
vcards require a last name entry. addressbook fi vCard vaatii sukunimen.
verification addressbook fi Varmentaminen
view linked infolog entries addressbook fi Näytä linkitetyt InfoLog-merkinnät
warning!! ldap is valid only if you are not using contacts for accounts storage! admin fi VAROITUS!! LDAP soveltuu vain, jos sitä ei käytetä käyttäjättilien tallentamiseen!
warning: all contacts found will be deleted! addressbook fi VAROITUS: Kaikki löytyneet osoitteet poistetaan!
weekday addressbook fi Viikonpäivä
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook fi Mitä osoitekirjan linkin tulisi sisältää muissa sovelluksissa esim. InfoLogissa. Tyhjiä kenttiä ei kuitenkaan näytetä. Kirjaudu sisään uudellen, jos muutat tätä asetusta!
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook fi Mitä osoitekirjan linkin tulisi sisältää muissa sovelluksissa esim. InfoLog. Tyhjiä kenttiä ei kuitenkaan näytetä. Kirjaudu sisään uudellen, jos muutat tätä asetusta!
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook fi Kun yhdistät merkintöjä asiakirjoihin, ne tallennetaan tähän. Jos hakemistoa ei ole annettu, ne tallennetaan kotihakemistoosi (/home/...).
where to add the email address addressbook fi Mihin sähköpostiosoite tulisi lisätä?
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook fi Mitä osoitteen muotoa osoitekirja käyttää maista joiden osoitemuoto on tuntematon. Jos maan osoitemuoto on tiedossa, se käyttää sitä riippumatta tästä asetuksesta.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook fi Mihin osoitekirjaan yhteystiedot lisätään, JOS sinulla ei ole ACL-oikeuksia lisätä yhteystietoja valitsemaasi/haluamaasi osoitekirjaan.

View File

@ -1,22 +1,23 @@
# addressbook fr #
%1 added addressbook fr %1 ajouté
%1 contact(s) %2 addressbook fr %1 contact(s) %2
%1 contact(s) %2, %3 failed because of %4 !!! addressbook fr %1 contact(s) %2, %3 en échec pour %4 !!!
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook fr %1 contact(s) %2, %3 en erreur (droits d'accès insuffisants).
%1 contact(s) added as %2 addressbook fr %1 contact(s) ajouté(s) comme %2
%1 contacts updated (%2 errors). addressbook fr %1 contacts mis à jour (%2 erreurs).
%1 entries %2, %3 failed because of insufficent rights !!! addressbook fr %1 entrées %2, %3 en échec pour droits insuffisants !!!
%1 entries %2, %3 failed. addressbook fr %1 entrées %2, %3 en échec.
%1 entries %2, %3 failed. addressbook fr %1 événement(s) %2, %3 en échec.
%1 event(s) %2 addressbook fr %1 événement(s) %2
%1 fields in %2 other organisation member(s) changed addressbook fr Le champ %1 dans %2 autre(s) membre(s) de l'organisation a changé.
%1 key(s) added to public keyserver "%2". addressbook fr %1 clé(s) publique(s) ajoutée(s) au serveur de clés publiques "%2".
%1 not implemented for %2! addressbook fr %1 non implémenté pour %2 !
%1 public keys added. addressbook fr %1 clé(s) publique(s) ajoutée(s).
%1 records imported addressbook fr %1 enregistrements importés.
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook fr %1 enregistrements lus (non encore importé, vous devriez retourner en arrière %2back%3 et décocher le test de límportation)
%1 shared this contact on %2 with %3 %4 addressbook fr %1 a communiqué ce contact le %2 %3 %4
%1 starts with '%2' addressbook fr %1 débute avec '%2'
%s please calculate the result addressbook fr %s calculez s'il vous plait le résultat
(e.g. 1969) addressbook fr (e.g. 1969)
(empty = use global limit, no = no export at all) admin fr Vide = pas de limite globale, no = pas d'export du tout
* addressbook fr *
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook fr <b>Aucun type de conversion <aucun> n'a pu être trouvé.</b> SVP choisissez un type de conversion depuis la liste
@-eval() is only availible to admins!!! addressbook fr @-eval() est disponible uniquement pour les administrateurs!!!
account id addressbook fr Compte ID
@ -46,7 +47,7 @@ added by synchronisation addressbook fr ajouté par synchronisation
added to distribution list addressbook fr ajouté à la liste de diffusion
additional information about using ldap as contact repository admin fr Informations complémentaires pour utiliser LDAP comme dépôt de contacts
address book common fr Carnet d'adresses
address book - vcard in addressbook fr Carnet d'adresses - Entrée VCard
address book - vcard in addressbook fr Carnet d'adresses - Entrée vCard
address book - view addressbook fr Carnet d'adresses - Voir
address line 2 addressbook fr Adresse ligne 2
address line 2 (private) addressbook fr Adresse ligne 2 (privé)
@ -64,7 +65,7 @@ addressbook the contact should be shown addressbook fr Carnet d'adresse à affic
addressbook vcard export addressbook fr Import vCard du carnet d'adresses
addressbook vcard import addressbook fr Import vCard du carnet d'adresses
addressbook-fieldname addressbook fr Carnet d'adresses - nom du champ
addvcard addressbook fr Ajouter VCard
addvcard addressbook fr Ajouter vCard
advanced search addressbook fr Recherche avancée
all addressbooks addressbook fr Tous les carnets d'adresses
all contacts addressbook fr Tous les contacts
@ -114,6 +115,7 @@ category tree admin fr Arborescence de la catégorie
cell phone addressbook fr Téléphone portable
change addressbook when updating addressbook fr Changer le carnet d'adresse à la mise à jour
change all organisation members addressbook fr Modifier tous les membres de l'organisation
changed type to %1 addressbook fr Type changé en %1
charset for the csv export addressbook fr Jeu de caractères pour l'export CSV
charset for the vcard export addressbook fr Jeu de caractères pour l'export vCard
charset for the vcard import and export addressbook fr Jeu de caractères pour l'export et l'import vCard
@ -121,7 +123,6 @@ charset of file addressbook fr Jeu de caractères du fichier
check all addressbook fr Vérifier tout
choose an icon for this contact type admin fr Choisisser une icône pour ce type de contact
choose charset addressbook fr Sélectionner un jeu de caractères
choose export options addressbook fr Choisir les options d'export
choose owner of imported data addressbook fr Choisisser le propriétaire de données importées
choose pre-defined map source or use custom url (use %r = street, %t = city, %c = country, %z = zipcode) admin fr Choisir une source de carte pré-définie ou une URL personnalisée ( %r = rue , %t = ville, %c = pays, %z = code postal)
chosse an etemplate for this contact type admin fr Choisissez un eTemplate pour ce type de contact
@ -225,7 +226,6 @@ edit phonenumbers addressbook fr Modifier les numéros de téléphone
edit phonenumbers - addressbook fr Editer les numéros de téléphone -
either the configured email addesses are wrong or the mail configuration. addressbook fr Soit les adresses email sont fausses, soit la configuration est mauvaise.
email & internet addressbook fr Email & Internet
email &amp; internet addressbook fr Email & Internet
email (private) addressbook fr email (privé)
email addresses (comma separated) to send the contact data addressbook fr Adresses email, séparées par des virgules, pour envoyer les données des contacts.
empty admin fr Vide
@ -241,7 +241,7 @@ error: the entry has been updated since you opened it for editing! addressbook f
existing links addressbook fr Liens existants
exists addressbook fr Existe
export as csv addressbook fr Exporter au format CSV
export as vcard addressbook fr Export au format VCard
export as vcard addressbook fr Export au format vCard
export contacts addressbook fr Exporter les contacts
export definition to use for nextmatch export addressbook fr Définition de l'export à utiliser pour l'export "nextmatch"
export definitition to use for nextmatch export addressbook fr Définition de l'export à utiliser pour l'export "nextmatch"
@ -271,11 +271,9 @@ fields to consider when looking for duplicate contacts. addressbook fr Champs à
fields to copy when copying an address? admin fr Champs à copier lors de la copie d'une adresse
fields to show in address list addressbook fr Champs à afficher dans la liste des adresses
fieldseparator addressbook fr Séparateur de champs
file is not a %1 public key! addressbook fr Le fichier n'est pas une clé publique %1 !
for read only ldap admin fr pour un LDAP en lecture seule
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook fr Pour les lettres en série utiliser cette balise. Placer le contenu que vous voulez répéter entre deux balises.
freebusy uri addressbook fr Freebusy URI
from file addressbook fr Depuis le fichier
full name addressbook fr Nom complet
general admin fr Général
general fields: addressbook fr Champs généraux :
@ -313,24 +311,23 @@ import contacts addressbook fr Importer les contacts
import csv-file into addressbook addressbook fr Importer le fichier CSV dans le carnet d'adresses
import file addressbook fr Importer le fichier
import from addressbook fr Importer depuis
import from ldif, csv, or vcard addressbook fr Importer depuis LDIF, CSV ou VCard
import from ldif, csv, or vcard addressbook fr Importer depuis LDIF, CSV ou vCard
import from outlook addressbook fr Importer depuis Outlook
import multiple vcard addressbook fr Importation VCard Multiple
import multiple vcard addressbook fr Importation vCard Multiple
import next set addressbook fr Importer l'élément suivant
import_instructions addressbook fr Dans Netscape, ouvrir le carnet d´adresses et sélectionner <b>Exporter</b> depuis le menu <b>Fichier</b>. Le fichier exporté sera au format LDIF.<p>Ou, dans Outlook, sélectionner votre dossier des contacts, sélectionner <b>Importer et Exporter...</b> depuis le menu <b>Fichier</b> et exporter vos contacts, séparés par des virgules, dans un fichier texte (CSV). <p>Ou, dans Palm Desktop 4.0 ou supérieur, consulter votre carnet d´adresses et sélectionner <b>Exporter</b> depuis le menu <b>Fichier</b>. Le fichier exporté sera au format VCard.
import_instructions addressbook fr Dans Netscape, ouvrir le carnet d´adresses et sélectionner <b>Exporter</b> depuis le menu <b>Fichier</b>. Le fichier exporté sera au format LDIF.<p>Ou, dans Outlook, sélectionner votre dossier des contacts, sélectionner <b>Importer et Exporter...</b> depuis le menu <b>Fichier</b> et exporter vos contacts, séparés par des virgules, dans un fichier texte (CSV). <p>Ou, dans Palm Desktop 4.0 ou supérieur, consulter votre carnet d´adresses et sélectionner <b>Exporter</b> depuis le menu <b>Fichier</b>. Le fichier exporté sera au format vCard.
importer's personal addressbook fr répertoire personnel de l'importeur
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook fr Importer les contacts depuis un fichier CSV. CSV correspond à des valeurs séparées par des virgules. Dans les options, vous pouvez choisir d'autres séparateurs.
imports contacts into your addressbook from a vcard file. addressbook fr Importer les contacts vers votre carnet d'adresses depuis un fichier vCard.
in %1 days (%2) is %3's birthday. addressbook fr Dans %1 jours (%2) c'est l'anniversaire de %3.
income addressbook fr Revenus
infolog addressbook fr InfoLog
infolog-organisation addressbook fr Ouvrir la vue Infolog CRM sur l'organisation
infolog addressbook fr Contact InfoLog
infolog-organisation addressbook fr Organisation InfoLog
insert addressbook fr Insérer
insufficent rights to delete this list! addressbook fr Autorisations insuffisantes pour supprimer cette liste !
insufficent rights to edit this list! addressbook fr Autorisations insuffisantes pour modifier cette list e!
international addressbook fr International
internet addressbook fr Internet
invite to current call addressbook fr Inviter à l'appel en cours
label addressbook fr Label
last date addressbook fr Dernier contact
last modified addressbook fr Dernière modification
@ -347,15 +344,14 @@ links to specified application. example: {{links/infolog}} addressbook fr Liens
list all categories addressbook fr Lister toutes les catégories
list all customfields addressbook fr Lister tous les champs spécifiques
list already exists! addressbook fr La liste existe déjà !
list as seperate columns addressbook fr Lister dans des colonnes séparées
list created addressbook fr Liste créée
list creation failed, no rights! addressbook fr La création de la liste a échoué, aucune autorisation!
list of files linked to the current record addressbook fr Listes des fichiers liés à l'enregistrement courant
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook fr Charger les champs personnalisé sur l'index, même si le champ personnalisé est vide (ie. pour les afficher dans une colonne spécifique)
load vcard addressbook fr Charger VCard
load vcard addressbook fr Charger vCard
location addressbook fr Emplacement
locations addressbook fr localisations
mail vcard addressbook fr Email VCard
mail vcard addressbook fr Email vCard
main categories in their own field addressbook fr Principales catégories dans leurs propre domaine/champ
manage mapping addressbook fr Gestion des correspondances
mark records as private addressbook fr Marquer l´enregistrement comme privé
@ -375,24 +371,25 @@ modem phone addressbook fr Téléphone modem
more ... addressbook fr Plus ...
move to addressbook addressbook fr Déplacer vers le carnet d'adresses
moved addressbook fr déplacé(s)
multiple vcard addressbook fr VCard multiples
multiple vcard addressbook fr vCard multiples
name for the distribution list addressbook fr Nom de la liste de diffusino
name of current user, all other contact fields are valid too addressbook fr Nom de l'utilisateur courant, tous les autres champs de contacts sont valides aussi
name, address addressbook fr Nom, adresse
new contact submitted by %1 at %2 addressbook fr Nouveau contact soumis par %1 à %2.
new window opened to edit infolog for your selection addressbook fr Nouvelle fenêtre ouverte pour modifier un infolog.
new window opened to edit infolog for your selection addressbook fr Nouvelle fenêtre ouverte pour modifier un InfoLog.
next date addressbook fr Date de prochain contact
no categories selected addressbook fr Aucune catégorie sélectionnée
no country selected addressbook fr Aucun pays sélectionné
no distribution list addressbook fr Aucune liste de diffusion
no fallback addressbook fr Pas de fallback
no vcard addressbook fr Pas de VCard
no vcard addressbook fr Pas de vCard
not shared addressbook fr n'a pas été partagé
number addressbook fr Numéro
number of records to read (%1) addressbook fr Nombre d'enregistrements à lire (%1)
open %1 crm view addressbook fr Ouvrir la vue CRM %1
open email addresses in external mail program addressbook fr Ouvrir les adresses email dans un programme externe
open for editing? addressbook fr Ouvrir en modification ?
open infolog crm view preferences fr Ouvrir la vue CRM de l'Infolog
open infolog crm view preferences fr Ouvrir la vue CRM de l'InfoLog
open tracking system crm view preferences fr Ouvrir la vue CRM du Traqueur
options for type admin fr Options pour le type
organisation addressbook fr Organisation
@ -407,7 +404,6 @@ parcel addressbook fr Paquet
participants addressbook fr Participants
permission denied !!! addressbook fr Autorisation refusée !
permissiong denied! ask your administrator to allow regular uses to update their public keys. addressbook fr Autorisation refusée ! Veuillez demander à votre administrateur d'autoriser les utilisateurs réguliers à mettre à jours leurs clés publiques.
pgp addressbook fr PGP
pgp key addressbook fr Clé GPG
phone number common fr Numéro de téléphone
phone numbers common fr Numéros de téléphone
@ -429,7 +425,6 @@ read a list / search for entries. addressbook fr Lire une liste / rechercher des
read a list of entries. addressbook fr Lire une liste d'entrées.
read a single entry by passing the id and fieldlist. addressbook fr Lire une seule entrée en passant l'ID et la liste des champs.
read only addressbook fr lecture seule
readme addressbook fr LISEZ-MOI
record access addressbook fr Enregistrer l'accès
record owner addressbook fr Enregistrer le propriétaire
recovered addressbook fr Récupéré
@ -444,12 +439,7 @@ replacements for inserting contacts into documents addressbook fr Remplacements
required fields * addressbook fr Champs nécessaires *
role addressbook fr Rôle
room addressbook fr Salle
s/mime addressbook fr S/MIME
save as infolog addressbook fr Enregistrer comme infolog
schedule a video conference addressbook fr Planifier une visio-conférence
search letter addressbook fr Chercher sur une lettre
security addressbook fr Sécurité
select a map or write an url addressbook fr Sélectionner une carte ou inscrire une URL
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook fr Sélectionner une photo jpeg en mode portrait. Elle sera reformatée en 60 pixels de largeur.
select a source address to be used in geolocation routing system addressbook fr Sélectionner une adresse source de géolocalisation à utiliser
select a view addressbook fr Sélectionnez une vue
@ -458,7 +448,6 @@ select all addressbook fr Sélectionner tout
select an action or addressbook to move to addressbook fr Sélectionnez une action ou un carnet d'adresses à déplacer
select an action or addressbook to move to... addressbook fr Sélectionnez une action ou un carnet d'adresses à déplacer...
select an opened dialog addressbook fr Sélectionner une boîte de dialogue ouverte
select categories addressbook fr Sélectionner des catégories
select migration type admin fr Sélectionnez un type de migration
select multiple contacts for a further action addressbook fr Sélectionner plusieurs contacts pour une même action
select phone number as prefered way of contact addressbook fr sélectionner le téléphone comme moyen de contact préféré
@ -471,6 +460,12 @@ send succeeded to %1 common fr Succès de l'envoi vers %1
seperator addressbook fr Séparateur
set full name and file as field in contacts of all users (either all or only empty values) admin fr Remplir le nom complet et le "afficher comme" dans les fiches contact de tous les utilisateurs. Soit tous, soit seulement les valeurs vides.
set only full name addressbook fr Définir seulement le nom complet
share into addressbook addressbook fr Partager dans le carnet d'adresses
share writable addressbook fr Partager en écriture
shared addressbook fr partagé
shared by me addressbook fr Partagé par moi
shared into addressbook %1 addressbook fr partagé dans le carnet d'adresses %1
shared with addressbook fr Partagé avec
should the columns photo and home address always be displayed, even if they are empty. addressbook fr Est-ce que les colonnes photo et adresse privée doivent toujours être affichés, même s'ils sont vides.
show addressbook fr Afficher
show active accounts addressbook fr Afficher les comptes actifs
@ -488,7 +483,6 @@ state common fr Région
state (private) addressbook fr Etat (privé)
street common fr Rue
street (private) addressbook fr Rue (privé)
style addressbook fr Style
subject for email addressbook fr Sujet du mail
successfully imported %1 records into your addressbook. addressbook fr %1 enregistrement(s) ont été enregistrés avec succès dans votre carnet d´adresses.
suffix addressbook fr Suffixe
@ -501,7 +495,6 @@ that field name has been used already ! addressbook fr Ce nom de champ est déj
the anonymous user has probably no add rights for this addressbook. addressbook fr L'utilisateur anonyme n'a pas de droit pour ajouter des contacts sur ce carnet d'adresses.
the anonymous user needs add rights for it! addressbook fr L'utilisateur anonyme doit avoir des droits d'ajout !
the anonymous user needs read it! addressbook fr L'utilisateur anonyme doit avoir des droits de lecture !
the document can contain placeholder like {{%1}}, to be replaced with the data. addressbook fr Ce document peut contenir des balises telles que {{%1}}, à remplacer avec la valeur.
the following document-types are supported: addressbook fr Les documents types suivants sont supportés :
the zip extension is needed, to insert contact data in openoffice or msoffice documents. addressbook fr l'extension zip est nécessaire pour insérer des données de contact dans des documents OpenOffice ou MSOffice
there was an error saving your data :-( addressbook fr ERREUR à l'enregistrement de données !
@ -515,7 +508,6 @@ titles of any entries linked to the current record, excluding attached files add
to many might exceed your execution-time-limit addressbook fr trop pourrait dépasser votre temps limite d'exécution
today is %1's birthday! common fr Aujourd'hui c'est l'anniversaire de %1 !
tomorrow is %1's birthday. common fr Demain c'est l'anniversaire de %1.
tracker addressbook fr Traqueur
translation addressbook fr Traduction
two of: %1 addressbook fr Deux de : %1
type addressbook fr Type
@ -526,6 +518,8 @@ unable to import into %1, using %2 addressbook fr Impossible d'importer dans %1,
unique id (uid) addressbook fr ID unique (UID)
unique id<br />(to update existing records) addressbook fr ID Unique<br />pour mettre à jour des enregistrements existants
unknown type %1, imported as %2 addressbook fr Type %1 inconnu, importé comme %2
unshare addressbook fr Ne plus partager
unshared addressbook fr ne plus partager
update a single entry by passing the fields. addressbook fr Mettre à jour une seule entrée en passant les champs.
update fields by edited organisations? admin fr Champs à mettre à jour pour les organisations modifiées
updated addressbook fr Mis à jour
@ -535,28 +529,24 @@ url (private) addressbook fr url (privé)
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin fr URL pour le lien téléphone. %1 = numéro à 'appeler, %u = nom du compte, %t = téléphone du compte.
use a category tree? addressbook fr Utiliser une arborescence pour sélectionner les catégories
use addressbooks "own sorting" attribute addressbook fr Utiliser l'attribut "tri perso" (own sorting) du carnet d'adresses
use all addressbook fr Tout utiliser
use an extra tab for private custom fields? admin fr Utiliser un onglet supplémentaire pour les champs privés extra
use country list addressbook fr Utiliser la liste des pays
use field from csv if possible addressbook fr Utiliser le champs du CSV si possible
use search results addressbook fr Utiliser les résultats de la recherche
use setup for a full account-migration admin fr Utiliser le setup pour une migration de comptes complète
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook fr Utiliser cette balise pour les étiquettes d'adresse. Placer le contenu que vous voulez répéter entre deux balises.
used for links and for the own sorting of the list addressbook fr utilisé pour les liens et le tri de la liste
user groups are automatically shown as distribution lists. addressbook fr Les groupes d'utilisateurs sont automatiquement affichés comme des listes de diffusion.
user preference addressbook fr Préférences de l'utilisateur
vcard common fr VCard
vcards require a first name entry. addressbook fr Les VCards nécessitent une entrée prénom.
vcards require a last name entry. addressbook fr Les Vcards nécessitent une entrée nom de famille.
vcard common fr vCard
vcards require a first name entry. addressbook fr Les vCards nécessitent une entrée prénom.
vcards require a last name entry. addressbook fr Les vcards nécessitent une entrée nom de famille.
verification addressbook fr Vérification
video call addressbook fr Appel vidéo
view linked infolog entries addressbook fr Afficher les entrées liées à InfoLog
warning!! ldap is valid only if you are not using contacts for accounts storage! admin fr ATTENTION!! LDAP est valide seulement si vous n'utilisez PAS les contacts pour le stockage des comptes!
warning: all contacts found will be deleted! addressbook fr AVERTISSEMENT : Tous les contacts trouvés seront supprimés!
warning: template "%1" not found, using default template instead. addressbook fr AVERTISSEMENT : Template "%1" non trouvé, le template par défaut est utilisé
weekday addressbook fr Jour de la semaine
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook fr Que devraient afficher les liens du carnet d'adresses dans les autres applications. Les valeurs vides ne seront pas prises en compte. Vous devez vous reconnecter si vous modifiez ce paramètre!
when viewing a contact, show linked entries from the selected application addressbook fr A l'affichage du contact, afficher les entrées liées sur les applications sélectionnées
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook fr Lorsque vous fusionnez des entrées dans des documents, elles sont stockées ici. Si aucun répertoire n'est fourni, elles seront stockées dans votre répertoire personnel (/home/...).
where to add the email address addressbook fr Où ajouter des adresses email
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook fr Sélectionner quel format doit être utilisée pour les pays avec un format d'adresse inconnu.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook fr Quel carnet d'adresses devra être sélectionné quand vous ajoutez un contact ET que vous n'avez pas d'autorisation pour le carnet d'adresses en cours.
@ -575,13 +565,14 @@ yes, for the next week addressbook fr Oui, pour la semaine prochaine
yes, for today and tomorrow addressbook fr Oui, pour aujourd'hui et demain
yes, only admins can purge deleted items admin fr Oui, les administrateurs seuls peuvent purger les éléménts supprimés
yes, users can purge their deleted items admin fr Oui, les utilisateurs peuvent purger leurs éléments supprimés
you are not allowed to share into the addressbook of %1 addressbook fr Vous ne pouvez pas partager dans le carnet d'adresses de %1
you are not permitted to delete contact %1 addressbook fr Vous n'êtes pas autorisés à supprimer le contact %1
you are not permittet to delete this contact addressbook fr Vous n'êtes pas autorisés à supprimer ce contact
you are not permittet to edit this contact addressbook fr Vous n'êtes pas autorisés à modifier ce contact
you are not permittet to view this contact addressbook fr Vous n'êtes pas autorisés à voir ce contact
you can only use ldap as contact repository if the accounts are stored in ldap too! admin fr Vous ne pouvez utiliser LDAP comme dépôt de contacts que si les comptes sont aussi stockés dans LDAP!
you can respond by visiting: addressbook fr Pour le voir, visitez :
you must select a vcard. (*.vcf) addressbook fr Vous devez choisir une vcard. (*.vcf)
you must select a vcard. (*.vcf) addressbook fr Vous devez choisir une vCard. (*.vcf)
you must select at least 1 column to display addressbook fr Vous devez choisir au moins 1 colonne à afficher
you need to select a distribution list addressbook fr Vous devez choisir une liste de diffusion
you need to select some contacts first addressbook fr Vous devez d'abord choisir les contacts

View File

@ -23,7 +23,7 @@ added addressbook hu Hozzáadva
added by synchronisation addressbook hu szinkronizáció által hozzáadva
added to distribution list addressbook hu disztribúciós listához hozzáadva
address book common hu Címjegyzék
address book - vcard in addressbook hu Címjegyzék - VCard formában
address book - vcard in addressbook hu Címjegyzék - vCard formában
address book - view addressbook hu Címjegyzék - nézet
address line 2 addressbook hu Címsor 2
address type addressbook hu Címtípus
@ -33,7 +33,7 @@ addressbook menu addressbook hu Címjegyzék menü
addressbook preferences addressbook hu Címjegyzék tulajdonságok
addressbook the contact should be saved to addressbook hu Kapcsolat mentése a következő címjegyzékbe
addressbook-fieldname addressbook hu Címjegyzék-Mezőnév
addvcard addressbook hu VCard hozzáadása
addvcard addressbook hu vCard hozzáadása
advanced search addressbook hu Kiterjesztett keresés
all contacts addressbook hu Összes kapcsolat
allow users to maintain their own account-data admin hu Felhasználók kezelhetik saját felhasználói fiók adataikat
@ -77,7 +77,6 @@ company name addressbook hu Cégnév
configuration common hu Konfiguráció
contact common hu Kapcsolat
contact application admin hu Kapcsolat alkalmazás
contact copied addressbook hu Kapcsolat másolva
contact deleted addressbook hu Kapcsolat törölve
contact fields to show addressbook hu A következő Kapcsolat mezők megjelenítése
contact fields: addressbook hu Kapcsolat mezők:
@ -131,6 +130,9 @@ don't hide empty columns addressbook hu Ne rejtsd el az üres oszlopokat
download addressbook hu Letölt
download export file (uncheck to debug output in browser) addressbook hu Export állomány letöltése (Meg kell szüntetni a nyomkövetés megjelenítését a böngészőben, ha be lenne kapcsolva. Ha nem tudja, ez mit jelent, akkor valószínűleg nincs bekapcsolva.)
download this contact as vcard file addressbook hu Kapcsolat letöltése mint vCard állomány
duplicate threshold addressbook hu Duplikált küszöbérték
duplicate warning addressbook hu Duplikátum figyelmeztetés
duplicates addressbook hu Duplikátumok
duration addressbook hu Időtartam
edit custom field addressbook hu Egyedi mező szerkesztése
edit custom fields admin hu Egyedi mezök szerkesztése
@ -149,7 +151,7 @@ error saving the contact !!! addressbook hu Hiba a kapcsolat mentésekor !!!
error: the entry has been updated since you opened it for editing! addressbook hu Hiba: a bejegyzés módosult mióta megnyitottad!
existing links addressbook hu Meglévő hivatkozások
export as csv addressbook hu Export CSV formában
export as vcard addressbook hu Export VCard formában
export as vcard addressbook hu Export vCard formában
export contacts addressbook hu Kapcsolatok exportálása
export file name addressbook hu Export állomány neve
export from addressbook addressbook hu Export a Címjegyzékből
@ -166,6 +168,8 @@ field %1 has been updated ! addressbook hu %1 mező frissítve!
field name addressbook hu Mező neve
fields for the csv export addressbook hu Mezők a CSV exporthoz
fields the user is allowed to edit himself admin hu Mezők, melyeket a felhasználó saját maga szerkeszthet
fields to check for duplicates addressbook hu Duplikátumok ellenőrzésére szolgáló mezők
fields to consider when looking for duplicate contacts. addressbook hu A duplikált kapcsolatok keresésekor figyelembe veendő mezők.
fields to show in address list addressbook hu Címjegyzékben megjelenő mezők
fieldseparator addressbook hu Mező elválasztó
for read only ldap admin hu csak olvasható LDAP-hoz
@ -179,6 +183,8 @@ grant addressbook access common hu Címjegyzék elérés engedélyezése
group %1 addressbook hu %1 csoport
h addressbook hu h
hide accounts from addressbook addressbook hu A felhasználók adatainak elrejtése a címjegyzékből
hide all accounts addressbook hu Minden fiók elrejtése
hide user groups as distribution lists addressbook hu Felhasználói csoportok elrejtése terjesztési listaként
hides accounts completly from the adressbook. addressbook hu A felhasználók összes adatának elrejtése a címjegyzékből
history logging admin hu Történet követése (log)
home address addressbook hu Otthoni cím
@ -190,20 +196,22 @@ home phone addressbook hu Otthoni telefon
home state addressbook hu Otthoni megye
home street addressbook hu Otthoni utca
home zip code addressbook hu Otthoni postai irányítószám
how many fields must match for the record to be considered a duplicate. addressbook hu Hány mezőnek kell egyeznie ahhoz, hogy a rekord duplikátumnak minősüljön.
icon addressbook hu Ikon
import addressbook hu Import
import contacts addressbook hu Kapcsolat importálás
import csv-file into addressbook addressbook hu CVS-Állomány importálása a Címjegyzékbe
import file addressbook hu Állomány importálása
import from addressbook hu Importálás innen...
import from ldif, csv, or vcard addressbook hu Importálás LDIF, CSV, vagy VCard formátumból
import from ldif, csv, or vcard addressbook hu Importálás LDIF, CSV, vagy vCard formátumból
import from outlook addressbook hu Importálás Outlookból
import multiple vcard addressbook hu Több vCard importálása
import next set addressbook hu Következő beállítás importálása
import_instructions addressbook hu Netscape esetében meg kell nyitni a Címjegyzéket és ki kell választani az <b>Export</b> menüpontot a <b>File</b> menüből. LDIF formátumban történik az exportálás.<p>Outlook esetében a <b>File</b> menüből ki kell választani az <b>Import and export...</b> menüpontot. vCard formátumban történik az exportálás.
in %1 days (%2) is %3's birthday. addressbook hu %3 születésnapja %1 napon belül eljön (%2).
income addressbook hu Jövedelem
infolog addressbook hu InfoLog
infolog addressbook hu InfoLog Kapcsolat
infolog-organisation addressbook hu InfoLog szervezet
insufficent rights to delete this list! addressbook hu Nincs megfelelő jogosultsága törölni ezt a listát!
international addressbook hu Nemzetközi
label addressbook hu Címke
@ -221,10 +229,13 @@ list all customfields addressbook hu Összes egyedi mező listázása
list already exists! addressbook hu A lista már létezik!
list created addressbook hu Lista létrehozva
list creation failed, no rights! addressbook hu Lista létrehozása nem sikerült, nincs jogosultsága!
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook hu Egyéni mezők betöltése az indexbe, még akkor is, ha az egyéni mező oszlop ki van kapcsolva (pl. egy adott index oszlopban való megjelenítésükhöz).
load vcard addressbook hu vCard betöltése
location addressbook hu Helyszín
locations addressbook hu helyek
mark records as private addressbook hu Bejegyzés megjelölése magánként
merge duplicates addressbook hu Duplikátumok egyesítése
merge into first or account, deletes all other! addressbook hu Egyesítés az első vagy fiókba, törli az összes többit!
merged addressbook hu hozzáfűzve
message after submitting the form addressbook hu Űrlap kitöltése utáni üzenet
message phone addressbook hu Üzenet telefon
@ -235,12 +246,16 @@ mobile addressbook hu Mobiltelefon
mobile phone addressbook hu Mobiltelefon
modem phone addressbook hu Modem telefon
more ... addressbook hu Tovább...
move to addressbook addressbook hu Címjegyzékbe áthelyezés
moved addressbook hu átmozgatva
multiple vcard addressbook hu Több vCard
name for the distribution list addressbook hu Disztribúciós lista neve
name, address addressbook hu Név, Cím
new contact submitted by %1 at %2 addressbook hu Új kapcsolat elküldve %1 által ekkor: %2
no vcard addressbook hu Nem VCard
no country selected addressbook hu Nincs kiválasztott ország
no distribution list addressbook hu Nincs elosztási lista
no vcard addressbook hu Nem vCard
not shared addressbook hu nem osztott
number addressbook hu Szám
number of records to read (%1) addressbook hu Bejegyzések száma olvasáshoz (%1)
options for type admin hu Típus opciók
@ -263,6 +278,7 @@ postal common hu Postai
pref addressbook hu előtag
preferred phone addressbook hu preferált telefon
prefix addressbook hu Előtag
prevent deleting of contacts admin hu Kapcsolattartók törlésének megakadályozása
public key addressbook hu Nyilvános kulcs
publish into groups: addressbook hu Megjelenítés a Csoportokban:
read a list / search for entries. addressbook hu Bejegyzések listája/keresése.
@ -277,6 +293,7 @@ repetition addressbook hu Ismétlődés
required fields * addressbook hu kötelező mezők
role addressbook hu Szerep
room addressbook hu Szoba
search letter addressbook hu Keresés betű
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook hu Válasszon ki egy arcképes fotót. Át lesz méretezve 60 pixel szélességűre.
select a view addressbook hu Nézet választása
select addressbook type addressbook hu Válassza ki a Címjegyzék típusát
@ -289,6 +306,12 @@ select the type of conversion addressbook hu Konverzió típus kiválasztása
select the type of conversion: addressbook hu Konverzió típus kiválasztása:
select where you want to store / retrieve contacts admin hu Válassza ki, hol szeretné tárolni, honnan kérdezné le a kapcsolatait
selected contacts addressbook hu kiválasztott kapcsolatok
share into addressbook addressbook hu Megosztás a címjegyzékben
share writable addressbook hu Megosztás írható
shared addressbook hu megosztott
shared by me addressbook hu Általam megosztva
shared into addressbook %1 addressbook hu megosztva a címjegyzékben %1
shared with addressbook hu Megosztva a
should the columns photo and home address always be displayed, even if they are empty. addressbook hu A fotó és az otthoni cím oszlopok mindig megjelenítésre kerüljenek, még akkor is, ha üresek?
show addressbook hu Mutat
show infolog entries for this organisation addressbook hu Jelenítse meg ehhez a szervezethez tartozó InfoLog bejegyzéseket
@ -317,11 +340,13 @@ today is %1's birthday! common hu Ma van %1 születésnapja!
tomorrow is %1's birthday. common hu Holnap van %1 születésnapja.
translation addressbook hu Fordítás
type addressbook hu Típus
unshare addressbook hu Többé nem osztja meg
unshared addressbook hu már nem közös
update a single entry by passing the fields. addressbook hu Egy egyedüli bejegyzés frissítése a mezök beírásával.
updated addressbook hu frissítve
upload or delete the photo addressbook hu Fotó feltöltése vagy törlése
use an extra category tab? addressbook hu Használjunk egy extra kategória fület?
use country list addressbook hu Ország lista használata
user groups are automatically shown as distribution lists. addressbook hu A felhasználói csoportok automatikusan elosztási listaként jelennek meg.
vcard common hu vCard
vcards require a first name entry. addressbook hu A vCard igényel egy vezetéknév bejegyzést.
vcards require a last name entry. addressbook hu A vCard igényel egy keresztnév bejegyzést.
@ -330,6 +355,7 @@ view linked infolog entries addressbook hu Kapcsolat InfoLog bejegyzések megtek
warning!! ldap is valid only if you are not using contacts for accounts storage! admin hu Figyelem!! Az LDAP csak akkor érvényes, ha felhasználói azonosítók tárolására NEM használjuk a kapcsolatokat!
warning: all contacts found will be deleted! addressbook hu FIGYELMEZTETÉS: Az összes fellelhető kapcsolat törlődni fog!
weekday addressbook hu Hétköznap
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook hu Amikor a bejegyzéseket dokumentumokban egyesíti, azok itt kerülnek tárolásra. Ha nem ad meg könyvtárat, akkor az otthoni könyvtárban (/home/...) lesznek tárolva.
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook hu Milyen karakterkódolást alkalmazzunk CSV exportnál? Az alapértelmezett karakterkódolás az EGroupware rendszer alapértelmezett karakterkódolásával egyezik meg.
whole query addressbook hu teljes lekérdezés
work phone addressbook hu Munkahelyi telefon
@ -340,6 +366,7 @@ yes, for the next two weeks addressbook hu Igen, a következő két hétre
yes, for the next week addressbook hu Igen, a következő hétre
yes, for today and tomorrow addressbook hu Igen, mára és holnapra
yes, only admins can purge deleted items admin hu Igen, csak az adminisztrátorok távolíthatják el a törölt elemeket
you are not allowed to share into the addressbook of %1 addressbook hu Ön nem oszthatja meg a címjegyzékben %1
you are not permitted to delete contact %1 addressbook hu Nem jogosult a %1 kapcsolat törlésére
you are not permittet to delete this contact addressbook hu Nem jogosult ennek a kapcsolatnak a törlésére
you are not permittet to edit this contact addressbook hu Nem jogosult ennek a kapcsolatnak a módosítására

View File

@ -74,7 +74,6 @@ company name addressbook id nama lembaga
configuration common id Konfigurasi
contact common id Kontak
contact application admin id Aplikasi Kontak
contact copied addressbook id Kontak disalin
contact deleted addressbook id Kontak dihapus
contact id addressbook id ID Kontak
contact maintenance admin id Pemeliharaan kontak
@ -117,6 +116,9 @@ domestic addressbook id Domestik
don't hide empty columns addressbook id Jangan sembunyikan kolom kosong
download addressbook id Unduh
download this contact as vcard file addressbook id unduh kontak sebagai vCard
duplicate threshold addressbook id Ambang batas duplikat
duplicate warning addressbook id Peringatan duplikat
duplicates addressbook id Duplikat
duration addressbook id Durasi
edit custom fields admin id edit custom fields
edit phonenumbers - addressbook id Edit Nomor telepon -
@ -141,6 +143,8 @@ fax number common id Nomor Fax
field %1 has been added ! addressbook id Field %1 telah ditambahkan!
field %1 has been updated ! addressbook id Field %1 telah dikinikan!
field name addressbook id Nama Field
fields to check for duplicates addressbook id Bidang untuk memeriksa duplikat
fields to consider when looking for duplicate contacts. addressbook id Bidang yang perlu dipertimbangkan saat mencari kontak duplikat.
fields to show in address list addressbook id Field yang ditampilkan dalam daftar alamat
fieldseparator addressbook id Pemisah field
freebusy uri addressbook id URI Senggang/sibuk
@ -153,6 +157,8 @@ grant addressbook access common id Ijinkan Akses BukuAlamat
group %1 addressbook id Kelompok %1
h addressbook id h
hide accounts from addressbook addressbook id Sembunyikan akoun dari bukualamat
hide all accounts addressbook id Sembunyikan semua akun
hide user groups as distribution lists addressbook id Sembunyikan grup pengguna sebagai daftar distribusi
hides accounts completly from the adressbook. addressbook id Sembunyikan sama sekali dari buku alamat.
history logging admin id Catatan riwayat
home address addressbook id Alamat Rumah
@ -164,6 +170,7 @@ home phone addressbook id Telepon Rumah
home state addressbook id Provinsi Rumah
home street addressbook id Jalan Rumah
home zip code addressbook id Kodepos Rumah
how many fields must match for the record to be considered a duplicate. addressbook id Berapa banyak bidang yang harus cocok agar catatan dianggap duplikat.
icon addressbook id Ikon
ignore first line addressbook id abaikan baris pertama
import addressbook id Impor
@ -176,7 +183,8 @@ import from outlook addressbook id Impor dari Outlook
import multiple vcard addressbook id Impor beberapa vCard
import next set addressbook id Impor kelompok berikutnya
in %1 days (%2) is %3's birthday. addressbook id Tinggal %1 hari (%2) adalah HUT %3.
infolog addressbook id InfoLog
infolog addressbook id Kontak InfoLog
infolog-organisation addressbook id Organisasi InfoLog
international addressbook id Internasional
internet addressbook id Internet
label addressbook id Label
@ -189,11 +197,14 @@ links addressbook id Tautan
list all categories addressbook id Daftar semua kategori
list already exists! addressbook id Daftar telah ada!
list created addressbook id Daftar dibuat
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook id Memuat custom field dalam indeks, bahkan jika kolom custom field tidak aktif (misalnya, untuk menampilkannya dalam kolom indeks tertentu)
load vcard addressbook id Muatkan vCard
location addressbook id Lokasi
locations addressbook id lokasi
manage mapping addressbook id Mengelola pemetaan
mark records as private addressbook id Tandai rekaman sebagai privat
merge duplicates addressbook id Gabungkan duplikat
merge into first or account, deletes all other! addressbook id Gabungkan ke dalam akun pertama atau akun, hapus semua yang lain!
merged addressbook id digabung
message after submitting the form addressbook id Pesan setelah mengirimkan formulir
middle name addressbook id Nama Tengah
@ -211,6 +222,7 @@ new contact submitted by %1 at %2 addressbook id Kontak baru dikirim oleh %1 pad
next date addressbook id Tanggal selanjutnya
no categories selected addressbook id Tiada kategori yang dipilih
no vcard addressbook id Tiada vCard
not shared addressbook id tidak dibagikan
number addressbook id Nomor
number of records to read (%1) addressbook id Jumlah rekord yang dibaca (%1)
options for type admin id Opsi Tipe
@ -246,6 +258,7 @@ repetition addressbook id Pengulangan
required fields * addressbook id Field diperlukan *
role addressbook id Peran
room addressbook id Ruang
search letter addressbook id Surat pencarian
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook id Select a portrait format jpeg photo. It will be resized to 60 pixel width.
select a view addressbook id Pilih tampilan
select addressbook type addressbook id Pilih tipe buku alamat
@ -254,6 +267,12 @@ select migration type admin id Pilih tipe migrasi
select multiple contacts for a further action addressbook id Pilih beberapa kontak untuk tindakan selanjutnya
selected contacts addressbook id Kontak terpilih
seperator addressbook id Pemisah
share into addressbook addressbook id Bagikan ke buku alamat
share writable addressbook id Bagikan dapat diedit
shared addressbook id bersama
shared by me addressbook id Dibagikan oleh saya
shared into addressbook %1 addressbook id dibagikan di buku alamat %1
shared with addressbook id Berbagi dengan
show addressbook id Tampilkan
stadt addressbook id Mulai
start admin id Mulai
@ -275,16 +294,21 @@ translation addressbook id Terjemahan
two of: %1 addressbook id dua dari: %1
type addressbook id Tipe
unique id (uid) addressbook id Unique ID (UID)
unshare addressbook id Tidak lagi berbagi
unshared addressbook id tidak lagi dibagikan
updated addressbook id Dikinikan
upload or delete the photo addressbook id Unggah atau hapus foto
use country list addressbook id Gunakan Daftar Negara
user groups are automatically shown as distribution lists. addressbook id Grup pengguna secara otomatis ditampilkan sebagai daftar distribusi.
vcard common id vCard
verification addressbook id Pengujian
view linked infolog entries addressbook id Lihat entri InfoLog terkait
weekday addressbook id Hari kerja
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook id Ketika Anda menggabungkan entri ke dalam dokumen, entri-entri tersebut akan disimpan di sini. Jika tidak ada direktori yang disediakan, mereka akan disimpan di direktori rumah Anda (/home/...)
whole query addressbook id seluruh query
work phone addressbook id Telepon Kerja
wrong - try again ... addressbook id Keliru - coba lagi...
you are not allowed to share into the addressbook of %1 addressbook id Anda tidak diizinkan untuk berbagi ke buku alamat %1
you can respond by visiting: addressbook id Untuk melihatnya, kunjungi:
you must select a vcard. (*.vcf) addressbook id Anda musti memilih vCard. (*.vcf)
you must select at least 1 column to display addressbook id Anda musti memilih sedikitnya 1 kolom untuk menampilkan

View File

@ -8,6 +8,7 @@
%1 public keys added. addressbook it %1 chiavi pubbliche aggiunte
%1 records imported addressbook it %1 record importati
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook it %1 record letti (non ancora importati, è possibile tornare %2indietro%3 e deselezionare Test Importazione)
%1 shared this contact on %2 with %3 %4 addressbook it %1 ha condiviso questo contatto su %2 con %3 %4
%1 starts with '%2' addressbook it %1 inizia con '%2'
%s please calculate the result addressbook it %s per favore calcolare il risultato
(e.g. 1969) addressbook it (es. 1969)
@ -41,7 +42,7 @@ added by synchronisation addressbook it Aggiunto da sincronizzazione
added to distribution list addressbook it Aggiunto alla lista di distribuzione
additional information about using ldap as contact repository admin it Informazione aggiuntiva riguardante l'utilizzo di LDAP come archivio contatti
address book common it Rubrica
address book - vcard in addressbook it Rubrica - VCard in
address book - vcard in addressbook it Rubrica - vCard in
address book - view addressbook it Rubrica - visualizza
address line 2 addressbook it Indirizzo linea 2
address line 2 (private) addressbook it Indirizzo linea 2 (privato)
@ -59,7 +60,7 @@ addressbook the contact should be shown addressbook it La rubrica in cui il cont
addressbook vcard export addressbook it Esportazione vCard
addressbook vcard import addressbook it Importazione da vCard rubrica
addressbook-fieldname addressbook it Rubrica - Nome del Campo
addvcard addressbook it Aggiungi Vcard
addvcard addressbook it Aggiungi vCard
advanced search addressbook it Ricerca avanzata
all addressbooks addressbook it Tutte le rubriche
all contacts addressbook it Tutti i contatti
@ -237,7 +238,7 @@ example {{nenvlf role}} - if field role is not empty, set a lf without any value
existing links addressbook it Collegamenti esistenti
exists addressbook it Esiste
export as csv addressbook it Esporta come CSV
export as vcard addressbook it Esporta come VCard
export as vcard addressbook it Esporta come vCard
export contacts addressbook it Esporta Contatti
export definition to use for nextmatch export addressbook it Definizione di esportazione da utilizzare per l'esportazione "nextmatch" (corrispondenza successiva)
export definitition to use for nextmatch export addressbook it Esporta la definizione da utilizzare per la esportazione
@ -306,11 +307,11 @@ import contacts addressbook it Importa Contatti
import csv-file into addressbook addressbook it Importa file CSV nella Rubrica
import file addressbook it Importa File
import from addressbook it Importa da
import from ldif, csv, or vcard addressbook it Importa da LDIF, CSV, or VCard
import from ldif, csv, or vcard addressbook it Importa da LDIF, CSV, or vCard
import from outlook addressbook it Importa da Outlook
import multiple vcard addressbook it Importa Molteplici VCard
import multiple vcard addressbook it Importa Molteplici vCard
import next set addressbook it Import il prossimo set
import_instructions addressbook it In Netscape, apri la rubrica e seleziona <b>Esporta</b> dal menu <b>File</b>. Il file verrà esportato in formato LDIF.<p>O, in Outlook, seleziona la cartella Contatti , seleziona <b>Importa ed esporta...</b> dal menu <b>File</b> ed esporta i contatti nel formato testo separato da virgola (CSV). <p>O, in Palm Desktop 4.0 o superiore, apri l'agenda e seleziona <b>Esporta</b> dal menu <b>File</b>. Il file verrà esportato in formato VCard.
import_instructions addressbook it In Netscape, apri la rubrica e seleziona <b>Esporta</b> dal menu <b>File</b>. Il file verrà esportato in formato LDIF.<p>O, in Outlook, seleziona la cartella Contatti , seleziona <b>Importa ed esporta...</b> dal menu <b>File</b> ed esporta i contatti nel formato testo separato da virgola (CSV). <p>O, in Palm Desktop 4.0 o superiore, apri l'agenda e seleziona <b>Esporta</b> dal menu <b>File</b>. Il file verrà esportato in formato vCard.
importer's personal addressbook it Personale dell'account importatore
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook it Importa i contatti da file CSV. CSV sta per 'Comma Separated Values' ovvero valori separati da virgola. Nelle opzioni sarà possibile selezionare anche altri separatori.
imports contacts into your addressbook from a vcard file. addressbook it Importa contatti nella tua rubrica da un file vCard.
@ -343,7 +344,7 @@ list created addressbook it Lista creata
list creation failed, no rights! addressbook it La creazione della lista è fallita, non ci sono i permessi sufficienti
list of files linked to the current record addressbook it Elenco dei file collegati al record attuale
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook it Carica i campi personalizzati nell'indice, anche quando la colonna del campo è disabilitata (p.es. per mostrarli in una specifica colonna indice)
load vcard addressbook it Carica VCard
load vcard addressbook it Carica vCard
location addressbook it Località
locations addressbook it Località
mail vcard addressbook it Invia email vCard
@ -366,7 +367,7 @@ modem phone addressbook it Telefono modem
more ... addressbook it Altro ...
move to addressbook addressbook it Sposta alla rubrica
moved addressbook it spostato
multiple vcard addressbook it Molteplici VCard
multiple vcard addressbook it Molteplici vCard
name for the distribution list addressbook it Nome della lista di distribuzione
name of current user, all other contact fields are valid too addressbook it Nome dell'utente corrente, tutti gli altri campi di contatto sono validi pure.
name, address addressbook it Nome, Indirizzo
@ -374,9 +375,11 @@ new contact submitted by %1 at %2 addressbook it Nuovo contatto inviato da %1 al
new window opened to edit infolog for your selection addressbook it Nuova finestra aperta per modificare la scheda di Attività
next date addressbook it Prossima data
no categories selected addressbook it Nessuna categoria selezionata
no country selected addressbook it Nessun paese selezionato
no distribution list addressbook it Nessuna lista di distribuzione
no fallback addressbook it Nessun fallback
no vcard addressbook it Nessuna VCard
no vcard addressbook it Nessuna vCard
not shared addressbook it non condiviso
number addressbook it Numero
number of records to read (%1) addressbook it Numero di record da leggere (%1)
open %1 crm view addressbook it Apri %1 in vista CRM
@ -453,6 +456,12 @@ send succeeded to %1 common it Inviato con successo a %1
seperator addressbook it Separatore
set full name and file as field in contacts of all users (either all or only empty values) admin it Imposta i campi nome completo e "salva come" nei contatti di tutti gli utenti. Tutti o solo quelli vuoti.
set only full name addressbook it Imposta solo nome completo
share into addressbook addressbook it Condivisione in rubrica
share writable addressbook it Condivisione scrivibile
shared addressbook it condiviso
shared by me addressbook it Condiviso da me
shared into addressbook %1 addressbook it condiviso nella rubrica %1
shared with addressbook it Condiviso con
should the columns photo and home address always be displayed, even if they are empty. addressbook it Mostrare foto e indirizzo abitazione sempre, anche se le colonne sono vuote
show addressbook it Mostra
show active accounts addressbook it Mostra account attivi
@ -505,6 +514,8 @@ unable to import into %1, using %2 addressbook it Impossibile importare %1, usan
unique id (uid) addressbook it ID univoco (UID)
unique id<br />(to update existing records) addressbook it ID univoco<br /> per l'aggiornamento di voci esistenti
unknown type %1, imported as %2 addressbook it Tipo %1 sconosciuto, importato come %2
unshare addressbook it Non condividere
unshared addressbook it non condiviso
update a single entry by passing the fields. addressbook it Aggiorna una singola voce passando i campi.
update fields by edited organisations? admin it Campi di organizzazioni modificate da aggiornare
updated addressbook it Aggiornato
@ -521,9 +532,9 @@ use this tag for addresslabels. put the content, you want to repeat, between two
used for links and for the own sorting of the list addressbook it usato per collegamenti e per il proprio ordinamento della lista
user groups are automatically shown as distribution lists. addressbook it I gruppi di utenti sono automaticamente mostrati come liste di distribuzione
user preference addressbook it Preferenza utente
vcard common it VCard
vcards require a first name entry. addressbook it Le VCard richiedono un valore per il nome.
vcards require a last name entry. addressbook it Le Vcards richiedono un valore per il cognome
vcard common it vCard
vcards require a first name entry. addressbook it Le vCard richiedono un valore per il nome.
vcards require a last name entry. addressbook it Le vCards richiedono un valore per il cognome
verification addressbook it Verifica
view linked infolog entries addressbook it Visualizzare le schede Attività collegate
warning!! ldap is valid only if you are not using contacts for accounts storage! admin it ATTENZIONE!! LDAP è utilizzabile solo se NON stai usando i contatti per la memorizzazione dei dati sugli account!
@ -531,6 +542,7 @@ warning: all contacts found will be deleted! addressbook it ATTENZIONE: Tutti i
weekday addressbook it Giorno della settimana
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook it Collegamenti della rubrica, visibili nelle altre applicazioni. I valori vuoti resteranno fuori. Bisognera uscire e accedere di nuovo a EPL se si cambia questa impostazione
when viewing a contact, show linked entries from the selected application addressbook it Quando si visualizza un contatto, mostra le voci collegate dalla applicazione selezionata
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook it Quando si uniscono le voci nei documenti, vengono memorizzate qui. Se non viene fornita alcuna directory, verranno memorizzate nella propria directory home (/home/...).
where to add the email address addressbook it Dove aggiungere l'indirizzo email
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook it Seleziona il formato di indirizzo da usare per Paesi con formati sconosciuti
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook it La rubrica da usare per l'aggiunta di contatti, quando non si hanno i permessi per la rubrica corrente
@ -549,13 +561,14 @@ yes, for the next week addressbook it Sì, per la prossima settimana
yes, for today and tomorrow addressbook it Sì, per oggi e domani
yes, only admins can purge deleted items admin it Sì, solo gli amministratori possono cancellare definitivamente gli elementi
yes, users can purge their deleted items admin it Sì, gli utenti possono rimuovere definitivamente gli elementi eliminati.
you are not allowed to share into the addressbook of %1 addressbook it Non sei autorizzato a condividere nella rubrica di %1
you are not permitted to delete contact %1 addressbook it Non hai il permesso di cancellare il contatto %1
you are not permittet to delete this contact addressbook it Non hai il permesso di cancellare questo contatto
you are not permittet to edit this contact addressbook it Non hai il permesso di modificare questo contatto
you are not permittet to view this contact addressbook it Non hai il permesso di visualizzare questo contatto
you can only use ldap as contact repository if the accounts are stored in ldap too! admin it LDAP può essere usato come repository di contatto solo se gli account sono memorizzati anche in LDAP!
you can respond by visiting: addressbook it Puoi rispondere visitando:
you must select a vcard. (*.vcf) addressbook it Devi selezionare una vcard (*.vcf)
you must select a vcard. (*.vcf) addressbook it Devi selezionare una vCard (*.vcf)
you must select at least 1 column to display addressbook it Devi selezionare almeno una colonna da visualizzare
you need to select a distribution list addressbook it Seleziona lista di distribuzione
you need to select some contacts first addressbook it Devi prima selezionare qualche contatto

View File

@ -8,13 +8,13 @@
%1 public keys added. addressbook ja %1 公開キーを追加しました。
%1 records imported addressbook ja %1 件インポートしました
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook ja %1 個のレコードを読み込みましたが、まだインポートされていません。画面を戻って予行演習モードを解除してください。
%1 shared this contact on %2 with %3 %4 addressbook ja 1 はこのコンタクトを %2 で %3 %4 と共有しました。
%1 starts with '%2' addressbook ja %1 を %2 で開始
%s please calculate the result addressbook ja %s 結果を計算してください
(e.g. 1969) addressbook ja (例 1969)
(empty = use global limit, no = no export at all) admin ja 空 = グローバル・リミットを使用, no = エクスポートしない
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook ja <b>変換タイプ &lt;none&gt; が見つかりません。</b> 一覧から変換タイプを選択してください。
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook ja <b>変換タイプ <none> が見つかりません。</b> 一覧から変換タイプを選択してください。
@-eval() is only availible to admins!!! addressbook ja @-eval() は管理者専用です!
access by addressbook ja アクセスするユーザ/グループ
account id addressbook ja アカウント ID
account repository admin ja アカウント・リポジトリ
accounts addressbook ja アカウント
@ -122,7 +122,6 @@ company common ja 会社
company name addressbook ja 会社名
configuration common ja 環境設定
contact common ja 連絡先
contact addressbook ja 連絡先
contact application admin ja コンタクト・アプリケーション
contact data addressbook ja コンタクト・データ
contact deleted addressbook ja コンタクトを削除しました。
@ -163,7 +162,6 @@ custom addressbook ja カスタム
custom etemplate for the contactform addressbook ja eTemplate をコンタクト・フォーム用にカスタマイズ
custom fields addressbook ja カスタム項目
data exchange settings addressbook ja データ交換設定
data from addressbook ja データの取得元
debug output in browser addressbook ja ブラウザにデバッグ情報を出力
default addressbook ja 既定値
default action on double-click addressbook ja ダブル・クリック時の既定のアクション
@ -226,11 +224,10 @@ enter the path to the exported file here addressbook ja エクスポート・フ
error deleting the contact !!! addressbook ja エラー: コンタクトの削除失敗!
error saving the contact !!! addressbook ja エラー: コンタクトの保存失敗!
error: the entry has been updated since you opened it for editing! addressbook ja エラー: この項目は、既に他画面で編集中です!
Example {{IF n_prefix~Mr~Hello Mr.~Hello Ms.}} - search the field "n_prefix", for "Mr", if found, write Hello Mr., else write Hello Ms. addressbook ja 例 {{IF n_prefix~Mr~Hello Mr.~Hello Ms.}} - 項目 "n_prefix" を "Mr" で検索し, もし見つかれば「Hello Mr.」と出力し、見つからなければ「Hello Ms.」と出力。
Example {{LETTERPREFIX}} - Gives a letter prefix without double spaces, if the title is empty for example addressbook ja 例 {{LETTERPREFIX}} - ダブル・スペースを挟まずに接頭字を出力(タイトルが空の場合など)。
Example {{LETTERPREFIXCUSTOM n_prefix title n_family}} - Example: Mr Dr. James Miller addressbook ja 例 {{LETTERPREFIXCUSTOM n_prefix title n_family}} - 例: Mr Dr. James Miller
Example {{NELF role}} - if field role is not empty, you will get a new line with the value of field role addressbook ja 例 {{NELF role}} - 項目のロールが空でない場合、項目ロールの値と改行を出力。
Example {{NENVLF role}} - if field role is not empty, set a LF without any value of the field addressbook ja 例 {{nenvlf role}} - 項目のロールが空でない場合、項目の値でなく改行を出力。
example {{if n_prefix~mr~hello mr.~hello ms.}} - search the field "n_prefix", for "mr", if found, write hello mr., else write hello ms. addressbook ja 例 {{IF n_prefix~Mr~Hello Mr.~Hello Ms.}} - 項目 "n_prefix" を "Mr" で検索し, もし見つかれば「Hello Mr.」と出力し、見つからなければ「Hello Ms.」と出力。
example {{letterprefixcustom n_prefix title n_family}} - example: mr dr. james miller preferences ja 例 {{LETTERPREFIXCUSTOM n_prefix title n_family}} - 例: Mr Dr. James Miller
example {{nelf role}} - if field role is not empty, you will get a new line with the value of field role addressbook ja 例 {{NELF role}} - 項目のロールが空でない場合、項目ロールの値と改行を出力。
example {{nenvlf role}} - if field role is not empty, set a lf without any value of the field addressbook ja 例 {{nenvlf role}} - 項目のロールが空でない場合、項目の値でなく改行を出力。
existing links addressbook ja 定義済みリンク
exists addressbook ja 定義済み
export as csv addressbook ja CSV としてエクスポート
@ -279,6 +276,7 @@ group %1 addressbook ja グループ %1
h addressbook ja 時間
hide accounts from addressbook addressbook ja ユーザ・アカウントを隠す
hide all accounts addressbook ja 全アカウントを隠す
hide user groups as distribution lists addressbook ja 配布リストとしてのユーザーグループを非表示にする
hides accounts completly from the adressbook. addressbook ja アドレス帳でユーザ・アカウントを隠します。
history logging admin ja 履歴を記録
home address addressbook ja 住所(自宅)
@ -296,9 +294,6 @@ how many fields must match for the record to be considered a duplicate. addressb
html link to the current record addressbook ja このレコードに対する HTML リンク
icon addressbook ja アイコン
if accounts are already in ldap admin ja アカウントが LDAP に既に存在する場合
If you specify a directory, full vfs path, %1 displays an action for each document. That action allows to download the specified document with the data inserted. addressbook ja ディレクトリVFS フルパス)を指定すると、%1上で各ドキュメントに対するアクションが表示され、ドキュメントをダウンロードすることができるようになります。
If you specify a document, full vfs path, %1 displays an extra document icon for each entry. That icon allows to download the specified document with the data inserted. addressbook ja ドキュメントVFS フルパス)を指定すると、%1の各項目ごとに拡張ドキュメント・アイコンが表示され、ドキュメントをダウンロードすることができるようになります。
if you specify an export definition, it will be used when you export addressbook ja エクスポート時に使用する設定を指定します。
ignore first line addressbook ja 先頭行を無視
import addressbook ja インポート
import contacts addressbook ja インポート
@ -315,7 +310,8 @@ imports contacts into your addressbook from a csv file. csv means 'comma separat
imports contacts into your addressbook from a vcard file. addressbook ja vCard ファイルからアドレス帳にコンタクトをインポート。
in %1 days (%2) is %3's birthday. addressbook ja %1 日後(%2は %3 さんの誕生日です。
income addressbook ja 収入
infolog addressbook ja インフォログ
infolog addressbook ja InfoLogお問い合わせ先
infolog-organisation addressbook ja InfoLogの組織
insert addressbook ja 挿入
insufficent rights to delete this list! addressbook ja このリストを削除する権限が不足しています!
insufficent rights to edit this list! addressbook ja このリストを編集する権限が不足しています!
@ -340,6 +336,7 @@ list already exists! addressbook ja リストは既に存在します!
list created addressbook ja リストを作成しました。
list creation failed, no rights! addressbook ja リストの作成失敗(権限不足)!
list of files linked to the current record addressbook ja このレコードにリンクするファイルの一覧
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook ja カスタムフィールド列がオフの場合でも、インデックスにカスタムフィールドをロードします(例:特定のインデックス列に表示する場合)。
load vcard addressbook ja vCard をロード
location addressbook ja 地域
locations addressbook ja 地域
@ -371,9 +368,11 @@ new contact submitted by %1 at %2 addressbook ja 新規コンタクトは %1 に
new window opened to edit infolog for your selection addressbook ja インフォログ編集ウィンドウを新規に開きました。
next date addressbook ja 次の日付
no categories selected addressbook ja カテゴリ未選択
no country selected addressbook ja 国が選択されていません
no distribution list addressbook ja 配信リスト無し
no fallback addressbook ja 既定値無し
no vcard addressbook ja vCard 無し
not shared addressbook ja ノーシェア
number addressbook ja 番号
number of records to read (%1) addressbook ja 読み込むレコード数(%1
open %1 crm view addressbook ja %1 CRM 表示を開く
@ -388,7 +387,6 @@ organisations by departments addressbook ja 部署別 組織・団体
organisations by location addressbook ja 地域別 組織・団体
other number addressbook ja その他番号
other phone addressbook ja その他電話番号
Other Phone addressbook ja その他電話番号
own sorting addressbook ja 独自並べ変え
pager common ja ページャー
parcel addressbook ja 区画
@ -427,7 +425,6 @@ rename selected distribution list addressbook ja 配信リストの名前を変
repetition addressbook ja 繰返し
replacements for inserting contacts into documents addressbook ja ドキュメントにコンタクトを埋め込む際の置換値
required fields * addressbook ja 必須項目 *
rights addressbook ja 権限
role addressbook ja 職業
room addressbook ja 部屋番号
search letter addressbook ja 文字検索
@ -450,6 +447,12 @@ send succeeded to %1 common ja %1 への送信成功
seperator addressbook ja 区切り文字
set full name and file as field in contacts of all users (either all or only empty values) admin ja ユーザの氏名、およびファイル名を設定してください。
set only full name addressbook ja 氏名(フルネーム)でのみ指定
share into addressbook addressbook ja アドレス帳への共有
share writable addressbook ja 共有編集可能
shared addressbook ja シェアード
shared by me addressbook ja 共有
shared into addressbook %1 addressbook ja アドレス帳で共有されている %1
shared with addressbook ja と共有する。
should the columns photo and home address always be displayed, even if they are empty. addressbook ja カラムが空でも写真と自宅住所を表示しますか?
show addressbook ja 表示
show active accounts addressbook ja アクティブ・アカウントを表示
@ -479,7 +482,6 @@ that field name has been used already ! addressbook ja 項目名は既に存在
the anonymous user has probably no add rights for this addressbook. addressbook ja 追加権限がありません。
the anonymous user needs add rights for it! addressbook ja 追加権限が必要です!
the anonymous user needs read it! addressbook ja 読み取り権限が必要です!
The document can contain placeholder like {{%1}}, to be replaced with the data. addressbook ja ドキュメントにはプレース・ホルダー(例: {{%1}})を埋め込むことがで
the following document-types are supported: addressbook ja 下記のドキュメント・タイプがサポートされます:
the zip extension is needed, to insert contact data in openoffice or msoffice documents. addressbook ja コンタクト・データをオフィスOpenOffice / マイクロソフト・オフィス)に挿入するためには拡張子が ZIP である必要があります。
there was an error saving your data :-( addressbook ja エラー: データ保存失敗!
@ -503,6 +505,8 @@ unable to import into %1, using %2 addressbook ja %2 による %1 へのイン
unique id (uid) addressbook ja 固有 ID (UID)
unique id<br />(to update existing records) addressbook ja 固有 ID<br />既存レコードの更新用
unknown type %1, imported as %2 addressbook ja 未知のタイプ %1 を %2 としてインポートしました。
unshare addressbook ja シェア終了
unshared addressbook ja きょうゆうしなくなった
update a single entry by passing the fields. addressbook ja 項目を送信してデータを更新。
update fields by edited organisations? admin ja 編集済み組織・団体の項目を更新しますか?
updated addressbook ja 更新済み
@ -517,6 +521,7 @@ use country list addressbook ja 国選択リストを使う
use setup for a full account-migration admin ja アカウント移行時に設定を使う
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook ja アドレスラベル向けタグ。任意のコンテンツをこのタグで囲んで使用します。
used for links and for the own sorting of the list addressbook ja リンク、およびリストの独自並べ変えで使用。
user groups are automatically shown as distribution lists. addressbook ja ユーザーグループは自動的に配布リストとして表示されます。
user preference addressbook ja 個人設定
vcard common ja vCard
vcards require a first name entry. addressbook ja vCard には、名前(氏名の名)が必要です。
@ -528,6 +533,7 @@ warning: all contacts found will be deleted! addressbook ja 警告: 見つかっ
weekday addressbook ja 曜日
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook ja アドレス帳のリンクを他のアプリケーションで表示するか否かを指定します。この設定を変更した場合は、再ログイン後に変更が反映されます。
when viewing a contact, show linked entries from the selected application addressbook ja コンタクト表示時に、指定されたアプリケーションのリンク項目を表示する
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook ja エントリーを文書に統合すると、ここに保存されます。ディレクトリが指定されていない場合は、ホームディレクトリ(/home/...)に格納されます。
where to add the email address addressbook ja メール・アドレスの追加先
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook ja 既定の住所書式が未定義である国のデータで使用する住所書式。
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook ja 現在のアドレス帳に対して書き込み権限が無い場合にコンタクトを保存するアドレス帳。
@ -546,6 +552,7 @@ yes, for the next week addressbook ja はい翌1週間
yes, for today and tomorrow addressbook ja はい(今日と明日)
yes, only admins can purge deleted items admin ja はい(管理者だけが削除済みデータをパージ可能)
yes, users can purge their deleted items admin ja はい(ユーザ自身が削除済みデータをパージ可能)
you are not allowed to share into the addressbook of %1 addressbook ja アドレス帳 %1 への共有が許可されていません。
you are not permitted to delete contact %1 addressbook ja コンタクト %1 を削除する権限がありません
you are not permittet to delete this contact addressbook ja このコンタクトを削除する権限がありません
you are not permittet to edit this contact addressbook ja このコンタクトを編集する権限がありません

View File

@ -0,0 +1,584 @@
%1 added addressbook km %1 បានបន្ថែម
%1 contact(s) %2 addressbook km %1 អ្នកទំនាក់ទំនង %2
%1 contact(s) %2, %3 failed because of %4 !!! addressbook km %1 contact(s) %2, %3 បានបរាជ័យដោយសារតែ %4 !!!
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook km %1 contact(s) %2, %3 បានបរាជ័យដោយសារតែសិទ្ធិមិនគ្រប់គ្រាន់!
%1 contacts updated (%2 errors). addressbook km ទំនាក់ទំនង %1 បានធ្វើបច្ចុប្បន្នភាព (%2 កំហុស) ។
%1 fields in %2 other organisation member(s) changed addressbook km វាល %1 ក្នុង %2 សមាជិកស្ថាប័នផ្សេងទៀតបានផ្លាស់ប្តូរ។
%1 key(s) added to public keyserver "%2". addressbook km %1 key(s) បានបន្ថែមទៅម៉ាស៊ីនបម្រើសោសាធារណៈ "%2"។
%1 not implemented for %2! addressbook km %1 មិនត្រូវបានអនុវត្តសម្រាប់ %2!
%1 public keys added. addressbook km %1 នៃកូនសោសាធារណៈបានបន្ថែម។
%1 records imported addressbook km %1 កំណត់ត្រាបាននាំចូល។
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook km %1 នៃកំណត់ត្រាបានអាន។ មិន​ទាន់​បាន​នាំ​ចូល​ទេ អ្នក​អាច​ចូល​ទៅ %2back%3 ហើយ​បិទ​ ការ​នាំចូល​សាកល្បង។
%1 shared this contact on %2 with %3 %4 addressbook km %1 បានចែករំលែកអ្នកទំនាក់ទំនងនេះជាមួយ %2 និង %3 %4
%1 starts with '%2' addressbook km %1 ចាប់ផ្តើមជាមួយ '%2'
%s please calculate the result addressbook km %s សូមធ្វើការគណនាលទ្ធផល
(e.g. 1969) addressbook km (ឧទាហរណ៍ 1969)
(empty = use global limit, no = no export at all) admin km Empty = ប្រើដែនកំណត់សកល, no = មិនធ្វើការនាំចូលទាំងអស់
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook km <b>គ្មានការបម្លែងប្រភេទ <none> អាចធ្វើការផ្លាស់ប្តូរទីតាំង </b> ជ្រើសរើសប្រភេទនៃការបម្លែងពីក្នុងបញ្ជឺ
@-eval() is only availible to admins!!! addressbook km @-eval() អាចធ្វើការរកបានដោយអ្នកគ្រប់គ្រងតែប៉ុណ្ណោះ!
account id addressbook km លេខសម្គាល់គណនី
account repository admin km ឃ្លាំងគណនី
accounts addressbook km គណនី
actions addressbook km សកម្មភាព
add %1 addressbook km បន្ថែម 1%
add a contact to this organisation addressbook km បន្ថែមអ្នកទំនាក់ទំនងម្នាក់ចូលក្នុងស្ថាប៏ននេះ
add a customfield to link title addressbook km បន្ថែមវាលពិសេសចូលតំណចំណងជើង
add a new contact addressbook km បន្ថែមអ្នកទំនាក់ទំនងថ្មីម្នាក់
add a new infolog addressbook km បន្ថែមកំណត់ហេតុទិន្នន័យថ្មីមួយ
add a new list addressbook km បន្ថែមបញ្ជីថ្មីមួយ
add a single entry by passing the fields. addressbook km បន្ថែមធាតុតែមួយដោយឆ្លងកាត់វាល
add appointment addressbook km បន្ថែមការណាត់ជួប
add business email of whole distribution list? addressbook km បន្ថែមអុីមែលអាជិវកម្មទាំងអស់នៃបញ្ជីចែកចាយ?
add custom field addressbook km បន្ថែមវាលផ្ទាល់ខ្លួន
add customfield to links of addressbook, which displays in other applications. the default value is none customfield. addressbook km បន្ថែមវាលផ្ទាល់ខ្លួនទៅកាន់តំណនៃសៀវភៅអាសយដ្ឋានដែលបង្ហាញនៅក្នុងកម្មវិធីផ្សេង។ តម្លៃនៃលំនាំដើមគ្មានវាលផ្ទាល់ខ្លួននោះទេ។
add emails of whole distribution list? addressbook km បន្ថែមអុីមែលទាំងអស់នៃបញ្ជីចែកចាយ?
add or delete categories addressbook km បន្ថែម ឬលុបកាតាឡុក
add to bcc addressbook km បន្ថែមទៅ BCc
add to cc addressbook km បន្ថែមទៅ Cc
add to distribution list addressbook km បន្ថែមទៅបញ្ជីចែកចាយ
add to distribution list: addressbook km បន្ថែមទៅបញ្ជីចែកចាយ:
add to to addressbook km បន្ថែមទៅ
added addressbook km បានបន្ថែម
added by synchronisation addressbook km បានបន្ថែមដោយសមកាលកម្ម
added to distribution list addressbook km បានបន្ថែមទៅបញ្ជីចែកចាយ
additional information about using ldap as contact repository admin km ព័ត៌មានបន្ថែមអំពីការប្រើ LDAP ជាឃ្លាំងទំនាក់ទំនង
address book common km សៀវភៅអាសយដ្ឋាន
address book - vcard in addressbook km សៀវភៅអាសយដ្ឋាន - vCard ចូល
address book - view addressbook km សៀវភៅអាសយដ្ឋាន - ទិដ្ឋភាព
address line 2 addressbook km ខ្សែអាសយដ្ឋាន ២
address line 2 (private) addressbook km ខ្សែអាសយដ្ឋាន ២(ឯកជន)
address type addressbook km ប្រភេទអាសយដ្ឋាន
addressbook common km សៀវភៅអាសយដ្ឋាន
addressbook csv export addressbook km សៀវភៅអាសយដ្ឋាន CSV នាំចេញ
addressbook csv import addressbook km សៀវភៅអាសយដ្ឋាន CSV នាំចូល
addressbook field addressbook km វាលនៃសៀវភៅអាសយដ្ឋាន
addressbook list addressbook km បញ្ជីនៃសៀវភៅអាសយដ្ឋាន
addressbook menu addressbook km មុឺនុយនៃសៀវភៅអាសយដ្ឋាន
addressbook of addressbook km សៀវភៅអាសយដ្ឋាននៃ
addressbook preferences addressbook km ការកំណត់នៃសៀវភៅអាសយដ្ឋាន
addressbook the contact should be saved to addressbook km សៀវភៅអាសយដ្ឋាននៃការទំនាក់ទំនងគួរតែត្រូវបានរក្សាទុក
addressbook the contact should be shown addressbook km សៀវភៅអាសយដ្ឋាននៃការទំនាក់ទំនងគួរតែត្រូវបានបង្ហាញ
addressbook vcard export addressbook km សៀវភៅអាសយដ្ឋាន vCard នាំចេញ
addressbook vcard import addressbook km សៀវភៅអាសយដ្ឋាន vCard នាំចូល
addressbook-fieldname addressbook km សៀវភៅអាសយដ្ឋានវាលបញ្ចូលឈ្មោះ
addvcard addressbook km បន្ថែម vCard
advanced search addressbook km ការស្វែងរកកម្រិតខ្ពស់
all addressbooks addressbook km សៀវភៅអាសយដ្ឋានទាំងអស់
all contacts addressbook km អ្នកទំនាក់ទំនងទាំងអស់
all in one field addressbook km ក្នុងវាលតែមួយទាំងអស់
all types addressbook km គ្រប់ប្រភេទ
allow addressbook km អនុញ្ញាត
allow for contacts only addressbook km អនុញ្ញាតសម្រាប់អ្នកទំនាក់ទំនងតែប៉ុណ្ណោះ
allow members of following groups to edit contact-data of accounts addressbook km អនុញ្ញាតអោយសមាជិកនៃក្រុមនេះអាចកែទិន្នន័យអ្នកទំនាក់ទំនងរបស់គណនីណាមួយ
allow users to maintain their own account-data admin km អនុញ្ញាតឲ្យអ្នកប្រើប្រាស់ថែទាំទិន្នន័យរបស់ខ្លួន
alt. csv import addressbook km Alt. CSV នាំចូល
always addressbook km តែងតែ
apply changes to all members, whose fields have the same previous content addressbook km អនុវត្តការផ្លាស់ប្តូរទៅគ្រប់សមាជិកទាំងអស់ដែលមានវាលដូចមាតិកាមុន។
apply the action on the whole query, not only the shown contacts!!! addressbook km អនុវត្តការផ្លាស់ប្តូរទៅគ្រប់សំណួរ មិនគ្រាន់តែអ្នកទំនាក់ទំនងដែលបានបង្ហាញនេះទេ!
are you shure you want to delete this contact? addressbook km តើអ្នកប្រាកដថាចង់លុបទំនាក់ទំនងនេះទេ?
are you sure you want to delete this field? addressbook km តើអ្នកប្រាកដថាចង់លុបវាលនេះទេ?
assistent addressbook km ជំនួយការ
assistent phone addressbook km ជំនួយការទូរស័ព្ទ
birthday common km ថ្ងៃកំណើត
birthdays common km ថ្ងៃកំណើត
blank addressbook km ទទេ
browser location addressbook km ទីតាំងកម្មវិធីរុករក
business common km អាជីវកម្ម
business address addressbook km អាស័យដ្ឋានអាជីវកម្ម
business address line 2 addressbook km បន្ទាត់អាសយដ្ឋានអាជីវកម្ម 2
business city addressbook km ទីក្រុងពាណិជ្ជកម្ម
business country addressbook km ប្រទេសអាជីវកម្ម
business country code addressbook km លេខកូដប្រទេសអាជីវកម្ម
business email addressbook km អុីមែលអាជីវកម្ម
business fax addressbook km ទូរសារអាជីវកម្ម
business phone addressbook km ទូរស័ព្ទអាជីវកម្ម
business state addressbook km ស្ថានភាពអាជីវកម្ម
business street addressbook km ផ្លូវអាជីវកម្ម
business zip code addressbook km លេខកូដប្រៃសណីយ៍អាជីវកម្ម
calendar fields: addressbook km វាល​ប្រតិទិន៖
calendar integration addressbook km ការរួមបញ្ចូលប្រតិទិន
calendar uri addressbook km URI ប្រតិទិន
can be changed via setup >> configuration admin km អាចផ្លាស់ប្តូរបានតាមរយៈ Setup >> Configuration
can't create dn %1 addressbook km មិនអាចបង្កើត dn %1 បានទេ។
car phone addressbook km ទូរស័ព្ទឡាន
categorie addressbook km កាតាឡុក
categorie added addressbook km បានបន្ថែមកាតាឡុក។
categorie delete addressbook km កាតាឡុកត្រូវបានលុប។
categories, notes, ... addressbook km កាតាឡុក, កំណត់ចំណាំ, ...
category path addressbook km ផ្លូវកាតាឡុក
category tree admin km កាតាឡុកដើមឈើ
cell phone addressbook km ទូរស័ព្ទចល័ត
change addressbook when updating addressbook km ផ្លាស់ប្តូរសៀវភៅអាសយដ្ឋាននៅពេលធ្វើបច្ចុប្បន្នភាព
change all organisation members addressbook km ផ្លាស់ប្តូរសមាជិកអង្គការទាំងអស់។
charset for the csv export addressbook km សំណុំតួអក្សរសម្រាប់ការនាំចេញ CSV
charset for the vcard export addressbook km សំណុំតួអក្សរសម្រាប់ការនាំចេញ vCard
charset for the vcard import and export addressbook km សំណុំតួអក្សរសម្រាប់ការនាំចូល និងនាំចេញ vCard
charset of file addressbook km សំណុំនៃឯកសារ
check all addressbook km ពិនិត្យ​ទាំងអស់
choose an icon for this contact type admin km ជ្រើសរើសរូបតំណាងសម្រាប់ប្រភេទទំនាក់ទំនងនេះ។
choose charset addressbook km ជ្រើសរើសសំណុំតួអក្សរ
choose owner of imported data addressbook km ជ្រើសរើសម្ចាស់ទិន្នន័យដែលបាននាំចូល
choose pre-defined map source or use custom url (use %r = street, %t = city, %c = country, %z = zipcode) admin km ជ្រើសរើសប្រភពផែនទីដែលបានកំណត់ជាមុន ឬប្រើ URL ផ្ទាល់ខ្លួន (ប្រើ %r = street, %t = city, %c = country, %z = zipcode)
chosse an etemplate for this contact type admin km ជ្រើសរើស eTemplate សម្រាប់ប្រភេទទំនាក់ទំនងនេះ។
city common km ទីក្រុង
city (private) addressbook km ទីក្រុង (ឯកជន)
cleanup addressbook fields (apply if synchronization creates duplicates) addressbook km សម្អាតវាលសៀវភៅអាសយដ្ឋាន អនុវត្តប្រសិនបើការធ្វើសមកាលកម្មបង្កើតស្ទួន។
company common km ក្រុមហ៊ុន
company name addressbook km ឈ្មោះ​ក្រុម​ហ៊ុន
configuration common km ការកំណត់​រចនាសម្ព័ន្ធ
contact common km ទំនាក់ទំនង
contact application admin km ការដាក់ពាក្យទំនាក់ទំនង
contact data addressbook km ទិន្នន័យទំនាក់ទំនង
contact deleted addressbook km បានលុបទំនាក់ទំនង។
contact fields to show addressbook km វាលទំនាក់ទំនងដើម្បីបង្ហាញ
contact fields: addressbook km វាលទំនាក់ទំនង៖
contact id addressbook km លេខសម្គាល់ទំនាក់ទំនង
contact id cannot be changed by import addressbook km លេខសម្គាល់ទំនាក់ទំនងមិនអាចផ្លាស់ប្តូរដោយការនាំចូលបានទេ។
contact maintenance admin km ទាក់ទងការថែទាំ
contact modified by %1 at %2 addressbook km ទំនាក់ទំនងបានកែប្រែដោយ%1 នៅ% 2 ។
contact not found! addressbook km រកមិនឃើញទំនាក់ទំនង!
contact repository admin km ឃ្លាំងទំនាក់ទំនង
contact saved addressbook km បានរក្សាទុកទំនាក់ទំនង
contact settings admin km ការកំណត់ទំនាក់ទំនង
contactform addressbook km ទម្រង់ទំនាក់ទំនង
contacts common km ទំនាក់ទំនង
contacts and account contact-data to ldap admin km ទំនាក់ទំនង និងទិន្នន័យទំនាក់ទំនងរបស់គណនីទៅ LDAP
contacts and account contact-data to sql admin km ទំនាក់ទំនង និងទិន្នន័យទំនាក់ទំនងរបស់គណនីទៅ SQL
contacts to ldap admin km ទំនាក់ទំនងទៅកាន់ LDAP
contacts to ldap, account contact-data to sql admin km ទំនាក់ទំនងទៅ LDAP ទិន្នន័យទំនាក់ទំនងគណនីទៅ SQL
contains addressbook km មាន
copied addressbook km ចម្លង
copied by %1, from record #%2. addressbook km ចម្លងដោយ %1 ពីកំណត់ត្រា #%2 ។
copy a contact and edit the copy addressbook km ចម្លងទំនាក់ទំនង និងកែសម្រួលច្បាប់ចម្លង
copy instead of move addressbook km ចម្លងជំនួសឱ្យការផ្លាស់ទី
copy your changes to the clipboard, %1reload the entry%2 and merge them. addressbook km ចម្លងការផ្លាស់ប្ដូររបស់អ្នកទៅក្ដារតម្បៀតខ្ទាស់ %1 ផ្ទុកធាតុឡើងវិញ %2 ហើយបញ្ចូលពួកវាចូលគ្នា។
country common km ប្រទេស
country (private) addressbook km ប្រទេស (ឯកជន)
country code addressbook km លេខ​កូដ​ប្រទេស
country code (private) addressbook km លេខកូដប្រទេស (ឯកជន)
create new links addressbook km បង្កើតតំណថ្មី
created addressbook km បានបង្កើត
credit addressbook km ឥណទាន
crm view list addressbook km បញ្ជីទិដ្ឋភាព CRM
crm-view addressbook km CRM-ទិដ្ឋភាព
csv-fieldname addressbook km ឈ្មោះវាល CSV
csv-filename addressbook km ឈ្មោះឯកសារ CSV
custom addressbook km ផ្ទាល់ខ្លួន
custom etemplate for the contactform addressbook km គំរូ eTemplate ផ្ទាល់ខ្លួនសម្រាប់ទម្រង់ទំនាក់ទំនង
custom fields addressbook km វាលផ្ទាល់ខ្លួន
data exchange settings addressbook km ការកំណត់ការផ្លាស់ប្តូរទិន្នន័យ
debug output in browser addressbook km ជួសជុលកំហុសលទ្ធផលនៅក្នុងកម្មវិធីរុករក
default addressbook km លំនាំដើម
default action on double-click addressbook km សកម្មភាពលំនាំដើមនៅពេលចុចពីរដង
default address format addressbook km ទម្រង់អាសយដ្ឋានលំនាំដើម
default addressbook for adding contacts addressbook km សៀវភៅអាសយដ្ឋានលំនាំដើម
default document to insert contacts addressbook km ឯកសារលំនាំដើមដើម្បីបញ្ចូលទំនាក់ទំនង
default file as format addressbook km ឯកសារលំនាំដើមជាទម្រង់
default filter addressbook km តម្រងលំនាំដើម
default format for fileas, eg. for new entries. addressbook km ទម្រង់លំនាំដើមសម្រាប់ fileas ឧ. សម្រាប់ធាតុថ្មី។
default geolocation source address addressbook km អាសយដ្ឋានប្រភព GeoLocation លំនាំដើម
default is to open email addresses in egroupware email application, if user has access to it. addressbook km លំនាំដើមគឺត្រូវបើកអាសយដ្ឋានអុីមែលនៅក្នុងកម្មវិធី EGroupware EMail ប្រសិនបើអ្នកប្រើមានសិទ្ធិចូលប្រើវា។
defines which email address (business or home) to use as the preferred one for distribution lists in mail. addressbook km អាសយដ្ឋាន​អុីមែល​មួយ​ណា​ត្រូវ​បាន​ប្រើ​ជា​អាសយដ្ឋាន​ដែល​ពេញ​ចិត្ត​សម្រាប់​បញ្ជី​ចែកចាយ។
delete a single entry by passing the id. addressbook km លុបធាតុតែមួយដោយឆ្លងកាត់លេខសម្គាល់។
delete selected distribution list! addressbook km លុបបញ្ជីចែកចាយដែលបានជ្រើសរើស!
delete this contact addressbook km លុបទំនាក់ទំនងនេះ
delete this organisation including all its contacts addressbook km លុបស្ថាប័ននេះ រួមទាំងទំនាក់ទំនងទាំងអស់របស់វា
deleted addressbook km បានលុប
deletes the photo addressbook km លុបរូបថត
department common km នាយកដ្ឋាន
departments addressbook km នាយកដ្ឋាន
directory with documents to insert contacts addressbook km ថតជាមួយឯកសារដើម្បីបញ្ចូលទំនាក់ទំនង
disable addressbook km បិទ
disable last/next event column addressbook km បិទជួរឈរព្រឹត្តិការណ៍ចុងក្រោយ/បន្ទាប់
display contact addressbook km បង្ហាញទំនាក់ទំនង
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook km បង្ហាញថ្ងៃកំណើតនៅលើទំព័រដើម។
distribution list deleted addressbook km បញ្ជីចែកចាយត្រូវបានលុប
distribution list renamed addressbook km បានប្តូរឈ្មោះបញ្ជីចែកចាយ
distribution lists addressbook km បញ្ជីចែកចាយ
distribution lists as groups addressbook km បញ្ជីចែកចាយជាក្រុម
distribution lists, ... addressbook km បញ្ជីចែកចាយ, ...
do you really want to delete this contact? addressbook km តើអ្នកពិតជាចង់លុបទំនាក់ទំនងនេះមែនទេ?
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook km តើ​អ្នក​ចង់​បាន​សៀវភៅ​អាសយដ្ឋាន​ឯកជន​មួយ​ទៀត ដែល​មិន​អាច​មើល​ដោយ​អ្នក​ប្រើ​ផ្សេង​ទៀត​ទេ ប្រសិន​បើ​អ្នក​អនុញ្ញាត​ឱ្យ​ចូល​ទៅ​កាន់​សៀវភៅ​អាសយដ្ឋាន​ផ្ទាល់​ខ្លួន​របស់​អ្នក?
do your really want to delete this contact? addressbook km តើអ្នកពិតជាចង់លុបទំនាក់ទំនងនេះមែនទេ?
doesn't matter addressbook km មិនសំខាន់ទេ
domestic addressbook km ក្នុងស្រុក
don't hide empty columns addressbook km លាក់ជួរឈរដែលទទេ
download addressbook km ទាញយក
download export file (uncheck to debug output in browser) addressbook km ទាញយកឯកសារនាំចេញ។ ដោះធីកដើម្បីជួសជុលកំហុសលទ្ធផលនៅក្នុងកម្មវិធីរុករក។
download this contact as vcard file addressbook km ទាញយកទំនាក់ទំនងនេះជាឯកសារ vCard
duplicate threshold addressbook km ស្ទួនកម្រិត
duplicate warning addressbook km ការព្រមានស្ទួន
duplicates addressbook km ស្ទួន
duration addressbook km រយៈពេល
each category in its own field addressbook km ប្រភេទនីមួយៗនៅក្នុងវិស័យរបស់ខ្លួន។
each option in its own field addressbook km ជម្រើសនីមួយៗនៅក្នុងវិស័យរបស់ខ្លួន។
edit contact addressbook km កែសម្រួលទំនាក់ទំនង
edit custom field addressbook km កែសម្រួលវាលផ្ទាល់ខ្លួន
edit custom fields admin km កែសម្រួលវាលផ្ទាល់ខ្លួន
edit extra account-data in the addressbook admin km កែសម្រួលទិន្នន័យគណនីបន្ថែមនៅក្នុងសៀវភៅអាសយដ្ឋាន
edit phonenumbers addressbook km កែសម្រួលលេខទូរស័ព្ទ
edit phonenumbers - addressbook km កែសម្រួលលេខទូរស័ព្ទ -
either the configured email addesses are wrong or the mail configuration. addressbook km ទាំងអាសយដ្ឋានអុីមែលដែលបានកំណត់រចនាសម្ព័ន្ធខុស ឬការកំណត់រចនាសម្ព័ន្ធសំបុត្រ។
email & internet addressbook km អុីមែល និងអុីនធឺណិត
email (private) addressbook km អុីមែល (ឯកជន)
email addresses (comma separated) to send the contact data addressbook km អាសយដ្ឋានអុីមែល សញ្ញាក្បៀសបំបែក ដើម្បីផ្ញើទិន្នន័យទំនាក់ទំនង។
empty admin km ទទេ
empty addressbook before importing addressbook km លុបធាតុសៀវភៅអាសយដ្ឋានមិននៅក្នុងបញ្ជី CSV
empty for all addressbook km ទទេសម្រាប់ទាំងអស់គ្នា
enable an extra private addressbook addressbook km សៀវភៅអាសយដ្ឋានឯកជនបន្ថែម
enclosure addressbook km ការរុំព័ទ្ធ
end addressbook km ចប់
enter the path to the exported file here addressbook km បញ្ចូលផ្លូវទៅកាន់ឯកសារដែលបាននាំចេញ
error deleting the contact !!! addressbook km កំហុសក្នុងការលុបទំនាក់ទំនង!
error saving the contact !!! addressbook km កំហុសក្នុងការរក្សាទុកទំនាក់ទំនង!
error: the entry has been updated since you opened it for editing! addressbook km កំហុស៖ ធាតុត្រូវបានធ្វើបច្ចុប្បន្នភាពចាប់តាំងពីអ្នកបើកវាកែសម្រួលមក!
example {{if n_prefix~mr~hello mr.~hello ms.}} - search the field "n_prefix", for "mr", if found, write hello mr., else write hello ms. addressbook km ឧទាហរណ៍ {{IF n_prefix~Mr~Hello Mr.~Hello Ms.}} - ស្វែករកក្នុងវាល "n_prefix", សម្រាប់ "Mr", បើរកឃើញ, សរសេរ Hello Mr., ឬសរសេរ Hello Ms.
example {{letterprefixcustom n_prefix title n_family}} - example: mr dr. james miller preferences km ឧទាហរណ៍ {{LETTERPREFIXCUSTOM n_prefix title n_family}} - ឧទាហរណ៍៖ លោកបណ្ឌិត James Miller
example {{nelf role}} - if field role is not empty, you will get a new line with the value of field role addressbook km ឧទាហរណ៍ {{NELF role}} - ប្រសិនបើវាលតួនាទីមិនទទេ អ្នកនឹងទទួលបានបន្ទាត់ថ្មីជាមួយនឹងតម្លៃនៃវាលតួនាទី
example {{nenvlf role}} - if field role is not empty, set a lf without any value of the field addressbook km ឧទាហរណ៍ {{nenvlf role}} - ប្រសិនបើវាលតួនាទីមិនទទេ កំណត់ LF ដោយគ្មានតម្លៃណាមួយនៃវាលនោះ
existing links addressbook km តំណភ្ជាប់ដែលមានស្រាប់
exists addressbook km មាន
export as csv addressbook km នាំចេញជា CSV
export as vcard addressbook km នាំចេញជា vCard
export contacts addressbook km នាំចេញទំនាក់ទំនង
export definition to use for nextmatch export addressbook km នាំចេញនិយមន័យដែលត្រូវប្រើសម្រាប់ការនាំចេញការប្រកួតបន្ទាប់
export definitition to use for nextmatch export addressbook km នាំចេញនិយមន័យដែលត្រូវប្រើសម្រាប់ការនាំចេញការប្រកួតបន្ទាប់
export file name addressbook km នាំចេញឈ្មោះឯកសារ
export from addressbook addressbook km នាំចេញពីសៀវភៅអាសយដ្ឋាន
export selection addressbook km នាំចេញជម្រើស
exported addressbook km នាំចេញ
exports contacts from your addressbook into a csv file. addressbook km នាំចេញទំនាក់ទំនងពីសៀវភៅអាសយដ្ឋានទៅជាឯកសារ CSV ។
exports contacts from your addressbook into a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook km នាំចេញទំនាក់ទំនងពីសៀវភៅអាសយដ្ឋានទៅជាឯកសារ CSV ។ CSV មានន័យថា 'តម្លៃបំបែកដោយសញ្ញាក្បៀស'។ នៅក្នុងផ្ទាំងជម្រើស អ្នកក៏អាចជ្រើសរើសសញ្ញាបំបែកផ្សេងទៀត។
exports contacts from your addressbook into a vcard file. addressbook km នាំចេញទំនាក់ទំនងពីសៀវភៅអាសយដ្ឋានរបស់អ្នកទៅជាឯកសារ vCard ។
extra addressbook km ការបន្ថែម
extra encodings addressbook km ការអុិនកូដបន្ថែម
extra private addressbook km ឯកជនភាពបន្ថែម
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook km បរាជ័យក្នុងការផ្លាស់ប្តូរសមាជិក %1 របស់ស្ថាប័ន សិទ្ធិមិនគ្រប់គ្រាន់!
favorite phone addressbook km ទូរស័ព្ទដែលចូលចិត្ត
favorites addressbook km ចំណូលចិត្ត
fax addressbook km ទូរសារ
fax (private) addressbook km ទូរសារ (ឯកជន)
fax number common km លេខទូរសារ
field %1 has been added ! addressbook km វាល %1 ត្រូវបានបន្ថែម!
field %1 has been updated ! addressbook km វាល %1 ត្រូវ​បាន​ធ្វើ​បច្ចុប្បន្នភាព!
field name addressbook km ឈ្មោះវាល
fields for the csv export addressbook km វាលសម្រាប់ការនាំចេញ CSV
fields the user is allowed to edit himself admin km វាលដែលអ្នកប្រើប្រាស់ត្រូវបានអនុញ្ញាតឱ្យកែសម្រួលខ្លួនឯង
fields to check for duplicates addressbook km វាលដើម្បីពិនិត្យមើលការស្ទួន
fields to consider when looking for duplicate contacts. addressbook km វាលដែលត្រូវពិចារណានៅពេលស្វែងរកទំនាក់ទំនងស្ទួន។
fields to copy when copying an address? admin km វាលដែលត្រូវចម្លងនៅពេលចម្លងអាសយដ្ឋាន
fields to show in address list addressbook km វាលដែលត្រូវបង្ហាញក្នុងបញ្ជីអាសយដ្ឋាន
fieldseparator addressbook km អ្នកបំបែកវាល
for read only ldap admin km សម្រាប់ LDAPដែលអានបានប៉ុណ្ណោះ។
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook km ប្រើស្លាកនេះសម្រាប់អក្សរសៀរៀល។ ដាក់មាតិកាដែលអ្នកចង់ធ្វើម្តងទៀតរវាងស្លាកពីរ។
freebusy uri addressbook km FreeBusy URI
full name addressbook km ឈ្មោះ​ពេញ
general admin km ទូទៅ
general fields: addressbook km វាលទូទៅ៖
general settings addressbook km ការកំណត់​ទូទៅ
geo addressbook km GEO
geolocation addressbook km ទីតាំងភូមិសាស្ត្រ
geolocation integration admin km ការរួមបញ្ចូលទីតាំងភូមិសាស្ត្រ
global categories addressbook km ប្រភេទសកល
grant addressbook access common km ផ្តល់សិទ្ធិចូលប្រើសៀវភៅអាសយដ្ឋាន
group %1 addressbook km ក្រុម %1
h addressbook km h
hide accounts from addressbook addressbook km លាក់គណនីអ្នកប្រើប្រាស់
hide all accounts addressbook km លាក់គណនីទាំងអស់។
hide user groups as distribution lists addressbook km លាក់ក្រុមអ្នកប្រើប្រាស់ជាបញ្ជីចែកចាយ
hides accounts completly from the adressbook. addressbook km លាក់គណនីអ្នកប្រើប្រាស់ទាំងស្រុងពីសៀវភៅអាសយដ្ឋាន។
history logging admin km ការកត់ត្រាប្រវត្តិសាស្ត្រ
home address addressbook km អាសយដ្ឋានផ្ទះ
home address, birthday, ... addressbook km អាស័យដ្ឋាន ខួបកំណើត...
home city addressbook km ទីក្រុង
home country addressbook km ប្រទេសដើម
home email addressbook km អុីមែលផ្ទះ
home email if given, else work email addressbook km អុីមែលផ្ទះ ប្រសិនបើត្រូវបានផ្តល់ឱ្យ ឬអុីមែលការងារផ្សេងទៀត។
home phone addressbook km ទូរស័ព្ទផ្ទះ
home state addressbook km រដ្ឋ
home street addressbook km ផ្លូវ
home zip code addressbook km លេខ​កូដ​តំបន់​
how many contacts should non-admins be able to export admin km តើទំនាក់ទំនងប៉ុន្មានដែលមិនមែនជាអ្នកគ្រប់គ្រងគួរតែអាចនាំចេញបាន។
how many fields must match for the record to be considered a duplicate. addressbook km តើមានវាលប៉ុន្មានដែលត្រូវគ្នាសម្រាប់កំណត់ត្រាដែលត្រូវចាត់ទុកថាស្ទួន។
html link to the current record addressbook km តំណភ្ជាប់ HTML ទៅកំណត់ត្រាបច្ចុប្បន្ន
icon addressbook km រូបតំណាង
if accounts are already in ldap admin km ប្រសិនបើគណនីមាននៅក្នុង LDAP រួចហើយ
ignore first line addressbook km មិនអើពើជួរទីមួយ
import addressbook km នាំចូល
import contacts addressbook km នាំចូលទំនាក់ទំនង
import csv-file into addressbook addressbook km នាំចូលឯកសារ CSV ទៅក្នុងសៀវភៅអាសយដ្ឋាន
import file addressbook km នាំចូលឯកសារ
import from addressbook km នាំចូលពី
import from ldif, csv, or vcard addressbook km នាំចូលពី LDIF, CSV, ឬ vCard
import from outlook addressbook km នាំចូលពី Outlook
import multiple vcard addressbook km នាំចូល vCard ច្រើន។
import next set addressbook km នាំចូលឈុតបន្ទាប់
import_instructions addressbook km នៅក្នុង Netscape បើកសៀវភៅអាសយដ្ឋាន ហើយជ្រើសរើស <b>នាំចេញ</b> ពីម៉ឺនុយ <b>File</b> ។ ឯកសារដែលបាននាំចេញនឹងមានទម្រង់ LDIF ។<p>ឬនៅក្នុង Outlook ជ្រើសរើសថតទំនាក់ទំនងរបស់អ្នក ជ្រើសរើស <b>នាំចូល និងនាំចេញ...</b> ពីម៉ឺនុយ <b>ឯកសារ</b> ហើយនាំចេញរបស់អ្នក ទំនាក់ទំនងទៅក្នុងឯកសារអត្ថបទបំបែកដោយសញ្ញាក្បៀស (CSV) ។ <p>ឬនៅក្នុង Palm Desktop 4.0 ឬខ្ពស់ជាងនេះ សូមចូលទៅកាន់សៀវភៅអាសយដ្ឋានរបស់អ្នក ហើយជ្រើសរើស <b>នាំចេញ</b> ពីម៉ឺនុយ <b>File</b> ។ ឯកសារដែលបាននាំចេញនឹងមានទម្រង់ vCard ។
importer's personal addressbook km ផ្ទាល់ខ្លួនរបស់អ្នកនាំចូល
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook km នាំចូលទំនាក់ទំនងទៅក្នុងសៀវភៅអាសយដ្ឋានពីឯកសារ CSV ។ CSV មានន័យថា 'តម្លៃបំបែកដោយសញ្ញាក្បៀស'។ នៅក្នុងផ្ទាំងជម្រើស អ្នកក៏អាចជ្រើសរើសសញ្ញាបំបែកផ្សេងទៀត។
imports contacts into your addressbook from a vcard file. addressbook km នាំចូលទំនាក់ទំនងទៅក្នុងសៀវភៅអាសយដ្ឋានរបស់អ្នកពីឯកសារ vCard ។
in %1 days (%2) is %3's birthday. addressbook km ក្នុង %1 ថ្ងៃ (%2) គឺជាថ្ងៃកំណើតរបស់ %3 ។
income addressbook km ចំណូល
infolog addressbook km ទំនាក់ទំនង InfoLog
infolog-organisation addressbook km អង្គការ InfoLog
insert addressbook km បញ្ចូល
insufficent rights to delete this list! addressbook km សិទ្ធិមិនគ្រប់គ្រាន់ក្នុងការលុបបញ្ជីនេះ!
insufficent rights to edit this list! addressbook km សិទ្ធិមិនគ្រប់គ្រាន់ដើម្បីកែសម្រួលបញ្ជីនេះ!
international addressbook km អន្តរជាតិ
internet addressbook km អុីនធឺណិត
label addressbook km ស្លាក​សញ្ញា
last date addressbook km កាលបរិច្ឆេទចុងក្រោយ
last modified addressbook km កែប្រែចុងក្រោយ
last modified by addressbook km កែប្រែចុងក្រោយដោយ
ldap context for contacts admin km បរិបទ LDAP សម្រាប់ទំនាក់ទំនង
ldap host for contacts admin km ម៉ាស៊ីន LDAP សម្រាប់ទំនាក់ទំនង
ldap settings for contacts admin km ការកំណត់ LDAP សម្រាប់ទំនាក់ទំនង
ldif addressbook km LDIF
line 2 addressbook km ជួរទី 2
link title for contacts show addressbook km ចំណងជើងតំណសម្រាប់ទំនាក់ទំនង
links addressbook km តំណភ្ជាប់
links and attached files addressbook km តំណភ្ជាប់និងឯកសារភ្ជាប់
links to specified application. example: {{links/infolog}} addressbook km តំណភ្ជាប់ទៅកម្មវិធីដែលបានបញ្ជាក់។ ឧទាហរណ៍៖ {{links/infolog}}
list all categories addressbook km រាយប្រភេទទាំងអស់។
list all customfields addressbook km រាយបញ្ជីវាលផ្ទាល់ខ្លួនទាំងអស់។
list already exists! addressbook km បញ្ជីមានរួចហើយ!
list created addressbook km បញ្ជីត្រូវបានបង្កើតឡើង។
list creation failed, no rights! addressbook km ការបង្កើតបញ្ជីបានបរាជ័យ គ្មានសិទ្ធិទេ!
list of files linked to the current record addressbook km បញ្ជីឯកសារដែលភ្ជាប់ទៅកំណត់ត្រាបច្ចុប្បន្ន
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook km ផ្ទុកវាលផ្ទាល់ខ្លួនជាលិបិក្រម ទោះបីជាជួរឈរវាលផ្ទាល់ខ្លួនត្រូវបានបិទ (ឧ. ដើម្បីបង្ហាញពួកវាក្នុងជួរឈរលិបិក្រមជាក់លាក់)
load vcard addressbook km ផ្ទុក vCard
location addressbook km ទីតាំង
locations addressbook km ទីតាំង
mail vcard addressbook km សំបុត្រ vCard
main categories in their own field addressbook km ប្រភេទសំខាន់ៗនៅក្នុងវាលរបស់ពួកគេ។
manage mapping addressbook km គ្រប់គ្រងការធ្វើផែនទី
mark records as private addressbook km សម្គាល់កំណត់ត្រាជាឯកជន
merge contacts addressbook km បញ្ចូលទំនាក់ទំនងចូលគ្នា
merge duplicates addressbook km បញ្ចូល​ការស្ទួនចូលគ្នា
merge into first or account, deletes all other! addressbook km បញ្ចូលចូលគ្នាទៅក្នុងគណនីដំបូង ឬគណនីលុបផ្សេងទៀតទាំងអស់!
merged addressbook km បញ្ចូលចូលគ្នា
message after submitting the form addressbook km សារបន្ទាប់ពីការបញ្ជូនទម្រង់
message phone addressbook km សារទូរស័ព្ទ
middle name addressbook km ឈ្មោះ​ក​ណ្តា​ល
migration finished addressbook km ការប្តូរទីកន្លែងបានបញ្ចប់
migration to ldap admin km ការផ្លាស់ប្តូរទៅ LDAP
mobile addressbook km ទូរស័ព្ទ
mobile phone addressbook km ទូរស័ព្ទចល័ត
mobile phone (private) addressbook km ទូរស័ព្ទចល័ត (ឯកជន)
modem phone addressbook km ទូរស័ព្ទម៉ូឌឹម
more ... addressbook km ច្រើនទៀត...
move to addressbook addressbook km ផ្លាស់ទីទៅសៀវភៅអាសយដ្ឋាន
moved addressbook km ផ្លាស់ទី
multiple vcard addressbook km vCard ច្រើន
name for the distribution list addressbook km ឈ្មោះសម្រាប់បញ្ជីចែកចាយ
name of current user, all other contact fields are valid too addressbook km ឈ្មោះអ្នកប្រើប្រាស់បច្ចុប្បន្ន វាលទំនាក់ទំនងផ្សេងទៀតទាំងអស់ក៏មានសុពលភាពផងដែរ។
name, address addressbook km ឈ្មោះ, អាស័យដ្ឋាន
name, email, phone addressbook km ឈ្មោះ អុីមែល ទូរស័ព្ទ
new contact submitted by %1 at %2 addressbook km ទំនាក់ទំនងថ្មីបានដាក់ជូនដោយ %1 នៅ %2 ។
new window opened to edit infolog for your selection addressbook km បង្អួចថ្មីបានបើកដើម្បីកែសម្រួល InfoLog ។
next date addressbook km កាលបរិច្ឆេទបន្ទាប់
no categories selected addressbook km គ្មានកាតាឡុកបានជ្រើសរើសទេ
no country selected addressbook km គ្មានប្រទេសដែលបានជ្រើសរើសទេ
no distribution list addressbook km មិនមានបញ្ជីចែកចាយទេ។
no fallback addressbook km គ្មានការថយក្រោយទេ។
no vcard addressbook km គ្មាន vCard
not shared addressbook km មិនបានចែករំលែក
number addressbook km ចំនួន
number of records to read (%1) addressbook km ចំនួនកំណត់ត្រាដែលត្រូវអាន (%1)
open %1 crm view addressbook km បើកទិដ្ឋភាព %1 CRM
open email addresses in external mail program addressbook km បើកអាសយដ្ឋានអុីមែលនៅក្នុងកម្មវិធីសំបុត្រខាងក្រៅ
open for editing? addressbook km បើកសម្រាប់ការកែសម្រួល?
open infolog crm view preferences km បើកទិដ្ឋភាព InfoLog CRM នៃទំនាក់ទំនង
open tracking system crm view preferences km បើកប្រព័ន្ធតាមដានទិដ្ឋភាព CRM
options for type admin km ជម្រើសសម្រាប់ប្រភេទ
organisation addressbook km អង្គការ
organisations addressbook km អង្គការ
organisations by departments addressbook km អង្គការតាមនាយកដ្ឋាន
organisations by location addressbook km អង្គការតាមទីតាំង
other number addressbook km លេខផ្សេងទៀត
other phone addressbook km ទូរស័ព្ទផ្សេងទៀត
own sorting addressbook km ការតម្រៀបផ្ទាល់ខ្លួន
pager common km ទំព័រ
parcel addressbook km កញ្ចប់
participants addressbook km អ្នកចូលរួម
permission denied !!! addressbook km ការអនុញ្ញាតត្រូវបានបដិសេធ!
permissiong denied! ask your administrator to allow regular uses to update their public keys. addressbook km ការអនុញ្ញាតត្រូវបានបដិសេធ! សួរអ្នកគ្រប់គ្រងរបស់អ្នកឱ្យអនុញ្ញាតឱ្យប្រើជាប្រចាំដើម្បីធ្វើបច្ចុប្បន្នភាពសោសាធារណៈរបស់ពួកគេ។
pgp key addressbook km គ្រាប់ចុច PGP
phone number common km លេខទូរសព្ទ
phone numbers common km លេខទូរសព្ទ
photo addressbook km រូបថត
please enter a name for that field ! addressbook km បញ្ចូលឈ្មោះទៅក្នុងវាលនោះ!
please select only one category addressbook km ជ្រើសរើសកាតាឡុកមួយប៉ុណ្ណោះ
postal common km ប្រៃសណីយ៍
pref addressbook km បុព្វបទ
preferred email address to use in distribution lists addressbook km អាសយដ្ឋានអុីមែលដែលពេញចិត្ត
preferred phone addressbook km ទូរស័ព្ទដែលពេញចិត្ត
preferred type of email address to add for distribution lists addressbook km ប្រភេទអាសយដ្ឋានអុីមែលដែលពេញចិត្តសម្រាប់បញ្ជីចែកចាយ។
prefix addressbook km បុព្វបទ
prevent deleting of contacts admin km ការពារការលុបទំនាក់ទំនង
private address addressbook km អាសយដ្ឋានឯកជន
private custom fields addressbook km វាលផ្ទាល់ខ្លួនផ្ទាល់ខ្លួន
public key addressbook km សោសាធារណៈ
public sharing url addressbook km URL ចែករំលែកជាសាធារណៈ
publish into groups: addressbook km ផ្សព្វផ្សាយជាក្រុម៖
read a list / search for entries. addressbook km អានបញ្ជី / ស្វែងរកធាតុ។
read a list of entries. addressbook km អានបញ្ជីនៃធាតុ។
read a single entry by passing the id and fieldlist. addressbook km អានធាតុតែមួយដោយឆ្លងកាត់លេខសម្គាល់ និងបញ្ជីវាល។
read only addressbook km អាច​បាន​តែ​អាន
record access addressbook km ការចូលកំណត់ត្រា
record owner addressbook km ម្ចាស់កំណត់ត្រា
recovered addressbook km យកបានវិញ
region addressbook km តំបន់
remove from distribution list addressbook km លុបចេញពីបញ្ជីចែកចាយ
remove selected contacts from distribution list addressbook km លុបទំនាក់ទំនងដែលបានជ្រើសរើសចេញពីបញ្ជីចែកចាយ។
removed from distribution list addressbook km បានដកចេញពីបញ្ជីចែកចាយ។
rename list addressbook km ប្តូរឈ្មោះបញ្ជី
rename selected distribution list addressbook km ប្តូរឈ្មោះបញ្ជីចែកចាយដែលបានជ្រើសរើស
repetition addressbook km ពាក្យដដែលៗ
replacements for inserting contacts into documents addressbook km ការជំនួសសម្រាប់ការបញ្ចូលទំនាក់ទំនងទៅក្នុងឯកសារ
required fields * addressbook km វាលដែលត្រូវការ *
role addressbook km មុខរបរ
room addressbook km បន្ទប់
search letter addressbook km ស្វែងរកសំបុត្រ
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook km ជ្រើសរើសទម្រង់បញ្ឈររូបថត jpeg ។ វានឹងមានទំហំឡើងវិញដល់ទទឹង 60 ភីកសែល។
select a source address to be used in geolocation routing system addressbook km ជ្រើសរើសអាសយដ្ឋានប្រភពដែលត្រូវប្រើនៅក្នុងប្រព័ន្ធកំណត់ទីតាំងភូមិសាស្ត្រ
select a view addressbook km ជ្រើសរើសទិដ្ឋភាព
select addressbook type addressbook km ជ្រើសរើសប្រភេទសៀវភៅអាសយដ្ឋាន
select all addressbook km ជ្រើសរើស​ទាំងអស់
select an action or addressbook to move to addressbook km ជ្រើសរើសសកម្មភាព ឬសៀវភៅអាសយដ្ឋានដើម្បីផ្លាស់ទីទៅ
select an action or addressbook to move to... addressbook km ជ្រើសរើសសកម្មភាព ឬសៀវភៅអាសយដ្ឋាន ដើម្បីផ្លាស់ទីទៅ...
select an opened dialog addressbook km ជ្រើសរើសប្រអប់ដែលបានបើក
select migration type admin km ជ្រើសរើសប្រភេទការផ្លាស់ប្តូរទីតាំង
select multiple contacts for a further action addressbook km ជ្រើសរើសទំនាក់ទំនងច្រើនសម្រាប់សកម្មភាពបន្ថែម
select phone number as prefered way of contact addressbook km ជ្រើសរើសលេខទូរស័ព្ទជាមធ្យោបាយទំនាក់ទំនងដែលពេញចិត្ត
select the type of conversion addressbook km ជ្រើសរើសប្រភេទនៃការបំប្លែង
select the type of conversion: addressbook km ជ្រើសរើសប្រភេទនៃការបំប្លែង៖
select where you want to store / retrieve contacts admin km ជ្រើសរើសកន្លែងដែលទំនាក់ទំនងគួរតែត្រូវបានរក្សាទុក / ទាញយក។
selected contacts addressbook km ទំនាក់ទំនងដែលបានជ្រើសរើស
send emailcopy to receiver addressbook km ផ្ញើច្បាប់ចម្លងអុីមែលទៅអ្នកទទួល
send fax via email by replacing fax number with an email address addressbook km ផ្ញើទូរសារតាមអុីមែលដោយជំនួសលេខទូរសារជាមួយអាសយដ្ឋានអុីមែល
send succeeded to %1 common km ការផ្ញើបានជោគជ័យទៅ %1
seperator addressbook km សញ្ញាបំបែក
set full name and file as field in contacts of all users (either all or only empty values) admin km កំណត់ឈ្មោះពេញ និងវាល 'fileas' នៅក្នុងទំនាក់ទំនងរបស់អ្នកប្រើប្រាស់ទាំងអស់។ ទាំងតម្លៃទាំងអស់ ឬតែទទេ។
set only full name addressbook km កំណត់តែឈ្មោះពេញ
share into addressbook addressbook km ចែករំលែកទៅក្នុងសៀវភៅអាសយដ្ឋាន
share writable addressbook km ចែករំលែកអាចសរសេរបាន។
shared addressbook km ចែករំលែក
shared by me addressbook km ចែករំលែកដោយខ្ញុំ
shared into addressbook %1 addressbook km ចែករំលែកទៅក្នុងសៀវភៅអាសយដ្ឋាន %1
shared with addressbook km ចែករំលែកជាមួយ
should the columns photo and home address always be displayed, even if they are empty. addressbook km តើរូបថត និងអាសយដ្ឋានផ្ទះត្រូវបានបង្ហាញជានិច្ច បើទោះបីជាជួរឈរទទេក៏ដោយ។
show addressbook km បង្ហាញ
show active accounts addressbook km បង្ហាញគណនីសកម្ម
show all accounts addressbook km បង្ហាញគណនីទាំងអស់
show infolog entries for this organisation addressbook km បង្ហាញធាតុ InfoLog សម្រាប់ស្ថាប័ននេះ
show the contacts of this organisation addressbook km បង្ហាញទំនាក់ទំនងរបស់ស្ថាប័ននេះ
similar contacts found: addressbook km ទំនាក់ទំនងស្រដៀងគ្នាបានរកឃើញ៖
size of popup (wxh, eg.400x300, if a popup should be used) admin km ទំហំនៃការលេចឡើង។ ទទឹង x កម្ពស់ ឧទាហរណ៍ ៤០០x៣០០
smime key addressbook km សោ S/MIME
special addressbook km ពិសេស
stadt addressbook km ទីក្រុង
start admin km ចាប់ផ្តើម
startrecord addressbook km ចាប់ផ្តើមកំណត់ត្រា
state common km រដ្ឋ
state (private) addressbook km រដ្ឋ (ឯកជន)
street common km ផ្លូវ
street (private) addressbook km ផ្លូវ (ឯកជន)
subject for email addressbook km ប្រធានបទសម្រាប់អុីមែល
successfully imported %1 records into your addressbook. addressbook km បាននាំចូល %1 record(s) ដោយជោគជ័យទៅក្នុងសៀវភៅអាសយដ្ឋាន។
suffix addressbook km បច្ច័យ
tag to mark positions for address labels addressbook km ដាក់ស្លាកដើម្បីសម្គាល់ទីតាំងសម្រាប់ស្លាកអាសយដ្ឋាន
tel home addressbook km ទូរស័ព្ទផ្ទះ
telephony integration admin km ការរួមបញ្ចូលទូរស័ព្ទ
test import (show importable records <u>only</u> in browser) addressbook km សាកល្បងការនាំចូល បង្ហាញកំណត់ត្រាដែលអាចនាំចូលបាន <u>តែ</u> នៅក្នុងកម្មវិធីរុករក
thank you for contacting us. addressbook km សូមអរគុណសម្រាប់ការទាក់ទងមកយើងខ្ញុំ។
that field name has been used already ! addressbook km ឈ្មោះវាលត្រូវបានប្រើប្រាស់រួចហើយ!
the anonymous user has probably no add rights for this addressbook. addressbook km អ្នកប្រើប្រាស់អនាមិកមិនមានសិទ្ធិបន្ថែមសម្រាប់សៀវភៅអាសយដ្ឋាននេះទេ។
the anonymous user needs add rights for it! addressbook km អ្នកប្រើប្រាស់អនាមិកត្រូវការសិទ្ធិបន្ថែម!
the anonymous user needs read it! addressbook km អ្នកប្រើប្រាស់អនាមិកត្រូវការសិទ្ធិអាន!
the following document-types are supported: addressbook km ប្រភេទឯកសារខាងក្រោមត្រូវបានគាំទ្រ៖
the zip extension is needed, to insert contact data in openoffice or msoffice documents. addressbook km ត្រូវការផ្នែកបន្ថែម zip ដើម្បីបញ្ចូលទិន្នន័យទំនាក់ទំនងក្នុងឯកសារ OpenOffice ឬ MSOffice ។
there was an error saving your data :-( addressbook km កំហុសក្នុងការរក្សាទុកទិន្នន័យ!
this module displays a contactform, that stores direct into the addressbook. addressbook km ម៉ូឌុលនេះបង្ហាញទម្រង់ទំនាក់ទំនង ដែលរក្សាទុកដោយផ្ទាល់ទៅក្នុងសៀវភៅអាសយដ្ឋាន។
this module displays block from a adddressbook group. addressbook km ម៉ូឌុលនេះបង្ហាញប្លុកពីក្រុមសៀវភៅអាសយដ្ឋាន។
this person's first name was not in the address book. addressbook km ឈ្មោះរបស់បុគ្គលនេះមិនមាននៅក្នុងសៀវភៅអាសយដ្ឋានទេ។
this person's last name was not in the address book. addressbook km នាមត្រកូលរបស់មនុស្សនេះមិនមាននៅក្នុងសៀវភៅអាសយដ្ឋានទេ។
timezone addressbook km ល្វែងម៉ោង
title addressbook km ចំណងជើងការងារ
titles of any entries linked to the current record, excluding attached files addressbook km ចំណងជើងនៃធាតុណាមួយដែលភ្ជាប់ទៅនឹងកំណត់ត្រាបច្ចុប្បន្ន ដោយមិនរាប់បញ្ចូលឯកសារដែលបានភ្ជាប់
to many might exceed your execution-time-limit addressbook km ចំនួនច្រើនពេកអាចលើសពីដែនកំណត់ពេលវេលាប្រតិបត្តិរបស់អ្នក។
today is %1's birthday! common km ថ្ងៃ​នេះ​ជា​ថ្ងៃ​ខួប​កំណើត​របស់ %1!
tomorrow is %1's birthday. common km ថ្ងៃស្អែកជាថ្ងៃកំណើតរបស់ %1។
translation addressbook km ការបកប្រែ
two of: %1 addressbook km ពីរនៃ៖ %1
type addressbook km ប្រភេទ
un-delete addressbook km លុប
unable to convert "%1" to account id. using plugin setting (%2) for owner. addressbook km មិនអាចបំប្លែង "%1" ទៅជាលេខសម្គាល់គណនីបានទេ។ ការប្រើប្រាស់ការកំណត់កម្មវិធីជំនួយ (%2) សម្រាប់ម្ចាស់។
unable to delete addressbook km មិនអាចលុបបានទេ។
unable to import into %1, using %2 addressbook km មិន​អាច​នាំ​ចូល​ទៅ​ក្នុង%1 ដោយ​ប្រើ % 2
unique id (uid) addressbook km លេខសម្គាល់តែមួយគត់ (UID)
unique id<br />(to update existing records) addressbook km លេខសម្គាល់តែមួយគត់<br />ដើម្បីធ្វើបច្ចុប្បន្នភាពកំណត់ត្រាដែលមានស្រាប់
unknown type %1, imported as %2 addressbook km មិនស្គាល់ប្រភេទ %1 នាំចូលជា % 2
unshare addressbook km ឈប់ចែករំលែក
unshared addressbook km មិនបានចែករំលែក
update a single entry by passing the fields. addressbook km ធ្វើបច្ចុប្បន្នភាពធាតុតែមួយដោយឆ្លងកាត់វាល។
update fields by edited organisations? admin km វាលដើម្បីធ្វើបច្ចុប្បន្នភាពនៃអង្គការដែលបានកែសម្រួល
updated addressbook km បានធ្វើបច្ចុប្បន្នភាព
upload or delete the photo addressbook km បង្ហោះ ឬលុបរូបថត
url (business) addressbook km url (អាជីវកម្ម)
url (private) addressbook km url (ឯកជន)
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin km URL ដើម្បីភ្ជាប់លេខទូរស័ព្ទទៅ។ ប្រើ %1 = លេខដើម្បីហៅ, %u = ឈ្មោះគណនី, %t = ទូរស័ព្ទគណនី។
use a category tree? addressbook km ប្រើមែកធាងសម្រាប់ជ្រើសរើសប្រភេទ
use addressbooks "own sorting" attribute addressbook km ប្រើសៀវភៅអាសយដ្ឋាន "តម្រៀបផ្ទាល់ខ្លួន" គុណលក្ខណៈ
use an extra tab for private custom fields? admin km ប្រើផ្ទាំងបន្ថែមសម្រាប់វាលផ្ទាល់ខ្លួនឯកជន
use country list addressbook km ប្រើបញ្ជីប្រទេស
use setup for a full account-migration admin km ប្រើការដំឡើងសម្រាប់ការផ្ទេរគណនីពេញលេញ
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook km ប្រើស្លាកនេះសម្រាប់ស្លាកអាសយដ្ឋាន។ ដាក់មាតិកាដែលអ្នកចង់ធ្វើម្តងទៀតរវាងស្លាកពីរ។
used for links and for the own sorting of the list addressbook km ប្រើសម្រាប់តំណភ្ជាប់ និងសម្រាប់ការតម្រៀបបញ្ជីផ្ទាល់ខ្លួន
user groups are automatically shown as distribution lists. addressbook km ក្រុមអ្នកប្រើប្រាស់ត្រូវបានបង្ហាញដោយស្វ័យប្រវត្តិជាបញ្ជីចែកចាយ។
user preference addressbook km ចំណូលចិត្តអ្នកប្រើប្រាស់
vcard common km vCard
vcards require a first name entry. addressbook km vCards ទាមទារការបញ្ចូលឈ្មោះដំបូង។
vcards require a last name entry. addressbook km vCards ទាមទារការបញ្ចូលនាមត្រកូល។
verification addressbook km ការផ្ទៀងផ្ទាត់
view linked infolog entries addressbook km មើលធាតុ InfoLog ដែលបានភ្ជាប់
warning!! ldap is valid only if you are not using contacts for accounts storage! admin km ព្រមាន!! LDAP មានសុពលភាពលុះត្រាតែអ្នកមិនប្រើទំនាក់ទំនងសម្រាប់ការផ្ទុកគណនី!
warning: all contacts found will be deleted! addressbook km ការព្រមាន៖ ទំនាក់ទំនងទាំងអស់ដែលបានរកឃើញនឹងត្រូវបានលុប!
weekday addressbook km ថ្ងៃសប្តាហ៍
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook km តំណសៀវភៅអាសយដ្ឋានបង្ហាញនៅក្នុងកម្មវិធីផ្សេងទៀត។ តម្លៃទទេនឹងត្រូវបានទុកចោល។ អ្នកត្រូវចូលម្តងទៀត ប្រសិនបើអ្នកប្តូរការកំណត់នេះ!
when viewing a contact, show linked entries from the selected application addressbook km នៅពេលមើលទំនាក់ទំនង បង្ហាញធាតុដែលបានភ្ជាប់ពីកម្មវិធីដែលបានជ្រើសរើស
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook km នៅពេលអ្នកបញ្ចូលធាតុទៅក្នុងឯកសារ ពួកវានឹងត្រូវបានរក្សាទុកនៅទីនេះ។ ប្រសិនបើ​គ្មាន​ថត​ឯកសារ​ត្រូវ​បាន​ផ្តល់​ទេ ពួកវា​នឹង​ត្រូវ​បាន​រក្សាទុក​ក្នុង​ថត​ផ្ទះ​របស់អ្នក (/home/...)
where to add the email address addressbook km កន្លែងដែលត្រូវបន្ថែមអាសយដ្ឋានអុីមែល
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook km ជ្រើសរើសទម្រង់អាសយដ្ឋានណាមួយដែលគួរប្រើសម្រាប់ប្រទេសដែលមានទម្រង់អាសយដ្ឋានមិនស្គាល់។
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook km សៀវភៅអាសយដ្ឋានដើម្បីបន្ថែមទំនាក់ទំនង នៅពេលដែលអ្នកគ្មានសិទ្ធិបន្ថែមទៅសៀវភៅអាសយដ្ឋានបច្ចុប្បន្ន។
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook km សំណុំតួអក្សរមួយណាដែលត្រូវប្រើសម្រាប់ការនាំចេញ CSV ។
which charset should be used for the vcard export. addressbook km សំណុំតួអក្សរមួយណាដែលគួរប្រើសម្រាប់ការនាំចេញ vCard ។
which charset should be used for the vcard import and export. addressbook km សំណុំតួអក្សរមួយណាដែលគួរប្រើសម្រាប់ការនាំចូល និងនាំចេញ vCard ។
which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook km តើវាលណាដែលត្រូវនាំចេញ។ ទាំងអស់មានន័យថាគ្រប់វាលទាំងអស់ដែលបានរក្សាទុកក្នុងសៀវភៅអាសយដ្ឋានរួមទាំង។ វាលផ្ទាល់ខ្លួន។ អាស័យដ្ឋានអាជីវកម្ម ឬផ្ទះមានតែឈ្មោះ ក្រុមហ៊ុន និងអាសយដ្ឋានដែលបានជ្រើសរើសប៉ុណ្ណោះ។
whole query addressbook km សំណួរទាំងមូល
work email if given, else home email addressbook km អុីមែលការងារប្រសិនបើត្រូវបានផ្តល់ឱ្យ អុីមែលផ្ទះផ្សេងទៀត។
work phone addressbook km ទូរស័ព្ទ​កន្លែងធ្វើការ
write (update or add) a single entry by passing the fields. addressbook km ធ្វើបច្ចុប្បន្នភាព ឬបន្ថែមធាតុតែមួយដោយឆ្លងកាត់វាល។
wrong - try again ... addressbook km ខុស - ព្យាយាមម្តងទៀត ...
yes, for the next three days addressbook km យល់ព្រម សម្រាប់បីថ្ងៃបន្ទាប់
yes, for the next two weeks addressbook km យល់ព្រម សម្រាប់ពីរសប្តាហ៍បន្ទាប់
yes, for the next week addressbook km យល់ព្រម សម្រាប់សប្តាហ៍ក្រោយ
yes, for today and tomorrow addressbook km យល់ព្រម សម្រាប់ថ្ងៃនេះ និងថ្ងៃស្អែក
yes, only admins can purge deleted items admin km យល់ព្រម មានតែអ្នកគ្រប់គ្រងប៉ុណ្ណោះដែលអាចសម្អាតធាតុដែលបានលុប
yes, users can purge their deleted items admin km យល់ព្រម អ្នកប្រើប្រាស់អាចសម្អាតធាតុដែលបានលុបរបស់ពួកគេ។
you are not allowed to share into the addressbook of %1 addressbook km អ្នកមិនត្រូវបានអនុញ្ញាតឱ្យចែករំលែកទៅក្នុងសៀវភៅអាសយដ្ឋាននៃ %1 ទេ។
you are not permitted to delete contact %1 addressbook km អ្នកមិនត្រូវបានអនុញ្ញាតឱ្យលុបទំនាក់ទំនង %1 ទេ។
you are not permittet to delete this contact addressbook km អ្នកមិនត្រូវបានអនុញ្ញាតឱ្យលុបទំនាក់ទំនងនេះទេ។
you are not permittet to edit this contact addressbook km អ្នកមិនត្រូវបានអនុញ្ញាតឱ្យកែសម្រួលទំនាក់ទំនងនេះទេ។
you are not permittet to view this contact addressbook km អ្នកមិនត្រូវបានអនុញ្ញាតឱ្យមើលទំនាក់ទំនងនេះទេ។
you can only use ldap as contact repository if the accounts are stored in ldap too! admin km LDAP អាចត្រូវបានប្រើជាឃ្លាំងទំនាក់ទំនងលុះត្រាតែគណនីត្រូវបានរក្សាទុកនៅក្នុង LDAP ផងដែរ!
you can respond by visiting: addressbook km ដើម្បីមើលវាសូមចូលទៅកាន់៖
you must select a vcard. (*.vcf) addressbook km ជ្រើសរើស vCard ។ (*.vcf)
you must select at least 1 column to display addressbook km ជ្រើសរើសយ៉ាងហោចណាស់ 1 ជួរដើម្បីបង្ហាញ
you need to select a distribution list addressbook km ជ្រើសរើសបញ្ជីចែកចាយ
you need to select some contacts first addressbook km ជ្រើសរើសទំនាក់ទំនងមួយចំនួនជាមុនសិន
you need to select some entries first addressbook km អ្នកត្រូវជ្រើសរើសធាតុមួយចំនួនជាមុនសិន
your new public key has been stored in accounts addressbook. addressbook km សោសាធារណៈថ្មីរបស់អ្នកត្រូវបានរក្សាទុកក្នុងសៀវភៅអាសយដ្ឋានគណនី។
zip code common km លេខ​កូដ​តំបន់
zip code (private) addressbook km លេខ​កូដ​តំបន់ (ឯកជន)
zip_note addressbook km <p><b>ចំណាំ៖</b> ឯកសារអាចជាឯកសារ zip នៃបណ្តុំឯកសារ .csv, .vcf, ឬ .ldif ។ កុំលាយប្រភេទឯកសារក្នុងមួយការនាំចូល។

View File

@ -0,0 +1,33 @@
%1 shared this contact on %2 with %3 %4 addressbook lt %1 pasidalijo šiuo kontaktu %2 %3 %4
duplicate threshold addressbook lt Dublikato riba
duplicate warning addressbook lt Įspėjimas dėl pasikartojimo
duplicates addressbook lt Dublikatai
fields to check for duplicates addressbook lt Laukai, kuriuose tikrinama, ar nėra dublikatų
fields to consider when looking for duplicate contacts. addressbook lt Laukai, į kuriuos reikia atsižvelgti ieškant pasikartojančių kontaktų.
hide accounts from addressbook addressbook lt Paslėpti naudotojų paskyras
hide all accounts addressbook lt Paslėpti visas paskyras
hide user groups as distribution lists addressbook lt Paslėpti naudotojų grupes kaip paskirstymo sąrašus
hides accounts completly from the adressbook. addressbook lt Visiškai paslėpti naudotojų paskyras iš adresų knygos.
how many fields must match for the record to be considered a duplicate. addressbook lt Kiek laukų turi sutapti, kad įrašas būtų laikomas dublikatu.
infolog addressbook lt InfoLog kontaktai
infolog-organisation addressbook lt InfoLog organizacija
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook lt Įkelti pasirinktinius laukus į rodyklę, net jei pasirinktinių laukų stulpelis išjungtas (pvz., norint juos rodyti konkrečiame rodyklės stulpelyje)
merge duplicates addressbook lt Sujungti dublikatus
merge into first or account, deletes all other! addressbook lt Sujungti į pirmąją arba paskyrą, ištrina visus kitus!
move to addressbook addressbook lt Perkelti į adresų knygelę
no country selected addressbook lt Šalis nepasirinkta
no distribution list addressbook lt Nėra paskirstymo sąrašo
not shared addressbook lt nesidalijama
prevent deleting of contacts admin lt Neleisti ištrinti kontaktų
search letter addressbook lt Paieškos raidė
share into addressbook addressbook lt Bendrinti į adresinę
share writable addressbook lt Dalijimasis rašomas
shared addressbook lt bendrinama
shared by me addressbook lt Dalijamasi su manimi
shared into addressbook %1 addressbook lt pasidalinta į adresų knygelę %1
shared with addressbook lt Dalijamasi su
unshare addressbook lt Daugiau nebesidalyti
unshared addressbook lt nebesidalijama
user groups are automatically shown as distribution lists. addressbook lt Vartotojų grupės automatiškai rodomos kaip paskirstymo sąrašai.
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook lt Sujungiant įrašus į dokumentus, jie bus saugomi čia. Jei katalogas nenurodytas, jie bus saugomi jūsų namų kataloge (/home/...).
you are not allowed to share into the addressbook of %1 addressbook lt Jums neleidžiama bendrinti su adresų knyga %1

View File

@ -1,21 +1,22 @@
%1 records imported addressbook lv Tika importēti %1 ieraksti
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook lv %1 ieraksti nolasīti (vēl nav importēti, tu vari atgriezties %2 atpakaļ %3 un izslēgt Importēšanas pārbaudi)
%1 shared this contact on %2 with %3 %4 addressbook lv %1 kopīgojis šo kontaktu %2 %3 %4
(e.g. 1969) addressbook lv (piem?ram, 1969)
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook lv <b>nav pārveidošanas tipa &lt;neviens&gt; nevar tikt novienots.</b> Lūdzu izvēlies pārveidošanas veidu no saraksta.
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook lv <b>nav pārveidošanas tipa <neviens> nevar tikt novienots.</b> Lūdzu izvēlies pārveidošanas veidu no saraksta.
@-eval() is only availible to admins!!! addressbook lv @-eval() ir pieejams tikai administratoriem!!!
actions addressbook lv Darbības
add a single entry by passing the fields. addressbook lv Pievienot vienu ierakstu apejot laukus
add custom field addressbook lv Pievienot papildus lauku
added addressbook lv PIevienots
address book common lv Adrešu grāmata
address book - vcard in addressbook lv Adrešu grāmata - Vkarte iekš
address book - vcard in addressbook lv Adrešu grāmata - vCard iekš
address book - view addressbook lv Adrešu grāmata - skats
address line 2 addressbook lv Adreses 2. rindiņa
address type addressbook lv Adreses Tips
addressbook common lv Adrešu grāmata
addressbook preferences addressbook lv Adrešu grāmatas iestādījumi
addressbook-fieldname addressbook lv Adrešu grāmatas - Lauka nosaukums
addvcard addressbook lv Pievienot VCard
addvcard addressbook lv Pievienot vCard
advanced search addressbook lv Uzlabota meklēšana
alt. csv import addressbook lv Alternatīva CSV importēšana
always addressbook lv Vienmēr
@ -61,6 +62,9 @@ department common lv Nodaļa
domestic addressbook lv Kopmītne
download addressbook lv Lejupielādēt
download export file (uncheck to debug output in browser) addressbook lv Lejupieldēt eksporta failu (Atķeksē, lai redzētu izvadu pārlūkprogrammā)
duplicate threshold addressbook lv Dublēšanās slieksnis
duplicate warning addressbook lv Divkāršs brīdinājums
duplicates addressbook lv Dublikāti
duration addressbook lv Izpildes laiks
edit custom field addressbook lv Mainīt lauku
edit custom fields admin lv Mainīt laukus
@ -77,6 +81,8 @@ fax number common lv Faksa numurs
field %1 has been added ! addressbook lv Lauks %1 tika pievienots !
field %1 has been updated ! addressbook lv Lauks %1 tika atjaunināts !
field name addressbook lv Lauka vārds
fields to check for duplicates addressbook lv Lauki, kuros pārbauda, vai nav dublikātu
fields to consider when looking for duplicate contacts. addressbook lv Lauki, kas jāņem vērā, meklējot dublējošos kontaktus.
fields to show in address list addressbook lv Lauki kuri tiek rādīti adrešu sarakstā
fieldseparator addressbook lv Lauku atdal?t?js
full name addressbook lv Pilns vārds
@ -85,6 +91,10 @@ geo addressbook lv GEO
global categories addressbook lv Globālās kategorijas
grant addressbook access common lv Nodrošināt piekļuvi adrešu grāmatai
h addressbook lv h
hide accounts from addressbook addressbook lv Paslēpt lietotāju kontus
hide all accounts addressbook lv Paslēpt visus kontus
hide user groups as distribution lists addressbook lv Paslēpt lietotāju grupas kā sadales sarakstus
hides accounts completly from the adressbook. addressbook lv Pilnībā paslēpt lietotāju kontus no adrešu grāmatas.
home city addressbook lv Pilsēta
home country addressbook lv Valsts
home email addressbook lv Mājas e-pasts
@ -92,17 +102,19 @@ home phone addressbook lv Mājas telefons
home state addressbook lv Štats
home street addressbook lv Iela
home zip code addressbook lv Pasta indekss
how many fields must match for the record to be considered a duplicate. addressbook lv Cik daudziem laukiem jābūt vienādiem, lai ieraksts tiktu uzskatīts par dublikātu.
icon addressbook lv Ikona
import addressbook lv Importēt
import contacts addressbook lv Importēt kontaktus
import csv-file into addressbook addressbook lv Importēt CSV-failu adrešu grāmatā
import file addressbook lv Importēt failu
import from addressbook lv Importēt no
import from ldif, csv, or vcard addressbook lv Importēt no LDIF, CSV vai VCard
import from ldif, csv, or vcard addressbook lv Importēt no LDIF, CSV vai vCard
import from outlook addressbook lv Importēt no Outlook
import multiple vcard addressbook lv Importēt vairākas VCard
import multiple vcard addressbook lv Importēt vairākas vCard
import next set addressbook lv Importēt nākošo porciju
infolog addressbook lv Projekti
infolog addressbook lv InfoLog Kontaktpersona
infolog-organisation addressbook lv InfoLog organizācija
international addressbook lv Internacion?ls
label addressbook lv Eti?ete (label)
last modified addressbook lv Pēdējo reizi pārveidots
@ -112,16 +124,23 @@ ldif addressbook lv LDIF
line 2 addressbook lv 2. rindiņa
links addressbook lv Saites
list all categories addressbook lv Kategoriju saraksts
load vcard addressbook lv Ielādēt VCard
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook lv Ielādēt pielāgotos laukus indeksā, pat ja pielāgotā lauka sleja ir izslēgta (piemēram, lai tos parādītu konkrētā indeksa slejā).
load vcard addressbook lv Ielādēt vCard
location addressbook lv Novietojums
mark records as private addressbook lv Iezīmēt ierakstus kā privātus
merge duplicates addressbook lv Dublikātu apvienošana
merge into first or account, deletes all other! addressbook lv Apvienot pirmajā vai kontā, dzēš visus pārējos!
message phone addressbook lv Autoatbildētājs
middle name addressbook lv Otrais vārds
mobile addressbook lv Mobīlais
mobile phone addressbook lv Mobīlais tālrunis
modem phone addressbook lv Modēma tālrunis
multiple vcard addressbook lv Vairākas VCard
no vcard addressbook lv Nav VCard
move to addressbook addressbook lv Pārvietot uz adrešu grāmatu
multiple vcard addressbook lv Vairākas vCard
no country selected addressbook lv Nav izvēlēta neviena valsts
no distribution list addressbook lv Nav izplatīšanas saraksta
no vcard addressbook lv Nav vCard
not shared addressbook lv nav koplietoti
number of records to read (%1) addressbook lv Lasāmo ierakstu skaits (%1)
other number addressbook lv Cits nummurs
other phone addressbook lv Cits telefons
@ -134,6 +153,7 @@ phone numbers common lv Telefona numuri
please enter a name for that field ! addressbook lv Lūdzu, ievadiet lauka nosaukumu !
pref addressbook lv prim
prefix addressbook lv Prefiks
prevent deleting of contacts admin lv Aizliegt kontaktu dzēšanu
public key addressbook lv Publiskā atslēga
read a list of entries. addressbook lv Lasīt ierakstu sarakstu.
read a single entry by passing the id and fieldlist. addressbook lv Lasīt vienu ierakstu, apejot id un lauku sarakstu
@ -141,9 +161,16 @@ record access addressbook lv Piekļuve ierakstam
record owner addressbook lv Ieraksta īpašnieks
repetition addressbook lv Atkārtojums
role addressbook lv Loma
search letter addressbook lv Meklēt burtu
select all addressbook lv Iezīmēt visus
select the type of conversion addressbook lv Iezīmēt sarunas veidu
select the type of conversion: addressbook lv Izvēlēties sarunas veidu:
share into addressbook addressbook lv Kopīgot adrešu grāmatiņā
share writable addressbook lv Koplietošana rakstāms
shared addressbook lv kopīgots
shared by me addressbook lv kopīgots ar mani
shared into addressbook %1 addressbook lv kopīgots adrešu grāmatiņā %1
shared with addressbook lv Dalīta ar
show addressbook lv Rādīt
startrecord addressbook lv Sākuma ieraksts
state common lv Štats
@ -159,15 +186,20 @@ today is %1's birthday! common lv Šodien ir %1 ir dzimšanas diena!
tomorrow is %1's birthday. common lv Rīt %1 ir dzimšanas diena.
translation addressbook lv Tulkojums
type addressbook lv Tips
unshare addressbook lv vairs nav koplietošanas
unshared addressbook lv vairs nav koplietojams
update a single entry by passing the fields. addressbook lv Atjaunini vienu ierakstu apejot lauku
updated addressbook lv Atjaunināts
use country list addressbook lv Izmantot valstu sarakstu
vcard common lv VCard
vcards require a first name entry. addressbook lv VCard pieprasa vārda ievadīšanu
vcards require a last name entry. addressbook lv VCard pieprasa uzvārda ievadīšanu
user groups are automatically shown as distribution lists. addressbook lv Lietotāju grupas automātiski tiek parādītas kā sadales saraksti.
vcard common lv vCard
vcards require a first name entry. addressbook lv vCard pieprasa vārda ievadīšanu
vcards require a last name entry. addressbook lv vCard pieprasa uzvārda ievadīšanu
warning!! ldap is valid only if you are not using contacts for accounts storage! admin lv BRĪDINĀJUMS!! LDAP ir derīgs tikai tad, ja tu neizmanto kontaktus kontu glabātuvei!
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook lv Apvienojot ierakstus dokumentos, tie tiks saglabāti šeit. Ja direktorija nav norādīta, tie tiks saglabāti jūsu mājas direktorijā (/home/...).
work phone addressbook lv Darba telefons
you must select a vcard. (*.vcf) addressbook lv Jums ir jāizvēlas Vcard. (*.vcf)
you are not allowed to share into the addressbook of %1 addressbook lv Jums nav atļauts kopīgot ar adrešu grāmatu %1
you must select a vcard. (*.vcf) addressbook lv Jums ir jāizvēlas vCard. (*.vcf)
you must select at least 1 column to display addressbook lv Jums ir jāzvēlas vismaz 1 kolonna ko parīdit
zip code common lv Pasta inekss
zip_note addressbook lv <p><b>Piezīme:</b> Fails drīkst būt .zip ar sazipotiem .csv, .vcf, or .ldif failiem. Tomēr, vienā zip failā lieciet viena tipa failus.

View File

@ -6,6 +6,7 @@
%1 not implemented for %2! addressbook nl %1 niet geimplementeerd voor %2!
%1 records imported addressbook nl %1 adressen geïmporteerd
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook nl %1 adressen gelezen (nog niet geïmporteerd, U kunt %2terug%3 gaan en "Test Import" uitzetten)
%1 shared this contact on %2 with %3 %4 addressbook nl %1 heeft dit contact gedeeld op %2 %3 %4
%1 starts with '%2' addressbook nl %1 begint met '%2'
%s please calculate the result addressbook nl %s bereken svp het resultaat
(e.g. 1969) addressbook nl (bijv. 1969)
@ -20,7 +21,7 @@ add %1 addressbook nl %1 toevoegen
add a contact to this organisation addressbook nl Voeg een contact toe aan deze organisatie
add a customfield to link title addressbook nl Voeg een zelf gedefinieerd veld toe om titel te linken
add a new contact addressbook nl Voeg een contact toe
add a new infolog addressbook nl Voeg een nieuw Infolog record toe
add a new infolog addressbook nl Voeg een nieuw InfoLog record toe
add a new list addressbook nl Voeg een nieuwe lijst toe
add a single entry by passing the fields. addressbook nl Voeg een enkele invoer toe door door de velden te geven
add appointment addressbook nl Voeg een afspraak toe
@ -39,7 +40,7 @@ added by synchronisation addressbook nl toegevoegd tijdens synchronisatie
added to distribution list addressbook nl toegevoegd aan distributielijst
additional information about using ldap as contact repository admin nl Aanvullende informatie over het gebruik van LDAP als contact repository
address book common nl Adresboek
address book - vcard in addressbook nl Adresboek - VCard in
address book - vcard in addressbook nl Adresboek - vCard in
address book - view addressbook nl Adresboek - weergave
address line 2 addressbook nl Adresregel 2
address line 2 (private) addressbook nl Adresregel 2 (prive)
@ -56,7 +57,7 @@ addressbook the contact should be shown addressbook nl Adresboek waarin de conta
addressbook vcard export addressbook nl Adresboek vCard export
addressbook vcard import addressbook nl Adresboek vCard import
addressbook-fieldname addressbook nl Adresboek-veldnaam
addvcard addressbook nl VCard toevoegen
addvcard addressbook nl vCard toevoegen
advanced search addressbook nl UItgebreid zoeken
all contacts addressbook nl Alle contacten
all in one field addressbook nl Alles in 1 veld
@ -188,6 +189,9 @@ don't hide empty columns addressbook nl Lege kolommen niet verbergen
download addressbook nl Download
download export file (uncheck to debug output in browser) addressbook nl Download export bestand (uitzetten om in verkenner te tonen)
download this contact as vcard file addressbook nl dit contact als vCardbestand downloaden
duplicate threshold addressbook nl Dubbele drempel
duplicate warning addressbook nl Duplicaat waarschuwing
duplicates addressbook nl Duplicaten
duration addressbook nl Duur
each category in its own field addressbook nl Elke categorie in zijn eigen veld
each option in its own field addressbook nl Elke optie in zin eigen veld
@ -217,7 +221,7 @@ example {{nenvlf role}} - if field role is not empty, set a lf without any value
existing links addressbook nl Bestaande links
exists addressbook nl Bestaat
export as csv addressbook nl Exporteer als CSV
export as vcard addressbook nl Exporteer als VCard
export as vcard addressbook nl Exporteer als vCard
export contacts addressbook nl Exporteer contacten
export definition to use for nextmatch export addressbook nl Export definitie om te gebruiken bij nextmatch export
export definitition to use for nextmatch export addressbook nl Export definitie om te gebruiken bij nextmatch export
@ -241,6 +245,8 @@ field %1 has been updated ! addressbook nl Veld 1% bijgewerkt !
field name addressbook nl Veldnaam
fields for the csv export addressbook nl Velden voor de CSV export
fields the user is allowed to edit himself admin nl Velden die de gebruiker zelf mag wijzigen
fields to check for duplicates addressbook nl Velden om te controleren op duplicaten
fields to consider when looking for duplicate contacts. addressbook nl Velden waarmee rekening moet worden gehouden bij het zoeken naar dubbele contacten.
fields to copy when copying an address? admin nl Velden welke moeten worden gekopieerd als er een adres wordt gekopieerd
fields to show in address list addressbook nl Velden die zichtbaar zijn in adreslijst
fieldseparator addressbook nl Scheidingssymbool velden
@ -257,6 +263,8 @@ grant addressbook access common nl Geen toegang adresboek
group %1 addressbook nl Groep %1
h addressbook nl u
hide accounts from addressbook addressbook nl Verberg accounts in het adresboek
hide all accounts addressbook nl Alle accounts verbergen
hide user groups as distribution lists addressbook nl Verberg gebruikersgroepen als distributielijsten
hides accounts completly from the adressbook. addressbook nl Hou de accounts helemaal uit het adresboek
history logging admin nl Historie vastleggen
home address addressbook nl Privé adres
@ -270,6 +278,7 @@ home state addressbook nl Privé Provincie / Staat / Streek
home street addressbook nl Privé Straat
home zip code addressbook nl Privé Postcode
how many contacts should non-admins be able to export admin nl Hoeveel contactpersonen moet een niet-beheerder kunnen exporteren
how many fields must match for the record to be considered a duplicate. addressbook nl Hoeveel velden moeten overeenkomen om de record als een duplicaat te beschouwen.
html link to the current record addressbook nl HTML link naar huidig record
icon addressbook nl Icoon
if accounts are already in ldap admin nl indien accounts reeds in LDAP zitten
@ -279,17 +288,18 @@ import contacts addressbook nl Contacten Importeren
import csv-file into addressbook addressbook nl CSV-bestand importeren naar adresboek
import file addressbook nl Bestand importeren
import from addressbook nl Importeren vanuit
import from ldif, csv, or vcard addressbook nl Importeren vanuit LDIF, CSV or VCard
import from ldif, csv, or vcard addressbook nl Importeren vanuit LDIF, CSV or vCard
import from outlook addressbook nl Importeren vanuit Outlook
import multiple vcard addressbook nl Importeer Meervoudige VCard
import multiple vcard addressbook nl Importeer Meervoudige vCard
import next set addressbook nl Importeren volgende serie
import_instructions addressbook nl In Netscape, open het adressenboek en selecteer <b>Exporteren</b> in het menu <b>Bestand</b>. Het bestand wordt geexporteerd in het LDIF formaat.<p>Of, in Outlook, selecteer de contacten-folder, kies <b>Importeren en Exporteren...</b> in het menu <b>Bestand</b> en exportoor als komma gescheiden tekst bestand (CSV).<p>Of, in Palm Desktop 4.0 of nieuwer, kies het adresboek en selecteer <b>Exporteren</b> in het menu <b>Bestand</b>, het bestand wordt geëxporteerd in het VCard formaat.
import_instructions addressbook nl In Netscape, open het adressenboek en selecteer <b>Exporteren</b> in het menu <b>Bestand</b>. Het bestand wordt geexporteerd in het LDIF formaat.<p>Of, in Outlook, selecteer de contacten-folder, kies <b>Importeren en Exporteren...</b> in het menu <b>Bestand</b> en exportoor als komma gescheiden tekst bestand (CSV).<p>Of, in Palm Desktop 4.0 of nieuwer, kies het adresboek en selecteer <b>Exporteren</b> in het menu <b>Bestand</b>, het bestand wordt geëxporteerd in het vCard formaat.
importer's personal addressbook nl Importeer eigen
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook nl Importeert contacten in je adresboek vanuit een CSV bestand. CSV betekent 'Komma gescheiden waarden'. Maar in het Opties tabblad kun je ook andere scheidingstekens kiezen.
imports contacts into your addressbook from a vcard file. addressbook nl Importeer contacten in uw adresboek van een bestand in vCard
in %1 days (%2) is %3's birthday. addressbook nl Over %1 dagen (%2) is %3 jarig.
income addressbook nl Inkomend
infolog addressbook nl InfoLog
infolog addressbook nl InfoLog Contact
infolog-organisation addressbook nl InfoLog Organisatie
insert addressbook nl Voeg toe
insufficent rights to delete this list! addressbook nl Niet genoeg rechten om deze lijst te verwijderen!
international addressbook nl Internationaal
@ -313,14 +323,16 @@ list already exists! addressbook nl Lijst bestaat reeds!
list created addressbook nl Lijst aangemaakt
list creation failed, no rights! addressbook nl Lijst aanmaak is mislukt, geen rechten!
list of files linked to the current record addressbook nl Lijs van bestanden gelinkt aan huidig record
load vcard addressbook nl Laad VCard
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook nl Laad aangepaste velden in index, zelfs als aangepaste veld kolom is uitgeschakeld (bijvoorbeeld om ze weer te geven in een specifieke index kolom)
load vcard addressbook nl Laad vCard
location addressbook nl Locatie
locations addressbook nl locaties
mail vcard addressbook nl Mail VCard
mail vcard addressbook nl Mail vCard
main categories in their own field addressbook nl Hoofd categorien in hun eigen veld
manage mapping addressbook nl Beheer de mappings
mark records as private addressbook nl Markeer records als privé
merge contacts addressbook nl Voeg contacten samen
merge duplicates addressbook nl Duplicaten samenvoegen
merge into first or account, deletes all other! addressbook nl Samenvoegen in eerste of in account, verwijdert alle andere!
merged addressbook nl samengevoegd
message after submitting the form addressbook nl Bericht na verzenden van het formulier
@ -335,21 +347,24 @@ modem phone addressbook nl Telefoonmodem
more ... addressbook nl Meer ...
move to addressbook addressbook nl Verplaats naar adresboek
moved addressbook nl verplaatst
multiple vcard addressbook nl Meervoudige VCard
multiple vcard addressbook nl Meervoudige vCard
name for the distribution list addressbook nl Naam voor de distributielijst
name of current user, all other contact fields are valid too addressbook nl Naam van de huidige gebruiker, alle andere contactvelden zijn ook geldig
name, address addressbook nl Naam, adres
new contact submitted by %1 at %2 addressbook nl Nieuwe contact toegevoegd op %2 door %1
new window opened to edit infolog for your selection addressbook nl Nieuw venster geopend waarin de Infolog voor uw selectie bewerkt wordt
new window opened to edit infolog for your selection addressbook nl Nieuw venster geopend waarin de InfoLog voor uw selectie bewerkt wordt
next date addressbook nl Volgende datum
no categories selected addressbook nl geen categorieën geselecteerd
no country selected addressbook nl Geen land geselecteerd
no distribution list addressbook nl Geen distributielijst
no fallback addressbook nl Geen aktie ongedaan maken
no vcard addressbook nl Geen VCard
no vcard addressbook nl Geen vCard
not shared addressbook nl niet gedeeld
number addressbook nl Nummer/aantal
number of records to read (%1) addressbook nl Aantal adressen om te lezen (%1)
open email addresses in external mail program addressbook nl Open EMal adres in extern mail (berichten)programma
open for editing? addressbook nl Open voor bewerken ?
open infolog crm view preferences nl Open Infolog CRM beeld
open infolog crm view preferences nl Open InfoLog CRM beeld
open tracking system crm view preferences nl Open Tracking systeem CRM beeld
options for type admin nl Opties voor type
organisation addressbook nl organisatie
@ -413,6 +428,12 @@ send succeeded to %1 common nl Zend verzenden gelukt naar %1
seperator addressbook nl Scheidingsteken
set full name and file as field in contacts of all users (either all or only empty values) admin nl Zet volledige naam en 'bestand als'in contacten van alle gebruikers. Of allemaal vullen of allemaal leeg laten
set only full name addressbook nl Geef alleen de volledig naam
share into addressbook addressbook nl Delen in adresboek
share writable addressbook nl Deel beschrijfbaar
shared addressbook nl gedeeld
shared by me addressbook nl Gedeeld door mij
shared into addressbook %1 addressbook nl gedeeld in adresboek %1
shared with addressbook nl Gedeeld met
should the columns photo and home address always be displayed, even if they are empty. addressbook nl Moeten de kolommen foto en thuisadres altijd worden weergegeven, zelfs als ze leeg zijn?
show addressbook nl Toon
show infolog entries for this organisation addressbook nl InfoLog details van deze organisatie weergeven
@ -459,6 +480,8 @@ unable to convert "%1" to account id. using plugin setting (%2) for owner. addr
unable to delete addressbook nl Niet mogelijk te verwijderen
unique id (uid) addressbook nl Uniek ID (UID)
unique id<br />(to update existing records) addressbook nl Uniek ID <br /> voor bijwerken bestaand record
unshare addressbook nl Niet langer delen
unshared addressbook nl niet langer gedeeld
update a single entry by passing the fields. addressbook nl Een record bijwerken door de velden te geven
update fields by edited organisations? admin nl Velden van de gewijzigde organisatie bijwerken?
updated addressbook nl Bijgewerkt
@ -472,10 +495,11 @@ use country list addressbook nl Gebruik Landenlijst
use setup for a full account-migration admin nl gebruik setup voor een volledige accountmigratie
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook nl Gebruik deze tag voor adres labels.Plaats de inhoud welke je wilt herhalen tussen twee tags.
used for links and for the own sorting of the list addressbook nl gebruikt voor links en voor eigen sortering van de lijst
user groups are automatically shown as distribution lists. addressbook nl Gebruikersgroepen worden automatisch getoond als distributielijsten.
user preference addressbook nl Gebrukers voorkeur
vcard common nl VCard
vcards require a first name entry. addressbook nl VCard vereist dat de voornaam ingevoerd is.
vcards require a last name entry. addressbook nl VCard vereist dat de achternaam ingevoerd is.
vcard common nl vCard
vcards require a first name entry. addressbook nl vCard vereist dat de voornaam ingevoerd is.
vcards require a last name entry. addressbook nl vCard vereist dat de achternaam ingevoerd is.
verification addressbook nl Verificatie
view linked infolog entries addressbook nl Gekoppelde InfoLog details bekijken
warning!! ldap is valid only if you are not using contacts for accounts storage! admin nl WAARSCHUWING!! Alleen LDAP gebruiken als het adresboek niet wordt gebruikt om de accounts op te slaan!
@ -483,6 +507,7 @@ warning: all contacts found will be deleted! addressbook nl WAARSCHUWING: Alle g
weekday addressbook nl Werkdag
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook nl Wat moeten koppelingen aan het adresboek in andere toepassingen moeten weergeven. Lege waardes worden genegeerd. U moet opnieuw inloggen, als u deze instelling wijzigt!
when viewing a contact, show linked entries from the selected application addressbook nl Bij het bekijken van een contact, toon de verbonden invoer van de geselecteerde invoer
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook nl Wanneer u vermeldingen in documenten samenvoegt, worden ze hier opgeslagen. Als er geen map is opgegeven, worden ze opgeslagen in uw thuismap (/home/...)
where to add the email address addressbook nl waar moet het emailadres toegevoegd worden
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook nl Welk adresformaat moet het adresboek gebruiken voor landen waarvan het adresformaat nog niet bekend is. Indien het adresformaat van een land bekend is wordt het ongeacht deze instelling gebruikt.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook nl Welke adresboek moet geselecteerd worden wanneer een contact wordt bijgevoegd EN wanneer u geen toevoegingsrecht heb bij het huidige adresboek.
@ -501,13 +526,14 @@ yes, for the next week addressbook nl Ja, voor de volgende week
yes, for today and tomorrow addressbook nl Ja, voor vandaag en morgen
yes, only admins can purge deleted items admin nl Ja, alleen beheerders kunnen gewiste items definitief verwijderen
yes, users can purge their deleted items admin nl Ja, gebruikers kunnen hun verwijderde items defintief verwijderen
you are not allowed to share into the addressbook of %1 addressbook nl U mag niet delen naar adresboek %1
you are not permitted to delete contact %1 addressbook nl U bent niet bevoegd om contact %1 te verwijderen
you are not permittet to delete this contact addressbook nl U bent niet bevoegd om dit contact te verwijderen
you are not permittet to edit this contact addressbook nl U bent niet bevoegd om dit contact te wijzigen
you are not permittet to view this contact addressbook nl U bent niet bevoegd om dit contact te bekijken
you can only use ldap as contact repository if the accounts are stored in ldap too! admin nl U kunt LDAP alleen als een contactdatabase gebruiken als de accounts ook in LDAP zijn opgeslagen!
you can respond by visiting: addressbook nl Om het te bekijken bezoek je:
you must select a vcard. (*.vcf) addressbook nl U moet een VCard selecteren (*.vcf)
you must select a vcard. (*.vcf) addressbook nl U moet een vCard selecteren (*.vcf)
you must select at least 1 column to display addressbook nl U moet een op z'n minst 1 kolom selecteren om weer te geven
you need to select a distribution list addressbook nl U moet een distributielijst kiezen
you need to select some contacts first addressbook nl U moet eerst enkele contacten selecteren

View File

@ -6,6 +6,7 @@
%1 not implemented for %2! addressbook pl %1 nie zaimplementowany dla %2!
%1 records imported addressbook pl Zaimportowano %1 rekordów
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook pl Wczytano %1 rekordów (ale jeszcze nie zaimportowano, możesz %2wrócić%3 i skasować zaznaczenie próbnego importu)
%1 shared this contact on %2 with %3 %4 addressbook pl %1 udostępnił ten kontakt na %2 %3 %4
%1 starts with '%2' addressbook pl %1 zaczyna się od %2
%s please calculate the result addressbook pl %s proszę obliczyć rezultat
(e.g. 1969) addressbook pl (np. 1969)
@ -158,6 +159,9 @@ don't hide empty columns addressbook pl Nie ukrywaj pustych kolumn
download addressbook pl Pobierz
download export file (uncheck to debug output in browser) addressbook pl Zapisz plik na dysku (jeżeli nie zaznaczysz, wynik będzie pokazany wyłącznie w oknie przeglądarki)
download this contact as vcard file addressbook pl sciągnij ten kontakt jako plik vCard
duplicate threshold addressbook pl Próg dla duplikatów
duplicate warning addressbook pl Ostrzeżenie o duplikatach
duplicates addressbook pl Duplikaty
duration addressbook pl Czas trwania
edit custom field addressbook pl Edytuj pole użytkownika
edit custom fields admin pl Edytuj pola użytkownika
@ -196,6 +200,8 @@ field %1 has been updated ! addressbook pl Pole %1 zostało zaktualizowane !
field name addressbook pl Nazwa pola
fields for the csv export addressbook pl Pola do wyeksportowania do CSV
fields the user is allowed to edit himself admin pl Pola, które mogą być edytowane przez użytkownika
fields to check for duplicates addressbook pl Pola do sprawdzenia pod kątem duplikatów
fields to consider when looking for duplicate contacts. addressbook pl Pola do uwzględnienia przy wyszukiwaniu zduplikowanych kontaktów.
fields to show in address list addressbook pl Pola pokazywane na liście adresów
fieldseparator addressbook pl Separator pól
for read only ldap admin pl dla dostępu LDAP tylko do odczytu
@ -210,6 +216,8 @@ grant addressbook access common pl Nadaj prawa dostępu do książki adresowej
group %1 addressbook pl Grupa %1
h addressbook pl g
hide accounts from addressbook addressbook pl Ukryj konta z książki adresowej
hide all accounts addressbook pl Ukryj wszystkie konta
hide user groups as distribution lists addressbook pl Ukryj grupy użytkowników jako listy dystrybucyjne
hides accounts completly from the adressbook. addressbook pl Ukrywa całkowicie konta z książki adresowej
home address addressbook pl Adres domowy
home address, birthday, ... addressbook pl Adres domowy, urodziny, ...
@ -222,6 +230,7 @@ home state addressbook pl Wojewdztwo
home street addressbook pl Ulica
home zip code addressbook pl Kod pocztowy
how many contacts should non-admins be able to export admin pl Ile kontaktów może eksportować użytkownik bez praw administratora
how many fields must match for the record to be considered a duplicate. addressbook pl Ile pól musi się zgadzać, aby rekord został uznany za duplikat.
icon addressbook pl Ikonka
if accounts are already in ldap admin pl jeśli konta są już w LDAPie
ignore first line addressbook pl Ignoruj pierwszą linię
@ -238,7 +247,8 @@ import_instructions addressbook pl W Netscape, otwórz Książkę Adresową (Add
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook pl Importuj kontakty do Twojej książki adresowej z pliku CSV.
in %1 days (%2) is %3's birthday. addressbook pl Za %1 dni są urodziny %3
income addressbook pl Dochód
infolog addressbook pl InfoLog
infolog addressbook pl InfoLog Kontakt
infolog-organisation addressbook pl Organizacja InfoLog
insert addressbook pl wstaw
insufficent rights to delete this list! addressbook pl Brak wystarczających uprawnień do usunięcia listy!
international addressbook pl Międzynarodowy
@ -259,11 +269,13 @@ list all customfields addressbook pl Pokaż wszystkie pola użytkownika
list already exists! addressbook pl Lista już istnieje!
list created addressbook pl Lista została utworzona
list creation failed, no rights! addressbook pl Lista NIE została utworzona, brak uprawnień!
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook pl Wczytaj pola własne do indeksu, nawet jeśli kolumna pola własnego jest wyłączona (np. aby wyświetlić je w określonej kolumnie indeksu)
load vcard addressbook pl Ładuj vCard
location addressbook pl Lokalizacja
locations addressbook pl Lokacje
manage mapping addressbook pl Zarządzaj mapowaniem
mark records as private addressbook pl Zaznacz rekordy jako prywatne
merge duplicates addressbook pl Połącz duplikaty
merge into first or account, deletes all other! addressbook pl Włącz do pierwszego albo konta, skasuj wszystkie inne!
merged addressbook pl połączone
message after submitting the form addressbook pl Wiadomość po przesłaniu formularza
@ -275,6 +287,7 @@ mobile addressbook pl Komórka
mobile phone addressbook pl Komórka
modem phone addressbook pl Numer modemu
more ... addressbook pl Więcej ...
move to addressbook addressbook pl Przenieś do książki adresowej
moved addressbook pl przesunięto
multiple vcard addressbook pl VCard z wieloma kontaktami
name for the distribution list addressbook pl Nazwa dla listy dystrybucyjnej
@ -284,8 +297,11 @@ new contact submitted by %1 at %2 addressbook pl Nowy kontakt przesłany przez %
new window opened to edit infolog for your selection addressbook pl Otwarto nowe okno do edycji Dziennika dla twojej selekcji
next date addressbook pl Następna data
no categories selected addressbook pl nie wybrano kategorii
no country selected addressbook pl Nie wybrano kraju
no distribution list addressbook pl Brak listy dystrybucyjnej
no fallback addressbook pl Bez zapasu
no vcard addressbook pl Bez VCard
not shared addressbook pl nie dzielony
number addressbook pl Numer
number of records to read (%1) addressbook pl Liczba rekordów do wczytania (%1)
options for type admin pl Opcje typu
@ -311,6 +327,7 @@ preferred email address to use in distribution lists addressbook pl Preferowany
preferred phone addressbook pl preferowany nr. telefonu
preferred type of email address to add for distribution lists addressbook pl preferowany typ adresu email do dodania dla list dystrybucyjnych
prefix addressbook pl Prefiks (Pan/Pani)
prevent deleting of contacts admin pl Zapobieganie usuwaniu kontaktów
private custom fields addressbook pl Prywatne pola własne
public key addressbook pl Klucz publiczny
publish into groups: addressbook pl Opublikuj do grup:
@ -329,6 +346,7 @@ replacements for inserting contacts into documents addressbook pl Zamienniki do
required fields * addressbook pl pola wymagane *
role addressbook pl Pozycja
room addressbook pl Pokój
search letter addressbook pl Wyszukaj literę
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook pl Wybierz zdjęcie w formacie JPEG. Będzie zmniejszone do szerokości 60 pikseli.
select a view addressbook pl Wybierz wygląd
select addressbook type addressbook pl Wybierz typ książki adresowej
@ -346,6 +364,12 @@ send emailcopy to receiver addressbook pl Wyślij kopię email do odbiorcy
seperator addressbook pl Separator
set full name and file as field in contacts of all users (either all or only empty values) admin pl Ustawi pełną nazwą i plik jako pole w kontaktach wszystkich użytkowników (wszystkie lub tylko puste wartości)
set only full name addressbook pl Ustaw tylko pełną nazwę
share into addressbook addressbook pl Udostępnianie do książki adresowej
share writable addressbook pl Udział edytowalny
shared addressbook pl wspólny
shared by me addressbook pl Udostępnione przeze mnie
shared into addressbook %1 addressbook pl udostępnione w książce adresowej %1
shared with addressbook pl Dzielony z
should the columns photo and home address always be displayed, even if they are empty. addressbook pl Czy kolumny: zdjęcie i adres domowy powinny być wyświetlane zawsze, nawet jeżeli są puste?
show addressbook pl Pokaż
show infolog entries for this organisation addressbook pl Pokaż wpisy InfoLog tej organizacji
@ -384,6 +408,8 @@ type addressbook pl typ
un-delete addressbook pl Przywróć
unique id (uid) addressbook pl Unikatowy ID (UID)
unique id<br />(to update existing records) addressbook pl Unikatowy ID<br />Do aktualizacji istniejących wpisów
unshare addressbook pl Nie dzielimy się już
unshared addressbook pl nie jest już udostępniany
update a single entry by passing the fields. addressbook pl Aktualizuj pojedyńczy wpis poprzez podawanie wartości pól.
update fields by edited organisations? admin pl Zaktualizować pola przez edycje organizacji?
updated addressbook pl Uaktualniony
@ -394,6 +420,7 @@ use country list addressbook pl Użyj listy krajów
use setup for a full account-migration admin pl użyj (/setup) w celu pełnej migracji kont
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook pl Użyj tego znacznika dla etykiet adresu. Wstaw zawartość którą chcesz powtórzyć pomiędzy dwa znaczniki.
used for links and for the own sorting of the list addressbook pl używane w odnośnikach oraz we własnym sortowaniu listy
user groups are automatically shown as distribution lists. addressbook pl Grupy użytkowników są automatycznie wyświetlane jako listy dystrybucyjne.
vcard common pl Kartka elektroniczna (VCard)
vcards require a first name entry. addressbook pl Kartki elektroniczne (VCard) wymagają podania imienia.
vcards require a last name entry. addressbook pl Kartki elektroniczne (VCard) wymagają podania nazwiska
@ -403,6 +430,7 @@ warning!! ldap is valid only if you are not using contacts for accounts storage!
warning: all contacts found will be deleted! addressbook pl UWAGA: Wszystkie znalezione kontakty zostaną skasowane!
weekday addressbook pl dzień tygodnia
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook pl Jaką treść powinny mieć odnośniki do książki adresowej widocznie w innych aplikacjach? Puste wartości zostaną pominięte. Musisz na nowo się zalogować, jeżeli zmienisz to ustawienie.
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook pl Gdy łączysz wpisy w dokumenty, będą one przechowywane w tym miejscu. Jeśli nie podano żadnego katalogu, będą one przechowywane w katalogu domowym (/home/...)
where to add the email address addressbook pl gdzie dodać adres email
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook pl Jaki format adresu powinien być używany przez książkę adresową dla państw, które nie mają określonego formatu adresu? Jeżeli format dla danego państwa jest ustalony, ma pierwszeństwo przed powyższym.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook pl Która książka adresowa powinna być wybrana przy dodawaniu kontaktu, jeżeli nie masz praw zapisu do BIEŻĄCEJ książki adresowej?
@ -418,6 +446,7 @@ yes, for the next three days addressbook pl Tak, dla następnych trzech dni
yes, for the next two weeks addressbook pl Tak, dla następnych dwuch tygodni
yes, for the next week addressbook pl Tak, dla następnego tygodnia
yes, for today and tomorrow addressbook pl Tak, na dziś i jutro
you are not allowed to share into the addressbook of %1 addressbook pl Nie masz uprawnień do udostępniania w książce adresowej %1
you are not permitted to delete contact %1 addressbook pl Nie masz uprawnień do kasowania kontaktu %1
you are not permittet to delete this contact addressbook pl Nie masz uprawnień do kasowania tego kontaktu
you are not permittet to edit this contact addressbook pl Nie masz uprawnień do edytowania tego kontaktu

View File

@ -4,6 +4,7 @@
%1 fields in %2 other organisation member(s) changed addressbook pt-br %1 campo(s) em %2 outro(s) membro(s) da organização alterado(s)
%1 records imported addressbook pt-br %1 registro(s) importado(s)
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook pt-br %1 registro(s) lido(s) (não importado(s) ainda. Você deve voltar e desmarcar o campo Testar Importação)
%1 shared this contact on %2 with %3 %4 addressbook pt-br %1 dividiu este contato em %2 %3 %4
%1 starts with '%2' addressbook pt-br %1 inicia(m) com '%2'
%s please calculate the result addressbook pt-br %s por favor calcule o resultado
(e.g. 1969) addressbook pt-br (ex. 1969)
@ -29,7 +30,7 @@ added by synchronisation addressbook pt-br adicionado por sincronização
added to distribution list addressbook pt-br adicionado a uma lista de distribuição
additional information about using ldap as contact repository admin pt-br Informação adicional sobre usar LDAP como respositório de contas
address book common pt-br Livro de Contatos
address book - vcard in addressbook pt-br Livro de Contatos - VCard
address book - vcard in addressbook pt-br Livro de Contatos - vCard
address book - view addressbook pt-br Livro de Contatos - Exibir
address line 2 addressbook pt-br Endereço Linha 2
address type addressbook pt-br Tipo de endereço
@ -42,7 +43,7 @@ addressbook the contact should be saved to addressbook pt-br Livro de Contatos e
addressbook the contact should be shown addressbook pt-br Livro de Contatos em que o contato deverá ser exibido
addressbook vcard import addressbook pt-br Importação de endereços vCard
addressbook-fieldname addressbook pt-br Livro de Contatos - Nome do Campo
addvcard addressbook pt-br Adicionar VCard
addvcard addressbook pt-br Adicionar vCard
advanced search addressbook pt-br Pesquisa avançada
all contacts addressbook pt-br Todos os contatos
allow users to maintain their own account-data admin pt-br Permitir usuários a manter seus próprios dados de contatos
@ -90,7 +91,6 @@ company name addressbook pt-br Nome da empresa
configuration common pt-br Configuração
contact common pt-br Contato
contact application admin pt-br Aplicação de Contatos
contact copied addressbook pt-br Contato copiado
contact deleted addressbook pt-br Contato removido
contact fields to show addressbook pt-br Campos a serem exibidos
contact fields: addressbook pt-br Campos de contatos:
@ -148,6 +148,9 @@ don't hide empty columns addressbook pt-br Não ocultar colunas vazias
download addressbook pt-br Baixar
download export file (uncheck to debug output in browser) addressbook pt-br Baixar arquivo exportado (Desmarque Depurar no navegador)
download this contact as vcard file addressbook pt-br baixar este contato como arquivo vCard
duplicate threshold addressbook pt-br Limiar duplicado
duplicate warning addressbook pt-br Advertência duplicada
duplicates addressbook pt-br Duplicações
duration addressbook pt-br Duração
edit custom field addressbook pt-br Editar campo personalizado
edit custom fields admin pt-br Editar campos personalizados
@ -167,7 +170,7 @@ error: the entry has been updated since you opened it for editing! addressbook p
existing links addressbook pt-br Links existentes
exists addressbook pt-br Existe
export as csv addressbook pt-br Exportar como CSV
export as vcard addressbook pt-br Exportar como VCard
export as vcard addressbook pt-br Exportar como vCard
export contacts addressbook pt-br Exportar contatos
export definition to use for nextmatch export addressbook pt-br Definição Exportar para usar para exportação NextMatch
export file name addressbook pt-br Exportar arquivo
@ -185,6 +188,8 @@ field %1 has been updated ! addressbook pt-br Campo %1 foi atualizado !
field name addressbook pt-br Nome do campo
fields for the csv export addressbook pt-br Campos para a exportação CSV
fields the user is allowed to edit himself admin pt-br Campos que ao usuário é permitir editar
fields to check for duplicates addressbook pt-br Campos para verificação de duplicatas
fields to consider when looking for duplicate contacts. addressbook pt-br Campos a serem considerados ao procurar por contatos duplicados.
fields to show in address list addressbook pt-br Campos a serem exibidos na lista de endereços
fieldseparator addressbook pt-br Separador de campos
for read only ldap admin pt-br para LDAP somente leitura
@ -200,6 +205,8 @@ grant addressbook access common pt-br Permitir acesso ao Livro de Contatos
group %1 addressbook pt-br Grupo %1
h addressbook pt-br h
hide accounts from addressbook addressbook pt-br Ocultar contas do Livro de Contatos
hide all accounts addressbook pt-br Ocultar todas as contas
hide user groups as distribution lists addressbook pt-br Ocultar grupos de usuários como listas de distribuição
hides accounts completly from the adressbook. addressbook pt-br Oculta completamente contas dos Contatos
history logging admin pt-br Registro de histórico
home address addressbook pt-br Endereço residencial
@ -212,6 +219,7 @@ home phone addressbook pt-br Telefone residencial
home state addressbook pt-br Estado
home street addressbook pt-br Rua, Av, Trav., etc.
home zip code addressbook pt-br CEP
how many fields must match for the record to be considered a duplicate. addressbook pt-br Quantos campos devem coincidir para que o registro seja considerado uma duplicata.
html link to the current record addressbook pt-br Link HTML para o registro atual
icon addressbook pt-br Ícone
if accounts are already in ldap admin pt-br se as contas já estiverem em LDAP
@ -220,15 +228,16 @@ import contacts addressbook pt-br Importar contatos
import csv-file into addressbook addressbook pt-br Importar arquivo CSV para o Livro de Contatos
import file addressbook pt-br Importar arquivo
import from addressbook pt-br Importar de
import from ldif, csv, or vcard addressbook pt-br Importar de LDIF, CSV ou VCard
import from ldif, csv, or vcard addressbook pt-br Importar de LDIF, CSV ou vCard
import from outlook addressbook pt-br Importar do Outlook
import multiple vcard addressbook pt-br Importar múltiplo VCard
import multiple vcard addressbook pt-br Importar múltiplo vCard
import next set addressbook pt-br Importar próximo conjunto
import_instructions addressbook pt-br No Netscape, abra o Livro de Contatos e selecione <b>Exportar</b> do menu <b>Arquivo</b>. O arquivo exportado será do format LDIF.<p> Ou, no Outlook, selecione a sua pastas de contatos, selecione <b>Importar e Exportar...</b> do menu <b>Arquivo</b> e exporte seus contatos para um arquivo separado por vírgulas (CSV). Ou no Palmdesktop 4.0 ou superior, vá para seu Livro de Contatos e selecione <b>Exportar</b> do menu <b>Arquivo</b>. O arquivo exportado será do tipo VCard.
import_instructions addressbook pt-br No Netscape, abra o Livro de Contatos e selecione <b>Exportar</b> do menu <b>Arquivo</b>. O arquivo exportado será do format LDIF.<p> Ou, no Outlook, selecione a sua pastas de contatos, selecione <b>Importar e Exportar...</b> do menu <b>Arquivo</b> e exporte seus contatos para um arquivo separado por vírgulas (CSV). Ou no Palmdesktop 4.0 ou superior, vá para seu Livro de Contatos e selecione <b>Exportar</b> do menu <b>Arquivo</b>. O arquivo exportado será do tipo vCard.
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook pt-br Importa itens em sua lista de Contatos de um arquivo CVS. CVS significa 'Comma Separated Values' (Valores Separados por Vírgula). Na aba Opções, no entanto, você pode escolher outros separadores.
in %1 days (%2) is %3's birthday. addressbook pt-br Em %1 dia(s) (%2) será aniversário de %3
income addressbook pt-br Renda
infolog addressbook pt-br Tarefas
infolog addressbook pt-br Contato tarefas
infolog-organisation addressbook pt-br Organização tarefas
insert addressbook pt-br Inserir
insufficent rights to delete this list! addressbook pt-br Direitos insuficientes para remover esta lista!
international addressbook pt-br Internacional
@ -250,11 +259,13 @@ list already exists! addressbook pt-br Lista já existe!
list created addressbook pt-br Lista criada
list creation failed, no rights! addressbook pt-br Criação da lista falhou. Sem direitos suficientes!
list of files linked to the current record addressbook pt-br Lista de arquivos vinculados ao registro atual
load vcard addressbook pt-br Carregar VCard
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook pt-br Carregar campos personalizados no índice, mesmo que a coluna de campos personalizados esteja desligada (por exemplo, para exibi-los em uma coluna de índice específica)
load vcard addressbook pt-br Carregar vCard
location addressbook pt-br Localização
locations addressbook pt-br Localizações
manage mapping addressbook pt-br Gerenciar mapeamento
mark records as private addressbook pt-br Marcar registos como particulares
merge duplicates addressbook pt-br Fusão de duplicatas
merge into first or account, deletes all other! addressbook pt-br Mesclar na primeira conta, deletar o restante!
merged addressbook pt-br mesclado
message after submitting the form addressbook pt-br Mensagem após enviar o formulário
@ -266,8 +277,9 @@ mobile addressbook pt-br Celular
mobile phone addressbook pt-br Telefone celular
modem phone addressbook pt-br Telefone de Dados (Modem)
more ... addressbook pt-br Mais...
move to addressbook addressbook pt-br Mudar para o livro de endereços
moved addressbook pt-br movido
multiple vcard addressbook pt-br Múltiplo VCard
multiple vcard addressbook pt-br Múltiplo vCard
name for the distribution list addressbook pt-br Nome da lista de distribuição
name of current user, all other contact fields are valid too addressbook pt-br Nome do usuário atual, todos outros campos são válidos também
name, address addressbook pt-br Nome, Endereço
@ -275,7 +287,10 @@ new contact submitted by %1 at %2 addressbook pt-br Novo contato informado por %
new window opened to edit infolog for your selection addressbook pt-br Nova janela aberta para editar sua seleção de Tarefas
next date addressbook pt-br Próxima data
no categories selected addressbook pt-br nenhuma categoria selecionada
no vcard addressbook pt-br Nenhum VCard
no country selected addressbook pt-br Nenhum país selecionado
no distribution list addressbook pt-br Sem lista de distribuição
no vcard addressbook pt-br Nenhum vCard
not shared addressbook pt-br não compartilhado
number addressbook pt-br Número
number of records to read (%1) addressbook pt-br Número de registros a ler (%1)
options for type admin pt-br Opções para tipo
@ -301,6 +316,7 @@ preferred email address to use in distribution lists addressbook pt-br Endereço
preferred phone addressbook pt-br telefone preferencial
preferred type of email address to add for distribution lists addressbook pt-br Tipo de endereço de email padrão para adicionar em listas de distribuição
prefix addressbook pt-br Prefixo
prevent deleting of contacts admin pt-br Impedir a exclusão de contatos
public key addressbook pt-br Chave pública
publish into groups: addressbook pt-br Publicar nos grupos:
read a list / search for entries. addressbook pt-br Ler um lista / pesquisar por entradas
@ -316,6 +332,7 @@ replacements for inserting contacts into documents addressbook pt-br Substituiç
required fields * addressbook pt-br campos requeridos *
role addressbook pt-br Função
room addressbook pt-br Sala
search letter addressbook pt-br Carta de busca
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook pt-br Selecione uma foto no formato jpeg. Ela será alterada para o tamanho de 60 pixels de largura
select a view addressbook pt-br Selecionar uma exibição
select addressbook type addressbook pt-br Selecionar tipo de Livro de Contatos
@ -329,6 +346,12 @@ select the type of conversion: addressbook pt-br Selecione o tipo de conversão:
select where you want to store / retrieve contacts admin pt-br Selecione onde você quer salvar / recuperar contatos
selected contacts addressbook pt-br contatos selecionados
send emailcopy to receiver addressbook pt-br Enviar cópia de e-mail para o receptor
share into addressbook addressbook pt-br Compartilhar em lista de endereços
share writable addressbook pt-br Ações que podem ser escritas
shared addressbook pt-br compartilhado
shared by me addressbook pt-br Compartilhado por mim
shared into addressbook %1 addressbook pt-br compartilhado em livro de endereços %1
shared with addressbook pt-br Compartilhado com
should the columns photo and home address always be displayed, even if they are empty. addressbook pt-br As colunas de fotos e endereço residencial deverão ser exibidas sempre, mesmo se estiverem vazias.
show addressbook pt-br Exibir
show infolog entries for this organisation addressbook pt-br Exibir entrada de Tarefas para esta organização
@ -363,27 +386,30 @@ tomorrow is %1's birthday. common pt-br Amanhã é o aniversário de %1.
translation addressbook pt-br Tradução
type addressbook pt-br Tipo
unable to delete addressbook pt-br Não é possível excluir
unshare addressbook pt-br Não mais compartilhar
unshared addressbook pt-br não mais compartilhado
update a single entry by passing the fields. addressbook pt-br Atualizar uma única entrada informando os campos
update fields by edited organisations? admin pt-br Atualizar campos por organizações editadas
updated addressbook pt-br Atualizado
upload or delete the photo addressbook pt-br Carregar ou remover a foto
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin pt-br URL para linkar números de telefones (use %1 = número a ser chamado, %u = nome da conta, %t = número do telefone)
use addressbooks "own sorting" attribute addressbook pt-br usar catálogos de endereços "possuir classificação" atributo
use an extra category tab? addressbook pt-br Usar uma aba extra para categoria ?
use an extra tab for private custom fields? admin pt-br Usar uma aba extra para campos privados personalizados?
use country list addressbook pt-br Usar lista de países
use setup for a full account-migration admin pt-br usar setup para uma migração de contas completa
used for links and for the own sorting of the list addressbook pt-br usado para links e para a ordem própria da lista
user groups are automatically shown as distribution lists. addressbook pt-br Os grupos de usuários são automaticamente mostrados como listas de distribuição.
user preference addressbook pt-br Preferência do usuário
vcard common pt-br VCard
vcards require a first name entry. addressbook pt-br VCards requer um primeiro nome.
vcards require a last name entry. addressbook pt-br VCards requerem que o último nome esteja preenchido
vcard common pt-br vCard
vcards require a first name entry. addressbook pt-br vCards requer um primeiro nome.
vcards require a last name entry. addressbook pt-br vCards requerem que o último nome esteja preenchido
verification addressbook pt-br Verificação
view linked infolog entries addressbook pt-br Exibir entradas de Tarefas relacionadas
warning!! ldap is valid only if you are not using contacts for accounts storage! admin pt-br AVISO!! LDAP é válido somente se você não estiver usando contatos para guardar as contas!
warning: all contacts found will be deleted! addressbook pt-br AVISO: Todos os contatos encontrados serão removidos!
weekday addressbook pt-br Dia da semana
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook pt-br O que deverá ser exibido pelos links para o Livro de Contatos que estão em outros aplicativos. Valores vazios serão desconsiderados. Você precisará fazer novo login ser alterar esta configuração!
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook pt-br Quando você funde as entradas em documentos, eles serão armazenados aqui. Se nenhum diretório for fornecido, eles serão armazenados em seu diretório pessoal (/home/...)
where to add the email address addressbook pt-br onde adicionar o endereço de email
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook pt-br Qual formato de endereço deverá ser usado para países onde o formato padrão não é conhecido. Se o formato de endereço de um país for conhecido, este será usado independente desta configuração.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook pt-br Qual Livro de Contatos deverá ser selecionado quando estiver incluindo um contato E você não tiver permissão de inclusão.
@ -399,13 +425,14 @@ yes, for the next two weeks addressbook pt-br Sim, para as próximas duas semana
yes, for the next week addressbook pt-br Sim, para a próxima semana
yes, for today and tomorrow addressbook pt-br Sim, para hoje e amanhã
yes, only admins can purge deleted items admin pt-br Sim, somente administradores podem limpar registros removidos
you are not allowed to share into the addressbook of %1 addressbook pt-br Você não está autorizado a compartilhar para endereçar livro %1
you are not permitted to delete contact %1 addressbook pt-br Você não tem permissão para deletar o contato %1
you are not permittet to delete this contact addressbook pt-br Você não tem permissão para deletar este contato
you are not permittet to edit this contact addressbook pt-br Você não tem permissão para editar este contato
you are not permittet to view this contact addressbook pt-br Você não tem permissão para exibir este contato
you can only use ldap as contact repository if the accounts are stored in ldap too! admin pt-br Você somente pode usar LDAP como repositório de contas se as contas estiverem salvas em LDAP também!
you can respond by visiting: addressbook pt-br Para exibi-lo, visite:
you must select a vcard. (*.vcf) addressbook pt-br Você deve selecionar um vcard. (*.vcf)
you must select a vcard. (*.vcf) addressbook pt-br Você deve selecionar um vCard. (*.vcf)
you must select at least 1 column to display addressbook pt-br Você deve selecionar pelo menos uma coluna para ser exibida.
you need to select a distribution list addressbook pt-br Você deve selecionar uma lista de distribuição
you need to select some contacts first addressbook pt-br Você deve selecionar alguns contatos primeiro

View File

@ -9,14 +9,14 @@ add a single entry by passing the fields. addressbook pt Adicionar um registo ú
add custom field addressbook pt Adicionar campo personalizado
added addressbook pt Adicionado
address book common pt Livro de Endereços
address book - vcard in addressbook pt Livro de endereços - VCard
address book - vcard in addressbook pt Livro de endereços - vCard
address book - view addressbook pt Livro de endereços - Ver
address line 2 addressbook pt Linha de endereço 2
address type addressbook pt Tipo de endereço
addressbook common pt Livro de endereços
addressbook preferences addressbook pt Preferências do livro de endereços
addressbook-fieldname addressbook pt Livro de endereços - Nome do campo
addvcard addressbook pt Adicionar VCard
addvcard addressbook pt Adicionar vCard
advanced search addressbook pt Pesquisa avançada
alt. csv import addressbook pt Importar CSV
always addressbook pt Sempre
@ -74,6 +74,9 @@ domestic addressbook pt Doméstico
download addressbook pt Transferência
download export file (uncheck to debug output in browser) addressbook pt Transferir ficheiro de exportação (desmarque a opção "fazer debug do resultado no navegador")
download this contact as vcard file addressbook pt transferor este contacto como ficheiro vCard
duplicate threshold addressbook pt Duplicar o limiar
duplicate warning addressbook pt Duplicação do aviso
duplicates addressbook pt Duplicações
duration addressbook pt Duração
edit custom field addressbook pt Editar campo personalizado
edit custom fields admin pt Editar campos personalizados
@ -98,6 +101,8 @@ fax number common pt Número de fax
field %1 has been added ! addressbook pt Campo %1 foi adicionado !
field %1 has been updated ! addressbook pt Campo %1 foi actualizado !
field name addressbook pt Nome do campo
fields to check for duplicates addressbook pt Campos para verificação de duplicados
fields to consider when looking for duplicate contacts. addressbook pt Campos a considerar na procura de contactos duplicados.
fields to show in address list addressbook pt Campos a exibir na lista de endereços
fieldseparator addressbook pt Separador de campos
full name addressbook pt Nome completo
@ -108,6 +113,10 @@ geo addressbook pt GEO
global categories addressbook pt Categorias gerais
grant addressbook access common pt Permitir acesso ao livro de endereços
h addressbook pt h
hide accounts from addressbook addressbook pt Ocultar contas de utilizador
hide all accounts addressbook pt Ocultar todas as contas
hide user groups as distribution lists addressbook pt Ocultar grupos de utilizadores como listas de distribuição
hides accounts completly from the adressbook. addressbook pt Esconder completamente as contas de utilizador do livro de endereços.
history logging admin pt Logging História
home city addressbook pt Cidade
home country addressbook pt País
@ -116,6 +125,7 @@ home phone addressbook pt Telefone
home state addressbook pt Bairro
home street addressbook pt Rua
home zip code addressbook pt Código postal
how many fields must match for the record to be considered a duplicate. addressbook pt Quantos campos devem coincidir para que o registo seja considerado como duplicado.
html link to the current record addressbook pt Link HTML para o registro atual
icon addressbook pt Ícone
import addressbook pt Importar
@ -123,13 +133,14 @@ import contacts addressbook pt Importar contactos
import csv-file into addressbook addressbook pt Importar ficheiro CSV para o livro de endereços
import file addressbook pt Importar ficheiro
import from addressbook pt Importar de
import from ldif, csv, or vcard addressbook pt Importar de LDIF, CSV, ou VCard
import from ldif, csv, or vcard addressbook pt Importar de LDIF, CSV, ou vCard
import from outlook addressbook pt Importar do Outlook
import multiple vcard addressbook pt Importar vários VCard
import multiple vcard addressbook pt Importar vários vCard
import next set addressbook pt Importar o conjunto seguinte
import_instructions addressbook pt No Netscape, abra o Livro de endereços e seleccione <b>Exportar</b> do menu <b>Ficheiro</b>. O ficheiro exportado estará em formato LDIF.<p>No Outlook, seleccione a sua pasta de contactos, seleccione <br>Importar e Exportar...</b> do menu <b>Ficheiro</b> e exporte os seus contactos, separados por vírgulas, num ficheiro de texto (CSV).<br>No Palm Desktop 4.0 ou superior, visite o seu livro de endereços e seleccione <br>Exportar</b> do menu <b>Ficheiro</b>. O ficheiro exportado estará em formado VCard.
import_instructions addressbook pt No Netscape, abra o Livro de endereços e seleccione <b>Exportar</b> do menu <b>Ficheiro</b>. O ficheiro exportado estará em formato LDIF.<p>No Outlook, seleccione a sua pasta de contactos, seleccione <br>Importar e Exportar...</b> do menu <b>Ficheiro</b> e exporte os seus contactos, separados por vírgulas, num ficheiro de texto (CSV).<br>No Palm Desktop 4.0 ou superior, visite o seu livro de endereços e seleccione <br>Exportar</b> do menu <b>Ficheiro</b>. O ficheiro exportado estará em formado vCard.
income addressbook pt Entrada
infolog addressbook pt Acesso à informação
infolog addressbook pt Contacto InfoLog
infolog-organisation addressbook pt Organização InfoLog
insert addressbook pt Inserir
international addressbook pt Internacional
label addressbook pt Comentário
@ -143,18 +154,24 @@ links and attached files addressbook pt Links e arquivos anexados
list all categories addressbook pt Listar todas as categorias
list all customfields addressbook pt Listar todos os campos personalizados
list of files linked to the current record addressbook pt Lista de arquivos vinculados ao registro atual
load vcard addressbook pt Carregar VCard
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook pt Carregar campos personalizados no índice, mesmo que a coluna de campos personalizados esteja desligada (por exemplo, para os mostrar numa coluna de índice específica)
load vcard addressbook pt Carregar vCard
location addressbook pt Local
manage mapping addressbook pt Gerenciar mapeamento
mark records as private addressbook pt Marcar registos como privados
merge duplicates addressbook pt Fusão de duplicados
merge into first or account, deletes all other! addressbook pt Fusão em primeiro lugar ou conta, elimina todos os outros!
message phone addressbook pt Telefone de mensagens
middle name addressbook pt Nome do meio
mobile addressbook pt Telemóvel
mobile phone addressbook pt Telemóvel
modem phone addressbook pt Telefone de dados (Modem)
more ... addressbook pt Mais..
multiple vcard addressbook pt Vários VCard
no vcard addressbook pt Nenhum VCard
multiple vcard addressbook pt Vários vCard
no country selected addressbook pt Nenhum país seleccionado
no distribution list addressbook pt Sem lista de distribuição
no vcard addressbook pt Nenhum vCard
not shared addressbook pt não partilhado
number addressbook pt Número
number of records to read (%1) addressbook pt Número de registos por ler (%1)
options for type admin pt Opções por tipo
@ -181,10 +198,17 @@ record access addressbook pt Acesso ao registo
record owner addressbook pt Dono do registo
repetition addressbook pt Repetição
role addressbook pt Papel
search letter addressbook pt Pesquisar carta
select all addressbook pt Seleccionar tudo
select multiple contacts for a further action addressbook pt Selecionar vários contatos para uma nova acção
select the type of conversion addressbook pt Seleccionar o tipo de conversão
select the type of conversion: addressbook pt Seleccionar o tipo de conversão:
share into addressbook addressbook pt Partilhar em livro de endereços
share writable addressbook pt Partilhar escrevível
shared addressbook pt partilhado
shared by me addressbook pt Partilhado por mim
shared into addressbook %1 addressbook pt partilhado em livro de endereços %1
shared with addressbook pt Partilhado com
show addressbook pt Exibir
start admin pt Início
startrecord addressbook pt Iniciar registo
@ -203,24 +227,29 @@ to many might exceed your execution-time-limit addressbook pt Demasiados podem e
today is %1's birthday! common pt Hoje é o aniversário de %1.
tomorrow is %1's birthday. common pt Amanhã é o aniversário de %1.
translation addressbook pt Tradução
unshare addressbook pt Não partilhar mais
unshared addressbook pt já não partilhado
update a single entry by passing the fields. addressbook pt Actualizar um registo único passando os campos.
updated addressbook pt Actualizado
use country list addressbook pt Utilizar lista de países
vcard common pt VCard
vcards require a first name entry. addressbook pt VCards requer um primeiro nome.
vcards require a last name entry. addressbook pt VCards requer um apelido.
user groups are automatically shown as distribution lists. addressbook pt Os grupos de utilizadores são automaticamente mostrados como listas de distribuição.
vcard common pt vCard
vcards require a first name entry. addressbook pt vCards requer um primeiro nome.
vcards require a last name entry. addressbook pt vCards requer um apelido.
warning!! ldap is valid only if you are not using contacts for accounts storage! admin pt Aviso!! LDAP é válido apenas se não estiver a utilizar contactos para armazenamento de contas!
warning: all contacts found will be deleted! addressbook pt Aviso: Todos os contactos encontrados serão eliminados!
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook pt Ao fundir entradas em documentos, estes serão armazenados aqui. Se não for fornecido nenhum directório, eles serão armazenados no seu directório pessoal (/home/...)
whole query addressbook pt Consulta Whole
work phone addressbook pt Telefone de trabalho
write (update or add) a single entry by passing the fields. addressbook pt Editar (actualizar ou adicionar) um registo único passando os campos.
yes, only admins can purge deleted items admin pt Sim, só os administradores podem remover os itens excluídos
you are not allowed to share into the addressbook of %1 addressbook pt Não está autorizado a partilhar o livro de endereços %1
you are not permitted to delete contact %1 addressbook pt Não tem permissões para eliminar o contacto %1
you are not permittet to delete this contact addressbook pt Não tem permissões para eliminar este contacto
you are not permittet to edit this contact addressbook pt Não tem permissões para editar este contacto
you are not permittet to view this contact addressbook pt Não tem permissões para ver este contacto
you can respond by visiting: addressbook pt Você pode responder, visitando
you must select a vcard. (*.vcf) addressbook pt É necessário seleccionar um vcard. (*.vcf)
you must select a vcard. (*.vcf) addressbook pt É necessário seleccionar um vCard. (*.vcf)
you must select at least 1 column to display addressbook pt É necessário seleccionar pelo menos uma coluna a apresentar
you need to select some entries first addressbook pt Você precisa selecionar algumas entradas em primeiro lugar.
zip code common pt Código postal

View File

@ -0,0 +1,33 @@
%1 shared this contact on %2 with %3 %4 addressbook ro %1 a partajat acest contact pe %2 %3 %4
duplicate threshold addressbook ro Pragul de duplicare
duplicate warning addressbook ro Avertisment de duplicat
duplicates addressbook ro Dubluri
fields to check for duplicates addressbook ro Câmpuri pentru a verifica dacă există dubluri
fields to consider when looking for duplicate contacts. addressbook ro Câmpuri care trebuie luate în considerare atunci când se caută contacte duplicate.
hide accounts from addressbook addressbook ro Ascundeți conturile de utilizator
hide all accounts addressbook ro Ascundeți toate conturile
hide user groups as distribution lists addressbook ro Ascundeți grupurile de utilizatori ca liste de distribuție
hides accounts completly from the adressbook. addressbook ro Ascundeți complet conturile de utilizator din cartea de adrese.
how many fields must match for the record to be considered a duplicate. addressbook ro Câte câmpuri trebuie să corespundă pentru ca înregistrarea să fie considerată duplicat.
infolog addressbook ro InfoLog Contact
infolog-organisation addressbook ro Organizația InfoLog
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook ro Încărcați câmpurile personalizate în index, chiar dacă coloana câmpurilor personalizate este dezactivată (de exemplu, pentru a le afișa într-o anumită coloană de index)
merge duplicates addressbook ro Unificarea dublurilor
merge into first or account, deletes all other! addressbook ro Fuzionează în primul sau în cont, șterge toate celelalte!
move to addressbook addressbook ro Mutarea în cartea de adrese
no country selected addressbook ro Nici o țară selectată
no distribution list addressbook ro Nici o listă de distribuție
not shared addressbook ro nu este împărtășită
prevent deleting of contacts admin ro Prevenirea ștergerii contactelor
search letter addressbook ro Scrisoare de căutare
share into addressbook addressbook ro Partajați în agenda de adrese
share writable addressbook ro Partajare inscriptibilă
shared addressbook ro partajat
shared by me addressbook ro Partajat de mine
shared into addressbook %1 addressbook ro partajat în addressbook %1
shared with addressbook ro Împărtășit cu
unshare addressbook ro Nu mai partajați
unshared addressbook ro nu mai este partajat
user groups are automatically shown as distribution lists. addressbook ro Grupurile de utilizatori sunt afișate automat ca liste de distribuție.
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook ro Atunci când unificați intrările în documente, acestea vor fi stocate aici. Dacă nu este furnizat niciun director, acestea vor fi stocate în directorul dvs. personal (/home/...).
you are not allowed to share into the addressbook of %1 addressbook ro Nu aveți permisiunea de a partaja în cartea de adrese %1

View File

@ -34,7 +34,7 @@ added by synchronisation addressbook ru Добавлено при синхрон
added to distribution list addressbook ru Добавлено в список рассылки
additional information about using ldap as contact repository admin ru Дополнительная информация об использовании LDAP в качестве хранилища контактов
address book common ru Контакты
address book - vcard in addressbook ru Адресная книга VCard в
address book - vcard in addressbook ru Адресная книга vCard в
address book - view addressbook ru Адресная книга - вид
address line 2 addressbook ru Строка адреса 2
address type addressbook ru Тип адреса
@ -50,7 +50,7 @@ addressbook the contact should be shown addressbook ru Адресная книг
addressbook vcard export addressbook ru Адресная книга, экспорт vCard
addressbook vcard import addressbook ru Адресная книга, импорт vCard
addressbook-fieldname addressbook ru Адресная книга - имя поля
addvcard addressbook ru Добавить VCard
addvcard addressbook ru Добавить vCard
advanced search addressbook ru Расширенный поиск
all contacts addressbook ru Все контакты
all in one field addressbook ru Все в одном поле
@ -105,7 +105,6 @@ company name addressbook ru Название компании
configuration common ru Конфигурирование
contact common ru Контакт
contact application admin ru Приложение контакта
contact copied addressbook ru Контакт скопирован
contact deleted addressbook ru Контакт удалён
contact fields to show addressbook ru Поля контакта для просмотра
contact fields: addressbook ru Поля контакта:
@ -171,6 +170,9 @@ don't hide empty columns addressbook ru Не скрывать пустые ко
download addressbook ru Загрузить
download export file (uncheck to debug output in browser) addressbook ru Загрузить файл экспорта (снимите отметку, чтобы вывести отладку в браузер)
download this contact as vcard file addressbook ru Загрузить этот контакт как файл vCard
duplicate threshold addressbook ru Порог дублирования
duplicate warning addressbook ru Предупреждение о дубликатах
duplicates addressbook ru Дубликаты
duration addressbook ru Длительность
each category in its own field addressbook ru Каждая категория в её собственном поле
each option in its own field addressbook ru Каждая опция в её собственном поле
@ -219,6 +221,8 @@ field %1 has been updated ! addressbook ru Обновлено поле %1 !
field name addressbook ru Имя поля
fields for the csv export addressbook ru Поля для экспорта в CSV
fields the user is allowed to edit himself admin ru Поля, которые пользователь может редактировать самостоятельно
fields to check for duplicates addressbook ru Поля для проверки дубликатов
fields to consider when looking for duplicate contacts. addressbook ru Поля, которые следует учитывать при поиске дубликатов контактов.
fields to copy when copying an address? admin ru Какие поля копировать при копировании контакта?
fields to show in address list addressbook ru Какие поля показывать в списке адресов
fieldseparator addressbook ru Разделитель полей
@ -235,6 +239,8 @@ grant addressbook access common ru Предоставить доступ к ад
group %1 addressbook ru Группа %1
h addressbook ru час
hide accounts from addressbook addressbook ru Скрыть учётные записи из адресной книги
hide all accounts addressbook ru Скрыть все учетные записи
hide user groups as distribution lists addressbook ru Скрыть группы пользователей как списки рассылки
hides accounts completly from the adressbook. addressbook ru Полностью скрывает учётные записи из адресной книги
history logging admin ru История записей
home address addressbook ru Домашний адрес
@ -248,6 +254,7 @@ home state addressbook ru Домашний - регион
home street addressbook ru Домашний - улица
home zip code addressbook ru Домашний почтовый индекс
how many contacts should non-admins be able to export admin ru Сколько контактов может экспортировать не-администратор
how many fields must match for the record to be considered a duplicate. addressbook ru Сколько полей должно совпадать, чтобы запись считалась дубликатом.
html link to the current record addressbook ru HTML-ссылка на запись
icon addressbook ru Пиктограмма
if accounts are already in ldap admin ru Если учётная запись уже в LDAP
@ -267,7 +274,8 @@ imports contacts into your addressbook from a csv file. csv means 'comma separat
imports contacts into your addressbook from a vcard file. addressbook ru Импортирует контакты в вашу адресную книгу из файла vCard
in %1 days (%2) is %3's birthday. addressbook ru Через %1 день/дней (51) наступит День рождения %3
income addressbook ru Входящие
infolog addressbook ru ИнфоЖурнал
infolog addressbook ru Контакт InfoLog
infolog-organisation addressbook ru Организация InfoLog
insert addressbook ru Вставить
insufficent rights to delete this list! addressbook ru Недостаточно прав для удаления этого списка!
international addressbook ru Международный
@ -291,6 +299,7 @@ list already exists! addressbook ru Список уже существует!
list created addressbook ru Список создан
list creation failed, no rights! addressbook ru Неудача при создании списка, нет прав!
list of files linked to the current record addressbook ru Список файлов, связанных с текущей записью
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook ru Загружать пользовательские поля в индекс, даже если колонка пользовательских полей выключена (например, чтобы отобразить их в определенной колонке индекса)
load vcard addressbook ru Загрузить vCard
location addressbook ru Расположени
locations addressbook ru Местоположения
@ -299,6 +308,7 @@ main categories in their own field addressbook ru Основные катего
manage mapping addressbook ru Управление отображениями
mark records as private addressbook ru Пометить записи как личные
merge contacts addressbook ru Слияние контактов
merge duplicates addressbook ru Объединить дубликаты
merge into first or account, deletes all other! addressbook ru Слить с первым или учётной записью, удалить все остальные!
merged addressbook ru Слито
message after submitting the form addressbook ru Сообщение после отправки формы
@ -320,8 +330,11 @@ new contact submitted by %1 at %2 addressbook ru Новый контакт от
new window opened to edit infolog for your selection addressbook ru Открыто новое окно редактирования выбранной записи ИнфоЖурнала
next date addressbook ru Следующая дата
no categories selected addressbook ru Не выбрано категорий
no country selected addressbook ru Страна не выбрана
no distribution list addressbook ru Нет списка рассылки
no fallback addressbook ru Нет резерва
no vcard addressbook ru Нет визитной карточки VCard
no vcard addressbook ru Нет визитной карточки vCard
not shared addressbook ru не разделенный
number addressbook ru Номер
number of records to read (%1) addressbook ru Количество записей для чтения (%1)
open email addresses in external mail program addressbook ru Открывать адреса электронной почты во внешней почтовой программе
@ -369,6 +382,7 @@ replacements for inserting contacts into documents addressbook ru Подстан
required fields * addressbook ru Требуемые поля
role addressbook ru Должность
room addressbook ru Комната
search letter addressbook ru Поисковое письмо
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook ru Выбрать фотографию jpeg портретного формата. Она будет масштабирована до 60 пикселей в ширину
select a view addressbook ru Выбрать вид
select addressbook type addressbook ru Выбрать тип адресной книги
@ -386,6 +400,12 @@ send emailcopy to receiver addressbook ru Отправить копию пись
seperator addressbook ru Разделитель
set full name and file as field in contacts of all users (either all or only empty values) admin ru Определите полное имя и файл как поле в контактах для всех пользователей (для всех или пустых величин)
set only full name addressbook ru Определить только полное имя
share into addressbook addressbook ru Поделиться в адресной книге
share writable addressbook ru Общий доступ доступен для записи
shared addressbook ru общий доступ
shared by me addressbook ru Разделено мной
shared into addressbook %1 addressbook ru поделиться в записную книжку %1
shared with addressbook ru Поделиться с
should the columns photo and home address always be displayed, even if they are empty. addressbook ru Всегда отображать поля фото и домашнего адреса, даже если они пусты
show addressbook ru Показать
show infolog entries for this organisation addressbook ru Показать записи ИнфоЖурнала для этой организации
@ -430,18 +450,20 @@ unable to convert "%1" to account id. using plugin setting (%2) for owner. addr
unable to delete addressbook ru Невозможно удалить
unique id (uid) addressbook ru Уникальный ID (UID)
unique id<br />(to update existing records) addressbook ru Уникальный ID<br /> для обновления существующих записей
unshare addressbook ru Больше не делиться
unshared addressbook ru больше не делится
update a single entry by passing the fields. addressbook ru Обновление записи при помощи передачи полей
update fields by edited organisations? admin ru Обновить поля отредактированной организации?
updated addressbook ru Обновлено
upload or delete the photo addressbook ru Выгрузить или удалить фото
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin ru URL для связи с телефонными номерами (используйте %1 = номер для звонка,%u = наименование учётной записи, %t = телефон учётной записи)
use addressbooks "own sorting" attribute addressbook ru Используйте атрибут адресной книги «собственная сортировка»
use an extra category tab? addressbook ru Использовать дополнительную вкладку категории
use an extra tab for private custom fields? admin ru Использовать дополнительную закладку для частных пользовательских полей?
use country list addressbook ru Использовать список стран
use setup for a full account-migration admin ru Использовать установку для полной миграции учётных записей
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook ru Используйте этот тег для адресных меток. Поместите содержимое, которое нужно повторить, между двумя тэгами.
used for links and for the own sorting of the list addressbook ru Используется для создания ссылок и собственных условий сортировки списка
user groups are automatically shown as distribution lists. addressbook ru Группы пользователей автоматически отображаются в виде списков рассылки.
user preference addressbook ru Пользовательские настройки
vcard common ru vCard
vcards require a first name entry. addressbook ru vCard требует наличия имени
@ -452,6 +474,7 @@ warning!! ldap is valid only if you are not using contacts for accounts storage!
warning: all contacts found will be deleted! addressbook ru ПРЕДУПРЕЖДЕНИЕ: Все найденные контакты будут удалены!
weekday addressbook ru Рабочий день
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook ru Изображение перехода к адресной книге в других приложениях. Значение «пусто» не допустимо. После изменения данной настройки следует выполнить вход в систему снова
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook ru Когда вы объединяете записи в документы, они будут храниться здесь. Если каталог не указан, они будут храниться в вашем домашнем каталоге (/home/...).
where to add the email address addressbook ru Куда добавлять адреса электронной почты
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook ru Какой формат адреса должна использовать адресная книга для стран с неизвестным форматом адреса. Если формат адреса страны известен, он используется вне зависимости от настройки этого параметра
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook ru Какая адресная книга должна быть выбрана при добавлении контакта, если нет прав на текущую адресную книгу
@ -470,6 +493,7 @@ yes, for the next week addressbook ru Да, для следующей недел
yes, for today and tomorrow addressbook ru Да, на сегодня и завтра
yes, only admins can purge deleted items admin ru Да, только администраторы могут очистить удалённые записи
yes, users can purge their deleted items admin ru Да, пользователи могут очистить удалённые ими записи
you are not allowed to share into the addressbook of %1 addressbook ru Вам не разрешено делиться информацией в адресной книге %1
you are not permitted to delete contact %1 addressbook ru Вам не разрешено удалять контакт %1
you are not permittet to delete this contact addressbook ru Вам не разрешено удалять этот контакт
you are not permittet to edit this contact addressbook ru Вам не разрешено редактировать этот контакт

View File

@ -8,6 +8,7 @@
%1 public keys added. addressbook sk %1 verejných kľúčov pridaných.
%1 records imported addressbook sk Bolo naimportovaných %1 záznamov.
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook sk Bolo prečítaných %1 záznamov (zatiaľ neimportované, môžete se vrátit %2späť%3 a odznačit Test importu)
%1 shared this contact on %2 with %3 %4 addressbook sk %1 zdieľal tento kontakt na %2 s %3 %4
%1 starts with '%2' addressbook sk %1 začína na '%2'
%s please calculate the result addressbook sk %s prosím spočítajte výsledok
(e.g. 1969) addressbook sk (napr. 1969)
@ -41,7 +42,7 @@ added by synchronisation addressbook sk Pridané cez synchronizáciu
added to distribution list addressbook sk Pridané do distribučného zoznamu
additional information about using ldap as contact repository admin sk Ďalšie informácie o používaní LDAP ako zdroja kontaktov
address book common sk Adresár
address book - vcard in addressbook sk Adresár - vizitka VCard v
address book - vcard in addressbook sk Adresár - vizitka vCard v
address book - view addressbook sk Adresár - pohľad
address line 2 addressbook sk Adresa riadok 2
address line 2 (private) addressbook sk Adresa riadok 2 (súkromné)
@ -59,7 +60,7 @@ addressbook the contact should be shown addressbook sk Adresár, v ktorom sa má
addressbook vcard export addressbook sk Adresár - export vCard
addressbook vcard import addressbook sk Adresár - import vCard
addressbook-fieldname addressbook sk Pole adresára
addvcard addressbook sk Pridať vizitku VCard
addvcard addressbook sk Pridať vizitku vCard
advanced search addressbook sk Pokročilé hľadanie
all addressbooks addressbook sk Všetky adresáre
all contacts addressbook sk Všetky kontakty
@ -237,7 +238,7 @@ example {{nenvlf role}} - if field role is not empty, set a lf without any value
existing links addressbook sk Existujúce odkazy
exists addressbook sk existuje
export as csv addressbook sk Exportovať ako CSV
export as vcard addressbook sk Exportovať ako vizitku VCard
export as vcard addressbook sk Exportovať ako vizitku vCard
export contacts addressbook sk Exportovať kontakty
export definition to use for nextmatch export addressbook sk Exportná definícia pre použitie v exporte
export definitition to use for nextmatch export addressbook sk Definícia exportu pre použitie v nasledujúcom exporte
@ -306,11 +307,11 @@ import contacts addressbook sk Importovať kontakty
import csv-file into addressbook addressbook sk Importovat CSV súbor do Adresára
import file addressbook sk Importuj súbor
import from addressbook sk Import z
import from ldif, csv, or vcard addressbook sk Import z LDIF, CSV alebo VCard
import from ldif, csv, or vcard addressbook sk Import z LDIF, CSV alebo vCard
import from outlook addressbook sk Importuj z Outlooku
import multiple vcard addressbook sk Import viacerých vizitek VCard
import multiple vcard addressbook sk Import viacerých vizitek vCard
import next set addressbook sk Importovať ďalšiu sadu
import_instructions addressbook sk V Netscape otvorte Adresár a vyberte <b>Export<b> v ponuke <b>Súbor</b>. Exportovaný súbor bude vo formáte LDIF.<p>V Outlooku vyberte Kontakty, zvoľte <b>Import a export...</b> z ponuky <b>Súbor</b> a exportujte dáta do súboru s hodnotami oddelenými čiarkami.<p>V Palm Desktop 4.0 a vyššom otvorete adresár a zvoľte <b>Export</b> z ponuky <b>Súbor</b>. Exportované dáta budú vo formáte VCard.
import_instructions addressbook sk V Netscape otvorte Adresár a vyberte <b>Export<b> v ponuke <b>Súbor</b>. Exportovaný súbor bude vo formáte LDIF.<p>V Outlooku vyberte Kontakty, zvoľte <b>Import a export...</b> z ponuky <b>Súbor</b> a exportujte dáta do súboru s hodnotami oddelenými čiarkami.<p>V Palm Desktop 4.0 a vyššom otvorete adresár a zvoľte <b>Export</b> z ponuky <b>Súbor</b>. Exportované dáta budú vo formáte vCard.
importer's personal addressbook sk Importérove súkromné
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook sk Naimportuje kontakty do Vášho Adresára z CSV súboru (CSV znamená Comma Separated Values). V karte možností môžete samozrejme vybrať iný oddeľovač než čiarku.
imports contacts into your addressbook from a vcard file. addressbook sk Naimportuje kontakty do vášho Adresára zo súboru vCard.
@ -343,10 +344,10 @@ list created addressbook sk Zoznam bol vytvorený
list creation failed, no rights! addressbook sk Nepodarilo sa vytvoriť zoznam, nemáte práva!
list of files linked to the current record addressbook sk Zoznam súborov priložených k súčasnému záznamu
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook sk Nahrať vlastné polia do indexu aj v prípade, keď je vlastné pole vypnuté (napr. aby sa dali zobraziť v určitom stĺpci indexu)
load vcard addressbook sk Nahrať vizitku VCard
load vcard addressbook sk Nahrať vizitku vCard
location addressbook sk Umiestnenie
locations addressbook sk Umiestnenia
mail vcard addressbook sk Poslať VCard e-mailom
mail vcard addressbook sk Poslať vCard e-mailom
main categories in their own field addressbook sk Hlavné kategórie v samostatných poliach
manage mapping addressbook sk Správa mapovania
mark records as private addressbook sk Označiť záznamy ako súkromé
@ -366,7 +367,7 @@ modem phone addressbook sk Číslo na modem
more ... addressbook sk Viac ...
move to addressbook addressbook sk Presunúť do adresára
moved addressbook sk Presunuté
multiple vcard addressbook sk Viacero vizitiek VCard
multiple vcard addressbook sk Viacero vizitiek vCard
name for the distribution list addressbook sk Názov pre distribučný zoznam
name of current user, all other contact fields are valid too addressbook sk Meno súčasného používateľa, ostatné kontaktné polia sú tiež platné.
name, address addressbook sk Meno, Adresa
@ -374,9 +375,11 @@ new contact submitted by %1 at %2 addressbook sk Nový kontakt odoslal %1 %2
new window opened to edit infolog for your selection addressbook sk Otvorilo sa nové okno pre úpravu Záznamníka pre váš výber
next date addressbook sk Nasledujúci dátum
no categories selected addressbook sk neboli vybrané kategórie
no country selected addressbook sk Žiadna vybraná krajina
no distribution list addressbook sk Bez distribučného zoznamu
no fallback addressbook sk Bez návratu
no vcard addressbook sk Žiadna vizitka
not shared addressbook sk ni v skupni rabi
number addressbook sk Číslo
number of records to read (%1) addressbook sk Počet záznamov k načítaniu (%1)
open %1 crm view addressbook sk Otvoriť %1 CRM obrazenie
@ -453,6 +456,12 @@ send succeeded to %1 common sk Odoslanie sa podarilo pre %1
seperator addressbook sk Oddeľovač
set full name and file as field in contacts of all users (either all or only empty values) admin sk Nastaviť plné meno a súbor ako pole v kontaktoch všetkých používateľov (buď všetky alebo len prázdne hodnoty)
set only full name addressbook sk Nastaviť len plné meno
share into addressbook addressbook sk Zdieľať do adresára
share writable addressbook sk Zdieľať zapisovateľné
shared addressbook sk zdieľané
shared by me addressbook sk Zdieľané mnou
shared into addressbook %1 addressbook sk zdieľané do adresára %1
shared with addressbook sk Zdieľané s
should the columns photo and home address always be displayed, even if they are empty. addressbook sk Majú sa stĺpce pre fotku a adresu domov zobrazovať vždy, aj keď sú prázdne?
show addressbook sk Ukázať
show active accounts addressbook sk Ukázať aktívne účty
@ -505,6 +514,8 @@ unable to import into %1, using %2 addressbook sk Nedá sa naimportovať do %1,
unique id (uid) addressbook sk Jedinečné ID (UID)
unique id<br />(to update existing records) addressbook sk Jedinečné ID<br />(pre aktualizáciu existujúcich záznamov)
unknown type %1, imported as %2 addressbook sk Neznámy typ %1, naimportvaný ako %2
unshare addressbook sk Ni več v skupni rabi
unshared addressbook sk ni več v skupni rabi
update a single entry by passing the fields. addressbook sk Aktualizovať jednotlivý záznam podľa zadaných polí
update fields by edited organisations? admin sk Aktualizovať polia podľa upravených organizácií?
updated addressbook sk Aktualizované
@ -521,7 +532,7 @@ use this tag for addresslabels. put the content, you want to repeat, between two
used for links and for the own sorting of the list addressbook sk Používa sa pre odkazy a vlastné spôsoby triedenia zoznamu
user groups are automatically shown as distribution lists. addressbook sk Používateľské skupiny sa automaticky ukážu akodistribučné zoznamy.
user preference addressbook sk Používateľská voľba
vcard common sk Vizitka VCard
vcard common sk Vizitka vCard
vcards require a first name entry. addressbook sk Vizitky potrebujú zadané krstné meno.
vcards require a last name entry. addressbook sk Vizitky potřebujú zadané priezvisko.
verification addressbook sk Kontrola
@ -531,6 +542,7 @@ warning: all contacts found will be deleted! addressbook sk POZOR: Všetky konta
weekday addressbook sk Deň v týždni
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook sk Čo sa má v iných aplikáciách zobraziť na mieste odkazu na adresár. Prázdne hodnoty sa vynechajú. Ak zmeníte toto nastavenie, musíte sa znovu prihlásiť!
when viewing a contact, show linked entries from the selected application addressbook sk Pri zobrazení kontaktu ukázať odkazované položky z vybranej ikácie
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook sk Pri spájaní záznamov do dokumentov sa budú ukladať sem. Ak nie je uvedený žiadny adresár, budú uložené vo vašom domovskom adresári (/home/...).
where to add the email address addressbook sk Kde pridať E-mailovú adresu
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook sk Aký formát adries sa má použiť pre krajiny, u ktorých formát nie je známy? Pozn. Ak formát tej-ktorej krajiny známy JE, tak sa použije, nezávisle od tohto nastavenia.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook sk Ktorý adresár sa má použiť, keď pridávate nový kontakt A PRITOM nemáte právo pridať ho do aktuálneho adresára.
@ -549,13 +561,14 @@ yes, for the next week addressbook sk Áno, pre nasledujúci týždeň
yes, for today and tomorrow addressbook sk Áno, pre dnešok a zajtrajšok
yes, only admins can purge deleted items admin sk Áno, iba správci môžu vymazať odstránené položky
yes, users can purge their deleted items admin sk Áno, používatelia môžu vymazať ich odstránené položky
you are not allowed to share into the addressbook of %1 addressbook sk Skupna raba v imeniku ni dovoljena %1
you are not permitted to delete contact %1 addressbook sk Nemáte oprávnenie k odstráneniu kontaktu %1
you are not permittet to delete this contact addressbook sk Nemáte oprávnenie odstrániť tento kontakt
you are not permittet to edit this contact addressbook sk Nemáte oprávnenie upraviť tento kontakt
you are not permittet to view this contact addressbook sk Nemáte oprávnenie vidieť tento kontakt
you can only use ldap as contact repository if the accounts are stored in ldap too! admin sk LDAP ako zdroj kontaktov sa dá používať len vtedy, keď sú aj účty uložené v LDAP!
you can respond by visiting: addressbook sk Ak si chcete pozrieť, navštívte:
you must select a vcard. (*.vcf) addressbook sk Musíte vybrať VCard (*.vcf)
you must select a vcard. (*.vcf) addressbook sk Musíte vybrať vCard (*.vcf)
you must select at least 1 column to display addressbook sk Musíte vybrať aspoň 1 stĺpec k zobrazeniu.
you need to select a distribution list addressbook sk Najprv musíte vybrať distribučný zoznam
you need to select some contacts first addressbook sk Najprv musíte vybrať nejaké kontakty.

View File

@ -2,18 +2,15 @@
%1 contact(s) %2 addressbook sl %1 stikov %2
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook sl %1 je kontaktiral %2, pri %3 se je pojavila napaka zaradi premajhnih pravic!
%1 contacts updated (%2 errors). addressbook sl %1 stikov je bilo posodobljenih (%2 napak).
%1 copied - the copy can now be edited addressbook sl Kopirano je %1 - kopijo lahko zdaj urejate
%1 entries %2, %3 failed because of insufficent rights !!! addressbook sl %1 vnosov %2, %3 ni uspelo zaradi nezadostnih pravic!
%1 entries %2, %3 failed. addressbook sl %1 vnosov %2, %3 ni uspelo.
%1 fields in %2 other organisation member(s) changed addressbook sl %1 polje %2 članu v drugi organizaciji se je spremenilo
%1 key(s) added to public keyserver "%2". addressbook sl Ključi %1, dodani javnemu ključevu "%2".
%1 not implemented for %2! addressbook sl %1 ni implementirano za %2!
%1 public keys added. addressbook sl Dodani so javni ključ i%1.
%1 records imported addressbook sl %1 zapisov uvoženih
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook sl 1% zapisov prebranih (niso še uvoženi, lahko greste %2nazaj%3 in odznačite preizkus uvoza)
%1 shared this contact on %2 with %3 %4 addressbook sl %1 je ta stik delil na %2 %3 %4
%1 starts with '%2' addressbook sl %1 se začne z '%2'
%s please calculate the result addressbook sl %s izračunaj rezultat
'%1' is not allowed ('%2')! addressbook sl '%1' ni dovoljeno ('%2')!
(e.g. 1969) addressbook sl (npr. 1969)
(empty = use global limit, no = no export at all) admin sl (prazno = uporabi globalno omejitev, ne = izvoz ni dovoljen)
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook sl <b>Ni tipa prevoda <noben> lahko je zaklenjen.</b> Izberite tip prevoda s seznama.
@ -45,7 +42,7 @@ added by synchronisation addressbook sl Dodano s sinhronizacijo
added to distribution list addressbook sl Dodano v distribucijski seznam
additional information about using ldap as contact repository admin sl Dodatne informacije o uporabi LDAP kot repozitorija za kontakte
address book common sl Adresar
address book - vcard in addressbook sl Adresar - VCard
address book - vcard in addressbook sl Adresar - vCard
address book - view addressbook sl Adresar - pogled
address line 2 addressbook sl Naslov - 2. vrstica
address line 2 (private) addressbook sl Naslovna vrstica 2 (zasebna)
@ -63,12 +60,9 @@ addressbook the contact should be shown addressbook sl Adresar, katerega kontakt
addressbook vcard export addressbook sl Izvoz vCard adresarja
addressbook vcard import addressbook sl Uvoz vCard imenika
addressbook-fieldname addressbook sl Adresar-Ime polja
addvcard addressbook sl Dodaj VCard
admin addressbook sl Skrbnik
addvcard addressbook sl Dodaj vCard
advanced search addressbook sl Napredno iskanje
all addressbook sl vse
all addressbooks addressbook sl Vsi adresarji
all categories addressbook sl Vse kategorije
all contacts addressbook sl Vsi kontakti
all in one field addressbook sl Vse v enem polju
all types addressbook sl Vse vrste
@ -106,9 +100,7 @@ car phone addressbook sl Telefon v avtu
categorie addressbook sl Kategorija
categorie added addressbook sl Kategorija dodana
categorie delete addressbook sl Kategorija izbrisana
categories addressbook sl Kategorije
categories, notes, ... addressbook sl Kategorije, opombe ...
category addressbook sl Kategorija
category path addressbook sl Pot kategorije
category tree admin sl Drevo kategorij
cell phone addressbook sl GSM
@ -120,7 +112,6 @@ charset of file addressbook sl Kodna tabela datoteke
check all addressbook sl Preveri vse
choose an icon for this contact type admin sl Izberite ikono za to vrsto stika
choose charset addressbook sl Izberi nabor znakov
choose export options addressbook sl Izberite možnosti izvoza
choose owner of imported data addressbook sl Izberite lastnika uvoženih podatkov
choose pre-defined map source or use custom url (use %r = street, %t = city, %c = country, %z = zipcode) admin sl Izberite vnaprej določen vir zemljevida ali uporabite URL po meri (uporabite %r = ulica, %t = mesto, %c = država, %z = poštna številka)
chosse an etemplate for this contact type admin sl Izberite eTemplate za to vrsto stika
@ -183,7 +174,6 @@ default format for fileas, eg. for new entries. addressbook sl Privzeta oblika z
default geolocation source address addressbook sl Default GeoLocation source address
default is to open email addresses in egroupware email application, if user has access to it. addressbook sl Privzeto se odpre e-naslov v programu za e-pošto Egroupware.
defines which email address (business or home) to use as the preferred one for distribution lists in mail. addressbook sl Določa, kateri e-naslov (domači ali službeni) naj se uporabi kot privzeti za distribucijski seznam.
delete addressbook sl Izbriši
delete a single entry by passing the id. addressbook sl Izbriši zapis s podano šifro
delete selected distribution list! addressbook sl Izbriši izbrane distribucijske sezname!
delete this contact addressbook sl Izbriši ta stik
@ -222,7 +212,6 @@ edit extra account-data in the addressbook admin sl Uredi dodatne podatke račun
edit phonenumbers addressbook sl Urejanje telefonskih številk
edit phonenumbers - addressbook sl Uredi telefonske številke -
either the configured email addesses are wrong or the mail configuration. addressbook sl Napačen e-naslov ali konfiguracija.
email addressbook sl ePošta
email & internet addressbook sl ePošta in Splet
email (private) addressbook sl ePošta (zasebno)
email addresses (comma separated) to send the contact data addressbook sl E-naslovi (ločeni z vejico), na katere pošljem podatke stika
@ -235,7 +224,6 @@ enter the path to the exported file here addressbook sl Vnesite pot do izhodne d
error deleting the contact !!! addressbook sl Napaka pri brisanju stika!
error saving the contact !!! addressbook sl Napaka pri shranjevanju stika!
error: the entry has been updated since you opened it for editing! addressbook sl Napaka: vnos je bil spremenjen medtem, ko ste imeli odprtega za urejanje!
exact addressbook sl točno
example {{if n_prefix~mr~hello mr.~hello ms.}} - search the field "n_prefix", for "mr", if found, write hello mr., else write hello ms. addressbook sl Primer {{IF n_prefix ~ Mr ~ Pozdravljeni g. ~ Pozdravljeni gospa}} - poiščite polje »n_prefix«, za »gospod«, če najdete, pišite Hello Hello, drugače pišite Hello Ms.
example {{letterprefixcustom n_prefix title n_family}} - example: mr dr. james miller preferences sl Primer {{LETTERPREFIXCUSTOM n_prefix naslov n_family}} - Primer: g. Dr. James Miller
example {{nelf role}} - if field role is not empty, you will get a new line with the value of field role addressbook sl Primer {{NELF vloga}} - če poljska vloga ni prazna, boste dobili novo vrstico z vrednostjo vloge na poljubnem mestu
@ -243,7 +231,7 @@ example {{nenvlf role}} - if field role is not empty, set a lf without any value
existing links addressbook sl Obstoječe povezave
exists addressbook sl Obstaja
export as csv addressbook sl Izvozi v CSV
export as vcard addressbook sl Izvozi kot VCard
export as vcard addressbook sl Izvozi kot vCard
export contacts addressbook sl Izvozi stike
export definition to use for nextmatch export addressbook sl Izvozna definicija, ki jo je treba uporabiti za izvoz naslednjega računa
export definitition to use for nextmatch export addressbook sl Izvozna definicija, ki jo je treba uporabiti za izvoz naslednjega računa
@ -252,7 +240,6 @@ export from addressbook addressbook sl Izvoz iz adresarja
export selection addressbook sl Izvozi izbor
exported addressbook sl Izvoženo
exports contacts from your addressbook into a csv file. addressbook sl Izvozi stike iz adresarja v datoteko CSV.
exports contacts from your addressbook into a csv file. csv means 'comma seperated values'. however in the options tab you can also choose other seperators. addressbook sl Izvozi stike iz vašega adresarja v datoteko CSV. CSV pomeni 'Comma Seperated Values' (vrednosti, ločene z vejico). Na zavihku možnosti pa lahko za ločilo polj izberete drugi znak.
exports contacts from your addressbook into a vcard file. addressbook sl Izvozi stike iz svojega adresarja v datoteko vCard.
extra addressbook sl Dodatno
extra encodings addressbook sl Dodatno kodiranje
@ -272,9 +259,6 @@ fields to consider when looking for duplicate contacts. addressbook sl Polja, ki
fields to copy when copying an address? admin sl Polja za kopiranje pri kopiranju naslova
fields to show in address list addressbook sl Polja, ki naj se prikažejo v seznamu
fieldseparator addressbook sl Ločilo polj
file is not a %1 public key! addressbook sl Datoteka ni javni ključ %1!
first name addressbook sl ime
firstname addressbook sl Ime
for read only ldap admin sl Za LDAP samo za branje
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook sl Za tipska pisma uporabite značko. Vsebino, ki jo želite imeti v vseh dokumentih, vnesite med značke.
freebusy uri addressbook sl Freebusy URI
@ -291,6 +275,7 @@ group %1 addressbook sl Skupina %1
h addressbook sl h
hide accounts from addressbook addressbook sl Skrij uporabniške račune iz adresarja
hide all accounts addressbook sl Skrij vse račune
hide user groups as distribution lists addressbook sl Skrijte skupine uporabnikov kot distribucijske sezname
hides accounts completly from the adressbook. addressbook sl Skrij uporabniške račune iz adresarja
history logging admin sl Beleženje zgodovine
home address addressbook sl Domači naslov
@ -308,29 +293,23 @@ how many fields must match for the record to be considered a duplicate. addressb
html link to the current record addressbook sl Povezava HTML s trenutnim zapisom
icon addressbook sl Ikona
if accounts are already in ldap admin sl Če je račun že v LDAP
if you specify a directory (full vfs path) here, %1 displays an action for each document. that action allows to download the specified document with the data inserted. addressbook sl Če določite imenik (celotna pot vfs), bo %1 prikazalo dejanje za vsak dokument. To dejanje omogoča prenos določenega dokumenta z vstavljenimi podatki.
if you specify a directory (full vfs path) here, stiki displays an action for each document. that action allows to download the specified document with the data inserted. the document can contain placeholder like {{n_fn}}, to be replaced with the data. the following document-types are supported:txt,rtf,odt,ods,docx,xml,eml addressbook sl Če določite imenik (celotna pot vfs), bo Stiki prikazal dejanje za vsak dokument. To dejanje omogoča prenos določenega dokumenta z vstavljenimi podatki. Dokument lahko vsebuje vsebnik kot {{n_fn}}, ki ga je treba zamenjati s podatki. Podprte so naslednje vrste dokumentov: txt, rtf, odt, ods, docx, xml, eml
if you specify a document (full vfs path) here, %1 displays an extra document icon for each entry. that icon allows to download the specified document with the data inserted. addressbook sl Če določite dokument (celotno pot vfs) tukaj, %1 prikaže ikono dodatne ikone za vsak vnos. Ta ikona omogoča prenos določenega dokumenta z vstavljenimi podatki.
if you specify a document (full vfs path) here, stiki displays an extra document icon for each entry. that icon allows to download the specified document with the data inserted. the document can contain placeholder like {{n_fn}}, to be replaced with the data. the following document-types are supported:txt,rtf,odt,ods,docx,xml,eml addressbook sl Če določite dokument (celotno pot vfs), se za vsak vnos prikaže ikona za dodatno dokumentacijo. Ta ikona omogoča prenos določenega dokumenta z vstavljenimi podatki. Dokument lahko vsebuje vsebnik kot {{n_fn}}, ki ga je treba zamenjati s podatki. Podprte so naslednje vrste dokumentov: txt, rtf, odt, ods, docx, xml, eml
if you specify an export definition, it will be used when you export addressbook sl Če določite definicijo izvoza, se bo uporabil, ko boste izvozili
ignore first line addressbook sl Prezri prvo vrstico
import addressbook sl Uvoz
import contacts addressbook sl Uvozi stike
import csv-file into addressbook addressbook sl Uvozi CSV-polja v imenik
import file addressbook sl Uvozi datoteko
import from addressbook sl Uvozi iz
import from ldif, csv, or vcard addressbook sl Uvoz iz LDIF, CSV ali VCard
import from ldif, csv, or vcard addressbook sl Uvoz iz LDIF, CSV ali vCard
import from outlook addressbook sl Uvoz iz Outlook-a
import multiple vcard addressbook sl Uvoz večih VCard
import multiple vcard addressbook sl Uvoz večih vCard
import next set addressbook sl Uvozi naslednji niz
import_instructions addressbook sl V Netscapu odprite adresar in izberite <b>Export</b> v meniju <b>File</b>. Izvožena datoteka bo v obliki LDIF.<p>V Outlooku izberite mapo Stiki (Contacts), izberite <b>Uvoz/izvoz (Import/Export)</b> v meniju <b>Datoteka (File)</b>. Izvožena datoteka bo v obliki CSV.
importer's personal addressbook sl Uvoznik je oseben
imports contacts into your addressbook from a csv file. csv means 'comma seperated values'. however in the options tab you can also choose other seperators. addressbook sl Uvozi stike v vaš adresar iz datoteke CSV. CSV pomeni 'vrednosti, ločene z vejico'. Vendar na zavihku Možnosti lahko izberete drugo ločilo polj.
imports contacts into your addressbook from a vcard file. addressbook sl Uvozi stike v svoj adresar iz datoteke vCard.
in %1 days (%2) is %3's birthday. addressbook sl V %1 dneh (%2) je rojstni dan %3.
income addressbook sl Priliv
infolog addressbook sl InfoDnevnik
input required addressbook sl Potreben je vhod
infolog-organisation addressbook sl Organizacija InfoLog
insert addressbook sl Vstavi
insufficent rights to delete this list! addressbook sl Nimate dovolj pravic za brisanje tega seznama!
insufficent rights to edit this list! addressbook sl Neustrezne pravice za urejanje tega seznama!
@ -340,8 +319,6 @@ label addressbook sl Značilnosti
last date addressbook sl Zadnji datum
last modified addressbook sl Nazadnje spremenjeno
last modified by addressbook sl Nazadnje spremenil
last name addressbook sl priimek
lastname addressbook sl Priimek
ldap context for contacts admin sl Kontekst LDAP za stike
ldap host for contacts admin sl Strežnik LDAP za stike
ldap settings for contacts admin sl Nastavitve LDAP za stike
@ -357,11 +334,11 @@ list already exists! addressbook sl Seznam že obstaja!
list created addressbook sl Seznam ustvarjen
list creation failed, no rights! addressbook sl Napak pri ustvarjanju seznama - nimate pravic!
list of files linked to the current record addressbook sl Seznam datotek, povezanih s trenutnim zapisom
load vcard addressbook sl Naloži VCard
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook sl Naloži polja po meri v indeks, tudi če je stolpec za polja po meri izklopljen (npr. če jih želite prikazati v določenem stolpcu indeksa)
load vcard addressbook sl Naloži vCard
location addressbook sl Lokacija
locations addressbook sl Lokacije
mail vcard addressbook sl Pošta VCard
main api\categories in their own field addressbook sl Main Api \ Kategorije v svojem polju
mail vcard addressbook sl Pošta vCard
main categories in their own field addressbook sl Glavne kategorije v scojih poljih
manage mapping addressbook sl Upravljaj mapiranje
mark records as private addressbook sl Označi zapise kot zasebne
@ -369,7 +346,6 @@ merge contacts addressbook sl Združi stike
merge duplicates addressbook sl Spoji dvojnike
merge into first or account, deletes all other! addressbook sl Spoji v prvi stik, izbriši ostale!
merged addressbook sl Spojeno
message addressbook sl sporočilo
message after submitting the form addressbook sl Sporočilo po oddaji obrazca
message phone addressbook sl Telefon za sporočila
middle name addressbook sl Srednje ime
@ -382,7 +358,7 @@ modem phone addressbook sl Modem
more ... addressbook sl Več ...
move to addressbook addressbook sl Premakni v adresar
moved addressbook sl Premaknjeno
multiple vcard addressbook sl Več VCard zapisov
multiple vcard addressbook sl Več vCard zapisov
name for the distribution list addressbook sl Ime za distribucijski seznam
name of current user, all other contact fields are valid too addressbook sl Ime trenutnega uporabnika, veljavna so tudi vsa druga polja stika
name, address addressbook sl Ime, naslov
@ -393,12 +369,10 @@ no categories selected addressbook sl Nobena kategorija ni izbrana
no country selected addressbook sl Nobena država ni izbrana
no distribution list addressbook sl Ni seznama distribucij
no fallback addressbook sl Brez rezerve
no vcard addressbook sl Ni VCard zapisov
none addressbook sl Brez
no vcard addressbook sl Ni vCard zapisov
not shared addressbook sl ni v skupni rabi
number addressbook sl Število
number of records to read (%1) addressbook sl Število zapisov za branje (%1)
old fixed definition addressbook sl Stara določena opredelitev
only supported by a few fully conformant clients (eg. from apple). if you have to enter a url, it will most likely not be supported! addressbook sl Podpira le nekaj popolnoma skladnih strank (npr. Iz Applea). Če morate vnesti URL, najverjetneje ne bo podprt!
open %1 crm view addressbook sl Open %1 CRM view
open email addresses in external mail program addressbook sl Odpri e-naslov v zunanjem programu
open for editing? addressbook sl Odpri za urejanje?
@ -417,14 +391,11 @@ parcel addressbook sl Dostava
participants addressbook sl Udeleženci
permission denied !!! addressbook sl Dostop zavrnjen!
permissiong denied! ask your administrator to allow regular uses to update their public keys. addressbook sl Dovoljenje je zavrnjeno! Vprašajte svojega skrbnika, da dovolite redne uporabe, da posodobijo svoje javne ključe.
personal addressbook sl Osebno
pgp addressbook sl PGP
phone number common sl Telefonska številka
phone numbers common sl Telefonske številke
photo addressbook sl Slika
please enter a name for that field ! addressbook sl Prosim, vpišite ime za to polje!
please select only one category addressbook sl Izberite samo eno kategorijo
please update the templatename in your customfields section! addressbook sl Posodobite templatename v razdelku po meri.
postal common sl Poštni
pref addressbook sl Privzeto
preferred email address to use in distribution lists addressbook sl Privzeti e-naslov za uporabo v distribucijskem seznamu.
@ -432,8 +403,6 @@ preferred phone addressbook sl Privzeti telefon
preferred type of email address to add for distribution lists addressbook sl Privzeta vrsta e-naslova za dodajanje v distribucijske sezname.
prefix addressbook sl Predpona
prevent deleting of contacts admin sl Prepreči brisanje stikov
primary group addressbook sl Primarna skupina
private addressbook sl Zasebno
private address addressbook sl Zasebni naslov
private custom fields addressbook sl Zasebna lastna polja
public key addressbook sl Javni ključ
@ -456,11 +425,7 @@ replacements for inserting contacts into documents addressbook sl Zamenjave za v
required fields * addressbook sl Zahtevana polja *
role addressbook sl Vloga
room addressbook sl Soba
s/mime addressbook sl S/MIME
search for '%1' addressbook sl Poiščite "%1"
search letter addressbook sl Iskanje črke
select "%1", if your client does not support multiple addressbooks. addressbook sl Izberite "%1", če vaš odjemalec ne podpira več adresarjev.
select "%1", if your client support groups, eg. os x or ios addressbook. addressbook sl Izberite "%1", če skupine podpore strankam, npr. OS X ali iOS imenik.
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook sl Izberite pokončno sliko JPEG. Njena velikost bo spremenjena na širino 60 pikslov.
select a source address to be used in geolocation routing system addressbook sl Izberite naslov vira, ki naj se uporablja v usmerjevalnem sistemu GeoLocation
select a view addressbook sl Izberite pogled
@ -470,7 +435,6 @@ select an action or addressbook to move to addressbook sl Izberite dejanje ali a
select an action or addressbook to move to... addressbook sl Izberite dejanje ali adresar, v katerega želit epremakniti ...
select migration type admin sl Izberite vrsto migracije
select multiple contacts for a further action addressbook sl Izberite več stikov za nadaljnja dejanja
select one addressbook sl Izberi eno
select phone number as prefered way of contact addressbook sl Izberite telefonsko številko kot privzeto pot komunikacije za kontakt
select the type of conversion addressbook sl Izberite tip pretvorbe
select the type of conversion: addressbook sl Izberite tip pretvorbe:
@ -481,6 +445,12 @@ send succeeded to %1 common sl Pošiljanje je uspelo n a 1
seperator addressbook sl Ločilo
set full name and file as field in contacts of all users (either all or only empty values) admin sl Nastavi polno ime in datoteko kot polje v stikih za vse uporabnike (vse ali samo prazne vrednosti)
set only full name addressbook sl Nastavi samo polno ime
share into addressbook addressbook sl Skupna raba v imeniku
share writable addressbook sl Skupna raba za pisanje
shared addressbook sl v skupni rabi
shared by me addressbook sl v skupni rabi z mano
shared into addressbook %1 addressbook sl v skupni rabi v imeniku %1
shared with addressbook sl V skupni rabi z
should the columns photo and home address always be displayed, even if they are empty. addressbook sl Naj bosta stolpca za sliko in domači naslov prikazana vedno, četudi sta prazna?
show addressbook sl Prikaži
show active accounts addressbook sl Pokaži aktivne račune
@ -488,7 +458,6 @@ show all accounts addressbook sl Prikaži vse račune
show infolog entries for this organisation addressbook sl Prikaži vnose InfoDnevnika za to organizacijo
show the contacts of this organisation addressbook sl Prikaži kontakte za to organizacijo
similar contacts found: addressbook sl Podobni kontakti:
site configuration addressbook sl Konfiguracija spletnega mesta
size of popup (wxh, eg.400x300, if a popup should be used) admin sl Velikost pojavnega okna (ŠxV, npr. 400x300, če naj se uporabljajo pojavna okna)
special addressbook sl Poseben
stadt addressbook sl Začetek
@ -501,7 +470,6 @@ street (private) addressbook sl Ulica (zasebno)
subject for email addressbook sl Zadeva sporočila
successfully imported %1 records into your addressbook. addressbook sl Uspešno prenesenih %1 zapisov v vaš adresar.
suffix addressbook sl Pripona
sync all selected into one addressbook sl Sinhroniziraj vse izbrane v eno
tag to mark positions for address labels addressbook sl Oznaka za označitev položajev oznak adresarja
tel home addressbook sl Domači telefon
telephony integration admin sl Integracija telefonije
@ -511,11 +479,9 @@ that field name has been used already ! addressbook sl To ime polja je že v upo
the anonymous user has probably no add rights for this addressbook. addressbook sl Anonimni uporabnik verjetno nima pravic dodajanja v ta adresar.
the anonymous user needs add rights for it! addressbook sl Anonimni uporabnik potrebuje pravico dodajanja!
the anonymous user needs read it! addressbook sl Anonimni uporabnik mora imeti pravico branja.
the document can contain placeholder like {{%1}}, to be replaced with the data. addressbook sl Dokument lahko vsebuje vsebnik kot {{% 1}}, ki ga je treba zamenjati s podatki.
the following document-types are supported: addressbook sl Podprte so naslednje vrste dokumentov:
the zip extension is needed, to insert contact data in openoffice or msoffice documents. addressbook sl Za vstavljanje stikov v dokumente OpenOffice.org ali MSOffice, mora biti končnica zip.
there was an error saving your data :-( addressbook sl Napaka pri shranjevanju podatkov.
they will be sub-folders in users home (%1 attribute). addressbook sl V domovih uporabnikov bodo podmape (atribut %1).
this module displays a contactform, that stores direct into the addressbook. addressbook sl Ta modul prikaže obrazec stika, ki se shrani neposredno v adresar.
this module displays block from a adddressbook group. addressbook sl Modul prikaže blok iz grupe adresarja.
this person's first name was not in the address book. addressbook sl Imena te osebe ni v adresarju.
@ -526,7 +492,6 @@ titles of any entries linked to the current record, excluding attached files add
to many might exceed your execution-time-limit addressbook sl Preveč lahko preseže čas izvajanja
today is %1's birthday! common sl Danes ima rojstni dan %1.
tomorrow is %1's birthday. common sl Jutri ima rojstni dan %1.
tracker addressbook sl sledilnik
translation addressbook sl Prevod
two of: %1 addressbook sl Dva od: %1
type addressbook sl Vrsta
@ -537,12 +502,12 @@ unable to import into %1, using %2 addressbook sl Ni mogoče uvoziti v %1, z upo
unique id (uid) addressbook sl Edinstven ID (UID)
unique id<br />(to update existing records) addressbook sl Edinstven ID<br />(za posodobitev obstoječih zapisov)
unknown type %1, imported as %2 addressbook sl Neznan tip% 1, uvožen kot% 2
update addressbook sl nadgradnja
unshare addressbook sl Ni več v skupni rabi
unshared addressbook sl ni več v skupni rabi
update a single entry by passing the fields. addressbook sl Popravi en zapis z vnosom polj.
update fields by edited organisations? admin sl Posodobim polja urejanih organizacij?
updated addressbook sl Podosodobljeno
upload or delete the photo addressbook sl Naloži ali izbriši fotografijo
url addressbook sl url
url (business) addressbook sl url (službeno)
url (private) addressbook sl url (zasebno)
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin sl URL, na katerega se povežejo številke telefonov (%1 = številka za klicanje, %u = ime računa, %t = telefonska številka računa)
@ -553,18 +518,19 @@ use country list addressbook sl Uporabi seznam držav
use setup for a full account-migration admin sl Uporabi namestitev za popolno migracijo računov
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook sl Uporabi to značko za naslov nalepk. Stik, ki ga želite ponoviti, dajte med dve znački.
used for links and for the own sorting of the list addressbook sl Uporabno za povezave in za lastno razvrščanje seznama
user groups are automatically shown as distribution lists. addressbook sl Skupine uporabnikov se samodejno prikažejo kot distribucijski seznami.
user preference addressbook sl Prednost uporabnika
vcard common sl VCard
vcards require a first name entry. addressbook sl VCards zahteva vpis imena.
vcards require a last name entry. addressbook sl VCards zahteva vpis priimka.
vcard common sl vCard
vcards require a first name entry. addressbook sl vCards zahteva vpis imena.
vcards require a last name entry. addressbook sl vCards zahteva vpis priimka.
verification addressbook sl Potrditev
view linked infolog entries addressbook sl Poglej povezane vnose InfoDnevnika
warning!! ldap is valid only if you are not using contacts for accounts storage! admin sl OPOZORILO!! LDAP je veljaven samo, če ne uporabljate stikov za skladiščenje računov!
warning: all contacts found will be deleted! addressbook sl Opozorilo: vsi najdeni stiki bodo zbrisani!
warning: template "%1" not found, using default template instead. addressbook sl OPOZORILO: Šablona "%1" ni bila najdena, namesto tega uporabite privzeto predlogo.
weekday addressbook sl Delovnik
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook sl Kaj naj povezave do adresarja prikaže v drugih aplikacijah. Prazne vrednosti bodo izpuščene. Če spremenite nastavitve, se morate ponovno prijaviti!
when viewing a contact, show linked entries from the selected application addressbook sl Ko si ogledujete vizitko, prikažite povezane vnose iz izbrane aplikacije
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook sl Ko vnose združite v dokumente, bodo shranjeni tukaj. Če imenik ni naveden, bodo shranjeni v vašem domačem imeniku (/home/...).
where to add the email address addressbook sl Kje naj se doda e-naslov?
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook sl Katero obliko naslova naj Adresar uporabi za države, za katere ne pozna oblike. Če je oblika naslova znana, ta nastavitev nima vpliva.
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook sl Kateri adresar naj se izbere pri dodajanju stika IN nimate pravic dodajanja v trenutni adresar.
@ -577,20 +543,20 @@ work email if given, else home email addressbook sl Službeni naslov, če je pod
work phone addressbook sl Telefon
write (update or add) a single entry by passing the fields. addressbook sl Zapiši (posodobi ali dodaj) zapis s podanimi polji.
wrong - try again ... addressbook sl Napačno - poskusite znova.
yes addressbook sl Da
yes, for the next three days addressbook sl Da, za naslednje tri dni
yes, for the next two weeks addressbook sl Da, za naslednja dva tedna
yes, for the next week addressbook sl Da, za naslednji teden
yes, for today and tomorrow addressbook sl Da, za jutri in pojutrišnjem
yes, only admins can purge deleted items admin sl Da, samo skrbniki lahko dokončno izbrišejo podatke
yes, users can purge their deleted items admin sl Da, uporabniki lahko dokončno izbrišejo podatke
you are not allowed to share into the addressbook of %1 addressbook sl Skupna raba v imeniku ni dovoljena %1
you are not permitted to delete contact %1 addressbook sl Nimate dovoljenja brisati stik %1
you are not permittet to delete this contact addressbook sl Nimate dovoljenja brisati tega stika
you are not permittet to edit this contact addressbook sl Nimate dovoljenja spremeniti tega stika
you are not permittet to view this contact addressbook sl Nimate dovoljenja pogledati tega stika
you can only use ldap as contact repository if the accounts are stored in ldap too! admin sl LDAP lahko uporabite za shranjevanje stikov samo, če LDAP uporabite tudi za shranjevanje računov!
you can respond by visiting: addressbook sl Za ogled pojdite na:
you must select a vcard. (*.vcf) addressbook sl Izbrati morate VCard. (*.vcf)
you must select a vcard. (*.vcf) addressbook sl Izbrati morate vCard. (*.vcf)
you must select at least 1 column to display addressbook sl Izbrati morate najmanj 1 stolpec za prikaz
you need to select a distribution list addressbook sl Izbrati morate distribucijski seznam
you need to select some contacts first addressbook sl Najprej morate izbrati nekaj stikov

View File

@ -20,7 +20,7 @@ added addressbook sv Skapad
added by synchronisation addressbook sv Infogad av synkroniseringen
additional information about using ldap as contact repository admin sv Övrig information om hur man använder LDAP som kontaktdatabas
address book common sv Adressbok
address book - vcard in addressbook sv Adressbok - VCard i
address book - vcard in addressbook sv Adressbok - vCard i
address book - view addressbook sv Adressbok - visa
address line 2 addressbook sv Adressrad 2
address type addressbook sv Adresstyp
@ -29,7 +29,7 @@ addressbook menu addressbook sv Adressbok meny
addressbook preferences addressbook sv Adressbok alternativ
addressbook the contact should be saved to addressbook sv Adressbok kontakten skall sparas till
addressbook-fieldname addressbook sv Adressbok fältnamn
addvcard addressbook sv Lägg till VCard
addvcard addressbook sv Lägg till vCard
advanced search addressbook sv Avanserad sökning
all contacts addressbook sv Alla kontakter
allow users to maintain their own account-data admin sv Tillåt användare att underhålla sin egen kontaktinformation
@ -71,7 +71,6 @@ company name addressbook sv Företagsnamn
configuration common sv Inställningar
contact common sv Kontakt
contact application admin sv Kontaktapplikation
contact copied addressbook sv Kontakten kopierad
contact deleted addressbook sv Kontakten raderad
contact id addressbook sv Kontakt ID
contact repository admin sv Kontaktdatabas
@ -110,7 +109,10 @@ doesn't matter addressbook sv Oviktigt
domestic addressbook sv Inrikes
download addressbook sv Ladda ned
download export file (uncheck to debug output in browser) addressbook sv Ladda ned exportfil (Kryssa ur för att se felsökningsresultat i webbläsare
download this contact as vcard file addressbook sv Ladda ner kontakten som en VCard fil
download this contact as vcard file addressbook sv Ladda ner kontakten som en vCard fil
duplicate threshold addressbook sv Tröskelvärde för duplikat
duplicate warning addressbook sv Varning för dubbletter
duplicates addressbook sv Duplikat
duration addressbook sv Varaktighet
edit custom field addressbook sv Ändra anpassat fält
edit custom fields admin sv Ändra anpassade fält
@ -127,7 +129,7 @@ error saving the contact !!! addressbook sv Fel vid sparande av kontakten
error: the entry has been updated since you opened it for editing! addressbook sv Posten har ändrats sedan du öppnade den för skrivning!
existing links addressbook sv Nuvarande länkar
export as csv addressbook sv Exportera som CSV
export as vcard addressbook sv Exportera som VCard
export as vcard addressbook sv Exportera som vCard
export contacts addressbook sv Exportera kontakter
export file name addressbook sv Exportens filnamn
export from addressbook addressbook sv Exportera från adressboken
@ -142,6 +144,8 @@ field %1 has been updated ! addressbook sv Fält %1 har uppdaterats!
field name addressbook sv Fältnamn
fields for the csv export addressbook sv CSV export fält
fields the user is allowed to edit himself admin sv Fält användaren själv kan ändra
fields to check for duplicates addressbook sv Fält för kontroll av dubbletter
fields to consider when looking for duplicate contacts. addressbook sv Fält som ska beaktas när du letar efter dubbla kontakter.
fields to show in address list addressbook sv Fält att visa i adresslistan
fieldseparator addressbook sv Fältavskiljare
for read only ldap admin sv för skrivskyddad LDAP
@ -153,6 +157,10 @@ global categories addressbook sv Globala kategorier
grant addressbook access common sv Reglera åtkomst till adressboken
group %1 addressbook sv Grupp %1
h addressbook sv t
hide accounts from addressbook addressbook sv Dölja användarkonton
hide all accounts addressbook sv Dölja alla konton
hide user groups as distribution lists addressbook sv Dölja användargrupper som distributionslistor
hides accounts completly from the adressbook. addressbook sv Dölja användarkonton helt och hållet från adressboken.
home address addressbook sv Hem: Adress
home address, birthday, ... addressbook sv Hem: Adress, Födelsedag, ...
home city addressbook sv Hem: Stad
@ -162,6 +170,7 @@ home phone addressbook sv Hem: Telefon
home state addressbook sv Hem: Län
home street addressbook sv Hem: Gata
home zip code addressbook sv Hem: Postnummer
how many fields must match for the record to be considered a duplicate. addressbook sv Hur många fält som måste stämma överens för att posten ska betraktas som en dubblett.
icon addressbook sv Ikon
if accounts are already in ldap admin sv om konton redan existerar i LDAP
import addressbook sv Importera
@ -169,14 +178,15 @@ import contacts addressbook sv Importera kontakter
import csv-file into addressbook addressbook sv Importera CSV-fil till adressboken
import file addressbook sv Importera fil
import from addressbook sv Importera från
import from ldif, csv, or vcard addressbook sv Importera LDIF, CSV eller VCard
import from ldif, csv, or vcard addressbook sv Importera LDIF, CSV eller vCard
import from outlook addressbook sv Importera från OutLook
import multiple vcard addressbook sv Importera Flera VCard
import multiple vcard addressbook sv Importera Flera vCard
import next set addressbook sv Importera nästa set
import_instructions addressbook sv I Netscape, öpnna adressboken och välj <b>Export</b> från <b>File</b> menyn. Filen kommer att exporteras i LDIF-format.<p>Eller, i Outlook, Välj kontaktmappen, välj sedan <b>Import och Export...</b> från <b>Fil</b> menyn och exportera dina kontakter som komma-separerad textfil (CSV). <p>Eller, i Palm Desktop 4.0 eller senare, Besök adressboken och välj <b>Export</b> från <b>File</b> menyn. Exportfilen kommer att vara i vCard-format.
in %1 days (%2) is %3's birthday. addressbook sv Om %1 dagar (%2) fyller %3 år
income addressbook sv Inkomst
infolog addressbook sv InfoLogg
infolog addressbook sv InfoLog Kontakt
infolog-organisation addressbook sv InfoLog Organisation
international addressbook sv Internationell
label addressbook sv Etikett
last modified addressbook sv Senast ändrad
@ -190,10 +200,12 @@ link title for contacts show addressbook sv Länktitel för kontakter
links addressbook sv Länkar
list all categories addressbook sv Visa alla kategorier
list all customfields addressbook sv Visa alla anpassade fält
load vcard addressbook sv Ladda VCard
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook sv Ladda in anpassade fält i index, även om kolumnen för anpassade fält är avstängd (t.ex. för att visa dem i en specifik indexkolumn).
load vcard addressbook sv Ladda vCard
location addressbook sv Plats
locations addressbook sv Placering
mark records as private addressbook sv Markera posten som privat
merge duplicates addressbook sv Slå ihop dubbletter
merge into first or account, deletes all other! addressbook sv Slå samman med första eller konto, radera all annan
merged addressbook sv Sammanslagna
message phone addressbook sv Röstbrevlåda
@ -204,10 +216,13 @@ mobile addressbook sv Mobil
mobile phone addressbook sv Mobilnummer
modem phone addressbook sv Modemnummer
more ... addressbook sv Mer ...
move to addressbook addressbook sv Flytta till adressboken
moved addressbook sv Flyttad
multiple vcard addressbook sv Multipla VCard
multiple vcard addressbook sv Multipla vCard
name, address addressbook sv Namn, adress
no vcard addressbook sv Inget VCard
no country selected addressbook sv Inget land har valts
no distribution list addressbook sv Ingen distributionslista
no vcard addressbook sv Inget vCard
number addressbook sv Nummer
number of records to read (%1) addressbook sv Antal poster att läsa (%1)
options for type admin sv Alternativ för typen
@ -231,6 +246,7 @@ postal common sv Post
pref addressbook sv pref
preferred phone addressbook sv Förvald telefon
prefix addressbook sv Prefix
prevent deleting of contacts admin sv Förhindra radering av kontakter
public key addressbook sv Publik kryptonyckel
publish into groups: addressbook sv Publicera i grupperna:
read a list / search for entries. addressbook sv Titta på lista/sök efter poster
@ -242,6 +258,7 @@ record owner addressbook sv Postens ägare
repetition addressbook sv Återkommande
role addressbook sv Roll
room addressbook sv Rum
search letter addressbook sv Sök bokstav
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook sv Välj ett jpeg porträtt foto. Bilden skalas om till 60 pixel.
select a view addressbook sv Välj vy
select addressbook type addressbook sv Välj adressbok typ
@ -254,6 +271,12 @@ select the type of conversion addressbook sv Välj konverteringstyp
select the type of conversion: addressbook sv Välj konverteringstyp
select where you want to store / retrieve contacts admin sv Välj var du vill spara / hämta kontakter
selected contacts addressbook sv Valda kontakter
share into addressbook addressbook sv Dela i adressboken
share writable addressbook sv Dela skrivbart
shared addressbook sv delad
shared by me addressbook sv Delad av mig
shared into addressbook %1 addressbook sv delad i adressboken %1
shared with addressbook sv Delat med
show addressbook sv Visa
show infolog entries for this organisation addressbook sv Visa organisationens InfoLogg poster
show the contacts of this organisation addressbook sv Visa organisationens kontakter
@ -279,18 +302,19 @@ type addressbook sv Typ
update a single entry by passing the fields. addressbook sv Updatera enskild post genom att ange fälten
updated addressbook sv Uppdaterad
upload or delete the photo addressbook sv Ladda upp eller radera foto
use an extra category tab? addressbook sv Använd extra kategori kolumn
use country list addressbook sv Använd nationslista
use setup for a full account-migration admin sv Använd installationen för en komplett konto migrering
used for links and for the own sorting of the list addressbook sv Används för länkar och sortering av listan
vcard common sv VCard
vcards require a first name entry. addressbook sv VCard kräver ett förnamn
vcards require a last name entry. addressbook sv VCard kräver ett efternamn
view linked infolog entries addressbook sv Visa länkade InfoLogg poster
user groups are automatically shown as distribution lists. addressbook sv Användargrupper visas automatiskt som distributionslistor.
vcard common sv vCard
vcards require a first name entry. addressbook sv vCard kräver ett förnamn
vcards require a last name entry. addressbook sv vCard kräver ett efternamn
view linked infolog entries addressbook sv Visa länkade InfoLog poster
warning!! ldap is valid only if you are not using contacts for accounts storage! admin sv WARNING!! LDAP är bara giltigt om du inte använder kontakter för att lagra konton
warning: all contacts found will be deleted! addressbook sv VARNING: Alla hittade kontakter raderas
weekday addressbook sv Veckodag
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook sv Vad ska länkar till adressboken visa i andra applikationer? Tomma värden ignoreras. Do måste logga in återigen för att se förändringar.
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook sv När du sammanför poster i dokument lagras de här. Om ingen katalog anges kommer de att lagras i din hemkatalog (/home/...).
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook sv Vilken adressbok ska väljas när konstakter skapas men du saknar behörighet till aktuell?
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook sv Vilken teckeuppsättning ska användas vid CSV export? Systemets standard är det som används av EGroupware.
which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook sv Vilka fält ska exporteras? Alla betyder alla fält, inklusive anpassade, i adressboken. Företag eller Hem adresserna innehåller endast namn, företag och vald adress.
@ -307,7 +331,7 @@ you are not permittet to edit this contact addressbook sv Du har inte behörighe
you are not permittet to view this contact addressbook sv Du har inte behörighet att läsa kontakten
you can only use ldap as contact repository if the accounts are stored in ldap too! admin sv Du kan bara välja LDAP som kontaktdatabas om konton hanteras i LDAP.
you can respond by visiting: addressbook sv Du kan svara genom att besöka:
you must select a vcard. (*.vcf) addressbook sv Du måste välja VCard (*.vcf)
you must select a vcard. (*.vcf) addressbook sv Du måste välja vCard (*.vcf)
you must select at least 1 column to display addressbook sv Du måste välja minst 1 kolumn att visa
you need to select some contacts first addressbook sv Du måste välja kontakter först
zip code common sv Postnummer

View File

@ -13,14 +13,14 @@ add a single entry by passing the fields. addressbook tr Gerekli alanlar? doldur
add custom field addressbook tr Özel bir alan ekle
added addressbook tr Eklendi
address book common tr Adres Defteri
address book - vcard in addressbook tr Adres Defteri - VCard
address book - vcard in addressbook tr Adres Defteri - vCard
address book - view addressbook tr Adres Defteri - Görüntüle
address line 2 addressbook tr Adres 2. sat?r?
address type addressbook tr Adres tipi
addressbook common tr Adres Defteri
addressbook preferences addressbook tr Adres Defteri Ayarlar?
addressbook-fieldname addressbook tr Adres Defteri-Alan Ad?
addvcard addressbook tr VCard Ekle
addvcard addressbook tr vCard Ekle
alt. csv import addressbook tr CSV dosyas? ithal et
always addressbook tr her zaman
are you shure you want to delete this contact? addressbook tr Bu ba?lant?y? silmek istedi?inize emin misiniz?
@ -62,6 +62,9 @@ department common tr Bölüm
domestic addressbook tr Ev
download addressbook tr ?ndir
download export file (uncheck to debug output in browser) addressbook tr ?hraç edilen dosyay? indir. (Hata ay?klama bilgisini taray?c?da görüntülemek için tiki kald?r?n?z.)
duplicate threshold addressbook tr Yineleme eşiği
duplicate warning addressbook tr Mükerrer uyarısı
duplicates addressbook tr Kopyalar
duration addressbook tr Süre
edit custom field addressbook tr Özel alan? düzenle
edit custom fields admin tr Özel alanlar? düzenle
@ -76,12 +79,18 @@ fax number common tr Fax No
field %1 has been added ! addressbook tr 1% alan? eklendi!
field %1 has been updated ! addressbook tr 1% alan? güncellendi!
field name addressbook tr Alan ad?
fields to check for duplicates addressbook tr Mükerrerlik kontrolü yapılacak alanlar
fields to consider when looking for duplicate contacts. addressbook tr Mükerrer kişileri ararken dikkate alınacak alanlar.
fields to show in address list addressbook tr Adres listesinde görüntülecek alanlar
fieldseparator addressbook tr Alan ayrac?
full name addressbook tr Tam ?sim
geo addressbook tr GEO
global categories addressbook tr Genel kategoriler
grant addressbook access common tr Adres defteri eri?im hakk? kazan
hide accounts from addressbook addressbook tr Kullanıcı hesaplarını gizleme
hide all accounts addressbook tr Tüm hesapları gizle
hide user groups as distribution lists addressbook tr Kullanıcı gruplarını dağıtım listeleri olarak gizleme
hides accounts completly from the adressbook. addressbook tr Kullanıcı hesaplarını adres defterinden tamamen gizleyin.
home city addressbook tr Ev ?ehir
home country addressbook tr Ev Ülke
home email addressbook tr Ev E-mail
@ -89,33 +98,40 @@ home phone addressbook tr Ev tel
home state addressbook tr Ev eyalet
home street addressbook tr Ev cadde
home zip code addressbook tr Ev Posta Kodu
how many fields must match for the record to be considered a duplicate. addressbook tr Kaydın mükerrer olarak kabul edilmesi için kaç alanın eşleşmesi gerektiği.
icon addressbook tr Simge
import addressbook tr ?thal Et
import contacts addressbook tr Ba?lant?lar? ithal et
import csv-file into addressbook addressbook tr CSV dosyas?n? adres defterine ithal et
import file addressbook tr Dosya ithal et
import from addressbook tr ?thal edilecek yer:
import from ldif, csv, or vcard addressbook tr LDIF, CSV ya da VCard'tan ithal et
import from ldif, csv, or vcard addressbook tr LDIF, CSV ya da vCard'tan ithal et
import from outlook addressbook tr Outlook'tan ithal et
import multiple vcard addressbook tr Çoklu Vcard ithal et
import multiple vcard addressbook tr Çoklu vCard ithal et
import next set addressbook tr S?radaki grubu ithal et
import_instructions addressbook tr Netscape kullan?c?lar?, Adressbook'u açmal? ve <b>Dosya</b> menüsündeki, <b>Export/?hraç Et</b> seçene?ini seçmelidirler. ?thal edilen dosyan?n biçimi LDIF olacakt?r.<p>Ya da, Outlook kullan?c?lar?, Contact klasörünü seçtikten sonra <b>File</b> menüsünden Export/Import seçene?ini kullanarak ba?lant?lar?n? CSV dosyas?na ithal edebilirler.<p>Palm Desktop 4.0 ve üstü kullan?c?lar?, AdressBook uygulamas?ndan <b>File</b> menüsündeki Export seçene?ini kullanaran ba?lant?lar?n? VCard oalrak ithal edebilirler.
import_instructions addressbook tr Netscape kullan?c?lar?, Adressbook'u açmal? ve <b>Dosya</b> menüsündeki, <b>Export/?hraç Et</b> seçene?ini seçmelidirler. ?thal edilen dosyan?n biçimi LDIF olacakt?r.<p>Ya da, Outlook kullan?c?lar?, Contact klasörünü seçtikten sonra <b>File</b> menüsünden Export/Import seçene?ini kullanarak ba?lant?lar?n? CSV dosyas?na ithal edebilirler.<p>Palm Desktop 4.0 ve üstü kullan?c?lar?, AdressBook uygulamas?ndan <b>File</b> menüsündeki Export seçene?ini kullanaran ba?lant?lar?n? vCard oalrak ithal edebilirler.
infolog addressbook tr InfoLog İletişim
infolog-organisation addressbook tr InfoLog Organizasyon
international addressbook tr Uluslararas?
label addressbook tr Etiket
ldap context for contacts admin tr Ba?lant?lar için LDAP içeri?i
ldap host for contacts admin tr Ba?lant?lar için LDAP host
ldif addressbook tr LDIF
line 2 addressbook tr 2. sat?r
load vcard addressbook tr VCard yükle
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook tr Özel alan sütunu kapalı olsa bile özel alanları dizine yükleme (örneğin, bunları belirli bir dizin sütununda görüntülemek için)
load vcard addressbook tr vCard yükle
location addressbook tr Konum
mark records as private addressbook tr Kay?tlar? özel olarak i?aretle
merge duplicates addressbook tr Yinelenenleri birleştirme
merge into first or account, deletes all other! addressbook tr İlk veya hesapla birleştir, diğerlerini sil!
message phone addressbook tr Mesaj Tel
middle name addressbook tr Orta isim
mobile addressbook tr Mobil
mobile phone addressbook tr Mobil Tel
modem phone addressbook tr Modem Tel
multiple vcard addressbook tr Çoklu VCard
no vcard addressbook tr VCard yok
multiple vcard addressbook tr Çoklu vCard
no vcard addressbook tr vCard yok
not shared addressbook tr paylaşılmadı
number of records to read (%1) addressbook tr Okunacak kay?t say?s? (1%)
other number addressbook tr Di?er No
other phone addressbook tr Di?er Tel
@ -134,9 +150,16 @@ read a single entry by passing the id and fieldlist. addressbook tr ID ve alan l
record access addressbook tr Eri?imi kaydet
record owner addressbook tr Sahibini kaydet
repetition addressbook tr Tekrarlama
search letter addressbook tr Harf ara
select all addressbook tr Tamam?n? seç
select the type of conversion addressbook tr Dönü?üm tipini seçiniz
select the type of conversion: addressbook tr Dönü?üm tipini seçiniz:
share into addressbook addressbook tr Adres defterinde paylaş
share writable addressbook tr Düzenlenebilir paylaş
shared addressbook tr paylaşılan
shared by me addressbook tr Benim tarafımdan paylaşıldı
shared into addressbook %1 addressbook tr adres defterinde paylaşılan %1
shared with addressbook tr İle paylaşıldı
startrecord addressbook tr Kaydetmeye ba?la
state common tr Durum
street common tr Cadde
@ -151,15 +174,20 @@ to many might exceed your execution-time-limit addressbook tr çok fazlas? execu
today is %1's birthday! common tr Bugün %1'in do?um günü !
tomorrow is %1's birthday. common tr Yar?n %1'in do?um günü
translation addressbook tr Tercüme
unshare addressbook tr Artık paylaşılmıyor
unshared addressbook tr artık paylaşılmıyor
update a single entry by passing the fields. addressbook tr Alan de?erleri ile bir alan? güncelle.
updated addressbook tr Güncelle
use country list addressbook tr Ülke listesi kullan
vcard common tr VCard
vcards require a first name entry. addressbook tr VCard özelli?i bir isim gerektirir.
vcards require a last name entry. addressbook tr VCard özelli?i bir soyad? gerektirir.
user groups are automatically shown as distribution lists. addressbook tr Kullanıcı grupları otomatik olarak dağıtım listeleri olarak gösterilir.
vcard common tr vCard
vcards require a first name entry. addressbook tr vCard özelli?i bir isim gerektirir.
vcards require a last name entry. addressbook tr vCard özelli?i bir soyad? gerektirir.
warning!! ldap is valid only if you are not using contacts for accounts storage! admin tr UYARI!! LDAP sadece ba?lant?lar?n?z? hesap depolamakta kulland???n?zda geçerlidir.
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook tr Girişleri belgelerde birleştirdiğinizde, burada saklanacaktır. Herhangi bir dizin belirtilmemişse, bunlar ev dizininizde saklanacaktır (/home/...)
work phone addressbook tr ?? tel
you must select a vcard. (*.vcf) addressbook tr Bir VCard seçmelisiniz. (*.vcf)
you are not allowed to share into the addressbook of %1 addressbook tr Adres defteri %1 ile paylaşmanıza izin verilmiyor
you must select a vcard. (*.vcf) addressbook tr Bir vCard seçmelisiniz. (*.vcf)
you must select at least 1 column to display addressbook tr Görüntülemek için en az bir sütun seçmelisiniz.
zip code common tr Posta Kodu
zip_note addressbook tr <p><b>Not:</b> Dosya .csv, .vcf ya da .ldif dosyalar?ndan olu?an bir ZIP ar?ivi olabilir. fakat, ithal edilen dosya tipi ithal i?lemi içinde tek olmal?d?r.

View File

@ -1,21 +1,21 @@
%1 records imported addressbook uk %1 записів імпортовано
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook uk %1 записів прочитано (ще не імпортовано, %2поверніться%3 та зніміть відмітку Тестувати Імпорт)
(e.g. 1969) addressbook uk (наприклад 1969)
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook uk <b>Тип конверсії &lt;немає&gt; не існує.</b> Будь ласка виберіть тип конверсії зі списку
<b>no conversion type &lt;none&gt; could be located.</b> please choose a conversion type from the list addressbook uk <b>Тип конверсії <немає> не існує.</b> Будь ласка виберіть тип конверсії зі списку
@-eval() is only availible to admins!!! addressbook uk @-eval() можуть використовувати тільки адміністратори
actions addressbook uk Дії
add a single entry by passing the fields. addressbook uk Додати один запис шляхом заповнення полів
add custom field addressbook uk Додати власне поле
added addressbook uk Добавлено
address book common uk Адресна Книга
address book - vcard in addressbook uk Адресна Книга - VCard in
address book - vcard in addressbook uk Адресна Книга - vCard in
address book - view addressbook uk Адресна Книга - перегляд
address line 2 addressbook uk Рядок 2
address type addressbook uk Тип адреси
addressbook common uk Адресна Книга
addressbook preferences addressbook uk Параметри Адресної Книги
addressbook-fieldname addressbook uk Адресна Книга - назва поля
addvcard addressbook uk Додати VCard
addvcard addressbook uk Додати vCard
alt. csv import addressbook uk Альтернативний CSV Імпорт
always addressbook uk Завжди
are you sure you want to delete this field? addressbook uk Ви дійсно хочете видалити цей запис?
@ -56,6 +56,9 @@ deleted addressbook uk Видалено
department common uk Департамент
domestic addressbook uk Місцевий
download addressbook uk Загрузити
duplicate threshold addressbook uk Дублюючий поріг
duplicate warning addressbook uk Дублююче попередження
duplicates addressbook uk Дублікати
duration addressbook uk Тривалість
edit custom field addressbook uk Редагувати власне поле
edit custom fields admin uk Редагувати власні поля
@ -71,12 +74,18 @@ fax number common uk Номер факсу
field %1 has been added ! addressbook uk Поле %1 додано!
field %1 has been updated ! addressbook uk Поле %1 змінено!
field name addressbook uk Назва поля
fields to check for duplicates addressbook uk Поля для перевірки на дублікати
fields to consider when looking for duplicate contacts. addressbook uk Поля, які слід враховувати при пошуку дублікатів контактів.
fields to show in address list addressbook uk Видимі поля у переліку адрес
fieldseparator addressbook uk Розділитель полів
full name addressbook uk Повне ім'я
geo addressbook uk GEO
global categories addressbook uk Глобальні категорії
grant addressbook access common uk Надати доступи до адресної книги
hide accounts from addressbook addressbook uk Приховати акаунти користувачів
hide all accounts addressbook uk Приховати всі облікові записи
hide user groups as distribution lists addressbook uk Приховати групи користувачів у вигляді списків розсилки
hides accounts completly from the adressbook. addressbook uk Повністю приховати облікові записи користувачів з адресної книги.
home city addressbook uk Місто
home country addressbook uk Країна
home email addressbook uk Домашній EMail
@ -84,29 +93,35 @@ home phone addressbook uk Телефон
home state addressbook uk Область
home street addressbook uk Вулиця
home zip code addressbook uk Поштовий індекс
how many fields must match for the record to be considered a duplicate. addressbook uk Скільки полів повинно збігатися, щоб запис вважався дублікатом.
import addressbook uk Імпорт
import contacts addressbook uk Імпортувати контакти
import csv-file into addressbook addressbook uk Імпортувати CSV-файл до Адресної книги
import file addressbook uk Імпортувати файл
import from ldif, csv, or vcard addressbook uk Імпортувати LDIF, CSV або VCard
import from ldif, csv, or vcard addressbook uk Імпортувати LDIF, CSV або vCard
import from outlook addressbook uk Імпорт з Outlook
import next set addressbook uk Імпортувати наступний набір
import_instructions addressbook uk В Нетскейпі(Мозілі) відкрийте Адресну книгу та виберіть <b>Експорт</b> з меню <b>Файл</b>. Файл буде експортовано в форматі LDIF. <p>В Outlook зайдіть в закладку Контакти, виберіть <b>Імпорт та Експорт...</b> в меню <b>Файл</b> та експортуйте ваші контакти в CSV-файл.<p>В Palm Desktop 4.0 або вище, зайдіть в Адресну книгу та виберіть <b>Експорт</b> в меню <b>Файл</b>. Файл буде експортовано в форматі VCard.
infolog addressbook uk Записки
import_instructions addressbook uk В Нетскейпі(Мозілі) відкрийте Адресну книгу та виберіть <b>Експорт</b> з меню <b>Файл</b>. Файл буде експортовано в форматі LDIF. <p>В Outlook зайдіть в закладку Контакти, виберіть <b>Імпорт та Експорт...</b> в меню <b>Файл</b> та експортуйте ваші контакти в CSV-файл.<p>В Palm Desktop 4.0 або вище, зайдіть в Адресну книгу та виберіть <b>Експорт</b> в меню <b>Файл</b>. Файл буде експортовано в форматі vCard.
infolog addressbook uk ІнфоЛог Контакт
infolog-organisation addressbook uk Організація "ІнфоЛог
international addressbook uk Міжнародний
label addressbook uk Примітки
last modified addressbook uk Востаннє змінено
ldif addressbook uk LDIF
line 2 addressbook uk Рядок 2
links addressbook uk Посилання
load custom fields in index, even if custom field column is off (eg. to display them in a specific index column) addressbook uk Завантаження користувацьких полів в індекс, навіть якщо стовпець користувацьких полів вимкнено (наприклад, для відображення їх у певному стовпчику індексу)
location addressbook uk Місце
mark records as private addressbook uk Помітити записи як особисті
merge duplicates addressbook uk Об'єднати дублікати
merge into first or account, deletes all other! addressbook uk Об'єднання в перший або обліковий запис, видаляє всі інші!
message phone addressbook uk Телефон автовідповідача
middle name addressbook uk По батькові
mobile addressbook uk Мобільний
mobile phone addressbook uk Мобільний телефон
modem phone addressbook uk Модемний телефон
no vcard addressbook uk немає VCard
no vcard addressbook uk немає vCard
not shared addressbook uk не розділяється
number of records to read (%1) addressbook uk Кількість записів для читання (%1)
other number addressbook uk Інший номер
other phone addressbook uk Інший телефон
@ -125,7 +140,14 @@ read a single entry by passing the id and fieldlist. addressbook uk Прочит
record access addressbook uk Доступи запису
record owner addressbook uk Власник запису
repetition addressbook uk Повторення
search letter addressbook uk Пошуковий лист
select the type of conversion addressbook uk Виберіть тип конверсії
share into addressbook addressbook uk Поділитися в адресну книгу
share writable addressbook uk Поділитися можна редагувати
shared addressbook uk спільний
shared by me addressbook uk Поділюся з вами
shared into addressbook %1 addressbook uk поділився в адресній книзі %1
shared with addressbook uk Спільно з
startrecord addressbook uk Початковий запис
state common uk Область
street common uk Вулиця
@ -140,15 +162,20 @@ today is %1's birthday! common uk Сьогодні день народження
tomorrow is %1's birthday. common uk Завтра день народження %1.
translation addressbook uk Переклад
type addressbook uk Тип
unshare addressbook uk Більше не ділитися
unshared addressbook uk більше не ділиться
update a single entry by passing the fields. addressbook uk Змінити один запис шляхом заповнення полів.
updated addressbook uk Змінено
use country list addressbook uk Використовувати перелік країн
vcard common uk VCard
vcards require a first name entry. addressbook uk VCard потребує поле імені.
vcards require a last name entry. addressbook uk VCard потребує поле прізвища.
user groups are automatically shown as distribution lists. addressbook uk Групи користувачів автоматично відображаються у вигляді списків розсилки.
vcard common uk vCard
vcards require a first name entry. addressbook uk vCard потребує поле імені.
vcards require a last name entry. addressbook uk vCard потребує поле прізвища.
warning!! ldap is valid only if you are not using contacts for accounts storage! admin uk УВАГА!! LDAP можливий тільки якщо Ви НЕ використовуєте контакти для зберігання рахунків користувачів!
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook uk При об'єднанні записів в документи вони будуть зберігатися тут. Якщо каталог не вказано, вони будуть зберігатися у вашому домашньому каталозі (/home/...)
work phone addressbook uk Робочий телефон
you must select a vcard. (*.vcf) addressbook uk Необхідно вказати VCard. (*.vcf)
you are not allowed to share into the addressbook of %1 addressbook uk Ви не маєте права доступу до адресної книги %1
you must select a vcard. (*.vcf) addressbook uk Необхідно вказати vCard. (*.vcf)
you must select at least 1 column to display addressbook uk Необхідно вказати мінімум один стовпчик для показу
zip code common uk Поштовий індекс
zip_note addressbook uk <p><b>Примітка:</b> Файл може бути zip архівом колекції .csv, .vcf, або .ldif файлів. Але не змішуйте типи файлів в імпорті.

View File

@ -4,6 +4,7 @@
%1 fields in %2 other organisation member(s) changed addressbook zh 在%2的其他组织成员中有%1个字段被更改
%1 records imported addressbook zh 已导入%1条记录
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook zh 已读取%1条记录(但尚未导入,您可以去%2返回%3并且取消"测试导入"复选框)
%1 shared this contact on %2 with %3 %4 addressbook zh %1在 %2 %3 %4上分享了这个联系人
%1 starts with '%2' addressbook zh %1以'%2'开始
%s please calculate the result addressbook zh %s 请计算结果
(e.g. 1969) addressbook zh (例如:1969)
@ -81,7 +82,6 @@ company name addressbook zh 公司名称
configuration common zh 站点配置
contact common zh 联系人
contact application admin zh 联系人应用程序
contact copied addressbook zh 联系人已复制
contact deleted addressbook zh 联系人已删除
contact fields to show addressbook zh 要显示的联系人字段
contact fields: addressbook zh 联系人字段:
@ -136,6 +136,9 @@ don't hide empty columns addressbook zh 不隐藏空白栏
download addressbook zh 下载
download export file (uncheck to debug output in browser) addressbook zh 下载导出的文件(要在浏览器中显示导出结果,请勿选中该项)
download this contact as vcard file addressbook zh 以 vCard 格式下载这个联系人资料
duplicate threshold addressbook zh 重复的门槛
duplicate warning addressbook zh 重复的警告
duplicates addressbook zh 重复数
duration addressbook zh 期间
edit custom field addressbook zh 编辑自定义字段
edit custom fields admin zh 编辑自定义字段
@ -170,6 +173,8 @@ field %1 has been updated ! addressbook zh 字段%1已更新
field name addressbook zh 字段名
fields for the csv export addressbook zh 导出到 CSV 格式的字段
fields the user is allowed to edit himself admin zh 允许用户自行编辑的字段
fields to check for duplicates addressbook zh 检查重复的字段
fields to consider when looking for duplicate contacts. addressbook zh 寻找重复的联系人时要考虑的字段。
fields to show in address list addressbook zh 请选择联系人列表中的可见字段
fieldseparator addressbook zh 字段分隔符
for read only ldap admin zh 只读的 LDAP
@ -183,6 +188,8 @@ grant addressbook access common zh 授权访问通讯簿
group %1 addressbook zh 群组%1
h addressbook zh 时
hide accounts from addressbook addressbook zh 从通讯簿中隐藏帐号
hide all accounts addressbook zh 隐藏所有账户
hide user groups as distribution lists addressbook zh 隐藏作为分发列表的用户组
hides accounts completly from the adressbook. addressbook zh 从通讯簿中完整隐藏帐号。
home address addressbook zh 家庭地址
home address, birthday, ... addressbook zh 家庭地址、生日、...
@ -194,6 +201,7 @@ home phone addressbook zh 家庭电话
home state addressbook zh 省/自治区
home street addressbook zh 居住街道
home zip code addressbook zh 住地邮编
how many fields must match for the record to be considered a duplicate. addressbook zh 必须有多少个字段匹配,记录才会被认为是重复的。
icon addressbook zh 图标
if accounts are already in ldap admin zh 如果帐号已经存在于 LDAP
import addressbook zh 导入
@ -205,11 +213,12 @@ import from ldif, csv, or vcard addressbook zh 从 Ldif、CSV 或 vCard 导入
import from outlook addressbook zh 从 Outlook 导入
import multiple vcard addressbook zh 导入多重 vCard
import next set addressbook zh 导入下一个集合
import_instructions addressbook zh 请按照下列方法从其他应用程序导出通讯簿, 以便导入 EGroupware 中:<p>在 Netscape 中,打开通讯簿,选定<b>文件</b>菜单的<b>导出</b>项,导出的文件将以 LDIF 格式存放。<p>在 Outlook 中,选定将要导出的联系人文件夹,选定<b>文件菜单</b>的<b>导入和导出</b>项,导出的文件将以 CSV 格式存放。<p>在 Palm Desktop 4.0 或更高版本中,打开通讯簿,选定<b>文件</b>菜单的<b>导出</b>项,导出的文件将以 VCard 格式存放。<p>Palm Desktop 4.0 或是更新的版本,在浏览通讯簿资料时在<b>文件</b>功能选择<b>导出</b>,导出的资料是 vCard 格式。
import_instructions addressbook zh 请按照下列方法从其他应用程序导出通讯簿, 以便导入 EGroupware 中:<p>在 Netscape 中,打开通讯簿,选定<b>文件</b>菜单的<b>导出</b>项,导出的文件将以 LDIF 格式存放。<p>在 Outlook 中,选定将要导出的联系人文件夹,选定<b>文件菜单</b>的<b>导入和导出</b>项,导出的文件将以 CSV 格式存放。<p>在 Palm Desktop 4.0 或更高版本中,打开通讯簿,选定<b>文件</b>菜单的<b>导出</b>项,导出的文件将以 vCard 格式存放。<p>Palm Desktop 4.0 或是更新的版本,在浏览通讯簿资料时在<b>文件</b>功能选择<b>导出</b>,导出的资料是 vCard 格式。
imports contacts into your addressbook from a csv file. csv means 'comma separated values'. however in the options tab you can also choose other seperators. addressbook zh 从 CSV 文件导入联系人资料到通讯簿CSV 是'逗号分隔'方式,不过您可以在选项标签指定其他的分隔符。
in %1 days (%2) is %3's birthday. addressbook zh 在%1 天 (%2) 就是%3的生日。
income addressbook zh 收入
infolog addressbook zh 记事薄
infolog addressbook zh 信息记录仪联系方式
infolog-organisation addressbook zh 信息记录组织
insufficent rights to delete this list! addressbook zh 没有删除这个列表的权限!
international addressbook zh 国际
label addressbook zh 标签
@ -252,6 +261,7 @@ name, address addressbook zh 名称、住址
new contact submitted by %1 at %2 addressbook zh 由%1在%2新建并提交了联系人
next date addressbook zh 下一日期
no vcard addressbook zh 没有 vCard
not shared addressbook zh 不共享
number addressbook zh 号码
number of records to read (%1) addressbook zh 读取记录编号(%1)
options for type admin zh 类型选项
@ -292,6 +302,7 @@ replacements for inserting contacts into documents addressbook zh 替换插入
required fields * addressbook zh 必要字段*
role addressbook zh 职务
room addressbook zh 房间
search letter addressbook zh 搜索字母
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook zh 选择一个 jpeg 格式的照片它将被重新调整宽度为60px。
select a view addressbook zh 选择一个查看
select addressbook type addressbook zh 选择通讯簿类型
@ -304,6 +315,12 @@ select the type of conversion addressbook zh 请选择转换类型
select the type of conversion: addressbook zh 请选择转换类型:
select where you want to store / retrieve contacts admin zh 选择你想要在什么位置储存/找回联系人
selected contacts addressbook zh 选择的联系人
share into addressbook addressbook zh 分享到通讯录
share writable addressbook zh 分享可编辑
shared addressbook zh 共享
shared by me addressbook zh 由我分享
shared into addressbook %1 addressbook zh 在通讯录中共享 %1
shared with addressbook zh 分享到
should the columns photo and home address always be displayed, even if they are empty. addressbook zh 照片与家庭地址列将会始终显示,即使它们是空的。
show addressbook zh 显示
show infolog entries for this organisation addressbook zh 显示这个组织的相关记事
@ -334,23 +351,26 @@ today is %1's birthday! common zh 今天是%1的生日
tomorrow is %1's birthday. common zh 明天是%1的生日。
translation addressbook zh 翻译
type addressbook zh 类型
unshare addressbook zh 不再分享
unshared addressbook zh 不再共享
update a single entry by passing the fields. addressbook zh 通过字段来更新单个条目。
updated addressbook zh 更新
upload or delete the photo addressbook zh 上传或删除照片
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin zh 连接电话号码的网址 (使用 %1 = 拨打号码,%u = 帐户名,%t = 电话帐户)
use an extra category tab? addressbook zh 使用一个额外类别标签?
use country list addressbook zh 使用“国家/地区”列表
use setup for a full account-migration admin zh 使用安装程序来完整帐户迁移
used for links and for the own sorting of the list addressbook zh 使用链接为列表拥有者排序
user groups are automatically shown as distribution lists. addressbook zh 用户组会自动显示为分发列表。
vcard common zh 保存为vCard
vcards require a first name entry. addressbook zh vCards 需要名字词条。
vcards require a last name entry. addressbook zh Vcards 需要一个姓词条。
vcards require a last name entry. addressbook zh vCards 需要一个姓词条。
verification addressbook zh 认证
view linked infolog entries addressbook zh 查看链接的记事条目
warning!! ldap is valid only if you are not using contacts for accounts storage! admin zh 警告只有当您不为联系人账户存储时LDAP才是有效的
warning: all contacts found will be deleted! addressbook zh 警告:找到的所有联系人都会被删除!
weekday addressbook zh 星期几
what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook zh 如何在其他应用程序中显示链接的通讯簿,空的数值数据将被省略。如果您要修改此设置,您需要重新登录!
when you merge entries into documents, they will be stored here. if no directory is provided, they will be stored in your home directory (/home/unverricht) addressbook zh 当你把条目合并到文件中时,它们将被储存在这里。如果没有提供目录,它们将被存储在你的主目录(/home/...)。
where to add the email address addressbook zh 在哪里添加邮件地址
which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook zh 通讯簿在不清楚地址格式的国家要使用的地址格式,如果已经知道,它会使用独立的设定。
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook zh 添加联系人时要选择哪个通讯簿,您没有添加到当前通讯簿的权限。
@ -365,6 +385,7 @@ yes, for the next three days addressbook zh 是,在接下来三天
yes, for the next two weeks addressbook zh 是,在接下来两周
yes, for the next week addressbook zh 是,在接下来一周
yes, for today and tomorrow addressbook zh 是,在今天与明天
you are not allowed to share into the addressbook of %1 addressbook zh 你不允许分享到地址簿%1
you are not permitted to delete contact %1 addressbook zh 您没有权限删除联系人%1
you are not permittet to delete this contact addressbook zh 您没有权限删除这个联系人
you are not permittet to edit this contact addressbook zh 您没有权限编辑这个联系人

View File

@ -9,7 +9,7 @@
/* Basic information about this app */
$setup_info['addressbook']['name'] = 'addressbook';
$setup_info['addressbook']['title'] = 'Addressbook';
$setup_info['addressbook']['version'] = '21.1';
$setup_info['addressbook']['version'] = '23.1';
$setup_info['addressbook']['app_order'] = 4;
$setup_info['addressbook']['enable'] = 1;
$setup_info['addressbook']['index'] = 'addressbook.addressbook_ui.index&ajax=true';
@ -52,7 +52,7 @@ $setup_info['addressbook']['hooks']['status-get_actions'] = 'addressbook_hooks::
/* Dependencies for this app to work */
$setup_info['addressbook']['depends'][] = array(
'appname' => 'api',
'versions' => Array('21.1')
'versions' => Array('23.1')
);
// installation checks for addresbook
@ -64,4 +64,4 @@ $setup_info['addressbook']['check_install'] = array(
'func' => 'function_check',
'warning' => "The imagecreatefromjpeg function is supplied by the gd extension (complied with jpeg support!). It's needed to upload photos for contacts.",
),
);
);

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.add_list_dialog" template="" lang="" group="0" version="">
<grid>
@ -10,14 +9,14 @@
</columns>
<rows>
<row>
<description value="Name for the distribution list"/>
<textbox id="name"/>
<et2-description value="Name for the distribution list"></et2-description>
<et2-textbox id="name"></et2-textbox>
</row>
<row>
<description value="Addressbook"/>
<select id="owner"/>
<et2-description value="Addressbook"></et2-description>
<et2-select id="owner"></et2-select>
</row>
</rows>
</grid>
</template>
</overlay>
</overlay>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.admin.types" template="" lang="" group="0" version="">
<template id="admin.customfields.types" content="content_types"/>
@ -8,4 +7,4 @@
font-weight: bold;
}</styles>
</template>
</overlay>
</overlay>

View File

@ -74,10 +74,7 @@ div.addressbook_edit_general_picture img {
.custom_country {
display: none;
}
input.et2_radiobox {
position: relative;
left: 7px;
}
#addressbook-edit
#addressbook-edit_tel_prefer-tel_work, #addressbook-edit_tel_prefer-tel_cell {
left: 7px;
}
@ -88,10 +85,17 @@ input.et2_radiobox {
* Index page
*/
#addressbook-index img.iphoto {
width: 100%;
height: auto;
height: auto;
}
#addressbook-index_nm_filter {
order: 1;
}
#addressbook-index .avatar img.iphoto {
border: none;
box-shadow: none;
}
#addressbook-index .avatar img.iphoto {border:none;box-shadow: none;}
#addressbook-index .avatar span {margin-right: 0;}
#addressbook-index_org_view, #addressbook-index_addressbook-index-right_add > div.et2_box_widget {
top: 0;
@ -101,49 +105,16 @@ input.et2_radiobox {
#addressbook-edit_adr_two_locality,
#addressbook-edit_adr_one_postalcode,
#addressbook-edit_adr_two_postalcode{
padding-top:5px;
padding-bottom: 5px;
}
#addressbook-edit_adr_one_postalcode,
#addressbook-edit_adr_two_postalcode{
margin-right: -4px;
}
div.city_state_postcode #addressbook-edit_adr_two_postalcode,
div.city_state_postcode #addressbook-edit_adr_one_postalcode {margin-right: 5px !important;}
#addressbook-edit_role {
margin-right: 5px;
}
.addressbookHooked .egwGridView_grid label>span.et2_link {
display: none;
}
/**
* adjust width of select-boxes in nextmatch
*/
#addressbook-index .filtersContainer {
position: absolute;
top: 0; /* Required for Chrome 76+ on Windows */
left: 342px;
right: 215px;
}
#addressbook-index .filtersContainer select {
width: 31.5%;
}
/* category filter chosen. !important is neccessary to override the width set by chosen*/
#addressbook-index .nextmatch_header_row .et2_selectbox.select-cat {min-width:auto;width: 31.5% !important;}
select#addressbook-index_col_filter\[tid\] {
width: 100px;
}
#addressbook-index_addressbook-index-row select{
float: right;
width: 134px;
}
#addressbook-edit .chzn-container .chzn-results {max-height: 110px}
#addressbook-index_nm .chzn-drop {width:auto;}
#addressbook-edit_adr_one_region, #addressbook-edit_adr_two_region {
width: 130px;
vertical-align: middle;
margin-left: 1px;
et2-button#addressbook-index_nm_advanced-search {
margin-right: 0 !important;
}
.smime_section_border {border-top: 1px solid #e5e5e5;}
.smime_section_border> * {padding-top: 10px;}

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.config" template="" lang="" group="0" version="16.1">
<grid width="100%" class="admin-config egwGridView_grid">
@ -10,162 +9,162 @@
</columns>
<rows>
<row>
<description value="Telephony integration" span="all" class="subHeader"/>
<et2-description value="Telephony integration" span="all" class="subHeader"></et2-description>
</row>
<row>
<description value="URL to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone)" label="%s:"/>
<textbox id="newsettings[call_link]" class="et2_fullWidth"/>
<et2-description value="URL to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone)" label="%s:"></et2-description>
<et2-textbox id="newsettings[call_link]"></et2-textbox>
</row>
<row>
<description value="Size of popup (WxH, eg.400x300, if a popup should be used)" label="%s:"/>
<textbox id="newsettings[call_popup]" size="10"/>
<et2-description value="Size of popup (WxH, eg.400x300, if a popup should be used)" label="%s:"></et2-description>
<et2-textbox id="newsettings[call_popup]"></et2-textbox>
</row>
<row>
<description value="Send fax via email by replacing fax number with an email address" label="%s:"/>
<hbox>
<textbox id="newsettings[fax_email_regexp]" blur="(.*)"/>
<textbox id="newsettings[fax_email]" blur="$1@fax.local"/>
</hbox>
<et2-description value="Send fax via email by replacing fax number with an email address" label="%s:"></et2-description>
<et2-hbox>
<et2-textbox id="newsettings[fax_email_regexp]" placeholder="(.*)"></et2-textbox>
<et2-textbox id="newsettings[fax_email]" placeholder="$1@fax.local"></et2-textbox>
</et2-hbox>
</row>
<row>
<description value="GeoLocation integration" span="all" class="subHeader"/>
<et2-description value="GeoLocation integration" span="all" class="subHeader"></et2-description>
</row>
<row>
<description value="Choose pre-defined map source or use custom URL (use %r = street, %t = city, %c = country, %z = zipcode)" label="%s:"/>
<taglist id="newsettings[geolocation_url]" maxSelection="1" empty_label="Select a map or write an URL"/>
<et2-description value="Choose pre-defined map source or use custom URL (use %r = street, %t = city, %c = country, %z = zipcode)" label="%s:"></et2-description>
<et2-select id="newsettings[geolocation_url]" allowFreeEntries="true" editModeEnabled="true" searchUrl="EGroupware\Api\Etemplate\Widget\Taglist::ajax_search" emptyLabel="Select a map or write an URL"></et2-select>
</row>
<row>
<description value="Calendar integration" span="all" class="subHeader"/>
<et2-description value="Calendar integration" span="all" class="subHeader"></et2-description>
</row>
<row>
<description value="Disable Last/Next Event column"/>
<select id="newsettings[disable_event_column]">
<et2-description value="Disable Last/Next Event column"></et2-description>
<et2-select id="newsettings[disable_event_column]">
<option value="">Allow</option>
<option value="contacts">Allow for contacts only</option>
<option value="True">Disabled</option>
</select>
</et2-select>
</row>
<row>
<description value="Allow users to maintain their own account-data" span="all" class="subHeader"/>
<et2-description value="Allow users to maintain their own account-data" span="all" class="subHeader"></et2-description>
</row>
<row>
<description value="Fields the user is allowed to edit himself"/>
<select id="newsettings[own_account_acl]" multiple="true" tags="true" class="et2_fullWidth"/>
<et2-description value="Fields the user is allowed to edit himself"></et2-description>
<et2-select id="newsettings[own_account_acl]" multiple="true"></et2-select>
</row>
<row>
<description value="General" span="all" class="subHeader"/>
<et2-description value="General" span="all" class="subHeader"></et2-description>
</row>
<row>
<description value="Use a category tree?"/>
<select id="newsettings[cat_tab]">
<et2-description value="Use a category tree?"></et2-description>
<et2-select id="newsettings[cat_tab]">
<option value="True">No</option>
<option value="Tree">Yes</option>
</select>
</et2-select>
</row>
<row>
<description value="Use an extra tab for private custom fields?"/>
<select id="newsettings[private_cf_tab]">
<et2-description value="Use an extra tab for private custom fields?"></et2-description>
<et2-select id="newsettings[private_cf_tab]">
<option value="">No</option>
<option value="True">Yes</option>
</select>
</et2-select>
</row>
<row>
<description value="Load custom fields in index, even if custom field column is off (eg. to display them in a specific index column)"/>
<select id="newsettings[index_load_cfs]" multiple="true" tags="true" class="et2_fullWidth"/>
<et2-description value="Load custom fields in index, even if custom field column is off (eg. to display them in a specific index column)"></et2-description>
<et2-select id="newsettings[index_load_cfs]" multiple="true"></et2-select>
</row>
<row>
<description value="Update Fields by edited organisations?"/>
<select id="newsettings[org_fileds_to_update]" multiple="true" tags="true" class="et2_fullWidth"/>
<et2-description value="Update Fields by edited organisations?"></et2-description>
<et2-select id="newsettings[org_fileds_to_update]" multiple="true"></et2-select>
</row>
<row>
<description value="Fields to copy when copying an address?"/>
<select id="newsettings[copy_fields]" multiple="true" tags="true" class="et2_fullWidth"/>
<et2-description value="Fields to copy when copying an address?"></et2-description>
<et2-select id="newsettings[copy_fields]" multiple="true"></et2-select>
</row>
<row>
<description value="Security" span="all" class="subHeader"/>
<et2-description value="Security" span="all" class="subHeader"></et2-description>
</row>
<row>
<vbox>
<description value="How many contacts should non-admins be able to export"/>
<description value="(empty = use global limit, no = no export at all)"/>
</vbox>
<textbox id="newsettings[contact_export_limit]" size="5"/>
<et2-vbox>
<et2-description value="How many contacts should non-admins be able to export"></et2-description>
<et2-description value="(empty = use global limit, no = no export at all)"></et2-description>
</et2-vbox>
<et2-textbox id="newsettings[contact_export_limit]"></et2-textbox>
</row>
<row>
<description value="Allow members of following groups to edit contact-data of accounts" label="%s:"/>
<select-account id="newsettings[allow_account_edit]" account_type="groups" multiple="true" tags="true" width="100%"/>
<et2-description value="Allow members of following groups to edit contact-data of accounts" label="%s:"></et2-description>
<et2-select-account id="newsettings[allow_account_edit]" multiple="true" width="100%" accountType="groups"></et2-select-account>
</row>
<row>
<description value="History logging" span="all" class="subHeader"/>
<et2-description value="History logging" span="all" class="subHeader"></et2-description>
</row>
<row>
<description value="Prevent deleting of contacts"/>
<select id="newsettings[history]">
<et2-description value="Prevent deleting of contacts"></et2-description>
<et2-select id="newsettings[history]">
<option value="">Yes, only admins can purge deleted items</option>
<option value="userpurge">Yes, users can purge their deleted items</option>
</select>
</et2-select>
</row>
<row>
<description value="Contact maintenance" span="all" class="subHeader"/>
<et2-description value="Contact maintenance" span="all" class="subHeader"></et2-description>
</row>
<row>
<description value="Set full name and file as field in contacts of all users (either all or only empty values)" label="%s:"/>
<hbox>
<select id="fileas" empty_label="Set only full name" width="70%"/>
<button onclick="document.location.href='index.php?menuaction=addressbook.addressbook_ui.admin_set_fileas&amp;all=1&amp;type='+this.form.fileas.value;" label="All"/>
<button onclick="document.location.href='index.php?menuaction=addressbook.addressbook_ui.admin_set_fileas&amp;type='+this.form.fileas.value;" label="Empty"/>
</hbox>
<et2-description value="Set full name and file as field in contacts of all users (either all or only empty values)" label="%s:"></et2-description>
<et2-hbox>
<et2-select id="fileas" width="70%" emptyLabel="Set only full name"></et2-select>
<et2-button onclick="document.location.href='index.php?menuaction=addressbook.addressbook_ui.admin_set_fileas&amp;all=1&amp;type='+this.form.fileas.value;" label="All"></et2-button>
<et2-button onclick="document.location.href='index.php?menuaction=addressbook.addressbook_ui.admin_set_fileas&amp;type='+this.form.fileas.value;" label="Empty"></et2-button>
</et2-hbox>
</row>
<row>
<description value="Cleanup addressbook fields (apply if synchronization creates duplicates)" label="%s:"/>
<button onclick="document.location.href='index.php?menuaction=addressbook.addressbook_ui.admin_set_all_cleanup'" label="Start"/>
<et2-description value="Cleanup addressbook fields (apply if synchronization creates duplicates)" label="%s:"></et2-description>
<et2-button onclick="document.location.href='index.php?menuaction=addressbook.addressbook_ui.admin_set_all_cleanup'" label="Start"></et2-button>
</row>
<row>
<description value="Contact repository" span="all" class="subHeader"/>
<et2-description value="Contact repository" span="all" class="subHeader"></et2-description>
</row>
<row>
<description value="Select where you want to store / retrieve contacts" label="%s:"/>
<select id="newsettings[contact_repository]"/>
<et2-description value="Select where you want to store / retrieve contacts" label="%s:"></et2-description>
<et2-select id="newsettings[contact_repository]"></et2-select>
</row>
<row>
<description value="You can only use LDAP as contact repository if the accounts are stored in LDAP too!" span="all"/>
<et2-description value="You can only use LDAP as contact repository if the accounts are stored in LDAP too!" span="all"></et2-description>
</row>
<row>
<description value="Account repository" label="%s:"/>
<hbox>
<description id="newsettings[account_repository]" class="subHeader"/>
<description value="Can be changed via Setup >> Configuration"/>
</hbox>
<et2-description value="Account repository" label="%s:"></et2-description>
<et2-hbox>
<et2-description id="newsettings[account_repository]" class="subHeader"></et2-description>
<et2-description value="Can be changed via Setup &gt;&gt; Configuration"></et2-description>
</et2-hbox>
</row>
<row>
<description value="LDAP settings for contacts" span="all" class="subHeader"/>
<et2-description value="LDAP settings for contacts" span="all" class="subHeader"></et2-description>
</row>
<row>
<description value="LDAP host for contacts" label="%s:"/>
<textbox id="newsettings[ldap_contact_host]"/>
<et2-description value="LDAP host for contacts" label="%s:"></et2-description>
<et2-textbox id="newsettings[ldap_contact_host]"></et2-textbox>
</row>
<row>
<description value="LDAP context for contacts" label="%s:"/>
<textbox id="newsettings[ldap_contact_context]" class="et2_fullWidth"/>
<et2-description value="LDAP context for contacts" label="%s:"></et2-description>
<et2-textbox id="newsettings[ldap_contact_context]"></et2-textbox>
</row>
<row>
<description value="Additional information about using LDAP as contact repository" class="subHeader"/>
<description value="README" href="/doc/ldap/README.contacts" extra_link_target="_blank"/>
<et2-description value="Additional information about using LDAP as contact repository" class="subHeader"></et2-description>
<et2-description value="README" href="/doc/ldap/README.contacts" extraLinkTarget="_blank"></et2-description>
</row>
<row>
<description value="Migration to LDAP"/>
<hbox>
<select id="migrate">
<et2-description value="Migration to LDAP"></et2-description>
<et2-hbox>
<et2-select id="migrate">
<option value="">Select migration type</option>
<option value="contacts" title="if accounts are already in LDAP">contacts to LDAP</option>
<option value="contacts,accounts" title="use setup for a full account-migration">contacts and account contact-data to LDAP</option>
<option value="contacts,accounts-back" title="for read only LDAP">contacts to LDAP, account contact-data to SQL</option>
<option value="sql" title="for read only LDAP">contacts and account contact-data to SQL</option>
</select>
<button onclick="if (this.form.migrate.value) document.location.href='index.php?menuaction=addressbook.addressbook_ui.migrate2ldap&amp;type='+this.form.migrate.value;" label="Start"/>
</hbox>
</et2-select>
<et2-button onclick="if (this.form.migrate.value) document.location.href='index.php?menuaction=addressbook.addressbook_ui.migrate2ldap&amp;type='+this.form.migrate.value;" label="Start"></et2-button>
</et2-hbox>
</row>
</rows>
</grid>
</template>
</overlay>
</overlay>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.contactform" template="" lang="" group="0" version="1.5.001">
<grid border="0">
@ -15,140 +14,140 @@
</columns>
<rows>
<row disabled="!@show[org_name]">
<image src="home"/>
<description value="Company"/>
<textbox size="64" maxlength="64" id="org_name" span="4"/>
<description/>
<et2-image src="home"></et2-image>
<et2-description value="Company"></et2-description>
<et2-textbox maxlength="64" id="org_name" span="4"></et2-textbox>
<et2-description></et2-description>
</row>
<row disabled="!@show[org_unit]">
<description/>
<description value="Department"/>
<textbox size="64" maxlength="64" span="4" id="org_unit"/>
<description/>
<et2-description></et2-description>
<et2-description value="Department"></et2-description>
<et2-textbox maxlength="64" span="4" id="org_unit"></et2-textbox>
<et2-description></et2-description>
</row>
<row valign="top" disabled="!@show[n_fn]">
<image src="accounts"/>
<description value="Contact"/>
<textbox size="10" maxlength="64" id="n_prefix" blur="Prefix"/>
<textbox id="n_given" size="20" maxlength="64" align="center"/>
<textbox id="n_family" align="right" size="22" maxlength="64" span="2" needed="1"/>
<description class="redItalic" value="*"/>
<et2-image src="accounts"></et2-image>
<et2-description value="Contact"></et2-description>
<et2-textbox maxlength="64" id="n_prefix" placeholder="Prefix"></et2-textbox>
<et2-textbox id="n_given" maxlength="64" align="center"></et2-textbox>
<et2-textbox id="n_family" align="right" maxlength="64" span="2" required="1"></et2-textbox>
<et2-description class="redItalic" value="*"></et2-description>
</row>
<row disabled="!@show[sep1]">
<hrule span="all"/>
</row>
<row disabled="!@show[email]">
<image src="email.png"/>
<description value="Email"/>
<textbox size="64" maxlength="64" validator="/^[a-z0-9._-]+@[a-z0-9-]+(\.[a-z0-9-]+)+$/i" span="4" id="email" needed="1"/>
<description class="redItalic" value="*"/>
<et2-image src="email.png"></et2-image>
<et2-description value="Email"></et2-description>
<et2-textbox maxlength="64" validator="/^[a-z0-9._-]+@[a-z0-9-]+(\.[a-z0-9-]+)+$/i" span="4" id="email" required="1"></et2-textbox>
<et2-description class="redItalic" value="*"></et2-description>
</row>
<row disabled="!@show[tel_work]">
<image src="phone"/>
<description value="Business phone"/>
<textbox size="64" maxlength="64" span="4" id="tel_work"/>
<description/>
<et2-image src="phone"></et2-image>
<et2-description value="Business phone"></et2-description>
<et2-textbox maxlength="64" span="4" id="tel_work"></et2-textbox>
<et2-description></et2-description>
</row>
<row disabled="!@show[tel_cell]">
<description/>
<description value="Mobile phone"/>
<textbox size="64" maxlength="64" span="4" id="tel_cell"/>
<description/>
<et2-description></et2-description>
<et2-description value="Mobile phone"></et2-description>
<et2-textbox maxlength="64" span="4" id="tel_cell"></et2-textbox>
<et2-description></et2-description>
</row>
<row disabled="!@show[tel_fax]">
<description/>
<description value="Fax"/>
<textbox size="64" maxlength="64" span="4" id="tel_fax"/>
<description/>
<et2-description></et2-description>
<et2-description value="Fax"></et2-description>
<et2-textbox maxlength="64" span="4" id="tel_fax"></et2-textbox>
<et2-description></et2-description>
</row>
<row disabled="!@show[tel_home]">
<description/>
<description value="Home phone"/>
<textbox size="64" maxlength="64" span="4" id="tel_home"/>
<description/>
<et2-description></et2-description>
<et2-description value="Home phone"></et2-description>
<et2-textbox maxlength="64" span="4" id="tel_home"></et2-textbox>
<et2-description></et2-description>
</row>
<row disabled="!@show[url]">
<image src="internet"/>
<description value="Internet"/>
<textbox size="64" maxlength="64" span="4" id="url"/>
<description/>
<et2-image src="internet"></et2-image>
<et2-description value="Internet"></et2-description>
<et2-textbox maxlength="64" span="4" id="url"></et2-textbox>
<et2-description></et2-description>
</row>
<row disabled="!@show[sep2]">
<hrule span="all"/>
</row>
<row disabled="!@show[adr_one_street]">
<image src="home"/>
<description value="Street"/>
<textbox size="64" maxlength="64" span="4" id="adr_one_street" needed="1"/>
<description class="redItalic" value="*"/>
<et2-image src="home"></et2-image>
<et2-description value="Street"></et2-description>
<et2-textbox maxlength="64" span="4" id="adr_one_street" required="1"></et2-textbox>
<et2-description class="redItalic" value="*"></et2-description>
</row>
<row disabled="!@show[adr_one_street2]">
<description/>
<description/>
<textbox size="64" maxlength="64" span="4" id="adr_one_street2"/>
<description/>
<et2-description></et2-description>
<et2-description></et2-description>
<et2-textbox maxlength="64" span="4" id="adr_one_street2"></et2-textbox>
<et2-description></et2-description>
</row>
<row valign="top" disabled="!@show[adr_one_locality]=postcode_city">
<description/>
<description value="City"/>
<textbox size="10" maxlength="64" id="adr_one_postalcode" needed="1"/>
<textbox size="48" maxlength="64" span="3" id="adr_one_locality" align="right" needed="1"/>
<description class="redItalic" value="*"/>
<et2-description></et2-description>
<et2-description value="City"></et2-description>
<et2-textbox maxlength="64" id="adr_one_postalcode" required="1"></et2-textbox>
<et2-textbox maxlength="64" span="3" id="adr_one_locality" align="right" required="1"></et2-textbox>
<et2-description class="redItalic" value="*"></et2-description>
</row>
<row valign="top" disabled="!@show[adr_one_locality]=city_state_postcode">
<description/>
<description value="Stadt"/>
<textbox size="36" maxlength="64" span="2" id="adr_one_locality" needed="1"/>
<textbox size="8" maxlength="64" id="adr_one_region" align="center"/>
<textbox size="8" maxlength="64" id="adr_one_postalcode" align="right" needed="1"/>
<description class="redItalic" value="*"/>
<et2-description></et2-description>
<et2-description value="Stadt"></et2-description>
<et2-textbox maxlength="64" span="2" id="adr_one_locality" required="1"></et2-textbox>
<et2-textbox maxlength="64" id="adr_one_region" align="center"></et2-textbox>
<et2-textbox maxlength="64" id="adr_one_postalcode" align="right" required="1"></et2-textbox>
<et2-description class="redItalic" value="*"></et2-description>
</row>
<row disabled="!@show[sep3]">
<hrule span="all"/>
</row>
<row disabled="!@show[custom1]">
<image src="gear"/>
<description value="@customlabel[1]"/>
<textbox id="@customfield[1]" span="4" needed="1" size="64"/>
<description class="redItalic" value="*"/>
<et2-image src="gear"></et2-image>
<et2-description value="@customlabel[1]"></et2-description>
<et2-textbox id="@customfield[1]" span="4" required="1"></et2-textbox>
<et2-description class="redItalic" value="*"></et2-description>
</row>
<row disabled="!@show[custom2]">
<description/>
<description value="@customlabel[2]"/>
<textbox id="@customfield[2]" span="4" size="64"/>
<description/>
<et2-description></et2-description>
<et2-description value="@customlabel[2]"></et2-description>
<et2-textbox id="@customfield[2]" span="4"></et2-textbox>
<et2-description></et2-description>
</row>
<row disabled="!@show[sep4]">
<hrule span="all"/>
</row>
<row valign="top" disabled="!@show[note]">
<image src="edit.png"/>
<description value="Message"/>
<textbox multiline="true" rows="5" cols="45" span="4" class="width100" needed="1" id="note"/>
<et2-image src="edit.png"></et2-image>
<et2-description value="Message"></et2-description>
<et2-textarea rows="5" cols="45" span="4" class="width100" id="note" required="1"></et2-textarea>
</row>
<row disabled="!@show[sep5]">
<hrule span="all"/>
</row>
<row disabled="!@show[recaptcha]">
<description span="2"/>
<et2-description span="2"></et2-description>
<html id="recaptcha"/>
<description/>
<et2-description></et2-description>
</row>
<row disabled="!@show[captcha]">
<image src="private.png"/>
<description value="Verification"/>
<description value="@captcha_task"/>
<textbox label="%s please calculate the result" needed="1" span="3" id="captcha" size="3"/>
<description class="redItalic" value="*"/>
<et2-image src="private.svg"></et2-image>
<et2-description value="Verification"></et2-description>
<et2-description value="@captcha_task"></et2-description>
<et2-textbox label="%s please calculate the result" span="3" id="captcha" required="1"></et2-textbox>
<et2-description class="redItalic" value="*"></et2-description>
</row>
<row>
<description/>
<description/>
<button label="Submit" id="submitit"/>
<description span="all" class="redItalic" value="required fields *" align="right"/>
<description/>
<description/>
<description/>
<et2-description></et2-description>
<et2-description></et2-description>
<et2-button label="Submit" id="submitit"></et2-button>
<et2-description span="all" class="redItalic" value="required fields *" align="right"></et2-description>
<et2-description></et2-description>
<et2-description></et2-description>
<et2-description></et2-description>
</row>
</rows>
</grid>
@ -156,4 +155,4 @@
.width100 textarea { width: 99%; }
</styles>
</template>
</overlay>
</overlay>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.display.rows" template="" lang="" group="0" version="1.5.001">
<grid width="100%" overflow="auto">
@ -41,32 +40,32 @@
<nextmatch-header label="Region" id="adr_one_region"/>
<nextmatch-header label="@customlabel[1]" id="custom1"/>
<nextmatch-header label="@customlabel[2]" id="custom2"/>
<vbox options="0,0">
<et2-vbox cellpadding="0" cellspacing="0" >
<nextmatch-header label="select country" id="country"/>
<nextmatch-customfilter id="adr_one_countryname" options="select-country,Country,1" class="countrySelect"/>
</vbox>
</et2-vbox>
</row>
<row class="row" valign="top">
<image options="1" src="${row}[type]" readonly="true" label="$row_cont[type_label]"/>
<description id="${row}[org_name]"/>
<description id="${row}[org_unit]"/>
<description id="${row}[line1]"/>
<description id="${row}[email]"/>
<description id="${row}[tel_work]"/>
<description id="${row}[tel_cell]"/>
<description id="${row}[tel_fax]"/>
<description id="${row}[tel_home]"/>
<description id="${row}[url]"/>
<vbox>
<description id="${row}[adr_one_street]"/>
<description id="${row}[adr_one_street2]"/>
</vbox>
<description id="${row}[adr_one_postalcode]"/>
<description id="${row}[adr_one_locality]"/>
<description id="${row}[adr_one_region]"/>
<description id="${row}[custom1]"/>
<description id="${row}[custom2]"/>
<description id="${row}[adr_one_countryname]"/>
<et2-image options="1" src="${row}[type]" readonly="true" label="$row_cont[type_label]"></et2-image>
<et2-description id="${row}[org_name]"></et2-description>
<et2-description id="${row}[org_unit]"></et2-description>
<et2-description id="${row}[line1]"></et2-description>
<et2-description id="${row}[email]"></et2-description>
<et2-description id="${row}[tel_work]"></et2-description>
<et2-description id="${row}[tel_cell]"></et2-description>
<et2-description id="${row}[tel_fax]"></et2-description>
<et2-description id="${row}[tel_home]"></et2-description>
<et2-description id="${row}[url]"></et2-description>
<et2-vbox>
<et2-description id="${row}[adr_one_street]"></et2-description>
<et2-description id="${row}[adr_one_street2]"></et2-description>
</et2-vbox>
<et2-description id="${row}[adr_one_postalcode]"></et2-description>
<et2-description id="${row}[adr_one_locality]"></et2-description>
<et2-description id="${row}[adr_one_region]"></et2-description>
<et2-description id="${row}[custom1]"></et2-description>
<et2-description id="${row}[custom2]"></et2-description>
<et2-description id="${row}[adr_one_countryname]"></et2-description>
</row>
</rows>
</grid>
@ -79,12 +78,12 @@
</columns>
<rows>
<row disabled="!@msg">
<description span="all" class="redItalic" align="center" id="msg" no_lang="1"/>
<description/>
<et2-description span="all" class="redItalic" align="center" id="msg" noLang="1"></et2-description>
<et2-description></et2-description>
</row>
<row disabled="1">
<description/>
<description/>
<et2-description></et2-description>
<et2-description></et2-description>
</row>
<row>
<nextmatch options="addressbook.display.rows" id="nm1" span="all"/>
@ -92,4 +91,4 @@
</rows>
</grid>
</template>
</overlay>
</overlay>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.dupconfirmdialog" template="" lang="" group="0" version="">
<grid id="grid">
@ -10,10 +9,10 @@
</columns>
<rows>
<row>
<checkbox id="${row}[confirm]"/>
<description id="${row}[name]"/>
<et2-checkbox id="${row}[confirm]"></et2-checkbox>
<et2-description id="${row}[name]"></et2-description>
</row>
</rows>
</grid>
</template>
</overlay>
</overlay>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.editname" template="" lang="" group="0" version="1.9.001">
<grid class="editname">
@ -9,147 +8,133 @@
<column width="210"/>
</columns>
<rows>
<row>
<description for="n_prefix" value="prefix"/>
<textbox id="n_prefix" tabindex="1" onchange="app.addressbook.check_value(widget,'$cont[id]');" class="et2_fullWidth" maxlength="64" autocomplete="honorific-prefix" />
</row>
<row>
<description for="n_given" value="first name"/>
<textbox id="n_given" tabindex="2" onchange="app.addressbook.check_value(widget,'$cont[id]');" class="et2_fullWidth" maxlength="64" autocomplete="given-name" />
</row>
<row>
<description for="n_middle" value="middle name"/>
<textbox id="n_middle" tabindex="3" onchange="app.addressbook.check_value(widget,'$cont[id]');" class="et2_fullWidth" maxlength="64" autocomplete="additional-name" />
</row>
<row>
<description for="n_family" value="last name"/>
<textbox id="n_family" tabindex="4" onchange="app.addressbook.check_value(widget,'$cont[id]');" class="et2_fullWidth" maxlength="64" autocomplete="family-name" />
</row>
<row>
<description for="n_suffix" value="suffix"/>
<textbox id="n_suffix" tabindex="5" onchange="app.addressbook.check_value(widget,'$cont[id]');" class="et2_fullWidth" maxlength="64" autocomplete="honorific-suffix" />
</row>
<row>
<description/>
<button label="Ok" tabindex="6" id="button[ok]" class="button_ok" onclick="jQuery('table.editname').css('display','none'); jQuery('#'+form::name('org_name')).focus(); return false;" image="check" background_image="1"/>
</row>
</rows>
</grid>
</template>
<template id="addressbook.edit.general" template="" lang="" group="0" version="1.9.003">
<grid width="100%">
<columns>
<column width="92"/>
<column width="230"/>
<column width="50"/>
<column width="92"/>
<column width="230"/>
<column width="50"/>
</columns>
<rows>
<row>
<description for="role" value="Role"/>
<hbox width="100%">
<textbox id="role" tabindex="20" width="60%" maxlength="64" autocomplete="section-one" />
<textbox id="room" tabindex="21" width="34%" blur="Room"/>
</hbox>
<description/>
<description for="adr_one_street" value="street"/>
<textbox id="adr_one_street" tabindex="11" class="et2_fullWidth" maxlength="64" autocomplete="address-line1"/>
<description/>
</row>
<row>
<description for="assistent" value="Assistent"/>
<textbox id="assistent" tabindex="22" class="et2_fullWidth"/>
<description/>
<description/>
<textbox statustext="address line 2" id="adr_one_street2" tabindex="12" class="et2_fullWidth" maxlength="64" autocomplete="address-line2"/>
<description/>
</row>
<row disabled="@addr_format=city_state_postcode">
<description for="tel_assistent" value="Assistent phone"/>
<url-phone id="tel_assistent" tabindex="23" class="et2_fullWidth"/>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_assistent,&amp;hearts;"/>
<description for="adr_one_locality" value="city" />
<hbox class="city_state_postcode">
<textbox statustext="ZIP Code" id="adr_one_postalcode" tabindex="13" width="24%" maxlength="64" autocomplete="postal-code"/>
<textbox statustext="City" id="adr_one_locality" tabindex="14" maxlength="64" width="70%" autocomplete="address-level2"/>
</hbox>
<description/>
</row>
<row disabled="@addr_format=city_state_postcode">
<description for="tel_fax" value="fax"/>
<url-fax id="tel_fax" tabindex="24" class="et2_fullWidth" autocomplete="fax" />
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_fax,&amp;hearts;"/>
<description for="adr_one_countryname" value="country"/>
<vbox class="city_state_postcode" width="100%">
<menulist class="et2_fullWidth">
<menupopup type="select-country" submit="1" tags="true" width="100%" class="countrySelect et2_fullWidth" id="adr_one_countrycode" tabindex="15" onchange="app.addressbook.show_custom_country(this);" options="Select one,0,1" autocomplete="country"/>
</menulist>
<textbox id="adr_one_countryname" class="custom_country et2_fullWidth" autocomplete="country-name"/>
</vbox>
<description/>
</row>
<row disabled="@addr_format=city_state_postcode">
<description for="tel_other" value="Other phone"/>
<url-phone id="tel_other" tabindex="25" class="et2_fullWidth" autocomplete="tel" />
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_other,&amp;hearts;"/>
<description value="Region"/>
<taglist-state class="city_state_postcode et2_fullWidth" statustext="State" maxSelection="1" multiple="toggle" editModeEnabled="false" country_code="$cont[adr_one_countrycode]" id="adr_one_region" tabindex="16" maxlength="64"/>
<description/>
</row>
<row disabled="!@addr_format=city_state_postcode">
<description for="tel_assistent" value="Assistent phone"/>
<url-phone id="tel_assistent" tabindex="23" class="et2_fullWidth"/>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_assistent,&amp;hearts;"/>
<description value="City"/>
<hbox>
<textbox statustext="City" id="adr_one_locality" size="30" maxlength="64" tabindex="13" autocomplete="address-level2"/>
<taglist-state statustext="State" maxSelection="1" multiple="toggle" editModeEnabled="false" country_code="$cont[adr_one_countrycode]" id="adr_one_region" tabindex="14" width="130"/>
<textbox statustext="ZIP Code" id="adr_one_postalcode" size="5" maxlength="64" tabindex="15" autocomplete="postal-code"/>
</hbox>
<description/>
</row>
<row disabled="!@addr_format=city_state_postcode">
<description for="tel_fax" value="fax"/>
<url-fax id="tel_fax" tabindex="24" class="et2_fullWidth" autocomplete="fax" />
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_fax,&amp;hearts;"/>
<description for="adr_one_countryname" value="country"/>
<vbox width="100%" tabindex="16">
<menulist tabindex="16">
<menupopup type="select-country" tabindex="16" tags="true" width="100%" class="countrySelect et2_fullWidth" id="adr_one_countrycode" onchange="app.addressbook.show_custom_country(this);" options="Select one,0,1" autocomplete="country"/>
</menulist>
<textbox id="adr_one_countryname" class="custom_country et2_fullWidth" tabindex="16" autocomplete="country-name"/>
</vbox>
<description/>
</row>
<row disabled="!@addr_format=city_state_postcode">
<description for="tel_other" value="Other Phone"/>
<url-phone id="tel_other" tabindex="25" class="et2_fullWidth" autocomplete="tel"/>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_other,&amp;hearts;"/>
<description/>
<description/>
<description/>
</row>
<row>
<description for="tel_car" value="car phone"/>
<url-phone id="tel_car" tabindex="26" class="et2_fullWidth"/>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_car,&amp;hearts;"/>
<description disabled="@no_tid" for="tid" value="Type"/>
<hbox width="102%">
<menulist disabled="@no_tid">
<menupopup id="tid" no_lang="1" class="et2_fullWidth" onchange="1"/>
</menulist>
</hbox>
<description/>
</row>
<row disabled="@shared_disabled">
<description for="shared" value="Shared with"/>
<taglist-account account_type="both" id="shared_values" multiple="true"
onchange="app.addressbook.shared_changed" select_options="@shared_options" span="4"/>
<checkbox id="shared_writable" label="writable" statustext="Create new shares writable"/>
</row>
</rows>
<row>
<et2-description for="n_prefix" value="prefix"></et2-description>
<et2-textbox id="n_prefix" tabindex="1" onchange="app.addressbook.check_value(widget,'$cont[id]');" maxlength="64" autocomplete="honorific-prefix"></et2-textbox>
</row>
<row>
<et2-description for="n_given" value="first name"></et2-description>
<et2-textbox id="n_given" tabindex="2" onchange="app.addressbook.check_value(widget,'$cont[id]');" maxlength="64" autocomplete="given-name"></et2-textbox>
</row>
<row>
<et2-description for="n_middle" value="middle name"></et2-description>
<et2-textbox id="n_middle" tabindex="3" onchange="app.addressbook.check_value(widget,'$cont[id]');" maxlength="64" autocomplete="additional-name"></et2-textbox>
</row>
<row>
<et2-description for="n_family" value="last name"></et2-description>
<et2-textbox id="n_family" tabindex="4" onchange="app.addressbook.check_value(widget,'$cont[id]');" maxlength="64" autocomplete="family-name"></et2-textbox>
</row>
<row>
<et2-description for="n_suffix" value="suffix"></et2-description>
<et2-textbox id="n_suffix" tabindex="5" onchange="app.addressbook.check_value(widget,'$cont[id]');" maxlength="64" autocomplete="honorific-suffix"></et2-textbox>
</row>
<row>
<et2-description></et2-description>
<et2-button label="Ok" tabindex="6" id="button[ok]" class="button_ok" onclick="jQuery('table.editname').css('display','none'); jQuery('#'+form::name('org_name')).focus(); return false;" image="check"></et2-button>
</row>
</rows>
</grid>
</template>
<template id="addressbook.edit.general" template="" lang="" group="0" version="1.9.003">
<grid width="94%">
<columns>
<column width="92"/>
<column width="230"/>
<column width="50"/>
<column width="92"/>
<column width="230"/>
</columns>
<rows>
<row>
<et2-description for="role" value="Role"></et2-description>
<et2-hbox>
<et2-textbox id="role" tabindex="20" width="60%" maxlength="64" autocomplete="section-one"></et2-textbox>
<et2-textbox id="room" tabindex="21" placeholder="Room"></et2-textbox>
</et2-hbox>
<et2-description></et2-description>
<et2-description for="adr_one_street" value="street"></et2-description>
<et2-textbox id="adr_one_street" tabindex="11" maxlength="64" autocomplete="address-line1"></et2-textbox>
</row>
<row>
<et2-description for="assistent" value="Assistent"></et2-description>
<et2-textbox id="assistent" tabindex="22"></et2-textbox>
<et2-description></et2-description>
<et2-description></et2-description>
<et2-textbox statustext="address line 2" id="adr_one_street2" tabindex="12" maxlength="64" autocomplete="address-line2"></et2-textbox>
</row>
<row disabled="@addr_format=city_state_postcode">
<et2-description for="tel_assistent" value="Assistent phone"></et2-description>
<et2-url-phone id="tel_assistent" tabindex="23"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_assistent" ro_true="&amp;hearts;" />
<et2-description for="adr_one_locality" value="city"></et2-description>
<et2-hbox class="city_state_postcode">
<et2-textbox statustext="ZIP Code" id="adr_one_postalcode" tabindex="13" width="24%" maxlength="64" autocomplete="postal-code"></et2-textbox>
<et2-textbox statustext="City" id="adr_one_locality" tabindex="14" maxlength="64" autocomplete="address-level2"></et2-textbox>
</et2-hbox>
</row>
<row disabled="@addr_format=city_state_postcode">
<et2-description for="tel_fax" value="fax"></et2-description>
<et2-url-fax id="tel_fax" tabindex="24" autocomplete="fax"></et2-url-fax>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_fax" ro_true="&amp;hearts;" />
<et2-description for="adr_one_countryname" value="country"></et2-description>
<et2-select-country id="adr_one_countrycode" tabindex="15" allowFreeEntries="true" autocomplete="country" onchange="app.addressbook.regionSetCountry" emptyLabel="Select one"></et2-select-country>
</row>
<row disabled="@addr_format=city_state_postcode">
<et2-description for="tel_other" value="Other phone"></et2-description>
<et2-url-phone id="tel_other" tabindex="25" autocomplete="tel"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_other" ro_true="&amp;hearts;" />
<et2-description value="Region"></et2-description>
<et2-select-state class="city_state_postcode" statustext="State" allowFreeEntries="true" id="adr_one_region" tabindex="16" maxlength="64" countryCode="$cont[adr_one_countrycode]" emptyLabel="Select one"></et2-select-state>
</row>
<row disabled="!@addr_format=city_state_postcode">
<et2-description for="tel_assistent" value="Assistent phone"></et2-description>
<et2-url-phone id="tel_assistent" tabindex="23"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_assistent" ro_true="&amp;hearts;" />
<et2-description value="City"></et2-description>
<et2-hbox>
<et2-textbox statustext="City" id="adr_one_locality" maxlength="64" tabindex="13" autocomplete="address-level2"></et2-textbox>
<et2-select-state statustext="State" id="adr_one_region" tabindex="14" allowFreeEntries="true" width="130" countryCode="$cont[adr_one_countrycode]" emptyLabel="Select one"></et2-select-state>
<et2-textbox statustext="ZIP Code" id="adr_one_postalcode" maxlength="64" tabindex="15" autocomplete="postal-code"></et2-textbox>
</et2-hbox>
</row>
<row disabled="!@addr_format=city_state_postcode">
<et2-description for="tel_fax" value="fax"></et2-description>
<et2-url-fax id="tel_fax" tabindex="24" autocomplete="fax"></et2-url-fax>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_fax" ro_true="&amp;hearts;" />
<et2-description for="adr_one_countryname" value="country"></et2-description>
<et2-select-country tabindex="16" id="adr_one_countrycode" allowFreeEntries="true" autocomplete="country" onchange="app.addressbook.regionSetCountry" emptyLabel="Select one"></et2-select-country>
</row>
<row disabled="!@addr_format=city_state_postcode">
<et2-description for="tel_other" value="Other Phone"></et2-description>
<et2-url-phone id="tel_other" tabindex="25" autocomplete="tel"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_other" ro_true="&amp;hearts;" />
<et2-description></et2-description>
<et2-description></et2-description>
</row>
<row>
<et2-description for="tel_car" value="car phone"></et2-description>
<et2-url-phone id="tel_car" tabindex="26"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_car" ro_true="&amp;hearts;" />
<et2-description disabled="@no_tid" for="tid" value="Type"></et2-description>
<et2-select id="tid" onchange="1" disabled="@no_tid" noLang="1"></et2-select>
</row>
<row disabled="@shared_disabled" valign="top">
<et2-vbox>
<et2-description for="shared" value="Shared with"></et2-description>
<et2-checkbox id="shared_writable" label="writable" statustext="Create new shares writable"></et2-checkbox>
</et2-vbox>
<et2-select-account id="shared_values" multiple="true" span="all"
onchange="app.addressbook.shared_changed"
accountType="both"></et2-select-account>
</row>
</rows>
</grid>
</template>
<template id="addressbook.edit.details" template="" lang="" group="0" version="1.9.002">
@ -164,8 +149,8 @@
<rows>
<row valign="top">
<tree-cat id="cat_id_tree" options="13,,width:99%"/>
<taglist-cat id="cat_id" empty_label="Category" width="100%" height="195"/>
<description/>
<et2-select-cat id="cat_id" width="100%" height="195" multiple="true" placeholder="Category"></et2-select-cat>
<et2-description></et2-description>
<grid width="100%">
<columns>
<column width="92"/>
@ -173,137 +158,139 @@
</columns>
<rows>
<row valign="top">
<description value="Notes"/>
<textbox multiline="true" id="note" rows="10" class="et2_fullWidth" height="100"/>
<et2-description value="Notes"></et2-description>
<et2-textarea id="note" rows="10" height="100"></et2-textarea>
</row>
<row disabled="@hidebuttons">
<description value="Last date"/>
<link id="last_link"/>
<et2-description value="Last date"></et2-description>
<et2-link id="last_link" app=""></et2-link>
</row>
<row disabled="@hidebuttons">
<description value="Next date"/>
<link id="next_link"/>
</row>
<row valign="top" class="smime_section_border">
<description value="SMIME key"/>
<vfs-upload id="addressbook:$cont[id]:.files/smime-pubkey.crt" accept=".crt,.pem,application/x-x509-ca-cert,application/x-x509-user-cert" mime="/application\/(x-x509-(ca|user)|pkix)-cert/" callback="addressbook.addressbook_ui.pubkey_uploaded"/>
</row>
<row valign="top">
<description value="PGP key"/>
<vfs-upload id="addressbook:$cont[id]:.files/pgp-pubkey.asc" accept=".asc,application/pgp-keys" mime="/(application\/pgp-keys|text\/plain)/" callback="addressbook.addressbook_ui.pubkey_uploaded"/>
</row>
<row valign="top">
<description for="pubkey" value="Public key"/>
<textbox multiline="true" id="pubkey" rows="4" resize_ratio="0" class="et2_fullWidth"/>
</row>
</rows>
</grid>
<description/>
</row>
</rows>
</grid>
</template>
<template id="addressbook.edit.home" template="" lang="" group="0" version="1.9.001">
<grid width="100%">
<columns>
<column width="92"/>
<column width="230"/>
<column width="50"/>
<column width="92"/>
<column width="230"/>
<column width="50"/>
</columns>
<rows>
<row>
<description for="tel_home" value="Home phone"/>
<url-phone id="tel_home" tabindex="27" class="et2_fullWidth" autocomplete="section-two home tel" />
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_home,&amp;hearts;"/>
<description for="adr_two_street" tabindex="32" value="street"/>
<textbox id="adr_two_street" tabindex="33" class="et2_fullWidth" maxlength="64" autocomplete="section-two address-line1" />
<description/>
</row>
<row>
<description for="tel_cell_private" value="mobile phone"/>
<url-phone id="tel_cell_private" tabindex="28" class="et2_fullWidth" autocomplete="section-two mobile tel" />
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_cell_private,&amp;hearts;"/>
<description/>
<textbox statustext="address line 2" id="adr_two_street2" tabindex="34" class="et2_fullWidth" maxlength="64" autocomplete="section-two address-line2" />
<description/>
</row>
<row disabled="@addr_format=city_state_postcode">
<description for="tel_fax_home" value="fax"/>
<url-fax id="tel_fax_home" tabindex="29" class="et2_fullWidth" autocomplete="section-two fax tel" />
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_fax_home,&amp;hearts;"/>
<description for="adr_two_locality" value="city"/>
<hbox class="city_state_postcode">
<textbox statustext="ZIP Code" id="adr_two_postalcode" tabindex="34" width="24%" maxlength="64" autocomplete="section-two postal-code" />
<textbox statustext="City" id="adr_two_locality" maxlength="64" tabindex="36" width="70%" autocomplete="section-two address-level2" />
</hbox>
<description/>
</row>
<row disabled="@addr_format=city_state_postcode">
<description for="tel_pager" value="pager" autocomplete="section-two pager tel" />
<url-phone id="tel_pager" tabindex="30" class="et2_fullWidth"/>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_pager,&amp;hearts;"/>
<description for="adr_two_countryname" value="country"/>
<vbox width="100%" class="city_state_postcode">
<menulist class="et2_fullWidth">
<menupopup type="select-country" tabindex="37" tags="true" width="100%" class="countrySelect et2_fullWidth" id="adr_two_countrycode" onchange="app.addressbook.show_custom_country(this);" options="Select one,0,1" autocomplete="section-two country" />
</menulist>
<textbox id="adr_two_countryname" class="custom_country et2_fullWidth" autocomplete="section-two country-name" />
</vbox>
<description/>
</row>
<row disabled="@addr_format=city_state_postcode">
<description for="bday" value="Birthday"/>
<date id="bday" tabindex="31" options="Y-m-d" year_range="c-90:c+2" class="et2_fullWidth"/>
<description/>
<description value="Region"/>
<taglist-state statustext="State" maxSelection="1" multiple="toggle" editModeEnabled="false" country_code="$cont[adr_two_countrycode]" id="adr_two_region" tabindex="38" maxlength="64" class="et2_fullWidth city_state_postcode"/>
<description/>
</row>
<row disabled="!@addr_format=city_state_postcode">
<description for="tel_fax_home" value="fax"/>
<url-fax id="tel_fax_home" class="et2_fullWidth" autocomplete="fax tel" />
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_fax_home,&amp;hearts;"/>
<description value="City"/>
<hbox>
<textbox statustext="City" id="adr_two_locality" size="30" maxlength="64" autocomplete="section-two address-level2" />
<taglist-state maxSelection="1" multiple="toggle" editModeEnabled="false" country_code="$cont[adr_one_countrycode]" statustext="State" id="adr_two_region" width="130" autocomplete="section-two address-level1"/>
<textbox statustext="ZIP Code" id="adr_two_postalcode" size="5" maxlength="64" autocomplete="section-two postal-code" />
</hbox>
<description/>
</row>
<row disabled="!@addr_format=city_state_postcode">
<description for="tel_pager" value="pager"/>
<url-phone id="tel_pager" class="et2_fullWidth"/>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_pager,&amp;hearts;"/>
<description for="adr_two_countryname" value="country"/>
<vbox width="100%">
<menulist>
<menupopup type="select-country" class="countrySelect et2_fullWidth" tags="true" width="100%" id="adr_two_countrycode" onchange="app.addressbook.show_custom_country(this);" options="Select one,0,1" autocomplete="section-two country" />
</menulist>
<textbox id="adr_two_countryname" class="custom_country et2_fullWidth" autocomplete="section-two country-name" />
</vbox>
<description/>
</row>
<row disabled="!@addr_format=city_state_postcode">
<description for="bday" value="Birthday"/>
<date id="bday" options="Y-m-d" class="et2_fullWidth"/>
<description/>
<description/>
<description/>
<description/>
</row>
<row>
<description for="email_home" value="EMail"/>
<url-email id="email_home" tabindex="32" onchange="app.addressbook.check_value(widget,'$cont[id]');" class="et2_fullWidth" autocomplete="section-two home email" />
<description/>
<description for="url_home" value="URL"/>
<url id="url_home" tabindex="39" class="et2_fullWidth" autocomplete="section-two url" />
<description/>
</row>
</rows>
<et2-description value="Next date"></et2-description>
<et2-link id="next_link" app=""></et2-link>
</row>
<row valign="top" class="smime_section_border">
<et2-description value="SMIME key"></et2-description>
<vfs-upload id="addressbook:$cont[id]:.files/smime-pubkey.crt"
accept=".crt,.pem,application/x-x509-ca-cert,application/x-x509-user-cert"
mime="/application\/(x-x509-(ca|user)|pkix)-cert/"
callback="addressbook.addressbook_ui.pubkey_uploaded"/>
</row>
<row valign="top">
<et2-description value="PGP key"></et2-description>
<vfs-upload id="addressbook:$cont[id]:.files/pgp-pubkey.asc"
accept=".asc,application/pgp-keys"
mime="/(application\/pgp-keys|text\/plain)/"
callback="addressbook.addressbook_ui.pubkey_uploaded"/>
</row>
<row valign="top">
<et2-description for="pubkey" value="Public key"></et2-description>
<et2-textarea id="pubkey" rows="4" resizeRatio="0"></et2-textarea>
</row>
</rows>
</grid>
<et2-description></et2-description>
</row>
</rows>
</grid>
</template>
<template id="addressbook.edit.home" template="" lang="" group="0" version="1.9.001">
<grid width="100%">
<columns>
<column width="92"/>
<column width="230"/>
<column width="50"/>
<column width="92"/>
<column width="230"/>
<column width="50"/>
</columns>
<rows>
<row>
<et2-description for="tel_home" value="Home phone"></et2-description>
<et2-url-phone id="tel_home" tabindex="27" autocomplete="section-two home tel"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_home" ro_true="&amp;hearts;" />
<et2-description for="adr_two_street" tabindex="32" value="street"></et2-description>
<et2-textbox id="adr_two_street" tabindex="33" maxlength="64" autocomplete="section-two address-line1"></et2-textbox>
<et2-description></et2-description>
</row>
<row>
<et2-description for="tel_cell_private" value="mobile phone"></et2-description>
<et2-url-phone id="tel_cell_private" tabindex="28" autocomplete="section-two mobile tel"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_cell_private" ro_true="&amp;hearts;" />
<et2-description></et2-description>
<et2-textbox statustext="address line 2" id="adr_two_street2" tabindex="34" maxlength="64" autocomplete="section-two address-line2"></et2-textbox>
<et2-description></et2-description>
</row>
<row disabled="@addr_format=city_state_postcode">
<et2-description for="tel_fax_home" value="fax"></et2-description>
<et2-url-fax id="tel_fax_home" tabindex="29" autocomplete="section-two fax tel"></et2-url-fax>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_fax_home" ro_true="&amp;hearts;" />
<et2-description for="adr_two_locality" value="city"></et2-description>
<et2-hbox class="city_state_postcode">
<et2-textbox statustext="ZIP Code" id="adr_two_postalcode" tabindex="34" width="24%" maxlength="64" autocomplete="section-two postal-code"></et2-textbox>
<et2-textbox statustext="City" id="adr_two_locality" maxlength="64" tabindex="36" autocomplete="section-two address-level2"></et2-textbox>
</et2-hbox>
<et2-description></et2-description>
</row>
<row disabled="@addr_format=city_state_postcode">
<et2-description for="tel_pager" value="pager" autocomplete="section-two pager tel"></et2-description>
<et2-url-phone id="tel_pager" tabindex="30"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_pager" ro_true="&amp;hearts;" />
<et2-description for="adr_two_countryname" value="country"></et2-description>
<et2-select-country tabindex="37" id="adr_two_countrycode" allowFreeEntries="true" autocomplete="section-two country" onchange="app.addressbook.regionSetCountry" emptyLabel="Select one"></et2-select-country>
<et2-description></et2-description>
</row>
<row disabled="@addr_format=city_state_postcode">
<et2-description for="bday" value="Birthday"></et2-description>
<et2-date id="bday" tabindex="31" dataFormat="Y-m-d" yearRange="c-90:c+2"></et2-date>
<et2-description></et2-description>
<et2-description value="Region"></et2-description>
<et2-select-state statustext="State" id="adr_two_region" tabindex="38" allowFreeEntries="true" maxlength="64" class="city_state_postcode" countryCode="$cont[adr_two_countrycode]" emptyLabel="Select one"></et2-select-state>
<et2-description></et2-description>
</row>
<row disabled="!@addr_format=city_state_postcode">
<et2-description for="tel_fax_home" value="fax"></et2-description>
<et2-url-fax id="tel_fax_home" autocomplete="fax tel"></et2-url-fax>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_fax_home" ro_true="&amp;hearts;" />
<et2-description value="City"></et2-description>
<et2-hbox>
<et2-textbox statustext="City" id="adr_two_locality" maxlength="64" autocomplete="section-two address-level2"></et2-textbox>
<et2-select-state statustext="State" id="adr_two_region" allowFreeEntries="true" width="130" autocomplete="section-two address-level1" countryCode="$cont[adr_one_countrycode]" emptyLabel="Select one"></et2-select-state>
<et2-textbox statustext="ZIP Code" id="adr_two_postalcode" maxlength="64" autocomplete="section-two postal-code"></et2-textbox>
</et2-hbox>
<et2-description></et2-description>
</row>
<row disabled="!@addr_format=city_state_postcode">
<et2-description for="tel_pager" value="pager"></et2-description>
<et2-url-phone id="tel_pager"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_pager" ro_true="&amp;hearts;" />
<et2-description for="adr_two_countryname" value="country"></et2-description>
<et2-select-country id="adr_two_countrycode" allowFreeEntries="true" autocomplete="section-two country" onchange="app.addressbook.regionSetCountry" emptyLabel="Select one"></et2-select-country>
<et2-description></et2-description>
</row>
<row disabled="!@addr_format=city_state_postcode">
<et2-description for="bday" value="Birthday"></et2-description>
<et2-date id="bday" dataFormat="Y-m-d" ></et2-date>
<et2-description></et2-description>
<et2-description></et2-description>
<et2-description></et2-description>
<et2-description></et2-description>
</row>
<row>
<et2-description for="email_home" value="EMail"></et2-description>
<et2-url-email id="email_home" tabindex="32" onchange="app.addressbook.check_value(widget,'$cont[id]');" autocomplete="section-two home email"></et2-url-email>
<et2-description></et2-description>
<et2-description for="url_home" value="URL"></et2-description>
<et2-url id="url_home" tabindex="39" autocomplete="section-two url"></et2-url>
<et2-description></et2-description>
</row>
</rows>
</grid>
</template>
<template id="addressbook.edit.links" template="" lang="" group="0" version="1.9.001">
@ -313,164 +300,155 @@
</columns>
<rows>
<row>
<link-to id="link_to"/>
<et2-link-to id="link_to"></et2-link-to>
</row>
<row class="th">
<description value="Existing links"/>
<et2-description value="Existing links"></et2-description>
</row>
<row>
<link-list id="link_to"/>
<et2-link-list id="link_to"></et2-link-list>
</row>
</rows>
</grid>
</template>
<template id="addressbook.edit.distribution_list" template="" lang="" group="0" version="1.9.001">
<box width="100%" overflow="auto">
<description id="distrib_lists" span="all"/>
</box>
</template>
<template id="addressbook.edit.custom" template="" lang="" group="0" version="1.9.001">
<box width="100%" overflow="auto">
<customfields options=",$cont[no_private_cfs]" type_filter="$cont[tid]"/>
</box>
</template>
<template id="addressbook.edit.custom_private" template="" lang="" group="0" version="1.9.001">
<box width="100%" overflow="auto">
<customfields id="private_cfs" options=",1" type_filter="$cont[tid]"/>
</box>
</template>
<template id="addressbook.edit.history" template="" lang="" group="0" version="1.9.001">
<historylog id="history" width="100%"/>
</template>
<template id="addressbook.edit" template="" lang="" group="0" version="1.9.004" class="addressbook_edit">
<template id="addressbook.editname"/>
<grid class="addressbook_edit" border="1" width="100%">
<columns>
<column width="100"/>
<column width="250"/>
<column width="50"/>
<column width="100"/>
<column width="250"/>
<column width="50"/>
</columns>
<rows>
<row class="dialogHeader">
<box align="center">
<hbox disabled="@hidebuttons">
<avatar id="jpegphoto" contact_id="$cont[id]" src="$cont[photo]" crop="false" editable="true"/>
</hbox>
</box>
<textbox id="n_fn" blur="Name" no_lang="1" tabindex="-1" class="cursorHand et2_fullWidth" onclick="jQuery('table.editname').css('display','inline'); var focElem = document.getElementById(form::name('n_prefix')); if (!(typeof(focElem) == 'undefined') &amp;&amp; typeof(focElem.focus)=='function') document.getElementById(form::name('n_prefix')).focus();" autocomplete="name"/>
<description/>
<description for="org_name" value="Organisation"/>
<textbox id="org_name" onchange="app.addressbook.check_value(widget,'$cont[id]');" maxlength="128" tabindex="7" class="et2_fullWidth" autocomplete="organization" />
<appicon/>
</row>
<row class="dialogHeader2">
<description for="tel_work" value="Business phone"/>
<url-phone id="tel_work" tabindex="17" class="telNumbers et2_fullWidth" autocomplete="work tel"/>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_work,&amp;hearts;"/>
<description for="org_unit" value="department"/>
<textbox id="org_unit" onchange="app.addressbook.check_value(widget,'$cont[id]');" tabindex="8" class="et2_fullWidth" maxlength="64"/>
<description/>
</row>
<row class="dialogHeader3">
<description for="tel_cell" value="mobile phone"/>
<url-phone id="tel_cell" tabindex="18" class="telNumbers et2_fullWidth" autocomplete="mobile tel" />
<radio statustext="select phone number as prefered way of contact" id="tel_prefer" options="tel_cell,&amp;hearts;"/>
<description for="title" value="Title"/>
<textbox id="title" size="36" maxlength="64" tabindex="9" class="et2_fullWidth" autocomplete="organization-title" />
<description/>
</row>
<row class="dialogHeader4">
<description for="email" value="email"/>
<url-email id="email" onchange="app.addressbook.check_value(widget,'$cont[id]');" tabindex="19" class="et2_fullWidth" autocomplete="work email"/>
<description/>
<description for="url" value="url"/>
<url id="url" tabindex="10" class="et2_fullWidth" autocomplete="url" />
<description/>
</row>
<row>
<tabbox id="tabs" span="all" width="100%" tab_height="250">
<tabs>
<tab id="general" label="Organisation"/>
<tab id="home" label="Private" statustext="Home address, Birthday, ..."/>
<tab id="details" label="Details" statustext="Categories, Notes, ..."/>
<tab id="links" label="Links" statustext="Links"/>
<tab id="distribution_list" label="Distribution lists" statustext="Distribution lists, ..."/>
<tab id="custom" label="Extra" statustext="Custom fields"/>
<tab id="custom_private" label="Extra private" statustext="Private custom fields"/>
<tab id="history" label="History"/>
</tabs>
<tabpanels>
<template id="addressbook.edit.general"/>
<template id="addressbook.edit.home"/>
<template id="addressbook.edit.details"/>
<template id="addressbook.edit.links"/>
<template id="addressbook.edit.distribution_list"/>
<template id="addressbook.edit.custom"/>
<template id="addressbook.edit.custom_private"/>
<template id="addressbook.edit.history"/>
</tabpanels>
</tabbox>
</row>
<row class="dialogOperators">
<description value="Addressbook"/>
<menulist class="et2_fullWidth">
<menupopup class="owner" statustext="Addressbook the contact should be saved to" id="owner" no_lang="1" onchange="widget.getInstanceManager().submit(null,false,true); return false;" />
</menulist>
<description/>
<description value="own sorting"/>
<menulist>
<menupopup blur="Name" id="fileas_type" no_lang="1" class="fileas et2_fullWidth"/>
</menulist>
<description/>
</row>
<row class="dialogOperators">
<description value="Created"/>
<hbox width="100%">
<menulist>
<menupopup type="select-account" id="creator" readonly="true"/>
</menulist>
<date-time id="created" readonly="true" align="right"/>
</hbox>
<description/>
<description value="Last modified"/>
<hbox width="100%">
<menulist>
<menupopup type="select-account" id="modifier" readonly="true"/>
</menulist>
<date-time id="modified" readonly="true" align="right"/>
</hbox>
<description/>
</grid>
</template>
<template id="addressbook.edit.distribution_list" template="" lang="" group="0" version="1.9.001">
<et2-box width="100%" overflow="auto">
<et2-description id="distrib_lists" span="all"></et2-description>
</et2-box>
</template>
<template id="addressbook.edit.custom" template="" lang="" group="0" version="1.9.001">
<et2-box width="100%" overflow="auto">
<customfields private="$cont[no_private_cfs]" type_filter="$cont[tid]"/>
</et2-box>
</template>
<template id="addressbook.edit.custom_private" template="" lang="" group="0" version="1.9.001">
<et2-box width="100%" overflow="auto">
<customfields id="private_cfs" private="1" type_filter="$cont[tid]"/>
</et2-box>
</template>
<template id="addressbook.edit.history" template="" lang="" group="0" version="1.9.001">
<historylog id="history" width="100%"/>
</template>
<template id="addressbook.edit" template="" lang="" group="0" version="1.9.004" class="addressbook_edit">
<template id="addressbook.editname"/>
<grid class="addressbook_edit" border="1" width="100%">
<columns>
<column width="100"/>
<column width="250"/>
<column width="50"/>
<column width="100"/>
<column width="250"/>
<column width="50"/>
</columns>
<rows>
<row class="dialogHeader">
<et2-box align="center">
<et2-hbox disabled="@hidebuttons">
<et2-avatar id="jpegphoto" contactId="$cont[id]" src="$cont[photo]" crop="false" editable="true"></et2-avatar>
</et2-hbox>
</et2-box>
<et2-textbox id="n_fn" tabindex="-1" class="cursorHand" onclick="jQuery('table.editname').css('display','inline'); var focElem = document.getElementById(form::name('n_prefix')); if (!(typeof(focElem) == 'undefined') &amp;&amp; typeof(focElem.focus)=='function') document.getElementById(form::name('n_prefix')).focus();" autocomplete="name" placeholder="Name" noLang="1"></et2-textbox>
<et2-description></et2-description>
<et2-description for="org_name" value="Organisation"></et2-description>
<et2-textbox id="org_name" onchange="app.addressbook.check_value(widget,'$cont[id]');" maxlength="128" tabindex="7" autocomplete="organization"></et2-textbox>
<et2-appicon></et2-appicon>
</row>
<row class="dialogHeader2">
<et2-description for="tel_work" value="Business phone"></et2-description>
<et2-url-phone id="tel_work" tabindex="17" class="telNumbers" autocomplete="work tel"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_work" ro_true="&amp;hearts;" />
<et2-description for="org_unit" value="department"></et2-description>
<et2-textbox id="org_unit" onchange="app.addressbook.check_value(widget,'$cont[id]');" tabindex="8" maxlength="64"></et2-textbox>
<et2-description></et2-description>
</row>
<row class="dialogHeader3">
<et2-description for="tel_cell" value="mobile phone"></et2-description>
<et2-url-phone id="tel_cell" tabindex="18" class="telNumbers" autocomplete="mobile tel"></et2-url-phone>
<radio statustext="select phone number as prefered way of contact" id="tel_prefer"
set_value="tel_cell" ro_true="&amp;hearts;" />
<et2-description for="title" value="Title"></et2-description>
<et2-textbox id="title" maxlength="64" tabindex="9" autocomplete="organization-title"></et2-textbox>
<et2-description></et2-description>
</row>
<row class="dialogHeader4">
<et2-description for="email" value="email"></et2-description>
<et2-url-email id="email" onchange="app.addressbook.check_value(widget,'$cont[id]');" tabindex="19" autocomplete="work email"></et2-url-email>
<et2-description></et2-description>
<et2-description for="url" value="url"></et2-description>
<et2-url id="url" tabindex="10" autocomplete="url"></et2-url>
<et2-description></et2-description>
</row>
<row>
<et2-tabbox id="tabs" span="all" width="100%" tabHeight="320">
<tabs>
<tab id="general" label="Organisation"/>
<tab id="home" label="Private" statustext="Home address, Birthday, ..."/>
<tab id="details" label="Details" statustext="Categories, Notes, ..."/>
<tab id="links" label="Links" statustext="Links"/>
<tab id="distribution_list" label="Distribution lists"
statustext="Distribution lists, ..."/>
<tab id="custom" label="Extra" statustext="Custom fields"/>
<tab id="custom_private" label="Extra private" statustext="Private custom fields"/>
<tab id="history" label="History"/>
</tabs>
<tabpanels>
<template id="addressbook.edit.general"/>
<template id="addressbook.edit.home"/>
<template id="addressbook.edit.details"/>
<template id="addressbook.edit.links"/>
<template id="addressbook.edit.distribution_list"/>
<template id="addressbook.edit.custom"/>
<template id="addressbook.edit.custom_private"/>
<template id="addressbook.edit.history"/>
</tabpanels>
</et2-tabbox>
</row>
<row class="dialogOperators">
<et2-description value="Addressbook"></et2-description>
<et2-select class="owner" statustext="Addressbook the contact should be saved to" id="owner" onchange="widget.getInstanceManager().submit(null,false,true); return false;" noLang="1"></et2-select>
<et2-description></et2-description>
<et2-description value="own sorting"></et2-description>
<et2-select id="fileas_type" class="fileas" placeholder="Name" noLang="1"></et2-select>
<et2-description></et2-description>
</row>
<row class="dialogOperators">
<et2-description value="Created"></et2-description>
<et2-hbox width="100%">
<et2-select-account id="creator" readonly="true"></et2-select-account>
<et2-date-time id="created" readonly="true" align="right"></et2-date-time>
</et2-hbox>
<et2-description></et2-description>
<et2-description value="Last modified"></et2-description>
<et2-hbox width="100%">
<et2-select-account id="modifier" readonly="true"></et2-select-account>
<et2-date-time id="modified" readonly="true" align="right"></et2-date-time>
</et2-hbox>
<et2-description></et2-description>
</row>
<row disabled="@hidebuttons" class="dialogFooterToolbar">
<hbox span="all" width="100%">
<button accesskey="s" label="Save" id="button[save]" class="button_save" image="save" background_image="1"/>
<button label="Apply" id="button[apply]" class="button_apply" image="apply" background_image="1"/>
<button label="Cancel" id="button[cancel]" class="button_cancel" onclick="if($cont[view] || false) return true; window.close(); return false;" image="cancel" background_image="1"/>
<checkbox statustext="Apply changes to all members, whose fields have the same previous content" label="change all organisation members" id="change_org" span="all" disabled="@hide_change_org"/>
<button align="right" label="Delete" id="button[delete]" class="button_delete" onclick="et2_dialog.confirm(widget,'Do you really want to delete this contact?','Delete')" image="delete" background_image="1"/>
</hbox>
<et2-hbox span="all" width="100%">
<et2-button accesskey="s" label="Save" id="button[save]" class="button_save" image="save"></et2-button>
<et2-button label="Apply" id="button[apply]" class="button_apply" image="apply"></et2-button>
<et2-button label="Cancel" id="button[cancel]" class="button_cancel" onclick="if($cont[view] || false) return true; window.close(); return false;" image="cancel"></et2-button>
<et2-checkbox statustext="Apply changes to all members, whose fields have the same previous content" label="change all organisation members" id="change_org" span="all" disabled="@hide_change_org"></et2-checkbox>
<et2-button align="right" label="Delete" id="button[delete]" class="button_delete" onclick="et2_dialog.confirm(widget,'Do you really want to delete this contact?','Delete')" image="delete"></et2-button>
</et2-hbox>
</row>
<row disabled="!@showsearchbuttons" class="dialogOperators">
<hbox span="all">
<menulist>
<menupopup label="Operator" id="operator" no_lang="1"/>
</menulist>
<menulist>
<menupopup id="meth_select" no_lang="1"/>
</menulist>
</hbox>
<et2-hbox span="all">
<et2-select label="Operator" id="operator" noLang="1"></et2-select>
<et2-select id="meth_select" noLang="1"></et2-select>
</et2-hbox>
</row>
<row disabled="!@showsearchbuttons" class="dialogFooterToolbar">
<hbox span="all">
<button label="Search" id="button[search]" image="search" background_image="1"/>
<button label="Cancel" id="button[cancelsearch]" image="cancel" background_image="1"/>
</hbox>
<et2-hbox span="all">
<et2-button label="Search" id="button[search]" image="search"></et2-button>
<et2-button label="Cancel" id="button[cancelsearch]" image="cancel"></et2-button>
</et2-hbox>
</row>
</rows>
</grid>
</template>
</overlay>
</overlay>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.export_explode_fields" template="" lang="" group="0" version="1.9.001">
<grid>
@ -9,7 +8,7 @@
</columns>
<rows>
<row>
<description value="List as seperate columns"/>
<et2-description value="List as seperate columns"></et2-description>
</row>
<row disabled="!@explode_multiselects">
<grid width="100%" id="explode_multiselects">
@ -19,22 +18,20 @@
</columns>
<rows>
<row class="th">
<description value="Field"/>
<description value="Style"/>
<et2-description value="Field"></et2-description>
<et2-description value="Style"></et2-description>
</row>
<row>
<description id="${row}[name]"/>
<menulist>
<menupopup id="${row}[explode]"/>
</menulist>
<et2-description id="${row}[name]"></et2-description>
<et2-select id="${row}[explode]"></et2-select>
</row>
</rows>
</grid>
</row>
<row disabled="@explode_multiselects">
<description value="No multi-select columns selected for export"/>
<et2-description value="No multi-select columns selected for export"></et2-description>
</row>
</rows>
</grid>
</template>
</overlay>
</overlay>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.export_vcard_selectors" template="" lang="" group="0" version="1.9.001">
<grid>
@ -9,12 +8,12 @@
</columns>
<rows>
<row>
<radio label="Use all" id="selection" options="all"/>
<radio label="Use all" id="selection" set_value="all" />
</row>
<row>
<radio label="Use search results" id="selection" options="search"/>
<radio label="Use search results" id="selection" set_value="search" />
</row>
</rows>
</grid>
</template>
</overlay>
</overlay>

View File

@ -1,17 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.home.link" template="" lang="" group="0" version="1.9.001">
<hbox height="100px">
<image src="image" class="photo"/>
<vbox>
<description id="n_fn" class="addressbook_sidebox_name"/>
<description id="org_name" class="addressbook_sidebox_org"/>
<description id="org_unit"/>
<description id="adr_one_locality"/>
</vbox>
</hbox>
<et2-hbox height="100px">
<et2-image src="image" class="photo"></et2-image>
<et2-vbox>
<et2-description id="n_fn" class="addressbook_sidebox_name"></et2-description>
<et2-description id="org_name" class="addressbook_sidebox_org"></et2-description>
<et2-description id="org_unit"></et2-description>
<et2-description id="adr_one_locality"></et2-description>
</et2-vbox>
</et2-hbox>
<grid class="tooltip">
<columns>
<column width="70"/>
@ -19,36 +18,36 @@
</columns>
<rows>
<row>
<description span="2" value="Phone numbers" class="addressbook_sidebox_header"/>
<et2-description span="2" value="Phone numbers" class="addressbook_sidebox_header"></et2-description>
</row>
<row>
<description for="tel_work" value="Business"/>
<url-phone id="tel_work" readonly="true"/>
<et2-description for="tel_work" value="Business"></et2-description>
<et2-url-phone id="tel_work" readonly="true"></et2-url-phone>
</row>
<row>
<description for="tel_cell" value="Mobile phone"/>
<url-phone id="tel_cell" readonly="true"/>
<et2-description for="tel_cell" value="Mobile phone"></et2-description>
<et2-url-phone id="tel_cell" readonly="true"></et2-url-phone>
</row>
<row>
<description for="tel_home" value="Private"/>
<url-phone id="tel_home" readonly="true"/>
<et2-description for="tel_home" value="Private"></et2-description>
<et2-url-phone id="tel_home" readonly="true"></et2-url-phone>
</row>
<row>
<description for="tel_fax" value="Fax"/>
<url-phone id="tel_fax" readonly="true"/>
<et2-description for="tel_fax" value="Fax"></et2-description>
<et2-url-phone id="tel_fax" readonly="true"></et2-url-phone>
</row>
<row>
<description span="2" value="EMail &amp; Internet" class="addressbook_sidebox_header"/>
<et2-description span="2" value="EMail &amp; Internet" class="addressbook_sidebox_header"></et2-description>
</row>
<row>
<description for="email" value="EMail"/>
<url-email id="email" readonly="true"/>
<et2-description for="email" value="EMail"></et2-description>
<et2-url-email id="email" readonly="true"></et2-url-email>
</row>
<row>
<description for="url" value="URL"/>
<url id="url" readonly="true"/>
<et2-description for="url" value="URL"></et2-description>
<et2-url id="url" readonly="true"></et2-url>
</row>
</rows>
</grid>
</template>
</overlay>
</overlay>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 962 B

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="m14 18h4v3h-4zm2 4h1l2 7-3 3-3-3 2-7zm8-14a8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8 8 8 0 0 1 8 8zm-4.4863 9.166c1.7e-4 1.2169 0.20298 5.982-1.0059 5.998 0.47857 1.5808 1.2001 3.7568 1.7578 4.7051 4.7904-0.2735 8.7344-0.88476 8.7344-0.88476l-3.25-8.1035s-2.7953-1.1474-6.2363-1.7148zm-7.0273 0.0234c-3.3306 0.57539-6.2363 1.6914-6.2363 1.6914l-3.25 8.1035s3.9208 0.6139 8.7344 0.88671c0.55783-0.94744 1.279-3.1254 1.7578-4.707-1.203-0.016-1.0079-4.7296-1.0059-5.9746z" fill="#62686a"/>
</svg>

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 615 B

View File

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
<polygon fill="#62686A" points="31.336,2.791 29.134,2.791 29.134,0.587 29.134,0.208 26.435,0.208 26.435,0.587 26.435,2.791
24.232,2.791 24.214,2.791 23.853,2.791 23.853,5.489 24.214,5.489 24.232,5.489 26.435,5.489 26.435,7.691 26.435,8.071
29.134,8.071 29.134,7.691 29.134,5.489 31.336,5.489 31.716,5.489 31.716,2.791 "/>
<path fill="#62686A" d="M30.695,26.655l-4.929-4.613c-0.037-0.034-0.081-0.05-0.121-0.078l-1.991-1.861
c1.366-2.06,2.132-4.547,2.044-7.207C25.473,6.088,19.772,0.752,12.966,0.977C6.158,1.203,0.822,6.903,1.047,13.712
c0.225,6.807,5.926,12.143,12.734,11.918c2.117-0.071,4.084-0.678,5.792-1.678l2.349,2.199c0.002,0,0.002,0.001,0.002,0.001
l4.929,4.616c0.453,0.421,1.166,0.397,1.592-0.053l2.305-2.468C31.173,27.793,31.15,27.08,30.695,26.655z M13.614,22.826
c-5.258,0.175-9.661-3.946-9.836-9.205c-0.173-5.258,3.948-9.662,9.207-9.835c5.257-0.174,9.662,3.947,9.836,9.206
C22.994,18.25,18.873,22.652,13.614,22.826z"/>
<line fill="none" x1="14.958" y1="29.125" x2="14.958" y2="54.75"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
<polygon fill="#62686A" points="31.336,2.791 29.134,2.791 29.134,0.587 29.134,0.208 26.435,0.208 26.435,0.587 26.435,2.791
24.232,2.791 24.214,2.791 23.853,2.791 23.853,5.489 24.214,5.489 24.232,5.489 26.435,5.489 26.435,7.691 26.435,8.071
29.134,8.071 29.134,7.691 29.134,5.489 31.336,5.489 31.716,5.489 31.716,2.791 "/>
<path fill="#62686A" d="M30.695,26.655l-4.929-4.613c-0.037-0.034-0.081-0.05-0.121-0.078l-1.991-1.861
c1.366-2.06,2.132-4.547,2.044-7.207C25.473,6.088,19.772,0.752,12.966,0.977C6.158,1.203,0.822,6.903,1.047,13.712
c0.225,6.807,5.926,12.143,12.734,11.918c2.117-0.071,4.084-0.678,5.792-1.678l2.349,2.199c0.002,0,0.002,0.001,0.002,0.001
l4.929,4.616c0.453,0.421,1.166,0.397,1.592-0.053l2.305-2.468C31.173,27.793,31.15,27.08,30.695,26.655z M13.614,22.826
c-5.258,0.175-9.661-3.946-9.836-9.205c-0.173-5.258,3.948-9.662,9.207-9.835c5.257-0.174,9.662,3.947,9.836,9.206
C22.994,18.25,18.873,22.652,13.614,22.826z"/>
<line fill="none" x1="14.958" y1="29.125" x2="14.958" y2="54.75"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
addressbook/templates/default/images/deleted.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1015 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 731 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
addressbook/templates/default/images/group.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 B

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="M16 0a5 5 0 0 0-5 5 5 5 0 0 0 5 5 5 5 0 0 0 5-5 5 5 0 0 0-5-5zM7.895 2.053a4.21 4.21 0 1 0 0 8.421 4.211 4.211 0 0 0 2.71-1.03A6.96 6.96 0 0 1 9 5c0-.925.184-1.81.516-2.621a4.21 4.21 0 0 0-1.622-.326zm16.105 0a4.211 4.211 0 0 0-1.518.32c.333.813.517 1.7.517 2.627a6.96 6.96 0 0 1-1.648 4.492 4.21 4.21 0 0 0 2.648.983 4.21 4.21 0 1 0 0-8.422zM16 12c-2.498 0-5.528.15-7 1l1 8 3 1.951V31c.733.678 1.984 1 3 1s2.267-.322 3-1v-8.049L22 21l1-8c-1.473-.85-4.503-1-7-1zm-9.118.178C5.023 12.22 3.048 12.395 2 13l.841 6.736L5.37 21.38v6.78c.617.57 1.67.841 2.525.841s1.91-.27 2.527-.842V23.66l-2.29-1.49zm18.234.002-1.248 9.99-2.394 1.557v4.431c.617.571 1.67.842 2.525.842s1.908-.271 2.526-.842v-6.78l2.527-1.642.842-6.736c-1.028-.594-2.95-.774-4.778-.82z" fill="#62686a"/>
</svg>

After

Width:  |  Height:  |  Size: 919 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 754 B

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
addressbook/templates/default/images/infolog.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="M9.217 8.5c-1.392.06-2.473.917-2.582 1.16-.769.836-.93.727-1.162 2.156A6.39 6.39 0 0 0 5.4 13.1l-.62.668.63 2.085.574-.004c.465.908 1.852 2.037 3.516 2.15 1.664-.113 3.05-1.242 3.516-2.15l.574.004.63-2.085-.62-.668a6.42 6.42 0 0 0-.073-1.284c-.232-1.43-.393-1.32-1.162-2.156-.116-.259-1.339-1.216-2.865-1.16a3.343 3.343 0 0 0-.283 0zM6.457 19C4.273 19.853 4 22.001 4 24h11c0-1.999-.273-4.147-2.457-5 0 .067-1.387 1.275-3.043 1.275S6.457 19.067 6.457 19zM2 3C.892 3 0 3.892 0 5v22c0 1.108.892 2 2 2h28c1.108 0 2-.892 2-2V5c0-1.108-.892-2-2-2zm2 3h11c1.108 0 2 .892 2 2v16c0 1.108-.892 2-2 2H4c-1.108 0-2-.892-2-2V8c0-1.108.892-2 2-2zm17.5 1h7c.831 0 1.5.669 1.5 1.5s-.669 1.5-1.5 1.5h-7c-.831 0-1.5-.669-1.5-1.5S20.669 7 21.5 7zm0 7h7c.831 0 1.5.669 1.5 1.5s-.669 1.5-1.5 1.5h-7c-.831 0-1.5-.669-1.5-1.5s.669-1.5 1.5-1.5zm0 7h7c.831 0 1.5.669 1.5 1.5s-.669 1.5-1.5 1.5h-7c-.831 0-1.5-.669-1.5-1.5s.669-1.5 1.5-1.5z" fill="#036"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 753 B

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="m16 12c-2.4973 0-5.5277 0.14994-7 1l1 8 3 1.9512v8.0488c0.73303 0.67797 1.9842 1 3 1s2.267-0.32203 3-1v-8.0488l3-1.9512 1-8c-1.4723-0.85006-4.5027-1-7-1zm5-7a5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5 5 5 0 0 1 5 5z" fill="#62686a"/>
</svg>

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 B

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
addressbook/templates/default/images/photo.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 635 B

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE overlay PUBLIC "-//EGroupware GmbH//eTemplate 2.0//EN" "https://www.egroupware.org/etemplate2.0.dtd">
<overlay>
<template id="addressbook.import_csv" template="" lang="" group="0" version="1.9.001">
<et2-select id="owner" label="Addressbook" class="et2-label-fixed"></et2-select>
<et2-checkbox id="owner_from_csv" label="Use field from CSV if possible"></et2-checkbox>
<template id="importexport.import_dialog.csv"/>
</template>
</overlay>

Some files were not shown because too many files have changed in this diff Show More